From 037ecfbba6c7d86a20a607d5e8e585a747910b5d Mon Sep 17 00:00:00 2001 From: mkarmah Date: Tue, 4 Jun 2024 10:01:00 +0000 Subject: [PATCH 01/56] Fixed connect sonar project to service guide --- .../connect-sonar-project-to-service.md | 78 ++++++++---------- .../guides/entitiesAfterServiceMapping.png | Bin 219232 -> 90997 bytes .../guides/githubIntegrationDataSources.jpg | Bin 0 -> 14935 bytes static/img/guides/githubRepoAddTopics.png | Bin 0 -> 29878 bytes .../guides/githubServiceCreateRelation.png | Bin 0 -> 50697 bytes .../img/guides/githubServiceEditRelation.png | Bin 0 -> 27376 bytes 6 files changed, 34 insertions(+), 44 deletions(-) create mode 100644 static/img/guides/githubIntegrationDataSources.jpg create mode 100644 static/img/guides/githubRepoAddTopics.png create mode 100644 static/img/guides/githubServiceCreateRelation.png create mode 100644 static/img/guides/githubServiceEditRelation.png diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/code-quality-security/sonarqube/guides/connect-sonar-project-to-service.md b/docs/build-your-software-catalog/sync-data-to-catalog/code-quality-security/sonarqube/guides/connect-sonar-project-to-service.md index 03719da2f..b380dfb78 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/code-quality-security/sonarqube/guides/connect-sonar-project-to-service.md +++ b/docs/build-your-software-catalog/sync-data-to-catalog/code-quality-security/sonarqube/guides/connect-sonar-project-to-service.md @@ -2,7 +2,7 @@ import PortTooltip from "/src/components/tooltip/tooltip.jsx" # Connect SonarQube project to service -This guide aims to demonstrate how to connect a SonarQube project to an existing service in Port. +This guide aims to demonstrate how to connect a SonarQube project to a service in Port. :::tip Prerequisites @@ -15,20 +15,19 @@ This guide aims to demonstrate how to connect a SonarQube project to an existing
-### Add tags to projects in SonarQube +### [Add Topics to GitHub Repositories](https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/classifying-your-repository-with-topics#adding-topics-to-your-repository) -Tagging projects in SonarQube allows you to categorize and label your projects based on various attributes such as technology stack, business domain, team ownership etc. In this guide, we will add a tag attribute to tell us the name of the service that implements the project: +Tagging repositories in GitHub allows you to categorize and label your projects based on various attributes such as technology stack, business domain, team ownership, etc. In this guide, we will add a topic attribute to indicate the SonarQube project that analyzes the repository: -1. Login to your [SonarQube account](https://www.sonarsource.com/) -2. Once logged in, navigate to the projects panel and choose the project you want to tag -3. Within the project dashboard, locate the **Project Information** tab specific to the selected project -4. Look for a section labeled **Tags** or similar. This is where you can manage tags associated with the project -5. To add a new tag, click on the **plus** icon and type the tag name (`port-auth-service`) into the input field provided. For this guide, let's assume there is a service entity identified by `auth-service` in your `Service` blueprint in Port. +1. **Login to your [GitHub account](https://github.com/login)** +2. Once logged in, navigate to the repository you want to tag +3. In the top right corner of the page, to the right of "About", click the settings icon +4. Type the topic name (`sonarqube-my_project_key`) into the input field provided. For this guide, let's assume there is a SonarQube project identified by `my_project_key` that analyzes this repository. - + -:::note Control the tag name -Since our `SonarQube project` may already have several tags, we will need a mechanism to control how these tags will be related to our `Service` blueprint. A way to achieve this relation is to prefix the tag name with the keyword `port-`. We will then use JQ to select the tags that starts with this keyword. So, our example tag will be named `port-auth-service`, which will correspond to a Service entity identified by `auth-service` in Port. +:::note Control the topic name +Since our `Service` may already have several topics, we will need a mechanism to control how these topics will be related to our `SonarQube Projects`. A way to achieve this relation is to prefix the topic name with the keyword `port-`. We will then use GitHub API to select the topics that start with this keyword. So, our example topic will be named `port-my_project_key`, which will correspond to a SonarQube project identified by `my_project_key`. ::: @@ -37,55 +36,46 @@ Since our `SonarQube project` may already have several tags, we will need a mech Now that Port is synced with our SonarQube resources, let's reflect the SonarQube project in our services to display the projects used in a service. First, we will need to create a [relation](/build-your-software-catalog/customize-integrations/configure-data-model/relate-blueprints/) between our services and the corresponding Sonarqube project. -1. Head back to the [Builder](https://app.getport.io/settings/data-model), choose the `SonarQube Project` blueprint, and click on `New relation`: +1. Head back to the [Builder](https://app.getport.io/settings/data-model), choose the `service` blueprint, and click on `New relation`: - +

2. Fill out the form like this, then click `Create`: - +

-Now that the blueprints are related, we need to assign the relevant SonarQube project to each of our services. This can be done by adding some mapping logic. Go to your [data sources page](https://app.getport.io/settings/data-sources), and click on your SonarQube integration: +Now that the blueprints are related, we need to assign the relevant Services to each of our SonarQube Projects. This can be done by adding some mapping logic. Go to your [data sources page](https://app.getport.io/settings/data-sources), and click on your Github integration: - +

-Under the `resources` key, modify the mapping for the `projects` kind by using the following YAML block. Then click `Save & Resync`: +Under the `resources` key, modify the mapping for the `service` kind by using the following YAML block. Then click `Save & Resync`:
Relation mapping (click to expand) ```yaml showLineNumbers - - kind: projects - selector: - query: 'true' - port: - entity: - mappings: - identifier: .key - title: .name - blueprint: '"sonarQubeProject"' - properties: - organization: .organization - link: .__link - lastAnalysisStatus: .__branch.status.qualityGateStatus - lastAnalysisDate: .__branch.analysisDate - numberOfBugs: .__measures[]? | select(.metric == "bugs") | .value - numberOfCodeSmells: .__measures[]? | select(.metric == "code_smells") | .value - numberOfVulnerabilities: .__measures[]? | select(.metric == "vulnerabilities") | .value - numberOfHotSpots: .__measures[]? | select(.metric == "security_hotspots") | .value - numberOfDuplications: .__measures[]? | select(.metric == "duplicated_files") | .value - coverage: .__measures[]? | select(.metric == "coverage") | .value - mainBranch: .__branch.name - relations: - service: .tags | map(select(startswith("port"))) | map(sub("port-"; ""; "g")) | .[0] +- kind: repository + selector: + query: 'true' + port: + entity: + mappings: + identifier: .name + title: .name + blueprint: '"service"' + properties: + readme: file://README.md + url: .html_url + language: .language + relations: + project: .topics | map(select(startswith("port-"))) | map(sub("port-"; ""; "g")) | .[0] ``` -
:::tip JQ explanation @@ -93,18 +83,18 @@ Under the `resources` key, modify the mapping for the `projects` kind by using t The JQ below selects all tags that start with the keyword `port`. It then removes "port-" from each tag, leaving only the part that comes after it. It then selects the first match, which is equivalent to the service in Port. ```yaml -service: .tags | map(select(startswith("port"))) | map(sub("port-"; ""; "g")) | .[0] +project: .topics | map(select(startswith("port-"))) | map(sub("port-"; ""; "g")) | .[0] ``` ::: What we just did was map the `SonarQube Project` to the relation between it and our `Services`. -Now, if our `Service` identifier is equal to the SonarQube project tag, the `service` will automatically be linked to it  🎉 +Now, if our `Sonarqube Project` identifier is equal to the Service topic, the `project` will automatically be linked to it  🎉 ![entitiesAfterServiceMapping](/img/guides/entitiesAfterServiceMapping.png) ### Conclusion -By following these steps, you can seamlessly connect a SonarQube project with an existing service blueprint in Port using project tags. +By following these steps, you can seamlessly connect a `Service` with a `SonarQube Project` blueprint in Port using topics. More relevant guides and examples: diff --git a/static/img/guides/entitiesAfterServiceMapping.png b/static/img/guides/entitiesAfterServiceMapping.png index cefe25bae2702e2a5d75f3654e6cee2d2fc3daaa..b1695e21d2ffce6c3445bebabc0476678c138335 100644 GIT binary patch literal 90997 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%0D0Zs2uR`M$v%y_9IlVtd5 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 Ee@*1#cK`qY literal 219232 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 z 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 RM#PpaIyd!ilxW(A{tv3xZe#!e literal 0 HcmV?d00001 diff --git a/static/img/guides/githubServiceCreateRelation.png b/static/img/guides/githubServiceCreateRelation.png new file mode 100644 index 0000000000000000000000000000000000000000..7e246fa3c3ec8a83adf7c3445fee599dd4c6ac82 GIT binary patch literal 50697 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 QH1Ox;3uT!yDLvo+0an4U-~a#s literal 0 HcmV?d00001 diff --git a/static/img/guides/githubServiceEditRelation.png b/static/img/guides/githubServiceEditRelation.png new file mode 100644 index 0000000000000000000000000000000000000000..f8fce065cbe4dcd7888907fb136f5daba29ac007 GIT binary patch literal 27376 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 Date: Sun, 9 Jun 2024 17:33:34 +0300 Subject: [PATCH 02/56] remove unnecessary comma --- .../define-automations/define-automations.md | 2 +- docs/actions-and-automations/define-automations/setup-action.md | 2 +- .../actions-and-automations/define-automations/setup-trigger.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/actions-and-automations/define-automations/define-automations.md b/docs/actions-and-automations/define-automations/define-automations.md index 13af0a260..15c21d590 100644 --- a/docs/actions-and-automations/define-automations/define-automations.md +++ b/docs/actions-and-automations/define-automations/define-automations.md @@ -42,7 +42,7 @@ Automations are defined in JSON format. The JSON structure looks like this: "type": "automation", "event": { "type": "event_type", - "blueprintIdentifier": "blueprint_id", + "blueprintIdentifier": "blueprint_id" }, "condition": { "type": "JQ", diff --git a/docs/actions-and-automations/define-automations/setup-action.md b/docs/actions-and-automations/define-automations/setup-action.md index 1a32d0e16..9733b69ad 100644 --- a/docs/actions-and-automations/define-automations/setup-action.md +++ b/docs/actions-and-automations/define-automations/setup-action.md @@ -28,7 +28,7 @@ The action is defined under the `invocationMethod` key in the automation's JSON "type": "automation", "event": { "type": "event_type", - "blueprintIdentifier": "blueprint_id", + "blueprintIdentifier": "blueprint_id" }, "condition": { "type": "JQ", diff --git a/docs/actions-and-automations/define-automations/setup-trigger.md b/docs/actions-and-automations/define-automations/setup-trigger.md index 026cb77c6..5d1d7bb12 100644 --- a/docs/actions-and-automations/define-automations/setup-trigger.md +++ b/docs/actions-and-automations/define-automations/setup-trigger.md @@ -35,7 +35,7 @@ An automation's trigger is defined under the `trigger` key: "type": "automation", "event": { "type": "event_type", - "blueprintIdentifier": "blueprint_id", + "blueprintIdentifier": "blueprint_id" }, "condition": { "type": "JQ", From 856ee854d8cdf67972cb980d78df1b9706a73a83 Mon Sep 17 00:00:00 2001 From: lordsarcastic Date: Sun, 9 Jun 2024 17:06:04 +0100 Subject: [PATCH 03/56] PORT-8437 | Updated PagerDuty docs to fit integration changes (#1273) Co-authored-by: lord-sarcastic <> Co-authored-by: Mor Paz --- .../pagerduty/_example_pagerduty_incident.mdx | 70 ++++- .../pagerduty/_example_pagerduty_service.mdx | 58 ++++- .../_example_pagerduty_webhook_config.mdx | 18 +- ...ample_pagerduty_webhook_history_config.mdx | 8 +- .../incident-management/pagerduty.md | 245 +++++++++++++----- 5 files changed, 306 insertions(+), 93 deletions(-) diff --git a/docs/build-your-software-catalog/custom-integration/webhook/examples/resources/pagerduty/_example_pagerduty_incident.mdx b/docs/build-your-software-catalog/custom-integration/webhook/examples/resources/pagerduty/_example_pagerduty_incident.mdx index cb5698835..6073f3ec2 100644 --- a/docs/build-your-software-catalog/custom-integration/webhook/examples/resources/pagerduty/_example_pagerduty_incident.mdx +++ b/docs/build-your-software-catalog/custom-integration/webhook/examples/resources/pagerduty/_example_pagerduty_incident.mdx @@ -17,33 +17,77 @@ "escalated", "reopened", "resolved" - ] + ], + "enumColors": { + "triggered": "red", + "annotated": "blue", + "acknowledged": "yellow", + "reassigned": "blue", + "escalated": "yellow", + "reopened": "red", + "resolved": "green" + } }, "url": { "type": "string", "format": "url", "title": "Incident URL" }, - "details": { + "urgency": { + "title": "Incident Urgency", "type": "string", - "title": "Details" + "enum": [ + "high", + "low" + ], + "enumColors": { + "high": "red", + "low": "green" + } }, "priority": { "type": "string", - "title": "Priority" + "title": "Priority", + "enum": [ + "P1", + "P2", + "P3", + "P4", + "P5" + ], + "enumColors": { + "P1": "red", + "P2": "yellow", + "P3": "blue", + "P4": "lightGray", + "P5": "darkGray" + } }, - "urgency": { + "description": { "type": "string", - "title": "Incident Urgency", - "enum": ["high", "low"] + "title": "Description" }, - "responder": { - "type": "string", - "title": "Assignee" + "assignees": { + "title": "Assignees", + "type": "array", + "items": { + "type": "string", + "format": "user" + } }, "escalation_policy": { "type": "string", "title": "Escalation Policy" + }, + "created_at": { + "title": "Create At", + "type": "string", + "format": "date-time" + }, + "updated_at": { + "title": "Updated At", + "type": "string", + "format": "date-time" } }, "required": [] @@ -51,9 +95,9 @@ "mirrorProperties": {}, "calculationProperties": {}, "relations": { - "microservice": { - "title": "Belongs To", - "target": "microservice", + "pagerdutyService": { + "title": "PagerDuty Service", + "target": "pagerdutyService", "required": false, "many": true } diff --git a/docs/build-your-software-catalog/custom-integration/webhook/examples/resources/pagerduty/_example_pagerduty_service.mdx b/docs/build-your-software-catalog/custom-integration/webhook/examples/resources/pagerduty/_example_pagerduty_service.mdx index b5e48246e..8d66f8ce7 100644 --- a/docs/build-your-software-catalog/custom-integration/webhook/examples/resources/pagerduty/_example_pagerduty_service.mdx +++ b/docs/build-your-software-catalog/custom-integration/webhook/examples/resources/pagerduty/_example_pagerduty_service.mdx @@ -1,26 +1,60 @@ ```json showLineNumbers { - "identifier": "microservice", - "title": "Microservice", - "icon": "Service", + "identifier": "pagerdutyService", + "description": "This blueprint represents a PagerDuty service in our software catalog", + "title": "PagerDuty Service", + "icon": "pagerduty", "schema": { "properties": { "status": { "title": "Status", - "type": "string" + "type": "string", + "enum": [ + "active", + "warning", + "critical", + "maintenance", + "disabled" + ], + "enumColors": { + "active": "green", + "warning": "yellow", + "critical": "red", + "maintenance": "lightGray", + "disabled": "darkGray" + } + }, + "url": { + "title": "URL", + "type": "string", + "format": "url" + }, + "oncall": { + "title": "On Call", + "type": "string", + "format": "user" + }, + "escalationLevels": { + "title": "Escalation Levels", + "type": "number" + }, + "meanSecondsToResolve": { + "title": "Mean Seconds to Resolve", + "type": "number" + }, + "meanSecondsToFirstAck": { + "title": "Mean Seconds to First Acknowledge", + "type": "number" + }, + "meanSecondsToEngage": { + "title": "Mean Seconds to Engage", + "type": "number" } }, "required": [] }, "mirrorProperties": {}, - "calculationProperties": { - "service": { - "title": "Service URL", - "calculation": "'https://api.pagerduty.com/services/' + .identifier", - "type": "string", - "format": "url" - } - }, + "calculationProperties": {}, "relations": {} } ``` diff --git a/docs/build-your-software-catalog/custom-integration/webhook/examples/resources/pagerduty/_example_pagerduty_webhook_config.mdx b/docs/build-your-software-catalog/custom-integration/webhook/examples/resources/pagerduty/_example_pagerduty_webhook_config.mdx index d9d899314..90512f6ab 100644 --- a/docs/build-your-software-catalog/custom-integration/webhook/examples/resources/pagerduty/_example_pagerduty_webhook_config.mdx +++ b/docs/build-your-software-catalog/custom-integration/webhook/examples/resources/pagerduty/_example_pagerduty_webhook_config.mdx @@ -7,7 +7,13 @@ "identifier": ".body.event.data.id", "title": ".body.event.data.summary", "properties": { - "status": ".body.event.data.event_type" + "status": ".body.event.data.status", + "url": ".body.event.data.html_url", + "oncall": ".body.event.data.__oncall_user[] | select(.escalation_level == 1) | .user.email", + "escalationLevels": ".body.event.data.__oncall_user | map(.escalation_level) | unique | length", + "meanSecondsToResolve": ".body.event.data.__analytics.mean_seconds_to_resolve", + "meanSecondsToFirstAck": ".body.event.data.__analytics.mean_seconds_to_first_ack", + "meanSecondsToEngage": ".body.event.data.__analytics.mean_seconds_to_engage", } } }, @@ -20,11 +26,13 @@ "properties": { "status": ".body.event.data.status", "url": ".body.event.data.html_url", - "details": ".body.event.data.title", - "priority": ".body.event.data.priority", "urgency": ".body.event.data.urgency", - "responder": ".body.event.data.assignees[0].summary", - "escalation_policy": ".body.event.data.escalation_policy.summary" + "assignees": ".body.event.data.assignments | map(.assignee.email)", + "escalation_policy": ".body.event.data.escalation_policy.summary", + "created_at": ".body.event.data.created_at", + "updated_at": ".body.event.data.updated_at", + "priority": ".body.event.dataif .priority != null then .priority.summary else null end", + "description": ".body.event.data.description" }, "relations": { "microservice": ".body.event.data.service.id" diff --git a/docs/build-your-software-catalog/custom-integration/webhook/examples/resources/pagerduty/_example_pagerduty_webhook_history_config.mdx b/docs/build-your-software-catalog/custom-integration/webhook/examples/resources/pagerduty/_example_pagerduty_webhook_history_config.mdx index 9704c18aa..c7ebea9ba 100644 --- a/docs/build-your-software-catalog/custom-integration/webhook/examples/resources/pagerduty/_example_pagerduty_webhook_history_config.mdx +++ b/docs/build-your-software-catalog/custom-integration/webhook/examples/resources/pagerduty/_example_pagerduty_webhook_history_config.mdx @@ -7,7 +7,13 @@ "identifier": ".body.event.data.identifier", "title": ".body.event.data.title", "properties": { - "status": ".body.event.data.properties.status" + "status": ".body.event.data.properties.status", + "url": ".body.event.data.properties.html_url", + "oncall": ".body.event.data.properties.__oncall_user[] | select(.escalation_level == 1) | .user.email", + "escalationLevels": ".body.event.data.properties.__oncall_user | map(.escalation_level) | unique | length", + "meanSecondsToResolve": ".body.event.data.properties.__analytics.mean_seconds_to_resolve", + "meanSecondsToFirstAck": ".body.event.data.properties.__analytics.mean_seconds_to_first_ack", + "meanSecondsToEngage": ".body.event.data.properties.__analytics.mean_seconds_to_engage", } } }, diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/incident-management/pagerduty.md b/docs/build-your-software-catalog/sync-data-to-catalog/incident-management/pagerduty.md index f0a700088..5476044e6 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/incident-management/pagerduty.md +++ b/docs/build-your-software-catalog/sync-data-to-catalog/incident-management/pagerduty.md @@ -483,7 +483,11 @@ Examples of blueprints and the relevant integration configurations: }, "users": { "title": "Users", - "type": "array" + "type": "array", + "items": { + "type": "string", + "format": "user" + } } }, "required": [] @@ -506,7 +510,7 @@ deleteDependentEntities: true resources: - kind: schedules selector: - query: "true" + query: 'true' port: entity: mappings: @@ -517,7 +521,7 @@ resources: url: .html_url timezone: .time_zone description: .description - users: "[.users[].summary]" + users: '[.users[] | select(has("__email")) | .__email]' ``` @@ -642,6 +646,22 @@ resources: "title": "On Call", "type": "string", "format": "user" + }, + "escalationLevels": { + "title": "Escalation Levels", + "type": "number" + }, + "meanSecondsToResolve": { + "title": "Mean Seconds to Resolve", + "type": "number" + }, + "meanSecondsToFirstAck": { + "title": "Mean Seconds to First Acknowledge", + "type": "number" + }, + "meanSecondsToEngage": { + "title": "Mean Seconds to Engage", + "type": "number" } }, "required": [] @@ -663,7 +683,7 @@ deleteDependentEntities: true resources: - kind: services selector: - query: "true" + query: 'true' port: entity: mappings: @@ -674,6 +694,10 @@ resources: status: .status url: .html_url oncall: .__oncall_user[] | select(.escalation_level == 1) | .user.email + escalationLevels: .__oncall_user | map(.escalation_level) | unique | length + meanSecondsToResolve: .__analytics.mean_seconds_to_resolve + meanSecondsToFirstAck: .__analytics.mean_seconds_to_first_ack + meanSecondsToEngage: .__analytics.mean_seconds_to_engage ``` @@ -702,7 +726,16 @@ resources: "escalated", "reopened", "resolved" - ] + ], + "enumColors": { + "triggered": "red", + "annotated": "blue", + "acknowledged": "yellow", + "reassigned": "blue", + "escalated": "yellow", + "reopened": "red", + "resolved": "green" + } }, "url": { "type": "string", @@ -710,13 +743,46 @@ resources: "title": "Incident URL" }, "urgency": { - "type": "string", "title": "Incident Urgency", - "enum": ["high", "low"] + "type": "string", + "enum": [ + "high", + "low" + ], + "enumColors": { + "high": "red", + "low": "green" + } + }, + "priority": { + "type": "string", + "title": "Priority", + "enum": [ + "P1", + "P2", + "P3", + "P4", + "P5" + ], + "enumColors": { + "P1": "red", + "P2": "yellow", + "P3": "blue", + "P4": "lightGray", + "P5": "darkGray" + } }, - "responder": { + "description": { "type": "string", - "title": "Assignee" + "title": "Description" + }, + "assignees": { + "title": "Assignees", + "type": "array", + "items": { + "type": "string", + "format": "user" + } }, "escalation_policy": { "type": "string", @@ -757,25 +823,28 @@ resources: createMissingRelatedEntities: true deleteDependentEntities: true resources: - - kind: incidents - selector: - query: "true" - port: - entity: - mappings: - identifier: .id | tostring - title: .title - blueprint: '"pagerdutyIncident"' - properties: - status: .status - url: .self - urgency: .urgency - responder: .assignments[0].assignee.summary - escalation_policy: .escalation_policy.summary - created_at: .created_at - updated_at: .updated_at - relations: - pagerdutyService: .service.id + - kind: incidents + selector: + query: 'true' + include: ['assignees'] + port: + entity: + mappings: + identifier: .id | tostring + title: .title + blueprint: '"pagerdutyIncident"' + properties: + status: .status + url: .self + urgency: .urgency + assignees: .assignments | map(.assignee.email) + escalation_policy: .escalation_policy.summary + created_at: .created_at + updated_at: .updated_at + priority: if .priority != null then .priority.summary else null end + description: .description + relations: + pagerdutyService: .service.id ``` @@ -959,7 +1028,16 @@ To enrich your PagerDuty incident entities with analytics data, follow the steps "escalated", "reopened", "resolved" - ] + ], + "enumColors": { + "triggered": "red", + "annotated": "blue", + "acknowledged": "yellow", + "reassigned": "blue", + "escalated": "yellow", + "reopened": "red", + "resolved": "green" + } }, "url": { "type": "string", @@ -967,13 +1045,46 @@ To enrich your PagerDuty incident entities with analytics data, follow the steps "title": "Incident URL" }, "urgency": { - "type": "string", "title": "Incident Urgency", - "enum": ["high", "low"] + "type": "string", + "enum": [ + "high", + "low" + ], + "enumColors": { + "high": "red", + "low": "green" + } + }, + "priority": { + "type": "string", + "title": "Priority", + "enum": [ + "P1", + "P2", + "P3", + "P4", + "P5" + ], + "enumColors": { + "P1": "red", + "P2": "yellow", + "P3": "blue", + "P4": "lightGray", + "P5": "darkGray" + } }, - "responder": { + "description": { "type": "string", - "title": "Assignee" + "title": "Description" + }, + "assignees": { + "title": "Assignees", + "type": "array", + "items": { + "type": "string", + "format": "user" + } }, "escalation_policy": { "type": "string", @@ -1037,28 +1148,30 @@ To enrich your PagerDuty incident entities with analytics data, follow the steps ```yaml showLineNumbers resources: - - kind: incidents - selector: - query: "true" - incidentAnalytics: "true" - port: - entity: - mappings: - identifier: .id | tostring - title: .title - blueprint: '"pagerdutyIncident"' - properties: - status: .status - url: .self - urgency: .urgency - responder: .assignments[0].assignee.summary - escalation_policy: .escalation_policy.summary - created_at: .created_at - updated_at: .updated_at - # highlight-next-line - analytics: .__analytics - relations: - pagerdutyService: .service.id + - kind: incidents + selector: + query: 'true' + include: ['assignees'] + port: + entity: + mappings: + identifier: .id | tostring + title: .title + blueprint: '"pagerdutyIncident"' + properties: + status: .status + url: .self + urgency: .urgency + assignees: .assignments | map(.assignee.email) + escalation_policy: .escalation_policy.summary + created_at: .created_at + updated_at: .updated_at + priority: if .priority != null then .priority.summary else null end + description: .description + # highlight-next-line + analytics: .__analytics + relations: + pagerdutyService: .service.id ``` 4. Below is the complete integration configuration for enriching the incident blueprint with analytics data. @@ -1069,8 +1182,8 @@ To enrich your PagerDuty incident entities with analytics data, follow the steps resources: - kind: incidents selector: - query: "true" - incidentAnalytics: "true" + query: 'true' + include: ['assignees'] port: entity: mappings: @@ -1081,10 +1194,13 @@ To enrich your PagerDuty incident entities with analytics data, follow the steps status: .status url: .self urgency: .urgency - responder: .assignments[0].assignee.summary + assignees: .assignments | map(.assignee.email) escalation_policy: .escalation_policy.summary created_at: .created_at updated_at: .updated_at + priority: if .priority != null then .priority.summary else null end + description: .description + # highlight-next-line analytics: .__analytics relations: pagerdutyService: .service.id @@ -1450,7 +1566,7 @@ The combination of the sample payload and the Ocean configuration generates the "url": "https://getport-io.pagerduty.com/schedules/PWAXLIH", "timezone": "Asia/Jerusalem", "description": "Asia/Jerusalem", - "users": ["Adam", "Alice", "Doe", "Demo", "Pages"] + "users": ["adam@getport-io.com", "alice@getport-io.com", "doe@getport-io.com", "demo@getport-io.com", "pages@getport-io.com"] }, "relations": {}, "createdAt": "2023-12-01T13:18:02.215Z", @@ -1474,7 +1590,6 @@ The combination of the sample payload and the Ocean configuration generates the "properties": { "url": "https://getport-io.pagerduty.com/schedules/PWAXLIH", "timezone": null, - "description": "Port Test Service - Weekly Rotation", "user": "johndoe@domain.io", "startDate": "2024-06-03T13:00:00Z", "endDate": "2024-06-17T13:00:00Z" @@ -1504,7 +1619,11 @@ The combination of the sample payload and the Ocean configuration generates the "properties": { "status": "active", "url": "https://getport-io.pagerduty.com/service-directory/PGAAJBE", - "oncall": "devops-port@pager-demo.com" + "oncall": "devops-port@pager-demo.com", + "escalationLevels": 1, + "meanSecondsToResolve": 0, + "meanSecondsToFirstAck": 0, + "meanSecondsToEngage": 0, }, "relations": {}, "createdAt": "2023-11-01T13:18:02.215Z", @@ -1533,7 +1652,9 @@ The combination of the sample payload and the Ocean configuration generates the "responder": "Username", "escalation_policy": "Test Escalation Policy", "created_at": "2023-07-30T11:29:21.000Z", - "updated_at": "2023-07-30T11:29:21.000Z" + "updated_at": "2023-07-30T11:29:21.000Z", + "priority": null, + "description": "Example Incident", }, "relations": { "pagerdutyService": "PWJAGSD" From 26755a70b17ad6eed4e2ba71dd894f272354c75c Mon Sep 17 00:00:00 2001 From: hadar-co Date: Sun, 9 Jun 2024 19:42:19 +0300 Subject: [PATCH 04/56] add api docs (#977) * add api docs * add api docs * add api docs * add api docs * add api docs * add api docs * add api docs * add api docs * add api docs * add api docs * add api docs * add api docs * create api docs * create api docs * create api docs * create api docs * create api docs * create api docs * create api docs * improve visualizations * api docs * pkg lock * pkg lock * entities * entities * actions * actions * more routes * more routes * migrations and structure * exit codes * update package.json * update package-lock.json * update package-lock.json * fix errors * fix errors * clean up routes and config * add package-lock --------- Co-authored-by: Hadar --- docs/__quickstart.md | 2 +- .../create-self-service-experiences.md | 2 +- docs/api-reference/_category_.json | 7 +- docs/api-reference/_learn_more_reference.mdx | 2 +- .../add-a-log-to-an-action-run.api.mdx | 165 + docs/api-reference/api-reference.mdx | 11 - .../approve-an-actions-run.api.mdx | 156 + docs/api-reference/change-a-blueprint.api.mdx | 1612 ++ .../change-a-blueprints-scorecard.api.mdx | 1001 + .../change-a-blueprints-scorecards.api.mdx | 1017 + docs/api-reference/change-a-team.api.mdx | 165 + docs/api-reference/change-a-webhook.api.mdx | 452 + docs/api-reference/change-an-entity.api.mdx | 397 + docs/api-reference/create-a-blueprint.api.mdx | 1586 ++ docs/api-reference/create-a-migration.api.mdx | 346 + ...create-a-scorecard-for-a-blueprint.api.mdx | 1017 + docs/api-reference/create-a-team.api.mdx | 141 + docs/api-reference/create-a-webhook.api.mdx | 428 + .../create-an-access-token.api.mdx | 219 + docs/api-reference/create-an-action.api.mdx | 1627 ++ docs/api-reference/create-an-entity.api.mdx | 415 + .../create-an-integration.api.mdx | 779 + docs/api-reference/delete-a-blueprint.api.mdx | 125 + .../delete-a-blueprints-scorecard.api.mdx | 106 + docs/api-reference/delete-a-team.api.mdx | 101 + docs/api-reference/delete-a-user.api.mdx | 101 + docs/api-reference/delete-a-webhook.api.mdx | 101 + ...delete-all-entities-of-a-blueprint.api.mdx | 130 + docs/api-reference/delete-an-entity.api.mdx | 135 + .../delete-an-integration.api.mdx | 101 + docs/api-reference/get-a-blueprint.api.mdx | 101 + .../get-a-blueprints-entity-count.api.mdx | 101 + .../get-a-blueprints-permissions.api.mdx | 101 + .../get-a-blueprints-scorecard.api.mdx | 106 + .../get-a-blueprints-scorecards.api.mdx | 101 + docs/api-reference/get-a-team.api.mdx | 125 + docs/api-reference/get-a-user.api.mdx | 101 + docs/api-reference/get-a-webhook.api.mdx | 101 + docs/api-reference/get-actions.api.mdx | 126 + .../api-reference/get-all-action-runs.api.mdx | 126 + docs/api-reference/get-all-blueprints.api.mdx | 69 + .../get-all-entities-of-a-blueprint.api.mdx | 210 + .../get-all-integrations.api.mdx | 69 + docs/api-reference/get-all-migrations.api.mdx | 111 + .../api-reference/get-all-scoreboards.api.mdx | 69 + ...get-all-teams-in-your-organization.api.mdx | 101 + ...get-all-users-in-your-organization.api.mdx | 101 + docs/api-reference/get-all-webhooks.api.mdx | 69 + .../get-an-action-runs-details.api.mdx | 125 + .../get-an-actions-run-logs.api.mdx | 130 + docs/api-reference/get-an-entity.api.mdx | 219 + docs/api-reference/get-an-integration.api.mdx | 125 + .../get-an-integrations-audit-logs.api.mdx | 140 + docs/api-reference/get-audit-logs.api.mdx | 171 + ...invite-a-user-to-your-organization.api.mdx | 211 + docs/api-reference/patch-a-blueprint.api.mdx | 1598 ++ .../patch-a-blueprints-permissions.api.mdx | 594 + docs/api-reference/patch-a-team.api.mdx | 161 + docs/api-reference/patch-a-user.api.mdx | 152 + docs/api-reference/patch-a-webhook.api.mdx | 448 + .../api-reference/patch-an-action-run.api.mdx | 272 + docs/api-reference/patch-an-entity.api.mdx | 397 + .../patch-an-integration.api.mdx | 766 + .../patch-an-integrations-config.api.mdx | 664 + docs/api-reference/port-api.info.mdx | 64 + docs/api-reference/rate-limits.mdx | 27 + ...ename-a-blueprints-mirror-property.api.mdx | 148 + .../rename-a-blueprints-relation.api.mdx | 148 + .../rename-a-property-in-a-blueprint.api.mdx | 148 + docs/api-reference/search-entities.api.mdx | 693 + docs/api-reference/sidebar.ts | 470 + .../custom-integration/api/api.md | 2 +- .../jenkins-deployment/jenkins-deployment.md | 2 +- docs/configuration-methods.md | 2 +- .../page/folders.md | 2 +- docs/promote-scorecards/promote-scorecards.md | 2 +- docusaurus.config.js | 44 +- package-lock.json | 18125 ++++++++----- package.json | 2 + sidebars.js | 8 +- src/css/custom.css | 246 +- static/img/logos/logo-dark.svg | 7 + static/img/logos/logo-light.svg | 7 + static/img/openapi/getBearerToken.png | Bin 0 -> 31188 bytes static/spec.yaml | 21181 ++++++++++++++++ static/spectmp.yaml | 8804 +++++++ 86 files changed, 63927 insertions(+), 6713 deletions(-) create mode 100644 docs/api-reference/add-a-log-to-an-action-run.api.mdx delete mode 100644 docs/api-reference/api-reference.mdx create mode 100644 docs/api-reference/approve-an-actions-run.api.mdx create mode 100644 docs/api-reference/change-a-blueprint.api.mdx create mode 100644 docs/api-reference/change-a-blueprints-scorecard.api.mdx create mode 100644 docs/api-reference/change-a-blueprints-scorecards.api.mdx create mode 100644 docs/api-reference/change-a-team.api.mdx create mode 100644 docs/api-reference/change-a-webhook.api.mdx create mode 100644 docs/api-reference/change-an-entity.api.mdx create mode 100644 docs/api-reference/create-a-blueprint.api.mdx create mode 100644 docs/api-reference/create-a-migration.api.mdx create mode 100644 docs/api-reference/create-a-scorecard-for-a-blueprint.api.mdx create mode 100644 docs/api-reference/create-a-team.api.mdx create mode 100644 docs/api-reference/create-a-webhook.api.mdx create mode 100644 docs/api-reference/create-an-access-token.api.mdx create mode 100644 docs/api-reference/create-an-action.api.mdx create mode 100644 docs/api-reference/create-an-entity.api.mdx create mode 100644 docs/api-reference/create-an-integration.api.mdx create mode 100644 docs/api-reference/delete-a-blueprint.api.mdx create mode 100644 docs/api-reference/delete-a-blueprints-scorecard.api.mdx create mode 100644 docs/api-reference/delete-a-team.api.mdx create mode 100644 docs/api-reference/delete-a-user.api.mdx create mode 100644 docs/api-reference/delete-a-webhook.api.mdx create mode 100644 docs/api-reference/delete-all-entities-of-a-blueprint.api.mdx create mode 100644 docs/api-reference/delete-an-entity.api.mdx create mode 100644 docs/api-reference/delete-an-integration.api.mdx create mode 100644 docs/api-reference/get-a-blueprint.api.mdx create mode 100644 docs/api-reference/get-a-blueprints-entity-count.api.mdx create mode 100644 docs/api-reference/get-a-blueprints-permissions.api.mdx create mode 100644 docs/api-reference/get-a-blueprints-scorecard.api.mdx create mode 100644 docs/api-reference/get-a-blueprints-scorecards.api.mdx create mode 100644 docs/api-reference/get-a-team.api.mdx create mode 100644 docs/api-reference/get-a-user.api.mdx create mode 100644 docs/api-reference/get-a-webhook.api.mdx create mode 100644 docs/api-reference/get-actions.api.mdx create mode 100644 docs/api-reference/get-all-action-runs.api.mdx create mode 100644 docs/api-reference/get-all-blueprints.api.mdx create mode 100644 docs/api-reference/get-all-entities-of-a-blueprint.api.mdx create mode 100644 docs/api-reference/get-all-integrations.api.mdx create mode 100644 docs/api-reference/get-all-migrations.api.mdx create mode 100644 docs/api-reference/get-all-scoreboards.api.mdx create mode 100644 docs/api-reference/get-all-teams-in-your-organization.api.mdx create mode 100644 docs/api-reference/get-all-users-in-your-organization.api.mdx create mode 100644 docs/api-reference/get-all-webhooks.api.mdx create mode 100644 docs/api-reference/get-an-action-runs-details.api.mdx create mode 100644 docs/api-reference/get-an-actions-run-logs.api.mdx create mode 100644 docs/api-reference/get-an-entity.api.mdx create mode 100644 docs/api-reference/get-an-integration.api.mdx create mode 100644 docs/api-reference/get-an-integrations-audit-logs.api.mdx create mode 100644 docs/api-reference/get-audit-logs.api.mdx create mode 100644 docs/api-reference/invite-a-user-to-your-organization.api.mdx create mode 100644 docs/api-reference/patch-a-blueprint.api.mdx create mode 100644 docs/api-reference/patch-a-blueprints-permissions.api.mdx create mode 100644 docs/api-reference/patch-a-team.api.mdx create mode 100644 docs/api-reference/patch-a-user.api.mdx create mode 100644 docs/api-reference/patch-a-webhook.api.mdx create mode 100644 docs/api-reference/patch-an-action-run.api.mdx create mode 100644 docs/api-reference/patch-an-entity.api.mdx create mode 100644 docs/api-reference/patch-an-integration.api.mdx create mode 100644 docs/api-reference/patch-an-integrations-config.api.mdx create mode 100644 docs/api-reference/port-api.info.mdx create mode 100644 docs/api-reference/rate-limits.mdx create mode 100644 docs/api-reference/rename-a-blueprints-mirror-property.api.mdx create mode 100644 docs/api-reference/rename-a-blueprints-relation.api.mdx create mode 100644 docs/api-reference/rename-a-property-in-a-blueprint.api.mdx create mode 100644 docs/api-reference/search-entities.api.mdx create mode 100644 docs/api-reference/sidebar.ts create mode 100644 static/img/logos/logo-dark.svg create mode 100644 static/img/logos/logo-light.svg create mode 100644 static/img/openapi/getBearerToken.png create mode 100644 static/spec.yaml create mode 100644 static/spectmp.yaml diff --git a/docs/__quickstart.md b/docs/__quickstart.md index cf36eee4a..d51659240 100644 --- a/docs/__quickstart.md +++ b/docs/__quickstart.md @@ -1281,4 +1281,4 @@ If you want to learn more about Port's capabilities in a specific area, you can If you want to continue utilizing Port's REST API, take a look at these resources: - [API guide](./build-your-software-catalog/custom-integration/api/api.md) -- [API Reference](./api-reference/api-reference.mdx) +- [API Reference](./api-reference/port-api) diff --git a/docs/actions-and-automations/create-self-service-experiences/create-self-service-experiences.md b/docs/actions-and-automations/create-self-service-experiences/create-self-service-experiences.md index b854a6273..4b39ff50d 100644 --- a/docs/actions-and-automations/create-self-service-experiences/create-self-service-experiences.md +++ b/docs/actions-and-automations/create-self-service-experiences/create-self-service-experiences.md @@ -56,7 +56,7 @@ Self-service actions are created and managed in the [Self-service](https://app.g To begin, click on the `+ New Action` button in the top right corner, then follow the steps below. :::tip Other supported methods -Besides Port's UI, you can also create and manage self-service actions using [Port's API](https://api.getport.io/static/index.html#/Actions), or [Terraform](https://registry.terraform.io/providers/port-labs/port-labs/latest/docs/resources/port_action). +Besides Port's UI, you can also create and manage self-service actions using [Port's API](/api-reference/port-api), or [Terraform](https://registry.terraform.io/providers/port-labs/port-labs/latest/docs/resources/port_action). ::: ### Step 1 - setup the action's frontend diff --git a/docs/api-reference/_category_.json b/docs/api-reference/_category_.json index a41a95885..4ac7875cc 100644 --- a/docs/api-reference/_category_.json +++ b/docs/api-reference/_category_.json @@ -1,4 +1,7 @@ { - "label": "🧪 API reference", - "position": 12 + "label": "Port API", + "position": 0, + "className": "hidden", + "collapsible": false, + "collapsed": false } diff --git a/docs/api-reference/_learn_more_reference.mdx b/docs/api-reference/_learn_more_reference.mdx index d3ba1b011..43e67e421 100644 --- a/docs/api-reference/_learn_more_reference.mdx +++ b/docs/api-reference/_learn_more_reference.mdx @@ -1 +1 @@ -Check out Port's [API reference](./api-reference.mdx) to learn more. +Check out Port's [API reference](/api-reference/port-api) to learn more. \ No newline at end of file diff --git a/docs/api-reference/add-a-log-to-an-action-run.api.mdx b/docs/api-reference/add-a-log-to-an-action-run.api.mdx new file mode 100644 index 000000000..7a4bf5d6e --- /dev/null +++ b/docs/api-reference/add-a-log-to-an-action-run.api.mdx @@ -0,0 +1,165 @@ +--- +id: add-a-log-to-an-action-run +title: "Add a log to an action run" +description: "This route allows you to send a log message back to Port, which will be displayed in the action run's page. You can also use this route to update the run's termination status (SUCCESS/FAILURE) and label describing the status.

To learn more about action runs, check out the [documentation](https://docs.getport.io/create-self-service-experiences/reflect-action-progress/)." +sidebar_label: "Add a log to an action run" +hide_title: true +hide_table_of_contents: true +api: eJztVcFu4zYQ/RWClyaAYyU9GosF3GwKLLpAAzs5FKlRUNLY4oYWVZKy4xr+974hJVvJxtheil4KAzJFcYaPb94b7mVJvnC6CdrWciIfKu2Fs20goYyxWy92thXBCk91KZQwdiXW5L1akchV8cyf7q0LI7GtdFGJrTZG5CRK7RujdlQKXYtQIVvBOwjX1j940SB8LH5D5kLV2Mhb0XrCuuPmSNs2peIRglNUILfWtYp5fFCh9eJi/nh7ezefZz9PP395nN1dCgWYRuVkRDpYrutVzJEixh9yl32MjwcrDClXi7V1wJdj3wFKPxJFRTggT3P8U2mLdk11iAAWF1UIjZ9kGab9eEWhAQtjbbPCEWBfeTJLPNxGF3RFLw05TXVBPnO0NFSEq7TVVePsyoHQ7HIsRzKolZeTJzlNOGbAIRcj6ejPlnz4yZY7OdnLwtYBQHiomsboIkLKvnou4V56AF8rHoVdQyiqzb9iR6THZgASNPn49cTnPJIzCPHBgTiEvJUHvVcGu3xT47G4RWGhA0PLIHKj6mehl1FLtjY7sVV1eF9VqUDYmOp2zVR0FcZMV2O5OIxk2vgLF/r7qKedIrBhJwoaSOJfQA+A3cQ/o3Toqj7v0F19WuRVZak5Upn7QTGX8BAlnWhHJfPWA1gcOOz0JbiWMNEop9aEWrLe3tFMhxYrNaNsVKgAvUYM3sDRH7qU36SFVD0VrdNhF7Pm8Bc5DBeHqGLf2Non8f14fc1/r7n4REvVmiBm3cp4YqCsbMkYrI8iZigTmW1uslQyeAo+yfYJ1SEDm14yErfpj9c6yET2llWNHjhWDmHPmYeEsAd/pARhv9DuxMK0BTCn/4pWkB1RFakSUQyc/Tg7OffuRa0bQ2ecN9D5K22fZHNU1KvaLG1MqANnliwWMb3/jOV89sTqzfia1zJ9axU7RH+AspcvdMaN+OiAtyod9Jz/r4j/+IpIYgz0EjLwB9GhtlHf+84aT3Jzg4WdOdilbfybHG0bHQLVV+worN/vc+Xp0ZnDgachWccGxnCjnFY5awsuQsV4XB77zVmNXMy6xnApzkHuTVWzozbKtPyG4TMsduwwB+71naUYQfp4m/a5euAUp+Bv7kI29rF73P86f8DivLtD17aMnUxtmSA8J/J3/PBim8QbFsX5vcQFsGqT9VLe2Ihb5nrYHJ5jc+gGjPbdI77tGulI/DyMzoR8gKMFWs/H4/L05WxAx1i/mgnna+Bv355uLA== +sidebar_class_name: "post api-method" +info_path: api-reference-temp/port-api +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import SecuritySchemes from "@theme/ApiExplorer/SecuritySchemes"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import Markdown from "@theme/Markdown"; +import Heading from "@theme/Heading"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; + + + + + + + + + + +This route allows you to send a log message back to Port, which will be displayed in the action run's page. You can also use this route to update the run's termination status (SUCCESS/FAILURE) and label describing the status.

To learn more about action runs, check out the [documentation](https://docs.getport.io/create-self-service-experiences/reflect-action-progress/). + + + + +

+ +

+ Path Parameters +

+
+
    + + + +
+
+
+ +
+ +

+ Body +

+ required + +
+ +
    + ","enum":["SUCCESS","FAILURE"]}} + > + + "}} + > + + "}} + > + + +
+
+
+
+
+ + +
+ + + Default Response + + +
+ +
+
+
+
+
+ \ No newline at end of file diff --git a/docs/api-reference/api-reference.mdx b/docs/api-reference/api-reference.mdx deleted file mode 100644 index 54e063750..000000000 --- a/docs/api-reference/api-reference.mdx +++ /dev/null @@ -1,11 +0,0 @@ ---- -sidebar_position: 10 -title: API reference -sidebar_label: 💡 API reference ---- - -# API reference - -You can view and try out Port's REST API in our [Swagger](https://api.getport.io) documentation. - -For more information on how to use `https://api.getport.io/v1/entities/search`, see [Search and Query](https://docs.getport.io/search-and-query/). diff --git a/docs/api-reference/approve-an-actions-run.api.mdx b/docs/api-reference/approve-an-actions-run.api.mdx new file mode 100644 index 000000000..1b63222a6 --- /dev/null +++ b/docs/api-reference/approve-an-actions-run.api.mdx @@ -0,0 +1,156 @@ +--- +id: approve-an-actions-run +title: "Approve an action's run" +description: "This route allows you to approve or decline a request to execute an action that requires approval.

To learn more about manual approval for actions, check out the [documentation](https://docs.getport.io/create-self-service-experiences/set-self-service-actions-rbac/#configure-manual-approval-for-actions)." +sidebar_label: "Approve an action's run" +hide_title: true +hide_table_of_contents: true +api: eJztVdtu2zAM/RVBe1gLJHG7x6AokLUFVmzYgizbSxcMis3Eah3J0yVtFvjfR0qy6/TytD0OARRdSOkc8pDe8wJsbmTtpFZ8zOeltMxo74CJqtL3lu20Z04zUddGb4FpwwrIK6nQgBn45cE6OocHyIOXYiKny5grhQsW0oBN/qIanS1Ndh6GuWYVCKPYRht0XOKrbCOUF1VnzVb4XrzPDlheQn7HyMyVwG4KnfsNKCfoeHFUOlfbcZbhth2twdXauJHUWW5AOBhaqFY4mK3MYQgPNRgJKgebWXCHh+m9oVmKPHuTa7WSa29gGLENW2xDxNbaHo/4gDuxtnx8wyeR/8wryxcDnoL0Xhc7Pt5zvM8haJriTZXMA/zs1lL899wiyY2gmdvVgBnRy1vIHV6PryJoJ8EGO6Ttbc/OOiPVGu1A+U2AMZ3Ovny/wp3Lq4tP15+v+KIZHKb7ufOhGiast8bUFhmmA8OJWENmKA1ruQXFIpyYXN7gO6IoJHmJatrDvRKVhRgSVEVBMBORRUNejwfOeMCNWhixAQeGIvtCdBJwtJQEuBauRBYKfXBlvPopi2es5ohaFpgDuZJgmF4FHkm16BMkfy+U6+k+S6JPDJ8hxTxbLAAj3S4AXaKwweB00QQJ2BpVEjP37uSE/g4xXcJK+MqxWbIMMUTipS4irZx4BXpjnm1PsyS8DPHabB+ZNlmrTU5wzLYNmzcVurUFImrZqw/ex/6V4hthtgy6UKPbR9g9RnfiEZ2Rv4N+eUpACaJAL0JPip49av/qQWzqCvra7Un0MBr9rK50wCAd+fIpgmaT6TW6ELtofjo6IdtaW4c1SuYtxNS0uqb01lKCn77XK8r/DfBvGmAUioMHl9WVQEFgVoL29km6N3x7iobJicrIh79xV6qdglGVJSaUfPb7pbDwzVRNQ9sYckNVhtOtMFIsSRmo8kJamhddm3k1yUezVL3H7J80gxeJt2WjqGaQkacVTu+wiLre1FBPTkVDHOLhRUQ6nNMVj87PvhdUul2TmE7mFx/Qepk+NBtdhCYo7inOOI75D/zhQtcx/GgU9ve8EmrtxZrs48WhhXtKWb/+70L9pwnBfZHj08YQOdHYDF5xOcOSZthdzjvzePKqQwpZa00Rpy/IH+dOEwM= +sidebar_class_name: "patch api-method" +info_path: api-reference-temp/port-api +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import SecuritySchemes from "@theme/ApiExplorer/SecuritySchemes"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import Markdown from "@theme/Markdown"; +import Heading from "@theme/Heading"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; + + + + + + + + + + +This route allows you to approve or decline a request to execute an action that requires approval.

To learn more about manual approval for actions, check out the [documentation](https://docs.getport.io/create-self-service-experiences/set-self-service-actions-rbac/#configure-manual-approval-for-actions). + + + + +
+ +

+ Path Parameters +

+
+
    + ","required":true}} + > + + +
+
+
+ +
+ +

+ Body +

+ required + +
+ +
    + + + "}} + > + + +
+
+
+
+
+ + +
+ + + Default Response + + +
+ +
+
+
+
+
+ \ No newline at end of file diff --git a/docs/api-reference/change-a-blueprint.api.mdx b/docs/api-reference/change-a-blueprint.api.mdx new file mode 100644 index 000000000..7a617e912 --- /dev/null +++ b/docs/api-reference/change-a-blueprint.api.mdx @@ -0,0 +1,1612 @@ +--- +id: change-a-blueprint +title: "Change a blueprint" +description: "This route allows you to change a specific blueprint in your Port account.

To learn more about blueprints, check out the [documentation](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/)." +sidebar_label: "Change a blueprint" +hide_title: true +hide_table_of_contents: true +api: eJztWguPGzUQ/ivWCok7yOMKCImItvSFqIpouR6qxCXlnN1JYm53vdjeS9M0/50Zex9Osrt3OUQ5BBTlNl573vPN2M46iECHSmRGyDQYBWcLoZmSuQHG41guNVvJnBnJwgVP5zjIdAahmImQTeMcMiVSw0RKsxR7JZVhPAxlnprBt1M1fGA/ziSLgauUJVIhhSlSrxfrHpKG8JLRqFkAO49kmCeQGk4iTY4WxmR6NBzisB7MwWTIZCDkcJqLOOoT376WM7PkCvohNzyW82GYayMT8R76yAHmypLSw1CmMzHPcWKEE/uJjCAeajB51q/kGR4Pgl5g+FwHo/PgcSVmMOkFCv7IQZvHMloFo3WA5AzKSY88y2IRWjbD3zVZch1o1Cvh9GRWGaBt5fR3CA1Sz5TMQBkBmt6KCImgRUF5c7VBrnOcu+seYCksWb2GyZk1W6WAMzxx4caAolVvzx/1f+X99yf9b777bTAa43/D+/3J55/grIS/+xHSuVkEoy9PNqi5MDHcXBA7vV2GXepbRG7Kwxu9EacvToiVCA/hQbPbiJNVgCfP0wUoYXgaQpNTt+k+slQVxDYmKIF4KpG48tJmpmTClgsRLui9cOStBMRuwJ7wlE0xYdKVtwjlTJEhRLTGULbKFNiV4HZemidTFxMlaz1gFxgJiwuGU4k2fXFrgSwrFJKqyROhammPzaRi8I4nWQwjdjEOylfPq/gb7A89T09pDKIqe8bBRRWVW7FPwuw7aYMW51EkiCyPX3krZjzW4BKRBKcUtSQmuKI935pd7ubvOb3HNADarOJ6gZaN2EXJ8wJ9gsBoTWMBTaT4mFgbDFq03Pp2M+nqNR0Z7uasfuJJZc6mlL9PGW/zvdWw14FUCyxcl9KteUg5ZQfWAWDQkiOrDHVBjA9TKbFwpPhUScWV4ivrbmd0nwCCOvSNSADn5SrGT/SvoL8iu/rK/fnaQoW6jOSS6K54Qu9zbflR2tEfJKGcBYx0oYU1z+eElkn7PBOWxRSiCKK+48j1Kg3tqwlFsR+oVt+d0cosTq+2YCgXdEVFj75qYAnWPoINnHqFZSJChIGUhQowQtM5xjKjPDWIKVzjWwInQpE6upjtAfB/nGrFKlk1SPGpV4l0FZfCQKKb0vqgvK5fkwtCHoe5Q5ruuG224Lm33pP/47cXNe+hJ1K/TOXhcXu6RzDjeUwhv/m3576n+r8LG/4qJqDqMpYKY8fP/lKZ8nWDUzb7adXmrrtqu11c3ewipB8VPQ8vE6GUVLdKe7f0rmS8k+ZGyf4R87u5CdvaQBw9HO0wRZbj8eD484dH4/Hyw3j8yYfvPvSPP3t4/haHC3HagOMW7R0tmc8VzG9fAbz1dyUePJH+axVgF6UKcJp4SpZjNJsr9Mx1peR1AcnXB4TfDZQHGtzfYDYEy2rAvm/o+e3uoNgjabd5uAvHGNdGWRVUuH98OUMXrL2n7nCY5elW6eNXoPgcbPlIgGsU7Qyx/vGq0WHFbOK0jzklyQUahDxnm+IlwCXVF5kiFmAwSDTPblPYxKwmZ1te10ru1Byryy4lX0jkc6g97AHY3yrgZGPFOtRhbdx1TvU5Eak7SKFPiAR2CBMPZ67Lvm4FKyqTg+C/0L5avW+Ig73zj0XrnTbkdsjb+Ar+yEGtrq8OoUymIuVGqi0zpxGBi7KqqzzeqjPldrdqaXm6aonkovYEP7mjLaIUNO4UiR49WEF6wRVHLKR60mGipuAp+T3FrvfjcXtt3VzyO3ST3CxMF79nSWZWTep5ZOpIu7Vap+UB6KGK7WmDu5aytnVrVhC+qXKv3anhdSoGoVCULepo6M4N9bCE7J8pS47tfmZnO1PnRZkB3WxqJZqZHNY5O1pV77TfKRWlpjjsPaCTrtb8/W2NZQV1X6PvyJ6pvSPuaFUbzv3qrXjV9pYRlyAm3mxmdxN+UMyUsVINFnLYWHF3gOjCp6ANRXbBcD9MonrCnrs+1awi1NCEtuX1G5gupLxsbudLemwp4phOPzUmTnnLUTT4dBTqaFRcfdXdyYY7dLg13r3gs0t+CxHtOvySiXD7hqflXjVoOlrulrqjXTAqb8GO4k5lF9toATU0XGGmYYZp67m9CxhvG0hmsFv5XpDiGvzmXXs22avjhtNeSS+5s56za4NVrIxoEw1hrgR1XSjiFBCIsE05n2zsfa7OEHlcRn9xcrIfy09dqrHTYqbNJlR5ISNSKDfumGRBkH11b+jB1LpWYEOGBHVV2okibRSUyMkz4QFn4Itsa5OTrhS87qAy8QJWtTkf5SiUEu/L0zNr8QXwiDbQKDTdSp/W99fP3IZ19/65bjfLiG65N62G3QbfW7d/U1oYqI6GOlC2QHWnfBbzuw7/m88GO86KdgpeB6YVZn7z7PEPL1++oNZlbu/6Xa44F3oISwcCXl0IbMo+evWc+hf0uzPavcEJqZ9JbRBUaXrhvCfljyvqHmcP1atfG/z/G43iNxrOQwbemWEWc2GPz61jypA7D67u+Y2jxi8jL9wx1RboC5q4XtN12C8q3mxouNj5nE+o/VSCT8mpmLqR0PQcVcWz1UlHp0UoH7O/AGeNOpYIkK6q7ngU4OMl4sEWrtpNXIEBJL2b8MTJ2D8jMjWBvZ+wEBJVUPfqlzN7ceB++UJewUHFlwS5+DkKxvjP7kKqZtKOr4MYFcppvz0KHFlbh/KtI2cEs0sLZsWD1wdsa7mLck4j+vSq8vaSbzELGULlg2q6e9O6oDBYZU+yBAr9J74YECU= +sidebar_class_name: "put api-method" +info_path: api-reference-temp/port-api +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import SecuritySchemes from "@theme/ApiExplorer/SecuritySchemes"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import Markdown from "@theme/Markdown"; +import Heading from "@theme/Heading"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; + + + + + + + + + + +This route allows you to change a specific blueprint in your Port account.

To learn more about blueprints, check out the [documentation](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/). + + + + +
+ +

+ Path Parameters +

+
+
    + ","required":true}} + > + + +
+
+
+ +
+ +

+ Body +

+ required + +
+ +
    + ","pattern":"^[A-Za-z0-9@_.:\\\\/=-]+$","maxLength":30}} + > + + ","maxLength":30}} + > + + ","maxLength":200}} + > + + "}} + > + + +
    + + + + teamInheritance + + object + + +
    +
    + + + A new relation to another blueprint from which to inherit the team. Can be any blueprint connected to this one via any number of relations. `path` is the path to the desired blueprint via relations, for example: `"relationIdentifier.relationIdentifierInRelatedBlueprint"`
    + + +
    + + +
    +
    +
    +
    + + + + schema + + object + + + + required + + +
    +
    + + + The new schema of the blueprint, see `properties` and `required` below for more information.
    + + +
    +
    + + + + properties + + object + + + + required + + +
    +
    + + + The new properties of the blueprint.
    + + +
    +
    + + + + property name* + + object + + +
    + + + + + + + + + + + + + +
    +
    +
    +
    +
    +
    ","items":{"type":"string"}}} + > + + +
    +
    +
    +
    + + + + calculationProperties + + object + + +
    +
    + + + The new [calculation properties](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/calculation-property/) of the blueprint.
    + + +
    +
    + + + + property name* + + object + + +
    + + + + + + + + + + + + + + + + + + + +
    + + + + items + + object + + +
    + + + + + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + + + + mirrorProperties + + object + + +
    +
    + + + The new [mirror properties](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/mirror-property/) of the blueprint.
    + + +
    +
    + + + + property name* + + object + + +
    + + + + + +
    +
    +
    +
    +
    +
    +
    + + + + aggregationProperties + + object + + +
    +
    + + + The new [aggregation properties](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/aggregation-property/) of the blueprint.
    + + +
    +
    + + + + property name* + + object + + +
    + + + + + + + + + + + +
    + + + calculationSpec + + object + + required + +
    +
    + + + The calculation specification of the aggregation property. For more information and examples, see the [documentation](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/aggregation-property/).
    + + +
    +
    +
    +
    +
    + + + + query + + object + + +
    + + + +
    + + + + rules + + object[] + + + + required + + +
    +
  • +
    + Array [ +
    +
  • + + anyOf + + + + + `, `>=`, `<`, `<=`]"} + schema={{"enum":[">",">=","<","<="]}} + > + + + + + + + + + + +
    + + + value + + object + + required + +
    + +
    + + oneOf + + + + + + + + + + + + + +
    +
    +
    +
    + + + + + +
    + + + value + + object + + required + +
    + +
    + + anyOf + + +
    + + + string + + +
    +
    +
    + + + number + + +
    +
    +
    + + + boolean + + +
    +
    +
  • +
    + Array [ +
    +
  • + + + string + + +
  • +
    + ] +
    +
  • +
    +
    + + + string + + +
    +
    +
    +
    +
    +
    +
    + + + + + + + + + + + + + + + + + + + +
    + + + + propertySchema + + object + + + + required + + +
    + + + + + +
    +
    +
    + + +
    + + + value + + object + +
    + +
    + + anyOf + + +
    + + + string + + +
    +
    +
    + + + number + + +
    +
    +
    + + + boolean + + +
    +
    +
    +
    +
    +
    +
    +
    +
  • +
    + ] +
    +
  • +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + + + + relations + + object + + +
    +
    + + + The new [relations](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-data-model/relate-blueprints/) of the blueprint.
    + + +
    +
    + + + + property name* + + object + + +
    + + + + + + + + + + + +
    +
    +
    +
    +
    +
    +
    + + + changelogDestination + + object + +
    +
    + + + The destination of the blueprint's changelog.
    + + +
    +
    + + oneOf + + + + + "}} + > + + ","format":"uri"}} + > + + + + + + + + +
    +
    +
    +
+
+
+
+
+ + +
+ + + Default Response + + +
+ +
+
+
+
+
+ \ No newline at end of file diff --git a/docs/api-reference/change-a-blueprints-scorecard.api.mdx b/docs/api-reference/change-a-blueprints-scorecard.api.mdx new file mode 100644 index 000000000..69f0a845a --- /dev/null +++ b/docs/api-reference/change-a-blueprints-scorecard.api.mdx @@ -0,0 +1,1001 @@ +--- +id: change-a-blueprints-scorecard +title: "Change a blueprint's scorecard" +description: "This route allows you to modify a specific scorecard. A scorecard is a set of rules that define the quality of a blueprint.

To learn more about scorecards, check out the [documentation](https://docs.getport.io/promote-scorecards/)." +sidebar_label: "Change a blueprint's scorecard" +hide_title: true +hide_table_of_contents: true +api: eJztWFtv2zYU/isEN2ANZlvJ3mo0xdyuGIo9LEjSl7luQUvHMRtKVEnKrmLov+8c6u5LY2cd9tAlgEFR5375zrE3PAIbGpk6qRM+5rdLaZnRmQMmlNJry3KdMadZrCO5yJlgNoVQLmTIbKgNhMJEIzZpHxjyIxE4phfMZAosc0vhWAQLmQCegX3OhJIuJwLB5iqD1MjEjV7MTfDSf9xqpkCYBJUatGOO5rQK7ICFSwjvGd2SuGmkwyyGxAnyYfZs6Vxqx0GA13Z0By7Vxo2kDlKjY+1g2EoKzkZ8wJ24s3w85TfNPZ8NuIHPGVj3Skc5H294qBOHKugo0lTJ0CsLPlmK2oZbNCkWdHJ5ChhHPf8EoUPpqDUF4yRYeisjFILRA9OhtQ79v0Pa7VQAS2DNWh6KGHncRt6Hi7QI58AQ14fpZPiXGD6cD5//+nE0fo9/weVw9vOPvEBXpVNwvGZPfkgpiltI5XqeNF735U0Spv1ZqLoyphjQSNKdPSljP7R8Z1SWpQmMIkQxLmttLZVic2CwEioTDiI2zw8FrpeeUMdzmQin96YHkiymQhFJhE9IM8MYtPZ0WIQxIkeaWCZvHcT46mLAZXnCAkryPxcoaDdsVHTSQERaKstIDB28UQNOHgEp3mWuksuvQfniZOhNKoykEu2LNhXFyaKvKpsYxCl+Nr4fYfpxJn9d7j67Z8WsKIo+XSeNvQRRvjwkURZ2S37q351WjsQyBAWEP1SRW1C3W3BbFdIUxbfFjV3MIEMfg4tLQosnYEUPJzqKii3ix2RNWOeZLbTZI1DBCtRxZk097Wn5bM5Dp51QQy9iGAoVZmXtne0NaA0Nv2tF2HAj1Qqo+F4ZnTz4puI4Tkz+eKb/awjaafWDKPI/QP0LALVF2On72pi6BeqKKqWLqJQh1FWnnBZCWThCYgmK23Y6k0FBYGFEDIgX1hfMzqpTFSdSSuo8xJYlikyQh17W/fSxp/gYxGpXSlpB1yJxNPDDpUju2sbbtvZU+5r183T7Gla2Xmr7NHtx0bQQZgbXYR/cOa69hPHTWeF3UJtiWZTA8Mv5+e7Y+g0WIlOOXVeUnDKIyVrqiFzNXAn2S3wIVhdBY7INNvs8L4IOFm725a7gZLFZ1dWQGQRjXiOsSGUHYHnXvRtKS+lJ7WSLVan8A/I2KZMMHTDyoe4ln7cliAi5yEHauq/b/fzNFxGn5azqzskWNesubi7axbULtxWqduEUPWywosPfNPeYXzbA1Km0TYsEJ3El2pWFMXhMrbRvCIm2uR5R23B1NqHp0VHrl15zXU3kevY1c+67Da2PrkwW2pd4PZmwJ9jk6i1Zh81TCroYnRMupdq6WPgFqeqA1x41ul+Pf7ItwGznovP19Lv8Al+iiIMvLkiVQLTAmHpg2lTgN+WrCyRs4Q8fxgegv5VORHvnF8IaIr4juZvNXFh4Z1RR0HVV/NMZ1aCRYk65x0qPpKVz1Izkg/l7dl1NiDP2D8bi3pDUaJvknRbB4z3khyY19cA3tP1JI/MJvuxNrW/LaopQTkrS16X1w1sS2Ira+ZGHZlkzWK/e3VI5Vb8NYWcRixFrGvD4Oebv8d/jQ7OW+/sNV+haJu6IvhTrl7eMirQ7Du/9OKwOnTW97+/2nCw9os/OLttneYEQxHDYvmzIyzcHGaqA1dQUfdoT/wZuLwn3 +sidebar_class_name: "put api-method" +info_path: api-reference-temp/port-api +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import SecuritySchemes from "@theme/ApiExplorer/SecuritySchemes"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import Markdown from "@theme/Markdown"; +import Heading from "@theme/Heading"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; + + + + + + + + + + +This route allows you to modify a specific scorecard. A scorecard is a set of rules that define the quality of a blueprint.

To learn more about scorecards, check out the [documentation](https://docs.getport.io/promote-scorecards/). + + + + +
+ +

+ Path Parameters +

+
+
    + ","required":true}} + > + + ","required":true}} + > + + +
+
+
+ +
+ +

+ Body +

+ required + +
+ +
    + ","pattern":"^[A-Za-z0-9@_.:\\\\/=-]+$"}} + > + + "}} + > + + +
    + + + + filter + + object + + +
    +
    + + + An optional set of [conditions](https://docs.getport.io/promote-scorecards/#conditions) to filter entities that will be evaluated by the scorecard.
    + + +
    + + +
    + + + + conditions + + object[] + + + + required + + +
    +
    + + + **Possible values:** `>= 1` + + +
  • +
    + Array [ +
    +
  • + + anyOf + + + + + `, `<`, `>=`, `<=`, `contains`, `doesNotContains`, `beginsWith`, `doesNotBeginsWith`, `endsWith`, `doesNotEndsWith`]"} + schema={{"type":"string","enum":["=","!=",">","<",">=","<=","contains","doesNotContains","beginsWith","doesNotBeginsWith","endsWith","doesNotEndsWith"]}} + > + + +
    + + + value + + object + + required + +
    + +
    + + oneOf + + +
    + + + string + + +
    +
    +
    + + + number + + +
    +
    +
    + + + boolean + + +
    +
    +
    +
    +
    +
    +
    + + + + + +
    + + + value + + object + + required + +
    + +
    + + oneOf + + +
    + + + string + + +
    +
    +
    + + + number + + +
    +
    +
    + + + boolean + + +
    +
    +
    +
    +
    +
    +
    + + + + + + + + + + + + + + + + +
    +
  • +
    + ] +
    +
  • +
    +
    +
    +
    +
    +
    +
    + + + + rules + + object[] + + + + required + + +
    +
    + + + The [rules](https://docs.getport.io/promote-scorecards/#rule-elements) that define the scorecard.
    + + +
  • +
    + Array [ +
    +
  • ","pattern":"^[A-Za-z0-9@_=\\\\-]+$"}} + > + + "}} + > + + "}} + > + + ","enum":["Gold","Silver","Bronze"]}} + > + + +
    + + + + query + + object + + + + required + + +
    + + + +
    + + + + conditions + + object[] + + + + required + + +
    +
    + + + **Possible values:** `>= 1` + + +
  • +
    + Array [ +
    +
  • + + anyOf + + + + + `, `<`, `>=`, `<=`, `contains`, `doesNotContains`, `beginsWith`, `doesNotBeginsWith`, `endsWith`, `doesNotEndsWith`]"} + schema={{"type":"string","enum":["=","!=",">","<",">=","<=","contains","doesNotContains","beginsWith","doesNotBeginsWith","endsWith","doesNotEndsWith"]}} + > + + +
    + + + value + + object + + required + +
    + +
    + + oneOf + + +
    + + + string + + +
    +
    +
    + + + number + + +
    +
    +
    + + + boolean + + +
    +
    +
    +
    +
    +
    +
    + + + + + +
    + + + value + + object + + required + +
    + +
    + + oneOf + + +
    + + + string + + +
    +
    +
    + + + number + + +
    +
    +
    + + + boolean + + +
    +
    +
    +
    +
    +
    +
    + + + + + + + + + + + + + + + + +
    +
  • +
    + ] +
    +
  • +
    +
    +
    +
    +
    +
  • +
    + ] +
    +
  • +
    +
    +
    +
+
+
+
+
+ + +
+ + + Default Response + + +
+ +
+
+
+
+
+ \ No newline at end of file diff --git a/docs/api-reference/change-a-blueprints-scorecards.api.mdx b/docs/api-reference/change-a-blueprints-scorecards.api.mdx new file mode 100644 index 000000000..808ef837e --- /dev/null +++ b/docs/api-reference/change-a-blueprints-scorecards.api.mdx @@ -0,0 +1,1017 @@ +--- +id: change-a-blueprints-scorecards +title: "Change a blueprint's scorecards" +description: "This route allows you to modify one or more scorecards of a given blueprint. A scorecard is a set of rules that define the quality of a blueprint.

To learn more about scorecards, check out the [documentation](https://docs.getport.io/promote-scorecards/)." +sidebar_label: "Change a blueprint's scorecards" +hide_title: true +hide_table_of_contents: true +api: eJztWG1v2zYQ/isEN2ANFlvJvs1oirldMRT7sCBJv8z1Clo6W2woUSUpu4qh/7476t0vtQP0W5sAikTdHe8e3j13ypZHYEMjMyd1yif8IZaWGZ07YEIpvbGs0DlzmiU6ksuC6RSYNvhkgNkQr6EwkWV6yQRbyTWkbKFyyIxM3ZhNOxGGZgWz4EjU5Aosc7FwLIKlRJMuBvY5F0q6orLVWXm5MMErf3nQTIEwabW7WKCXPR8uWRhD+MholczNIh3mCaROUGjzF7FzmZ0EAS7b8Qpcpo0bSx1kRifawaizFFyM+SV3YmX5ZMbv23U+v+QGPudg3WsdFXyy5aFOHW5BtyLLlAz9ZsEnS2BuuUWXEkF3rsgA4RXGiAKND0Gfpsy/oNDJ9R6wiHyeRcJBhQOqSgeJ7ZnUi08QOnyBgWRgnAT/Vkbol1xKMD1Z6xDS1d7+D7hnJ7/nRbt1JpwDQxr/zaajf8Xo6Wr0+x8fx5MP+BPcjOa//sxLRE46Beft6kWPbYimllK5QQRttHsIan8vVJNkMzybSNKafdbh/9TpXRD8lQuM0CFsq7TdSKXYAhishcrxdCK2KI6BNjiWUCcLmQqnDx4LpHlCOSfSCJ9QZo4YdP4cSKREpu+qhLjupYZIi3+WaGgftvps+G3lVcHQoUwYSQlbZbc0EJEPtd+0Cd14ly85xQvk1nHTd6B8FRw3bWqJZ5tuvYYk877XyJzh+nkuf93uIb/n5bwsy6Fc75AHx0en6bnvJCNQbcy86PNyl1RGoIB4j9J3h2L3s/ObsMkRXrghWjhBCuVO5AfeK1iD+lq1/KUVlcu9VGsgxF8bnT75TOJI1qY4Hd6Pqvyuq3JHsJfsjTNNFjYZ5XVkdCBfcV1ElWmhbntZthTKwhkbVQRB7pMtPCqRAFaX9YmzN1B0ZSKp/rASY7SRog4+tUPUx8FO5zT/VpVtYm17zOHnwY3AF9gbw1ikq2406WJzJocSxyULYW5wqPPOL3B4IwKZzUs/SdkM4a8K8LerK/oz9OxPWIpcOXZXS3pwEYxYRxRq7irqifEhWF8Hrcs22B6KvAw6puTkmlk3sOYGCYY3RCsy2eNZ3o/jnvCvXG6i6Yo/k39D0aE/zdFTI5+a5PQHFIOIUIsioSHxrhsn334RSUZ5PxvSbcdDTV20C9101Cewmqf6BIUm2+rr6bflMuE3ban3cmrb1daztFLtqhS4PLWttG+ptne1TmzbavUa6vmoDZOsXa7bTNNN2s7x3UJLeU8U125Pz+lS+5RvqB9rhE1v35GzWEyV3evxFRFSpq1LhO/pdUW88XTR/7r7xbJBUe7MAu3n1Y/v0u67tGIbB19ckCmBrIJYewLb1mw44+trFOz4EB8mR3qBHXzdItU70t9uF8LCe6PKkpbrWpjNKSWNFIuapiJp6T5qm9vR43txV7eGC/YN+81BKBo2ToteBeHtIxTHWqLnkZqZKa5K9E3l/eiBDHam9r7zqS7arnT7/oGgr/89gMlJKkZsqDvidcI/4K8vuXZ29OtbrjC0XKxIvjLrR4mcDrTfYh59i6lverPkMN7d3lNFRNfewDVUeYllzLCBvWrFqzdHFWrAGmlCn6aW/wHCjV3u +sidebar_class_name: "put api-method" +info_path: api-reference-temp/port-api +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import SecuritySchemes from "@theme/ApiExplorer/SecuritySchemes"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import Markdown from "@theme/Markdown"; +import Heading from "@theme/Heading"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; + + + + + + + + + + +This route allows you to modify one or more scorecards of a given blueprint. A scorecard is a set of rules that define the quality of a blueprint.

To learn more about scorecards, check out the [documentation](https://docs.getport.io/promote-scorecards/). + + + + +
+ +

+ Path Parameters +

+
+
    + ","required":true}} + > + + +
+
+
+ +
+ +

+ Body +

+ array + +
+ +
    +
  • +
    + Array [ +
    +
  • ","pattern":"^[A-Za-z0-9@_.:\\\\/=-]+$"}} + > + + "}} + > + + +
    + + + + filter + + object + + +
    +
    + + + An optional set of [conditions](https://docs.getport.io/promote-scorecards/#conditions) to filter entities that will be evaluated by the scorecard.
    + + +
    + + +
    + + + + conditions + + object[] + + + + required + + +
    +
    + + + **Possible values:** `>= 1` + + +
  • +
    + Array [ +
    +
  • + + anyOf + + + + + `, `<`, `>=`, `<=`, `contains`, `doesNotContains`, `beginsWith`, `doesNotBeginsWith`, `endsWith`, `doesNotEndsWith`]"} + schema={{"type":"string","enum":["=","!=",">","<",">=","<=","contains","doesNotContains","beginsWith","doesNotBeginsWith","endsWith","doesNotEndsWith"]}} + > + + +
    + + + value + + object + + required + +
    + +
    + + oneOf + + +
    + + + string + + +
    +
    +
    + + + number + + +
    +
    +
    + + + boolean + + +
    +
    +
    +
    +
    +
    +
    + + + + + +
    + + + value + + object + + required + +
    + +
    + + oneOf + + +
    + + + string + + +
    +
    +
    + + + number + + +
    +
    +
    + + + boolean + + +
    +
    +
    +
    +
    +
    +
    + + + + + + + + + + + + + + + + +
    +
  • +
    + ] +
    +
  • +
    +
    +
    +
    +
    +
    +
    + + + + rules + + object[] + + + + required + + +
    +
    + + + The [rules](https://docs.getport.io/promote-scorecards/#rule-elements) that define the scorecard.
    + + +
  • +
    + Array [ +
    +
  • + + + + + + + + +
    + + + + query + + object + + + + required + + +
    + + + +
    + + + + conditions + + object[] + + + + required + + +
    +
    + + + **Possible values:** `>= 1` + + +
  • +
    + Array [ +
    +
  • + + anyOf + + + + + `, `<`, `>=`, `<=`, `contains`, `doesNotContains`, `beginsWith`, `doesNotBeginsWith`, `endsWith`, `doesNotEndsWith`]"} + schema={{"type":"string","enum":["=","!=",">","<",">=","<=","contains","doesNotContains","beginsWith","doesNotBeginsWith","endsWith","doesNotEndsWith"]}} + > + + +
    + + + value + + object + + required + +
    + +
    + + oneOf + + +
    + + + string + + +
    +
    +
    + + + number + + +
    +
    +
    + + + boolean + + +
    +
    +
    +
    +
    +
    +
    + + + + + +
    + + + value + + object + + required + +
    + +
    + + oneOf + + +
    + + + string + + +
    +
    +
    + + + number + + +
    +
    +
    + + + boolean + + +
    +
    +
    +
    +
    +
    +
    + + + + + + + + + + + + + + + + +
    +
  • +
    + ] +
    +
  • +
    +
    +
    +
    +
    +
  • +
    + ] +
    +
  • +
    +
    +
    + +
  • +
    + ] +
    +
  • +
+
+
+
+
+ + +
+ + + Default Response + + +
+ +
+
+
+
+
+ \ No newline at end of file diff --git a/docs/api-reference/change-a-team.api.mdx b/docs/api-reference/change-a-team.api.mdx new file mode 100644 index 000000000..27e86fe68 --- /dev/null +++ b/docs/api-reference/change-a-team.api.mdx @@ -0,0 +1,165 @@ +--- +id: change-a-team +title: "Change a team" +description: "This route allows you to change a team's details. This can be used to update the team's name, users, and description.

To learn more about teams, check out the [documentation](https://docs.getport.io/sso-rbac/rbac-overview/)." +sidebar_label: "Change a team" +hide_title: true +hide_table_of_contents: true +api: eJzlVcFu2zAM/RVBl7WAG7c7BsWArtth2GFFl56yHGibidXalibJSbPA/z5SshM3TYftPASwZYqkHh/5lJ0s0OVWGa90I6dyVionrG49CqgqvXFiq1vhtchLaFZkFB6hfudEgR5U5SYiROTQiAxF67Bg59YUQBl8iYN7AzUmvG9dIqApxOjYyXVm0w/hMdOiQrCNqLWlwzICEjJQUF5i/iSCgdLOC523NTYeOMPirPTeuGmaktlNVuiNtn6idOqcvrAZ5Ck/LvQa7VrhJj2fyER6WDk5ncsZHyAXibT4s0XnP+piK6c7mevG0wm8BGMqlYez0kfHTO2kI0Q18MpvDRJ3OnvE3FNiY7VB6xU63uXSR17OW9WsyOuYeBQNbgJRQi/33EVyZJfIQN4oEVgL21d5vjUUbiN/eFFTjwQUhUXn0HHekIV7RFZ++f7ccFZs5kZVlWCqrCpiE/FZOU+oQ7So6KOHlUjlsXavy+u6I2B/W//IeoqGLnZJWSy4dYHbRffS7G2LZDBgadcH0uYn2jUgpRoYgAFfEqrYrfg6ifGoP0EfG2j8QSR7bo4g0YQ5zFur/DYgymjS0XIZUS9THwexC6PojG5cnKD3l5f8egnmEy6hrby47z0DN1RvqQuupg2DyDVNZbq+SkPudMfwO8lA7HpgprUVOQ0KAqNGApJj1N+ZwghpwH6YRqO+4vZA4E1LSKz6FTQje45LhIKiGCmr6P6gt8/PUJsKD3o5zEk/9/PBsjhuy7iRSx0wKc+55B0VIW7uvlAWrja6X00u2ddo52toRifejq+44+aProP/65KM7fX47FNTAbWRryKemF0/XnO5vmLHMLyJnEZNJrIkgnl3t8vA4YOtuo7N1HLL80/LNVgFGXeKprBQjtc0vEuoHP6B/rP7Xlfn4l8VebKaYYIbHt81VC1/0fKJ5rm/CboF+fXTy2Dj1m2EdDHjBIfQV38WrKG9Mu8eZuSb9f8xtS44xMKG7wt6TuUP+tGHDpUHsQX7TlZUSgsr9o9pWUfQcg/GMnwKMuwXDPZkfcf6jBXxs0veCLkmJQkS+Ye9e9x5M6AnbPBmtvmu/g1xe+Uh +sidebar_class_name: "put api-method" +info_path: api-reference-temp/port-api +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import SecuritySchemes from "@theme/ApiExplorer/SecuritySchemes"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import Markdown from "@theme/Markdown"; +import Heading from "@theme/Heading"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; + + + + + + + + + + +This route allows you to change a team's details. This can be used to update the team's name, users, and description.

To learn more about teams, check out the [documentation](https://docs.getport.io/sso-rbac/rbac-overview/). + + + + +
+ +

+ Path Parameters +

+
+
    + ","required":true}} + > + + +
+
+
+ +
+ +

+ Body +

+ required + +
+ +
    + "}} + > + + ","items":{"type":"string"}}} + > + + "}} + > + + +
+
+
+
+
+ + +
+ + + Default Response + + +
+ +
+
+
+
+
+ \ No newline at end of file diff --git a/docs/api-reference/change-a-webhook.api.mdx b/docs/api-reference/change-a-webhook.api.mdx new file mode 100644 index 000000000..e7ff0e010 --- /dev/null +++ b/docs/api-reference/change-a-webhook.api.mdx @@ -0,0 +1,452 @@ +--- +id: change-a-webhook +title: "Change a webhook" +description: "This route allows you to modify a webhook in your Port organization. You can also modify it via the [data sources page](https://app.getport.io/settings/data-sources) of your Port account.

To learn more about webhooks, check out the [documentation](https://docs.getport.io/build-your-software-catalog/custom-integration/webhook/)." +sidebar_label: "Change a webhook" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "put api-method" +info_path: api-reference-temp/port-api +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import SecuritySchemes from "@theme/ApiExplorer/SecuritySchemes"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import Markdown from "@theme/Markdown"; +import Heading from "@theme/Heading"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; + + + + + + + + + + +This route allows you to modify a webhook in your Port organization. You can also modify it via the [data sources page](https://app.getport.io/settings/data-sources) of your Port account.

To learn more about webhooks, check out the [documentation](https://docs.getport.io/build-your-software-catalog/custom-integration/webhook/). + + + + +
+ +

+ Path Parameters +

+
+
    + ","required":true}} + > + + +
+
+
+ +
+ +

+ Body +

+ required + +
+ +
    + ","maxLength":30}} + > + + ","maxLength":30}} + > + + ","maxLength":200}} + > + + "}} + > + + +
    + + + + mappings + + object[] + + +
    +
    + + + The mapping definitions used to map the data from the webhook into Port entities. For more information and examples, check out the [documentation](https://docs.getport.io/build-your-software-catalog/custom-integration/webhook/).
    + + +
  • +
    + Array [ +
    +
  • "}} + > + + "}} + > + + "}} + > + + +
    + + + + entity + + object + + + + required + + +
    +
    + + + An object defining how to map the data from the webhook payload into Port entities.
    + + +
    "}} + > + + "}} + > + + "}} + > + + "}} + > + + ","propertyNames":{"type":"string"}}} + > + + ","propertyNames":{"type":"string"}}} + > + + +
    +
    +
  • +
    + ] +
    +
  • +
    +
    +
    ","default":true}} + > + + +
    + + + + security + + object + + +
    +
    + + + The security configuration of the webhook, used to tell Port how to verify the hashed signature sent with incoming requests.
    For more information and examples, check out the [documentation](https://docs.getport.io/build-your-software-catalog/custom-integration/webhook/#security-configuration).
    + + +
    + + + + + + + + + + +
    +
    +
    + + +
+
+
+
+
+ + +
+ + + Default Response + + +
+ +
+
+
+
+
+ \ No newline at end of file diff --git a/docs/api-reference/change-an-entity.api.mdx b/docs/api-reference/change-an-entity.api.mdx new file mode 100644 index 000000000..ee078973f --- /dev/null +++ b/docs/api-reference/change-an-entity.api.mdx @@ -0,0 +1,397 @@ +--- +id: change-an-entity +title: "Change an entity" +description: "This route allows you to edit a specific entity in your software catalog and update its properties.

To learn more about entities, check out the [documentation](https://docs.getport.io/build-your-software-catalog/sync-data-to-catalog/#entities)." +sidebar_label: "Change an entity" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "put api-method" +info_path: api-reference-temp/port-api +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import SecuritySchemes from "@theme/ApiExplorer/SecuritySchemes"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import Markdown from "@theme/Markdown"; +import Heading from "@theme/Heading"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; + + + + + + + + + + +This route allows you to edit a specific entity in your software catalog and update its properties.

To learn more about entities, check out the [documentation](https://docs.getport.io/build-your-software-catalog/sync-data-to-catalog/#entities). + + + + +
+ +

+ Path Parameters +

+
+
    + "}} + > + + "}} + > + + +
+
+
+ +

+ Query Parameters +

+
+
    + This is useful when you want to create an entity and its related entities in one call, or if you want to create an entity whose related entity does not exist yet.
    "}} + > + +
    "}} + > + + +
+
+
+ +
+ +

+ Body +

+
+ +
    + "}} + > + + "}} + > + + "}} + > + + "}} + > + + "}} + > + + + + +
+
+
+
+
+ + +
+ + + Successfully changed the entity + + +
+ +
+
+
+ + + One of the following errors occurred: + + + + + + + + + + + +
ErrorDescription
`run_exhausted`Action run has already finished execution
+ + + +
+ +
+
+
+ + + One of the following errors occurred: + + + + + + + + + + + + + + +
ErrorDescription
`required_relation`Relation cannot be deleted because it is a `required relation`
`missing_permissions`You do not have permissions to perform the requested operation. For further details, please contact your admin
+ + + +
+ +
+
+
+ + + One of the following errors occurred: + + + + + + + + + + + + + + +
ErrorDescription
`not_found`A blueprint with the provided `identifier` was not found
`not_found`An entity with the provided `identifier` was not found
+ + + +
+ +
+
+
+ + + One of the following errors occurred: + + + + + + + + + + +
ErrorDescription
`identifier_taken`The provided `identifier` already exists, identifiers must be unique
+ + + +
+ +
+
+
+ + + One of the following errors occurred: + + + + + + + + + + + + + + + + + + + + + + + + + + +
ErrorDescription
`invalid_request`The provided data does not match the route schema
`team_inheritance_enabled`The blueprint's entities inherite their team from other entities through an existing relation
`blueprint_schema_mismatch`The provided entity does not match the blueprint's schema
`required_relation`A relation is required
`relation_many_violation`A provided relation cannot contain more than one entity
+ + + +
+ +
+
+
+ + + One of the following errors occurred: + + + + + + + + + + +
ErrorDescription
`internal_error`An internal error occurred
+ + + +
+ +
+
+
+
+
+ \ No newline at end of file diff --git a/docs/api-reference/create-a-blueprint.api.mdx b/docs/api-reference/create-a-blueprint.api.mdx new file mode 100644 index 000000000..41fa6aa11 --- /dev/null +++ b/docs/api-reference/create-a-blueprint.api.mdx @@ -0,0 +1,1586 @@ +--- +id: create-a-blueprint +title: "Create a blueprint" +description: "This route allows you to create a new blueprint in your data model.

To learn more about blueprints, check out the [documentation](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/)." +sidebar_label: "Create a blueprint" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "post api-method" +info_path: api-reference-temp/port-api +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import SecuritySchemes from "@theme/ApiExplorer/SecuritySchemes"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import Markdown from "@theme/Markdown"; +import Heading from "@theme/Heading"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; + + + + + + + + + + +This route allows you to create a new blueprint in your data model.

To learn more about blueprints, check out the [documentation](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/). + + + + + + +
+ +

+ Body +

+ required + +
+ +
    + ","pattern":"^[A-Za-z0-9@_.:\\\\/=-]+$","maxLength":30}} + > + + ","maxLength":30}} + > + + ","maxLength":200}} + > + + "}} + > + + +
    + + + + teamInheritance + + object + + +
    +
    + + + A relation to another blueprint from which to inherit the team. Can be any blueprint connected to this one via any number of relations. `path` is the path to the desired blueprint via relations, for example: `"relationIdentifier.relationIdentifierInRelatedBlueprint"`
    + + +
    + + +
    +
    +
    +
    + + + + schema + + object + + + + required + + +
    +
    + + + The schema of the new blueprint, see `properties` and `required` below for more information.
    + + +
    +
    + + + + properties + + object + + + + required + + +
    +
    + + + The properties of the new blueprint.
    + + +
    +
    + + + + property name* + + object + + +
    + "}} + > + + "}} + > + + "}} + > + + ","enum":["string","number","boolean","object","array"]}} + > + + ","enum":["date-time","url","email","ipv4","ipv6","markdown","yaml","user","team","timer","proto"]}} + > + + ","enum":["open-api","embedded-url","async-api"]}} + > + + +
    +
    +
    +
    +
    +
    ","items":{"type":"string"}}} + > + + +
    +
    +
    +
    + + + + calculationProperties + + object + + +
    +
    + + + The [calculation properties](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/calculation-property/) of the new blueprint.
    + + +
    +
    + + + + property name* + + object + + +
    + + + + + + + + + + + + + + + + + + + +
    + + + + items + + object + + +
    + + + + + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + + + + mirrorProperties + + object + + +
    +
    + + + The [mirror properties](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/mirror-property/) of the new blueprint.
    + + +
    +
    + + + + property name* + + object + + +
    + + + + + +
    +
    +
    +
    +
    +
    +
    + + + + aggregationProperties + + object + + +
    +
    + + + The [aggregation properties](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/aggregation-property/) of the new blueprint.
    + + +
    +
    + + + + property name* + + object + + +
    + + + + + + + + + + + +
    + + + calculationSpec + + object + + required + +
    + +
    + + oneOf + +
    +
    +
    +
    + + + + query + + object + + +
    + + + +
    + + + + rules + + object[] + + + + required + + +
    +
  • +
    + Array [ +
    +
  • + + anyOf + + + + + `, `>=`, `<`, `<=`]"} + schema={{"enum":[">",">=","<","<="]}} + > + + + + + + + + + + +
    + + + value + + object + + required + +
    + +
    + + oneOf + + + + + + + + + + + + + +
    +
    +
    +
    + + + + + +
    + + + value + + object + + required + +
    + +
    + + anyOf + + +
    + + + string + + +
    +
    +
    + + + number + + +
    +
    +
    + + + boolean + + +
    +
    +
  • +
    + Array [ +
    +
  • + + + string + + +
  • +
    + ] +
    +
  • +
    +
    + + + string + + +
    +
    +
    +
    +
    +
    +
    + + + + + + + + + + + + + + + + + + + +
    + + + + propertySchema + + object + + + + required + + +
    + + + + + +
    +
    +
    + + +
    + + + value + + object + +
    + +
    + + anyOf + + +
    + + + string + + +
    +
    +
    + + + number + + +
    +
    +
    + + + boolean + + +
    +
    +
    +
    +
    +
    +
    +
    +
  • +
    + ] +
    +
  • +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + + + + relations + + object + + +
    +
    + + + The [relations](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-data-model/relate-blueprints/) of the new blueprint.
    + + +
    +
    + + + + property name* + + object + + +
    + + + + + + + + + + + +
    +
    +
    +
    +
    +
    +
    + + + changelogDestination + + object + +
    +
    + + + The destination of the blueprint's changelog.
    + + +
    +
    + + oneOf + + + + + "}} + > + + ","format":"uri"}} + > + + + + + + + + +
    +
    +
    +
+
+
+
+
+ + +
+ + + Default Response + + +
+ +
+
+
+
+
+ \ No newline at end of file diff --git a/docs/api-reference/create-a-migration.api.mdx b/docs/api-reference/create-a-migration.api.mdx new file mode 100644 index 000000000..9e3a11042 --- /dev/null +++ b/docs/api-reference/create-a-migration.api.mdx @@ -0,0 +1,346 @@ +--- +id: create-a-migration +title: "Create a migration" +description: "This route allows you to create a migration in your Port organization.

You can use this to migrate data from one blueprint to another, or to convert the data type of a property in a blueprint." +sidebar_label: "Create a migration" +hide_title: true +hide_table_of_contents: true +api: eJzdV0tv4zYQ/isEe2gXkKykR2OxQLbtoSiKBpv0UNgBPJZGNrOUqJBUEq3h/94ZUrJkJ9mkr0sRxDHJ4Tcz3zw42ckCXW5V45Wp5Vxeb5UT1rQeBWhtHpzoTCu8EblF4E1RqY0Flhaq5kMrLo31wtgN1OpLOJm9X9vsQ/j4g27nUIvWofCMTVARAUUBHkRpTSVMjWKtW2ysqj2LQG38Fm1CsEG5qe+RlNBevOW7BoUpyZzGmoaOOrYGRpCZTKSHjZPzhfx1sNjJm0RavGvR+Y+m6OR8JwnaY+35KzSNVnmQzG4d07GTLt9iBfyNVRJBZn2LuSf0XrFCF+SIiBw/DuonF5ynjQ1dOCUahSpIsyoVWvaFnRtJCLw8bFW+DQcj6w9Ka7FGQcpLYyssIttyn8iKPGBdz1j7VHmBpapVgKTgFCEw0IwUBwN4FV2bmEa/Jpx4sBv0x6Qf07L+p4Q8UXFwtlTao30d96IWJnwHLRxBEfCCgl4E193Nd1vvGzfPssLkbka6GsrmmTIZOVIZj6nLjcUcbOGyb8Z775ivaEKwk+1mp2kB/hCjPtMnIVIeK3dtLsE6fIPtYnV7txKUsLaLyHgPuiVIF6tEgLXQsU8BODmEsi/XqtVeNXpiH2GYOseZuEI6JtconJxHMbkWVHT4MifrVuki5aJPnSn9A1hMqWBAm02Wt86bSn3BlMKEQ8VlRFmpNi0J9tlJLAbb0sG2dLAt5ZRLoU6DUyk0Ko35+27kL8h2r9fjmElvZhkfG4vOTQuCU+/rxZCwGEU63ADHIZkkcWkm2dGNXtBKvz38/4phoZhY7VBZpzapPHa8N1QpSb6E4hGqt6Gw5ASCbNWm3nBej2jHMf16T+M6Dyf8Wnig3lZvAv4Icmw0xargpbKCiwqpeugNWS3lZ+yWcr6UYXcpV6IBZR01Y6qNcH9FEiuh3BS++9ZNIp8M4GIVUIK08i5q6h1MJBSxnYC+fM7Tnr39nl8t3T9hf5+IA8Z/wsOA/joPB2nKzGjC0Z2/zM4+EnTXKosFP/h9k7g53T99pMcX8+YlbSVohycKvG2RNhzmrQ3NaEEPHVIvpF6zuNmHGcM1xHM09/uzM/5zHKQfsQTqf+JTLxmCXKHfGlIgG+NCSwO/pVV2f55V4wzDmi2NQy4obq0mkaFhU8+c9GvJtgxmXvEk07/KvbEHKunaL9gRcg0Vry9aMsT20xxtKzZ5i1DQLTaUp6NP4xz10yNUTWxoT+agsQVMppP1c+fDgz7uHD+W4/74CEzb/Hjet9cJUOhtE4HQpcb1UZ85qbaYXvxIBsJ66DDzXlz+TJc5FDGo57Oz0LUoehWEZtrz+cOT4fm0aieD6P9rBo8J5vHRZ42mZsQEhZzd9em9kPfnnB1HQ/qWC4COdrs1OPzd6v2et8MgxEVGrINVsOZYUMklQ3JyRVBTYsojnek1G5DEHhYy/WTG5xI51N3lb1fXJLzu/zeoTMF3LDzQJn/O5ZJ+aBEnylBMYX8nNdSbFjYsH3E5a6BlD6dl9jmUWf+FrR2O6m5i5Wn9RZf4c5+8cOU9JaOgIv5wEI8nL17oGRukOTLUMPd/AhWM9R0= +sidebar_class_name: "post api-method" +info_path: api-reference-temp/port-api +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import SecuritySchemes from "@theme/ApiExplorer/SecuritySchemes"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import Markdown from "@theme/Markdown"; +import Heading from "@theme/Heading"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; + + + + + + + + + + +This route allows you to create a migration in your Port organization.

You can use this to migrate data from one blueprint to another, or to convert the data type of a property in a blueprint. + + + + + + +
+ +

+ Body +

+ required + +
+ +
    + "}} + > + + +
    + + + + mapping + + object + + + + required + + +
    +
    + + + The definition used to map the data from the source blueprint into the target blueprint. + + +
    "}} + > + + "}} + > + + "}} + > + + +
    + + + + entity + + object + + + + required + + +
    + "}} + > + + "}} + > + + "}} + > + + "}} + > + + +
    + + + + properties + + object + + +
    +
    + + + An object containing the properties of the entity and their values, in `"key":"value"` pairs where the `key` is the property's identifier, and the `value` is its value.
    + + +
    +
    +
    +
    +
    + + + + relations + + object + + +
    +
    + + + An object containing the relations of the entity and their values, in `"key":"value"` pairs where the `key` is the relation's identifier, and the `value` is the related entity's identifier.
    + + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
+
+
+
+
+ + +
+ + + Default Response + + +
+ +
+
+
+
+
+ \ No newline at end of file diff --git a/docs/api-reference/create-a-scorecard-for-a-blueprint.api.mdx b/docs/api-reference/create-a-scorecard-for-a-blueprint.api.mdx new file mode 100644 index 000000000..87172c2f1 --- /dev/null +++ b/docs/api-reference/create-a-scorecard-for-a-blueprint.api.mdx @@ -0,0 +1,1017 @@ +--- +id: create-a-scorecard-for-a-blueprint +title: "Create a scorecard for a blueprint" +description: "This route allows you to create a scorecard for a given blueprint. A scorecard is a set of rules that define the quality of a blueprint.

To learn more about scorecards, check out the [documentation](https://docs.getport.io/promote-scorecards/)." +sidebar_label: "Create a scorecard for a blueprint" +hide_title: true +hide_table_of_contents: true +api: eJztWFFv2zYQ/isEt4cGs62k2Mu8pljaFUOxhwZJ9jLXK2jpbLOhRJWknCiG/vvuKImSZbtJgO1hWBPAoOjj3fG7u+9O3vIEbGxk7qTO+JTfrKVlRhcOmFBK31lW6oI5zWIDgjaZjbWBWJiELbXB55XcQMYWqoDcyMxN2EVPBJXhCXBML5kpFFjm1sKxBJYyA1wD+1IIJV1JAqKn5dXCRK/9x41mCoTJWIpKmVigb50BO2LxGuJbRrukbpbouEghc4IuNH+xdi630yjCbTtZgcu1cROpo9zoVDsYd5qikwkfcSdWlk9n/Drs8/mIG/hSgHVvdFLy6ZbHOnNogpYiz5WMvbHosyUIt9yiS6mglStzQFD14jPEDrWj1RyMk2DpW5mgErmUYHqy1uH9VyQrnANDMflrdjH+U4wfTsc//fJpMv2If9H5eP7D9yi1G70LVmQSXWWdah8lQibctMaWV3hZ6RQcsj3MCQwViVKQjqhaSuV27hHuPPAwY9qvhWrzYoZwJpL27LPi9V137oQytHaB0cUJ4TrT7qRSbAEMNkIVmMAJW5QH7zAMTqzThcyE0weDsw9QJ0++FBbY3RrrorGLp7zVzuVgFrIipYwTWYJPaG6OcHZyPevCGFEeMd6Kk/H2rsFEKrP3DlLUdTbisl5h6mblhyVa3g9Zkxf8skakpMvlwkjK77oYpIGEnG4wI69o4eEacbIPdI/jqq9A+aI5rto0Es9WHbyGNPe+N9g8wfWnufx1vYf8nlfzqqp25XoJthNvCr+nSorRfqhn/rvnFQodGYMC4kWqlQEF75fCIOFCyvwLfHZOdObJ7DghVYOcP/C9gg2oQ2bb8vpNK6qva6k2QIi/MTp78JnEkTBN+fj1vs4Izy/jb1X5n6rKgWAv2Vtn2ixsM6rWLpJah1CXvXRaCmXhCRprJhj66UwBFZWUESlgVVmfMHtzR1cekuoOK3CNKjM8g09h1vq0Y3ifcXqzRNP/w1E/HN4JXGDbMUXWG8xo7gh8MvAcJyoLcWFw7vOOL3C+I9KYzSs/bNkcIa+L7uXp6T4P/gpLUSjHrhpJwgvuXZQrIbOf2f1Y5HKMZW5R/Pzl5PTgUNaCQ8j++CQrJIlwr3VCYGrralZb41O0OYsCKjbaHgK3ijp0OCFgNm3kCoPcxVtKR+97jM77cF3TLWpkWtA6Xsnl71B2Ab4o0FUjH9q89zmwBpHgKboKjatX3WD77l6kec2+fSLvGK6tuLDRzXx9amwYsE99eMNQ173zoRCn/DyQSC9rt13VPutUpl2daKPHzEr7jlhjeOoRs+FUr1XPnozabpKF7aaBtX0q9KT/LbQeXZkttU/xtotgTbCLy/fkXV3fuHmGFU5siBWZCj8eNBXw9tg7ayjPYTx673bfXoVrWumYlUD2TLVtaG/GN2co2BEfPkyP9BW780K9JvbE89vtQlj4w6iqou0m62dzSj4jxYKCjimeSEvrJPTNo0F7cdW0mhP2D/WugzC0lJuVvTrB5S2Ux1qrz+eGfulOtejb2vPxDSnsVO39rEBNIPSeyw/XN4R783NEqhM6Y8QdtVr8nPKP+O8rKwyffn/LlchWhViRfK3XjygFRbPfSG59I2kWvWF098LDDlNfiT57E9vukVdYvAzb1OsgXn9z9ECDWCtN8NM09DdnX4KN +sidebar_class_name: "post api-method" +info_path: api-reference-temp/port-api +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import SecuritySchemes from "@theme/ApiExplorer/SecuritySchemes"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import Markdown from "@theme/Markdown"; +import Heading from "@theme/Heading"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; + + + + + + + + + + +This route allows you to create a scorecard for a given blueprint. A scorecard is a set of rules that define the quality of a blueprint.

To learn more about scorecards, check out the [documentation](https://docs.getport.io/promote-scorecards/). + + + + +
+ +

+ Path Parameters +

+
+
    + ","required":true}} + > + + +
+
+
+ +
+ +

+ Body +

+ required + +
+ +
    + "}} + > + + "}} + > + + +
    + + + + filter + + object + + +
    +
    + + + An optional set of [conditions](https://docs.getport.io/promote-scorecards/#conditions) to filter entities that will be evaluated by the scorecard.
    + + +
    ","enum":["and","or"]}} + > + + +
    + + + + conditions + + object[] + + + + required + + +
    +
    + + + **Possible values:** `>= 1` + + +
    + + + The conditions to evaluate.
    + + +
  • +
    + Array [ +
    +
  • + + anyOf + + + + + `, `<`, `>=`, `<=`, `contains`, `doesNotContains`, `beginsWith`, `doesNotBeginsWith`, `endsWith`, `doesNotEndsWith`]"} + schema={{"type":"string","enum":["=","!=",">","<",">=","<=","contains","doesNotContains","beginsWith","doesNotBeginsWith","endsWith","doesNotEndsWith"]}} + > + + +
    + + + value + + object + + required + +
    + +
    + + oneOf + + +
    + + + string + + +
    +
    +
    + + + number + + +
    +
    +
    + + + boolean + + +
    +
    +
    +
    +
    +
    +
    + + + + + +
    + + + value + + object + + required + +
    + +
    + + oneOf + + +
    + + + string + + +
    +
    +
    + + + number + + +
    +
    +
    + + + boolean + + +
    +
    +
    +
    +
    +
    +
    + + + + + + + + + + + + + + + + +
    +
  • +
    + ] +
    +
  • +
    +
    +
    +
    +
    +
    +
    + + + + rules + + object[] + + + + required + + +
    +
    + + + The [rules](https://docs.getport.io/promote-scorecards/#rule-elements) that define the scorecard.
    + + +
  • +
    + Array [ +
    +
  • + + + + + + + + +
    + + + + query + + object + + + + required + + +
    + + + +
    + + + + conditions + + object[] + + + + required + + +
    +
    + + + **Possible values:** `>= 1` + + +
  • +
    + Array [ +
    +
  • + + anyOf + + + + + `, `<`, `>=`, `<=`, `contains`, `doesNotContains`, `beginsWith`, `doesNotBeginsWith`, `endsWith`, `doesNotEndsWith`]"} + schema={{"type":"string","enum":["=","!=",">","<",">=","<=","contains","doesNotContains","beginsWith","doesNotBeginsWith","endsWith","doesNotEndsWith"]}} + > + + +
    + + + value + + object + + required + +
    + +
    + + oneOf + + +
    + + + string + + +
    +
    +
    + + + number + + +
    +
    +
    + + + boolean + + +
    +
    +
    +
    +
    +
    +
    + + + + + +
    + + + value + + object + + required + +
    + +
    + + oneOf + + +
    + + + string + + +
    +
    +
    + + + number + + +
    +
    +
    + + + boolean + + +
    +
    +
    +
    +
    +
    +
    + + + + + + + + + + + + + + + + +
    +
  • +
    + ] +
    +
  • +
    +
    +
    +
    +
    +
  • +
    + ] +
    +
  • +
    +
    +
    +
+
+
+
+
+ + +
+ + + Default Response + + +
+ +
+
+
+ + + Default Response + + +
+ +
+
+
+
+
+ \ No newline at end of file diff --git a/docs/api-reference/create-a-team.api.mdx b/docs/api-reference/create-a-team.api.mdx new file mode 100644 index 000000000..2ea9101bd --- /dev/null +++ b/docs/api-reference/create-a-team.api.mdx @@ -0,0 +1,141 @@ +--- +id: create-a-team +title: "Create a team" +description: "This route allows you to create a new team in your Port organization.

To learn more about teams, check out the [documentation](https://docs.getport.io/sso-rbac/rbac-overview/)." +sidebar_label: "Create a team" +hide_title: true +hide_table_of_contents: true +api: eJzVVE1v2zAM/SuCtsM2JHG7Y1Z06D4Oww4tuuzkuIBss7Fa2/IoOWlm+L+PlOzGTVdg1yGAIlMU+fTekzqZg81QN06bWi7lqtBWoGkdCFWWZmfF3rTCGZEhKA6KGnbCgaqErnkNxZVBJwxuVK1/Ky6zOEsxOvfDyogSFNaiMkibUyrsN9uZyArI7oUPFCDi3GRtBbXzFZI3hXONXUYRhe1iA66hJgttImvNHFOVRTzMzRZwq2EXvV3ImXRqY+UylituIJOZRPjVgnWfTL6Xy05mpnbUgaeqaUqd+V7RneWTd9ISokrxzO0bIC5MegeZo8INmgbQabC8WqsKJlnWoa43lHVMJAjOFObWH3CkLZDDRZVzgJx6E998eBWt1x/Xa5uM8+TdNPpa9jPZWkA76awQ1f5Z48uaemIgHOaV0qVQeY5gLVgG46uwohTlv7+C0w4q+/yQfX/U7V9YmEReIIPLslYaIWcBPcNJ/zTssAUKWMha1I4EjTuZkrcAeUuw59IF6Xsvvm1MbYNm709O+O8puC9wq9rSiesh0+OowBWG2snGWBdkKugr2p5GoThDwK1XghC0WNLq6FbV6IlZJcMY8f5gdwUwI+qDkI3+DqxksJa8aAkDDreJ1WC0BaicdjFGduz1wdtfH1TVlHDw5kGNwTLxGEmOBRqF5Sa3xmPSjmtJf60vrr5RFT5tSD9dnHAuc1OpetLx8/g8MEnHNphcvf/7gQlyOXhwUVMqkoVvJTugG3wSy+0pJ44vUMEmomjXpcrCTyz7nsMkHbKDabpVqFXKjMcJVRtUZmvdkyWI2MDcfMW9Ob1sg2WOHjD22qN3ry5/rCg5HR6+yuS8B9WOgjwu5Zp+9GG8Qt6VPt7JUtWbVm04P9Rlw6mWDzf167336zBhtONSvZ+gPDZyOBKP/eyFLWdkOUG34fwxPay8uGFgbMxmUfjp+ANRMle2 +sidebar_class_name: "post api-method" +info_path: api-reference-temp/port-api +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import SecuritySchemes from "@theme/ApiExplorer/SecuritySchemes"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import Markdown from "@theme/Markdown"; +import Heading from "@theme/Heading"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; + + + + + + + + + + +This route allows you to create a new team in your Port organization.

To learn more about teams, check out the [documentation](https://docs.getport.io/sso-rbac/rbac-overview/). + + + + + + +
+ +

+ Body +

+ required + +
+ +
    + ","pattern":"^[^;#/\\?\\s][^;#/\\?]*[^;#/\\?\\s]$"}} + > + + ","items":{"type":"string"}}} + > + + "}} + > + + +
+
+
+
+
+ + +
+ + + Default Response + + +
+ +
+
+
+
+
+ \ No newline at end of file diff --git a/docs/api-reference/create-a-webhook.api.mdx b/docs/api-reference/create-a-webhook.api.mdx new file mode 100644 index 000000000..6012c14f1 --- /dev/null +++ b/docs/api-reference/create-a-webhook.api.mdx @@ -0,0 +1,428 @@ +--- +id: create-a-webhook +title: "Create a webhook" +description: "This route allows you to create a webhook in your Port organization. Webhooks provide a way to ingest data from an external tool/platform into Port. You can also create a webhook via the [data sources page](https://app.getport.io/settings/data-sources) of your Port account.

To learn more about webhooks, check out the [documentation](https://docs.getport.io/build-your-software-catalog/custom-integration/webhook/)." +sidebar_label: "Create a webhook" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "post api-method" +info_path: api-reference-temp/port-api +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import SecuritySchemes from "@theme/ApiExplorer/SecuritySchemes"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import Markdown from "@theme/Markdown"; +import Heading from "@theme/Heading"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; + + + + + + + + + + +This route allows you to create a webhook in your Port organization. Webhooks provide a way to ingest data from an external tool/platform into Port. You can also create a webhook via the [data sources page](https://app.getport.io/settings/data-sources) of your Port account.

To learn more about webhooks, check out the [documentation](https://docs.getport.io/build-your-software-catalog/custom-integration/webhook/). + + + + + + +
+ +

+ Body +

+ required + +
+ +
    + ","maxLength":30}} + > + + ","maxLength":30}} + > + + ","maxLength":200}} + > + + "}} + > + + +
    + + + + mappings + + object[] + + +
    +
    + + + The mapping definitions used to map the data from the webhook into Port entities. For more information and examples, check out the [documentation](https://docs.getport.io/build-your-software-catalog/custom-integration/webhook/).
    + + +
  • +
    + Array [ +
    +
  • "}} + > + + "}} + > + + "}} + > + + +
    + + + + entity + + object + + + + required + + +
    +
    + + + An object defining how to map the data from the webhook payload into Port entities.
    + + +
    "}} + > + + "}} + > + + "}} + > + + "}} + > + + ","propertyNames":{"type":"string"}}} + > + + ","propertyNames":{"type":"string"}}} + > + + +
    +
    +
  • +
    + ] +
    +
  • +
    +
    +
    ","default":true}} + > + + +
    + + + + security + + object + + +
    +
    + + + The security configuration of the webhook, used to tell Port how to verify the hashed signature sent with incoming requests.
    For more information and examples, check out the [documentation](https://docs.getport.io/build-your-software-catalog/custom-integration/webhook/#security-configuration).
    + + +
    + + + + + + + + + + +
    +
    +
    + + +
+
+
+
+
+ + +
+ + + Default Response + + +
+ +
+
+
+
+
+ \ No newline at end of file diff --git a/docs/api-reference/create-an-access-token.api.mdx b/docs/api-reference/create-an-access-token.api.mdx new file mode 100644 index 000000000..004dfbb06 --- /dev/null +++ b/docs/api-reference/create-an-access-token.api.mdx @@ -0,0 +1,219 @@ +--- +id: create-an-access-token +title: "Create an access token" +description: "This route allows you to create an access token for your Port account. You can use this token to authenticate your requests to the Port API.

To obtain your client ID and client secret, go to your [Port application](https://app.getport.io), click on the `...` button in the top right corner, then click `Credentials`." +sidebar_label: "Create an access token" +hide_title: true +hide_table_of_contents: true +api: eJztVVFv0zAQ/iuWn0AKycZjhZDG4KHigYqVh6lU1EmujdfUDvalW6ny37mz0zXtAAm0RzYpS87fne++++62lyX4wukGtTVyJKeV9sLZFkGourb3XuxsK9CKwoFioxGqKMB7sq3BiKV1jHBiYh3ykW0NpuKWnArCth4EcsiIpjiqxQoM6oKjBU8H31vwyBjCQox0NRmnb3KXvQ2PqRU2R6VN9ChqTSHE+D2lUx6+PFCKmIiV5UABN4tJNU3N11GB8xcVYuNHWUbGdAXYECDV9mXCUYq1sCaksEjTdCHyFpEMOtrQNsLpVYWisM6AS9hqer/FtYOSy1K1X6QykahWXo5m8upYLt0vMsEG6/SP8C3niezLf2fLnRztZWENkgO/DhLP7jy3Zy99UcFG8RvuGqCG2fwOCqQbG2cbcKjBhzCBlHE5QHp02qwIedrx28fuPdIqu6QPcBNI/YcgsRuyo0iqLDXDVD0ZpLgkpiBWr4k75uox57Pb5x2HOSLRtRAMvrHGx3pfX1zwn9OsDlxDKXwbVLts63rH8Z+HZbvmJ5h2Q/lzWnOuN9w0ZcE/JY7O4aGhOvx4eEoRcnBPaJ2S7uKRsEvm1JrSC5owXQdNnoxiH5evCIZpCP0kgb/pyLCUYeLDG+bnSf+O9a4LfdwAHVN02VgfGFVY0Ve2vcx4N2Txzm/YX+rBbcHxLO1l62pCHkdYD0ZYdnMGF63TuLvh/sUW5aAcMXvkgdw+AmvAqA0M0o0DmUjNNVSgSvLifFkTn48z+uFBbZoaTmfsOBanYzPoujZLG7LQyN7ysOXIh+uL1F2mF4xlZjYq6KNP8vqX2/dcL4Pt8X+RP9cij6pBeMCsqSlzblAQ4r6X7kxuLwnIfMjD9PfyJUlWrHLC7Pe58vDF1V3HZmLK0b6f0etWOa1yFsWM10cvPdb7mnRKvY89fRWmjeF1G3V8tre65OBxRTk0+EfsfDCIk083UwLn/X+gjS3Zx6l7MvJzJL/SL33YoLMwVsG+l7Uyq1atGB/j8s9P6e7swA== +sidebar_class_name: "post api-method" +info_path: api-reference-temp/port-api +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import SecuritySchemes from "@theme/ApiExplorer/SecuritySchemes"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import Markdown from "@theme/Markdown"; +import Heading from "@theme/Heading"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; + + + + + + + + + + +This route allows you to create an access token for your Port account. You can use this token to authenticate your requests to the Port API.

To obtain your client ID and client secret, go to your [Port application](https://app.getport.io), click on the `...` button in the top right corner, then click `Credentials`. + + + + + + +
+ +

+ Body +

+ required + +
+ +
    + + + + + +
+
+
+
+
+ + +
+ + + Authorized successfully + + +
+ + + + +
+ + + Schema + +
+ +
    + + + + + + + + + +
+
+
+ + + + +
+
+
+
+
+
+
+
+ \ No newline at end of file diff --git a/docs/api-reference/create-an-action.api.mdx b/docs/api-reference/create-an-action.api.mdx new file mode 100644 index 000000000..976faa4ba --- /dev/null +++ b/docs/api-reference/create-an-action.api.mdx @@ -0,0 +1,1627 @@ +--- +id: create-an-action +title: "Create an action" +description: "This route allows you to create a new self-service action in your Port account.

To learn more about actions, check out the [documentation](https://docs.getport.io/create-self-service-experiences/)." +sidebar_label: "Create an action" +hide_title: true +hide_table_of_contents: true +api: eJzdV21z4zQQ/isaDTPAkJeWb2SOG0KvQKdwLW0ZZsgFKtvrRBdHciXZaZrxf2dXsmOnTXqFDl9oZxJF3jetnn12veEJ2NjI3Emt+IjfzKVlRhcOmMgyvbJsrQvmNIsNCNpkClbMQpb2LZhSxrgVky6TikQNu9TG4V6sC+UGbyIzfOs/bjTLQBjFltqgToQuak3bY/Ec4gWjLTcHNkl0XCxBOUGPp1/MncvtaDjEbTuYgcvRw0DqYQip3w2mD/c5GAkqBjv8csB73ImZ5aMJHwdffNrjBu4KsO57naz5aMNjrRw6o6XI80zG3u3wo6WEbLjF4JaCVm6dA6ZIRx8hdmg6NxqdOQmWnsoEjchUgunIWmekmqHs4ywDa+WZTv25KbMhJSFv5EI4B4ZU/pyM+3+I/sNR/5vv/hqMPuDf8Nv+9KvPeIWHlC6Dl7n1ogc9oi0Zh3O/4AQo+ZylHY2XGOzsPGcXDcxmIc1awUWK1/v0cvacPKihl1Qq+ayTbUb5dQdcPEBHGkgIUd5jjxMGPGJwXaDkmcoL53EmksS7EdllBympyCxUU8q0KnUA2y/g5jqhA+2G/Q6ckJn1QYYAP7csEvECVMLIPxO4SILUNvbDSWlOdS7Shdh3nE9E3Tts8neI5lov9ueoMNkrTP8o3U9FdCD7ZuYf5Bq/VtosUiSt1/n6WRzwhfVO0u/Fkn7NkCVzv/733sYPBZLhOygvcrvf52qbVjrpC0DV2BjnGG4psk7lRVojBasnxXGWsltnCrjtdYDGVjLLWG2NidoaS7VhIOI5g3uIi926bITea+K1gOx9vPm0NFVHgyGrpHJWhKLyDn1UTQT4heRuB+wKMiiFckyrbM0kHuLx2W8ZNjMLjvpXOGFLrDvcHSJ8SlGgiiVdRnsL2AqkxzKyiCgy7Br1VlW9pPD+wyo59WH885qe7lPBw+RFlEk7fx1+ImCltDLCloN3gBMFI4q0nrZEiQELekR3jPsNkqpnA94Nt9N128awh1qnVVV1NSle3LAIYiPd2l9ahPMJtZUJD5PFSDQzQ0iSzfFHAMzXR0f72NpDAoEZJP1JljW181xbFzo65pQPy+NhY57CMCWmxUdBKBjxZuYRueyMPJwCaWK+psEkhNNEvr0qVDuHNVpWRFBINAVGYeRD06gkxTsHkaAWRUnDzlU7Fp3ei2UeJoruWNMWRgO67UaYGg4191avbd1Nre022CgrIEdhd7bXb9tsR/zk6nR8c7rbddHuTmXv3PmGf7z7tQCzbi1S0ZokXHq9Na0OtOY64PPxD+djf5HrTAt6Uu2lXULYJzmxJRasgaUgOvFzZ6+GQRvmthxr5EqVam+ovgk/do8vz1CVoBRSdDw48roIvaXwfms8nNTTvKqr9fGNdabi/+ErQci9g3s3zDOBtVDV+d7U5Tnh5TEKivadYU7Vi/ubTSQs/GayqqLtuwCnCS5LYSSxGf1Ce3VxUUUvgBB3EhLavwlkj5goQqU+euWgEt+SxuXF9Q1VRf2qstQJ6RixIqLHzxH/gP++MEKoKOT3NzwTalaIGTSQ8gQoCjffpYmFp4l60WldQq07UT7mj3Ak+uy0pF2VNwhGhiT0disenhxUqDPWSNO1EGv/DVxbFYg= +sidebar_class_name: "post api-method" +info_path: api-reference-temp/port-api +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import SecuritySchemes from "@theme/ApiExplorer/SecuritySchemes"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import Markdown from "@theme/Markdown"; +import Heading from "@theme/Heading"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; + + + + + + + + + + +This route allows you to create a new self-service action in your Port account.

To learn more about actions, check out the [documentation](https://docs.getport.io/create-self-service-experiences/). + + + + + + +
+ +

+ Body +

+ required + +
+ +
    + ","pattern":"^[A-Za-z0-9@_.:\\\\/=-]+$"}} + > + + "}} + > + + "}} + > + + "}} + > + + +
    + + + trigger + + object + + required + +
    + +
    + + oneOf + + + + + "}} + > + + ","enum":["CREATE","DELETE","DAY-2"]}} + > + + +
    + + + + userInputs + + object + + + + required + + +
    +
    + + + The [user inputs](https://docs.getport.io/create-self-service-experiences/setup-ui-for-action/user-inputs/) of the action.
    + + +
    +
    + + + + properties + + object + + + + required + + +
    + +
    + + + + property name* + + object + + +
    + + + + + "}} + > + + ","items":{"type":"string"}}} + > + + +
    + + + visible + + object + +
    +
    + + + The visibility of the input. Resolves to a boolean value (`true` = visible).
    + + +
    +
    + + oneOf + + + "}} + > + + + +
    + + + boolean + + +
    +
    +
    +
    +
    +
    "}} + > + + +
    + + + + dataset + + object + + +
    + ","enum":["and","or"]}} + > + + +
    + + + + rules + + object[] + + + + required + + +
    +
    + + + **Possible values:** `>= 1` + + +
  • +
    + Array [ +
    +
  • + + anyOf + + + + + + + + + + + + + +
    + + + value + + object + + required + +
    + +
    + + oneOf + + + + + + + + + + + + + +
    +
    +
    +
    + + + `, `>=`, `<`, `<=`]"} + schema={{"enum":[">",">=","<","<="]}} + > + + +
    + + + value + + object + + required + +
    + +
    + + oneOf + + + + + + + +
    +
    +
    +
    + + + + + +
    + + + value + + object + + required + +
    + +
    + + anyOf + + +
    + + + string + + +
    +
    +
    + + + number + + +
    +
    +
    + + + boolean + + +
    +
    +
  • +
    + Array [ +
    +
  • + + + string + + +
  • +
    + ] +
    +
  • +
    +
    + + + string + + +
    +
    + + + + +
    +
    +
    +
    +
    + + + + + +
    + + + value + + object + + required + +
    + +
    + + anyOf + + +
    + + + string + + +
    +
    + + + + +
    +
    +
    +
    + + + + +
    + +
    + + + + propertySchema + + object + + + + required + + +
    + + + + + +
    +
    +
    + + +
    + + + value + + object + +
    + +
    + + anyOf + + +
    + + + string + + +
    +
    +
    + + + number + + +
    +
    +
    + + + boolean + + +
    +
    + + + + +
    +
    +
    +
    +
    +
    +
  • +
    + ] +
    +
  • +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + + + required + + object + +
    +
    + + + The required inputs' identifier/s. The inputs specified in this array must be given a value when executing the action.
    + + +
    +
    + + oneOf + + + + + + +
  • +
    + Array [ +
    +
  • + + + string + + +
  • +
    + ] +
    +
  • +
    +
    +
    +
    +
    ","items":{"type":"string"}}} + > + + +
    +
    +
    +
    +
    +
    +
    +
    +
    + + + invocationMethod + + object + + required + +
    +
    + + + Details the action's backend type and details.
    + + +
    +
    + + oneOf + + + + + ","type":"object"}} + > + + + + + + "}} + > + + "}} + > + + "}} + > + + "}} + > + + "}} + > + + "}} + > + + + + + + "}} + > + + "}} + > + + "}} + > + + "}} + > + + "}} + > + + + + + + "}} + > + + "}} + > + + + + "}} + > + + + + + + "}} + > + + "}} + > + + "}} + > + + + + +
    +
    +
    "}} + > + + +
    + + + approvalNotification + + object + +
    +
    + + + The notification configuration for the approval process. Relevant only if `requiredApproval` is set to `true`.
    + + +
    +
    + + oneOf + + + + + + + ","format":"uri"}} + > + + + + + + + + +
    +
    +
    "}} + > + + +
+
+
+
+
+ + +
+ + + Default Response + + +
+ +
+
+
+
+
+ \ No newline at end of file diff --git a/docs/api-reference/create-an-entity.api.mdx b/docs/api-reference/create-an-entity.api.mdx new file mode 100644 index 000000000..74a184d72 --- /dev/null +++ b/docs/api-reference/create-an-entity.api.mdx @@ -0,0 +1,415 @@ +--- +id: create-an-entity +title: "Create an entity" +description: "This route allows you to create an entity in your software catalog based on an existing blueprint in your data model. It can also be used to overwrite or update an existing entity.

To learn more about entities, check out the [documentation](https://docs.getport.io/build-your-software-catalog/sync-data-to-catalog/#entities)." +sidebar_label: "Create an entity" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "post api-method" +info_path: api-reference-temp/port-api +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import SecuritySchemes from "@theme/ApiExplorer/SecuritySchemes"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import Markdown from "@theme/Markdown"; +import Heading from "@theme/Heading"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; + + + + + + + + + + +This route allows you to create an entity in your software catalog based on an existing blueprint in your data model. It can also be used to overwrite or update an existing entity.

To learn more about entities, check out the [documentation](https://docs.getport.io/build-your-software-catalog/sync-data-to-catalog/#entities). + + + + +
+ +

+ Path Parameters +

+
+
    + "}} + > + + +
+
+
+ +

+ Query Parameters +

+
+
    + "}} + > + + "}} + > + + "}} + > + + This is useful when you want to create an entity and its related entities in one call, or if you want to create an entity whose related entity does not exist yet.
    "}} + > + +
    "}} + > + + +
+
+
+ +
+ +

+ Body +

+
+ +
    + "}} + > + + "}} + > + + "}} + > + + "}} + > + + "}} + > + + "}} + > + + +
+
+
+
+
+ + +
+ + + Successfully updated an entity + + +
+ +
+
+
+ + + Successfully created an entity + + +
+ +
+
+
+ + + One of the following errors occurred: + + + + + + + + + + + + + + +
ErrorDescription
`bad_request`The json provided does not match the route's schema
`run_exhausted`The action run with the provided `runId` has already finished execution
+ + + +
+ +
+
+
+ + + One of the following errors occurred: + + + + + + + + + + + + + + +
ErrorDescription
`required_relation`Relation cannot be deleted because it is a `required relation`
`missing_permissions`You do not have permissions to perform the requested operation. For further details, please contact your admin
+ + + +
+ +
+
+
+ + + One of the following errors occurred: + + + + + + + + + + +
ErrorDescription
`not_found`A resource with the provided `identifier` was not found
+ + + +
+ +
+
+
+ + + One of the following errors occurred: + + + + + + + + + + +
ErrorDescription
`identifier_taken`The provided `identifier` already exists, identifiers must be unique
+ + + +
+ +
+
+
+ + + One of the following errors occurred: + + + + + + + + + + + + + + + + + + + + + + +
ErrorDescription
`team_inheritance_enabled`The blueprint's entities inherite their team from other entities through an existing relation
`blueprint_schema_mismatch`The provided entity does not match the blueprint's schema
`required_relation`A relation is required
`relation_many_violation`A provided relation cannot contain more than one entity
+ + + +
+ +
+
+
+ + + One of the following errors occurred: + + + + + + + + + + +
ErrorDescription
`internal_error`An internal error occurred
+ + + +
+ +
+
+
+
+
+ \ No newline at end of file diff --git a/docs/api-reference/create-an-integration.api.mdx b/docs/api-reference/create-an-integration.api.mdx new file mode 100644 index 000000000..7c27f20c2 --- /dev/null +++ b/docs/api-reference/create-an-integration.api.mdx @@ -0,0 +1,779 @@ +--- +id: create-an-integration +title: "Create an integration" +description: "This route allows you to create an integration in your Port organization.

To learn more about integrations, check out the [documentation](https://docs.getport.io/build-your-software-catalog/sync-data-to-catalog/)." +sidebar_label: "Create an integration" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "post api-method" +info_path: api-reference-temp/port-api +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import SecuritySchemes from "@theme/ApiExplorer/SecuritySchemes"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import Markdown from "@theme/Markdown"; +import Heading from "@theme/Heading"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; + + + + + + + + + + +This route allows you to create an integration in your Port organization.

To learn more about integrations, check out the [documentation](https://docs.getport.io/build-your-software-catalog/sync-data-to-catalog/). + + + + +
+ +

+ Query Parameters +

+
+
    + ","required":false}} + > + + +
+
+
+ +
+ +

+ Body +

+ required + +
+ +
    + "}} + > + + "}} + > + + "}} + > + + "}} + > + + +
    + + + + config + + object + + +
    +
    + + + Various configuration options for the integration.
    + + +
    "}} + > + + "}} + > + + +
    + + + + resources + + object[] + + +
    +
    + + + The mapping definition of resources from the integrated tool/platform into Port. For more information and examples, check out the [documentation](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-mapping).
    + + +
  • +
    + Array [ +
    +
  • "}} + > + + +
    + + + + selector + + object + + + + required + + +
    + ","type":"string"}} + > + + +
    +
    +
    +
    + + + + port + + object + + + + required + + +
    +
    + + + An object containing the mapping definitions of the `kind` resource into Port.
    + + +
    +
    + + + + entity + + object + + + + required + + +
    + +
    + + + mappings + + object + + required + +
    +
    + + + The mapping definitions used to map the resource fields into Port entities. For more information and examples, check out the [documentation](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-mapping#configuration-structure).
    + + +
    +
    + + oneOf + + +
  • +
    + Array [ +
    +
  • "}} + > + + "}} + > + + "}} + > + + +
    + + + + properties + + object + + +
    +
    + + + An object containing the properties of the entity and their values. For more information and examples, check out the [documentation](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-mapping#configuration-structure).
    + + +
    +
    +
    +
    +
    + + + + relations + + object + + +
    +
    + + + An object containing the relations of the entity and their values. For more information and examples, check out the [documentation](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-mapping#configuration-structure).
    + + +
    +
    +
    +
  • +
    + ] +
    +
  • +
    + "}} + > + + "}} + > + + "}} + > + + +
    + + + + properties + + object + + +
    +
    + + + An object containing the properties of the entity and their values. For more information and examples, check out the [documentation](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-mapping#configuration-structure).
    + + +
    +
    +
    +
    +
    + + + + relations + + object + + +
    +
    + + + An object containing the relations of the entity and their values. For more information and examples, check out the [documentation](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-mapping#configuration-structure).
    + + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
  • +
    + ] +
    +
  • +
    +
    +
    + +
    +
    +
    +
    + + + changelogDestination + + object + +
    +
    + + + The destination of the integration's changelog.
    + + +
    +
    + + oneOf + + + + + + + + + "}} + > + + ","format":"uri"}} + > + + + + +
    +
    +
    +
+
+
+
+
+ + +
+ + + Default Response + + +
+ +
+
+
+
+
+ \ No newline at end of file diff --git a/docs/api-reference/delete-a-blueprint.api.mdx b/docs/api-reference/delete-a-blueprint.api.mdx new file mode 100644 index 000000000..af7f8c2e1 --- /dev/null +++ b/docs/api-reference/delete-a-blueprint.api.mdx @@ -0,0 +1,125 @@ +--- +id: delete-a-blueprint +title: "Delete a blueprint" +description: "This route allows you to delete a specific blueprint in your Port account.

To learn more about blueprints, check out the [documentation](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/)." +sidebar_label: "Delete a blueprint" +hide_title: true +hide_table_of_contents: true +api: eJztVE1v2zAM/SuCTi1gx+2ORlGgRXsotkOxZacgWGWZjoUqlitKyVLD/32U7dhulw0YBuy0iz8kfrzHR7LhOaC0qnbKVDzly1Ihs8Y7YEJrs0d2MJ45w3LQEA4Z1iBVoSTLtIfaqsoxVQUryx6NdUxIaXzlFleZTa67x9IwDcJWbGssRcgo+uSMEZMlyGcWTl0JbJUb6bdQOREgrc9K52pMk4SOcbEBV1OShTJJ5pXO45A3RlO4vbAQS+GENptEenRmq14hpgywsV0oTKSpCrXxZJiTYbw1RCpBcL6ORzzJ+YJH3IkN8nTFb0eYfB3xWlixpSrYcNdwJOBbwdOGu0MNVLzMGCJa8TbiKhTzxYM9ULSKvOi3L+E3ITs0dP629A8Fe3LWw1MUSs8QdBEj2J2SVLTehwlEI5VwkLO9ciUVjOSahNgrcsxgECsnc7YHrXstKKGFF68s5DwthEZooxMk0FGozcihFq6cKKichCH1wf4Ef0naTdfMFJ2aE7bQR3tBH2MznYAV+LdUaQTprXKHrs4ZNQ8lTFfrcGUBayoFYMD84eIivN4iuRvYo5cSEAuv9WHBW2JE4pUmH6XgUU8v5cnuMplaMmkmIi0PaOzuKLq3muyPTSlqNetJPof+JRS2R3kkMNaY3D7CrDNuPOGy6rXrUz5UvgSRk1fbKVGYzl05Hey7Qbt5fCDTAKynfbm4CKrVBt2WmpDMh+h3x9EdGb4Xr+E0Go4o/98A4wbolXLw3SW1Fqqb6k78ZmiaFd9dkuHEg37S2YBQL5SkRTBsmkwgfLW6bcNxvxdCN+UKRabHgfyNLP9gO5yk/Ex9emJ17QSFpYuu5XfCqkDjDymdfR7m/pz9xfI4ifo4Z9VhjvXIZiZSu56vhbv7T/fLe7ITPig8n9fnbl6Hj8DzZIr3g9znC8+wa0+6XNEcM9oG16N5f/NLh2EvjGSqQKJtfwCHTrpW +sidebar_class_name: "delete api-method" +info_path: api-reference-temp/port-api +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import SecuritySchemes from "@theme/ApiExplorer/SecuritySchemes"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import Markdown from "@theme/Markdown"; +import Heading from "@theme/Heading"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; + + + + + + + + + + +This route allows you to delete a specific blueprint in your Port account.

To learn more about blueprints, check out the [documentation](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/). + + + + +
+ +

+ Path Parameters +

+
+
    + ","required":true}} + > + + +
+
+
+ +

+ Query Parameters +

+
+
    + ","required":false}} + > + + +
+
+
+
+ + +
+ + + Deleted successfully. + + +
+ +
+
+
+
+
+ \ No newline at end of file diff --git a/docs/api-reference/delete-a-blueprints-scorecard.api.mdx b/docs/api-reference/delete-a-blueprints-scorecard.api.mdx new file mode 100644 index 000000000..b03441971 --- /dev/null +++ b/docs/api-reference/delete-a-blueprints-scorecard.api.mdx @@ -0,0 +1,106 @@ +--- +id: delete-a-blueprints-scorecard +title: "Delete a blueprint's scorecard" +description: "This route allows you to delete a specific scorecard. A scorecard is a set of rules that define the quality of a blueprint.

To learn more about scorecards, check out the [documentation](https://docs.getport.io/promote-scorecards/)." +sidebar_label: "Delete a blueprint's scorecard" +hide_title: true +hide_table_of_contents: true +api: eJzlVE1rGzEQ/StClybgepMelxAwOIfSHkKSnowp8u7YKyKvFGnk1F32v3dmP92wKSTtrRdbK83ne2+mkjmEzGuH2pYylQ+FDsLbiCCUMfY5iKONAq3IwQBfiuAg01udiZBZD5ny+Vwsxg9B/mQEKOxW+GggCCwUkv9Wl0BnEE9RGY1HNlBiYyI4r0ucX218ct38PFhhQPlS7CmoUBsqZ0wQZiIrIHsUfMvhVrnN4h5KVNzD+qxAdCFNEroO8x2gsx7n2ibO271F+DhGSs7nciZR7YJMV/J+uJfrmXTKqz117PmtkoFy7pVMK4lHBwRUQCp6J+uZ1IybU1hQrJJ8+LEP9V3nVBjBBZ5eX0INYnxmNLibEUgG/lmVOKLfQkSBPDxF7SGXKfoI9eyt9Q2gv72+wVU8Fza8r16CN0AWPYmgAXdDZFMB6WrNTx6Cs2WAwN18urjgv98rW8JWRYPirrOUNbVJZBWWMsg2t5y1PacyOVwmQ9Uhqaaar5MTVVRT9NWSi/aHXhDRG4rda005fSI1edrhPTPTNtP3OZBEbl/gOPKyiNSD1z8bJcuOugJUTl51Q+XWNu4aDdvfUj6xuP1MplxYi87l/IJpdzbgXpVs3kVf9iM8IPAhjPy95L+SmS2R2v9Pt0LLEMIPTJxRxARh2pBedcJaycMlGY7Soo/0lckao7PR5HogydBAIcetqo0K8M2buubrpwieB4WOB+W12jD3JMFcBz6T5rfKBPgDf2d33QCei7/YOpOQ9EouWcYHRe3TFx0fSdevLELeV/+w9ndtpHf0MkltvT5dPcubrzcPN+ShIivkdM4fmznvDszeZLKXC6DNzL8M2qTLFc2/oC1yPZi3L686dPukt+bW13Vd/wJkmc72 +sidebar_class_name: "delete api-method" +info_path: api-reference-temp/port-api +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import SecuritySchemes from "@theme/ApiExplorer/SecuritySchemes"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import Markdown from "@theme/Markdown"; +import Heading from "@theme/Heading"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; + + + + + + + + + + +This route allows you to delete a specific scorecard. A scorecard is a set of rules that define the quality of a blueprint.

To learn more about scorecards, check out the [documentation](https://docs.getport.io/promote-scorecards/). + + + + +
+ +

+ Path Parameters +

+
+
    + ","required":true}} + > + + ","required":true}} + > + + +
+
+
+
+ + +
+ + + Default Response + + +
+ +
+
+
+
+
+ \ No newline at end of file diff --git a/docs/api-reference/delete-a-team.api.mdx b/docs/api-reference/delete-a-team.api.mdx new file mode 100644 index 000000000..f7868307c --- /dev/null +++ b/docs/api-reference/delete-a-team.api.mdx @@ -0,0 +1,101 @@ +--- +id: delete-a-team +title: "Delete a team" +description: "This route allows you to delete a team in your Port organization.

To learn more about teams, check out the [documentation](https://docs.getport.io/sso-rbac/rbac-overview/)." +sidebar_label: "Delete a team" +hide_title: true +hide_table_of_contents: true +api: eJzVk8Fu2zAMhl9F0KkF3DjZ0SgKFEgOw3YouuxU5KDYTCzEllxKcpYZeveRstNmXTtgx11kmSapn59+D7ICV6LuvLZGFnJdayfQBg9CNY09OnGyQXgrKmiAg8KDaoU2HEfxYNELi3tl9E/FLWa3W8zv0rK2ogGFRrQWqXBLTVOxy0RZQ3kQKVCDeKpsGVowPnXYXNXed67Icwq72R58R4fMtM2dsze4VWXOy43tAXsNx/x6JjPp1d7J4kmu+QC5yWSnULWkGDk8SEdHtkoWg/SnDmhQ51GbvYyZ1Dx3p3xNbQzV0Ft6ZH+gAcEfhN0l2QkE0zkq418RjQSoGuE5aIRKFh4DRNLkoAyo/Skp2hIbQNY81hV+lM6JCK6zxoFjwZ/mc378LmYJOxUaLx6nTBlpEpq3tnTe1FFm41iFzPtFntrnA08QJWvB/gwnYENJZ+yq0xfU5aXwb0xxVHWW/wKUyr7A6ZXhfSAxONlCTphrUBVVxYR9Z1O59g3nJyvdP3ymVBY2jrmYzfmKOut8qwynT92Xl3Z8e1WDLK3xZKj/2dAjVQ8/fN41iugRh3RRw3SrT7JfcGKyTSaLRIYuqyZY/HUYtsrBd2xi5PBzAGTn0bZXqNWWqdPlV9rxnmyzU42Dv6C8epwcfS3+9V94d5qzcQy7pldN4DfaHshG0z8YN5e2Xq6+rtYrylCBAVxa75CsN214rHebv/XkeBKvMfug5JYsKcjYdy/p45cPCyaLn7N51E2M8RcYoNfD +sidebar_class_name: "delete api-method" +info_path: api-reference-temp/port-api +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import SecuritySchemes from "@theme/ApiExplorer/SecuritySchemes"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import Markdown from "@theme/Markdown"; +import Heading from "@theme/Heading"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; + + + + + + + + + + +This route allows you to delete a team in your Port organization.

To learn more about teams, check out the [documentation](https://docs.getport.io/sso-rbac/rbac-overview/). + + + + +
+ +

+ Path Parameters +

+
+
    + ","required":true}} + > + + +
+
+
+
+ + +
+ + + Default Response + + +
+ +
+
+
+
+
+ \ No newline at end of file diff --git a/docs/api-reference/delete-a-user.api.mdx b/docs/api-reference/delete-a-user.api.mdx new file mode 100644 index 000000000..646db909c --- /dev/null +++ b/docs/api-reference/delete-a-user.api.mdx @@ -0,0 +1,101 @@ +--- +id: delete-a-user +title: "Delete a user" +description: "This route allows you to delete a user in your Port organization.

To learn more about users, check out the [documentation](https://docs.getport.io/sso-rbac/rbac-overview/)." +sidebar_label: "Delete a user" +hide_title: true +hide_table_of_contents: true +api: eJzVUz1v2zAQ/SsEpwRQLLujEAQIYA9FOwSpMxlGQUtni7BMKkdSrivov/eOkmPFSDp060JRp3cf791TKwtwOeraa2tkJpeldgJt8CBUVdmjEycbhLeigAo4KIIDFNpwHMWTRS8s7pTRvxWXmNxvMH2Ix9KKChQacbBIiRsqGpNdIvIS8r3ggC9BrAqbhwMYHyusb0rva5elKYXdZAe+piYTbVPn7B1uVJ7ycWcbwEbDMb2dyER6tXMyW8kXbiDXiawVqgNNjBxupaOWByWzVvpTDUTUedRmJ7tEauZdK19SGUM59MZj/iS8rih2LRCI+EWookBwTthtZBF1YbGOyviLYr0gVAbhNWiEQmYeA3Q0ooM8oPanOOCGpAJkCn1eFnomDKQ2tTUOHM//ZTrlx/up5rBVofLieUDKjogR/dJSv6GiTHqWmUybWRrLp+2FaSd5ImzOigWsCHrehar1aBVyPP4Plraf7UziTWVK+wani7CPgUbCwSty0L4EVVBWF3extTFd+4rx0V+PT18JyoP1ZGeTKe+tts4flGH4UH0+9uj15lqZW+PJZf+zy3tVPfzyaV0pUo90iItqh92uZDMjYG+eRGYjJ9PKSpKMMW27UQ5esOo6Dr8GQHYhXRuFWm1Ye7JAoR3fyUJbVTn4i6A3z4O7b8U//yAfkjv7yLCJGlUFfqPrnlz17j/t1mPHzxffF8sF4VRgVcZ+3Ec/Dhdm+WGLa6P2/fjskk9S7smngtz+8Abvv3yaMPj+jGbC667r/gDmMem5 +sidebar_class_name: "delete api-method" +info_path: api-reference-temp/port-api +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import SecuritySchemes from "@theme/ApiExplorer/SecuritySchemes"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import Markdown from "@theme/Markdown"; +import Heading from "@theme/Heading"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; + + + + + + + + + + +This route allows you to delete a user in your Port organization.

To learn more about users, check out the [documentation](https://docs.getport.io/sso-rbac/rbac-overview/). + + + + +
+ +

+ Path Parameters +

+
+
    + ","required":true}} + > + + +
+
+
+
+ + +
+ + + Default Response + + +
+ +
+
+
+
+
+ \ No newline at end of file diff --git a/docs/api-reference/delete-a-webhook.api.mdx b/docs/api-reference/delete-a-webhook.api.mdx new file mode 100644 index 000000000..1203a6b35 --- /dev/null +++ b/docs/api-reference/delete-a-webhook.api.mdx @@ -0,0 +1,101 @@ +--- +id: delete-a-webhook +title: "Delete a webhook" +description: "This route allows you to delete a webhook in your Port organization. You can also delete it via the [data sources page](https://app.getport.io/settings/data-sources) of your Port account.

To learn more about webhooks, check out the [documentation](https://docs.getport.io/build-your-software-catalog/custom-integration/webhook/)." +sidebar_label: "Delete a webhook" +hide_title: true +hide_table_of_contents: true +api: eJztVE1v2zAM/SuCTiuQxO2ORlGgQHsYtkPRdRiGIgfGZmwhjuRKVLLM8H8f6Y/EDdodBuy2i6MPknqPjy+NzjFk3tRknNWpfipNUN5FQgVV5fZBHVxU5FSOFcqh2uOqdG6jjJUrrx6cJ+V8Adb8AqmyUD84JQPLFcIx0ZDaGVBUonrOgUAFTs4wqBoKXH4oieqQJgnU9aJAqrnowrgkIJGxRUgkZT6kXCi3nrwNWeaipcX1yic33efJqQrBW7V1niGvmM4IO8xUVmK2UXLWg3FZ3KKlDvsJCB+HKZJVNFU+l1cZxpr24HGeMajKFUkWA7nt3FjCwnd1kuG55GKhZ5qgCDp91t/7Q72c6Ro8bLkvXi4aHRjUFnTaaDrUyDoE8sxbtzNtRJYaqORClnN4Z3LGa9YGPZ+d68etPl5Lo4TkqJlouQdLJ0H7rnEZjy/ReMx1Sj5iyxADZtEbOnQAV9xPfo5J9HnphGzQS4n3GGreYBAaHy8v5ec1uDtcQ6xIPQ6RumV+3IXS8bNDYT3ryaY62V2NbQxJcyLVasHmd2Pvoq84+jRAZiKbnhL5Kk3u4Y10jv3mtM94OLX4NjIqP0y0HlQoEXLOajtV1q5LN1RJfDeJtw+fOFSA9XyvFpeiYO0CbcFK+FD97sxM5zI2OnPcX0v/HfmPHNmrTviTkroCVpd16gapGcbvWe+uOHAEyct0YjueqpJVlbCmWUHAb75qWzl+iejFMrzcgTewkvHgKc1NkDUP+ppFwD8I/uFxsOKF+ms3v8lvHHUrc76DKsqOlxse/Fd/Ku1y6su7+y/3T/ccB1EaM7XMprPMsBCWbz5x7qX+Pfm2s3dSrtlKig15cwzvb95NGKx5JGOFRNv+BguzZmQ= +sidebar_class_name: "delete api-method" +info_path: api-reference-temp/port-api +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import SecuritySchemes from "@theme/ApiExplorer/SecuritySchemes"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import Markdown from "@theme/Markdown"; +import Heading from "@theme/Heading"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; + + + + + + + + + + +This route allows you to delete a webhook in your Port organization. You can also delete it via the [data sources page](https://app.getport.io/settings/data-sources) of your Port account.

To learn more about webhooks, check out the [documentation](https://docs.getport.io/build-your-software-catalog/custom-integration/webhook/). + + + + +
+ +

+ Path Parameters +

+
+
    + ","required":true}} + > + + +
+
+
+
+ + +
+ + + Default Response + + +
+ +
+
+
+
+
+ \ No newline at end of file diff --git a/docs/api-reference/delete-all-entities-of-a-blueprint.api.mdx b/docs/api-reference/delete-all-entities-of-a-blueprint.api.mdx new file mode 100644 index 000000000..fc56c07db --- /dev/null +++ b/docs/api-reference/delete-all-entities-of-a-blueprint.api.mdx @@ -0,0 +1,130 @@ +--- +id: delete-all-entities-of-a-blueprint +title: "Delete all entities of a blueprint" +description: "This route allows you to delete all entities of a specific blueprint in your software catalog.

To learn more about entities, check out the [documentation](https://docs.getport.io/build-your-software-catalog/sync-data-to-catalog/#entities)." +sidebar_label: "Delete all entities of a blueprint" +hide_title: true +hide_table_of_contents: true +api: eJzlVctu2zAQ/BWCuSSAZSU9GkGAAPEhaA9B6x4Kw4gpamURoUWFpOy4hv69u3pZNqy0RXtqL0r42p2dmV3veQxOWpV7ZTI+4bNUOWZN4YEJrc3WsZ0pmDcsBg31JoPMK6/AMZMwwVwOUiVKskgXkFuVeaYyemWZM4nfCgtMCi+0WY1vIxveVZ+ZYRqEzdja4LmIMGMXd8RkCvKF0Z5Pgc1jI4s1ngoCubhMvc/dJAxx241X4HNj/ViZMCqUjgPKHLSZgyZz6HaZDGJcBN50mxdtxqsxH3EvVo5P5nzabPLFiOfCijXWbelkzx0CWws+2XO/ywHpch4LXvFyxBWx91qA3WGoDB/h0hbZs4pxbeG1UBZiPkmEdjA6If0bUixFxnJrNipGOtiyfrok5oVzRiqB5BMZtQ7xQYSt8mlfhrmQFJZhhGGqpAUMGDjQCX7sRkkI4C0HqyCT4EILiQbpgzpWgMBWFpwLL/wO6w3a5ESmyNpbmPGqlhgJOUNWZAxqng2xVVf23Nno57w9JmzpbQHLEVKDvpXkzq3CD97uLEus9bzpqej3YJ5omgufHkB2gVAdYiFRYI+AEp5TnDNEcLhObXOMaZsaBwdFqeO2Ave7tmvhoiMdyMIqv6v8GGELYf7JfEFHqFBuMofOxWI+XF/Tn2MgD415XCFRZZcUWu/GvMRS0eSpiTsV+Kiue8LDzU3YIXXh/hwBZYjEd6bgBNJu2p4prMYwrRFFrno+PKroCwlRg2/r6jTBZx+h55X7AuFa9b2aCLxRKgUR46uyUi4x1XPlNd1/wnzs/ukRrxKwmo2b8TWpnBvn12hLvN5EfxiadX1vHjG759JkHi//5yO0VsvDmw9zLVTV65UB9o2f5nxzgxcPjsLFZKCpjkyFRsEu8RRhv4+Eg69WlyVt12OErBYrJyI9NC76Gv17E3eA/Bfsmt4P0UYg1bhRTb5fp+uPB+276M4M/gPOBS2sIqC/qfHl52YoX7G/NYAHymiHVLbrQ2/LO+vuctEfug/TT9PZlCxfUJP0x95LNfaaf4iAs8lO52Gdmb4k9NkntzgOGQ7Vu+56fTL4oBmv7W0qfVGW5Q9S6522 +sidebar_class_name: "delete api-method" +info_path: api-reference-temp/port-api +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import SecuritySchemes from "@theme/ApiExplorer/SecuritySchemes"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import Markdown from "@theme/Markdown"; +import Heading from "@theme/Heading"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; + + + + + + + + + + +This route allows you to delete all entities of a specific blueprint in your software catalog.

To learn more about entities, check out the [documentation](https://docs.getport.io/build-your-software-catalog/sync-data-to-catalog/#entities). + + + + +
+ +

+ Path Parameters +

+
+
    + "}} + > + + +
+
+
+ +

+ Query Parameters +

+
+
    + "}} + > + + "}} + > + + +
+
+
+
+ + +
+ + + Deleted successfully. + + +
+ +
+
+
+
+
+ \ No newline at end of file diff --git a/docs/api-reference/delete-an-entity.api.mdx b/docs/api-reference/delete-an-entity.api.mdx new file mode 100644 index 000000000..4ec8aa865 --- /dev/null +++ b/docs/api-reference/delete-an-entity.api.mdx @@ -0,0 +1,135 @@ +--- +id: delete-an-entity +title: "Delete an entity" +description: "This route allows you to delete a specific entity in your software catalog.

To learn more about entities, check out the [documentation](https://docs.getport.io/build-your-software-catalog/sync-data-to-catalog/#entities)." +sidebar_label: "Delete an entity" +hide_title: true +hide_table_of_contents: true +api: eJzlVU1v2zgQ/SsEe2kAy0p6FIoCAZJD0R6KNntYGEZDUSOLCE2qJOXUFfTf+6gP20nsbZtFL+1FNjlDzrz3ZoYtL8hLp+qgrOEZv6mUZ842gZjQ2t57trUNC5YVpCluMl+TVKWSjExQYcuUiS6OeVuGe+GISRGEtqv569ylb/rPjWWahDNsbWEXOa4fTivyMyYrkncs7oWK2KKwslnDKmJGy5dVCLXP0hTbfr6iUFsX5sqmeaN0kcTIyRQ5GSOnfmtkUmCRBLvbfDFFPJvzGQ9i5Xm24NfjJl/OeC2cWAOki5aWeyS2FjxredjWBG5yawHD4HRBpWh04FkptKduxlXk7ktDbgurwS1YDox9LqgmUyC4h8nRl0Y5KngWXEOzR+S/Ldlt3L+dgQroICEBu1f4IMxeAqwnLLCGCqI40j1fUanI4uBajBoNUvBudgSUD06ZFT+BwTXmsyoeJN5Dfpz5vygSKQyrnd2oIpbJ7XD0NmYkvLdSCeT+NLcJwa6sFkL2SHD+tPrSEa5LPOkSH7dRkhL6WpNTZCT51FGpSYZkuCtBWitH3qcvwhZok4m+WB/CTF6IePYLVNUiVHumBjRAHP+UitwP1b4BF3t3ZsuenZGV2HX3woR96z07s1w3VMMe/n9yu6sOU81JW7PyyHRKEb3kSTYO1r6TcjQ/YmaLZTRBiNoaj54DgFfn5/HnYfCrsUJ8IyGmLxutt3PeAR7as7LFrrn4bMCa8XRzke6y82l7DHSXTrqn7RO5Oh6Tdpup+xunce1Uf6JWB+X3AOGnKMYAZsK50wXH3tFBO102SN+pb32v8lGtikSBU12vXmn74yro6P8B8djlh7dwjYkN7FzMz6PStfVhjWkE9/H2q3E+mFEZ/kjUlktrAmx/05wfhAj0NaS1FiAc1PXatmPpLPjmAo774sEiO9Ez09XR5WnDoygqiBKvbNtcePrH6a6L28NUjWVVKC9yfWqOHir08uPYoGfsN78LJ1i6Q+Uef8U2AvTA1g+jn0f0pz0S/8nb7uXck7WMC6ciW8+vhee9GidSncaU2R4mOkF4WuG/pvcPs/655+RZuR9t4G55+IRcXb+/vrnGCdHEOXA4tO/6oT3+iVIdDfZ4mg+R4zfydPTIawxzhifhzc59sJw8MD4Ok3eEvuy67jsHBx9q +sidebar_class_name: "delete api-method" +info_path: api-reference-temp/port-api +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import SecuritySchemes from "@theme/ApiExplorer/SecuritySchemes"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import Markdown from "@theme/Markdown"; +import Heading from "@theme/Heading"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; + + + + + + + + + + +This route allows you to delete a specific entity in your software catalog.

To learn more about entities, check out the [documentation](https://docs.getport.io/build-your-software-catalog/sync-data-to-catalog/#entities). + + + + +
+ +

+ Path Parameters +

+
+
    + "}} + > + + "}} + > + + +
+
+
+ +

+ Query Parameters +

+
+
    + "}} + > + + "}} + > + + +
+
+
+
+ + +
+ + + Deleted successfully. + + +
+ +
+
+
+
+
+ \ No newline at end of file diff --git a/docs/api-reference/delete-an-integration.api.mdx b/docs/api-reference/delete-an-integration.api.mdx new file mode 100644 index 000000000..b3b460f6e --- /dev/null +++ b/docs/api-reference/delete-an-integration.api.mdx @@ -0,0 +1,101 @@ +--- +id: delete-an-integration +title: "Delete an integration" +description: "This route allows you to delete an integration in your Port organization.

To learn more about integrations, check out the [documentation](https://docs.getport.io/build-your-software-catalog/sync-data-to-catalog/)." +sidebar_label: "Delete an integration" +hide_title: true +hide_table_of_contents: true +api: eJzlUz1v2zAQ/SsEpwSwraSjEAQIkAxBOwRpOhkeaOlsEaFJ5Xh06gr6772TZFs2kiwdu0jk8b7eu3eNLiEWaGuywetcv1Q2KgyJQBnnwntUu5AUBVWCAzF6ZT3BGo0E8FneUT0FJBVwbbz9073MbpaY3Xafl6AcGPRqE5ATLDn5OEecqKKC4lWJnSpQ8zIUaQOeuufFRUVUxzzL2Bxna6Caa81syJbJunIq5acxrOjdIEwLQ8aFdRZ3vpiWfJlSOBgvZ3qiyayjzuf6cdSBXkx0bdBsGCHKa6Mj97QxOm807WpgYiKh9WvdTrQVnmpDFWfzHMM3W3K7dmUB2XZOKDDayB24gbJShVUHdEyksPxuPB2p7hnkfAhvySKUOidM0HKvEYqElnZdp0vmlusypD4utyfIxB8h1nyBKHi+XV3J77TLe1iZ5Eg9D566ZaBMRxW47JBYT3rUuc6219moStYc8bda2sPtnseEjgP2IzS1HU1Qj7H8FML7DveIDtxz2HfYHem+S9wYDkrTw0QqMCVHtd2EVqELt+TEv1Pn3dMju0pjPeTr2ZVMsw6RNsaL+5D9/iOln8+10UXgV0//xc70YyD4TVntDNPNxHWTbQZJzPX2uhvEmLB8tBY86YqZFs+mWZoIv9C1rZjfEqAomY9bg9YsZWSsnNJGObP+VsZF+IL/i+dhQy7Vv2/bh1j3OvQiwq1xSW58fGVVnmx/uxjvzf3Dj4eXB/YzSUga6/m10/NwELgfljgXel9Pvu3kk5Ab1rnibbk9uPcvnwYMe3MA4wVE2/4Fy+YfvQ== +sidebar_class_name: "delete api-method" +info_path: api-reference-temp/port-api +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import SecuritySchemes from "@theme/ApiExplorer/SecuritySchemes"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import Markdown from "@theme/Markdown"; +import Heading from "@theme/Heading"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; + + + + + + + + + + +This route allows you to delete an integration in your Port organization.

To learn more about integrations, check out the [documentation](https://docs.getport.io/build-your-software-catalog/sync-data-to-catalog/). + + + + +
+ +

+ Path Parameters +

+
+
    + ","required":true}} + > + + +
+
+
+
+ + +
+ + + Default Response + + +
+ +
+
+
+
+
+ \ No newline at end of file diff --git a/docs/api-reference/get-a-blueprint.api.mdx b/docs/api-reference/get-a-blueprint.api.mdx new file mode 100644 index 000000000..50615774a --- /dev/null +++ b/docs/api-reference/get-a-blueprint.api.mdx @@ -0,0 +1,101 @@ +--- +id: get-a-blueprint +title: "Get a blueprint" +description: "This route allows you to fetch a specific blueprint in your Port account.

To learn more about blueprints, check out the [documentation](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/)." +sidebar_label: "Get a blueprint" +hide_title: true +hide_table_of_contents: true +api: eJztVEtvnDAQ/iuWT4nELkmPKIqUqFVU9RKl21OUgzHDYgWwY493u0H8984Au5Ao6aHnXlhj5vU9ZjtZQNDeODS2lZncVCYIbyOCUHVt90EcbBRoRQmoK6FEcKBNabTI6wjOmxaFaTnIi3vrUSitbWxxfZX79Hp4bKyoQflWNNZT1ZyKz8khEboC/Sz4FisQj4XVsYEWFU/0dFYhupClKV2H9RbQUZO1sWkeTV2suO8q2BL3ysNKK1S13aY6BrSNeYUVdYCtH0qFVNu2NNtIgQUFrhpbQJ0GwOhWp3nS87VMJKptkNmjvD2NKZ8S6ZRXDSB4/tbJQIM3SmadxIMD4i4ghW5ln0jDVDqFFdVqKYfeTEGYiDjwdPeecxDzZ2HLgYiZX1Zgr+hwlGEkl+p4eInGQyEz9BF6mjGAjt7gYZgwJ9qpHwHxoIosX6DhWA/BES8QGMOXiwv+eTvZVyhVrFE8TJGyJ3BEQWWppSQ1ZDLCzGS6u0znBmk3A+olj+V3R96iryn+qKtyZiGrXGL4yQSP0x2RnLimtB9wmOm9iTSUN6+D1HJSoCLUlNUPipR2SDdYc/zg1Zv77xTKg41wL9cXrJ6zARvVcvhU/Q7I2LMi7xXsJFkLCe//BTou0KgSwm9MXa1IDeJ1EL6bDPMod5cUuPBkIrPFkpAPKtKBA7suVwF++brv+folgmd/03GnvFE5C0q+KkzgMzmzVHWAv2h09jDtzbn49937EOLRnS1bc6eoDL3R8Zm8+uY/oH9abtLdtw0FqcjELC3+PFh8OjDGD+u/9/7YjJ998knKFVlf0AJdn8LHL58mTKt0QtIygr7/A1IPL0o= +sidebar_class_name: "get api-method" +info_path: api-reference-temp/port-api +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import SecuritySchemes from "@theme/ApiExplorer/SecuritySchemes"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import Markdown from "@theme/Markdown"; +import Heading from "@theme/Heading"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; + + + + + + + + + + +This route allows you to fetch a specific blueprint in your Port account.

To learn more about blueprints, check out the [documentation](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/). + + + + +
+ +

+ Path Parameters +

+
+
    + ","required":true}} + > + + +
+
+
+
+ + +
+ + + Default Response + + +
+ +
+
+
+
+
+ \ No newline at end of file diff --git a/docs/api-reference/get-a-blueprints-entity-count.api.mdx b/docs/api-reference/get-a-blueprints-entity-count.api.mdx new file mode 100644 index 000000000..b2801ae7b --- /dev/null +++ b/docs/api-reference/get-a-blueprints-entity-count.api.mdx @@ -0,0 +1,101 @@ +--- +id: get-a-blueprints-entity-count +title: "Get a blueprint's entity count" +description: "This route allows you to count the number of entities in a specific blueprint in your software catalog.

To learn more about entities, check out the [documentation](https://docs.getport.io/build-your-software-catalog/sync-data-to-catalog/#entities)." +sidebar_label: "Get a blueprint's entity count" +hide_title: true +hide_table_of_contents: true +api: eJztVE1v2zAM/SuEdlgLOHG7ozEUKLCiGHYpuu4UBINs07FQx3IlKllm+L+P9FfSrrntuIujD1J8fI8vrcrRZ840ZGytEvVUGg/OBkLQVWX3Hg42AFnIbKgJqESowzZFB7YArMmQQQ+mBg2+wcwUJoO0Ctg4w+F8zukOvC1orx1CpklXdrP8nLr4pv88WahQuxq2lu91yqXndyPISsyeQc6k8iq3WdjyrRa064uSqPFJHPOxX26QGutoaWycBlPlC6m8mCovxsqxP9TZIufNgux8+GGqeLlUkSK98SpZqbvxUK0j1Wint0jo5KZVnoFttUpaRYcGmTdP3PBGdZEyQmOjqeSXas7h3UzIT5NLpcKg41uHL8E4zFVCLmD0lxIIx3ChWyg4crsvrcejBCLTXotEo1YDx6pj8B6z4Awdeugps83lk9Varhz6xtaem+RePl1dyc9rHF+w0KEieBwjVcdNMhWlZeCKWVfR0G6i4t11PAP0cfte3108QV70MJXAc7uJ2OAqfmgSVjfmRNdXvXwXBQbYU0ezGJz2DQ9H/m8Do3Xmdz82apSoRJ1zVtdLVtg+3VAl8Q9cD24fvnKoABt4uF5eibyN9bTVtYSPr98j8fTPvX70gygHmPp7xWerMlsTR/w322C2QTLCXxQ3lWZpmOR+CtpxrFZqd82Bx8HiTXLGUm9mi+eFXULyRtum2uMPV3WdHL8EdOIHXu60MzoV4Xn+cuNlzaNd6Mq/NeWpeBePo30v4R9Z9QwZ01DXMtE7za/yjpfPPOJn/lu69alH7++eOFwHIfPUI8+9R8aFNP9upbfmGcrKt4vOpHxm7wA78GYOH27OJoxenKKl73XXdX8AH1FSfg== +sidebar_class_name: "get api-method" +info_path: api-reference-temp/port-api +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import SecuritySchemes from "@theme/ApiExplorer/SecuritySchemes"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import Markdown from "@theme/Markdown"; +import Heading from "@theme/Heading"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; + + + + + + + + + + +This route allows you to count the number of entities in a specific blueprint in your software catalog.

To learn more about entities, check out the [documentation](https://docs.getport.io/build-your-software-catalog/sync-data-to-catalog/#entities). + + + + +
+ +

+ Path Parameters +

+
+
    + "}} + > + + +
+
+
+
+ + +
+ + + Default Response + + +
+ +
+
+
+
+
+ \ No newline at end of file diff --git a/docs/api-reference/get-a-blueprints-permissions.api.mdx b/docs/api-reference/get-a-blueprints-permissions.api.mdx new file mode 100644 index 000000000..b53b4db3b --- /dev/null +++ b/docs/api-reference/get-a-blueprints-permissions.api.mdx @@ -0,0 +1,101 @@ +--- +id: get-a-blueprints-permissions +title: "Get a blueprint's permissions" +description: "This route allows you to retrieve the permissions of a blueprint.

To learn more about permissions, check out the [documentation](https://docs.getport.io/build-your-software-catalog/set-catalog-rbac/examples)." +sidebar_label: "Get a blueprint's permissions" +hide_title: true +hide_table_of_contents: true +api: eJzdVM1u2zAMfhVBl7WAEyc7GkWBDhuKYZei605FMMg2Ewu1LZeikmaG332kY6dO29x22sWWJZLi90O3OgefoW3Iulon+qGwXqELBMqUpdt5tXdBkVMIhBa2oKgA1QBW1ntO8cqtlVFpGaBBW9P8KsX4un88OFWCwVpVDrlaykWniZHKCsielGxLzcfcZaGCmoy0srooiBqfxDFv+/kGqHFIc+viNNgyn3FXOPNuTTuDMMsMmdJtYg80rmeYmiyGF1M1JfjLuY40mY3XyaP+Mjbr9SrSjUFTAQHKWas9d1UZnbSa9g0wI55x1xvdRdoKQY2hgmvVnMNfR9y/bc6t27UF5FOE52ARcp0QBojecQzqNVwIFPzHUmpXOH/KsWiwM3w0EWKuO+7eQxbQ0r7vPWW6+X6GiGDyJJ3glFgE33A18ILu82Ihr9POvsLahJLU/RCpO4bN5BSOoWgWQUcHAhIdb5fx6wVx+xETXTwBoaVZ3I48Byy5yiiyaexE4xNkP0WQQ88jvqM2nPYD9q9y3ARuFe2f3kJ6UKxgLjir6xVcuz7dUinxd3yfurn7zqHS2IGE5XwhajfOU2VqCR+q3wJNrf7Jq1N4J1y2OnM1MRP/+1AdlCB4obgpDTPO3PXitoNVHvV2yYETN0Y6OTM4U0LZAzwIJAXaNjUefmHZdbL9HADF8bzcGrQmFTHZU7n1smavrk3p387dVJGL+2FCL9W/msYzVIxOrcWmW8Nl+YuXT+zbM/+PbjWduttvDxxuglA5Nf5Tb/xhIeg/vOntRByulWcXnUm54oFQPFbXx/DDydmEYcDGaMG96rruL5IXPWM= +sidebar_class_name: "get api-method" +info_path: api-reference-temp/port-api +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import SecuritySchemes from "@theme/ApiExplorer/SecuritySchemes"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import Markdown from "@theme/Markdown"; +import Heading from "@theme/Heading"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; + + + + + + + + + + +This route allows you to retrieve the permissions of a blueprint.

To learn more about permissions, check out the [documentation](https://docs.getport.io/build-your-software-catalog/set-catalog-rbac/examples). + + + + +
+ +

+ Path Parameters +

+
+
    + + + +
+
+
+
+ + +
+ + + Default Response + + +
+ +
+
+
+
+
+ \ No newline at end of file diff --git a/docs/api-reference/get-a-blueprints-scorecard.api.mdx b/docs/api-reference/get-a-blueprints-scorecard.api.mdx new file mode 100644 index 000000000..f4f83b622 --- /dev/null +++ b/docs/api-reference/get-a-blueprints-scorecard.api.mdx @@ -0,0 +1,106 @@ +--- +id: get-a-blueprints-scorecard +title: "Get a blueprint's scorecard" +description: "This route allows you to fetch a specific scorecard. A scorecard is a set of rules that define the quality of a blueprint.

To learn more about scorecards, check out the [documentation](https://docs.getport.io/promote-scorecards/)." +sidebar_label: "Get a blueprint's scorecard" +hide_title: true +hide_table_of_contents: true +api: eJzlVE1r20AQ/SvDXpqAazk9ihAItITSS0jSUzBlLY2iJbJW3p116gr9985IsqQGpRDTWy/2anc+33sztUrRJ85UZGypYvWQGw/OBkLQRWFfPBxsALKQISU5aPAVJiYzCfjEOky0S5dwPX4Au7MREtgMXCjQA+WaIMXMlMhnhF3QhaGDGGjYFAErZ0paXm5cdNX+PFgoULsSthwU9IarGRP4BSQ5Js8gtxLuMbVJ2GJJWlpYn+VElY+jiK/98gmpso6WxkaVs1tL+HGMFJ0v1UKRfvIqflT3w71aL1Slnd4ioZO3WnnOudUqrhUdKmScPHHRT6pZKCOwVZpyjlWyjzweQ/0wKRfGcKHj19dII4zPgoZ0MwIpuL/okgbwO4Q4jsNdMA5TFZML2CzeW96A+fvLG1zhJbf+pHIZXI9JcCyBFtoNU835mQGHOo39hAaxdegrW3r00t2n1Ur+/qz0M2Y6FAR3vaVquG3mLrecUrEC1KIDIFbR/iIaWvBRPYdEE00UUs9R2Shpwe2P4giu4NhH3enKTGSnpv3eC01dJ8euB8bY7RseRpKuAzfgzK9W1arnMWeE2Ktpec1s626oEPtbzgfXt1/ZVArroLlYrkQDlfW01aWY99FveEAnw/fBj0y+VkKtElsS9/5/boeOHcKfFFWFZhYYz5bwuhfVo9pfsOEoK/6I3xixibjZaHZNsFx4skji1vVGe/zuiqaR611AJyPDx712Rm+Ed5ZfarycWeyZLjz+hb6zu34Uz+H07TOLyFHEpSh4r7l7/uLjM0v6jX0oe+sfln7KZjqhlVlim/V049x8eWBzHUQc0/F+bse7Pwhxs5lez32XVn4FsFmXSx574OVxNZh3L2869GvkaC19r5um+Q3rvc+K +sidebar_class_name: "get api-method" +info_path: api-reference-temp/port-api +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import SecuritySchemes from "@theme/ApiExplorer/SecuritySchemes"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import Markdown from "@theme/Markdown"; +import Heading from "@theme/Heading"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; + + + + + + + + + + +This route allows you to fetch a specific scorecard. A scorecard is a set of rules that define the quality of a blueprint.

To learn more about scorecards, check out the [documentation](https://docs.getport.io/promote-scorecards/). + + + + +
+ +

+ Path Parameters +

+
+
    + ","required":true}} + > + + ","required":true}} + > + + +
+
+
+
+ + +
+ + + Default Response + + +
+ +
+
+
+
+
+ \ No newline at end of file diff --git a/docs/api-reference/get-a-blueprints-scorecards.api.mdx b/docs/api-reference/get-a-blueprints-scorecards.api.mdx new file mode 100644 index 000000000..fe94e226c --- /dev/null +++ b/docs/api-reference/get-a-blueprints-scorecards.api.mdx @@ -0,0 +1,101 @@ +--- +id: get-a-blueprints-scorecards +title: "Get a blueprints' scorecards" +description: "This route allows you to fetch all scorecards for a given blueprint. A scorecard is a set of rules that define the quality of a blueprint.

To learn more about scorecards, check out the [documentation](https://docs.getport.io/promote-scorecards/)." +sidebar_label: "Get a blueprints' scorecards" +hide_title: true +hide_table_of_contents: true +api: eJztVE1v2zAM/SuELmuBLG53NIoCBTYUwy5F252KYGBsOhbqWK5EpcsM//eRtpM4RdPTjrs4+iCpx/f40pqcQuZtw9bVJjWPpQ3gXWQCrCr3GmDrIrCDgjgr9QxC5jxl6PMAhfOAsLIbqmFZRWq8rXkON4cYkHIIgRhcAT5WFIBLZMipsDXJmuAlYmV5qwE4qXK19Ml1/3l0UBH6GtZSFHAp6CYgZpCVlD2Dnmq5p9xlcU01o7a0OCuZm5AmiRyH+Yq4cZ7n1iWNd2vH9PlQKTmfm5lhXAWTPpmH/blZzEyDHtfE5PWuNUHeXKNJW8PbhoS3wAJ6ZbqZsUpjg1xKrVpyZLdv6pfNBZgtLHm5fcs8weFa2dBu9qnwWrpAU/JVmFeUm506A2VS2NNLtJ5yk7KP1An8QFn0QnIPfilkCgDp0RPmaZg0qrGeQuPqQEHb+3JxoT/HUL9SgbFiuB8jTSd9CzulkyeNcGxmAwOpSTaXyb6HkLTvUdElEwiK1W92PEdfSZGdhNjYiYJm2tiDCjJA3rW310bSftD2IMdNFKTe/ukHxIyKlUKFZHW9goXr0y1XGn8n78HN3XcJVWADB5fzC1W7cYHXWGv4WP1WZn0yx+ETHHV3xGRrMlez8PDfeeq8QS6m35w0FYosQnA/Ae04Tk9mcymBB3Jlk55wVzjyr5iHNb9tlxjop6+6To9fInk1hSw36C0uVXCZu9wGXcs4F1gF+kC2s/vRbOfwDx38LhW7ca51ljcodWUny2cZ7hN/Mt1i6szbb48SjlGpnLrjuXfHuND2333prW2GZ/XbzU6kXIlrQLx3vQ8fbk4mjC7cRWvfi67r/gKgUlKa +sidebar_class_name: "get api-method" +info_path: api-reference-temp/port-api +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import SecuritySchemes from "@theme/ApiExplorer/SecuritySchemes"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import Markdown from "@theme/Markdown"; +import Heading from "@theme/Heading"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; + + + + + + + + + + +This route allows you to fetch all scorecards for a given blueprint. A scorecard is a set of rules that define the quality of a blueprint.

To learn more about scorecards, check out the [documentation](https://docs.getport.io/promote-scorecards/). + + + + +
+ +

+ Path Parameters +

+
+
    + ","required":true}} + > + + +
+
+
+
+ + +
+ + + Default Response + + +
+ +
+
+
+
+
+ \ No newline at end of file diff --git a/docs/api-reference/get-a-team.api.mdx b/docs/api-reference/get-a-team.api.mdx new file mode 100644 index 000000000..c5012bcba --- /dev/null +++ b/docs/api-reference/get-a-team.api.mdx @@ -0,0 +1,125 @@ +--- +id: get-a-team +title: "Get a team" +description: "This route allows you to fetch a specific team in your Port organization.

To learn more about teams, check out the [documentation](https://docs.getport.io/sso-rbac/rbac-overview/)." +sidebar_label: "Get a team" +hide_title: true +hide_table_of_contents: true +api: eJzdVd9r2zAQ/leEnlZI43aPphQKG6UMRum6p9IHxT7HooqlniRnmfH/vjvZTrw0G/RpsBdbOd2P7+67z+lkCb5A7YK2jczlY629QBsDCGWM3Xqxs1EEKyoIRS2U8A4KXelCBFAboRu+R3FvMQiLa9Xon4pTLa9WmF2nx6MVBhQ2YmORsq4oeQr2C1HUULyIZKhBPJW2iBtoQsrw/KEOwfk8y8jsl2sIjoostc28t+e4UkXGj3PbArYattnZUi5kUGsv8yf5yAXk80I6hWoDAZDNnfRUcqNk3smwc0ANK0S1o0AdgALIDk3ccAZdkrWhWHoVCCpAeRPoHF25Pzu0rS4B6TgfIzl5KrisNPrwdUgxWIw6MhAYbfa/nC5CxMOtp1FEaqPvCSDT8xoBdxOuXFYaTOmPqjOJIIarxN5WNeFAYWUxTZspWIq7SlCpciFsY3bJPhIM5ZRiq40RKyCuCxNLshPp7IjgnW08DFQTCITXqBFKmVfKeOgXJ8btA+pmLad+nAr1oZ1x2m+b4Qthqz3ut22dABEwQk8b4KGIqMMu8b+iTSS+iF+itMzDsCbsNrWTluDjxQW/fkfyCSoVTRAPo6dkWmi3akvVJC0obwQ3lMusvcxS7qxj7L1kGNhOWxjRkNO038rp2XrLOeZvPL8B0oT8sLlOf4HZMtxEQoKj/uQ44Jq6pKhhgSqbwnUw7J80e3N/R64MbOjxcnnB5Djrw0Y17D5mv4VA6ueejhnqZGGbQLL9Hz4fw2gD/AiZM4pGSMNIbHUjtU+yvWTHtDgLmafxEGM1TYxvu26lPHxH0/dsHgTLnJfaq5XZq+OvQ/wn8j3Z+wtt2Ow70yoT2SktaatQc0vvbO/DwyjRM/FObZ9EOKmh2c3xTcgTPf3zXKi3nx/pWkVmcy6mlySm8cAtncx8rLKhDD/5e3cy5IpEJkiq13v34eaPAaNoJ2/uk/4C+l+qxaAV +sidebar_class_name: "get api-method" +info_path: api-reference-temp/port-api +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import SecuritySchemes from "@theme/ApiExplorer/SecuritySchemes"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import Markdown from "@theme/Markdown"; +import Heading from "@theme/Heading"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; + + + + + + + + + + +This route allows you to fetch a specific team in your Port organization.

To learn more about teams, check out the [documentation](https://docs.getport.io/sso-rbac/rbac-overview/). + + + + +
+ +

+ Path Parameters +

+
+
    + ","required":true}} + > + + +
+
+
+ +

+ Query Parameters +

+
+
    + ","required":false}} + > + + +
+
+
+
+ + +
+ + + Default Response + + +
+ +
+
+
+
+
+ \ No newline at end of file diff --git a/docs/api-reference/get-a-user.api.mdx b/docs/api-reference/get-a-user.api.mdx new file mode 100644 index 000000000..8f0898726 --- /dev/null +++ b/docs/api-reference/get-a-user.api.mdx @@ -0,0 +1,101 @@ +--- +id: get-a-user +title: "Get a user" +description: "This route allows you to fetch a specific user in your Port organization.

To learn more about users, check out the [documentation](https://docs.getport.io/sso-rbac/rbac-overview/)." +sidebar_label: "Get a user" +hide_title: true +hide_table_of_contents: true +api: eJzdU01P20AQ/SurOYFkYujRQkiVWqGqF0ThFEXVxp7EKxyvmZ01TS3/986sHQgIeuixl/V+vPl4b54HqDCU5Dp2voUC7moXDPnIaGzT+Kdg9j4a9maDXNbGmtBh6TauNDEgGdfqO5kbT2w8bW3rfltNtbhcU36VljtvGrTUmp0nybqW5Ck4ZKassXwwesE1mmXly7jDllOG1UnN3IUiz+U6LLbInRRZOJ+H4M9obctclzPfI/UOn/LTBWTAdhugWMK9FoBVBp0lu0PWU7EcIEjJnYViAN53KIQDk2u3MGbglH9nuZY0rcTISdv8KXjXyN1bodCkF2OrijAE4zeJRdJFRXuyLT8rN+khWQgfoyOsoGCKOEqHActIjvepv7UohaQMCG1VxImGwqRG59uAQZv/dH6un9ctfcGNjQ2b2xkJo7AS7rWXaiACQjbxKyDvL/KUOx9eOI6gzVB/0CpSI9DDFGznjoYAx53/UFGnxg79P+srYd9x/yLp5yj90OwSmFWvhatEjWkKG5/CHTeKT876fPNNoNrYxPRica4T63zgnW0VPme/RhaPKqW3Axug9C2Luf4Hk0/SMv7ivGusSChipGkN84CX0F8IcLJPBsWRkWVuteimmGFY24D31IyjXj9GJHWhbHtLzq51AOKDygXdi4k2tgn4F2FPbmd3n5p//T/e5XbwUqtG6m0T9STbB3HWq790XB1b/vrrnYBsVEWODfmQDDlvlOG7+d86dSqm65h9EHIpRjVi96tn+PTyYcBs/ANa2a7GcfwDltrq0Q== +sidebar_class_name: "get api-method" +info_path: api-reference-temp/port-api +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import SecuritySchemes from "@theme/ApiExplorer/SecuritySchemes"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import Markdown from "@theme/Markdown"; +import Heading from "@theme/Heading"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; + + + + + + + + + + +This route allows you to fetch a specific user in your Port organization.

To learn more about users, check out the [documentation](https://docs.getport.io/sso-rbac/rbac-overview/). + + + + +
+ +

+ Path Parameters +

+
+
    + ","required":true}} + > + + +
+
+
+
+ + +
+ + + Default Response + + +
+ +
+
+
+
+
+ \ No newline at end of file diff --git a/docs/api-reference/get-a-webhook.api.mdx b/docs/api-reference/get-a-webhook.api.mdx new file mode 100644 index 000000000..dd3a21854 --- /dev/null +++ b/docs/api-reference/get-a-webhook.api.mdx @@ -0,0 +1,101 @@ +--- +id: get-a-webhook +title: "Get a webhook" +description: "This route allows you to fetch a specific webhook in your Port organization. You can also see it in the [data sources page](https://app.getport.io/settings/data-sources) of your Port account.

To learn more about webhooks, check out the [documentation](https://docs.getport.io/build-your-software-catalog/custom-integration/webhook/)." +sidebar_label: "Get a webhook" +hide_title: true +hide_table_of_contents: true +api: eJztVEtr20AQ/ivLnhKwraRHEQKBllB6CWlKKcGH1WokLZZ3ld1Zu67Qf++MHrZikh4KvfUi72Nm9nvMuJU5BO1Ng8ZZmcqnygThXUQQqq7dPoiDiwKdKAB1JZQIDWhTGC32kFXObYSxHOLFg/MonC+VNb8UV1uJH5SqlaVKwYkAIAxyOFYgnnOFVIwSNQTRqBLWFxViE9IkUU2zKgEbKrgyLgmAaGwZEk5ZjimXwhWzd5XWLlpc3WQ+ue0/T07UoLwVW+eJS0aUJshhIXQFeiP4bADjdNyCxR73CQgdhzmSLJo6X/KrBKPAvfKw1ASqdmWiY0C3XRqLUPq+TjI+l1yu5EKiKoNMn+X34VCuF7JRXm0BwfNFKwOB2iqZthIPDZAXAT3xlt1CGramUVhRIUs5tDM54SUjwNPZuYek9PGahWKSk1/s515ZPJo6iEZVPLxE4yGXKfoIHSEMoKM3eOjxZSQnvUYcPKg8nTENcs3RHkJDGwjM4cPVFf+8RvYRChVrFI9jpOyIHElQOXpUktJyMdBMZbK7ngQMSXui00mG5XeTatHXFH1qHTMzTM45fGV5B2wTk6PSlPYFDidx7yJB8mMfy1H/ilhTVtf7Ubg+3WDN8X0P3j18plAGNpC9Xl2xd40LuFWWw8fq90ANO/lx7l4rtSNlLf4fxn84jIPtCD8xaWpF9pJRfSe1Y/89y901BU4gaZnOJo7aqiJbOaxtMxXgm6+7jo9fIngeF1rulDcq4/6gNs1N4DW1eUEGwB9Mv3gcx/BS/O0gv0lvanXLfb5TdeQdLTfU+K/+Trr1fCjvPz1RkIosynxeNv28jAtm+Gb980EaHuNvt3gn5YbmSNA03h7Dh5t3E8a5PDKxzKDrfgOgDmQ+ +sidebar_class_name: "get api-method" +info_path: api-reference-temp/port-api +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import SecuritySchemes from "@theme/ApiExplorer/SecuritySchemes"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import Markdown from "@theme/Markdown"; +import Heading from "@theme/Heading"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; + + + + + + + + + + +This route allows you to fetch a specific webhook in your Port organization. You can also see it in the [data sources page](https://app.getport.io/settings/data-sources) of your Port account.

To learn more about webhooks, check out the [documentation](https://docs.getport.io/build-your-software-catalog/custom-integration/webhook/). + + + + +
+ +

+ Path Parameters +

+
+
    + ","required":true}} + > + + +
+
+
+
+ + +
+ + + Default Response + + +
+ +
+
+
+
+
+ \ No newline at end of file diff --git a/docs/api-reference/get-actions.api.mdx b/docs/api-reference/get-actions.api.mdx new file mode 100644 index 000000000..94c5b5c12 --- /dev/null +++ b/docs/api-reference/get-actions.api.mdx @@ -0,0 +1,126 @@ +--- +id: get-actions +title: "Get actions" +description: "This route allows you to fetch one or more self-service actions in your Port account.

The call will perform a logical `AND` between all query parameters below, and return all actions that match the criteria.

To learn more about actions, check out the [documentation](https://docs.getport.io/create-self-service-experiences/)." +sidebar_label: "Get actions" +hide_title: true +hide_table_of_contents: true +api: eJztVstu00AU/ZXRsKFSErddRggpolFVgRCCskBVRMf2dTyq7XHnkRCi/DtnxnFiQhJBaCUWbBx77mPOfZ2bJU/JJFrWVqqKD/ltLg3TyllioijU3LCFcswqlpFNcqYqYkqzUmlihoqsb0jPZALlxDswTFbeQLMPSlscJspVdvAq1tHr8LjNiSVwzOYSj5p0pnTJBCvUVOKc3Y/eX92zmOycqPII2KMjvWC10KIkS9pACFg9JqqUabJON2rt/TYXlpXCY7X+Li1hJEUXgmIFCZiFIESMWFvrHktySh6YP/LWd6lKXEmVFV48eZlbW5thFOHYDKZkawQ5kCpKNAlL/W5C+vQN0UmqEjLR2YD3uBVTw4d3fNTcxSc9vo0KgiU3uL0UfLjkdlETiiG0FguYIobSdM6N1bKa8tUKIl+0kCPoVfDmzcINX2UK5DKTpCHarTKxrTgyTGUh4MYyaoo+F5XdVL5JIBxpenRSU8qHmSgMrXpPhzsuHNXQsKdA3xjjaJ4rs23JEIs0+bPE0uNUudLX9c3H8eh2jIOr8btx8zL60r/kk0PhKjRIaKy9Md5txMzfGJnT289gTOq+k30MW39d4hexMDLpp2SFLMzZEzdArBRmrOIHIq9dXKAg8LEb+U3G7q12dN8D1RSY+1ZzU81AHDE1oCj9I1i/1KybMhRqP1oYTaekvwYnJ140u8DH7PLgHTNwQNMJu+5BE4YSBx5bBJKIwV0YC/hE1dOhaNnEK2oyNT4o9Onl+bn/+Tm/V5QJV1j2ca0ZZhEUlCtcyNFT3LOSzfERzS6i1rvHoGctTzldQN52o6hlpxl5F/Ann5cGTQt7O1e1fEudDIwcQGj5vZ2IkKUcIcKqmaBMBXNpC68fFszow43P6zp5Q34xOPc9VytjS7Qf1Nfer2lD8rs9t+SJqiwI5f/2e87t11Td0jcb1YWQgRtCIy3XDbceErFdj2Bx68+XS5AVfdbFauWPm9HxjZhKI+JiMytHC3vywtuL/AGtu3/RzgQWEWTcE8PfAzxlrR1BfGDF/gXof3ZPHclCd/OeGPrpi+oIru5ePI6r0d/ZTL9jsl00W+2J/wBNxJ5Y7ybdjXA9vvUz6fyAdqn7IVD3+sWPYiuqFh3Xu5zeQPBPj3CvyStQOsNieL1RbyQHDdYrotX26cQ/rtUP+gRy+g== +sidebar_class_name: "get api-method" +info_path: api-reference-temp/port-api +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import SecuritySchemes from "@theme/ApiExplorer/SecuritySchemes"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import Markdown from "@theme/Markdown"; +import Heading from "@theme/Heading"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; + + + + + + + + + + +This route allows you to fetch one or more self-service actions in your Port account.

The call will perform a logical `AND` between all query parameters below, and return all actions that match the criteria.

To learn more about actions, check out the [documentation](https://docs.getport.io/create-self-service-experiences/). + + + + +
+ +

+ Query Parameters +

+
+
    + ","required":false}} + > + + ","required":false}} + > + + ","required":false}} + > + + ","required":false}} + > + + + + + + +
+
+
+
+ + +
+ + + Default Response + + +
+ +
+
+
+
+
+ \ No newline at end of file diff --git a/docs/api-reference/get-all-action-runs.api.mdx b/docs/api-reference/get-all-action-runs.api.mdx new file mode 100644 index 000000000..04078ea7e --- /dev/null +++ b/docs/api-reference/get-all-action-runs.api.mdx @@ -0,0 +1,126 @@ +--- +id: get-all-action-runs +title: "Get all action runs" +description: "This route allows you to fetch all action runs in your Port account. The route will perform a logical `AND` between all query parameters below, and return all action runs that match the criteria.

To learn more about action runs, check out the [documentation](https://docs.getport.io/create-self-service-experiences/reflect-action-progress/)." +sidebar_label: "Get all action runs" +hide_title: true +hide_table_of_contents: true +api: eJztVV1r20gU/SvDPO2CYyeFfTGlEOiSlkIp3exTMPFIurIGj2bU+bDjNf7ve64kO47jmE0dln3YF9nSvXfm3K9z1rKgkHvdRO2sHMvbSgfhXYoklDFuGcTKJRGdKCnmFX8TKmdf4ZMNQlu2e/HN+QhD7pKNQ3FbUX/GUiOgIV86XwsljJvpXBkxvf76cSoyiksi2x76I5FfiUZ5VVMkH2DE7QOhbCE8xeTts7tjpaKoFcOKuBBJIFCr4fvMjz60j1snDCmE1s4jnwyQ9k8YiLyifC74M59wV7g81WSjYpfJL1WMTRiPRvgchjOKDZIcajfKPalIF4FMiYdf6Jwu6AFZarI5hZGn0lAeL7qrLhrvZp5CGP06lAMZ1SzI8Z287nB8Bw45GcjHzGFcywBktZLjtYyrhtCXEL22M7kZSM1tasuF0yyC8ArMOvL7YTNJ6IKNpSYvXNmm2TkLFYLLNRIp0KXY1fCxOF0VcaKnH0l7KuS4VCbQZvBqcJlJ1MAh/kN8O/+3hJg5h1GwL2HkUxf0DODnUkyjTzQdCGfNim+1yPTJGLYjnlG3IFS8YeEShuseAdocrVxr2RaNfcWycthIHbuSnVEtm+qMPJxrHFenWo6v8F89dP9/u3wBsNG1Pt7lPlZ0BzPoJ5vc08sb1o4esEtWmXtccK+Lo6BgwvgxmJbDMpXPyRYDAbIS9KDqxlBbRF10XHOj46eUiRkmJbSGpfPzEjTFjAfazJXlQUArCk6pn+zVQSPQoRBJFdvOTTuE0xeTBzsEypPnDWduyEBpaA44BDxUjH3LIOwFkmmcDRS4Su8uL/nnadYfqVTJRPG995QblA+0UzncJkFxkpkoVngZLa5GHWgQGl/BKPxiS1DJGzhtGVI1eo8g5T7kP7hvHaQt8F0LEfaF9pp2nYDE679a/pV9YyskiahN2+jSteE6GvZvVef622e4MrAux6vhJQ9F40KssfBw70+/oXioIYdjsZa5sxFt+18J/wUl7IYgYlVHjVG6Jed2rtb9EN7JxRUc+zHk1ejVskJz2bxeZyrQn95sNvy54wAez0IHlZndDp1s8/kaeTSTOSZ7T5kXCrKGD5LJ7Fx4r5bIEwj35fknQZ4jkyeQ7UT5jNr9pEieQPVElc9A9kpJPIFoK7tngPmPSuGpxXom8I/pT/gFBJixStxN9jXu5vdbZpTE9LKvQ/NWh/o/zCBbk91f3kOB6qDwk0t+NOQ99ElA5T7s3DvLiwG93m29OefJZrP5G6MqvxY= +sidebar_class_name: "get api-method" +info_path: api-reference-temp/port-api +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import SecuritySchemes from "@theme/ApiExplorer/SecuritySchemes"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import Markdown from "@theme/Markdown"; +import Heading from "@theme/Heading"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; + + + + + + + + + + +This route allows you to fetch all action runs in your Port account. The route will perform a logical `AND` between all query parameters below, and return all action runs that match the criteria.

To learn more about action runs, check out the [documentation](https://docs.getport.io/create-self-service-experiences/reflect-action-progress/). + + + + +
+ +

+ Query Parameters +

+
+
    + ","required":false}} + > + + ","required":false}} + > + + ","required":false}} + > + + ","required":false}} + > + + ","required":false}} + > + + ","required":false}} + > + + +
+
+
+
+ + +
+ + + Default Response + + +
+ +
+
+
+
+
+ \ No newline at end of file diff --git a/docs/api-reference/get-all-blueprints.api.mdx b/docs/api-reference/get-all-blueprints.api.mdx new file mode 100644 index 000000000..15a440fbb --- /dev/null +++ b/docs/api-reference/get-all-blueprints.api.mdx @@ -0,0 +1,69 @@ +--- +id: get-all-blueprints +title: "Get all blueprints" +description: "This route allows you to fetch all blueprints in your Port account.

To learn more about blueprints, check out the [documentation](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/)." +sidebar_label: "Get all blueprints" +hide_title: true +hide_table_of_contents: true +api: eJztUk1v2zAM/SuCThsQR8mOQVGgw4Zi2KXYslOQgywzsVBZ0iQqXWr4v490PuAM7T/YRbbIR/Lp8fWygWySjWiDlyu5bm0WKRQEoZ0LL1kcQxEYxA7QtBwTtSsQk/WYhfWcTuIpJBTamFA8zu/qpO7HYx2EA5286EKifjW1nVTPhGnBPAuOYgti0wRTOvComcv2Q4sY80opCuf5HjDSkLkNqi7WNRXPrXLY4YtOUBmN2oW9MiVj6OwrVDQB9mlslZUJfmf3hYANAasuNOBUBiyxuvJRH+dyJlHvs1xt5OcrTbmdyQymJItHyvSypidBYlAC3azqCXIgbIIcaSZQm15+Wiz4c6vxF9jp4lD8OCPlMMxkB9iGhrL0UuIRNbZ0UYelmgxgJukAKY9ESnIEuciko52oJIcJ7Z8kdHcidCHfSzxGoHIq+w5H6ux1x/eHQjySfR2Vo7Blxi09lKqYp/W7MJZbdIwfV//w9I2gTOz0wuV8IQkbQ8ZOe4afuz8C/uMhqrtRp5e0LCQX/DfjZUUIf1BFp2kVJOq49f5skI08LAlY37i1Jdk51fe1zvAruWHg8O8CiR1MvwedrK55f5vt1HuPX9fUTRduPXXI8+iQ8w9b75LyHD9oGv+GdUbweA6zd0ruyDmC/Hd/hZ8y7xacnXhBsyTbYRj+Aut9rOk= +sidebar_class_name: "get api-method" +info_path: api-reference-temp/port-api +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import SecuritySchemes from "@theme/ApiExplorer/SecuritySchemes"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import Markdown from "@theme/Markdown"; +import Heading from "@theme/Heading"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; + + + + + + + + + + +This route allows you to fetch all blueprints in your Port account.

To learn more about blueprints, check out the [documentation](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/). + +
+
+ + +
+ + + Default Response + + +
+ +
+
+
+
+
+ \ No newline at end of file diff --git a/docs/api-reference/get-all-entities-of-a-blueprint.api.mdx b/docs/api-reference/get-all-entities-of-a-blueprint.api.mdx new file mode 100644 index 000000000..e8fe0e382 --- /dev/null +++ b/docs/api-reference/get-all-entities-of-a-blueprint.api.mdx @@ -0,0 +1,210 @@ +--- +id: get-all-entities-of-a-blueprint +title: "Get all entities of a blueprint" +description: "This route allows you to fetch all entities in your software catalog based on a given blueprint.

To learn more about entities, check out the [documentation](https://docs.getport.io/build-your-software-catalog/sync-data-to-catalog/#entities)." +sidebar_label: "Get all entities of a blueprint" +hide_title: true +hide_table_of_contents: true +api: eJzlVllvGzcQ/isD9iUGJK1tpC+CYcBA3cAtUAeN+2QbErU7q2W9S25IrhxF0H/vDPeUI8VtYTRu+7LHcDjHN+dGJOhiq0qvjBZTcZMpB9ZUHkHmuXl0sDYVeAMp+jhjGqD2yit0oDQfWnAm9Y/SIsTSy9wsYSEdJmA0SFiqFWpY5BWWVmk/OVvY6Dw8bgzkKK2GwtBVuSCdnegRxBnGD8A0nyHcJiauCjqVbOb9m8z70k2jiMhuskRfGusnykSLSuXJmI0at0aNG6Mit9bxOKGfsTcd8btW49FEjISXSyemt+KyIYr7kSillQV6tHyyEY4MK6SYboRfl0iALYwhNzTdTjCVVe7FNJW5w+1IKAb0Y4V2TaeapNAvforzKsFZLPO4yqXHZFZaU6IN+kbC4sdKWUwaKaMn4blKYe5thfMR3PYioBfx97CJK+dNoT7jmGKESxtgdlFsdKqWFTEG3AqTYB459FU57iIa9bqj1iK6PG7I6+gIHhVlzQKh8T2B1JoixLVFv04LsR3tAVhaKxlA5bFwA7rzpH4ptgeAVjooex7SC0pTVgEmhZUkt1xv320wcA0/fbj+5SWz7ndHCJEDVewJ3aMJXOt8zRodtja0oFmC22oCjaqNTbLoSooN1pD9aCzBKosyxynMN3An+nBM2hBcJexGqtDeidGdUIPf7fxFQW8iLF4hxtzDCE5TFMr7YQ6+OKBfZNxehFskGyBL6bMex666Zr3sHbncA56CfEPO9OwMNbvXiYLHzLi+5EJff5REb5t7W4TU9BzGlaWghJa3oC5N6qkvWpTJFLvmyJwteiFJTo+P+bVr1ocqjtE59vTt8dsvz681tramhkcOwQJorbEOTEx2kMPTO32nz7xc5HjOH5aeAGc+O79kxrOIvlrKD730hk4vu3MtOZ9r42epqXQyp9Oko18M8VI+C2ZR2FeK+9a8h3dO2DkgKRCkNEJaTVFravD69PS1eK00VZ9KZpxI6Pyu7zdDV7mcIDFY+1hIHv6hWsJqUGfz15z+fl8qfCunaXprmc+Cpifx1tAe14Z0dhx2jryjhSAzVIaCOpQY1cU7FdHqJOrSx0WbfVW8jbr64TKzq3axqGxOItr2J0s16H47NfmBsa/rra3Mvm2X6mcc9OOLiuy06nMYyaJpNRlVMd2qe3hqwnXlc+Z/T/rg4v0VsbJhddROJscc0dI4X9CiQ+yN9HfodxdCiq3sC+jpFNgI2ic8Mf/v18w6WB4/0faUSxUKJsR/06TSrVidEGOfTPQzPTAUcLCsUof3fHuzYWx+s/l2y+R6SnOWJcpxHh/YhYYR+m9vmgeC8EDF8/yOHjYY4gur059H9BUsQd900fwq5v26/u9F959cMZ9P3x0o7/nHKsbyL/aBN782S+cRvNCCecD4doTp9dDy1qm9zW97P5zF7y5viF1W3ECHE/EhTMTmg53fq+npqKzV8pPzcO+VM5qUQPP2vGOvTw5eaCZvn/PswXb7B9+LO9o= +sidebar_class_name: "get api-method" +info_path: api-reference-temp/port-api +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import SecuritySchemes from "@theme/ApiExplorer/SecuritySchemes"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import Markdown from "@theme/Markdown"; +import Heading from "@theme/Heading"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; + + + + + + + + + + +This route allows you to fetch all entities in your software catalog based on a given blueprint.

To learn more about entities, check out the [documentation](https://docs.getport.io/build-your-software-catalog/sync-data-to-catalog/#entities). + + + + +
+ +

+ Path Parameters +

+
+
    + "}} + > + + +
+
+
+ +

+ Query Parameters +

+
+
    + "}} + > + + For example: `{ \"properties.propertyIdentifier\",\"identifier\"}`"}} + > + + For example: `{ \"properties.propertyIdentifier\",\"identifier\"}`","required":false}} + > + + +
+
+
+
+ + +
+ + + Success + + +
+ +
+
+
+ + + One of the following errors occurred: + + + + + + + + + + +
ErrorDescription
`not_found`A blueprint with the provided `identifier` was not found
+ + + +
+ +
+
+
+ + + One of the following errors occurred: + + + + + + + + + + +
ErrorDescription
`invalid_request`The provided data does not match the route schema
+ + + +
+ +
+
+
+ + + One of the following errors occurred: + + + + + + + + + + +
ErrorDescription
`internal_error`An internal error occurred
+ + + +
+ +
+
+
+
+
+ \ No newline at end of file diff --git a/docs/api-reference/get-all-integrations.api.mdx b/docs/api-reference/get-all-integrations.api.mdx new file mode 100644 index 000000000..d5c06809d --- /dev/null +++ b/docs/api-reference/get-all-integrations.api.mdx @@ -0,0 +1,69 @@ +--- +id: get-all-integrations +title: "Get all integrations" +description: "This route allows you to fetch all integrations in your Port organization.

To learn more about integrations, check out the [documentation](https://docs.getport.io/build-your-software-catalog/sync-data-to-catalog/)." +sidebar_label: "Get all integrations" +hide_title: true +hide_table_of_contents: true +api: eJzlUsFu2zAM/RVBpw1I4mTHoChQYENR9FJs2SnIQbaZWKgsuRSVLjP87yMVp3Ow9gt2kU3ykXp6fL2uIVZoO7LB67XeNDYqDIlAGefCa1SnkBQFtQeqGskp6wkOaKQhciAAVE8BSQU8GG9/59LipsTiNh+boBwY9KoNyGNLnn41ZKaqBqpnJXlqQG3rUKUWPOXy7lND1MV1UXA6Lg5AHd+1sKEok3X1XK6fx7CnV4MwrwwZFw5FPPlqXnMwp/CW/LzQM03mEPV6qx8mDPRupiNUCS2duNbrkvkCCgzB1Gt7hR0YjRA7DoBH9frLcimfayW/wt4kR+r7iNTDMNMtUBNqrvIzmEtnqOGgOK6KyRVayOARMGYuCR1jLiKYzk400MOE+Q+WsT0zuvDvNZ064HZue4QTT/amlfguMREcd8VpK5Qbfit3CVHr9yG3W3KCz/u9e3pgqBA7P3G1WGrGdiFSa7zAx+n3QP9YhTuvBOp1Fbjs6f9w3XkNBL+o6JxhuVm4vNl+dMFWH1d5EX99wLttWFup9X1pIvxENwySfkmA4lT+PRq0ppQlbXdTh91/2/A4k2T21AbP2Qbjj/jrUvKSPxqX3vNHBudzmH3QcsP2UGyy2zf4ufJhw2i3C1o02Q3D8AfiBJfU +sidebar_class_name: "get api-method" +info_path: api-reference-temp/port-api +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import SecuritySchemes from "@theme/ApiExplorer/SecuritySchemes"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import Markdown from "@theme/Markdown"; +import Heading from "@theme/Heading"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; + + + + + + + + + + +This route allows you to fetch all integrations in your Port organization.

To learn more about integrations, check out the [documentation](https://docs.getport.io/build-your-software-catalog/sync-data-to-catalog/). + +
+
+ + +
+ + + Default Response + + +
+ +
+
+
+
+
+ \ No newline at end of file diff --git a/docs/api-reference/get-all-migrations.api.mdx b/docs/api-reference/get-all-migrations.api.mdx new file mode 100644 index 000000000..e5efc1882 --- /dev/null +++ b/docs/api-reference/get-all-migrations.api.mdx @@ -0,0 +1,111 @@ +--- +id: get-all-migrations +title: "Get all migrations" +description: "This route allows you to fetch all migrations (both past and present) in your Port organization.

The call will perform a logical `AND` operation on the query parameters below, and return all migrations that match the criteria." +sidebar_label: "Get all migrations" +hide_title: true +hide_table_of_contents: true +api: eJzlVd9P2zAQ/lcsvwyk0sIeK4RU0Q5FK6Vi5WGrquGkl8YiiYN9Keuq/u+7c9I2dIA2iYdJk1Cw774734/vrms5BxdZXaA2uezKSaKdsKZEECpNzZMTK1MKNCIGjBKWiUwvrGK4E0ehwUQUyqFQ+VwUFhzkeCx0zmZWjI1FYexC5fqnN2mfh7Zz4T+TBETE/p40fQqwsbGZUCI1C01ycd8b9e+FIYW3FPSHZPJYgl3Rk1ZlgGCdCIHCbPn3LWBp88MgMVEoMsXhswNKluy0asuWRLVwsjuV1zu0nLXk3jnp1tJFCWRKdtcSVwVQjZS1akXW5CdzDblDq/MFKSAvM3Z7eXM9Hg4mgz7Jbu9Go2B0RafxYNSvTsEomAS9YfCtun7qBcO72wGdLnujy8Fw6A1r+Pda1psENyM522zofW6YrwfBcgrZx6CwdHS38FhqC3PZjVXqYNN6IZE64FdcqQiNpeshQUDoOXVZxxqsMLEvauno/JQY6rxGrRDmXrzrQlt8JRpFKmekV02vAL3Z7KijCn1iIQYLeQSdBeCJOmHVcc1Eoh8JiRss/OAa71d8epd0w7SEggD4hynv8EI5Z6Iq6SeNyUHmr0VIRHMQlcTGladZCMqCZdpYUPPuzj1RkrE0WgXxEzzhPp6e8r/nYfYhVmWK4rZGSuYI8Tgx9KakAkqmNiZ06SzPOvsJkRyJXW75XtqUIAli4bod7k2bbAua5LY2shn2Fy5wFdA2+P2MFPozNKrbKykOW28BWXcgoUTJquJybLy5xpTxfnP0xgFBObAqw7P2KXevMA4zlTO89s5cej71h01cy8jkSD38/3Zc1RCEH9gpUkWFpxL6Hq9rOkzl8oyA2bMlmFCRWbVeh8rBnU03GxZXQ8M0mWunwnTH55Z8oH43FtBSEYNJIHkWfwO/0Zx/cr+8WMUq4+2efNeE/3a7vBFfc7HtY5zxhSgS8rhNZ81VcTWYEFSVzI3mQD/4ga4PTIGtKl81XB9OehUEf7kuL5qc06ALWhcXO3iledWgXhxbNGdLv4ibX1eFBIY= +sidebar_class_name: "get api-method" +info_path: api-reference-temp/port-api +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import SecuritySchemes from "@theme/ApiExplorer/SecuritySchemes"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import Markdown from "@theme/Markdown"; +import Heading from "@theme/Heading"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; + + + + + + + + + + +This route allows you to fetch all migrations (both past and present) in your Port organization.

The call will perform a logical `AND` operation on the query parameters below, and return all migrations that match the criteria. + + + + +
+ +

+ Query Parameters +

+
+
    + + + ","required":false}} + > + + ","required":false}} + > + + +
+
+
+
+ + +
+ + + Default Response + + +
+ +
+
+
+
+
+ \ No newline at end of file diff --git a/docs/api-reference/get-all-scoreboards.api.mdx b/docs/api-reference/get-all-scoreboards.api.mdx new file mode 100644 index 000000000..8a3110054 --- /dev/null +++ b/docs/api-reference/get-all-scoreboards.api.mdx @@ -0,0 +1,69 @@ +--- +id: get-all-scoreboards +title: "Get all scoreboards" +description: "This route allows you to fetch all scorecards in your Port organization.

To learn more about scorecards, check out the [documentation](https://docs.getport.io/promote-scorecards/)." +sidebar_label: "Get all scoreboards" +hide_title: true +hide_table_of_contents: true +api: eJzdUsFu2zAM/RVBpxXw7GTHoChQYEMx9FKs2SnIQbaZWKgtaRTtLTP07yMdp3WA9gd2kS3y8emRj6OuIVZoA1nv9EZvGxsV+p5Ambb1v6M6+V6RVwegqpGYipVHqAzWUVknaVRPHkl5PBpn/xphym9LLO6mY+tVCwad6rhMmZK5FxSZqhqoXpREqQG1q33Vd+Bootl/aohC3BQFh2N+BAr8Um59EdB3nuDzG1Nxk+tMkzlGvdnp59e43mc6QtWjpRNnRl2yGkABIZh6ExfIxFiEGLyLwDSj/rJayed6Rl/hYPqW1I8ZqVPKdAfU+JqzLJJ1BEMNX4phXSweECU4AMZJSI8tQy4dmmAXDeq0kP3MM+rOgi7iR02nAFzOZY9wYmZnOrnf96wDZxs4bEVxw41ylei07uCnckut4Cfr7p++M1SEnTtc5yvN2OAjdcYJfGZ/AHrbgdLPTV2NZ9SVd8QO/g/bdJ4xwR8qQmt4ljyVybZxdninh7XYerVuDc9NUuNYmgg/sU1Jwr96QFlB/h0MWlOKAbv9cnkevm2ZzfRCvbT4ZbJ4/pHduaScxAfT9u95P4GnM2UflNyy9YoX6O4Vfs58WDCv0gUtI9mnlP4BgTF6lA== +sidebar_class_name: "get api-method" +info_path: api-reference-temp/port-api +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import SecuritySchemes from "@theme/ApiExplorer/SecuritySchemes"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import Markdown from "@theme/Markdown"; +import Heading from "@theme/Heading"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; + + + + + + + + + + +This route allows you to fetch all scorecards in your Port organization.

To learn more about scorecards, check out the [documentation](https://docs.getport.io/promote-scorecards/). + +
+
+ + +
+ + + Default Response + + +
+ +
+
+
+
+
+ \ No newline at end of file diff --git a/docs/api-reference/get-all-teams-in-your-organization.api.mdx b/docs/api-reference/get-all-teams-in-your-organization.api.mdx new file mode 100644 index 000000000..e47cdb5cd --- /dev/null +++ b/docs/api-reference/get-all-teams-in-your-organization.api.mdx @@ -0,0 +1,101 @@ +--- +id: get-all-teams-in-your-organization +title: "Get all teams in your organization" +description: "This route allows you to fetch all of the teams in your Port organization.

To learn more about teams, check out the [documentation](https://docs.getport.io/sso-rbac/rbac-overview/)." +sidebar_label: "Get all teams in your organization" +hide_title: true +hide_table_of_contents: true +api: eJzdVE1r20AQ/SvLnlpwpKRHEwKBlBAKJbTuKeSwlkbWkrV2Mzsr1zX6753Rh62YptdCL9Jqdr7fezroEmKBNpD1jV7qVW2jQp8IlHHO76La+6TIqwqoqMWmfKWoBkVgtlHZRhxQPXok5XFjGvvLSK7seo35Tf9YeeXAYKO2HjntmrMP0QtV1FC8qN7AKZ9KX6QtNNRneP5QE4W4zHM2x2wDFLhIZn0eo7/AtSlyeVz4FrC1sMs/ZnqhyWyiXj7plRTQzwsdDJotEKCYDzpyya3Ry4OmfQCe2CCaPQdaAg442SOhbTZ8AU3aSkZb8kfDufhVIBiC8pb4nEJ5PAf0rS0B+TjfKztFbiCrLEb6OqQYLM6cGbg5645fwRaU8HQbeTWJx+o6bljwek2A+6mvpa4suDKeVRdUQQ1XPZw709AJ08qjAsMHwSRTD5XiWuVC+cbte1higMJyeDnl2FmmwRoY/MKlku3MAnFEiME3EQbsuQuE12QRSr2sjIvQMRwRioSW9j0Ya6YFL4uXy/sslzRgJm5Tqh6RT5eX8no70x1UJjlS30ZPLTthoGvP5TSzReAwVPNH3l7lQ26pj+3EhYSObyeWmWBnJNPzZr8LaYZeppZP/An2C8wguE3cAo4q0CNMNY/HUQNsle/DLTnx75Vz+/jArtLYMNxVdqnZN/hIW9OI+5j9HqgX4Vv1zYV3Dv5BF74hFtV/oe5h5wQ/KQ/O8G55Sz2MhxHsJ91eieMk/5pXKNbDYW0i/EDXdWIedCMkKG00a3fk6F+3929U9MehX5hzM723xiVx6mnbGrQyE8/3PBfF/ecVu5oke5rz96Xn73iQnUxXzX6W+pzYQwfy7BbvhFwzrxWr4+boPty8GzDqZPKWUflf1/0G6M9JQw== +sidebar_class_name: "get api-method" +info_path: api-reference-temp/port-api +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import SecuritySchemes from "@theme/ApiExplorer/SecuritySchemes"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import Markdown from "@theme/Markdown"; +import Heading from "@theme/Heading"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; + + + + + + + + + + +This route allows you to fetch all of the teams in your Port organization.

To learn more about teams, check out the [documentation](https://docs.getport.io/sso-rbac/rbac-overview/). + + + + +
+ +

+ Query Parameters +

+
+
    + ","required":false}} + > + + +
+
+
+
+ + +
+ + + Default Response + + +
+ +
+
+
+
+
+ \ No newline at end of file diff --git a/docs/api-reference/get-all-users-in-your-organization.api.mdx b/docs/api-reference/get-all-users-in-your-organization.api.mdx new file mode 100644 index 000000000..562603637 --- /dev/null +++ b/docs/api-reference/get-all-users-in-your-organization.api.mdx @@ -0,0 +1,101 @@ +--- +id: get-all-users-in-your-organization +title: "Get all users in your organization" +description: "This route allows you to fetch all of the users in your Port organization.

To learn more about users, check out the [documentation](https://docs.getport.io/sso-rbac/rbac-overview/)." +sidebar_label: "Get all users in your organization" +hide_title: true +hide_table_of_contents: true +api: eJzdVE1v2zAM/SuCThuQxu2ORjGgwIaiGFAUW3sKcpBtOhYqWy5FOcuC/PeRVpy4xbrrgF1skSIfvx611xWEEm1P1nc614+NDQp9JFDGOb8NauejIq9qoLIRnfK1ogZUDIBB2U4MUD14JOVxYzr7ywjW8rrA7PP4efTKgcFOtR4ZtmD05L1QZQPlsxKFQK4qX8YWOhoR1h8aoj7kWcbqsNwA9RxkaX0Wgr/AwpSZfC78ADhY2GYfl3qhyWyCzlf6SQLo9UL3Bk0LJFK+2uvAIVuj872mXQ9csUE0O3a0BG2Y6QOh7TZ8AV1sBdFWIrTGOv7XFgPdMzCfnTkd+8Z3cB/bAlAkW1JE0QcuKQZRoR9sJcksdIlgCKob4nPsq9OZwLRh2SXEJExuJ8XcN2nmCOgdnBCSMB/zpLPhpmrtWeYoBCWDnDTzMElzDrM+HLhrQpqXCCgtHAPm3BtwlRT4llqg0tXIqa3p6Eys2qMCwwchxlLd1XKoFsp3bjdyI/RQWnavJoytZS4WwAwsXaxYz1QUQ4TQ+y5AIqDkDS/RIheV18YFODAnApQRLe1GRhTMTe4sT5iLrfKYiCNmE9RIi0+Xl/J7XdMXqE10pL4fLbX0hNnWeA6nmbIyckMNC9lwlSVsiY/DRMiIjm8nqpvezpiu58n+EOamXKaUzyTu7TeYjeAmcgp4XEV9HFPD5bFXGlvtR3dLTuzH9b15uGNTSSwVd7W81Gzb+0Ct6cT8iH4LNL4Er5+A+fa/Hf5el74j3uz/4olJPSf4SVnvDPeWuzSOcX8c9koPV7LU0xvUcAtFu98XJsATusNB1GlvhASVDaZwJ47+tXv/Zov+WPQzc26274NxUYxG2g4GrdTE9a3nS3H79ZFNTZQ+zfn7PPL3eJCeTFfdbgb9ltgpA/keFu+4XDOvFW/H55N5unnX4bgnk7WUym/d4Tek3XhQ +sidebar_class_name: "get api-method" +info_path: api-reference-temp/port-api +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import SecuritySchemes from "@theme/ApiExplorer/SecuritySchemes"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import Markdown from "@theme/Markdown"; +import Heading from "@theme/Heading"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; + + + + + + + + + + +This route allows you to fetch all of the users in your Port organization.

To learn more about users, check out the [documentation](https://docs.getport.io/sso-rbac/rbac-overview/). + + + + +
+ +

+ Query Parameters +

+
+
    + ","required":false}} + > + + +
+
+
+
+ + +
+ + + Default Response + + +
+ +
+
+
+
+
+ \ No newline at end of file diff --git a/docs/api-reference/get-all-webhooks.api.mdx b/docs/api-reference/get-all-webhooks.api.mdx new file mode 100644 index 000000000..8f83fe1f4 --- /dev/null +++ b/docs/api-reference/get-all-webhooks.api.mdx @@ -0,0 +1,69 @@ +--- +id: get-all-webhooks +title: "Get all webhooks" +description: "This route allows you to fetch all webhooks configured in your Port organization. You can also see them in the [data sources page](https://app.getport.io/settings/data-sources) of your Port account.

To learn more about webhooks, check out the [documentation](https://docs.getport.io/build-your-software-catalog/custom-integration/webhook/)." +sidebar_label: "Get all webhooks" +hide_title: true +hide_table_of_contents: true +api: eJztU8GK2zAQ/RWhUxcSO+kxLAsLXZall6VNKSXkIMtjW8SWXGmUNDX+987YTtaB7rG3Xmxr9N7TG81zJ3MI2psWjbNyI7eVCcK7iCBUXbtTEGcXBTpRAOqKa+IEWeXcIQjtbGHK6CEXxjLOi1fnUThfKmt+K5ZMxA/ia2WJGpwIAAIraJhAb7HLFSoRiKohiFaVsP9QIbZhk6aqbZMSsCXJxLg0AKKxZUiZspwod8IVs5OV1i5aTO4znz4Mj60TNShvReM8tZRRZ9cGFkJXoA+Ca6MZp2MDFgfnb0aoHOZOsmjqfMmnko0CT8rDUpOp2pWpjgFdszQWofSDTjodl94lciFRlUFudvL7WJT7hQygozd4pnInMzILnhEeVL6Z6QS57wntIbS0AFLp5MfVil+3I/wEhYo1ii8TUvb9QjaAlctpl/ogG63CihbpcX2xFyQ78UfwYTASfU2At1mY2Q3Ifmb7K11iM9q5mO8knlsgOtE+w5mUrWp4/RjJhZ+iQWXDfitqlFjs0tjCDXSDNeOHoT6+vhCUjY39rZOVJGzrAjbKMnxSfwa8CSixbm6mk5RYpPn+z/m/z/kYAIRfmLa1okHTyIZMdVP4dvK4JuB1WBSpikbKG12XqQDffN33XP4ZwfPfQZ9H5Y3KOBu7/TzVz09b0lKRhefpOwzpmz441pcty/WjquPfYjmAh2e/eIdyT6kUlO2HK3zceZcwpfyC5gvZ933/ByOW7dc= +sidebar_class_name: "get api-method" +info_path: api-reference-temp/port-api +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import SecuritySchemes from "@theme/ApiExplorer/SecuritySchemes"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import Markdown from "@theme/Markdown"; +import Heading from "@theme/Heading"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; + + + + + + + + + + +This route allows you to fetch all webhooks configured in your Port organization. You can also see them in the [data sources page](https://app.getport.io/settings/data-sources) of your Port account.

To learn more about webhooks, check out the [documentation](https://docs.getport.io/build-your-software-catalog/custom-integration/webhook/). + +
+
+ + +
+ + + Default Response + + +
+ +
+
+
+
+
+ \ No newline at end of file diff --git a/docs/api-reference/get-an-action-runs-details.api.mdx b/docs/api-reference/get-an-action-runs-details.api.mdx new file mode 100644 index 000000000..336566424 --- /dev/null +++ b/docs/api-reference/get-an-action-runs-details.api.mdx @@ -0,0 +1,125 @@ +--- +id: get-an-action-runs-details +title: "Get an action run's details" +description: "This route allows you to fetch the details of an action run.

To learn more about action runs, check out the [documentation](https://docs.getport.io/create-self-service-experiences/reflect-action-progress/)." +sidebar_label: "Get an action run's details" +hide_title: true +hide_table_of_contents: true +api: eJzdVE1P3DAQ/SuWLwUpuwGOEUJCaoWqXhClJ7SqvMlkY+GNw3gc2Eb5753JBwS0nHrrxYmdmfGb9+al0wWEHG1D1tc60/eVDQp9JFDGOf8c1MFHRV6VQHmlqAJVABnrgvKlMrUyuWQqjPX6covp1bDce+XAYK32HrnQlustAkOi8gryRyXHUvGh8HncQ01GQjYnFVETsjTl47DeATUeaW19miMYglUAV/KCrc1hBS8NoIU6h5AilA5yWo1XrRr0O4QQ0tO1TjSZXdDZg74ecdwxDr1JdGPQ7IEA5WOnAyPbG511mg4NMCGB0NY7zoc67iW/PedNe6E3faKtUPYUAQ98VnMd3rZcSrhMNMJTtAiFzkrjAvTJ5+XnWo2h6q0Uc/XbFrz/qBEoWzBdtrSAooOQ+MbvINmzqelVt1Gad5AII/Tcf4A8oqXD0P2WRQOULpnpIsOBI4liGhtfBwgC/eLsTB7vQX2F0kRH6m6K1D33xMRWni/TLKJOxu4ynbbn6YiWJeMr0m5stNcCB9tZi4iOo+dhMI1dzIJeYv8prI7Y5g5eCea0H7CQ5zoyJLR/hlHTE+0Vd8tZ/SBD6Yd0S07ib/k+dX37XUSflM30+fpMJGt8oL2pJXyqfgP03hRfwuyXjzJ2Ovc1sYr/t+tGFQheKG2cYbaZt0HYbhqHyVHTQMiMxuGRTdPPOlfMswR23dYE+IWu7+V4NJ5MSmGD2bpXpyX6kSVfWrE1LgqOYWxag1bCj6d+KtLJ3WSeU/UPDjxKyDyr9WGJdW5jIqLfLB118+1eWItC4XLYH4dhn16kwaO1P7pgvEhW+UsdTblkEyi20tVr+Pjl04TJVHO0dLrp+/4vTgM2UA== +sidebar_class_name: "get api-method" +info_path: api-reference-temp/port-api +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import SecuritySchemes from "@theme/ApiExplorer/SecuritySchemes"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import Markdown from "@theme/Markdown"; +import Heading from "@theme/Heading"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; + + + + + + + + + + +This route allows you to fetch the details of an action run.

To learn more about action runs, check out the [documentation](https://docs.getport.io/create-self-service-experiences/reflect-action-progress/). + + + + +
+ +

+ Path Parameters +

+
+
    + ","required":true}} + > + + +
+
+
+ +

+ Query Parameters +

+
+
    + + + +
+
+
+
+ + +
+ + + Default Response + + +
+ +
+
+
+
+
+ \ No newline at end of file diff --git a/docs/api-reference/get-an-actions-run-logs.api.mdx b/docs/api-reference/get-an-actions-run-logs.api.mdx new file mode 100644 index 000000000..727dc1480 --- /dev/null +++ b/docs/api-reference/get-an-actions-run-logs.api.mdx @@ -0,0 +1,130 @@ +--- +id: get-an-actions-run-logs +title: "Get an action's run logs" +description: "This route allows you to fetch the logs from an action run.

To learn more about action runs, check out the [documentation](https://docs.getport.io/create-self-service-experiences/reflect-action-progress/)." +sidebar_label: "Get an action's run logs" +hide_title: true +hide_table_of_contents: true +api: eJzdVE1v2zAM/SuCLmuBNE4G7GIMBQpsKIZdiq47BcGgOHQsRJZcSkqbGf7vIy3no13arcBOu/iTFB/fe2Qrl+AL1E3Qzspc3lXaC3QxgFDGuAcvti6K4EQJoahEqEAYt/KiRFcLZYUqOFFgtOOPC8wu+8udEwYUWlE7pHMWdNxRoB+JooJiLfgzHzhbuiLWYIPikPlZFULj8yyjz368gtA4DGPtsgJBBbjwYEq64EYXcAGPDaAGW4DPEEoDRbhIpS4adCsE77PzsRzJoFZe5jN5lXDcEg45H8lGoaohAPLPVnpCViuZtzJsGyA+bKwXgJRfa6vrWMt8Ss/qMT1/mHQjqZm3+wi4pTBLp9Gr0bUO9PqcXBBDrkgHC1cmPncMJxYpE+E+aoSlzEtlPHSjl8G9gMGVpYfTIH4v7te6eVNtH1Db1b52o0J1KE0q/9DLk6X1koTWpU7lWf6DM3qvPSgbDoZLZnN4AlvACB1J6KGIqMO2F3BBviNK8tmcf5H8jbMePAN/P5nw7SmkT1CqaIK4HSJlRx2RISpHFeSq56/vLZfZZpolrGQ1sk/Wpja7jEFKBoKbnZEiGkrZOVk1+sjI8hj1NyY2Adxh33NMaV/hSNGrSLhQ/+znRA7MV6CWbIJeidL16ToYjr+heuLq5guFMrDU8XQ8YdUa50OtLIcPp19DOEz0O98LMnT2hLNWFs4GUvG/XhdJgQCPIWuMIqaJs17UdvDDTG6mFDg4gp0Z+1u+N39PHkldEdUc37YL5eE7mq7jz2lc2SxL7dXC7OftVb7/foOcbGFNfjqsp40ykWMkj/jbUPxhhbxSfL+XDtXn/IKay7+RkLPbYR+ci3+xXU7C3k2j3R6D3rUzyN3NjxfH9ec79kZkoxyP87of5+GBOz159vM5T4X4yjqdTPlIYy5oWVzuw9OfFxOGtbGL5k7nXdf9ArpFw9U= +sidebar_class_name: "get api-method" +info_path: api-reference-temp/port-api +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import SecuritySchemes from "@theme/ApiExplorer/SecuritySchemes"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import Markdown from "@theme/Markdown"; +import Heading from "@theme/Heading"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; + + + + + + + + + + +This route allows you to fetch the logs from an action run.

To learn more about action runs, check out the [documentation](https://docs.getport.io/create-self-service-experiences/reflect-action-progress/). + + + + +
+ +

+ Path Parameters +

+
+
    + ","required":true}} + > + + +
+
+
+ +

+ Query Parameters +

+
+
    + ","required":false}} + > + + ","required":false}} + > + + +
+
+
+
+ + +
+ + + Default Response + + +
+ +
+
+
+
+
+ \ No newline at end of file diff --git a/docs/api-reference/get-an-entity.api.mdx b/docs/api-reference/get-an-entity.api.mdx new file mode 100644 index 000000000..92bbc8933 --- /dev/null +++ b/docs/api-reference/get-an-entity.api.mdx @@ -0,0 +1,219 @@ +--- +id: get-an-entity +title: "Get an entity" +description: "This route allows you to fetch a specific entity in your software catalog.

To learn more about entities, check out the [documentation](https://docs.getport.io/build-your-software-catalog/sync-data-to-catalog/#entities)." +sidebar_label: "Get an entity" +hide_title: true +hide_table_of_contents: true +api: eJzlV1lv4zYQ/isE+7IBbCsJti9GYCBA00VaoFk02ScnsGlpZLGhSC2PZL2G/nuH1OnYzrWLPdoXWSKHc3wz83G8pgmYWPPCciXpmF5l3BCtnAXChFD3hqyUI1aRFGycEUZMATFPeUxAWm5XhEsvoYlRqb1nGkjMLBNqOTpZ6GgSHleKCGBaklzhPlug9uo0BzMgcQbxLfFrNgMyTVTsctxl3qGbN5m1hRlHES6b0RJsobQdcRUtHBfJ0FseNpaHteXIrGQ8TPBjaFW7+Etj8WBEB9SypaHjKT2rF+nNgBZMsxwsaL+zpgYdyxkdr6ldFYDQLJTCMCSeTiBlTlg6TpkwUA4o99B9dKBXuCtRC37Cp1i4BGYxE7ETzEIyK7QqQAd7A6rho+MaklrL4EEizlMyt9rBfECmnQrSqXgdNrEzVuX8Mwy5tLDUAWYTxUqmfOlQMOCWqwREZMC6YrgQDgqN0lFnO2o8wsPDenkVHZB7LgRZAKljT0iqVR7yWlVLVRS0HOyAl2nNPHzcQm5668ai8SUt98DMZTD1NKCnkgQTRKXkjmFQpvNuWhfzH5cXf33NmvvHID4YgIstYnswIhdSrLxFA40PDWQawdYSIcOG8i5pMAVmBirIflcaQWV5IWBM5mtyTbtkjJoEnCc+jJSDvqaDa8p7n+X8q4Je5/enAN2TF+Kr8pxb2y/Jb4Nwg2QNZMFs1sMxIDDr9Gwg6tv/IaBX6Hgn7mHtuitQ9T2TtuXrx/rtUcfapv9y31pVfU8XIJRcGnS0cREJ2EDsNO4G+l3gjYE2kaM1sGQMLVF7ySZ1oWSPDw/9z6Yvly6OwRgf3tvDt9v7FxIaB1PlLzrEgoDWShuiYvQDoxxfy2t5YtlCwMS/aHwScmKzyZkXPInwrVn5rdNer+OP3jiWTOZS2VmqnEzmuJu069glNS733GbBKay4O+4ZdN4hOsfkGoI6SNBRq3iJnV4yvsBS1EAS0D0+/lHQ5RIphiczX6Vg7GbsV/1QPWeQREEVY878aBMoIQw+Vas8FvSvu0ruewWNE4tkYhYsbdVVs1050vqxPziMDoegTGGPU6RhOqiYYUyju6OoLR8TrXdRRBk1fRqtt7itpL7F9V0zYDktUG3D+6zgPdrf4INLn4+q1xtW6C6wgv8JvZvp1KHvmn8OowmtuS1DBsFT1W2WqnCcW+Hl36M9cvr+HEW9Y1Umj0aHPsuFMjbHgQ/Fa+3vwBLWNCt9wH9rilOUxb3/0RhdJcHCJ5wOBeOhOUJe13XZTOndEQp2hYMf4z23S8vxKLJ9M2JBZJgQr3K9XjADH7QoS79cDSe+pBJufCHvmUb6Cfovj9d78nKLffL035IwpaFcGBqej+cPMOh91+n6Ucy7/yg/L7rfbox+TvluQHnjPzT3WL6QBd78XQ+0B+RVg/UeV5u7Sa76frYhbFHby4rhSaefN3G/yvedzF3e9IeGd2dXKM6cZ//+NX0brun6xadpp6WH93dl1j89SDuPnOD1TXAImLTi1c7eA/U40HWnj6As/wVCXsQO +sidebar_class_name: "get api-method" +info_path: api-reference-temp/port-api +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import SecuritySchemes from "@theme/ApiExplorer/SecuritySchemes"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import Markdown from "@theme/Markdown"; +import Heading from "@theme/Heading"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; + + + + + + + + + + +This route allows you to fetch a specific entity in your software catalog.

To learn more about entities, check out the [documentation](https://docs.getport.io/build-your-software-catalog/sync-data-to-catalog/#entities). + + + + +
+ +

+ Path Parameters +

+
+
    + "}} + > + + "}} + > + + +
+
+
+ +

+ Query Parameters +

+
+
    + "}} + > + + For example: `{ \"properties.propertyIdentifier\",\"identifier\"}`"}} + > + + For example: `{ \"properties.propertyIdentifier\",\"identifier\"}`"}} + > + + +
+
+
+
+ + +
+ + + Success + + +
+ +
+
+
+ + + One of the following errors occurred: + + + + + + + + + + + + + + +
ErrorDescription
`not_found`An entity with the provided `identifier` was not found
`not_found`A blueprint with the provided `identifier` was not found
+ + + +
+ +
+
+
+ + + One of the following errors occurred: + + + + + + + + + + +
ErrorDescription
`invalid_request`The provided data does not match the route schema
+ + + +
+ +
+
+
+ + + One of the following errors occurred: + + + + + + + + + + +
ErrorDescription
`internal_error`An internal error occurred
+ + + +
+ +
+
+
+
+
+ \ No newline at end of file diff --git a/docs/api-reference/get-an-integration.api.mdx b/docs/api-reference/get-an-integration.api.mdx new file mode 100644 index 000000000..291782e6d --- /dev/null +++ b/docs/api-reference/get-an-integration.api.mdx @@ -0,0 +1,125 @@ +--- +id: get-an-integration +title: "Get an integration" +description: "This route allows you to fetch a specific integration in your Port organization.

To learn more about integrations, check out the [documentation](https://docs.getport.io/build-your-software-catalog/sync-data-to-catalog/)." +sidebar_label: "Get an integration" +hide_title: true +hide_table_of_contents: true +api: eJzlVN9r2zAQ/leEnlpI4naPphQK3UrYS+k69lACke1zLKpIrnRK5xn/7zvJTqp26WDsZbAXJ5Lu1/d9d9fzClxpZYvSaJ7z+0Y6Zo1HYEIp8+xYZzxDw2rAsmGCuRZKWcuSSY2wsSL40f9gZtmtsciM3Qgtf8SXxUVhs8v4uTdMgbCabY2l4AXlSGO4GSsbKB9ZuMcG2ENlSr8FjfF5ddIgti7PMrp2iw1gS7kW0mSFl6qah/RzZ2p8FhbmpUChzCZznS7nFR3maA6Xpws+4yg2jucPfJlUwFcz3gortoBgw2vPHdW0FTzvOXYtED8OrdQbClBBLbxCupLaUWAVYywregLttyH2Lw+Ufak34JBOq2FGBuT+5MF29KgpLx2L7pMEVcUMr4UBVocX5h1UQRFZETmy7iJbCZML9q0BzRxgsFonSdezaLuePCXYNTsAZq4xnsIXQEII8qiYKEtjK8KrulFIqsrCk5cWKp7XQjkYZu+TtEfYCmxeAL4kP4oxJY0gMlO/xRc78lloPLTlkeLQehhITweltxK7qGZB/UdpSRoLosrlK+2DtQXX0gFcAPPh7Cz8vC7xepSd3U2WfCCUxF9jKCmntuSzEW/Os915lqTI+hfkAw+V2d2+zbxV5LDvcNHKpMF5CuNLoHosbw/mwDq5fYakk648VWWnQeSTFg0BJ68halOb6C5RBfs4vFe3SzINhY14zxdnQcfWONwKHcyn6DfUXkKnuryVs+eloVeN/9NaGaVA+I5ZqwRRTuRFdfupLR747jyKkfKWJ0NBajfEdrDs+0I4+GrVMITrcVOEfqmkE4U6DOFvif831sZRYh6pXdONtxPKB6vY8jthZQD5h4BP7qYdcMr+ep0cLXo/bbpLK96DSYQcVulquPl4T0bChx5IR/Yxjuz0J0A9Gv/tLI/Jwjcs4KMuFzTKjBbC5cF8fHnXYVoNByQ6IBiGn0ur1xQ= +sidebar_class_name: "get api-method" +info_path: api-reference-temp/port-api +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import SecuritySchemes from "@theme/ApiExplorer/SecuritySchemes"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import Markdown from "@theme/Markdown"; +import Heading from "@theme/Heading"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; + + + + + + + + + + +This route allows you to fetch a specific integration in your Port organization.

To learn more about integrations, check out the [documentation](https://docs.getport.io/build-your-software-catalog/sync-data-to-catalog/). + + + + +
+ +

+ Path Parameters +

+
+
    + ","required":true}} + > + + +
+
+
+ +

+ Query Parameters +

+
+
    + ","required":false}} + > + + +
+
+
+
+ + +
+ + + Default Response + + +
+ +
+
+
+
+
+ \ No newline at end of file diff --git a/docs/api-reference/get-an-integrations-audit-logs.api.mdx b/docs/api-reference/get-an-integrations-audit-logs.api.mdx new file mode 100644 index 000000000..079c946a4 --- /dev/null +++ b/docs/api-reference/get-an-integrations-audit-logs.api.mdx @@ -0,0 +1,140 @@ +--- +id: get-an-integrations-audit-logs +title: "Get an integration's audit logs" +description: "This route allows you to fetch the audit logs of a specific integration in your Port organization.

To learn more about integrations, check out the [documentation](https://docs.getport.io/build-your-software-catalog/sync-data-to-catalog/)." +sidebar_label: "Get an integration's audit logs" +hide_title: true +hide_table_of_contents: true +api: eJzlVVtP2zAU/iuWXwZS27SFSVOEkJCGULWHIWAvQxW4idNYJHbwpdBF+e87x0nTFJWuDKQ97CXx5Vy+c/tc0pibSIvCCiVpSG9SYYhWznLCskw9GbJUjlhFEm6jlNgUzl0sLMnU3BCVEEZMwSORiIgIaflcM7QEa1TU5FJpS5SeMyl++ZvByUwHp/5zo0jGmZYkVxrMzsBr14bpkSjl0QPBc3R8G6vI5Vxafz09SK0tTBgEcGwGc24L8DUQKpg5kcV9dN83KrFPTPN+xCwDyIFZyqgfw6ZvVXt4OKA9atnc0PCWTjoI6LRHC6ZZzi3XeFtSA5hyRsOS2mXBIWPS5TOuwUDME+YyS8NRj+ZCitzlfi1dlrFZBrIJywyvelRgph8d10tQk2AdtgWbc29ksxqc1PYx1Shi2lrUiQQVzR+d0Dxu7e8HcjjswMQ1e67XR3izJ2iu7/YA7nul7SFQ8qG8KQBjtZBz+goOY5m2d1DW7Uj8NcFrRIOthIh62KT3k+vvJFE6Z5ZMzsl4OB73h8f98dHN6Es4/hweHw0+j0Y/7z8QLJfx61Dh8t8BLZhN1zhFDKMGg930zUukQkJaoUnqcY9XgDsDvAWK1Y5XMFSGR04Lu/QjNQMSACcwe5qzOBQbA4jSmpsCNtwg9PFwiL9NQF/rtiZXjSStICaY2lSBUwrcQHt1dCENFqOg4yIo13FWAaabIjy9WA280xlorbiGFaJDNbQbyzVmt8a4iqhNNKh9450eOHMATTeUSJv0pxA9aFW+HIny6sLiDFJPo2eXExBFYHXQo8EQS1coY3MmUbyxfsEtYbJbik+mQ9svy1nSSIGotP83/9eVsvzZBkXGoCKQW1/8smmdW7oY+Vq1EGEXboyJTy/0RAo1QYWynDHDf+isqvC4ZgLsqlgYpNfVdO6syB5vwFbwD9Bx7cOyYJlDEYpE8Lfe/0Dku1CsX4p3IPlIIt8BduM5eQfcjyPzHWA7z8ka6hQ3WtQv+Jva7eCqIetD8kaW34pxxX9y2cW3wt6ZnWraZeyL8xsQYg7HrkuiD55EmwUGttX+S3atneEXa7hV5QTIlQBFn7bi9c2rCg1Zt5FIjKCqfgN9rNHd +sidebar_class_name: "get api-method" +info_path: api-reference-temp/port-api +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import SecuritySchemes from "@theme/ApiExplorer/SecuritySchemes"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import Markdown from "@theme/Markdown"; +import Heading from "@theme/Heading"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; + + + + + + + + + + +This route allows you to fetch the audit logs of a specific integration in your Port organization.

To learn more about integrations, check out the [documentation](https://docs.getport.io/build-your-software-catalog/sync-data-to-catalog/). + + + + +
+ +

+ Path Parameters +

+
+
    + ","required":true}} + > + + +
+
+
+ +

+ Query Parameters +

+
+
    + ","required":false}} + > + + ","required":false}} + > + + ","required":false}} + > + + ","required":false}} + > + + +
+
+
+
+ + +
+ + + Default Response + + +
+ +
+
+
+
+
+ \ No newline at end of file diff --git a/docs/api-reference/get-audit-logs.api.mdx b/docs/api-reference/get-audit-logs.api.mdx new file mode 100644 index 000000000..04c0275f8 --- /dev/null +++ b/docs/api-reference/get-audit-logs.api.mdx @@ -0,0 +1,171 @@ +--- +id: get-audit-logs +title: "Get audit logs" +description: "This route allows you to fetch audit logs from your Port account. Your audit logs can also be viewed via [Port's UI](https://app.getport.io/settings/AuditLog).

This route will perform a logical `AND` between all query parameters below, and return all logs that match the criteria." +sidebar_label: "Get audit logs" +hide_title: true +hide_table_of_contents: true +api: eJztV21v2zYQ/isEv2wDFDt2W2AwigJG4hTGgi1InA9bYMy0RFlEJFElqbip4f++O1KSFb+oie15G7AvtkSRx+e5Ox7vWdCAa1+JzAiZ0h4dRUITJXPDCYtjOdfkWebESBJy40eE5YEwJJYzTUIlE/yoyI1UhjDfl3lqWuR3HKrN81kKprQkU06eBJ/zAP4YecBVP2hyPxz/GBmT6V67zbKsNeMmgy8tIduaGyPSmW730dq1nP3U+jhV7U/2pwZ0LuKYZFyFUiWE4a7CZzGZ9H+9nMCuZs45QojJl5yrZ5IxxRJuuNLwESh6hKUBUdzkyk2zsE3EDEkYkjYRJ+AiWCFYi3rUsJmmvQdqYdGxR1cWYXhBtR/xhNHegprnjINTtVHAgy49KtDHFgbYSWERvIqAp0aEgisYexmNfkpWX4kMLRSAR/gTjNrQzBk8lPFx/gEzin/JheIB7YXge7703owKdzXPG4iuXBqAl2ohVjxmBuIKMBCgzriPiAPijBwR1TTOeQYTzIHAKjtHxKby9E8RHAiM+biMgK0jIpvzaSTl4/BQcIWd4yMbYDofC547HG8CyZRiiArOeKK3gN+BXioxg/FXofZlAqZc1XwJ21lp6xZxNY2HWJoKdpCifKYYWm4XRQkwzWZcoQdcNWiRKwnVASqgnafLWlhU2qrQenaB284VTSjJk/vh5IgBHabaAHML5OCA1sgfM5weFLc8wQpeLydVwYOzB79FMsGT9qXiPlPIxh1POt6VEYpruP58rg9kXtohiBxS4yD2JdsCvEd9CY79amuoCEOcWr+Cyr1HaA7oG2Zy5FPkHXohAAZgisWXzDAYSLjWbMZ3+0WkfpwHW9wyAtqwbxzoF7dZMR/+rWMAUgaJzVtkGJJc88AjMo2f15xW2Ckzu7ARbBjZI9s9igeKGRgJIGJnRgCtHVzxiG/lCZ5U2NAQXA0vSVZe6bWU2LjTvRL/8O434lCQSfe82z07f3/WfTfq/Nzrfui9f9f60On8sddRfgs5I7dS42nwLyS2g0N1Dl5xQufCRNuvaNyKnJHJxe2gPxpMPKikN5fuCarx5HJwPYCX/eJRnti7+4uLwd0djFz1h9f3twM4Yds5Vad0P05u+ZvAAsQpVIMdeGKRiM0mDVMlYV9FkifErcdEcf3291pY6LM193OFRRq77ClnCvYHLynOgp7ldwamwEVjW8TsYbcFsHt+jn8vsVzykOWxIbfFTHvLQxcfSdiSggyh2NibCF7aT532yj7iUE9ls5+rGGasFIyoKRhaB32HDnR4Suirkp2JX3jNe/0cYCjxjRWJaj0cAU10uPV4KO1yYWKcbxVY/2YIUxGYI9hpnWN0MqlNwlKcXlj/zE0tHdaDtHDXQ2r+V4OvU4MuhHihtrOYQajA6TYrFkX+PNCnDt6aqwz1aARRwS+LxZRpfq/i5RKH3SnCvAqEZtO4Sv+GIO0tErcif4Q8XNOkTwzaJBikWAdej+sgqdiArWrUToJrUyk2QKv3kydBt0UuNsCrFOpJsK2rxQZgdYF6SmxrUvH7CFdC9Zgw/xPasME5lQ4+Sey2qcIGcBuK9CQgdwm4ptNZ0457Yvwn1VTTbbJSfwcQO6l8amBT6LsDmJxQLTXwsFLumIfhaFqpAXSl3f5m4GuCqAFRpbwOSIjXaqIGGKXgWqEY4ws0qVOUCA/jurr5PBjZhhS707oIebQipHjALrT8lNb7rXV14gDgLzLfuuQjiBMCEudTNd192bmgEDurCgJ8lsvlX6+eIfI= +sidebar_class_name: "get api-method" +info_path: api-reference-temp/port-api +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import SecuritySchemes from "@theme/ApiExplorer/SecuritySchemes"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import Markdown from "@theme/Markdown"; +import Heading from "@theme/Heading"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; + + + + + + + + + + +This route allows you to fetch audit logs from your Port account. Your audit logs can also be viewed via [Port's UI](https://app.getport.io/settings/AuditLog).

This route will perform a logical `AND` between all query parameters below, and return all logs that match the criteria. + + + + +
+ +

+ Query Parameters +

+
+
    + ","required":false}} + > + + ","required":false}} + > + + ","required":false}} + > + + ","required":false}} + > + + ","required":false}} + > + + ","required":false}} + > + + ","required":false}} + > + + ","required":false}} + > + + ","required":false}} + > + + ","required":false}} + > + + ","required":false}} + > + + ","required":false}} + > + + ","required":false}} + > + + ","required":false}} + > + + ","required":false}} + > + + +
+
+
+
+ + +
+ + + Default Response + + +
+ +
+
+
+
+
+ \ No newline at end of file diff --git a/docs/api-reference/invite-a-user-to-your-organization.api.mdx b/docs/api-reference/invite-a-user-to-your-organization.api.mdx new file mode 100644 index 000000000..8cc4cfdf6 --- /dev/null +++ b/docs/api-reference/invite-a-user-to-your-organization.api.mdx @@ -0,0 +1,211 @@ +--- +id: invite-a-user-to-your-organization +title: "Invite a user to your organization" +description: "This route allows you to invite a user to your Port organization.

To learn more about users, roles, and teams, check out the [documentation](https://docs.getport.io/sso-rbac/rbac-overview/)." +sidebar_label: "Invite a user to your organization" +hide_title: true +hide_table_of_contents: true +api: eJzdVV2P0zgU/SuWWYll1Wlm9rEgEAs8jPZhRzA8tUXcJLetGccOtpNSqvx37rWTNtMpHxJvq0qu49zP43Nu9rJEXzhVB2WNnMnbjfLC2SagAK3t1oudbUSwQplW8aFoPDo+oHMnbqwLwro1GPUVOMT0We6y53G5tUIjOCMq68gxp6DR2U8ogUb6A1OKgFDRtthgcSfYJGxQzEtbNBWaEGMu/9yEUPtZltGxn64x1JR2qmzmvb1wORQZLxe2Rdcq3GZPpnIiA6y9nM3le04plxPp8HODPvxjy52c7WVhTaAMvIW61qqIubJPnnHYS08VVcC7sKuRkLH5JywCBa6drdEFhZ7fJlzwnOEpsihKDKC0F3YV24xQMr5bMOEIcsLwQSYqR+lRHh+cMuuzeTjwYy+ih4CydOj9MSqEgI5NP8w/PH2ULRYvFgu/HPbLv8anf8iOkOPrGmUG52B3NnG0vNcSeK/WhndDx4dCqNXKP2yoo4yRFb+U0UCFB0Cj29n0A9rB/jx9l7iiHJZMoIT7ko8JSsW5Qd+MrmYF2uN9n4EVy5NowTXY8RU4KjswMWfzM1zLLeEIJja8gkaHg6fivonHjtHg3unR2KBWD9G5XomP7PVxEtvvSxJbpbVwWKBqSZWmJ0mM0WvggNCx7thiRyLyWDROhV2sOyd5o+N+C4cQcNYkrXVRbb62xife/H15yX/363udWhNve8t48YTKxlJCWVsfElk39JS1V1kMnqU2JFfi2gHAxpEw5DAloFajISHHZb9jpFNNQ/FHjtXqXxzB+rKhUlw/12QP/QahJC8ulSfF2+NMefMFqlrjyUzoRXsUa6+l+XCyPJD9eNTFi17ZWJwKHFTGSfvy5ppCcNsJwqvpJeuTsaogjq2+9uuz03o8qE/pMhqI/6ePQLragF9CVmugKyS4Ilv2PbXmsr0iw8TcSX91fCsbJiC93u9z8Pje6a7j46Q9Jl2pPOT6oI4f4Pn7Sjzbxx2xdaT+FnTDRpHwLTjF1VGlSzLtactlJ69XqbiLWw589H3wJeRYB03e/Pfulozz/gta2ZJ9HGyZ17TO5IJ+9GAjCFFm8XwvNZh1A2u2T3HjOG34BsYCvIsC7Ddc7fDKjDs8VWZqiddu8h2XZyQdQfJ+fjBPb77r0CM2WDPiPMy/AbHgKwE= +sidebar_class_name: "post api-method" +info_path: api-reference-temp/port-api +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import SecuritySchemes from "@theme/ApiExplorer/SecuritySchemes"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import Markdown from "@theme/Markdown"; +import Heading from "@theme/Heading"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; + + + + + + + + + + +This route allows you to invite a user to your Port organization.

To learn more about users, roles, and teams, check out the [documentation](https://docs.getport.io/sso-rbac/rbac-overview/). + + + + +
+ +

+ Query Parameters +

+
+
    + ","required":false}} + > + + +
+
+
+ +
+ +

+ Body +

+ required + +
+ +
    + +
    + + + + invitee + + object + + + + required + + +
    +
    + + + The details of the user you want to invite.
    + + +
    ","pattern":"^[^;#/\\?\\s][^;#/\\?]*[^;#/\\?\\s]$"}} + > + + ","items":{"type":"string"}}} + > + + ","items":{"type":"string"}}} + > + + +
    +
    +
    +
+
+
+
+
+ + +
+ + + Default Response + + +
+ +
+
+
+
+
+ \ No newline at end of file diff --git a/docs/api-reference/patch-a-blueprint.api.mdx b/docs/api-reference/patch-a-blueprint.api.mdx new file mode 100644 index 000000000..54aae3768 --- /dev/null +++ b/docs/api-reference/patch-a-blueprint.api.mdx @@ -0,0 +1,1598 @@ +--- +id: patch-a-blueprint +title: "Patch a blueprint" +description: "This route allows you to patch a specific blueprint in your Port account.

To learn more about blueprints, check out the [documentation](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/)." +sidebar_label: "Patch a blueprint" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "patch api-method" +info_path: api-reference-temp/port-api +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import SecuritySchemes from "@theme/ApiExplorer/SecuritySchemes"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import Markdown from "@theme/Markdown"; +import Heading from "@theme/Heading"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; + + + + + + + + + + +This route allows you to patch a specific blueprint in your Port account.

To learn more about blueprints, check out the [documentation](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/). + + + + +
+ +

+ Path Parameters +

+
+
    + ","required":true}} + > + + +
+
+
+ +
+ +

+ Body +

+
+ +
    + ","pattern":"^[A-Za-z0-9@_.:\\\\/=-]+$","maxLength":30}} + > + + ","maxLength":30}} + > + + ","maxLength":200}} + > + + "}} + > + + +
    + + + + teamInheritance + + object + + +
    +
    + + + A new relation to another blueprint from which to inherit the team. Can be any blueprint connected to this one via any number of relations. `path` is the path to the desired blueprint via relations, for example: `"relationIdentifier.relationIdentifierInRelatedBlueprint"`
    + + +
    "}} + > + + +
    +
    +
    +
    + + + + schema + + object + + +
    +
    + + + The new schema of the blueprint, see `properties` and `required` below for more information.
    + + +
    +
    + + + + properties + + object + + + + required + + +
    +
    + + + The new properties of the blueprint.
    + + +
    +
    + + + + property name* + + object + + +
    + + + + + + + + + + + + + +
    +
    +
    +
    +
    +
    ","items":{"type":"string"}}} + > + + +
    +
    +
    +
    + + + + calculationProperties + + object + + +
    +
    + + + The new [calculation properties](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/calculation-property/) of the blueprint.
    + + +
    +
    + + + + property name* + + object + + +
    + + + + + + + + + + + + + + + + + + + +
    + + + + items + + object + + +
    + + + + + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + + + + mirrorProperties + + object + + +
    +
    + + + The new [mirror properties](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/mirror-property/) of the blueprint.
    + + +
    +
    + + + + property name* + + object + + +
    + + + + + +
    +
    +
    +
    +
    +
    +
    + + + + aggregationProperties + + object + + +
    +
    + + + The new [aggregation properties](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/aggregation-property/) of the blueprint.
    + + +
    +
    + + + + property name* + + object + + +
    + + + + + + + + + + + +
    + + + calculationSpec + + object + + required + +
    + +
    + + oneOf + +
    +
    +
    +
    + + + + query + + object + + +
    + + + +
    + + + + rules + + object[] + + + + required + + +
    +
  • +
    + Array [ +
    +
  • + + anyOf + + + + + `, `>=`, `<`, `<=`]"} + schema={{"enum":[">",">=","<","<="]}} + > + + + + + + + + + + +
    + + + value + + object + + required + +
    + +
    + + oneOf + + + + + + + + + + + + + +
    +
    +
    +
    + + + + + +
    + + + value + + object + + required + +
    + +
    + + anyOf + + +
    + + + string + + +
    +
    +
    + + + number + + +
    +
    +
    + + + boolean + + +
    +
    +
  • +
    + Array [ +
    +
  • + + + string + + +
  • +
    + ] +
    +
  • +
    +
    + + + string + + +
    +
    +
    +
    +
    +
    +
    + + + + + + + + + + + + + + + + + + + +
    + + + + propertySchema + + object + + + + required + + +
    + + + + + +
    +
    +
    + + +
    + + + value + + object + +
    + +
    + + anyOf + + +
    + + + string + + +
    +
    +
    + + + number + + +
    +
    +
    + + + boolean + + +
    +
    +
    +
    +
    +
    +
    +
    +
  • +
    + ] +
    +
  • +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + + + + relations + + object + + +
    +
    + + + The new [relations](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-data-model/relate-blueprints/) of the blueprint.
    + + +
    +
    + + + + property name* + + object + + +
    + + + + + + + + + + + +
    +
    +
    +
    +
    +
    +
    + + + changelogDestination + + object + +
    +
    + + + The destination of the blueprint's changelog.
    + + +
    +
    + + oneOf + + + + + "}} + > + + ","format":"uri"}} + > + + + + + + + + +
    +
    +
    +
+
+
+
+
+ + +
+ + + Default Response + + +
+ +
+
+
+
+
+ \ No newline at end of file diff --git a/docs/api-reference/patch-a-blueprints-permissions.api.mdx b/docs/api-reference/patch-a-blueprints-permissions.api.mdx new file mode 100644 index 000000000..2dba62aa4 --- /dev/null +++ b/docs/api-reference/patch-a-blueprints-permissions.api.mdx @@ -0,0 +1,594 @@ +--- +id: patch-a-blueprints-permissions +title: "Patch a blueprint's permissions" +description: "This route allows you to patch the permissions of a blueprint.

To learn more about permissions, check out the [documentation](https://docs.getport.io/build-your-software-catalog/set-catalog-rbac/examples)." +sidebar_label: "Patch a blueprint's permissions" +hide_title: true +hide_table_of_contents: true +api: eJzdWG1v2zYQ/isEvywFbCvZR6MokHQFWmwfjMz75BkrJZ0tNrTIkZRdzfB/3x0l2ZLjvCFK0BQGBIo8Hp97eY7ybXkKLrHSeKlzPubTTDpmdeGBCaX0xrFSF8xrZoRPMuYzYAbsSjqH8o7pBRMsVgUYK3M/eh/b6EN4TDVTIGzOVtqiqhg1tjcOWJJBcsNomnTOUp0UK8i9IBzzs8x748ZRhNNutARvtPUjqaO4kCodIiQ7dHrhN8LCMBFeKL2MHPhmPLSxSCL4LlZGgXs34gPuxdLx8YxfNWAdnw+4hX8LcP5KpyUfb3mic48gaCiMUTIJcKJvjnyz5Q5BrwSNfGkAvaXjb5B41G6sRuu8BEerqEI24/slLSyl82BPSXYD8xssZA5sk2mWCdcJAkYnsSAwZM3BFBdPkTyE5tbRhQPbRiisFeWtY/9AeKQtSLMzNF8qJtLUgnPoWTxFeCZsnS2QPhqM9LBqH+88riz5boehArF6PLIg/SI4rFbweBxB+kVw6E0O6VU5RUNJoHv8lwX76m0BXwednNhIpVgMLAVPs6iAxWXwFSN11mXSDJgVSD5LoHNarkzQlqXSYg4ygcqWOdGSzAgpMGKf1mDL8LI/RMQKThkag9L5Es2gRTxJ2oAgcoGQlZ2xxkNFHgzFvJJkllCTVqouhHKAq4VJUftzmbLSqVyUPwhTHgXmFZjyXBx9MeW5ON4MU44N7ZkpeV/3SgoKfph75VFgXoEtz8XRF1uei+PNsOXY0Je4VyadJO7hhnEGErmQCTvQg8n8gWidRvrQV+SLX1BPMeH1rqueUPV8efWE6s2Q836zn0bV3Z6O16DCf6/e2WgbxW+WjE+w4PW42A+onqnYD6i3xsTTVj+ViA9cmw8tk4ARVqzIAdR4OdE9aXyM3idXGvQGYslxD2FpovOPTMmIhcSv2aphg95J+Zi8fpwZ0wzYQbyKNBwCTTXCdRtY1N3aiMrDocVV9bD4bj7gDpLCSl8G9DFgjuH39Gy+C30jZ3B7lay/np/fTgysSqJQnl3XkiGV0BuZTitbEzI22Dzm0foi2qN00faU8buohZsTOrtuXFtYhVqappkwstUz65jyJ8WgQt0YdCCbkb9DeYjAZYFgrfwvJBOvg5SBSHEXGUNdsetD/+xT1W077n+1/4nUpXHWRH6+L0PtqboItKc6FKTAd9oB/arNXxhx5y45ed8F8sh8oUNwpCen8glGk11OvmAgKOxVkl2Mzok+Rju/EqFFWcduErq1rdbsL52L8biktjqfP3EHuEpzD999ZJTAdCbvE3O2NQ9nfH2Bggcm4sv4jkLU9ibGGwuLJwXbbSwc/GXVbkfTyA5L9QOHa2ElVepA2FQ6Gqd1vbwnHGfXdcV7x/qrbnc4oykEOVWBtUDF+IbDGywLd1Tk3Rz31UWBDKtEP1bwh1NSeFB1q6dOpWlfEyeX04+fyf11Mx6vM9pkxYbqPj7H/G/84Ys2+0/DML/lSuTLQixJvlIcLqiCgtqubzehvtUDgnvS4uPCV9lEz93gji3vkZkMq+eHvXi1cueG2mWNNPl/jqD/B44QGl0= +sidebar_class_name: "patch api-method" +info_path: api-reference-temp/port-api +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import SecuritySchemes from "@theme/ApiExplorer/SecuritySchemes"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import Markdown from "@theme/Markdown"; +import Heading from "@theme/Heading"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; + + + + + + + + + + +This route allows you to patch the permissions of a blueprint.

To learn more about permissions, check out the [documentation](https://docs.getport.io/build-your-software-catalog/set-catalog-rbac/examples). + + + + +
+ +

+ Path Parameters +

+
+
    + "}} + > + + +
+
+
+ +
+ +

+ Body +

+
+ +
    + +
    + + + + entities + + object + + +
    + +
    + + + + register + + object + + +
    +
    + + + Define who has permissions to create entities of this blueprint. + + +
    + + + + + + + + +
    +
    +
    +
    + + + + update + + object + + +
    +
    + + + Define who has permissions to modify entities of this blueprint. + + +
    + + + + + + + + +
    +
    +
    +
    + + + + unregister + + object + + +
    +
    + + + Define who has permissions to delete entities of this blueprint. + + +
    + + + + + + + + +
    +
    +
    +
    + + + + updateProperties + + object + + +
    +
    + + + Define who has permissions to modify specific properties in entities of this blueprint. + + +
    +
    + + + + property name* + + object + + +
    + + + + + + + + + +
    +
    +
    +
    +
    +
    +
    + + + + updateRelations + + object + + +
    +
    + + + Define who has permissions to modify specific relations in entities of this blueprint. + + +
    +
    + + + + property name* + + object + + +
    + + + + + + + + + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
+
+
+
+
+ + +
+ + + Default Response + + +
+ +
+
+
+
+
+ \ No newline at end of file diff --git a/docs/api-reference/patch-a-team.api.mdx b/docs/api-reference/patch-a-team.api.mdx new file mode 100644 index 000000000..4c8c80de5 --- /dev/null +++ b/docs/api-reference/patch-a-team.api.mdx @@ -0,0 +1,161 @@ +--- +id: patch-a-team +title: "Patch a team" +description: "This route allows you to patch a team's details. This can be used to update the team's name, users, and description.

To learn more about teams, check out the [documentation](https://docs.getport.io/sso-rbac/rbac-overview/)." +sidebar_label: "Patch a team" +hide_title: true +hide_table_of_contents: true +api: eJzlVcFu2zAM/RVBl7WAE7c7GsWArhuwYYcFXXbKcqBtJlZrW54kJ80C//tIyU68NBmw81rAliWKenx8T9nLHG1mVOOUrmUi54WywujWoYCy1FsrdroVTosGXFYIEA6hemNFjg5UaafCb8igFimK1mLOsW2TAyVwBQ7hNVQY8bqxkYA6F6NTp3epid/5x1yLEsHUotKGAKSEw2egTVmB2bPwE5R2keusrbB2wBmWV4VzjU3imKbtdI2u0cZNlY6t1ROTQhbzY6I3aDYKt/H1VEbSwdrKZCHnfIBcRtLgzxate6/znUz2MtO1oxN4CE1TqsyfFT9ZJmovLSGqgEdu1yBRp9MnzBwlboxu0DiFlle59FGUdUbVa4o65R1FjVtPlNCrA3eBHNlF0pM3SgTGwO5Vnq81bTeBP5xU1CMBeW7QWrSc12fhHtEsv1x/rj8rNHOrylIwVUbloYn4oqwj1H63KOmjhxVJ5bCyr8vruhNgQ8BiiFheYmA0e44I/0ccgyGmnKdkcaYZAw5CyMlJvQWhDb0Ir7Pnn7Dvxb+F2h0ccCicxaIM5jJxpsWOyrGYtUa5nQeUkozRcL3BDIkLKuu8zmyjaxvk8fbmhl9/YvmAK2hLJx77SM8nlVvoPBSTcTW+qETGm9vYZ4/3jL+TDMVsBmpaU1LQYBBo1Mgfcoz7G3MYQA3oj2Jr1BfcHRm8bwmLUb+8JWRPcoGQ0y7GyiZ5PNrp4wtUTYlHOxxt0Mv6si7GnVxpj0k5ziVnVIS4n32mLFxtCL+d3nBso62roB6dOBtdYKfNH5n9v7oBQ3Mdvri4KYGayPcM62Xfi2shN7cc6MUbycRzSS0qiF5e3e9TsPjdlF3H09Rww/qn4QaMgpT7RBrMleUxiXcFpcW/sH/12PvqWvyjIc8WM8i3Zu1uoGz5i4bPJOb+HuiWFNdLl7GGpYeAaDLnBMetr34I2EAHY87u5w+fKDrtf0EqnfMmA1u+MOiZyB/0Tx/al+695uf3soR63cKa40NithG03ISxC5+9C/sBwz1b4ak9Q0387KILW+7ISII8/u4QHlYubugpG6KZ7yWB/g2zidjm +sidebar_class_name: "patch api-method" +info_path: api-reference-temp/port-api +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import SecuritySchemes from "@theme/ApiExplorer/SecuritySchemes"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import Markdown from "@theme/Markdown"; +import Heading from "@theme/Heading"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; + + + + + + + + + + +This route allows you to patch a team's details. This can be used to update the team's name, users, and description.

To learn more about teams, check out the [documentation](https://docs.getport.io/sso-rbac/rbac-overview/). + + + + +
+ +

+ Path Parameters +

+
+
    + ","required":true}} + > + + +
+
+
+ +
+ +

+ Body +

+
+ +
    + "}} + > + + ","items":{"type":"string"}}} + > + + "}} + > + + +
+
+
+
+
+ + +
+ + + Default Response + + +
+ +
+
+
+
+
+ \ No newline at end of file diff --git a/docs/api-reference/patch-a-user.api.mdx b/docs/api-reference/patch-a-user.api.mdx new file mode 100644 index 000000000..1ddfb8cd3 --- /dev/null +++ b/docs/api-reference/patch-a-user.api.mdx @@ -0,0 +1,152 @@ +--- +id: patch-a-user +title: "Patch a user" +description: "This route allows you to patch a user's details. This can be used to update the user's role/s and team/s.

To learn more about users, roles, and teams, check out the [documentation](https://docs.getport.io/sso-rbac/rbac-overview/)." +sidebar_label: "Patch a user" +hide_title: true +hide_table_of_contents: true +api: eJzlVU1v2zAM/SuCLmuBNG52NIoCXTdgxS5B156yYqBtJlZrW5okJ80C//eRkp24XToMuw4BHFnix+Pjo7yTBbrcKuOVbmQq70rlhNWtRwFVpTdObHUrvBYGfF4KEK1D+86JAj2oyk1FcMihERnyWcG2rSmAAvgSB3OrK0ycgIbOEerETS8ym1yGx50WFYJtRK0tZc0oeXBzk+BGf4MbLfMS8yfBJhx9Uei8rbHxwPAfTkrvjUuThLbddIXeaOunSifO6TObQZ7w40yv0a4VbpLTqZxIDysn04W855TyYSIt/mjR+Q+62Mp0J3PdeMrASzCmUnnIlTw65msnHSGqgVd+a5AY1Nkj5p4CG6sNWq/Q8WkoZWQG1sKWrF7Tj7HoQPsGGs98gnNq1fBqoDTSR+61am481hR5NpEqrvY5nLeqWcmuoyqZvr9K30BN6fUy5ApuR7H0QGhrj+XN9JQfikJxEqjmI1qWUDnsgoEBS4k99yBdHKF1CEZpGCnJsaSUDJbeGMl3slfV0ZLCiSAIFt2+tIB+XFlQ+L4YVoGyWMjU2xY70oXDvLXKbwO+jBSLlnUTxZ62UT5dEJAzunGx3e/Pz/nvJaiPuIS28uK2twwtoupLXcTaci4u1JjKZD1LQvRkd6izkwzIrge+WluR6aB/MGokfzlG/5WJjdCGGg6iMOoLbg+0XrWEyKqfQfGyZ75EKMiLEfMM3B6m5dMz1KbCkdoXQ9se9go8bIVWLnXIrzz7yTkBFlfzG8rFlUWyZtNzbrvRztcQZq6HNx9dSa/7Pprb//FOi/30+OwTUwH1jQgMEtn1qlrI9YwMo2onMh1NEPWqJK7ZZrfLwOG9rbqOt6nTluVPyzVYBRk3jcRXKMfroh/oP7Ti5LYfq1Pxr4N5tLZBwA2rdw1Vy2+0fCI5v7geOpZdL2GGHg2uI8CzOw5zCPDbfc+DtB/T+dXd9WeyzvoPRa0LdrKw4euDnqn8Rj960YGJ+Bng/Z2soFm1sGL7GDjckS13ZjyNT2Ea+wXDPVrn6zGNNfGzm7zhckFDJmjWL/fm8eRNh56ywZpZfyDQvwBjptUU +sidebar_class_name: "patch api-method" +info_path: api-reference-temp/port-api +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import SecuritySchemes from "@theme/ApiExplorer/SecuritySchemes"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import Markdown from "@theme/Markdown"; +import Heading from "@theme/Heading"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; + + + + + + + + + + +This route allows you to patch a user's details. This can be used to update the user's role/s and team/s.

To learn more about users, roles, and teams, check out the [documentation](https://docs.getport.io/sso-rbac/rbac-overview/). + + + + +
+ +

+ Path Parameters +

+
+
    + ","required":true}} + > + + +
+
+
+ +
+ +

+ Body +

+
+ +
    + = 1`"} + schema={{"type":"array","description":"The roles you want to assign to the user.
    ","minItems":1,"items":{"type":"string"}}} + > + +
    ","items":{"type":"string"}}} + > + + +
+
+
+
+
+ + +
+ + + Default Response + + +
+ +
+
+
+
+
+ \ No newline at end of file diff --git a/docs/api-reference/patch-a-webhook.api.mdx b/docs/api-reference/patch-a-webhook.api.mdx new file mode 100644 index 000000000..3a29c26dc --- /dev/null +++ b/docs/api-reference/patch-a-webhook.api.mdx @@ -0,0 +1,448 @@ +--- +id: patch-a-webhook +title: "Patch a webhook" +description: "This route allows you to modify a webhook in your Port organization. You can also modify it via the [data sources page](https://app.getport.io/settings/data-sources) of your Port account.

To learn more about webhooks, check out the [documentation](https://docs.getport.io/build-your-software-catalog/custom-integration/webhook/)." +sidebar_label: "Patch a webhook" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "patch api-method" +info_path: api-reference-temp/port-api +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import SecuritySchemes from "@theme/ApiExplorer/SecuritySchemes"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import Markdown from "@theme/Markdown"; +import Heading from "@theme/Heading"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; + + + + + + + + + + +This route allows you to modify a webhook in your Port organization. You can also modify it via the [data sources page](https://app.getport.io/settings/data-sources) of your Port account.

To learn more about webhooks, check out the [documentation](https://docs.getport.io/build-your-software-catalog/custom-integration/webhook/). + + + + +
+ +

+ Path Parameters +

+
+
    + ","required":true}} + > + + +
+
+
+ +
+ +

+ Body +

+
+ +
    + ","maxLength":30}} + > + + ","maxLength":30}} + > + + ","maxLength":200}} + > + + "}} + > + + +
    + + + + mappings + + object[] + + +
    +
    + + + The mapping definitions used to map the data from the webhook into Port entities. For more information and examples, check out the [documentation](https://docs.getport.io/build-your-software-catalog/custom-integration/webhook/).
    + + +
  • +
    + Array [ +
    +
  • "}} + > + + "}} + > + + "}} + > + + +
    + + + + entity + + object + + + + required + + +
    +
    + + + An object defining how to map the data from the webhook payload into Port entities.
    + + +
    "}} + > + + "}} + > + + "}} + > + + "}} + > + + ","propertyNames":{"type":"string"}}} + > + + ","propertyNames":{"type":"string"}}} + > + + +
    +
    +
  • +
    + ] +
    +
  • +
    +
    +
    ","default":true}} + > + + +
    + + + + security + + object + + +
    +
    + + + The security configuration of the webhook, used to tell Port how to verify the hashed signature sent with incoming requests.
    For more information and examples, check out the [documentation](https://docs.getport.io/build-your-software-catalog/custom-integration/webhook/#security-configuration).
    + + +
    + + + + + + + + + + +
    +
    +
    + + +
+
+
+
+
+ + +
+ + + Default Response + + +
+ +
+
+
+
+
+ \ No newline at end of file diff --git a/docs/api-reference/patch-an-action-run.api.mdx b/docs/api-reference/patch-an-action-run.api.mdx new file mode 100644 index 000000000..eb463d8f4 --- /dev/null +++ b/docs/api-reference/patch-an-action-run.api.mdx @@ -0,0 +1,272 @@ +--- +id: patch-an-action-run +title: "Patch an action run" +description: "This route allows you to patch an action run's details. This can be used to update the run's status & label, and add links to it (e.g. external logs of the job runner).

To learn more about action runs, check out the [documentation](https://docs.getport.io/create-self-service-experiences/reflect-action-progress/)." +sidebar_label: "Patch an action run" +hide_title: true +hide_table_of_contents: true +api: eJztVlFv2zYQ/isEH7YEcKykj0ZRwMvSNViBGk7y1AUrJZ0sxhSpkZQdz/B/3x1J2XKcoAW2x8GALFF3x+/uu/uoLS/BFVa2XhrNJ/y+lo5Z03lgQimzdmxjOuYNa4UvaiY0EwWZMtvpnx0rwQup3JgFvwJf58A6ByW5dG0pMI6vIVk7L3zn2E9MiRzUCKOVTJQlU1IvHXlIz85gvBgzePZgtVBMmYVjpgpBnkxOgTTY8/H73GYfwuXeMAXCatYYi6BzxD7A6EasqKFYMlqmIF9LU3QNaISCJo9ntfetm2QZLrvxAnxrrB9LkxUWEPyFA1Xhxa5kARfw3IKVoAtwmYVKQeEv4lYXrTULC85l52M+4l4sHJ985dOIY444+OOIW/irA+d/MeWGT7a8MNojELoVbatkESBlT46Y2HKHwBtBd37TAnJj8ifcEcPjZgjES3DBLlR1YOe8lXqBdqC7hmDcPVxf39zd4crH6e3nh/kNf9yNkt9nouI15+O+mEbOiKT4Io/EJkoTQ4e6R4I4bkPkUvzjeF80MGMjZ3v6MWYpXavEBhtI6kHntGIBtDIjdthH9IRn0bQKsImCP7mT+XcaJ8EacaPhS4W1Oc3bS6+OFipjG4Es8c4qTGjvIawVm4FDfN6F0nZNI+zmR8qaTE8rOGLrWuLIraVSP1qZfdH7MmDn3Zbfh3EfwzFZEg6ceMtyUSxBlyNWHYodtkUbXwvPfpP+U5ezhVyBCy/Wxi4rlIzXxUCW2Oqy2rzIEqE7D6Ls8/+Ga3/K8lufCuaCCiHJXKjZoO8roRzsdmTQCisawIRdIPRkbk7mYXWFD6t3YQok5Y9jaYlKjXHwcYWhqDBxYqWFst9v9Hb4PhYKZX0IFdN5teCpIhLsKflBdddC+7307jv3AMnbDnYoKw6Kzkq/CdnnqIVg8fZxFxTHtUa7KBTvLi9PB/FXqESnPJsny1ByrGZtyphMQdmEpCY8W11lESQKIIpato357TihsKueApqUCe+lVbRyoKx8CPmOihnR9cAP89XK32HAyrRDUFb+HVSSp2rX2DvoRaBJN+cHhb2JPTtUyIEQHonfoUOiWB2e94M8aKLj0TqivzIBfxIEGkk2nd1Ss6WOmvCr8SXZtsb5RgSdT+nNTg/Yl20zODL+P6j/m4M6tprHNDJUV2wp5CZ07zb1fFKL1PU0f134m6TJxmaukUsy3G5z4eDBqt2OlqOo0DigdItc7VVkxJewOZKZlVAd4QizsRJWkvnrrm82xNk8CcM5+xfq8mpB+oHUmyHWPo1UiHDwpXEk5PHldcR3cU8hDs4n3zuU+F51ZtP7609onacPpcaUQUvFmuqP1wn/A390jLeRFjQK61uuhF50eCaiTQwcjpCOqBwqyzIoS7oZfAYc5/hScmJOdB1+Bxy5vMeBZ6hbH/bm8c2bDqlkvTVV/BFB/wM2avzL +sidebar_class_name: "patch api-method" +info_path: api-reference-temp/port-api +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import SecuritySchemes from "@theme/ApiExplorer/SecuritySchemes"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import Markdown from "@theme/Markdown"; +import Heading from "@theme/Heading"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; + + + + + + + + + + +This route allows you to patch an action run's details. This can be used to update the run's status & label, and add links to it (e.g. external logs of the job runner).

To learn more about action runs, check out the [documentation](https://docs.getport.io/create-self-service-experiences/reflect-action-progress/). + + + + +
+ +

+ Path Parameters +

+
+
    + ","required":true}} + > + + +
+
+
+ +

+ Query Parameters +

+
+
    + + + +
+
+
+ +
+ +

+ Body +

+
+ +
    + + + "}} + > + + +
    + + + link + + object + +
    +
    + + + One or more links to be displayed in the run's page in Port. For example, a link to the external logs of the job runner.
    + + +
    +
    + + oneOf + + +
    + + + string + + +
    +
    +
  • +
    + Array [ +
    +
  • + + + string + + +
  • +
    + ] +
    +
  • +
    +
    +
    +
    +
    "}} + > + + "}} + > + + +
+
+
+
+
+ + +
+ + + Default Response + + +
+ +
+
+
+
+
+ \ No newline at end of file diff --git a/docs/api-reference/patch-an-entity.api.mdx b/docs/api-reference/patch-an-entity.api.mdx new file mode 100644 index 000000000..a03a3f61e --- /dev/null +++ b/docs/api-reference/patch-an-entity.api.mdx @@ -0,0 +1,397 @@ +--- +id: patch-an-entity +title: "Patch an entity" +description: "This route allows you to edit a specific entity in your software catalog and update its properties.

To learn more about entities, check out the [documentation](https://docs.getport.io/build-your-software-catalog/sync-data-to-catalog/#entities)." +sidebar_label: "Patch an entity" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "patch api-method" +info_path: api-reference-temp/port-api +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import SecuritySchemes from "@theme/ApiExplorer/SecuritySchemes"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import Markdown from "@theme/Markdown"; +import Heading from "@theme/Heading"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; + + + + + + + + + + +This route allows you to edit a specific entity in your software catalog and update its properties.

To learn more about entities, check out the [documentation](https://docs.getport.io/build-your-software-catalog/sync-data-to-catalog/#entities). + + + + +
+ +

+ Path Parameters +

+
+
    + "}} + > + + "}} + > + + +
+
+
+ +

+ Query Parameters +

+
+
    + This is useful when you want to create an entity and its related entities in one call, or if you want to create an entity whose related entity does not exist yet.
    "}} + > + +
    "}} + > + + +
+
+
+ +
+ +

+ Body +

+
+ +
    + "}} + > + + "}} + > + + "}} + > + + "}} + > + + "}} + > + + + + +
+
+
+
+
+ + +
+ + + Successfully patched the entity + + +
+ +
+
+
+ + + One of the following errors occurred: + + + + + + + + + + + +
ErrorDescription
`run_exhausted`Action run has already finished execution
+ + + +
+ +
+
+
+ + + One of the following errors occurred: + + + + + + + + + + + + + + +
ErrorDescription
`required_relation`Relation cannot be deleted because it is a `required relation`
`missing_permissions`You do not have permissions to perform the requested operation. For further details, please contact your admin
+ + + +
+ +
+
+
+ + + One of the following errors occurred: + + + + + + + + + + + + + + +
ErrorDescription
`not_found`A blueprint with the provided `identifier` was not found
`not_found`An entity with the provided `identifier` was not found
+ + + +
+ +
+
+
+ + + One of the following errors occurred: + + + + + + + + + + +
ErrorDescription
`identifier_taken`The provided `identifier` already exists, identifiers must be unique
+ + + +
+ +
+
+
+ + + One of the following errors occurred: + + + + + + + + + + + + + + + + + + + + + + + + + + +
ErrorDescription
`invalid_request`The provided data does not match the route schema
`team_inheritance_enabled`The blueprint's entities inherite their team from other entities through an existing relation
`blueprint_schema_mismatch`The provided entity does not match the blueprint's schema
`required_relation`A relation is required
`relation_many_violation`A provided relation cannot contain more than one entity
+ + + +
+ +
+
+
+ + + One of the following errors occurred: + + + + + + + + + + +
ErrorDescription
`internal_error`An internal error occurred
+ + + +
+ +
+
+
+
+
+ \ No newline at end of file diff --git a/docs/api-reference/patch-an-integration.api.mdx b/docs/api-reference/patch-an-integration.api.mdx new file mode 100644 index 000000000..3fb13e064 --- /dev/null +++ b/docs/api-reference/patch-an-integration.api.mdx @@ -0,0 +1,766 @@ +--- +id: patch-an-integration +title: "Patch an integration" +description: "This route allows you to modify an integration in your Port organization.

To learn more about integrations, check out the [documentation](https://docs.getport.io/build-your-software-catalog/sync-data-to-catalog/)." +sidebar_label: "Patch an integration" +hide_title: true +hide_table_of_contents: true +api: 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 +sidebar_class_name: "patch api-method" +info_path: api-reference-temp/port-api +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import SecuritySchemes from "@theme/ApiExplorer/SecuritySchemes"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import Markdown from "@theme/Markdown"; +import Heading from "@theme/Heading"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; + + + + + + + + + + +This route allows you to modify an integration in your Port organization.

To learn more about integrations, check out the [documentation](https://docs.getport.io/build-your-software-catalog/sync-data-to-catalog/). + + + + +
+ +

+ Path Parameters +

+
+
    + ","required":true}} + > + + +
+
+
+ +
+ +

+ Body +

+
+ +
    + "}} + > + + "}} + > + + "}} + > + + +
    + + + + config + + object + + +
    +
    + + + Various configuration options for the integration.
    + + +
    "}} + > + + "}} + > + + +
    + + + + resources + + object[] + + +
    +
    + + + The mapping definition of resources from the integrated tool/platform into Port. For more information and examples, check out the [documentation](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-mapping).
    + + +
  • +
    + Array [ +
    +
  • "}} + > + + +
    + + + + selector + + object + + + + required + + +
    + "}} + > + + +
    +
    +
    +
    + + + + port + + object + + + + required + + +
    +
    + + + An object containing the mapping definitions of the `kind` resource into Port.
    + + +
    +
    + + + + entity + + object + + + + required + + +
    + +
    + + + mappings + + object + + required + +
    +
    + + + The mapping definitions used to map the resource fields into Port entities. For more information and examples, check out the [documentation](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-mapping#configuration-structure).
    + + +
    +
    + + oneOf + + +
  • +
    + Array [ +
    +
  • "}} + > + + "}} + > + + "}} + > + + +
    + + + + properties + + object + + +
    +
    + + + An object containing the properties of the entity and their values. For more information and examples, check out the [documentation](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-mapping#configuration-structure).
    + + +
    + +
    +
    +
    +
    + + + + relations + + object + + +
    +
    + + + An object containing the relations of the entity and their values. For more information and examples, check out the [documentation](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-mapping#configuration-structure).
    + + +
    +
    +
    +
  • +
    + ] +
    +
  • +
    + "}} + > + + "}} + > + + "}} + > + + +
    + + + + properties + + object + + +
    +
    + + + An object containing the properties of the entity and their values. For more information and examples, check out the [documentation](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-mapping#configuration-structure).
    + + +
    +
    +
    +
    +
    + + + + relations + + object + + +
    +
    + + + An object containing the relations of the entity and their values. For more information and examples, check out the [documentation](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-mapping#configuration-structure).
    + + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
  • +
    + ] +
    +
  • +
    +
    +
    +
    +
    +
    +
    + + + changelogDestination + + object + +
    +
    + + + The destination of the integration's changelog.
    + + +
    +
    + + oneOf + + + + + + + + + "}} + > + + ","format":"uri"}} + > + + + + +
    +
    +
    +
+
+
+
+
+ + +
+ + + Default Response + + +
+ +
+
+
+
+
+ \ No newline at end of file diff --git a/docs/api-reference/patch-an-integrations-config.api.mdx b/docs/api-reference/patch-an-integrations-config.api.mdx new file mode 100644 index 000000000..434ad1ff2 --- /dev/null +++ b/docs/api-reference/patch-an-integrations-config.api.mdx @@ -0,0 +1,664 @@ +--- +id: patch-an-integrations-config +title: "Patch an integration's config" +description: "This route allows you to modify an integration's configuration in your Port organization.

To learn more about integrations, check out the [documentation](https://docs.getport.io/build-your-software-catalog/sync-data-to-catalog/)." +sidebar_label: "Patch an integration's config" +hide_title: true +hide_table_of_contents: true +api: eJzlV1trIzcU/iti+tANeOykj2ZZSHe3NJTSkKZ9SQKWZzQeJePRrKSJ4zXz3/sdSXO101BoYaEJGF3PTd93zplDlAqTaFlZqcpoGd3m0jCtaisYLwq1M2yvamYV26pUZnvGSyZLKzaa04XvDUtUmclN7efYo/OaXSttmdIbXsqvbmf+fq0XH9zPrWKF4LqESA0taygbyjQzluQieWK0bnPB7lKV1FtRWrf98C63tjLLxQLLZr4RtoKuuVSLdS2LNCb1sVGZ3XEt4oRbXqjNwuzLJE4xia3qFs/m0SyyfGOi5V10NbAgephFWnyphbE/qnQfLQ8R3LQwgYa8qgqZuJOLR0NRO0QGJm85jey+EoijWj+KxEJ+pVUltJXCBDGIFo3GYf+Ta6nqaTSV2zYsU9pFYhAlH0+yf6KPp6mkA7y4Hmi2uhZTW1JRCCs+iUqUKVz7XFrZbgWha6XwUiWkpiLjdQH3M14YMZtYf5WxFWlYzZgTKssNAUWQxD3byaIAmIzym3DDGgyDWn8KeoNHzSxKtOBW/CqNgaAbUWCS/jvWOclT62zOONOkhmIOqHNWqjIWL9K4s0duePvci2hvXTjTu6CFAQ6Tkb1ca76PptbdQsoWkCJN8EOW0j99xjoZLNNqOwIANFp4v6igHeDY0oZypJuznwAWxyxZ0pb3ipew8YVvq0L8J/xKamPVVn4V8ZDJixbOIg4unnW4lVZszSnCEPGkFimR8kmWKZYMcJNYpYlOMIboOYayO9fLMlZD18lQ08lhcF1q49WMcePDj9AiiV1eX9Gp12KOuPZv3Vn3JvuRUfT+bTsv2erxy4q506w2TjEzlUgoAe9ymeQDbGArExZLb4JkzsAEIyxdWd1HRIn7CKRAnh/IC157dRIyVhSylYf/mqRvkBZF+o0D7btc7eJUCdMuxDuln1r4NU0ToHTizSaPAS66HcrNloOfIKo9SdoueCFkHcZ6drboH4Lc545jUIf1NygSzDDH97udo2pzOueYDmvYC9ktOAAgFKnp/eiT9jeOglE9jcG3OrHY79OQKsVvGeJ4lKXhX9HPm9nxK7QnTj6LpNpGBKKktS5qUYHqyFzNQ9P/vVatQxkbyguNw4O71W8QiQnKXPMtSqs2zpWjbiQkGpyU9P4VtznMKnEHs5Gpx0CRpUHQQ3WU6TQtDnuRiV0PlBuTWjsUw6w1uj4ogTd1hV5MLOWo52pc12UqTDyAfzg/P8buJ1/r2U04GVFA4HuuUu9ZQq45D5fR4vliMVCyOPS+NgEtrrzo5zZ0tS5wr8Ukr+QAktHQo98pxt7O1q8eQ5X8Rez7CF/WME+HTjgKj5ALnuIWmU9d5E3fb372zJn2i690awEsf980dYjq2pK7tmr2VWhYyEKpGiCnTZd9WuoTDIQNUDQQ2XKkW+ipMFgc5S2H7yKAAlPHmIfGYTdTLspBqMtEqNSQQO/n8XExP/fWGrvlrjcPj3BN0Hjt+2WK/EHD/z/8JPIotuLFUvMAtCKgjhiHQKy76PnC4bgzEbPlKJG0CWsW5XgKunI4rLkRf+iiaWg5IOwOw2d8/fA1vSmAlEpD4/R0Nz98mHc3Id+csX+YqE562JK3JOY+cwAVMwyfxH6cJYHGWUtfxyN34KO3K74lMb2Ao69FSiJdvrq+vP34M9EifGYCUnRJ8x2lU/wuo3v8U6GqWkb49UNU8HJT8w2d94JdQanpfYaZ6MllojAYFrqRn9MU5X2i30HpG195T00y8tyH7rjfefVCCFkXUYoFjP4Lhgjhqg== +sidebar_class_name: "patch api-method" +info_path: api-reference-temp/port-api +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import SecuritySchemes from "@theme/ApiExplorer/SecuritySchemes"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import Markdown from "@theme/Markdown"; +import Heading from "@theme/Heading"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; + + + + + + + + + + +This route allows you to modify an integration's configuration in your Port organization.

To learn more about integrations, check out the [documentation](https://docs.getport.io/build-your-software-catalog/sync-data-to-catalog/). + + + + +
+ +

+ Path Parameters +

+
+
    + ","required":true}} + > + + +
+
+
+ +
+ +

+ Body +

+ required + +
+ +
    + +
    + + + + config + + object + + + + required + + +
    +
    + + + Various configuration options for the integration.
    + + +
    "}} + > + + "}} + > + + +
    + + + + resources + + object[] + + +
    +
    + + + The mapping definition of resources from the integrated tool/platform into Port. For more information and examples, check out the [documentation](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-mapping).
    + + +
  • +
    + Array [ +
    +
  • "}} + > + + +
    + + + + selector + + object + + + + required + + +
    + "}} + > + + +
    +
    +
    +
    + + + + port + + object + + + + required + + +
    +
    + + + An object containing the mapping definitions of the `kind` resource into Port.
    + + +
    +
    + + + + entity + + object + + + + required + + +
    + +
    + + + mappings + + object + + required + +
    +
    + + + The mapping definitions used to map the resource fields into Port entities. For more information and examples, check out the [documentation](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-mapping#configuration-structure).
    + + +
    +
    + + oneOf + + +
  • +
    + Array [ +
    +
  • "}} + > + + "}} + > + + "}} + > + + +
    + + + + properties + + object + + +
    +
    + + + An object containing the properties of the entity and their values. For more information and examples, check out the [documentation](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-mapping#configuration-structure).
    + + +
    +
    +
    +
    +
    + + + + relations + + object + + +
    +
    + + + An object containing the relations of the entity and their values. For more information and examples, check out the [documentation](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-mapping#configuration-structure).
    + + +
    +
    +
    +
  • +
    + ] +
    +
  • +
    + "}} + > + + "}} + > + + "}} + > + + +
    + + + + properties + + object + + +
    +
    + + + An object containing the properties of the entity and their values. For more information and examples, check out the [documentation](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-mapping#configuration-structure).
    + + +
    +
    +
    +
    +
    + + + + relations + + object + + +
    +
    + + + An object containing the relations of the entity and their values. For more information and examples, check out the [documentation](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-mapping#configuration-structure).
    + + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
  • +
    + ] +
    +
  • +
    +
    +
    +
    +
    +
    +
+
+
+
+
+ + +
+ + + Default Response + + +
+ +
+
+
+
+
+ \ No newline at end of file diff --git a/docs/api-reference/port-api.info.mdx b/docs/api-reference/port-api.info.mdx new file mode 100644 index 000000000..8471dcf41 --- /dev/null +++ b/docs/api-reference/port-api.info.mdx @@ -0,0 +1,64 @@ +--- +id: port-api +title: "Port API" +description: "" +sidebar_label: Introduction +sidebar_position: 0 +hide_title: true +custom_edit_url: null +--- + +import ApiLogo from "@theme/ApiLogo"; +import SchemaTabs from "@theme/SchemaTabs"; +import TabItem from "@theme/TabItem"; +import Export from "@theme/ApiExplorer/Export"; + + + + +

+ Port API +

+
+ + + + +

+ +## Introduction + This API is documented in the **OpenAPI format** and provides programmatic access to Port and its components. + + The API describes the various routes available for use, and can be used directly from the browser by using the `Send API Request` button on the right side of each route's page. + + Port is API-first, meaning that this API allows you to achieve any and all of its functionalities. + You can *read from* and *write to* your software catalog, execute & interact with your self-service actions, fetch & update your scorecards, and much more. + + ## Authentication + + To use the API, you need to obtain a Bearer API key from your Port application: + + 1. Go to your [Port application](https://app.getport.io), click on the `...` button in the top right corner, and select `Credentials`. + 2. Click on the `Generate API token` button, and copy the generated token. + + + + ## Using the API from the browser + + Each route in the API documentation has a `Request` panel on the right side. + + 1. In the `bearer` field, paste the API token you obtained from your Port application. + 2. Under `Parameters`, fill in your desired values. + 3. Under `Body`, you can edit the request body freely and change the parameter values as you wish. + + Once you're ready, click the `Send API Request` button to execute the request, the response will be displayed below. + + Alternatively, you can use the panel in the top right to copy a snippet in your desired language to use in your application. Note that these snippets will be updated with the values you filled in the `Request` panel. \ No newline at end of file diff --git a/docs/api-reference/rate-limits.mdx b/docs/api-reference/rate-limits.mdx new file mode 100644 index 000000000..faaba017a --- /dev/null +++ b/docs/api-reference/rate-limits.mdx @@ -0,0 +1,27 @@ +--- +id: rate-limits +title: "Rate limits" +description: "" +sidebar_label: Rate limits +sidebar_position: 1 +hide_title: true +custom_edit_url: null +--- + +import ApiLogo from "@theme/ApiLogo"; +import SchemaTabs from "@theme/SchemaTabs"; +import TabItem from "@theme/TabItem"; +import Export from "@theme/ApiExplorer/Export"; + +# Rate limits + +All of the Port API's rate limits are applied at the **IP level**: + +| Description | Rate limit | +|------------|-------------| +| Unauthenticated requests | 100 requests per 5 minutes | +| Ocean integrations | 20,000 requests per 5 minutes | +| External exporters | 15,000 requests per 5 minutes | +| IaC integrations and CI/CD actions | 5,000 requests per 5 minutes | +| Entity API requests | 5,000 requests per 5 minutes | +| All other API requests | 2,500 requests per 5 minutes | diff --git a/docs/api-reference/rename-a-blueprints-mirror-property.api.mdx b/docs/api-reference/rename-a-blueprints-mirror-property.api.mdx new file mode 100644 index 000000000..bbbbe2145 --- /dev/null +++ b/docs/api-reference/rename-a-blueprints-mirror-property.api.mdx @@ -0,0 +1,148 @@ +--- +id: rename-a-blueprints-mirror-property +title: "Rename a blueprint's mirror property" +description: "This route allows you to change the identifier of a mirror property in a specific blueprint in your Port account.

To learn more about blueprints, check out the [documentation](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/)." +sidebar_label: "Rename a blueprint's mirror property" +hide_title: true +hide_table_of_contents: true +api: eJztVW1v0zAQ/iuWhcQmmmbjGxUgxosEQqBpjC+UMrnJtfGWxMYvLV2U/86dkyVp1yEGfKSVUts93z13z3OXiqdgEyO1k6rkE36eScuM8g6YyHO1tmyjPHOKJZkol8BcBkymUDq5kGCYWjDBCmmMMkwbpcG4DZMlHloNCdokbJ570EaWjs7RmWGnyjgmkkT50o2fzk38PDzOFctBmJIVymD0OYLoL9sRIoDkitEpgZimKvEFAhGEfHaQOaftJI7x2I6X4DQGGUsVz73M04jiRlYt3FoYiBLhRK6WceKtU4W8hggjwNIEVzZOVLmQS4+GKRpGhUohjy04r6MOT3w45iPuxNLyyZS/7GDy2Ygb+O7Bupcq3fBJxdGdQ5y0FFrnMglh4ktLBa+4xbwKQSu30YAUqPklJA69twWVYOnfEtYfQqE/igIG5tZh4CWa7xIJDK/skEWV26GrYYDCCefA0N1v05Poi4iuj6InLy6efcVPNHv0gNf1iIs0lRRB5KcDdAuRW6hrMtDCID50RIXZk10LFy0lhcKgGcYuQ068B7s3n9u59OIima4FLjqtdokRH9JAyifOeKhH90XVFOwi7H4P1m5HDMEZIEd3gUP5WEi8kW4T6jfHjsBqTKazOijLalRoI4jHR0f0s43nNSyEzx07ay0DachHptImryRrqM5wG6+O477D4qpPpI6bFOJqkHwdN9g5YTSrG4q9ydHXTf8JLQftx4cJfaKqN9hv0uoIwGvvYdPX/MQjZCOvQ6/wlpYMRIq3KCXqnrO+z978EIXOYU+fbFG7UCGkdGTKwxw6OX2H7imZpoDH4yOy1cq6QoQGbRGdhdxxsnUVe2h3id6Vx6D5/0/W+03WRhYOfrhY5wLpR1KC0qpWvVO+OkbDPg/cTLYGSFM9Ot7u4FbFqMwMWSZPVTUXFj6bvK7pGGVlqP1wuRJGijnJBZWeSkvrtB14vyD74Kxt60P2F4NrbxFuGqYkta0E+sEdLq+wfbYmKA26f4j4HjPtD3APGapnaN72OpW9sXjVQI3OyU/v4dYrlSZON/BOT85fvSWVtO9iUhweG7EmHeBzwr/iFzcq1CQMp3Be8Ry58GJJ9o3j8P7zpL3h2LoKY6tdENy9ie7OsyYnehJNe688xdHEcCg+78ybf+680JaskwLVAkH/BD/Hdsw= +sidebar_class_name: "patch api-method" +info_path: api-reference-temp/port-api +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import SecuritySchemes from "@theme/ApiExplorer/SecuritySchemes"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import Markdown from "@theme/Markdown"; +import Heading from "@theme/Heading"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; + + + + + + + + + + +This route allows you to change the identifier of a mirror property in a specific blueprint in your Port account.

To learn more about blueprints, check out the [documentation](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/). + + + + +
+ +

+ Path Parameters +

+
+
    + ","required":true}} + > + + ","required":true}} + > + + +
+
+
+ +
+ +

+ Body +

+
+ +
    + ","pattern":"^[A-Za-z0-9@_=\\\\-]+$"}} + > + + +
+
+
+
+
+ + +
+ + + Default Response + + +
+ +
+
+
+
+
+ \ No newline at end of file diff --git a/docs/api-reference/rename-a-blueprints-relation.api.mdx b/docs/api-reference/rename-a-blueprints-relation.api.mdx new file mode 100644 index 000000000..707c0d885 --- /dev/null +++ b/docs/api-reference/rename-a-blueprints-relation.api.mdx @@ -0,0 +1,148 @@ +--- +id: rename-a-blueprints-relation +title: "Rename a blueprint's relation" +description: "This route allows you to change the identifier of a relation in a specific blueprint in your Port account.

To learn more about blueprints, check out the [documentation](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/)." +sidebar_label: "Rename a blueprint's relation" +hide_title: true +hide_table_of_contents: true +api: eJztVd9v0zAQ/lcsC4lNNM3GG9WY2AYSEy9TKS90BbnJtfHmxsY/Wroq/zt3Tpp0o6ANeGSTUtvx3X1333eXDc/BZVYaL3XJB3xUSMesDh6YUEqvHFvrwLxmWSHKOTBfAJM5lF7OJFimZ0wwC0qQOZMl7pyBDF9mbKoCGCtLT+foxbIrbT0TWaZD6fsnU5uexsdIMwXClmyhLYadYvTO2PUwNGS3jE4p+jjXWVggghhzclB4b9wgTfHY9efgDQbpS51Og1R5QnETp2d+JSwkmfBC6XmaBef1Qt5BghFgbqMrl2a6nMl5wIs5XkwWOgeVOvDBJC2e9LDPe9yLueODMT9vYfJJj1v4FsD5c52v+WDD0Z1HnLQUxiiZxTDpjaNKb7jDvBaCVn5tAGuvpzeQefRurDZgvQRHb0tYDZsKX7aV3zFzHgHM0ewhk8DQ9AFbVMEtXzUFFE94D5aMvozPks8iuTtKXr35+voa/5LJi2e8qnpc5LkkK6GuduDNhHJQVXTBCCsWgI6oMnvSa3DiTUmhMGiBsUu0wV2Hcm8iPyfRqYsEuhK4aFXaJkaESAs5H3gboOo9FdW2Ul+fDK/tiV10Fsjvr9ChgBxkwUq/jgWcYk8Q0eNJFbXlDGq0lsTLoyP6uQ/kLcxEUJ4Nm5uRNSSk0HmdWFbUXBe4TZfHaddj6abLoEq32PF4TwHofSwPwbXLLd3BKnS7bUZh5E4v8t3cPhIDdRrbDFsy0OwDrLv6nwVEb+VdxMAbigoQOVpRdtRKw67p3n0XC6PgN01zj+6ZjqGlJxMeh9PZ1SWGoaTqmh73j+iu0c4vROzaBtkw1gDHXVvE564l/aFGdkbB/wH7yAFbC8LDd58aJZB4pCFqbNNIeMyXx3ixywM3g3t92uqY3uxv5UbKKM8CKSanm81UOPhkVVXRMWrLUjvicimsFFPSCso9l47WeTMBf0P4wbBp80P2F5Nsbz22XVNSyywF+sEdLm+xh+6NVJp8/xDxY4bbHwDeR1E1QbOm46nu9c2LGmsyIn+dp5++sjR32gl4dTa6eE+KaT7PpD6KKlYkBHwO+DX+40abWjZ4KZ5vuEIygpjT/dpx/CIG0uHu8LqNw6tZENy9CT+canVO9CSe9pqc4GBiOBpP2+v1m18aNCVrtUC1QNA/ABoTe4o= +sidebar_class_name: "patch api-method" +info_path: api-reference-temp/port-api +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import SecuritySchemes from "@theme/ApiExplorer/SecuritySchemes"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import Markdown from "@theme/Markdown"; +import Heading from "@theme/Heading"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; + + + + + + + + + + +This route allows you to change the identifier of a relation in a specific blueprint in your Port account.

To learn more about blueprints, check out the [documentation](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/). + + + + +
+ +

+ Path Parameters +

+
+
    + ","required":true}} + > + + ","required":true}} + > + + +
+
+
+ +
+ +

+ Body +

+
+ +
    + ","pattern":"^[A-Za-z0-9@_=\\\\-]+$"}} + > + + +
+
+
+
+
+ + +
+ + + Default Response + + +
+ +
+
+
+
+
+ \ No newline at end of file diff --git a/docs/api-reference/rename-a-property-in-a-blueprint.api.mdx b/docs/api-reference/rename-a-property-in-a-blueprint.api.mdx new file mode 100644 index 000000000..633228e8e --- /dev/null +++ b/docs/api-reference/rename-a-property-in-a-blueprint.api.mdx @@ -0,0 +1,148 @@ +--- +id: rename-a-property-in-a-blueprint +title: "Rename a property in a blueprint" +description: "This route allows you to change the identifier of a property in a specific blueprint in your Port account.

To learn more about blueprints, check out the [documentation](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/)." +sidebar_label: "Rename a property in a blueprint" +hide_title: true +hide_table_of_contents: true +api: eJztVW1P2zAQ/iuWtQ+gNQ3s2yqGBmzSpklTxdiXlQ65ybUxpLHnl5YS5b/vzkmTtpSJvXwcSKntnO+e5+65S8lTsImR2klV8AG/yqRlRnkHTOS5Wlq2Up45xZJMFDNgLgMmUyicnEowTE2ZYNooDcatmCxwZzUk+DJhk9yDNrJwdI5eDBsq45hIEuUL1z+ZmPg0PK4Uy0GYgs2VwbATjN5dtj0MDckdo1OKPkpV4ueIQBDk8UHmnLaDOMZj25+B0xikL1U88TJPI4obWTV1S2EgSoQTuZrFibdOzeUDRBgBZia4snGiiqmceTRM0TCaqxTy2ILzOmrxxId93uNOzCwfjPh5C5OPe9zADw/Wnat0xQclR3cOcdJSaJ3LJISJby1luuQWec0FrdxKA+ZeTW4hcei9SagES28LWA6bDH8Wc9i4YB2GnuGF3RoCw0s7daLcrStVJ58iCefA0KXvo7Pom4gejqLXb2/eXONfNH75gldVj4s0leRa5MMNYFORW6gqMtDCIDB0RDnZQ6zBiZaSQmHQDGMXgQzvUO4l8phEpyuS5lLgotVnS4xKIQ2kfOCMh6r3u6jWmboJ++cBa/tgE5cB8vAULhSNhcQb6VYhdRPsA0zEYDSugp6sRl3WMnh1dEQ/20DewVT43LHLxjLUC0uRqbSmlGR1lTPcxovjuOuruOwYVHEnubjc4l7FNQNOSM1iXWNvcvS47j2h5Ubr8U1aXyjtNYM1ubYCeO0TrLqkn3kEbuRD6BPe1CUDkeItIkadc9n12Pt7Mdc57O2RrepOVQgqHRnzMIXOhh8xANGpE3ncPyJbraybi9CeDabLwP7RlGvzuKuNjbb/P0yfOUxrNTi4d7HOBVYdKxEEVjbSHfHFMRp2PHAz2BocGyMTX+12byNhlGWGBSZ/ZTkRFr6avKroGDVlqANxuRBGigkpBWWeSkvrtBl3v6j1wWXT2YfsL8bW3lSsu6WgVlkI9IM7XN5h72zNTxpz/xDxc+bZHwDeLk41xgtNj1PGa5uLGmV0RZ46H48+ozRp2nE3PLu6+EAyab6/JDk8NmJJEsDngF/jP25USEcYSuG85DmWwYsZ2deOw4fPk/g2x9VdGFfNguDupbo7x2pO9KQK7b1yggOJ4TA8bc3rN09eaFLWqoBygaB/AuMHcCg= +sidebar_class_name: "patch api-method" +info_path: api-reference-temp/port-api +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import SecuritySchemes from "@theme/ApiExplorer/SecuritySchemes"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import Markdown from "@theme/Markdown"; +import Heading from "@theme/Heading"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; + + + + + + + + + + +This route allows you to change the identifier of a property in a specific blueprint in your Port account.

To learn more about blueprints, check out the [documentation](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/). + + + + +
+ +

+ Path Parameters +

+
+
    + ","required":true}} + > + + ","required":true}} + > + + +
+
+
+ +
+ +

+ Body +

+
+ +
    + ","pattern":"^[A-Za-z0-9@_=\\\\-]+$"}} + > + + +
+
+
+
+
+ + +
+ + + Default Response + + +
+ +
+
+
+
+
+ \ No newline at end of file diff --git a/docs/api-reference/search-entities.api.mdx b/docs/api-reference/search-entities.api.mdx new file mode 100644 index 000000000..14c1b6aa0 --- /dev/null +++ b/docs/api-reference/search-entities.api.mdx @@ -0,0 +1,693 @@ +--- +id: search-entities +title: "Search entities" +description: "This route allows you to search for entities in your software catalog based on a given set of rules.

To learn more about entities, check out the [documentation](https://docs.getport.io/build-your-software-catalog/sync-data-to-catalog/#entities).

For more details about Port's search mechanism, rules, and operators - see the [search & query documentation](https://docs.getport.io/search-and-query/)." +sidebar_label: "Search entities" +hide_title: true +hide_table_of_contents: true +api: eJztWG1v2zYQ/isEB2wLYFlO1haoURTI1gzoBjRBkn1ZEjSUdLbZUKJGUklUw/99dxQly3GceF32kmEI4JgU7/jc23Mnz7kTU8vHZ/ygcNJJsPxiwDOwqZGlk7rgY346k5YZXTlgQil9Y1mtK+Y0syBMOmMTbRgEaSYLemqY1RN3IwywVDih9JQlwkLGdMEEm8prKFDaMT1hplJgh28SE7/1H6eaKdRbsFyjtEjw3k77gKUzSK8Y7bkZsLNMp1WOTwVBvfh25lxpx3GM23Y4BVdq44ZSx0klVRYRrqjFFQVcsa2LNMpwETndbX7V3rjTQ/Yj2ulBZeCEVDaAO8JLvrGtM3JIZ6KQNh80lg2YKNDsEoxw2lgW4UFowAeJr9lvFZiabWlLIxWh1sjLxTtDPuAGcGHd9zqr+XjOU104VEVfRVkqmXql8SdLAZ1zi27MBX1zdQkYYp18gtShntIQVJ8HXk2eyIKA0wqKKqdMwavxJO7dkykY706GUqSy4PODDO5Fmi8QMi17GIQxokbF0kHu90VRH07wwnWUZK00kBGagJgkWy/j12uhKiCAIsskoRPqqGfaRCgLA44xVqT4Q5UnYNgxIkJkf/197wTW0sbbtlJx4owspo2SPwDwMet6Ep2eba06yEtX/0mzjkH5VL3PsDVrBjzBfyU6wn2RZSdNGWxrX3M8GHixWCxWL+gVS5vcD2u+o8GZCnCjFEbk4MBYn/prpZpojfxYcKq9iaiUa7Vh5VANelLApwVqwSXcpqrK4GMqVFqhbyH72Kvx/v3B2tWKfj9hlwTscsDOlirYUsWXkW5aWadz+RkijB1MjY+5jZG2JnJa4UFPyLnOQCHhuaqMukjHy7vjFhEKR21Q4x12I5ViCbBge8YmRueeglpa71joHgev8VDYt77i+GKDo2XhL3vcpfvYAukKan4+j+0S35kHWLOfTg4/PGU7I+KP0IAqdejdnSE7LFRNNyI9Bwyt0wy62xToNOzknrXBlhgbGHY9EG5FXioYs8s5O+91jGEbgvcZmTGRYM754JzL3nJx+aRODxF+Fk6ndoj+1Xkunesn5dN7GHnHQloZtMqTSIIzAxgiKQMiG0M36tHJ9nrv9r3RiP6tOu9dQzTsOJz04UCOmml0Ny+19ZODcDNcxde7cas/zCqc0JjrltEqo/Bc62ZRyp6XV6B7vm1gtQYs86WUP0MvEfYrRGPkZ88FPCTLDI1FKUJLsThezkgHjYNJYRhDEFjX8Lq0axvNeERJ+8DzOado4oO90d6LaPQqGr0+3X05Hn03frE3fPV671c86vRDzxeP3NBVwr3HaHfZCzdLr/eb+d1uuFZ7A44DXC5cvxovfD1OtD8d2iPNwWz/6D3dirFuUmd3OKJZj3IkF372DAE7aYbfLhXvFGxvhP3//eMZvH+ElHFwiw1aCSw/jLqv9HlghjN+vYsHewEP7IAVPyMKwRPzOUXpF6MWC9puyJ5KM5NWJGoTu/eT5b89sGxw9BXUW4x6LRd4ttjeo/+C1vmPzisP+nw59T1f7/59g8k26bviygtaGEm+RB6grhN6OpFCI/ZD48rolDQvZdd+9iBd3cxydHhySq+P4ecSqlvcNeKGOiR+jvk5/vk3aF/oflCg/TlXophWYkrnG700XoiKKK4/nVz56SR86f2GIYq6h/Lu2NKYRJ+919lVkTfYYhnOPm+7482TjQLBY8uMbV5efwfNng89 +sidebar_class_name: "post api-method" +info_path: api-reference-temp/port-api +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import SecuritySchemes from "@theme/ApiExplorer/SecuritySchemes"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import Markdown from "@theme/Markdown"; +import Heading from "@theme/Heading"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; + + + + + + + + + + +This route allows you to search for entities in your software catalog based on a given set of rules.

To learn more about entities, check out the [documentation](https://docs.getport.io/build-your-software-catalog/sync-data-to-catalog/#entities).

For more details about Port's search mechanism, rules, and operators - see the [search & query documentation](https://docs.getport.io/search-and-query/). + + + + +
+ +

+ Query Parameters +

+
+
    + "}} + > + + For example: `{ \"properties.propertyIdentifier\",\"identifier\"}`"}} + > + + For example: `{ \"properties.propertyIdentifier\",\"identifier\"}`"}} + > + + +
+
+
+ +
+ +

+ Body +

+ required + +
+ +
    + "}} + > + + +
    + + + + rules + + object[] + + + + required + + +
    +
  • +
    + Array [ +
    +
  • + + anyOf + + + + + `, `>=`, `<`, `<=`]"} + schema={{"enum":[">",">=","<","<="]}} + > + + + + + + + + + + +
    + + + value + + object + + required + +
    + +
    + + oneOf + + + + + + + + + + + + + +
    +
    +
    +
    + + + + + +
    + + + value + + object + + required + +
    + +
    + + anyOf + + +
    + + + string + + +
    +
    +
    + + + number + + +
    +
    +
    + + + boolean + + +
    +
    +
  • +
    + Array [ +
    +
  • + + + string + + +
  • +
    + ] +
    +
  • +
    +
    + + + string + + +
    +
    +
    +
    +
    +
    +
    + + + + + + + + + + + + + + + + + + + +
    + + + + propertySchema + + object + + + + required + + +
    + + + + + +
    +
    +
    + + +
    + + + value + + object + +
    + +
    + + anyOf + + +
    + + + string + + +
    +
    +
    + + + number + + +
    +
    +
    + + + boolean + + +
    +
    +
    +
    +
    +
    +
    +
    +
  • +
    + ] +
    +
  • +
    +
    +
    +
+
+
+
+
+ + +
+ + + Default Response + + +
+ +
+
+
+
+
+ \ No newline at end of file diff --git a/docs/api-reference/sidebar.ts b/docs/api-reference/sidebar.ts new file mode 100644 index 000000000..990574f4e --- /dev/null +++ b/docs/api-reference/sidebar.ts @@ -0,0 +1,470 @@ +import type { SidebarsConfig } from "@docusaurus/plugin-content-docs"; + +const sidebar: SidebarsConfig = { + apisidebar: [ + { + type: "doc", + id: "api-reference/port-api", + }, + { + type: "doc", + id: "api-reference/rate-limits", + }, + { + type: "html", + value: '
', + }, + { + type: "category", + label: "Blueprints", + items: [ + { + type: "doc", + id: "api-reference/get-a-blueprints-permissions", + label: "Get a blueprint's permissions", + className: "api-method get", + }, + { + type: "doc", + id: "api-reference/patch-a-blueprints-permissions", + label: "Patch a blueprint's permissions", + className: "api-method patch", + }, + { + type: "doc", + id: "api-reference/get-all-blueprints", + label: "Get all blueprints", + className: "api-method get", + }, + { + type: "doc", + id: "api-reference/create-a-blueprint", + label: "Create a blueprint", + className: "api-method post", + }, + { + type: "doc", + id: "api-reference/get-a-blueprint", + label: "Get a blueprint", + className: "api-method get", + }, + { + type: "doc", + id: "api-reference/change-a-blueprint", + label: "Change a blueprint", + className: "api-method put", + }, + { + type: "doc", + id: "api-reference/patch-a-blueprint", + label: "Patch a blueprint", + className: "api-method patch", + }, + { + type: "doc", + id: "api-reference/delete-a-blueprint", + label: "Delete a blueprint", + className: "api-method delete", + }, + { + type: "doc", + id: "api-reference/rename-a-property-in-a-blueprint", + label: "Rename a property in a blueprint", + className: "api-method patch", + }, + { + type: "doc", + id: "api-reference/rename-a-blueprints-mirror-property", + label: "Rename a blueprint's mirror property", + className: "api-method patch", + }, + { + type: "doc", + id: "api-reference/rename-a-blueprints-relation", + label: "Rename a blueprint's relation", + className: "api-method patch", + }, + ], + }, + { + type: "category", + label: "Authentication / Authorization", + items: [ + { + type: "doc", + id: "api-reference/create-an-access-token", + label: "Create an access token", + className: "api-method post", + }, + ], + }, + { + type: "category", + label: "Entities", + items: [ + { + type: "doc", + id: "api-reference/create-an-entity", + label: "Create an entity", + className: "api-method post", + }, + { + type: "doc", + id: "api-reference/get-all-entities-of-a-blueprint", + label: "Get all entities of a blueprint", + className: "api-method get", + }, + { + type: "doc", + id: "api-reference/patch-an-entity", + label: "Patch an entity", + className: "api-method patch", + }, + { + type: "doc", + id: "api-reference/change-an-entity", + label: "Change an entity", + className: "api-method put", + }, + { + type: "doc", + id: "api-reference/get-an-entity", + label: "Get an entity", + className: "api-method get", + }, + { + type: "doc", + id: "api-reference/delete-an-entity", + label: "Delete an entity", + className: "api-method delete", + }, + { + type: "doc", + id: "api-reference/get-a-blueprints-entity-count", + label: "Get a blueprint's entity count", + className: "api-method get", + }, + { + type: "doc", + id: "api-reference/delete-all-entities-of-a-blueprint", + label: "Delete all entities of a blueprint", + className: "api-method delete", + }, + { + type: "doc", + id: "api-reference/search-entities", + label: "Search entities", + className: "api-method post", + }, + ], + }, + { + type: "category", + label: "Actions", + items: [ + { + type: "doc", + id: "api-reference/create-an-action", + label: "Create an action", + className: "api-method post", + }, + { + type: "doc", + id: "api-reference/get-actions", + label: "Get actions", + className: "api-method get", + }, + ], + }, + { + type: "category", + label: "Action Runs", + items: [ + { + type: "doc", + id: "api-reference/patch-an-action-run", + label: "Patch an action run", + className: "api-method patch", + }, + { + type: "doc", + id: "api-reference/get-an-action-runs-details", + label: "Get an action run's details", + className: "api-method get", + }, + { + type: "doc", + id: "api-reference/approve-an-actions-run", + label: "Approve an action's run", + className: "api-method patch", + }, + { + type: "doc", + id: "api-reference/get-all-action-runs", + label: "Get all action runs", + className: "api-method get", + }, + { + type: "doc", + id: "api-reference/add-a-log-to-an-action-run", + label: "Add a log to an action run", + className: "api-method post", + }, + { + type: "doc", + id: "api-reference/get-an-actions-run-logs", + label: "Get an action's run logs", + className: "api-method get", + }, + ], + }, + { + type: "category", + label: "Teams", + items: [ + { + type: "doc", + id: "api-reference/get-all-teams-in-your-organization", + label: "Get all teams in your organization", + className: "api-method get", + }, + { + type: "doc", + id: "api-reference/create-a-team", + label: "Create a team", + className: "api-method post", + }, + { + type: "doc", + id: "api-reference/get-a-team", + label: "Get a team", + className: "api-method get", + }, + { + type: "doc", + id: "api-reference/patch-a-team", + label: "Patch a team", + className: "api-method patch", + }, + { + type: "doc", + id: "api-reference/change-a-team", + label: "Change a team", + className: "api-method put", + }, + { + type: "doc", + id: "api-reference/delete-a-team", + label: "Delete a team", + className: "api-method delete", + }, + ], + }, + { + type: "category", + label: "Users", + items: [ + { + type: "doc", + id: "api-reference/get-all-users-in-your-organization", + label: "Get all users in your organization", + className: "api-method get", + }, + { + type: "doc", + id: "api-reference/invite-a-user-to-your-organization", + label: "Invite a user to your organization", + className: "api-method post", + }, + { + type: "doc", + id: "api-reference/get-a-user", + label: "Get a user", + className: "api-method get", + }, + { + type: "doc", + id: "api-reference/patch-a-user", + label: "Patch a user", + className: "api-method patch", + }, + { + type: "doc", + id: "api-reference/delete-a-user", + label: "Delete a user", + className: "api-method delete", + }, + ], + }, + { + type: "category", + label: "Audit", + items: [ + { + type: "doc", + id: "api-reference/get-audit-logs", + label: "Get audit logs", + className: "api-method get", + }, + ], + }, + { + type: "category", + label: "Scorecards", + items: [ + { + type: "doc", + id: "api-reference/create-a-scorecard-for-a-blueprint", + label: "Create a scorecard for a blueprint", + className: "api-method post", + }, + { + type: "doc", + id: "api-reference/change-a-blueprints-scorecards", + label: "Change a blueprints' scorecards", + className: "api-method put", + }, + { + type: "doc", + id: "api-reference/get-a-blueprints-scorecards", + label: "Get a blueprints' scorecards", + className: "api-method get", + }, + { + type: "doc", + id: "api-reference/change-a-blueprints-scorecard", + label: "Change a blueprint's scorecard", + className: "api-method put", + }, + { + type: "doc", + id: "api-reference/get-a-blueprints-scorecard", + label: "Get a blueprint's scorecard", + className: "api-method get", + }, + { + type: "doc", + id: "api-reference/delete-a-blueprints-scorecard", + label: "Delete a blueprint's scorecard", + className: "api-method delete", + }, + { + type: "doc", + id: "api-reference/get-all-scoreboards", + label: "Get all scoreboards", + className: "api-method get", + }, + ], + }, + { + type: "category", + label: "Integrations", + items: [ + { + type: "doc", + id: "api-reference/get-an-integrations-audit-logs", + label: "Get an integration's audit logs", + className: "api-method get", + }, + { + type: "doc", + id: "api-reference/patch-an-integrations-config", + label: "Patch an integration's config", + className: "api-method patch", + }, + { + type: "doc", + id: "api-reference/get-all-integrations", + label: "Get all integrations", + className: "api-method get", + }, + { + type: "doc", + id: "api-reference/create-an-integration", + label: "Create an integration", + className: "api-method post", + }, + { + type: "doc", + id: "api-reference/get-an-integration", + label: "Get an integration", + className: "api-method get", + }, + { + type: "doc", + id: "api-reference/patch-an-integration", + label: "Patch an integration", + className: "api-method patch", + }, + { + type: "doc", + id: "api-reference/delete-an-integration", + label: "Delete an integration", + className: "api-method delete", + }, + ], + }, + { + type: "category", + label: "Webhook", + items: [ + { + type: "doc", + id: "api-reference/create-a-webhook", + label: "Create a webhook", + className: "api-method post", + }, + { + type: "doc", + id: "api-reference/get-all-webhooks", + label: "Get all webhooks", + className: "api-method get", + }, + { + type: "doc", + id: "api-reference/patch-a-webhook", + label: "Patch a webhook", + className: "api-method patch", + }, + { + type: "doc", + id: "api-reference/change-a-webhook", + label: "Change a webhook", + className: "api-method put", + }, + { + type: "doc", + id: "api-reference/get-a-webhook", + label: "Get a webhook", + className: "api-method get", + }, + { + type: "doc", + id: "api-reference/delete-a-webhook", + label: "Delete a webhook", + className: "api-method delete", + }, + ], + }, + { + type: "category", + label: "Migrations", + items: [ + { + type: "doc", + id: "api-reference/get-all-migrations", + label: "Get all migrations", + className: "api-method get", + }, + { + type: "doc", + id: "api-reference/create-a-migration", + label: "Create a migration", + className: "api-method post", + }, + ], + }, + ], +}; + +export default sidebar.apisidebar; diff --git a/docs/build-your-software-catalog/custom-integration/api/api.md b/docs/build-your-software-catalog/custom-integration/api/api.md index 83c698d14..9ba941960 100644 --- a/docs/build-your-software-catalog/custom-integration/api/api.md +++ b/docs/build-your-software-catalog/custom-integration/api/api.md @@ -16,7 +16,7 @@ import TabItem from "@theme/TabItem";
-Port's [API](/api-reference/api-reference.mdx) is a generic interface to model your software catalog, ingest data, invoke actions, query scorecards and more. +Port's [API](/api-reference/port-api) is a generic interface to model your software catalog, ingest data, invoke actions, query scorecards and more. ## 💡 Common Port API usage diff --git a/docs/build-your-software-catalog/custom-integration/api/ci-cd/jenkins-deployment/jenkins-deployment.md b/docs/build-your-software-catalog/custom-integration/api/ci-cd/jenkins-deployment/jenkins-deployment.md index d77985258..944cd499e 100644 --- a/docs/build-your-software-catalog/custom-integration/api/ci-cd/jenkins-deployment/jenkins-deployment.md +++ b/docs/build-your-software-catalog/custom-integration/api/ci-cd/jenkins-deployment/jenkins-deployment.md @@ -48,7 +48,7 @@ method groovy.json.JsonSlurperClassic parseText java.lang.String ## Set up :::tip -All Port API routes used in this guide can be found in Port's [API documentation](/api-reference/api-reference.mdx). +All Port API routes used in this guide can be found in Port's [API documentation](/api-reference/port-api). ::: To interact with Port inside your Jenkins builds, follow these steps: diff --git a/docs/configuration-methods.md b/docs/configuration-methods.md index c52c1492f..91393312a 100644 --- a/docs/configuration-methods.md +++ b/docs/configuration-methods.md @@ -35,7 +35,7 @@ To use Port's API and Terraform provider, you will need API credentials. -Port's [API](/api-reference/api-reference.mdx) provides a convenient REST interface to perform CRUD operations in your software catalog. +Port's [API](/api-reference/port-api) provides a convenient REST interface to perform CRUD operations in your software catalog. Port's API base URL is: `https://api.getport.io/v1` diff --git a/docs/customize-pages-dashboards-and-plugins/page/folders.md b/docs/customize-pages-dashboards-and-plugins/page/folders.md index aceb52b3b..8383eae61 100644 --- a/docs/customize-pages-dashboards-and-plugins/page/folders.md +++ b/docs/customize-pages-dashboards-and-plugins/page/folders.md @@ -32,7 +32,7 @@ To move a page into/out of a folder, hover over it, hold the `⠿` icon and drag ## Folder identifiers -Each folder has a unique identifier that can be used to reference it when working with the [Port API](/api-reference). +Each folder has a unique identifier that can be used to reference it when working with the [Port API](/api-reference/port-api). When creating a folder, you will be asked to provide it with a title. The identifier is automatically generated from the titie using [snake_case](https://en.wikipedia.org/wiki/Snake_case), which means that spaces and slashes are replaced with underscores and all letters are lowercase. diff --git a/docs/promote-scorecards/promote-scorecards.md b/docs/promote-scorecards/promote-scorecards.md index 580ab6b25..09e2fd1bf 100644 --- a/docs/promote-scorecards/promote-scorecards.md +++ b/docs/promote-scorecards/promote-scorecards.md @@ -387,4 +387,4 @@ For example, these services have some rules defined in their scorecards, and we [Explore How to Create, Edit, and Delete Scorecards with basic examples](/promote-scorecards/usage) -[Dive into advanced operations on Scorecards with our API ➡️ ](/api-reference/api-reference.mdx) +[Dive into advanced operations on Scorecards with our API ➡️ ](/api-reference/port-api) diff --git a/docusaurus.config.js b/docusaurus.config.js index a6584f6aa..7d659f448 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -30,6 +30,8 @@ const config = { return `https://github.com/port-labs/port-docs/edit/main/docs/${docPath}`; }, showLastUpdateTime: true, + docRootComponent: "@theme/DocRoot", + docItemComponent: "@theme/ApiItem", }, blog: false, theme: { @@ -87,6 +89,18 @@ const config = { srcDark: "img/logos/port-logo-dark.svg", }, items: [ + { + to: "/", + label: "Home", + className: "header-home-link", + activeBaseRegex: "^((?!api-reference).)*$", + }, + { + to: "/api-reference/port-api", + label: "API Reference", + className: "header-api-link", + activeBasePath: "api-reference", + }, { to: "https://demo.getport.io", position: "right", @@ -142,7 +156,7 @@ const config = { }, { label: "API reference", - to: "/api-reference", + to: "/api-reference/port-api", }, ], }, @@ -281,15 +295,7 @@ const config = { }, }), themes: [ - // [ - // require.resolve("@easyops-cn/docusaurus-search-local"), - // { - // hashed: true, - // indexDocs: true, - // indexBlog: false, - // docsRouteBasePath: "/", - // }, - // ], + "@port-labs/docusaurus-theme-openapi-docs", ], plugins: [ @@ -309,6 +315,24 @@ const config = { }, }, ], + [ + "@port-labs/docusaurus-plugin-openapi-docs", + { + id: "api", // plugin id + docsPluginId: "classic", // id of plugin-content-docs or preset for rendering docs + config: { + port: { // the referenced when running CLI commands + specPath: './static/spectmp.yaml', // path to OpenAPI spec, URLs supported + outputDir: "docs/api-reference-temp", // dir of generated files, REMEMBER to move them to /api-reference when ready + sidebarOptions: { + groupPathsBy: "tag", + categoryLinkSource: "tag", + }, + baseUrl: "/api-reference/" + }, + } + }, + ], [ "@docusaurus/plugin-ideal-image", { diff --git a/package-lock.json b/package-lock.json index 475ec4b5a..0f3bf2a5d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -17,6 +17,8 @@ "@docusaurus/theme-live-codeblock": "^3.3.2", "@easyops-cn/docusaurus-search-local": "^0.42.0", "@mdx-js/react": "^3.0.1", + "@port-labs/docusaurus-plugin-openapi-docs": "^0.0.5", + "@port-labs/docusaurus-theme-openapi-docs": "^0.0.5", "@stackql/docusaurus-plugin-hubspot": "^1.0.1", "clsx": "^2.1.1", "docusaurus-plugin-hotjar": "^0.0.2", @@ -40,6 +42,7 @@ "version": "1.9.3", "resolved": "https://registry.npmjs.org/@algolia/autocomplete-core/-/autocomplete-core-1.9.3.tgz", "integrity": "sha512-009HdfugtGCdC4JdXUbVJClA0q0zh24yyePn+KUGk3rP7j8FEe/m5Yo/z65gn6nP/cM39PxpzqKrL7A6fP6PPw==", + "license": "MIT", "dependencies": { "@algolia/autocomplete-plugin-algolia-insights": "1.9.3", "@algolia/autocomplete-shared": "1.9.3" @@ -49,6 +52,7 @@ "version": "1.9.3", "resolved": "https://registry.npmjs.org/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.9.3.tgz", "integrity": "sha512-a/yTUkcO/Vyy+JffmAnTWbr4/90cLzw+CC3bRbhnULr/EM0fGNvM13oQQ14f2moLMcVDyAx/leczLlAOovhSZg==", + "license": "MIT", "dependencies": { "@algolia/autocomplete-shared": "1.9.3" }, @@ -60,6 +64,7 @@ "version": "1.9.3", "resolved": "https://registry.npmjs.org/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.9.3.tgz", "integrity": "sha512-d4qlt6YmrLMYy95n5TB52wtNDr6EgAIPH81dvvvW8UmuWRgxEtY0NJiPwl/h95JtG2vmRM804M0DSwMCNZlzRA==", + "license": "MIT", "dependencies": { "@algolia/autocomplete-shared": "1.9.3" }, @@ -72,6 +77,7 @@ "version": "1.9.3", "resolved": "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.9.3.tgz", "integrity": "sha512-Wnm9E4Ye6Rl6sTTqjoymD+l8DjSTHsHboVRYrKgEt8Q7UHm9nYbqhN/i0fhUYA3OAEH7WA8x3jfpnmJm3rKvaQ==", + "license": "MIT", "peerDependencies": { "@algolia/client-search": ">= 4.9.1 < 6", "algoliasearch": ">= 4.9.1 < 6" @@ -81,6 +87,7 @@ "version": "4.23.3", "resolved": "https://registry.npmjs.org/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.23.3.tgz", "integrity": "sha512-vRHXYCpPlTDE7i6UOy2xE03zHF2C8MEFjPN2v7fRbqVpcOvAUQK81x3Kc21xyb5aSIpYCjWCZbYZuz8Glyzyyg==", + "license": "MIT", "dependencies": { "@algolia/cache-common": "4.23.3" } @@ -88,12 +95,14 @@ "node_modules/@algolia/cache-common": { "version": "4.23.3", "resolved": "https://registry.npmjs.org/@algolia/cache-common/-/cache-common-4.23.3.tgz", - "integrity": "sha512-h9XcNI6lxYStaw32pHpB1TMm0RuxphF+Ik4o7tcQiodEdpKK+wKufY6QXtba7t3k8eseirEMVB83uFFF3Nu54A==" + "integrity": "sha512-h9XcNI6lxYStaw32pHpB1TMm0RuxphF+Ik4o7tcQiodEdpKK+wKufY6QXtba7t3k8eseirEMVB83uFFF3Nu54A==", + "license": "MIT" }, "node_modules/@algolia/cache-in-memory": { "version": "4.23.3", "resolved": "https://registry.npmjs.org/@algolia/cache-in-memory/-/cache-in-memory-4.23.3.tgz", "integrity": "sha512-yvpbuUXg/+0rbcagxNT7un0eo3czx2Uf0y4eiR4z4SD7SiptwYTpbuS0IHxcLHG3lq22ukx1T6Kjtk/rT+mqNg==", + "license": "MIT", "dependencies": { "@algolia/cache-common": "4.23.3" } @@ -102,6 +111,7 @@ "version": "4.23.3", "resolved": "https://registry.npmjs.org/@algolia/client-account/-/client-account-4.23.3.tgz", "integrity": "sha512-hpa6S5d7iQmretHHF40QGq6hz0anWEHGlULcTIT9tbUssWUriN9AUXIFQ8Ei4w9azD0hc1rUok9/DeQQobhQMA==", + "license": "MIT", "dependencies": { "@algolia/client-common": "4.23.3", "@algolia/client-search": "4.23.3", @@ -112,6 +122,7 @@ "version": "4.23.3", "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-4.23.3.tgz", "integrity": "sha512-LBsEARGS9cj8VkTAVEZphjxTjMVCci+zIIiRhpFun9jGDUlS1XmhCW7CTrnaWeIuCQS/2iPyRqSy1nXPjcBLRA==", + "license": "MIT", "dependencies": { "@algolia/client-common": "4.23.3", "@algolia/client-search": "4.23.3", @@ -123,6 +134,7 @@ "version": "4.23.3", "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.23.3.tgz", "integrity": "sha512-l6EiPxdAlg8CYhroqS5ybfIczsGUIAC47slLPOMDeKSVXYG1n0qGiz4RjAHLw2aD0xzh2EXZ7aRguPfz7UKDKw==", + "license": "MIT", "dependencies": { "@algolia/requester-common": "4.23.3", "@algolia/transporter": "4.23.3" @@ -132,6 +144,7 @@ "version": "4.23.3", "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-4.23.3.tgz", "integrity": "sha512-3E3yF3Ocr1tB/xOZiuC3doHQBQ2zu2MPTYZ0d4lpfWads2WTKG7ZzmGnsHmm63RflvDeLK/UVx7j2b3QuwKQ2g==", + "license": "MIT", "dependencies": { "@algolia/client-common": "4.23.3", "@algolia/requester-common": "4.23.3", @@ -142,6 +155,7 @@ "version": "4.23.3", "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.23.3.tgz", "integrity": "sha512-P4VAKFHqU0wx9O+q29Q8YVuaowaZ5EM77rxfmGnkHUJggh28useXQdopokgwMeYw2XUht49WX5RcTQ40rZIabw==", + "license": "MIT", "dependencies": { "@algolia/client-common": "4.23.3", "@algolia/requester-common": "4.23.3", @@ -151,17 +165,20 @@ "node_modules/@algolia/events": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/@algolia/events/-/events-4.0.1.tgz", - "integrity": "sha512-FQzvOCgoFXAbf5Y6mYozw2aj5KCJoA3m4heImceldzPSMbdyS4atVjJzXKMsfX3wnZTFYwkkt8/z8UesLHlSBQ==" + "integrity": "sha512-FQzvOCgoFXAbf5Y6mYozw2aj5KCJoA3m4heImceldzPSMbdyS4atVjJzXKMsfX3wnZTFYwkkt8/z8UesLHlSBQ==", + "license": "MIT" }, "node_modules/@algolia/logger-common": { "version": "4.23.3", "resolved": "https://registry.npmjs.org/@algolia/logger-common/-/logger-common-4.23.3.tgz", - "integrity": "sha512-y9kBtmJwiZ9ZZ+1Ek66P0M68mHQzKRxkW5kAAXYN/rdzgDN0d2COsViEFufxJ0pb45K4FRcfC7+33YB4BLrZ+g==" + "integrity": "sha512-y9kBtmJwiZ9ZZ+1Ek66P0M68mHQzKRxkW5kAAXYN/rdzgDN0d2COsViEFufxJ0pb45K4FRcfC7+33YB4BLrZ+g==", + "license": "MIT" }, "node_modules/@algolia/logger-console": { "version": "4.23.3", "resolved": "https://registry.npmjs.org/@algolia/logger-console/-/logger-console-4.23.3.tgz", "integrity": "sha512-8xoiseoWDKuCVnWP8jHthgaeobDLolh00KJAdMe9XPrWPuf1by732jSpgy2BlsLTaT9m32pHI8CRfrOqQzHv3A==", + "license": "MIT", "dependencies": { "@algolia/logger-common": "4.23.3" } @@ -170,6 +187,7 @@ "version": "4.23.3", "resolved": "https://registry.npmjs.org/@algolia/recommend/-/recommend-4.23.3.tgz", "integrity": "sha512-9fK4nXZF0bFkdcLBRDexsnGzVmu4TSYZqxdpgBW2tEyfuSSY54D4qSRkLmNkrrz4YFvdh2GM1gA8vSsnZPR73w==", + "license": "MIT", "dependencies": { "@algolia/cache-browser-local-storage": "4.23.3", "@algolia/cache-common": "4.23.3", @@ -188,6 +206,7 @@ "version": "4.23.3", "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.23.3.tgz", "integrity": "sha512-jDWGIQ96BhXbmONAQsasIpTYWslyjkiGu0Quydjlowe+ciqySpiDUrJHERIRfELE5+wFc7hc1Q5hqjGoV7yghw==", + "license": "MIT", "dependencies": { "@algolia/requester-common": "4.23.3" } @@ -195,12 +214,14 @@ "node_modules/@algolia/requester-common": { "version": "4.23.3", "resolved": "https://registry.npmjs.org/@algolia/requester-common/-/requester-common-4.23.3.tgz", - "integrity": "sha512-xloIdr/bedtYEGcXCiF2muajyvRhwop4cMZo+K2qzNht0CMzlRkm8YsDdj5IaBhshqfgmBb3rTg4sL4/PpvLYw==" + "integrity": "sha512-xloIdr/bedtYEGcXCiF2muajyvRhwop4cMZo+K2qzNht0CMzlRkm8YsDdj5IaBhshqfgmBb3rTg4sL4/PpvLYw==", + "license": "MIT" }, "node_modules/@algolia/requester-node-http": { "version": "4.23.3", "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.23.3.tgz", "integrity": "sha512-zgu++8Uj03IWDEJM3fuNl34s746JnZOWn1Uz5taV1dFyJhVM/kTNw9Ik7YJWiUNHJQXcaD8IXD1eCb0nq/aByA==", + "license": "MIT", "dependencies": { "@algolia/requester-common": "4.23.3" } @@ -209,6 +230,7 @@ "version": "4.23.3", "resolved": "https://registry.npmjs.org/@algolia/transporter/-/transporter-4.23.3.tgz", "integrity": "sha512-Wjl5gttqnf/gQKJA+dafnD0Y6Yw97yvfY8R9h0dQltX1GXTgNs1zWgvtWW0tHl1EgMdhAyw189uWiZMnL3QebQ==", + "license": "MIT", "dependencies": { "@algolia/cache-common": "4.23.3", "@algolia/logger-common": "4.23.3", @@ -219,6 +241,7 @@ "version": "2.2.1", "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", + "license": "Apache-2.0", "dependencies": { "@jridgewell/gen-mapping": "^0.3.0", "@jridgewell/trace-mapping": "^0.3.9" @@ -227,10 +250,28 @@ "node": ">=6.0.0" } }, + "node_modules/@apidevtools/json-schema-ref-parser": { + "version": "11.6.2", + "resolved": "https://registry.npmjs.org/@apidevtools/json-schema-ref-parser/-/json-schema-ref-parser-11.6.2.tgz", + "integrity": "sha512-ENUdLLT04aDbbHCRwfKf8gR67AhV0CdFrOAtk+FcakBAgaq6ds3HLK9X0BCyiFUz8pK9uP+k6YZyJaGG7Mt7vQ==", + "license": "MIT", + "dependencies": { + "@jsdevtools/ono": "^7.1.3", + "@types/json-schema": "^7.0.15", + "js-yaml": "^4.1.0" + }, + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://github.com/sponsors/philsturgeon" + } + }, "node_modules/@babel/code-frame": { "version": "7.23.5", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz", "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==", + "license": "MIT", "dependencies": { "@babel/highlight": "^7.23.4", "chalk": "^2.4.2" @@ -243,6 +284,7 @@ "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==", + "license": "MIT", "dependencies": { "color-convert": "^1.9.0" }, @@ -254,6 +296,7 @@ "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "license": "MIT", "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -267,6 +310,7 @@ "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "license": "MIT", "dependencies": { "color-name": "1.1.3" } @@ -274,12 +318,14 @@ "node_modules/@babel/code-frame/node_modules/color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "license": "MIT" }, "node_modules/@babel/code-frame/node_modules/escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "license": "MIT", "engines": { "node": ">=0.8.0" } @@ -288,6 +334,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "license": "MIT", "engines": { "node": ">=4" } @@ -296,6 +343,7 @@ "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "license": "MIT", "dependencies": { "has-flag": "^3.0.0" }, @@ -307,6 +355,7 @@ "version": "7.23.2", "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.2.tgz", "integrity": "sha512-0S9TQMmDHlqAZ2ITT95irXKfxN9bncq8ZCoJhun3nHL/lLUxd2NKBJYoNGWH7S0hz6fRQwWlAWn/ILM0C70KZQ==", + "license": "MIT", "engines": { "node": ">=6.9.0" } @@ -315,6 +364,7 @@ "version": "7.23.5", "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.5.tgz", "integrity": "sha512-Cwc2XjUrG4ilcfOw4wBAK+enbdgwAcAJCfGUItPBKR7Mjw4aEfAFYrLxeRp4jWgtNIKn3n2AlBOfwwafl+42/g==", + "license": "MIT", "dependencies": { "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.23.5", @@ -344,6 +394,7 @@ "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", "bin": { "semver": "bin/semver.js" } @@ -352,6 +403,7 @@ "version": "7.23.5", "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.5.tgz", "integrity": "sha512-BPssCHrBD+0YrxviOa3QzpqwhNIXKEtOa2jQrm4FlmkC2apYgRnQcmPWiGZDlGxiNtltnUFolMe8497Esry+jA==", + "license": "MIT", "dependencies": { "@babel/types": "^7.23.5", "@jridgewell/gen-mapping": "^0.3.2", @@ -366,6 +418,7 @@ "version": "7.22.5", "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", + "license": "MIT", "dependencies": { "@babel/types": "^7.22.5" }, @@ -377,6 +430,7 @@ "version": "7.22.15", "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz", "integrity": "sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==", + "license": "MIT", "dependencies": { "@babel/types": "^7.22.15" }, @@ -388,6 +442,7 @@ "version": "7.22.15", "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.15.tgz", "integrity": "sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==", + "license": "MIT", "dependencies": { "@babel/compat-data": "^7.22.9", "@babel/helper-validator-option": "^7.22.15", @@ -403,6 +458,7 @@ "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", "bin": { "semver": "bin/semver.js" } @@ -411,6 +467,7 @@ "version": "7.22.15", "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.15.tgz", "integrity": "sha512-jKkwA59IXcvSaiK2UN45kKwSC9o+KuoXsBDvHvU/7BecYIp8GQ2UwrVvFgJASUT+hBnwJx6MhvMCuMzwZZ7jlg==", + "license": "MIT", "dependencies": { "@babel/helper-annotate-as-pure": "^7.22.5", "@babel/helper-environment-visitor": "^7.22.5", @@ -433,6 +490,7 @@ "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", "bin": { "semver": "bin/semver.js" } @@ -441,6 +499,7 @@ "version": "7.22.15", "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz", "integrity": "sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==", + "license": "MIT", "dependencies": { "@babel/helper-annotate-as-pure": "^7.22.5", "regexpu-core": "^5.3.1", @@ -457,6 +516,7 @@ "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", "bin": { "semver": "bin/semver.js" } @@ -465,6 +525,7 @@ "version": "0.4.3", "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.3.tgz", "integrity": "sha512-WBrLmuPP47n7PNwsZ57pqam6G/RGo1vw/87b0Blc53tZNGZ4x7YvZ6HgQe2vo1W/FR20OgjeZuGXzudPiXHFug==", + "license": "MIT", "dependencies": { "@babel/helper-compilation-targets": "^7.22.6", "@babel/helper-plugin-utils": "^7.22.5", @@ -480,6 +541,7 @@ "version": "7.22.20", "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", + "license": "MIT", "engines": { "node": ">=6.9.0" } @@ -488,6 +550,7 @@ "version": "7.23.0", "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", + "license": "MIT", "dependencies": { "@babel/template": "^7.22.15", "@babel/types": "^7.23.0" @@ -500,6 +563,7 @@ "version": "7.22.5", "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", + "license": "MIT", "dependencies": { "@babel/types": "^7.22.5" }, @@ -511,6 +575,7 @@ "version": "7.23.0", "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz", "integrity": "sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==", + "license": "MIT", "dependencies": { "@babel/types": "^7.23.0" }, @@ -522,6 +587,7 @@ "version": "7.22.15", "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", + "license": "MIT", "dependencies": { "@babel/types": "^7.22.15" }, @@ -533,6 +599,7 @@ "version": "7.23.3", "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz", "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==", + "license": "MIT", "dependencies": { "@babel/helper-environment-visitor": "^7.22.20", "@babel/helper-module-imports": "^7.22.15", @@ -551,6 +618,7 @@ "version": "7.22.5", "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==", + "license": "MIT", "dependencies": { "@babel/types": "^7.22.5" }, @@ -562,6 +630,7 @@ "version": "7.24.5", "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.5.tgz", "integrity": "sha512-xjNLDopRzW2o6ba0gKbkZq5YWEBaK3PCyTOY1K2P/O07LGMhMqlMXPxwN4S5/RhWuCobT8z0jrlKGlYmeR1OhQ==", + "license": "MIT", "engines": { "node": ">=6.9.0" } @@ -570,6 +639,7 @@ "version": "7.22.20", "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz", "integrity": "sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==", + "license": "MIT", "dependencies": { "@babel/helper-annotate-as-pure": "^7.22.5", "@babel/helper-environment-visitor": "^7.22.20", @@ -586,6 +656,7 @@ "version": "7.22.20", "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz", "integrity": "sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==", + "license": "MIT", "dependencies": { "@babel/helper-environment-visitor": "^7.22.20", "@babel/helper-member-expression-to-functions": "^7.22.15", @@ -602,6 +673,7 @@ "version": "7.22.5", "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", + "license": "MIT", "dependencies": { "@babel/types": "^7.22.5" }, @@ -613,6 +685,7 @@ "version": "7.22.5", "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", + "license": "MIT", "dependencies": { "@babel/types": "^7.22.5" }, @@ -624,6 +697,7 @@ "version": "7.22.6", "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", + "license": "MIT", "dependencies": { "@babel/types": "^7.22.5" }, @@ -635,6 +709,7 @@ "version": "7.23.4", "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz", "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==", + "license": "MIT", "engines": { "node": ">=6.9.0" } @@ -643,6 +718,7 @@ "version": "7.22.20", "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", + "license": "MIT", "engines": { "node": ">=6.9.0" } @@ -651,6 +727,7 @@ "version": "7.22.15", "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.15.tgz", "integrity": "sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA==", + "license": "MIT", "engines": { "node": ">=6.9.0" } @@ -659,6 +736,7 @@ "version": "7.22.20", "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz", "integrity": "sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==", + "license": "MIT", "dependencies": { "@babel/helper-function-name": "^7.22.5", "@babel/template": "^7.22.15", @@ -672,6 +750,7 @@ "version": "7.23.5", "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.5.tgz", "integrity": "sha512-oO7us8FzTEsG3U6ag9MfdF1iA/7Z6dz+MtFhifZk8C8o453rGJFFWUP1t+ULM9TUIAzC9uxXEiXjOiVMyd7QPg==", + "license": "MIT", "dependencies": { "@babel/template": "^7.22.15", "@babel/traverse": "^7.23.5", @@ -685,6 +764,7 @@ "version": "7.23.4", "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", + "license": "MIT", "dependencies": { "@babel/helper-validator-identifier": "^7.22.20", "chalk": "^2.4.2", @@ -698,6 +778,7 @@ "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==", + "license": "MIT", "dependencies": { "color-convert": "^1.9.0" }, @@ -709,6 +790,7 @@ "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "license": "MIT", "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -722,6 +804,7 @@ "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "license": "MIT", "dependencies": { "color-name": "1.1.3" } @@ -729,12 +812,14 @@ "node_modules/@babel/highlight/node_modules/color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "license": "MIT" }, "node_modules/@babel/highlight/node_modules/escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "license": "MIT", "engines": { "node": ">=0.8.0" } @@ -743,6 +828,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "license": "MIT", "engines": { "node": ">=4" } @@ -751,6 +837,7 @@ "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "license": "MIT", "dependencies": { "has-flag": "^3.0.0" }, @@ -762,6 +849,7 @@ "version": "7.23.5", "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.5.tgz", "integrity": "sha512-hOOqoiNXrmGdFbhgCzu6GiURxUgM27Xwd/aPuu8RfHEZPBzL1Z54okAHAQjXfcQNwvrlkAmAp4SlRTZ45vlthQ==", + "license": "MIT", "bin": { "parser": "bin/babel-parser.js" }, @@ -773,6 +861,7 @@ "version": "7.22.15", "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.22.15.tgz", "integrity": "sha512-FB9iYlz7rURmRJyXRKEnalYPPdn87H5no108cyuQQyMwlpJ2SJtpIUBI27kdTin956pz+LPypkPVPUTlxOmrsg==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -787,6 +876,7 @@ "version": "7.22.15", "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.22.15.tgz", "integrity": "sha512-Hyph9LseGvAeeXzikV88bczhsrLrIZqDPxO+sSmAunMPaGrBGhfMWzCPYTtiW9t+HzSE2wtV8e5cc5P6r1xMDQ==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", @@ -803,6 +893,7 @@ "version": "7.21.0-placeholder-for-preset-env.2", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", + "license": "MIT", "engines": { "node": ">=6.9.0" }, @@ -814,6 +905,7 @@ "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==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -825,6 +917,7 @@ "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==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.12.13" }, @@ -836,6 +929,7 @@ "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==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" }, @@ -850,6 +944,7 @@ "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==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -861,6 +956,7 @@ "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==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.3" }, @@ -872,6 +968,7 @@ "version": "7.22.5", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.22.5.tgz", "integrity": "sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -886,6 +983,7 @@ "version": "7.22.5", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.22.5.tgz", "integrity": "sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -900,6 +998,7 @@ "version": "7.10.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, @@ -911,6 +1010,7 @@ "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==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -922,6 +1022,7 @@ "version": "7.22.5", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz", "integrity": "sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -936,6 +1037,7 @@ "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==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, @@ -947,6 +1049,7 @@ "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==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -958,6 +1061,7 @@ "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==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, @@ -969,6 +1073,7 @@ "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==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -980,6 +1085,7 @@ "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==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -991,6 +1097,7 @@ "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==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -1002,6 +1109,7 @@ "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==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" }, @@ -1016,6 +1124,7 @@ "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==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" }, @@ -1030,6 +1139,7 @@ "version": "7.22.5", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.22.5.tgz", "integrity": "sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1044,6 +1154,7 @@ "version": "7.18.6", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", + "license": "MIT", "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.18.6", "@babel/helper-plugin-utils": "^7.18.6" @@ -1059,6 +1170,7 @@ "version": "7.22.5", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.22.5.tgz", "integrity": "sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1073,6 +1185,7 @@ "version": "7.23.2", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.2.tgz", "integrity": "sha512-BBYVGxbDVHfoeXbOwcagAkOQAm9NxoTdMGfTqghu1GrvadSaw6iW3Je6IcL5PNOw8VwjxqBECXy50/iCQSY/lQ==", + "license": "MIT", "dependencies": { "@babel/helper-environment-visitor": "^7.22.20", "@babel/helper-plugin-utils": "^7.22.5", @@ -1090,6 +1203,7 @@ "version": "7.22.5", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.22.5.tgz", "integrity": "sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ==", + "license": "MIT", "dependencies": { "@babel/helper-module-imports": "^7.22.5", "@babel/helper-plugin-utils": "^7.22.5", @@ -1106,6 +1220,7 @@ "version": "7.22.5", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.22.5.tgz", "integrity": "sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1120,6 +1235,7 @@ "version": "7.23.0", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.0.tgz", "integrity": "sha512-cOsrbmIOXmf+5YbL99/S49Y3j46k/T16b9ml8bm9lP6N9US5iQ2yBK7gpui1pg0V/WMcXdkfKbTb7HXq9u+v4g==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1134,6 +1250,7 @@ "version": "7.22.5", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.22.5.tgz", "integrity": "sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ==", + "license": "MIT", "dependencies": { "@babel/helper-create-class-features-plugin": "^7.22.5", "@babel/helper-plugin-utils": "^7.22.5" @@ -1149,6 +1266,7 @@ "version": "7.22.11", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.22.11.tgz", "integrity": "sha512-GMM8gGmqI7guS/llMFk1bJDkKfn3v3C4KHK9Yg1ey5qcHcOlKb0QvcMrgzvxo+T03/4szNh5lghY+fEC98Kq9g==", + "license": "MIT", "dependencies": { "@babel/helper-create-class-features-plugin": "^7.22.11", "@babel/helper-plugin-utils": "^7.22.5", @@ -1165,6 +1283,7 @@ "version": "7.22.15", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.22.15.tgz", "integrity": "sha512-VbbC3PGjBdE0wAWDdHM9G8Gm977pnYI0XpqMd6LrKISj8/DJXEsWqgRuTYaNE9Bv0JGhTZUzHDlMk18IpOuoqw==", + "license": "MIT", "dependencies": { "@babel/helper-annotate-as-pure": "^7.22.5", "@babel/helper-compilation-targets": "^7.22.15", @@ -1187,6 +1306,7 @@ "version": "7.22.5", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.22.5.tgz", "integrity": "sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/template": "^7.22.5" @@ -1202,6 +1322,7 @@ "version": "7.23.0", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.0.tgz", "integrity": "sha512-vaMdgNXFkYrB+8lbgniSYWHsgqK5gjaMNcc84bMIOMRLH0L9AqYq3hwMdvnyqj1OPqea8UtjPEuS/DCenah1wg==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1216,6 +1337,7 @@ "version": "7.22.5", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.22.5.tgz", "integrity": "sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw==", + "license": "MIT", "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.22.5", "@babel/helper-plugin-utils": "^7.22.5" @@ -1231,6 +1353,7 @@ "version": "7.22.5", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.22.5.tgz", "integrity": "sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1245,6 +1368,7 @@ "version": "7.22.11", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.22.11.tgz", "integrity": "sha512-g/21plo58sfteWjaO0ZNVb+uEOkJNjAaHhbejrnBmu011l/eNDScmkbjCC3l4FKb10ViaGU4aOkFznSu2zRHgA==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/plugin-syntax-dynamic-import": "^7.8.3" @@ -1260,6 +1384,7 @@ "version": "7.22.5", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.22.5.tgz", "integrity": "sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g==", + "license": "MIT", "dependencies": { "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.5", "@babel/helper-plugin-utils": "^7.22.5" @@ -1275,6 +1400,7 @@ "version": "7.22.11", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.22.11.tgz", "integrity": "sha512-xa7aad7q7OiT8oNZ1mU7NrISjlSkVdMbNxn9IuLZyL9AJEhs1Apba3I+u5riX1dIkdptP5EKDG5XDPByWxtehw==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/plugin-syntax-export-namespace-from": "^7.8.3" @@ -1290,6 +1416,7 @@ "version": "7.22.15", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.22.15.tgz", "integrity": "sha512-me6VGeHsx30+xh9fbDLLPi0J1HzmeIIyenoOQHuw2D4m2SAU3NrspX5XxJLBpqn5yrLzrlw2Iy3RA//Bx27iOA==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1304,6 +1431,7 @@ "version": "7.22.5", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.22.5.tgz", "integrity": "sha512-UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg==", + "license": "MIT", "dependencies": { "@babel/helper-compilation-targets": "^7.22.5", "@babel/helper-function-name": "^7.22.5", @@ -1320,6 +1448,7 @@ "version": "7.22.11", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.22.11.tgz", "integrity": "sha512-CxT5tCqpA9/jXFlme9xIBCc5RPtdDq3JpkkhgHQqtDdiTnTI0jtZ0QzXhr5DILeYifDPp2wvY2ad+7+hLMW5Pw==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/plugin-syntax-json-strings": "^7.8.3" @@ -1335,6 +1464,7 @@ "version": "7.22.5", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.22.5.tgz", "integrity": "sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1349,6 +1479,7 @@ "version": "7.22.11", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.22.11.tgz", "integrity": "sha512-qQwRTP4+6xFCDV5k7gZBF3C31K34ut0tbEcTKxlX/0KXxm9GLcO14p570aWxFvVzx6QAfPgq7gaeIHXJC8LswQ==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" @@ -1364,6 +1495,7 @@ "version": "7.22.5", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.22.5.tgz", "integrity": "sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1378,6 +1510,7 @@ "version": "7.23.0", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.0.tgz", "integrity": "sha512-xWT5gefv2HGSm4QHtgc1sYPbseOyf+FFDo2JbpE25GWl5BqTGO9IMwTYJRoIdjsF85GE+VegHxSCUt5EvoYTAw==", + "license": "MIT", "dependencies": { "@babel/helper-module-transforms": "^7.23.0", "@babel/helper-plugin-utils": "^7.22.5" @@ -1393,6 +1526,7 @@ "version": "7.23.0", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.0.tgz", "integrity": "sha512-32Xzss14/UVc7k9g775yMIvkVK8xwKE0DPdP5JTapr3+Z9w4tzeOuLNY6BXDQR6BdnzIlXnCGAzsk/ICHBLVWQ==", + "license": "MIT", "dependencies": { "@babel/helper-module-transforms": "^7.23.0", "@babel/helper-plugin-utils": "^7.22.5", @@ -1409,6 +1543,7 @@ "version": "7.23.0", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.0.tgz", "integrity": "sha512-qBej6ctXZD2f+DhlOC9yO47yEYgUh5CZNz/aBoH4j/3NOlRfJXJbY7xDQCqQVf9KbrqGzIWER1f23doHGrIHFg==", + "license": "MIT", "dependencies": { "@babel/helper-hoist-variables": "^7.22.5", "@babel/helper-module-transforms": "^7.23.0", @@ -1426,6 +1561,7 @@ "version": "7.22.5", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.22.5.tgz", "integrity": "sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ==", + "license": "MIT", "dependencies": { "@babel/helper-module-transforms": "^7.22.5", "@babel/helper-plugin-utils": "^7.22.5" @@ -1441,6 +1577,7 @@ "version": "7.22.5", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz", "integrity": "sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==", + "license": "MIT", "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.22.5", "@babel/helper-plugin-utils": "^7.22.5" @@ -1456,6 +1593,7 @@ "version": "7.22.5", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.22.5.tgz", "integrity": "sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1470,6 +1608,7 @@ "version": "7.22.11", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.22.11.tgz", "integrity": "sha512-YZWOw4HxXrotb5xsjMJUDlLgcDXSfO9eCmdl1bgW4+/lAGdkjaEvOnQ4p5WKKdUgSzO39dgPl0pTnfxm0OAXcg==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" @@ -1485,6 +1624,7 @@ "version": "7.22.11", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.22.11.tgz", "integrity": "sha512-3dzU4QGPsILdJbASKhF/V2TVP+gJya1PsueQCxIPCEcerqF21oEcrob4mzjsp2Py/1nLfF5m+xYNMDpmA8vffg==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/plugin-syntax-numeric-separator": "^7.10.4" @@ -1500,6 +1640,7 @@ "version": "7.22.15", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.22.15.tgz", "integrity": "sha512-fEB+I1+gAmfAyxZcX1+ZUwLeAuuf8VIg67CTznZE0MqVFumWkh8xWtn58I4dxdVf080wn7gzWoF8vndOViJe9Q==", + "license": "MIT", "dependencies": { "@babel/compat-data": "^7.22.9", "@babel/helper-compilation-targets": "^7.22.15", @@ -1518,6 +1659,7 @@ "version": "7.22.5", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.22.5.tgz", "integrity": "sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/helper-replace-supers": "^7.22.5" @@ -1533,6 +1675,7 @@ "version": "7.22.11", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.22.11.tgz", "integrity": "sha512-rli0WxesXUeCJnMYhzAglEjLWVDF6ahb45HuprcmQuLidBJFWjNnOzssk2kuc6e33FlLaiZhG/kUIzUMWdBKaQ==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" @@ -1548,6 +1691,7 @@ "version": "7.23.0", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.0.tgz", "integrity": "sha512-sBBGXbLJjxTzLBF5rFWaikMnOGOk/BmK6vVByIdEggZ7Vn6CvWXZyRkkLFK6WE0IF8jSliyOkUN6SScFgzCM0g==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", @@ -1564,6 +1708,7 @@ "version": "7.22.15", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.22.15.tgz", "integrity": "sha512-hjk7qKIqhyzhhUvRT683TYQOFa/4cQKwQy7ALvTpODswN40MljzNDa0YldevS6tGbxwaEKVn502JmY0dP7qEtQ==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1578,6 +1723,7 @@ "version": "7.22.5", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.22.5.tgz", "integrity": "sha512-PPjh4gyrQnGe97JTalgRGMuU4icsZFnWkzicB/fUtzlKUqvsWBKEpPPfr5a2JiyirZkHxnAqkQMO5Z5B2kK3fA==", + "license": "MIT", "dependencies": { "@babel/helper-create-class-features-plugin": "^7.22.5", "@babel/helper-plugin-utils": "^7.22.5" @@ -1593,6 +1739,7 @@ "version": "7.22.11", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.22.11.tgz", "integrity": "sha512-sSCbqZDBKHetvjSwpyWzhuHkmW5RummxJBVbYLkGkaiTOWGxml7SXt0iWa03bzxFIx7wOj3g/ILRd0RcJKBeSQ==", + "license": "MIT", "dependencies": { "@babel/helper-annotate-as-pure": "^7.22.5", "@babel/helper-create-class-features-plugin": "^7.22.11", @@ -1610,6 +1757,7 @@ "version": "7.22.5", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.22.5.tgz", "integrity": "sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1624,6 +1772,7 @@ "version": "7.24.1", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.24.1.tgz", "integrity": "sha512-QXp1U9x0R7tkiGB0FOk8o74jhnap0FlZ5gNkRIWdG3eP+SvMFg118e1zaWewDzgABb106QSKpVsD3Wgd8t6ifA==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.24.0" }, @@ -1638,6 +1787,7 @@ "version": "7.22.5", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.22.5.tgz", "integrity": "sha512-PVk3WPYudRF5z4GKMEYUrLjPl38fJSKNaEOkFuoprioowGuWN6w2RKznuFNSlJx7pzzXXStPUnNSOEO0jL5EVw==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1652,6 +1802,7 @@ "version": "7.22.15", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.22.15.tgz", "integrity": "sha512-oKckg2eZFa8771O/5vi7XeTvmM6+O9cxZu+kanTU7tD4sin5nO/G8jGJhq8Hvt2Z0kUoEDRayuZLaUlYl8QuGA==", + "license": "MIT", "dependencies": { "@babel/helper-annotate-as-pure": "^7.22.5", "@babel/helper-module-imports": "^7.22.15", @@ -1670,6 +1821,7 @@ "version": "7.22.5", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.22.5.tgz", "integrity": "sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A==", + "license": "MIT", "dependencies": { "@babel/plugin-transform-react-jsx": "^7.22.5" }, @@ -1684,6 +1836,7 @@ "version": "7.22.5", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.22.5.tgz", "integrity": "sha512-gP4k85wx09q+brArVinTXhWiyzLl9UpmGva0+mWyKxk6JZequ05x3eUcIUE+FyttPKJFRRVtAvQaJ6YF9h1ZpA==", + "license": "MIT", "dependencies": { "@babel/helper-annotate-as-pure": "^7.22.5", "@babel/helper-plugin-utils": "^7.22.5" @@ -1699,6 +1852,7 @@ "version": "7.22.10", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.22.10.tgz", "integrity": "sha512-F28b1mDt8KcT5bUyJc/U9nwzw6cV+UmTeRlXYIl2TNqMMJif0Jeey9/RQ3C4NOd2zp0/TRsDns9ttj2L523rsw==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", "regenerator-transform": "^0.15.2" @@ -1714,6 +1868,7 @@ "version": "7.22.5", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.22.5.tgz", "integrity": "sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1728,6 +1883,7 @@ "version": "7.23.2", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.23.2.tgz", "integrity": "sha512-XOntj6icgzMS58jPVtQpiuF6ZFWxQiJavISGx5KGjRj+3gqZr8+N6Kx+N9BApWzgS+DOjIZfXXj0ZesenOWDyA==", + "license": "MIT", "dependencies": { "@babel/helper-module-imports": "^7.22.15", "@babel/helper-plugin-utils": "^7.22.5", @@ -1747,6 +1903,7 @@ "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", "bin": { "semver": "bin/semver.js" } @@ -1755,6 +1912,7 @@ "version": "7.22.5", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.22.5.tgz", "integrity": "sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1769,6 +1927,7 @@ "version": "7.22.5", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.22.5.tgz", "integrity": "sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" @@ -1784,6 +1943,7 @@ "version": "7.22.5", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.22.5.tgz", "integrity": "sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1798,6 +1958,7 @@ "version": "7.22.5", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.22.5.tgz", "integrity": "sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1812,6 +1973,7 @@ "version": "7.22.5", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.22.5.tgz", "integrity": "sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1826,6 +1988,7 @@ "version": "7.22.15", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.22.15.tgz", "integrity": "sha512-1uirS0TnijxvQLnlv5wQBwOX3E1wCFX7ITv+9pBV2wKEk4K+M5tqDaoNXnTH8tjEIYHLO98MwiTWO04Ggz4XuA==", + "license": "MIT", "dependencies": { "@babel/helper-annotate-as-pure": "^7.22.5", "@babel/helper-create-class-features-plugin": "^7.22.15", @@ -1843,6 +2006,7 @@ "version": "7.22.10", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.22.10.tgz", "integrity": "sha512-lRfaRKGZCBqDlRU3UIFovdp9c9mEvlylmpod0/OatICsSfuQ9YFthRo1tpTkGsklEefZdqlEFdY4A2dwTb6ohg==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1857,6 +2021,7 @@ "version": "7.22.5", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.22.5.tgz", "integrity": "sha512-HCCIb+CbJIAE6sXn5CjFQXMwkCClcOfPCzTlilJ8cUatfzwHlWQkbtV0zD338u9dZskwvuOYTuuaMaA8J5EI5A==", + "license": "MIT", "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.22.5", "@babel/helper-plugin-utils": "^7.22.5" @@ -1872,6 +2037,7 @@ "version": "7.22.5", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.22.5.tgz", "integrity": "sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg==", + "license": "MIT", "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.22.5", "@babel/helper-plugin-utils": "^7.22.5" @@ -1887,6 +2053,7 @@ "version": "7.22.5", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.22.5.tgz", "integrity": "sha512-lhMfi4FC15j13eKrh3DnYHjpGj6UKQHtNKTbtc1igvAhRy4+kLhV07OpLcsN0VgDEw/MjAvJO4BdMJsHwMhzCg==", + "license": "MIT", "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.22.5", "@babel/helper-plugin-utils": "^7.22.5" @@ -1902,6 +2069,7 @@ "version": "7.23.2", "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.23.2.tgz", "integrity": "sha512-BW3gsuDD+rvHL2VO2SjAUNTBe5YrjsTiDyqamPDWY723na3/yPQ65X5oQkFVJZ0o50/2d+svm1rkPoJeR1KxVQ==", + "license": "MIT", "dependencies": { "@babel/compat-data": "^7.23.2", "@babel/helper-compilation-targets": "^7.22.15", @@ -1995,6 +2163,7 @@ "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", "bin": { "semver": "bin/semver.js" } @@ -2003,6 +2172,7 @@ "version": "0.1.6-no-external-plugins", "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.0.0", "@babel/types": "^7.4.4", @@ -2016,6 +2186,7 @@ "version": "7.22.15", "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.22.15.tgz", "integrity": "sha512-Csy1IJ2uEh/PecCBXXoZGAZBeCATTuePzCSB7dLYWS0vOEj6CNpjxIhW4duWwZodBNueH7QO14WbGn8YyeuN9w==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/helper-validator-option": "^7.22.15", @@ -2035,6 +2206,7 @@ "version": "7.23.2", "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.23.2.tgz", "integrity": "sha512-u4UJc1XsS1GhIGteM8rnGiIvf9rJpiVgMEeCnwlLA7WJPC+jcXWJAGxYmeqs5hOZD8BbAfnV5ezBOxQbb4OUxA==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/helper-validator-option": "^7.22.15", @@ -2052,12 +2224,14 @@ "node_modules/@babel/regjsgen": { "version": "0.8.0", "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", - "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==" + "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==", + "license": "MIT" }, "node_modules/@babel/runtime": { "version": "7.23.2", "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.2.tgz", "integrity": "sha512-mM8eg4yl5D6i3lu2QKPuPH4FArvJ8KhTofbE7jwMUv9KX5mBvwPAqnV3MlyBNqdp9RyRKP6Yck8TrfYrPvX3bg==", + "license": "MIT", "dependencies": { "regenerator-runtime": "^0.14.0" }, @@ -2069,6 +2243,7 @@ "version": "7.23.2", "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.23.2.tgz", "integrity": "sha512-54cIh74Z1rp4oIjsHjqN+WM4fMyCBYe+LpZ9jWm51CZ1fbH3SkAzQD/3XLoNkjbJ7YEmjobLXyvQrFypRHOrXw==", + "license": "MIT", "dependencies": { "core-js-pure": "^3.30.2", "regenerator-runtime": "^0.14.0" @@ -2081,6 +2256,7 @@ "version": "7.22.15", "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.22.13", "@babel/parser": "^7.22.15", @@ -2094,6 +2270,7 @@ "version": "7.23.5", "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.5.tgz", "integrity": "sha512-czx7Xy5a6sapWWRx61m1Ke1Ra4vczu1mCTtJam5zRTBOonfdJ+S/B6HYmGYu3fJtr8GGET3si6IhgWVBhJ/m8w==", + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.23.5", "@babel/generator": "^7.23.5", @@ -2114,6 +2291,7 @@ "version": "7.23.5", "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.5.tgz", "integrity": "sha512-ON5kSOJwVO6xXVRTvOI0eOnWe7VdUcIpsovGo9U/Br4Ie4UVFQTboO2cYnDhAGU6Fp+UxSiT+pMft0SMHfuq6w==", + "license": "MIT", "dependencies": { "@babel/helper-string-parser": "^7.23.4", "@babel/helper-validator-identifier": "^7.22.20", @@ -2127,6 +2305,7 @@ "version": "1.5.0", "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", + "license": "MIT", "optional": true, "engines": { "node": ">=0.1.90" @@ -2136,6 +2315,7 @@ "version": "0.5.7", "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", + "license": "MIT", "engines": { "node": ">=10.0.0" } @@ -2143,12 +2323,14 @@ "node_modules/@docsearch/css": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/@docsearch/css/-/css-3.6.0.tgz", - "integrity": "sha512-+sbxb71sWre+PwDK7X2T8+bhS6clcVMLwBPznX45Qu6opJcgRjAp7gYSDzVFp187J+feSj5dNBN1mJoi6ckkUQ==" + "integrity": "sha512-+sbxb71sWre+PwDK7X2T8+bhS6clcVMLwBPznX45Qu6opJcgRjAp7gYSDzVFp187J+feSj5dNBN1mJoi6ckkUQ==", + "license": "MIT" }, "node_modules/@docsearch/react": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/@docsearch/react/-/react-3.6.0.tgz", "integrity": "sha512-HUFut4ztcVNmqy9gp/wxNbC7pTOHhgVVkHVGCACTuLhUKUhKAF9KYHJtMiLUJxEqiFLQiuri1fWF8zqwM/cu1w==", + "license": "MIT", "dependencies": { "@algolia/autocomplete-core": "1.9.3", "@algolia/autocomplete-preset-algolia": "1.9.3", @@ -2180,6 +2362,7 @@ "version": "1.9.1", "resolved": "https://registry.npmjs.org/@docsly/react/-/react-1.9.1.tgz", "integrity": "sha512-MzInFvAXoAC2KlouOJgdKw7TLHShKwqDCv8JbmbISnUG/h1iEqGVTnfxwPJIPBfMGnkyqB6+7Ja+khV5Gir6hg==", + "license": "MIT", "dependencies": { "@heroicons/react": "^2.0.18", "clsx": "^1.2.1", @@ -2197,6 +2380,7 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==", + "license": "MIT", "engines": { "node": ">=6" } @@ -2205,6 +2389,7 @@ "version": "3.3.2", "resolved": "https://registry.npmjs.org/@docusaurus/core/-/core-3.3.2.tgz", "integrity": "sha512-PzKMydKI3IU1LmeZQDi+ut5RSuilbXnA8QdowGeJEgU8EJjmx3rBHNT1LxQxOVqNEwpWi/csLwd9bn7rUjggPA==", + "license": "MIT", "dependencies": { "@babel/core": "^7.23.3", "@babel/generator": "^7.23.3", @@ -2290,6 +2475,7 @@ "version": "3.3.2", "resolved": "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-3.3.2.tgz", "integrity": "sha512-+5+epLk/Rp4vFML4zmyTATNc3Is+buMAL6dNjrMWahdJCJlMWMPd/8YfU+2PA57t8mlSbhLJ7vAZVy54cd1vRQ==", + "license": "MIT", "dependencies": { "cssnano-preset-advanced": "^6.1.2", "postcss": "^8.4.38", @@ -2304,6 +2490,7 @@ "version": "3.3.2", "resolved": "https://registry.npmjs.org/@docusaurus/logger/-/logger-3.3.2.tgz", "integrity": "sha512-Ldu38GJ4P8g4guN7d7pyCOJ7qQugG7RVyaxrK8OnxuTlaImvQw33aDRwaX2eNmX8YK6v+//Z502F4sOZbHHCHQ==", + "license": "MIT", "dependencies": { "chalk": "^4.1.2", "tslib": "^2.6.0" @@ -2316,6 +2503,7 @@ "version": "3.3.2", "resolved": "https://registry.npmjs.org/@docusaurus/lqip-loader/-/lqip-loader-3.3.2.tgz", "integrity": "sha512-NLn4uhvPixtt7OP9udIg1hoWg2lCu/kiGbE4bJhj6n8q/2pP22hImMpiUufed1RalfurD+aH+1UA0iHZ18tFFw==", + "license": "MIT", "dependencies": { "@docusaurus/logger": "3.3.2", "file-loader": "^6.2.0", @@ -2331,6 +2519,7 @@ "version": "3.3.2", "resolved": "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-3.3.2.tgz", "integrity": "sha512-AFRxj/aOk3/mfYDPxE3wTbrjeayVRvNSZP7mgMuUlrb2UlPRbSVAFX1k2RbgAJrnTSwMgb92m2BhJgYRfptN3g==", + "license": "MIT", "dependencies": { "@docusaurus/logger": "3.3.2", "@docusaurus/utils": "3.3.2", @@ -2369,6 +2558,7 @@ "version": "3.3.2", "resolved": "https://registry.npmjs.org/@docusaurus/module-type-aliases/-/module-type-aliases-3.3.2.tgz", "integrity": "sha512-b/XB0TBJah5yKb4LYuJT4buFvL0MGAb0+vJDrJtlYMguRtsEBkf2nWl5xP7h4Dlw6ol0hsHrCYzJ50kNIOEclw==", + "license": "MIT", "dependencies": { "@docusaurus/types": "3.3.2", "@types/history": "^4.7.11", @@ -2387,6 +2577,7 @@ "version": "3.3.2", "resolved": "https://registry.npmjs.org/@docusaurus/plugin-client-redirects/-/plugin-client-redirects-3.3.2.tgz", "integrity": "sha512-W8ueb5PaQ06oanatL+CzE3GjqeRBTzv3MSFqEQlBa8BqLyOomc1uHsWgieE3glHsckU4mUZ6sHnOfesAtYnnew==", + "license": "MIT", "dependencies": { "@docusaurus/core": "3.3.2", "@docusaurus/logger": "3.3.2", @@ -2410,6 +2601,7 @@ "version": "3.3.2", "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-blog/-/plugin-content-blog-3.3.2.tgz", "integrity": "sha512-fJU+dmqp231LnwDJv+BHVWft8pcUS2xVPZdeYH6/ibH1s2wQ/sLcmUrGWyIv/Gq9Ptj8XWjRPMghlxghuPPoxg==", + "license": "MIT", "dependencies": { "@docusaurus/core": "3.3.2", "@docusaurus/logger": "3.3.2", @@ -2441,6 +2633,7 @@ "version": "3.3.2", "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-docs/-/plugin-content-docs-3.3.2.tgz", "integrity": "sha512-Dm1ri2VlGATTN3VGk1ZRqdRXWa1UlFubjaEL6JaxaK7IIFqN/Esjpl+Xw10R33loHcRww/H76VdEeYayaL76eg==", + "license": "MIT", "dependencies": { "@docusaurus/core": "3.3.2", "@docusaurus/logger": "3.3.2", @@ -2471,6 +2664,7 @@ "version": "3.3.2", "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-pages/-/plugin-content-pages-3.3.2.tgz", "integrity": "sha512-EKc9fQn5H2+OcGER8x1aR+7URtAGWySUgULfqE/M14+rIisdrBstuEZ4lUPDRrSIexOVClML82h2fDS+GSb8Ew==", + "license": "MIT", "dependencies": { "@docusaurus/core": "3.3.2", "@docusaurus/mdx-loader": "3.3.2", @@ -2493,6 +2687,7 @@ "version": "3.3.2", "resolved": "https://registry.npmjs.org/@docusaurus/plugin-debug/-/plugin-debug-3.3.2.tgz", "integrity": "sha512-oBIBmwtaB+YS0XlmZ3gCO+cMbsGvIYuAKkAopoCh0arVjtlyPbejzPrHuCoRHB9G7abjNZw7zoONOR8+8LM5+Q==", + "license": "MIT", "dependencies": { "@docusaurus/core": "3.3.2", "@docusaurus/types": "3.3.2", @@ -2513,6 +2708,7 @@ "version": "3.3.2", "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-3.3.2.tgz", "integrity": "sha512-jXhrEIhYPSClMBK6/IA8qf1/FBoxqGXZvg7EuBax9HaK9+kL3L0TJIlatd8jQJOMtds8mKw806TOCc3rtEad1A==", + "license": "MIT", "dependencies": { "@docusaurus/core": "3.3.2", "@docusaurus/types": "3.3.2", @@ -2531,6 +2727,7 @@ "version": "3.3.2", "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-3.3.2.tgz", "integrity": "sha512-vcrKOHGbIDjVnNMrfbNpRQR1x6Jvcrb48kVzpBAOsKbj9rXZm/idjVAXRaewwobHdOrJkfWS/UJoxzK8wyLRBQ==", + "license": "MIT", "dependencies": { "@docusaurus/core": "3.3.2", "@docusaurus/types": "3.3.2", @@ -2550,6 +2747,7 @@ "version": "3.3.2", "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-tag-manager/-/plugin-google-tag-manager-3.3.2.tgz", "integrity": "sha512-ldkR58Fdeks0vC+HQ+L+bGFSJsotQsipXD+iKXQFvkOfmPIV6QbHRd7IIcm5b6UtwOiK33PylNS++gjyLUmaGw==", + "license": "MIT", "dependencies": { "@docusaurus/core": "3.3.2", "@docusaurus/types": "3.3.2", @@ -2568,6 +2766,7 @@ "version": "3.3.2", "resolved": "https://registry.npmjs.org/@docusaurus/plugin-ideal-image/-/plugin-ideal-image-3.3.2.tgz", "integrity": "sha512-1CBovuQ7dnbPGK6aZ43tBU0K0EG0PR6T9GlalzyvZP6Zcx7AMpZjVcQZ+P2EIybtd/YoMUXvMiwfgJyx+5+haQ==", + "license": "MIT", "dependencies": { "@docusaurus/core": "3.3.2", "@docusaurus/lqip-loader": "3.3.2", @@ -2599,6 +2798,7 @@ "version": "3.3.2", "resolved": "https://registry.npmjs.org/@docusaurus/plugin-sitemap/-/plugin-sitemap-3.3.2.tgz", "integrity": "sha512-/ZI1+bwZBhAgC30inBsHe3qY9LOZS+79fRGkNdTcGHRMcdAp6Vw2pCd1gzlxd/xU+HXsNP6cLmTOrggmRp3Ujg==", + "license": "MIT", "dependencies": { "@docusaurus/core": "3.3.2", "@docusaurus/logger": "3.3.2", @@ -2622,6 +2822,7 @@ "version": "3.3.2", "resolved": "https://registry.npmjs.org/@docusaurus/preset-classic/-/preset-classic-3.3.2.tgz", "integrity": "sha512-1SDS7YIUN1Pg3BmD6TOTjhB7RSBHJRpgIRKx9TpxqyDrJ92sqtZhomDc6UYoMMLQNF2wHFZZVGFjxJhw2VpL+Q==", + "license": "MIT", "dependencies": { "@docusaurus/core": "3.3.2", "@docusaurus/plugin-content-blog": "3.3.2", @@ -2649,6 +2850,7 @@ "version": "1.7.0", "resolved": "https://registry.npmjs.org/@docusaurus/responsive-loader/-/responsive-loader-1.7.0.tgz", "integrity": "sha512-N0cWuVqTRXRvkBxeMQcy/OF2l7GN8rmni5EzR3HpwR+iU2ckYPnziceojcxvvxQ5NqZg1QfEW0tycQgHp+e+Nw==", + "license": "BSD-3-Clause", "dependencies": { "loader-utils": "^2.0.0" }, @@ -2672,6 +2874,7 @@ "version": "3.3.2", "resolved": "https://registry.npmjs.org/@docusaurus/theme-classic/-/theme-classic-3.3.2.tgz", "integrity": "sha512-gepHFcsluIkPb4Im9ukkiO4lXrai671wzS3cKQkY9BXQgdVwsdPf/KS0Vs4Xlb0F10fTz+T3gNjkxNEgSN9M0A==", + "license": "MIT", "dependencies": { "@docusaurus/core": "3.3.2", "@docusaurus/mdx-loader": "3.3.2", @@ -2711,6 +2914,7 @@ "version": "3.3.2", "resolved": "https://registry.npmjs.org/@docusaurus/theme-common/-/theme-common-3.3.2.tgz", "integrity": "sha512-kXqSaL/sQqo4uAMQ4fHnvRZrH45Xz2OdJ3ABXDS7YVGPSDTBC8cLebFrRR4YF9EowUHto1UC/EIklJZQMG/usA==", + "license": "MIT", "dependencies": { "@docusaurus/mdx-loader": "3.3.2", "@docusaurus/module-type-aliases": "3.3.2", @@ -2740,6 +2944,7 @@ "version": "3.3.2", "resolved": "https://registry.npmjs.org/@docusaurus/theme-live-codeblock/-/theme-live-codeblock-3.3.2.tgz", "integrity": "sha512-04ZyMVKOuWFwvmkx+pR4vq9IiaKf753pfxFWLp5FCGuPS9YWzkxg8ZifhobftAY+3uey6BcwfS84ewNvbOwoQA==", + "license": "MIT", "dependencies": { "@docusaurus/core": "3.3.2", "@docusaurus/theme-common": "3.3.2", @@ -2763,6 +2968,7 @@ "version": "3.3.2", "resolved": "https://registry.npmjs.org/@docusaurus/theme-search-algolia/-/theme-search-algolia-3.3.2.tgz", "integrity": "sha512-qLkfCl29VNBnF1MWiL9IyOQaHxUvicZp69hISyq/xMsNvFKHFOaOfk9xezYod2Q9xx3xxUh9t/QPigIei2tX4w==", + "license": "MIT", "dependencies": { "@docsearch/react": "^3.5.2", "@docusaurus/core": "3.3.2", @@ -2793,6 +2999,7 @@ "version": "3.3.2", "resolved": "https://registry.npmjs.org/@docusaurus/theme-translations/-/theme-translations-3.3.2.tgz", "integrity": "sha512-bPuiUG7Z8sNpGuTdGnmKl/oIPeTwKr0AXLGu9KaP6+UFfRZiyWbWE87ti97RrevB2ffojEdvchNujparR3jEZQ==", + "license": "MIT", "dependencies": { "fs-extra": "^11.1.1", "tslib": "^2.6.0" @@ -2805,12 +3012,14 @@ "version": "3.3.2", "resolved": "https://registry.npmjs.org/@docusaurus/tsconfig/-/tsconfig-3.3.2.tgz", "integrity": "sha512-2MQXkLoWqgOSiqFojNEq8iPtFBHGQqd1b/SQMoe+v3GgHmk/L6YTTO/hMcHhWb1hTFmbkei++IajSfD3RlZKvw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@docusaurus/types": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-3.3.2.tgz", "integrity": "sha512-5p201S7AZhliRxTU7uMKtSsoC8mgPA9bs9b5NQg1IRdRxJfflursXNVsgc3PcMqiUTul/v1s3k3rXXFlRE890w==", + "license": "MIT", "dependencies": { "@mdx-js/mdx": "^3.0.0", "@types/history": "^4.7.11", @@ -2831,6 +3040,7 @@ "version": "3.3.2", "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-3.3.2.tgz", "integrity": "sha512-f4YMnBVymtkSxONv4Y8js3Gez9IgHX+Lcg6YRMOjVbq8sgCcdYK1lf6SObAuz5qB/mxiSK7tW0M9aaiIaUSUJg==", + "license": "MIT", "dependencies": { "@docusaurus/logger": "3.3.2", "@docusaurus/utils-common": "3.3.2", @@ -2868,6 +3078,7 @@ "version": "3.3.2", "resolved": "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-3.3.2.tgz", "integrity": "sha512-QWFTLEkPYsejJsLStgtmetMFIA3pM8EPexcZ4WZ7b++gO5jGVH7zsipREnCHzk6+eDgeaXfkR6UPaTt86bp8Og==", + "license": "MIT", "dependencies": { "tslib": "^2.6.0" }, @@ -2887,6 +3098,7 @@ "version": "3.3.2", "resolved": "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-3.3.2.tgz", "integrity": "sha512-itDgFs5+cbW9REuC7NdXals4V6++KifgVMzoGOOOSIifBQw+8ULhy86u5e1lnptVL0sv8oAjq2alO7I40GR7pA==", + "license": "MIT", "dependencies": { "@docusaurus/logger": "3.3.2", "@docusaurus/utils": "3.3.2", @@ -2903,6 +3115,7 @@ "version": "0.38.1", "resolved": "https://registry.npmjs.org/@easyops-cn/autocomplete.js/-/autocomplete.js-0.38.1.tgz", "integrity": "sha512-drg76jS6syilOUmVNkyo1c7ZEBPcPuK+aJA7AksM5ZIIbV57DMHCywiCr+uHyv8BE5jUTU98j/H7gVrkHrWW3Q==", + "license": "MIT", "dependencies": { "cssesc": "^3.0.0", "immediate": "^3.2.3" @@ -2943,6 +3156,7 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==", + "license": "MIT", "engines": { "node": ">=6" } @@ -2951,6 +3165,7 @@ "version": "10.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "license": "MIT", "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", @@ -2960,10 +3175,17 @@ "node": ">=12" } }, + "node_modules/@exodus/schemasafe": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@exodus/schemasafe/-/schemasafe-1.3.0.tgz", + "integrity": "sha512-5Aap/GaRupgNx/feGBwLLTVv8OQFfv3pq2lPRzPg9R+IOBnDgghTGW7l7EuVXOvg5cc/xSAlRW8rBrjIC3Nvqw==", + "license": "MIT" + }, "node_modules/@floating-ui/core": { "version": "1.6.1", "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.6.1.tgz", "integrity": "sha512-42UH54oPZHPdRHdw6BgoBD6cg/eVTmVrFcgeRDM3jbO7uxSoipVcmcIGFcA5jmOHO5apcyvBhkSKES3fQJnu7A==", + "license": "MIT", "dependencies": { "@floating-ui/utils": "^0.2.0" } @@ -2972,6 +3194,7 @@ "version": "1.6.4", "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.6.4.tgz", "integrity": "sha512-0G8R+zOvQsAG1pg2Q99P21jiqxqGBW1iRe/iXHsBRBxnpXKFI8QwbB4x5KmYLggNO5m34IQgOIu9SCRfR/WWiQ==", + "license": "MIT", "dependencies": { "@floating-ui/core": "^1.0.0", "@floating-ui/utils": "^0.2.0" @@ -2980,17 +3203,20 @@ "node_modules/@floating-ui/utils": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.2.tgz", - "integrity": "sha512-J4yDIIthosAsRZ5CPYP/jQvUAQtlZTTD/4suA08/FEnlxqW3sKS9iAhgsa9VYLZ6vDHn/ixJgIqRQPotoBjxIw==" + "integrity": "sha512-J4yDIIthosAsRZ5CPYP/jQvUAQtlZTTD/4suA08/FEnlxqW3sKS9iAhgsa9VYLZ6vDHn/ixJgIqRQPotoBjxIw==", + "license": "MIT" }, "node_modules/@hapi/hoek": { "version": "9.3.0", "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", - "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==" + "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==", + "license": "BSD-3-Clause" }, "node_modules/@hapi/topo": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz", "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==", + "license": "BSD-3-Clause", "dependencies": { "@hapi/hoek": "^9.0.0" } @@ -2999,14 +3225,27 @@ "version": "2.0.18", "resolved": "https://registry.npmjs.org/@heroicons/react/-/react-2.0.18.tgz", "integrity": "sha512-7TyMjRrZZMBPa+/5Y8lN0iyvUU/01PeMGX2+RE7cQWpEUIcb4QotzUObFkJDejj/HUH4qjP/eQ0gzzKs2f+6Yw==", + "license": "MIT", "peerDependencies": { "react": ">= 16" } }, + "node_modules/@hookform/error-message": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@hookform/error-message/-/error-message-2.0.1.tgz", + "integrity": "sha512-U410sAr92xgxT1idlu9WWOVjndxLdgPUHEB8Schr27C9eh7/xUnITWpCMF93s+lGiG++D4JnbSnrb5A21AdSNg==", + "license": "MIT", + "peerDependencies": { + "react": ">=16.8.0", + "react-dom": ">=16.8.0", + "react-hook-form": "^7.0.0" + } + }, "node_modules/@isaacs/cliui": { "version": "8.0.2", "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "license": "ISC", "dependencies": { "string-width": "^5.1.2", "string-width-cjs": "npm:string-width@^4.2.0", @@ -3023,6 +3262,7 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "license": "MIT", "engines": { "node": ">=12" }, @@ -3034,6 +3274,7 @@ "version": "7.1.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "license": "MIT", "dependencies": { "ansi-regex": "^6.0.1" }, @@ -3048,6 +3289,7 @@ "version": "29.6.3", "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", + "license": "MIT", "dependencies": { "@sinclair/typebox": "^0.27.8" }, @@ -3059,6 +3301,7 @@ "version": "29.6.3", "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", + "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", "@types/istanbul-lib-coverage": "^2.0.0", @@ -3075,6 +3318,7 @@ "version": "0.3.3", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "license": "MIT", "dependencies": { "@jridgewell/set-array": "^1.0.1", "@jridgewell/sourcemap-codec": "^1.4.10", @@ -3088,6 +3332,7 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", + "license": "MIT", "engines": { "node": ">=6.0.0" } @@ -3096,6 +3341,7 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "license": "MIT", "engines": { "node": ">=6.0.0" } @@ -3104,6 +3350,7 @@ "version": "0.3.5", "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", + "license": "MIT", "dependencies": { "@jridgewell/gen-mapping": "^0.3.0", "@jridgewell/trace-mapping": "^0.3.9" @@ -3112,26 +3359,36 @@ "node_modules/@jridgewell/sourcemap-codec": { "version": "1.4.15", "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "license": "MIT" }, "node_modules/@jridgewell/trace-mapping": { "version": "0.3.20", "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", + "license": "MIT", "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" } }, + "node_modules/@jsdevtools/ono": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@jsdevtools/ono/-/ono-7.1.3.tgz", + "integrity": "sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg==", + "license": "MIT" + }, "node_modules/@leichtgewicht/ip-codec": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz", - "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==" + "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==", + "license": "MIT" }, "node_modules/@mdx-js/mdx": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-3.0.0.tgz", "integrity": "sha512-Icm0TBKBLYqroYbNW3BPnzMGn+7mwpQOK310aZ7+fkCtiU3aqv2cdcX+nd0Ydo3wI5Rx8bX2Z2QmGb/XcAClCw==", + "license": "MIT", "dependencies": { "@types/estree": "^1.0.0", "@types/estree-jsx": "^1.0.0", @@ -3166,6 +3423,7 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/@mdx-js/react/-/react-3.0.1.tgz", "integrity": "sha512-9ZrPIU4MGf6et1m1ov3zKf+q9+deetI51zprKB1D/z3NOb+rUxxtEl3mCjW5wTGh6VhRdwPueh1oRzi6ezkA8A==", + "license": "MIT", "dependencies": { "@types/mdx": "^2.0.0" }, @@ -3182,6 +3440,7 @@ "version": "1.7.2", "resolved": "https://registry.npmjs.org/@node-rs/jieba/-/jieba-1.7.2.tgz", "integrity": "sha512-zGto08NDU+KWm670qVHYGTb0YTEJ0A97dwH3WCnnhyRYMqTbOXKC6OwTc/cjzfSJP1UDBSar9Ug9BlmWmEThWg==", + "license": "MIT", "engines": { "node": ">= 10" }, @@ -3205,36 +3464,6 @@ "@node-rs/jieba-win32-x64-msvc": "1.7.2" } }, - "node_modules/@node-rs/jieba-android-arm-eabi": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/@node-rs/jieba-android-arm-eabi/-/jieba-android-arm-eabi-1.7.2.tgz", - "integrity": "sha512-FyDHRNSRIHOQO7S6Q4RwuGffnnnuNwaXPH7K8WqSzifEY+zFIaSPcNqrZHrnqyeXc4JiYpBIHeP+0Mkf1kIGRA==", - "cpu": [ - "arm" - ], - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@node-rs/jieba-android-arm64": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/@node-rs/jieba-android-arm64/-/jieba-android-arm64-1.7.2.tgz", - "integrity": "sha512-z0UEZCGrAX/IiarhuDMsEIDZBS77UZv4SQyL/J48yrsbWKbb2lJ1vCrYxXIWqwp6auXHEu4r1O/pMriDAcEnPg==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">= 10" - } - }, "node_modules/@node-rs/jieba-darwin-arm64": { "version": "1.7.2", "resolved": "https://registry.npmjs.org/@node-rs/jieba-darwin-arm64/-/jieba-darwin-arm64-1.7.2.tgz", @@ -3242,6 +3471,7 @@ "cpu": [ "arm64" ], + "license": "MIT", "optional": true, "os": [ "darwin" @@ -3250,192 +3480,224 @@ "node": ">= 10" } }, - "node_modules/@node-rs/jieba-darwin-x64": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/@node-rs/jieba-darwin-x64/-/jieba-darwin-x64-1.7.2.tgz", - "integrity": "sha512-euDawBU2FxB0CGTR803BA6WABsiicIrqa61z2AFFDPkJCDrauEM0jbMg3GDKLAvbaLbZ1Etu3QNN5xyroqp4Qw==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "darwin" - ], + "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==", + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, "engines": { - "node": ">= 10" + "node": ">= 8" } }, - "node_modules/@node-rs/jieba-freebsd-x64": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/@node-rs/jieba-freebsd-x64/-/jieba-freebsd-x64-1.7.2.tgz", - "integrity": "sha512-vXCaYxPb90d/xTBVG+ZZXrFLXsO2719pZSyiZCL2tey+UY28U7MOoK6394Wwmf0FCB/eRTQMCKjVIUDi+IRMUg==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "freebsd" - ], + "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==", + "license": "MIT", "engines": { - "node": ">= 10" + "node": ">= 8" } }, - "node_modules/@node-rs/jieba-linux-arm-gnueabihf": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/@node-rs/jieba-linux-arm-gnueabihf/-/jieba-linux-arm-gnueabihf-1.7.2.tgz", - "integrity": "sha512-HTep79XlJYO3KRYZ2kJChG9HnYr1DKSQTB+HEYWKLK0ifphqybcxGNLAdH0S4dViG2ciD0+iN/refgtqZEidpw==", - "cpu": [ - "arm" - ], - "optional": true, - "os": [ - "linux" - ], + "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==", + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, "engines": { - "node": ">= 10" + "node": ">= 8" } }, - "node_modules/@node-rs/jieba-linux-arm64-gnu": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/@node-rs/jieba-linux-arm64-gnu/-/jieba-linux-arm64-gnu-1.7.2.tgz", - "integrity": "sha512-P8QJdQydOVewL1MIqYiRpI7LOfrRQag+p4/hwExe+YXH8C7DOrR8rWJD/7XNRTbpOimlHq1UN/e+ZzhxQF/cLw==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "linux" - ], + "node_modules/@paloaltonetworks/openapi-to-postmanv2": { + "version": "3.1.0-hotfix.1", + "resolved": "https://registry.npmjs.org/@paloaltonetworks/openapi-to-postmanv2/-/openapi-to-postmanv2-3.1.0-hotfix.1.tgz", + "integrity": "sha512-0bdaPCEyQbnUo4xpOu7EzxXXkDx4BAXqc8QSbVBlzlVB5KoTLJiKKB4c3fa4BXbK+3u/OqfLbeNCebc2EC8ngA==", + "license": "Apache-2.0", + "dependencies": { + "@paloaltonetworks/postman-collection": "^4.1.0", + "ajv": "8.1.0", + "ajv-formats": "2.1.1", + "async": "3.2.1", + "commander": "2.20.3", + "js-yaml": "3.14.1", + "json-schema-merge-allof": "0.8.1", + "lodash": "4.17.21", + "oas-resolver-browser": "2.5.2", + "path-browserify": "1.0.1", + "yaml": "1.10.2" + }, + "bin": { + "openapi2postmanv2": "bin/openapi2postmanv2.js" + }, "engines": { - "node": ">= 10" + "node": ">=8" } }, - "node_modules/@node-rs/jieba-linux-arm64-musl": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/@node-rs/jieba-linux-arm64-musl/-/jieba-linux-arm64-musl-1.7.2.tgz", - "integrity": "sha512-WjnN0hmDvTXb2h3hMW5VnUGkK1xaqhs+WHfMMilau55+YN+YOYALKZ0TeBY4BapClLuBx54wqwmBX+B4hAXunQ==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" + "node_modules/@paloaltonetworks/openapi-to-postmanv2/node_modules/ajv": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.1.0.tgz", + "integrity": "sha512-B/Sk2Ix7A36fs/ZkuGLIR86EdjbgR6fsAcbx9lOP/QBSXujDNbVmIS/U4Itz5k8fPFDeVZl/zQ/gJW4Jrq6XjQ==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/@node-rs/jieba-linux-x64-gnu": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/@node-rs/jieba-linux-x64-gnu/-/jieba-linux-x64-gnu-1.7.2.tgz", - "integrity": "sha512-gBXds/DwNSA6lNUxJjL6WIaNT6pnlM5juUgV/krLLkBJ8vXpOrQ07p0rrK1tnigz9b20xhsHaFRSwED1Y8zeXw==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" + "node_modules/@paloaltonetworks/openapi-to-postmanv2/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "license": "MIT", + "dependencies": { + "sprintf-js": "~1.0.2" } }, - "node_modules/@node-rs/jieba-linux-x64-musl": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/@node-rs/jieba-linux-x64-musl/-/jieba-linux-x64-musl-1.7.2.tgz", - "integrity": "sha512-tNVD3SMuG5zAj7+bLS2Enio3zR7BPxi3PhQtpQ+Hv83jajIcN46QQ0EdoMFz/aB+hkQ9PlLAstu+VREFegs5EA==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" + "node_modules/@paloaltonetworks/openapi-to-postmanv2/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==", + "license": "MIT" + }, + "node_modules/@paloaltonetworks/openapi-to-postmanv2/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==", + "license": "MIT", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "node_modules/@node-rs/jieba-win32-arm64-msvc": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/@node-rs/jieba-win32-arm64-msvc/-/jieba-win32-arm64-msvc-1.7.2.tgz", - "integrity": "sha512-/e1iQ0Dh02lGPNCYTU/H3cfIsWydaGRzZ3TDj6GfWrxkWqXORL98x/VJ/C/uKLpc7GSLLd9ygyZG7SOAfKe2tA==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "win32" - ], + "node_modules/@paloaltonetworks/postman-code-generators": { + "version": "1.1.15-patch.2", + "resolved": "https://registry.npmjs.org/@paloaltonetworks/postman-code-generators/-/postman-code-generators-1.1.15-patch.2.tgz", + "integrity": "sha512-tRnAKtV4M8wLxcVnAx6ZCjCqbrR1xiqJNQkf1A71K8UxEP3N/+EspT82N5c0555w02oYFk21ViHuzuhm4gaGLw==", + "hasInstallScript": true, + "license": "Apache-2.0", + "dependencies": { + "@paloaltonetworks/postman-collection": "^4.1.0", + "async": "^3.2.4", + "path": "^0.12.7", + "shelljs": "^0.8.5" + }, "engines": { - "node": ">= 10" + "node": ">=6" } }, - "node_modules/@node-rs/jieba-win32-ia32-msvc": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/@node-rs/jieba-win32-ia32-msvc/-/jieba-win32-ia32-msvc-1.7.2.tgz", - "integrity": "sha512-cYjA6YUiOwtuEzWErvwMMt/RETNWQDLcmAaiHA8ohsa6c0eB0kRJlQCc683tlaczZxqroY/7C9mxgJNGvoGRbw==", - "cpu": [ - "ia32" - ], - "optional": true, - "os": [ - "win32" - ], + "node_modules/@paloaltonetworks/postman-code-generators/node_modules/async": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.5.tgz", + "integrity": "sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==", + "license": "MIT" + }, + "node_modules/@paloaltonetworks/postman-collection": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/@paloaltonetworks/postman-collection/-/postman-collection-4.1.1.tgz", + "integrity": "sha512-9JHHkkD8Xb4rvdKob7TDPRfqfmdG3KU0aO5gJyyjvMFbOVysam5I0d8/9HPOuJXWkUHGo3Sn+ov2Fcm2bnJ52Q==", + "license": "Apache-2.0", + "dependencies": { + "file-type": "3.9.0", + "http-reasons": "0.1.0", + "iconv-lite": "0.6.3", + "liquid-json": "0.3.1", + "lodash": "4.17.21", + "mime-format": "2.0.1", + "mime-types": "2.1.34", + "postman-url-encoder": "3.0.5", + "semver": "7.3.5", + "uuid": "8.3.2" + }, "engines": { - "node": ">= 10" + "node": ">=10" } }, - "node_modules/@node-rs/jieba-win32-x64-msvc": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/@node-rs/jieba-win32-x64-msvc/-/jieba-win32-x64-msvc-1.7.2.tgz", - "integrity": "sha512-2M+Um3woFF17sa8VBYQQ6E5PNMe9Kf9fdzmeDh/GzuNHXlxW4LyK9VTV8zchIv/bDNAR5Z85kfW4wASULUxvFQ==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "win32" - ], + "node_modules/@paloaltonetworks/postman-collection/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, "engines": { - "node": ">= 10" + "node": ">=0.10.0" } }, - "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==", + "node_modules/@paloaltonetworks/postman-collection/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==", + "license": "ISC", "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" + "yallist": "^4.0.0" }, "engines": { - "node": ">= 8" + "node": ">=10" } }, - "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==", + "node_modules/@paloaltonetworks/postman-collection/node_modules/mime-db": { + "version": "1.51.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz", + "integrity": "sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==", + "license": "MIT", "engines": { - "node": ">= 8" + "node": ">= 0.6" } }, - "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==", + "node_modules/@paloaltonetworks/postman-collection/node_modules/mime-types": { + "version": "2.1.34", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.34.tgz", + "integrity": "sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==", + "license": "MIT", "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" + "mime-db": "1.51.0" }, "engines": { - "node": ">= 8" + "node": ">= 0.6" + } + }, + "node_modules/@paloaltonetworks/postman-collection/node_modules/semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" } }, + "node_modules/@paloaltonetworks/postman-collection/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "license": "ISC" + }, "node_modules/@philpl/buble": { "version": "0.19.7", "resolved": "https://registry.npmjs.org/@philpl/buble/-/buble-0.19.7.tgz", "integrity": "sha512-wKTA2DxAGEW+QffRQvOhRQ0VBiYU2h2p8Yc1oBNlqSKws48/8faxqKNIuub0q4iuyTuLwtB8EkwiKwhlfV1PBA==", + "license": "MIT", "dependencies": { "acorn": "^6.1.1", "acorn-class-fields": "^0.2.1", @@ -3455,6 +3717,7 @@ "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==", + "license": "MIT", "dependencies": { "color-convert": "^1.9.0" }, @@ -3466,6 +3729,7 @@ "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "license": "MIT", "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -3479,6 +3743,7 @@ "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "license": "MIT", "dependencies": { "color-name": "1.1.3" } @@ -3486,12 +3751,14 @@ "node_modules/@philpl/buble/node_modules/color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "license": "MIT" }, "node_modules/@philpl/buble/node_modules/escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "license": "MIT", "engines": { "node": ">=0.8.0" } @@ -3500,6 +3767,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "license": "MIT", "engines": { "node": ">=4" } @@ -3516,6 +3784,7 @@ "version": "9.0.0", "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-9.0.0.tgz", "integrity": "sha512-3E12UeNSPfjrgwjkR81m5J7Aw/T55Tu7nUyZVQYCKEOs+2dkxEY+DpPtZzO4YruuiPb7NkYLVcyJC4+zCbk5pA==", + "license": "MIT", "dependencies": { "regenerate": "^1.4.2" }, @@ -3527,6 +3796,7 @@ "version": "4.8.0", "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.8.0.tgz", "integrity": "sha512-1F6bYsoYiz6is+oz70NWur2Vlh9KWtswuRuzJOfeYUrfPX2o8n74AnUVaOGDbUqVGO9fNHu48/pjJO4sNVwsOg==", + "license": "MIT", "dependencies": { "regenerate": "^1.4.2", "regenerate-unicode-properties": "^9.0.0", @@ -3543,6 +3813,7 @@ "version": "0.7.0", "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.7.0.tgz", "integrity": "sha512-A4pcaORqmNMDVwUjWoTzuhwMGpP+NykpfqAsEgI1FSH/EzC7lrN5TMd+kN8YCovX+jMpu8eaqXgXPCa0g8FQNQ==", + "license": "BSD-2-Clause", "dependencies": { "jsesc": "~0.5.0" }, @@ -3554,6 +3825,7 @@ "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "license": "MIT", "dependencies": { "has-flag": "^3.0.0" }, @@ -3565,6 +3837,7 @@ "version": "0.11.0", "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "license": "MIT", "optional": true, "engines": { "node": ">=14" @@ -3574,6 +3847,7 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/@pnpm/config.env-replace/-/config.env-replace-1.1.0.tgz", "integrity": "sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==", + "license": "MIT", "engines": { "node": ">=12.22.0" } @@ -3582,6 +3856,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/@pnpm/network.ca-file/-/network.ca-file-1.0.2.tgz", "integrity": "sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==", + "license": "MIT", "dependencies": { "graceful-fs": "4.2.10" }, @@ -3592,12 +3867,14 @@ "node_modules/@pnpm/network.ca-file/node_modules/graceful-fs": { "version": "4.2.10", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "license": "ISC" }, "node_modules/@pnpm/npm-conf": { "version": "2.2.2", "resolved": "https://registry.npmjs.org/@pnpm/npm-conf/-/npm-conf-2.2.2.tgz", "integrity": "sha512-UA91GwWPhFExt3IizW6bOeY/pQ0BkuNwKjk9iQW9KqxluGCrg4VenZ0/L+2Y0+ZOtme72EVvg6v0zo3AMQRCeA==", + "license": "MIT", "dependencies": { "@pnpm/config.env-replace": "^1.1.0", "@pnpm/network.ca-file": "^1.0.1", @@ -3610,2534 +3887,4126 @@ "node_modules/@polka/url": { "version": "1.0.0-next.23", "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.23.tgz", - "integrity": "sha512-C16M+IYz0rgRhWZdCmK+h58JMv8vijAA61gmz2rspCSwKwzBebpdcsiUmwrtJRdphuY30i6BSLEOP8ppbNLyLg==" - }, - "node_modules/@sideway/address": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.4.tgz", - "integrity": "sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw==", - "dependencies": { - "@hapi/hoek": "^9.0.0" - } - }, - "node_modules/@sideway/formula": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz", - "integrity": "sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==" - }, - "node_modules/@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/@sinclair/typebox": { - "version": "0.27.8", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", - "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==" - }, - "node_modules/@sindresorhus/is": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-3.1.2.tgz", - "integrity": "sha512-JiX9vxoKMmu8Y3Zr2RVathBL1Cdu4Nt4MuNWemt1Nc06A0RAin9c5FArkhGsyMBWfCu4zj+9b+GxtjAnE4qqLQ==", + "integrity": "sha512-C16M+IYz0rgRhWZdCmK+h58JMv8vijAA61gmz2rspCSwKwzBebpdcsiUmwrtJRdphuY30i6BSLEOP8ppbNLyLg==", + "license": "MIT" + }, + "node_modules/@port-labs/docusaurus-plugin-openapi-docs": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/@port-labs/docusaurus-plugin-openapi-docs/-/docusaurus-plugin-openapi-docs-0.0.5.tgz", + "integrity": "sha512-RE598oV0IBeiA8vNpkOOklTiBbj4hlq+tXbBHNWBPDO99vnLmpa/91CeBq0MS1mYf4AEgQaHvJJGGXs3wPn/eQ==", + "dependencies": { + "@apidevtools/json-schema-ref-parser": "^11.5.4", + "@docusaurus/plugin-content-docs": "^3.0.1", + "@docusaurus/utils": "^3.0.1", + "@docusaurus/utils-validation": "^3.0.1", + "@paloaltonetworks/openapi-to-postmanv2": "3.1.0-hotfix.1", + "@paloaltonetworks/postman-collection": "^4.1.0", + "@redocly/openapi-core": "^1.10.5", + "chalk": "^4.1.2", + "clsx": "^1.1.1", + "fs-extra": "^9.0.1", + "json-pointer": "^0.6.2", + "json-schema-merge-allof": "^0.8.1", + "json5": "^2.2.3", + "lodash": "^4.17.20", + "mustache": "^4.2.0", + "slugify": "^1.6.5", + "swagger2openapi": "^7.0.8", + "xml-formatter": "^2.6.1" + }, "engines": { - "node": ">=10" + "node": ">=14" }, - "funding": { - "url": "https://github.com/sindresorhus/is?sponsor=1" + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0 || ^18.0.0" } }, - "node_modules/@slorber/react-ideal-image": { - "version": "0.0.12", - "resolved": "https://registry.npmjs.org/@slorber/react-ideal-image/-/react-ideal-image-0.0.12.tgz", - "integrity": "sha512-u8KiDTEkMA7/KAeA5ywg/P7YG4zuKhWtswfVZDH8R8HXgQsFcHIYU2WaQnGuK/Du7Wdj90I+SdFmajSGFRvoKA==", + "node_modules/@port-labs/docusaurus-plugin-openapi-docs/node_modules/clsx": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", + "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==", "engines": { - "node": ">= 8.9.0", - "npm": "> 3" - }, - "peerDependencies": { - "prop-types": ">=15", - "react": ">=0.14.x", - "react-waypoint": ">=9.0.2" + "node": ">=6" } }, - "node_modules/@slorber/remark-comment": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@slorber/remark-comment/-/remark-comment-1.0.0.tgz", - "integrity": "sha512-RCE24n7jsOj1M0UPvIQCHTe7fI0sFL4S2nwKVWwHyVr/wI/H8GosgsJGyhnsZoGFnD/P2hLf1mSbrrgSLN93NA==", + "node_modules/@port-labs/docusaurus-plugin-openapi-docs/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", "dependencies": { - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.1.0", - "micromark-util-symbol": "^1.0.1" + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" } }, - "node_modules/@stackql/docusaurus-plugin-hubspot": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@stackql/docusaurus-plugin-hubspot/-/docusaurus-plugin-hubspot-1.1.0.tgz", - "integrity": "sha512-pQIF3WkzJ0Ng8gjc3cpG72GwNu5AHc9/jIpyvOO8kYNAzSTcKDMFJGOGGSz8dG3j6M0ZZp1TciLbZod2cFpSQQ==" - }, - "node_modules/@svgr/babel-plugin-add-jsx-attribute": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-8.0.0.tgz", - "integrity": "sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g==", + "node_modules/@port-labs/docusaurus-theme-openapi-docs": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/@port-labs/docusaurus-theme-openapi-docs/-/docusaurus-theme-openapi-docs-0.0.5.tgz", + "integrity": "sha512-rFkxyyzV5jpcMhuEWJb6IJKHgi62pnwkG87rF+IDu7r/p1Gsj69E32A87qs66EYLEZQq9lFMXf23knTtNn9Q3g==", + "dependencies": { + "@docusaurus/theme-common": "^3.0.1", + "@hookform/error-message": "^2.0.1", + "@paloaltonetworks/postman-code-generators": "1.1.15-patch.2", + "@paloaltonetworks/postman-collection": "^4.1.0", + "@port-labs/docusaurus-plugin-openapi-docs": "^0.0.5", + "@reduxjs/toolkit": "^1.7.1", + "clsx": "^1.1.1", + "copy-text-to-clipboard": "^3.1.0", + "crypto-js": "^4.1.1", + "docusaurus-plugin-sass": "^0.2.3", + "file-saver": "^2.0.5", + "lodash": "^4.17.20", + "node-polyfill-webpack-plugin": "^2.0.1", + "prism-react-renderer": "^2.3.0", + "react-hook-form": "^7.43.8", + "react-live": "^4.0.0", + "react-magic-dropzone": "^1.0.1", + "react-markdown": "^8.0.1", + "react-modal": "^3.15.1", + "react-redux": "^7.2.0", + "rehype-raw": "^6.1.1", + "sass": "^1.58.1", + "sass-loader": "^13.3.2", + "webpack": "^5.61.0", + "xml-formatter": "^2.6.1" + }, "engines": { "node": ">=14" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "react": "^16.8.4 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.4 || ^17.0.0 || ^18.0.0" } }, - "node_modules/@svgr/babel-plugin-remove-jsx-attribute": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-8.0.0.tgz", - "integrity": "sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==", - "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node_modules/@port-labs/docusaurus-theme-openapi-docs/node_modules/@types/hast": { + "version": "2.3.10", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-2.3.10.tgz", + "integrity": "sha512-McWspRw8xx8J9HurkVBfYj0xKoE25tOFlHGdx4MJ5xORQrMGZNqJhVQWaIbm6Oyla5kYOXtDiopzKRJzEOkwJw==", + "dependencies": { + "@types/unist": "^2" } }, - "node_modules/@svgr/babel-plugin-remove-jsx-empty-expression": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-8.0.0.tgz", - "integrity": "sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==", + "node_modules/@port-labs/docusaurus-theme-openapi-docs/node_modules/@types/unist": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.10.tgz", + "integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==" + }, + "node_modules/@port-labs/docusaurus-theme-openapi-docs/node_modules/clsx": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", + "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==", "engines": { - "node": ">=14" + "node": ">=6" + } + }, + "node_modules/@port-labs/docusaurus-theme-openapi-docs/node_modules/hast-util-from-parse5": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-7.1.2.tgz", + "integrity": "sha512-Nz7FfPBuljzsN3tCQ4kCBKqdNhQE2l0Tn+X1ubgKBPRoiDIu1mL08Cfw4k7q71+Duyaw7DXDN+VTAp4Vh3oCOw==", + "dependencies": { + "@types/hast": "^2.0.0", + "@types/unist": "^2.0.0", + "hastscript": "^7.0.0", + "property-information": "^6.0.0", + "vfile": "^5.0.0", + "vfile-location": "^4.0.0", + "web-namespaces": "^2.0.0" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-8.0.0.tgz", - "integrity": "sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ==", - "engines": { - "node": ">=14" + "node_modules/@port-labs/docusaurus-theme-openapi-docs/node_modules/hast-util-parse-selector": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-3.1.1.tgz", + "integrity": "sha512-jdlwBjEexy1oGz0aJ2f4GKMaVKkA9jwjr4MjAAI22E5fM/TXVZHuS5OpONtdeIkRKqAaryQ2E9xNQxijoThSZA==", + "dependencies": { + "@types/hast": "^2.0.0" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/@svgr/babel-plugin-svg-dynamic-title": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-8.0.0.tgz", - "integrity": "sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og==", - "engines": { - "node": ">=14" + "node_modules/@port-labs/docusaurus-theme-openapi-docs/node_modules/hast-util-raw": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-7.2.3.tgz", + "integrity": "sha512-RujVQfVsOrxzPOPSzZFiwofMArbQke6DJjnFfceiEbFh7S05CbPt0cYN+A5YeD3pso0JQk6O1aHBnx9+Pm2uqg==", + "dependencies": { + "@types/hast": "^2.0.0", + "@types/parse5": "^6.0.0", + "hast-util-from-parse5": "^7.0.0", + "hast-util-to-parse5": "^7.0.0", + "html-void-elements": "^2.0.0", + "parse5": "^6.0.0", + "unist-util-position": "^4.0.0", + "unist-util-visit": "^4.0.0", + "vfile": "^5.0.0", + "web-namespaces": "^2.0.0", + "zwitch": "^2.0.0" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/@svgr/babel-plugin-svg-em-dimensions": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-8.0.0.tgz", - "integrity": "sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g==", - "engines": { - "node": ">=14" + "node_modules/@port-labs/docusaurus-theme-openapi-docs/node_modules/hast-util-to-parse5": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-7.1.0.tgz", + "integrity": "sha512-YNRgAJkH2Jky5ySkIqFXTQiaqcAtJyVE+D5lkN6CdtOqrnkLfGYYrEcKuHOJZlp+MwjSwuD3fZuawI+sic/RBw==", + "dependencies": { + "@types/hast": "^2.0.0", + "comma-separated-tokens": "^2.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0", + "web-namespaces": "^2.0.0", + "zwitch": "^2.0.0" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/@svgr/babel-plugin-transform-react-native-svg": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-8.1.0.tgz", - "integrity": "sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q==", - "engines": { - "node": ">=14" + "node_modules/@port-labs/docusaurus-theme-openapi-docs/node_modules/hastscript": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-7.2.0.tgz", + "integrity": "sha512-TtYPq24IldU8iKoJQqvZOuhi5CyCQRAbvDOX0x1eW6rsHSxa/1i2CCiptNTotGHJ3VoHRGmqiv6/D3q113ikkw==", + "dependencies": { + "@types/hast": "^2.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-parse-selector": "^3.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/@svgr/babel-plugin-transform-svg-component": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-8.0.0.tgz", - "integrity": "sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw==", - "engines": { - "node": ">=12" - }, + "node_modules/@port-labs/docusaurus-theme-openapi-docs/node_modules/html-void-elements": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-2.0.1.tgz", + "integrity": "sha512-0quDb7s97CfemeJAnW9wC0hw78MtW7NU3hqtCD75g2vFlDLt36llsYD7uB7SUzojLMP24N5IatXf7ylGXiGG9A==", "funding": { "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/@svgr/babel-preset": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-8.1.0.tgz", - "integrity": "sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug==", + "node_modules/@port-labs/docusaurus-theme-openapi-docs/node_modules/parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" + }, + "node_modules/@port-labs/docusaurus-theme-openapi-docs/node_modules/rehype-raw": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/rehype-raw/-/rehype-raw-6.1.1.tgz", + "integrity": "sha512-d6AKtisSRtDRX4aSPsJGTfnzrX2ZkHQLE5kiUuGOeEoLpbEulFF4hj0mLPbsa+7vmguDKOVVEQdHKDSwoaIDsQ==", "dependencies": { - "@svgr/babel-plugin-add-jsx-attribute": "8.0.0", - "@svgr/babel-plugin-remove-jsx-attribute": "8.0.0", - "@svgr/babel-plugin-remove-jsx-empty-expression": "8.0.0", - "@svgr/babel-plugin-replace-jsx-attribute-value": "8.0.0", - "@svgr/babel-plugin-svg-dynamic-title": "8.0.0", - "@svgr/babel-plugin-svg-em-dimensions": "8.0.0", - "@svgr/babel-plugin-transform-react-native-svg": "8.1.0", - "@svgr/babel-plugin-transform-svg-component": "8.0.0" - }, - "engines": { - "node": ">=14" + "@types/hast": "^2.0.0", + "hast-util-raw": "^7.2.0", + "unified": "^10.0.0" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/@svgr/core": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@svgr/core/-/core-8.1.0.tgz", - "integrity": "sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA==", + "node_modules/@port-labs/docusaurus-theme-openapi-docs/node_modules/unified": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", + "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==", "dependencies": { - "@babel/core": "^7.21.3", - "@svgr/babel-preset": "8.1.0", - "camelcase": "^6.2.0", - "cosmiconfig": "^8.1.3", - "snake-case": "^3.0.4" - }, - "engines": { - "node": ">=14" + "@types/unist": "^2.0.0", + "bail": "^2.0.0", + "extend": "^3.0.0", + "is-buffer": "^2.0.0", + "is-plain-obj": "^4.0.0", + "trough": "^2.0.0", + "vfile": "^5.0.0" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/@svgr/hast-util-to-babel-ast": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-8.0.0.tgz", - "integrity": "sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q==", + "node_modules/@port-labs/docusaurus-theme-openapi-docs/node_modules/unist-util-is": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.2.1.tgz", + "integrity": "sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==", "dependencies": { - "@babel/types": "^7.21.3", - "entities": "^4.4.0" - }, - "engines": { - "node": ">=14" + "@types/unist": "^2.0.0" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/@svgr/plugin-jsx": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-8.1.0.tgz", - "integrity": "sha512-0xiIyBsLlr8quN+WyuxooNW9RJ0Dpr8uOnH/xrCVO8GLUcwHISwj1AG0k+LFzteTkAA0GbX0kj9q6Dk70PTiPA==", + "node_modules/@port-labs/docusaurus-theme-openapi-docs/node_modules/unist-util-position": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-4.0.4.tgz", + "integrity": "sha512-kUBE91efOWfIVBo8xzh/uZQ7p9ffYRtUbMRZBNFYwf0RK8koUMx6dGUfwylLOKmaT2cs4wSW96QoYUSXAyEtpg==", "dependencies": { - "@babel/core": "^7.21.3", - "@svgr/babel-preset": "8.1.0", - "@svgr/hast-util-to-babel-ast": "8.0.0", - "svg-parser": "^2.0.4" - }, - "engines": { - "node": ">=14" + "@types/unist": "^2.0.0" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@svgr/core": "*" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/@svgr/plugin-svgo": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-8.1.0.tgz", - "integrity": "sha512-Ywtl837OGO9pTLIN/onoWLmDQ4zFUycI1g76vuKGEz6evR/ZTJlJuz3G/fIkb6OVBJ2g0o6CGJzaEjfmEo3AHA==", + "node_modules/@port-labs/docusaurus-theme-openapi-docs/node_modules/unist-util-stringify-position": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz", + "integrity": "sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==", "dependencies": { - "cosmiconfig": "^8.1.3", - "deepmerge": "^4.3.1", - "svgo": "^3.0.2" - }, - "engines": { - "node": ">=14" + "@types/unist": "^2.0.0" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@svgr/core": "*" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/@svgr/webpack": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-8.1.0.tgz", - "integrity": "sha512-LnhVjMWyMQV9ZmeEy26maJk+8HTIbd59cH4F2MJ439k9DqejRisfFNGAPvRYlKETuh9LrImlS8aKsBgKjMA8WA==", + "node_modules/@port-labs/docusaurus-theme-openapi-docs/node_modules/unist-util-visit": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-4.1.2.tgz", + "integrity": "sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==", "dependencies": { - "@babel/core": "^7.21.3", - "@babel/plugin-transform-react-constant-elements": "^7.21.3", - "@babel/preset-env": "^7.20.2", - "@babel/preset-react": "^7.18.6", - "@babel/preset-typescript": "^7.21.0", - "@svgr/core": "8.1.0", - "@svgr/plugin-jsx": "8.1.0", - "@svgr/plugin-svgo": "8.1.0" - }, - "engines": { - "node": ">=14" + "@types/unist": "^2.0.0", + "unist-util-is": "^5.0.0", + "unist-util-visit-parents": "^5.1.1" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/@szmarczak/http-timer": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-5.0.1.tgz", - "integrity": "sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==", + "node_modules/@port-labs/docusaurus-theme-openapi-docs/node_modules/unist-util-visit-parents": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-5.1.3.tgz", + "integrity": "sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==", "dependencies": { - "defer-to-connect": "^2.0.1" + "@types/unist": "^2.0.0", + "unist-util-is": "^5.0.0" }, - "engines": { - "node": ">=14.16" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/@trysound/sax": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", - "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", - "engines": { - "node": ">=10.13.0" + "node_modules/@port-labs/docusaurus-theme-openapi-docs/node_modules/vfile": { + "version": "5.3.7", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.7.tgz", + "integrity": "sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==", + "dependencies": { + "@types/unist": "^2.0.0", + "is-buffer": "^2.0.0", + "unist-util-stringify-position": "^3.0.0", + "vfile-message": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/@types/acorn": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/@types/acorn/-/acorn-4.0.6.tgz", - "integrity": "sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==", + "node_modules/@port-labs/docusaurus-theme-openapi-docs/node_modules/vfile-location": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-4.1.0.tgz", + "integrity": "sha512-YF23YMyASIIJXpktBa4vIGLJ5Gs88UB/XePgqPmTa7cDA+JeO3yclbpheQYCHjVHBn/yePzrXuygIL+xbvRYHw==", "dependencies": { - "@types/estree": "*" + "@types/unist": "^2.0.0", + "vfile": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/@types/body-parser": { - "version": "1.19.4", - "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.4.tgz", - "integrity": "sha512-N7UDG0/xiPQa2D/XrVJXjkWbpqHCd2sBaB32ggRF2l83RhPfamgKGF8gwwqyksS95qUS5ZYF9aF+lLPRlwI2UA==", + "node_modules/@port-labs/docusaurus-theme-openapi-docs/node_modules/vfile-message": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-3.1.4.tgz", + "integrity": "sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==", "dependencies": { - "@types/connect": "*", - "@types/node": "*" + "@types/unist": "^2.0.0", + "unist-util-stringify-position": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/@types/bonjour": { - "version": "3.5.12", - "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.12.tgz", - "integrity": "sha512-ky0kWSqXVxSqgqJvPIkgFkcn4C8MnRog308Ou8xBBIVo39OmUFy+jqNe0nPwLCDFxUpmT9EvT91YzOJgkDRcFg==", + "node_modules/@redocly/ajv": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/@redocly/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-9GWx27t7xWhDIR02PA18nzBdLcKQRgc46xNQvjFkrYk4UOmvKhJ/dawwiX0cCOeetN5LcaaiqQbVOWYK62SGHw==", + "license": "MIT", "dependencies": { - "@types/node": "*" + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/@types/connect": { - "version": "3.4.37", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.37.tgz", - "integrity": "sha512-zBUSRqkfZ59OcwXon4HVxhx5oWCJmc0OtBTK05M+p0dYjgN6iTwIL2T/WbsQZrEsdnwaF9cWQ+azOnpPvIqY3Q==", - "dependencies": { - "@types/node": "*" + "node_modules/@redocly/config": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@redocly/config/-/config-0.5.0.tgz", + "integrity": "sha512-oA1ezWPT2tSV9CLk0FtZlViaFKtp+id3iAVeKBme1DdP4xUCdxEdP8umB21iLKdc6leRd5uGa+T5Ox4nHBAXWg==", + "license": "MIT" + }, + "node_modules/@redocly/openapi-core": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/@redocly/openapi-core/-/openapi-core-1.13.0.tgz", + "integrity": "sha512-lPvVE4+QjWMXCEIui994pYBZGqvEsodaCJPCJLkx6RK3OL/6Ss8wN17YTDmF49tzw3xgA8t4+x7TqelUSRcZUQ==", + "license": "MIT", + "dependencies": { + "@redocly/ajv": "^8.11.0", + "@redocly/config": "^0.5.0", + "colorette": "^1.2.0", + "js-levenshtein": "^1.1.6", + "js-yaml": "^4.1.0", + "lodash.isequal": "^4.5.0", + "minimatch": "^5.0.1", + "node-fetch": "^2.6.1", + "pluralize": "^8.0.0", + "yaml-ast-parser": "0.0.43" + }, + "engines": { + "node": ">=14.19.0", + "npm": ">=7.0.0" } }, - "node_modules/@types/connect-history-api-fallback": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.2.tgz", - "integrity": "sha512-gX2j9x+NzSh4zOhnRPSdPPmTepS4DfxES0AvIFv3jGv5QyeAJf6u6dY5/BAoAJU9Qq1uTvwOku8SSC2GnCRl6Q==", + "node_modules/@redocly/openapi-core/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "license": "MIT", "dependencies": { - "@types/express-serve-static-core": "*", - "@types/node": "*" + "balanced-match": "^1.0.0" } }, - "node_modules/@types/debug": { - "version": "4.1.10", - "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.10.tgz", - "integrity": "sha512-tOSCru6s732pofZ+sMv9o4o3Zc+Sa8l3bxd/tweTQudFn06vAzb13ZX46Zi6m6EJ+RUbRTHvgQJ1gBtSgkaUYA==", + "node_modules/@redocly/openapi-core/node_modules/colorette": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz", + "integrity": "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==", + "license": "MIT" + }, + "node_modules/@redocly/openapi-core/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "license": "ISC", "dependencies": { - "@types/ms": "*" + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" } }, - "node_modules/@types/eslint": { - "version": "8.44.6", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.44.6.tgz", - "integrity": "sha512-P6bY56TVmX8y9J87jHNgQh43h6VVU+6H7oN7hgvivV81K2XY8qJZ5vqPy/HdUoVIelii2kChYVzQanlswPWVFw==", + "node_modules/@reduxjs/toolkit": { + "version": "1.9.7", + "resolved": "https://registry.npmjs.org/@reduxjs/toolkit/-/toolkit-1.9.7.tgz", + "integrity": "sha512-t7v8ZPxhhKgOKtU+uyJT13lu4vL7az5aFi4IdoDs/eS548edn2M8Ik9h8fxgvMjGoAUVFSt6ZC1P5cWmQ014QQ==", + "license": "MIT", "dependencies": { - "@types/estree": "*", - "@types/json-schema": "*" + "immer": "^9.0.21", + "redux": "^4.2.1", + "redux-thunk": "^2.4.2", + "reselect": "^4.1.8" + }, + "peerDependencies": { + "react": "^16.9.0 || ^17.0.0 || ^18", + "react-redux": "^7.2.1 || ^8.0.2" + }, + "peerDependenciesMeta": { + "react": { + "optional": true + }, + "react-redux": { + "optional": true + } } }, - "node_modules/@types/eslint-scope": { - "version": "3.7.6", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.6.tgz", - "integrity": "sha512-zfM4ipmxVKWdxtDaJ3MP3pBurDXOCoyjvlpE3u6Qzrmw4BPbfm4/ambIeTk/r/J0iq/+2/xp0Fmt+gFvXJY2PQ==", + "node_modules/@sideway/address": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.4.tgz", + "integrity": "sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw==", + "license": "BSD-3-Clause", "dependencies": { - "@types/eslint": "*", - "@types/estree": "*" + "@hapi/hoek": "^9.0.0" } }, - "node_modules/@types/estree": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.4.tgz", - "integrity": "sha512-2JwWnHK9H+wUZNorf2Zr6ves96WHoWDJIftkcxPKsS7Djta6Zu519LarhRNljPXkpsZR2ZMwNCPeW7omW07BJw==" + "node_modules/@sideway/formula": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz", + "integrity": "sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==", + "license": "BSD-3-Clause" }, - "node_modules/@types/estree-jsx": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-1.0.2.tgz", - "integrity": "sha512-GNBWlGBMjiiiL5TSkvPtOteuXsiVitw5MYGY1UYlrAq0SKyczsls6sCD7TZ8fsjRsvCVxml7EbyjJezPb3DrSA==", - "dependencies": { - "@types/estree": "*" - } + "node_modules/@sideway/pinpoint": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", + "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==", + "license": "BSD-3-Clause" }, - "node_modules/@types/express": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.20.tgz", - "integrity": "sha512-rOaqlkgEvOW495xErXMsmyX3WKBInbhG5eqojXYi3cGUaLoRDlXa5d52fkfWZT963AZ3v2eZ4MbKE6WpDAGVsw==", - "dependencies": { - "@types/body-parser": "*", - "@types/express-serve-static-core": "^4.17.33", - "@types/qs": "*", - "@types/serve-static": "*" - } + "node_modules/@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", + "license": "MIT" }, - "node_modules/@types/express-serve-static-core": { - "version": "4.17.39", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.39.tgz", - "integrity": "sha512-BiEUfAiGCOllomsRAZOiMFP7LAnrifHpt56pc4Z7l9K6ACyN06Ns1JLMBxwkfLOjJRlSf06NwWsT7yzfpaVpyQ==", - "dependencies": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*", - "@types/send": "*" + "node_modules/@sindresorhus/is": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-3.1.2.tgz", + "integrity": "sha512-JiX9vxoKMmu8Y3Zr2RVathBL1Cdu4Nt4MuNWemt1Nc06A0RAin9c5FArkhGsyMBWfCu4zj+9b+GxtjAnE4qqLQ==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/is?sponsor=1" } }, - "node_modules/@types/gtag.js": { + "node_modules/@slorber/react-ideal-image": { "version": "0.0.12", - "resolved": "https://registry.npmjs.org/@types/gtag.js/-/gtag.js-0.0.12.tgz", - "integrity": "sha512-YQV9bUsemkzG81Ea295/nF/5GijnD2Af7QhEofh7xu+kvCN6RdodgNwwGWXB5GMI3NoyvQo0odNctoH/qLMIpg==" + "resolved": "https://registry.npmjs.org/@slorber/react-ideal-image/-/react-ideal-image-0.0.12.tgz", + "integrity": "sha512-u8KiDTEkMA7/KAeA5ywg/P7YG4zuKhWtswfVZDH8R8HXgQsFcHIYU2WaQnGuK/Du7Wdj90I+SdFmajSGFRvoKA==", + "license": "MIT", + "engines": { + "node": ">= 8.9.0", + "npm": "> 3" + }, + "peerDependencies": { + "prop-types": ">=15", + "react": ">=0.14.x", + "react-waypoint": ">=9.0.2" + } }, - "node_modules/@types/hast": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.2.tgz", - "integrity": "sha512-B5hZHgHsXvfCoO3xgNJvBnX7N8p86TqQeGKXcokW4XXi+qY4vxxPSFYofytvVmpFxzPv7oxDQzjg5Un5m2/xiw==", + "node_modules/@slorber/remark-comment": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@slorber/remark-comment/-/remark-comment-1.0.0.tgz", + "integrity": "sha512-RCE24n7jsOj1M0UPvIQCHTe7fI0sFL4S2nwKVWwHyVr/wI/H8GosgsJGyhnsZoGFnD/P2hLf1mSbrrgSLN93NA==", + "license": "MIT", "dependencies": { - "@types/unist": "*" + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.1.0", + "micromark-util-symbol": "^1.0.1" } }, - "node_modules/@types/history": { - "version": "4.7.11", - "resolved": "https://registry.npmjs.org/@types/history/-/history-4.7.11.tgz", - "integrity": "sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA==" - }, - "node_modules/@types/html-minifier-terser": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", - "integrity": "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==" - }, - "node_modules/@types/http-cache-semantics": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.3.tgz", - "integrity": "sha512-V46MYLFp08Wf2mmaBhvgjStM3tPa+2GAdy/iqoX+noX1//zje2x4XmrIU0cAwyClATsTmahbtoQ2EwP7I5WSiA==" - }, - "node_modules/@types/http-errors": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.3.tgz", - "integrity": "sha512-pP0P/9BnCj1OVvQR2lF41EkDG/lWWnDyA203b/4Fmi2eTyORnBtcDoKDwjWQthELrBvWkMOrvSOnZ8OVlW6tXA==" + "node_modules/@stackql/docusaurus-plugin-hubspot": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@stackql/docusaurus-plugin-hubspot/-/docusaurus-plugin-hubspot-1.1.0.tgz", + "integrity": "sha512-pQIF3WkzJ0Ng8gjc3cpG72GwNu5AHc9/jIpyvOO8kYNAzSTcKDMFJGOGGSz8dG3j6M0ZZp1TciLbZod2cFpSQQ==", + "license": "MIT" }, - "node_modules/@types/http-proxy": { - "version": "1.17.13", - "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.13.tgz", - "integrity": "sha512-GkhdWcMNiR5QSQRYnJ+/oXzu0+7JJEPC8vkWXK351BkhjraZF+1W13CUYARUvX9+NqIU2n6YHA4iwywsc/M6Sw==", - "dependencies": { - "@types/node": "*" + "node_modules/@svgr/babel-plugin-add-jsx-attribute": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-8.0.0.tgz", + "integrity": "sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g==", + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@types/istanbul-lib-coverage": { + "node_modules/@svgr/babel-plugin-remove-jsx-attribute": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-8.0.0.tgz", + "integrity": "sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==", + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-remove-jsx-empty-expression": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-8.0.0.tgz", + "integrity": "sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==", + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-8.0.0.tgz", + "integrity": "sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ==", + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-svg-dynamic-title": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-8.0.0.tgz", + "integrity": "sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og==", + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-svg-em-dimensions": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-8.0.0.tgz", + "integrity": "sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g==", + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-transform-react-native-svg": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-8.1.0.tgz", + "integrity": "sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q==", + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-transform-svg-component": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-8.0.0.tgz", + "integrity": "sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-preset": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-8.1.0.tgz", + "integrity": "sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug==", + "license": "MIT", + "dependencies": { + "@svgr/babel-plugin-add-jsx-attribute": "8.0.0", + "@svgr/babel-plugin-remove-jsx-attribute": "8.0.0", + "@svgr/babel-plugin-remove-jsx-empty-expression": "8.0.0", + "@svgr/babel-plugin-replace-jsx-attribute-value": "8.0.0", + "@svgr/babel-plugin-svg-dynamic-title": "8.0.0", + "@svgr/babel-plugin-svg-em-dimensions": "8.0.0", + "@svgr/babel-plugin-transform-react-native-svg": "8.1.0", + "@svgr/babel-plugin-transform-svg-component": "8.0.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/core": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/core/-/core-8.1.0.tgz", + "integrity": "sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA==", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.21.3", + "@svgr/babel-preset": "8.1.0", + "camelcase": "^6.2.0", + "cosmiconfig": "^8.1.3", + "snake-case": "^3.0.4" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/hast-util-to-babel-ast": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-8.0.0.tgz", + "integrity": "sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.21.3", + "entities": "^4.4.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/plugin-jsx": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-8.1.0.tgz", + "integrity": "sha512-0xiIyBsLlr8quN+WyuxooNW9RJ0Dpr8uOnH/xrCVO8GLUcwHISwj1AG0k+LFzteTkAA0GbX0kj9q6Dk70PTiPA==", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.21.3", + "@svgr/babel-preset": "8.1.0", + "@svgr/hast-util-to-babel-ast": "8.0.0", + "svg-parser": "^2.0.4" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@svgr/core": "*" + } + }, + "node_modules/@svgr/plugin-svgo": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-8.1.0.tgz", + "integrity": "sha512-Ywtl837OGO9pTLIN/onoWLmDQ4zFUycI1g76vuKGEz6evR/ZTJlJuz3G/fIkb6OVBJ2g0o6CGJzaEjfmEo3AHA==", + "license": "MIT", + "dependencies": { + "cosmiconfig": "^8.1.3", + "deepmerge": "^4.3.1", + "svgo": "^3.0.2" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@svgr/core": "*" + } + }, + "node_modules/@svgr/webpack": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-8.1.0.tgz", + "integrity": "sha512-LnhVjMWyMQV9ZmeEy26maJk+8HTIbd59cH4F2MJ439k9DqejRisfFNGAPvRYlKETuh9LrImlS8aKsBgKjMA8WA==", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.21.3", + "@babel/plugin-transform-react-constant-elements": "^7.21.3", + "@babel/preset-env": "^7.20.2", + "@babel/preset-react": "^7.18.6", + "@babel/preset-typescript": "^7.21.0", + "@svgr/core": "8.1.0", + "@svgr/plugin-jsx": "8.1.0", + "@svgr/plugin-svgo": "8.1.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@szmarczak/http-timer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-5.0.1.tgz", + "integrity": "sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==", + "license": "MIT", + "dependencies": { + "defer-to-connect": "^2.0.1" + }, + "engines": { + "node": ">=14.16" + } + }, + "node_modules/@trysound/sax": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", + "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", + "license": "ISC", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/@types/acorn": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@types/acorn/-/acorn-4.0.6.tgz", + "integrity": "sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==", + "license": "MIT", + "dependencies": { + "@types/estree": "*" + } + }, + "node_modules/@types/body-parser": { + "version": "1.19.4", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.4.tgz", + "integrity": "sha512-N7UDG0/xiPQa2D/XrVJXjkWbpqHCd2sBaB32ggRF2l83RhPfamgKGF8gwwqyksS95qUS5ZYF9aF+lLPRlwI2UA==", + "license": "MIT", + "dependencies": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "node_modules/@types/bonjour": { + "version": "3.5.12", + "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.12.tgz", + "integrity": "sha512-ky0kWSqXVxSqgqJvPIkgFkcn4C8MnRog308Ou8xBBIVo39OmUFy+jqNe0nPwLCDFxUpmT9EvT91YzOJgkDRcFg==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect": { + "version": "3.4.37", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.37.tgz", + "integrity": "sha512-zBUSRqkfZ59OcwXon4HVxhx5oWCJmc0OtBTK05M+p0dYjgN6iTwIL2T/WbsQZrEsdnwaF9cWQ+azOnpPvIqY3Q==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect-history-api-fallback": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.2.tgz", + "integrity": "sha512-gX2j9x+NzSh4zOhnRPSdPPmTepS4DfxES0AvIFv3jGv5QyeAJf6u6dY5/BAoAJU9Qq1uTvwOku8SSC2GnCRl6Q==", + "license": "MIT", + "dependencies": { + "@types/express-serve-static-core": "*", + "@types/node": "*" + } + }, + "node_modules/@types/debug": { + "version": "4.1.10", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.10.tgz", + "integrity": "sha512-tOSCru6s732pofZ+sMv9o4o3Zc+Sa8l3bxd/tweTQudFn06vAzb13ZX46Zi6m6EJ+RUbRTHvgQJ1gBtSgkaUYA==", + "license": "MIT", + "dependencies": { + "@types/ms": "*" + } + }, + "node_modules/@types/eslint": { + "version": "8.44.6", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.44.6.tgz", + "integrity": "sha512-P6bY56TVmX8y9J87jHNgQh43h6VVU+6H7oN7hgvivV81K2XY8qJZ5vqPy/HdUoVIelii2kChYVzQanlswPWVFw==", + "license": "MIT", + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/eslint-scope": { + "version": "3.7.6", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.6.tgz", + "integrity": "sha512-zfM4ipmxVKWdxtDaJ3MP3pBurDXOCoyjvlpE3u6Qzrmw4BPbfm4/ambIeTk/r/J0iq/+2/xp0Fmt+gFvXJY2PQ==", + "license": "MIT", + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.4.tgz", + "integrity": "sha512-2JwWnHK9H+wUZNorf2Zr6ves96WHoWDJIftkcxPKsS7Djta6Zu519LarhRNljPXkpsZR2ZMwNCPeW7omW07BJw==", + "license": "MIT" + }, + "node_modules/@types/estree-jsx": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-1.0.2.tgz", + "integrity": "sha512-GNBWlGBMjiiiL5TSkvPtOteuXsiVitw5MYGY1UYlrAq0SKyczsls6sCD7TZ8fsjRsvCVxml7EbyjJezPb3DrSA==", + "license": "MIT", + "dependencies": { + "@types/estree": "*" + } + }, + "node_modules/@types/express": { + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.20.tgz", + "integrity": "sha512-rOaqlkgEvOW495xErXMsmyX3WKBInbhG5eqojXYi3cGUaLoRDlXa5d52fkfWZT963AZ3v2eZ4MbKE6WpDAGVsw==", + "license": "MIT", + "dependencies": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.33", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "node_modules/@types/express-serve-static-core": { + "version": "4.17.39", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.39.tgz", + "integrity": "sha512-BiEUfAiGCOllomsRAZOiMFP7LAnrifHpt56pc4Z7l9K6ACyN06Ns1JLMBxwkfLOjJRlSf06NwWsT7yzfpaVpyQ==", + "license": "MIT", + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" + } + }, + "node_modules/@types/gtag.js": { + "version": "0.0.12", + "resolved": "https://registry.npmjs.org/@types/gtag.js/-/gtag.js-0.0.12.tgz", + "integrity": "sha512-YQV9bUsemkzG81Ea295/nF/5GijnD2Af7QhEofh7xu+kvCN6RdodgNwwGWXB5GMI3NoyvQo0odNctoH/qLMIpg==", + "license": "MIT" + }, + "node_modules/@types/hast": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.2.tgz", + "integrity": "sha512-B5hZHgHsXvfCoO3xgNJvBnX7N8p86TqQeGKXcokW4XXi+qY4vxxPSFYofytvVmpFxzPv7oxDQzjg5Un5m2/xiw==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/history": { + "version": "4.7.11", + "resolved": "https://registry.npmjs.org/@types/history/-/history-4.7.11.tgz", + "integrity": "sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA==", + "license": "MIT" + }, + "node_modules/@types/hoist-non-react-statics": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.5.tgz", + "integrity": "sha512-SbcrWzkKBw2cdwRTwQAswfpB9g9LJWfjtUeW/jvNwbhC8cpmmNYVePa+ncbUe0rGTQ7G3Ff6mYUN2VMfLVr+Sg==", + "license": "MIT", + "dependencies": { + "@types/react": "*", + "hoist-non-react-statics": "^3.3.0" + } + }, + "node_modules/@types/html-minifier-terser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "integrity": "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==", + "license": "MIT" + }, + "node_modules/@types/http-cache-semantics": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.3.tgz", + "integrity": "sha512-V46MYLFp08Wf2mmaBhvgjStM3tPa+2GAdy/iqoX+noX1//zje2x4XmrIU0cAwyClATsTmahbtoQ2EwP7I5WSiA==", + "license": "MIT" + }, + "node_modules/@types/http-errors": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.3.tgz", + "integrity": "sha512-pP0P/9BnCj1OVvQR2lF41EkDG/lWWnDyA203b/4Fmi2eTyORnBtcDoKDwjWQthELrBvWkMOrvSOnZ8OVlW6tXA==", + "license": "MIT" + }, + "node_modules/@types/http-proxy": { + "version": "1.17.13", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.13.tgz", + "integrity": "sha512-GkhdWcMNiR5QSQRYnJ+/oXzu0+7JJEPC8vkWXK351BkhjraZF+1W13CUYARUvX9+NqIU2n6YHA4iwywsc/M6Sw==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/istanbul-lib-coverage": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", - "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==" + "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", + "license": "MIT" + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", + "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@types/istanbul-reports": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", + "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "license": "MIT" + }, + "node_modules/@types/mdast": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.2.tgz", + "integrity": "sha512-tYR83EignvhYO9iU3kDg8V28M0jqyh9zzp5GV+EO+AYnyUl3P5ltkTeJuTiFZQFz670FSb3EwT/6LQdX+UdKfw==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/mdx": { + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/@types/mdx/-/mdx-2.0.9.tgz", + "integrity": "sha512-OKMdj17y8Cs+k1r0XFyp59ChSOwf8ODGtMQ4mnpfz5eFDk1aO41yN3pSKGuvVzmWAkFp37seubY1tzOVpwfWwg==", + "license": "MIT" + }, + "node_modules/@types/mime": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.4.tgz", + "integrity": "sha512-1Gjee59G25MrQGk8bsNvC6fxNiRgUlGn2wlhGf95a59DrprnnHk80FIMMFG9XHMdrfsuA119ht06QPDXA1Z7tw==", + "license": "MIT" + }, + "node_modules/@types/ms": { + "version": "0.7.33", + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.33.tgz", + "integrity": "sha512-AuHIyzR5Hea7ij0P9q7vx7xu4z0C28ucwjAZC0ja7JhINyCnOw8/DnvAPQQ9TfOlCtZAmCERKQX9+o1mgQhuOQ==", + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "20.8.10", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.10.tgz", + "integrity": "sha512-TlgT8JntpcbmKUFzjhsyhGfP2fsiz1Mv56im6enJ905xG1DAYesxJaeSbGqQmAw8OWPdhyJGhGSQGKRNJ45u9w==", + "license": "MIT", + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "node_modules/@types/node-forge": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.8.tgz", + "integrity": "sha512-vGXshY9vim9CJjrpcS5raqSjEfKlJcWy2HNdgUasR66fAnVEYarrf1ULV4nfvpC1nZq/moA9qyqBcu83x+Jlrg==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/parse-json": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.1.tgz", + "integrity": "sha512-3YmXzzPAdOTVljVMkTMBdBEvlOLg2cDQaDhnnhT3nT9uDbnJzjWhKlzb+desT12Y7tGqaN6d+AbozcKzyL36Ng==", + "license": "MIT" + }, + "node_modules/@types/parse5": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/@types/parse5/-/parse5-6.0.3.tgz", + "integrity": "sha512-SuT16Q1K51EAVPz1K29DJ/sXjhSQ0zjvsypYJ6tlwVsRV9jwW5Adq2ch8Dq8kDBCkYnELS7N7VNCSB5nC56t/g==", + "license": "MIT" + }, + "node_modules/@types/prismjs": { + "version": "1.26.2", + "resolved": "https://registry.npmjs.org/@types/prismjs/-/prismjs-1.26.2.tgz", + "integrity": "sha512-/r7Cp7iUIk7gts26mHXD66geUC+2Fo26TZYjQK6Nr4LDfi6lmdRmMqM0oPwfiMhUwoBAOFe8GstKi2pf6hZvwA==", + "license": "MIT" + }, + "node_modules/@types/prop-types": { + "version": "15.7.9", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.9.tgz", + "integrity": "sha512-n1yyPsugYNSmHgxDFjicaI2+gCNjsBck8UX9kuofAKlc0h1bL+20oSF72KeNaW2DUlesbEVCFgyV2dPGTiY42g==", + "license": "MIT" + }, + "node_modules/@types/qs": { + "version": "6.9.9", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.9.tgz", + "integrity": "sha512-wYLxw35euwqGvTDx6zfY1vokBFnsK0HNrzc6xNHchxfO2hpuRg74GbkEW7e3sSmPvj0TjCDT1VCa6OtHXnubsg==", + "license": "MIT" + }, + "node_modules/@types/range-parser": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.6.tgz", + "integrity": "sha512-+0autS93xyXizIYiyL02FCY8N+KkKPhILhcUSA276HxzreZ16kl+cmwvV2qAM/PuCCwPXzOXOWhiPcw20uSFcA==", + "license": "MIT" + }, + "node_modules/@types/react": { + "version": "18.2.33", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.33.tgz", + "integrity": "sha512-v+I7S+hu3PIBoVkKGpSYYpiBT1ijqEzWpzQD62/jm4K74hPpSP7FF9BnKG6+fg2+62weJYkkBWDJlZt5JO/9hg==", + "license": "MIT", + "dependencies": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-redux": { + "version": "7.1.33", + "resolved": "https://registry.npmjs.org/@types/react-redux/-/react-redux-7.1.33.tgz", + "integrity": "sha512-NF8m5AjWCkert+fosDsN3hAlHzpjSiXlVy9EgQEmLoBhaNXbmyeGs/aj5dQzKuF+/q+S7JQagorGDW8pJ28Hmg==", + "license": "MIT", + "dependencies": { + "@types/hoist-non-react-statics": "^3.3.0", + "@types/react": "*", + "hoist-non-react-statics": "^3.3.0", + "redux": "^4.0.0" + } + }, + "node_modules/@types/react-router": { + "version": "5.1.20", + "resolved": "https://registry.npmjs.org/@types/react-router/-/react-router-5.1.20.tgz", + "integrity": "sha512-jGjmu/ZqS7FjSH6owMcD5qpq19+1RS9DeVRqfl1FeBMxTDQAGwlMWOcs52NDoXaNKyG3d1cYQFMs9rCrb88o9Q==", + "license": "MIT", + "dependencies": { + "@types/history": "^4.7.11", + "@types/react": "*" + } + }, + "node_modules/@types/react-router-config": { + "version": "5.0.9", + "resolved": "https://registry.npmjs.org/@types/react-router-config/-/react-router-config-5.0.9.tgz", + "integrity": "sha512-a7zOj9yVUtM3Ns5stoseQAAsmppNxZpXDv6tZiFV5qlRmV4W96u53on1vApBX1eRSc8mrFOiB54Hc0Pk1J8GFg==", + "license": "MIT", + "dependencies": { + "@types/history": "^4.7.11", + "@types/react": "*", + "@types/react-router": "^5.1.0" + } + }, + "node_modules/@types/react-router-dom": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/@types/react-router-dom/-/react-router-dom-5.3.3.tgz", + "integrity": "sha512-kpqnYK4wcdm5UaWI3fLcELopqLrHgLqNsdpHauzlQktfkHL3npOSwtj1Uz9oKBAzs7lFtVkV8j83voAz2D8fhw==", + "license": "MIT", + "dependencies": { + "@types/history": "^4.7.11", + "@types/react": "*", + "@types/react-router": "*" + } + }, + "node_modules/@types/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==", + "license": "MIT" + }, + "node_modules/@types/sax": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@types/sax/-/sax-1.2.7.tgz", + "integrity": "sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/scheduler": { + "version": "0.16.5", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.5.tgz", + "integrity": "sha512-s/FPdYRmZR8SjLWGMCuax7r3qCWQw9QKHzXVukAuuIJkXkDRwp+Pu5LMIVFi0Fxbav35WURicYr8u1QsoybnQw==", + "license": "MIT" + }, + "node_modules/@types/send": { + "version": "0.17.3", + "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.3.tgz", + "integrity": "sha512-/7fKxvKUoETxjFUsuFlPB9YndePpxxRAOfGC/yJdc9kTjTeP5kRCTzfnE8kPUKCeyiyIZu0YQ76s50hCedI1ug==", + "license": "MIT", + "dependencies": { + "@types/mime": "^1", + "@types/node": "*" + } + }, + "node_modules/@types/serve-index": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.3.tgz", + "integrity": "sha512-4KG+yMEuvDPRrYq5fyVm/I2uqAJSAwZK9VSa+Zf+zUq9/oxSSvy3kkIqyL+jjStv6UCVi8/Aho0NHtB1Fwosrg==", + "license": "MIT", + "dependencies": { + "@types/express": "*" + } + }, + "node_modules/@types/serve-static": { + "version": "1.15.4", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.4.tgz", + "integrity": "sha512-aqqNfs1XTF0HDrFdlY//+SGUxmdSUbjeRXb5iaZc3x0/vMbYmdw9qvOgHWOyyLFxSSRnUuP5+724zBgfw8/WAw==", + "license": "MIT", + "dependencies": { + "@types/http-errors": "*", + "@types/mime": "*", + "@types/node": "*" + } + }, + "node_modules/@types/sockjs": { + "version": "0.3.35", + "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.35.tgz", + "integrity": "sha512-tIF57KB+ZvOBpAQwSaACfEu7htponHXaFzP7RfKYgsOS0NoYnn+9+jzp7bbq4fWerizI3dTB4NfAZoyeQKWJLw==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/unist": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.1.tgz", + "integrity": "sha512-ue/hDUpPjC85m+PM9OQDMZr3LywT+CT6mPsQq8OJtCLiERkGRcQUFvu9XASF5XWqyZFXbf15lvb3JFJ4dRLWPg==", + "license": "MIT" + }, + "node_modules/@types/ws": { + "version": "8.5.8", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.8.tgz", + "integrity": "sha512-flUksGIQCnJd6sZ1l5dqCEG/ksaoAg/eUwiLAGTJQcfgvZJKF++Ta4bJA6A5aPSJmsr+xlseHn4KLgVlNnvPTg==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/yargs": { + "version": "17.0.32", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz", + "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==", + "license": "MIT", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "21.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", + "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", + "license": "MIT" + }, + "node_modules/@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", + "license": "ISC" + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", + "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", + "license": "MIT", + "dependencies": { + "@webassemblyjs/helper-numbers": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", + "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", + "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", + "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==", + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", + "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", + "license": "MIT", + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", + "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", + "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", + "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", + "license": "MIT", + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", + "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", + "license": "Apache-2.0", + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", + "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", + "license": "MIT" + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", + "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/helper-wasm-section": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-opt": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6", + "@webassemblyjs/wast-printer": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", + "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", + "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", + "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } }, - "node_modules/@types/istanbul-lib-report": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", - "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", + "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", + "license": "MIT", "dependencies": { - "@types/istanbul-lib-coverage": "*" + "@webassemblyjs/ast": "1.11.6", + "@xtuc/long": "4.2.2" } }, - "node_modules/@types/istanbul-reports": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", - "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", + "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==", + "license": "BSD-3-Clause" + }, + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "license": "Apache-2.0" + }, + "node_modules/abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "license": "MIT", "dependencies": { - "@types/istanbul-lib-report": "*" + "event-target-shim": "^5.0.0" + }, + "engines": { + "node": ">=6.5" } }, - "node_modules/@types/json-schema": { - "version": "7.0.14", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.14.tgz", - "integrity": "sha512-U3PUjAudAdJBeC2pgN8uTIKgxrb4nlDF3SF0++EldXQvQBGkpFZMSnwQiIoDU77tv45VgNkl/L4ouD+rEomujw==" + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "license": "MIT", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } }, - "node_modules/@types/mdast": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.2.tgz", - "integrity": "sha512-tYR83EignvhYO9iU3kDg8V28M0jqyh9zzp5GV+EO+AYnyUl3P5ltkTeJuTiFZQFz670FSb3EwT/6LQdX+UdKfw==", + "node_modules/accepts/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/accepts/node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", "dependencies": { - "@types/unist": "*" + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" } }, - "node_modules/@types/mdx": { - "version": "2.0.9", - "resolved": "https://registry.npmjs.org/@types/mdx/-/mdx-2.0.9.tgz", - "integrity": "sha512-OKMdj17y8Cs+k1r0XFyp59ChSOwf8ODGtMQ4mnpfz5eFDk1aO41yN3pSKGuvVzmWAkFp37seubY1tzOVpwfWwg==" + "node_modules/acorn": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", + "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } }, - "node_modules/@types/mime": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.4.tgz", - "integrity": "sha512-1Gjee59G25MrQGk8bsNvC6fxNiRgUlGn2wlhGf95a59DrprnnHk80FIMMFG9XHMdrfsuA119ht06QPDXA1Z7tw==" + "node_modules/acorn-class-fields": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/acorn-class-fields/-/acorn-class-fields-0.2.1.tgz", + "integrity": "sha512-US/kqTe0H8M4LN9izoL+eykVAitE68YMuYZ3sHn3i1fjniqR7oQ3SPvuMK/VT1kjOQHrx5Q88b90TtOKgAv2hQ==", + "license": "MIT", + "engines": { + "node": ">=4.8.2" + }, + "peerDependencies": { + "acorn": "^6.0.0" + } }, - "node_modules/@types/ms": { - "version": "0.7.33", - "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.33.tgz", - "integrity": "sha512-AuHIyzR5Hea7ij0P9q7vx7xu4z0C28ucwjAZC0ja7JhINyCnOw8/DnvAPQQ9TfOlCtZAmCERKQX9+o1mgQhuOQ==" + "node_modules/acorn-dynamic-import": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-4.0.0.tgz", + "integrity": "sha512-d3OEjQV4ROpoflsnUA8HozoIR504TFxNivYEUi6uwz0IYhBkTDXGuWlNdMtybRt3nqVx/L6XqMt0FxkXuWKZhw==", + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0" + } }, - "node_modules/@types/node": { - "version": "20.8.10", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.10.tgz", - "integrity": "sha512-TlgT8JntpcbmKUFzjhsyhGfP2fsiz1Mv56im6enJ905xG1DAYesxJaeSbGqQmAw8OWPdhyJGhGSQGKRNJ45u9w==", + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/acorn-walk": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.0.tgz", + "integrity": "sha512-FS7hV565M5l1R08MXqo8odwMTB02C2UqzB17RVgu9EyuYFBqJZ3/ZY97sQD5FewVu1UyDFc1yztUDrAwT0EypA==", + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/address": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/address/-/address-1.2.2.tgz", + "integrity": "sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==", + "license": "MIT", + "engines": { + "node": ">= 10.0.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==", + "license": "MIT", "dependencies": { - "undici-types": "~5.26.4" + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "license": "MIT", + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/algoliasearch": { + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-4.23.3.tgz", + "integrity": "sha512-Le/3YgNvjW9zxIQMRhUHuhiUjAlKY/zsdZpfq4dlLqg6mEm0nL6yk+7f2hDOtLpxsgE4jSzDmvHL7nXdBp5feg==", + "license": "MIT", + "dependencies": { + "@algolia/cache-browser-local-storage": "4.23.3", + "@algolia/cache-common": "4.23.3", + "@algolia/cache-in-memory": "4.23.3", + "@algolia/client-account": "4.23.3", + "@algolia/client-analytics": "4.23.3", + "@algolia/client-common": "4.23.3", + "@algolia/client-personalization": "4.23.3", + "@algolia/client-search": "4.23.3", + "@algolia/logger-common": "4.23.3", + "@algolia/logger-console": "4.23.3", + "@algolia/recommend": "4.23.3", + "@algolia/requester-browser-xhr": "4.23.3", + "@algolia/requester-common": "4.23.3", + "@algolia/requester-node-http": "4.23.3", + "@algolia/transporter": "4.23.3" + } + }, + "node_modules/algoliasearch-helper": { + "version": "3.19.0", + "resolved": "https://registry.npmjs.org/algoliasearch-helper/-/algoliasearch-helper-3.19.0.tgz", + "integrity": "sha512-AaSb5DZDMZmDQyIy6lf4aL0OZGgyIdqvLIIvSuVQOIOqfhrYSY7TvotIFI2x0Q3cP3xUpTd7lI1astUC4aXBJw==", + "license": "MIT", + "dependencies": { + "@algolia/events": "^4.0.1" + }, + "peerDependencies": { + "algoliasearch": ">= 3.1 < 6" + } + }, + "node_modules/ansi-align": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", + "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", + "license": "ISC", + "dependencies": { + "string-width": "^4.1.0" + } + }, + "node_modules/ansi-align/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/ansi-align/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-html-community": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", + "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", + "engines": [ + "node >= 0.8.0" + ], + "license": "Apache-2.0", + "bin": { + "ansi-html": "bin/ansi-html" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", + "engines": { + "node": ">=8" } }, - "node_modules/@types/node-forge": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.8.tgz", - "integrity": "sha512-vGXshY9vim9CJjrpcS5raqSjEfKlJcWy2HNdgUasR66fAnVEYarrf1ULV4nfvpC1nZq/moA9qyqBcu83x+Jlrg==", + "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==", + "license": "MIT", "dependencies": { - "@types/node": "*" + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@types/parse-json": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.1.tgz", - "integrity": "sha512-3YmXzzPAdOTVljVMkTMBdBEvlOLg2cDQaDhnnhT3nT9uDbnJzjWhKlzb+desT12Y7tGqaN6d+AbozcKzyL36Ng==" + "node_modules/any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", + "license": "MIT" }, - "node_modules/@types/prismjs": { - "version": "1.26.2", - "resolved": "https://registry.npmjs.org/@types/prismjs/-/prismjs-1.26.2.tgz", - "integrity": "sha512-/r7Cp7iUIk7gts26mHXD66geUC+2Fo26TZYjQK6Nr4LDfi6lmdRmMqM0oPwfiMhUwoBAOFe8GstKi2pf6hZvwA==" + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } }, - "node_modules/@types/prop-types": { - "version": "15.7.9", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.9.tgz", - "integrity": "sha512-n1yyPsugYNSmHgxDFjicaI2+gCNjsBck8UX9kuofAKlc0h1bL+20oSF72KeNaW2DUlesbEVCFgyV2dPGTiY42g==" + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "license": "MIT" }, - "node_modules/@types/qs": { - "version": "6.9.9", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.9.tgz", - "integrity": "sha512-wYLxw35euwqGvTDx6zfY1vokBFnsK0HNrzc6xNHchxfO2hpuRg74GbkEW7e3sSmPvj0TjCDT1VCa6OtHXnubsg==" + "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==", + "license": "Python-2.0" }, - "node_modules/@types/range-parser": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.6.tgz", - "integrity": "sha512-+0autS93xyXizIYiyL02FCY8N+KkKPhILhcUSA276HxzreZ16kl+cmwvV2qAM/PuCCwPXzOXOWhiPcw20uSFcA==" + "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==", + "license": "MIT" }, - "node_modules/@types/react": { - "version": "18.2.33", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.33.tgz", - "integrity": "sha512-v+I7S+hu3PIBoVkKGpSYYpiBT1ijqEzWpzQD62/jm4K74hPpSP7FF9BnKG6+fg2+62weJYkkBWDJlZt5JO/9hg==", - "dependencies": { - "@types/prop-types": "*", - "@types/scheduler": "*", - "csstype": "^3.0.2" + "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==", + "license": "MIT", + "engines": { + "node": ">=8" } }, - "node_modules/@types/react-router": { - "version": "5.1.20", - "resolved": "https://registry.npmjs.org/@types/react-router/-/react-router-5.1.20.tgz", - "integrity": "sha512-jGjmu/ZqS7FjSH6owMcD5qpq19+1RS9DeVRqfl1FeBMxTDQAGwlMWOcs52NDoXaNKyG3d1cYQFMs9rCrb88o9Q==", + "node_modules/asn1.js": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", + "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", + "license": "MIT", "dependencies": { - "@types/history": "^4.7.11", - "@types/react": "*" + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" } }, - "node_modules/@types/react-router-config": { - "version": "5.0.9", - "resolved": "https://registry.npmjs.org/@types/react-router-config/-/react-router-config-5.0.9.tgz", - "integrity": "sha512-a7zOj9yVUtM3Ns5stoseQAAsmppNxZpXDv6tZiFV5qlRmV4W96u53on1vApBX1eRSc8mrFOiB54Hc0Pk1J8GFg==", - "dependencies": { - "@types/history": "^4.7.11", - "@types/react": "*", - "@types/react-router": "^5.1.0" - } + "node_modules/asn1.js/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "license": "MIT" }, - "node_modules/@types/react-router-dom": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/@types/react-router-dom/-/react-router-dom-5.3.3.tgz", - "integrity": "sha512-kpqnYK4wcdm5UaWI3fLcELopqLrHgLqNsdpHauzlQktfkHL3npOSwtj1Uz9oKBAzs7lFtVkV8j83voAz2D8fhw==", + "node_modules/assert": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-2.1.0.tgz", + "integrity": "sha512-eLHpSK/Y4nhMJ07gDaAzoX/XAKS8PSaojml3M0DM4JpV1LAi5JOJ/p6H/XWrl8L+DzVEvVCW1z3vWAaB9oTsQw==", + "license": "MIT", "dependencies": { - "@types/history": "^4.7.11", - "@types/react": "*", - "@types/react-router": "*" + "call-bind": "^1.0.2", + "is-nan": "^1.3.2", + "object-is": "^1.1.5", + "object.assign": "^4.1.4", + "util": "^0.12.5" } }, - "node_modules/@types/retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", - "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==" - }, - "node_modules/@types/sax": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/@types/sax/-/sax-1.2.7.tgz", - "integrity": "sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A==", - "dependencies": { - "@types/node": "*" + "node_modules/astring": { + "version": "1.8.6", + "resolved": "https://registry.npmjs.org/astring/-/astring-1.8.6.tgz", + "integrity": "sha512-ISvCdHdlTDlH5IpxQJIex7BWBywFWgjJSVdwst+/iQCoEYnyOaQ95+X1JGshuBjGp6nxKUy1jMgE3zPqN7fQdg==", + "license": "MIT", + "bin": { + "astring": "bin/astring" } }, - "node_modules/@types/scheduler": { - "version": "0.16.5", - "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.5.tgz", - "integrity": "sha512-s/FPdYRmZR8SjLWGMCuax7r3qCWQw9QKHzXVukAuuIJkXkDRwp+Pu5LMIVFi0Fxbav35WURicYr8u1QsoybnQw==" + "node_modules/async": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.1.tgz", + "integrity": "sha512-XdD5lRO/87udXCMC9meWdYiR+Nq6ZjUfXidViUZGu2F1MO4T3XwZ1et0hb2++BgLfhyJwy44BGB/yx80ABx8hg==", + "license": "MIT" }, - "node_modules/@types/send": { - "version": "0.17.3", - "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.3.tgz", - "integrity": "sha512-/7fKxvKUoETxjFUsuFlPB9YndePpxxRAOfGC/yJdc9kTjTeP5kRCTzfnE8kPUKCeyiyIZu0YQ76s50hCedI1ug==", - "dependencies": { - "@types/mime": "^1", - "@types/node": "*" + "node_modules/at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "license": "ISC", + "engines": { + "node": ">= 4.0.0" } }, - "node_modules/@types/serve-index": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.3.tgz", - "integrity": "sha512-4KG+yMEuvDPRrYq5fyVm/I2uqAJSAwZK9VSa+Zf+zUq9/oxSSvy3kkIqyL+jjStv6UCVi8/Aho0NHtB1Fwosrg==", + "node_modules/autoprefixer": { + "version": "10.4.19", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.19.tgz", + "integrity": "sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", "dependencies": { - "@types/express": "*" + "browserslist": "^4.23.0", + "caniuse-lite": "^1.0.30001599", + "fraction.js": "^4.3.7", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" } }, - "node_modules/@types/serve-static": { - "version": "1.15.4", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.4.tgz", - "integrity": "sha512-aqqNfs1XTF0HDrFdlY//+SGUxmdSUbjeRXb5iaZc3x0/vMbYmdw9qvOgHWOyyLFxSSRnUuP5+724zBgfw8/WAw==", + "node_modules/available-typed-arrays": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", + "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", + "license": "MIT", "dependencies": { - "@types/http-errors": "*", - "@types/mime": "*", - "@types/node": "*" + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@types/sockjs": { - "version": "0.3.35", - "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.35.tgz", - "integrity": "sha512-tIF57KB+ZvOBpAQwSaACfEu7htponHXaFzP7RfKYgsOS0NoYnn+9+jzp7bbq4fWerizI3dTB4NfAZoyeQKWJLw==", + "node_modules/b4a": { + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.4.tgz", + "integrity": "sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw==", + "license": "ISC" + }, + "node_modules/babel-loader": { + "version": "9.1.3", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-9.1.3.tgz", + "integrity": "sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw==", + "license": "MIT", "dependencies": { - "@types/node": "*" + "find-cache-dir": "^4.0.0", + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 14.15.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0", + "webpack": ">=5" } }, - "node_modules/@types/unist": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.1.tgz", - "integrity": "sha512-ue/hDUpPjC85m+PM9OQDMZr3LywT+CT6mPsQq8OJtCLiERkGRcQUFvu9XASF5XWqyZFXbf15lvb3JFJ4dRLWPg==" - }, - "node_modules/@types/ws": { - "version": "8.5.8", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.8.tgz", - "integrity": "sha512-flUksGIQCnJd6sZ1l5dqCEG/ksaoAg/eUwiLAGTJQcfgvZJKF++Ta4bJA6A5aPSJmsr+xlseHn4KLgVlNnvPTg==", + "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==", + "license": "MIT", "dependencies": { - "@types/node": "*" + "object.assign": "^4.1.0" } }, - "node_modules/@types/yargs": { - "version": "17.0.32", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz", - "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==", + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.6.tgz", + "integrity": "sha512-jhHiWVZIlnPbEUKSSNb9YoWcQGdlTLq7z1GHL4AjFxaoOUMuuEVJ+Y4pAaQUGOGk93YsVCKPbqbfw3m0SM6H8Q==", + "license": "MIT", "dependencies": { - "@types/yargs-parser": "*" + "@babel/compat-data": "^7.22.6", + "@babel/helper-define-polyfill-provider": "^0.4.3", + "semver": "^6.3.1" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, - "node_modules/@types/yargs-parser": { - "version": "21.0.3", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", - "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==" - }, - "node_modules/@ungap/structured-clone": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", - "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==" + "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } }, - "node_modules/@webassemblyjs/ast": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", - "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.8.6", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.6.tgz", + "integrity": "sha512-leDIc4l4tUgU7str5BWLS2h8q2N4Nf6lGZP6UrNDxdtfF2g69eJ5L0H7S8A5Ln/arfFAfHor5InAdZuIOwZdgQ==", + "license": "MIT", "dependencies": { - "@webassemblyjs/helper-numbers": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + "@babel/helper-define-polyfill-provider": "^0.4.3", + "core-js-compat": "^3.33.1" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, - "node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", - "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==" + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.3.tgz", + "integrity": "sha512-8sHeDOmXC8csczMrYEOf0UTNa4yE2SxV5JGeT/LP1n0OYVDUUFPxG9vdk2AlDlIit4t+Kf0xCtpgXPBwnn/9pw==", + "license": "MIT", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.4.3" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } }, - "node_modules/@webassemblyjs/helper-api-error": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", - "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==" + "node_modules/bail": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", + "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } }, - "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", - "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==" + "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==", + "license": "MIT" }, - "node_modules/@webassemblyjs/helper-numbers": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", - "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", - "dependencies": { - "@webassemblyjs/floating-point-hex-parser": "1.11.6", - "@webassemblyjs/helper-api-error": "1.11.6", - "@xtuc/long": "4.2.2" - } + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" }, - "node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", - "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==" + "node_modules/batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==", + "license": "MIT" }, - "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", - "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", - "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6" + "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==", + "license": "MIT", + "engines": { + "node": "*" } }, - "node_modules/@webassemblyjs/ieee754": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", - "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", - "dependencies": { - "@xtuc/ieee754": "^1.2.0" + "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==", + "license": "MIT", + "engines": { + "node": ">=8" } }, - "node_modules/@webassemblyjs/leb128": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", - "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "license": "MIT", "dependencies": { - "@xtuc/long": "4.2.2" + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" } }, - "node_modules/@webassemblyjs/utf8": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", - "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==" + "node_modules/bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "license": "MIT" }, - "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", - "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", + "node_modules/body-parser": { + "version": "1.20.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", + "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", + "license": "MIT", "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/helper-wasm-section": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-opt": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6", - "@webassemblyjs/wast-printer": "1.11.6" + "bytes": "3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.2", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" } }, - "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", - "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", - "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" + "node_modules/body-parser/node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" } }, - "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", - "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", + "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==", + "license": "MIT", "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6" + "ms": "2.0.0" } }, - "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", - "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", - "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-api-error": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" - } + "node_modules/body-parser/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" }, - "node_modules/@webassemblyjs/wast-printer": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", - "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", + "node_modules/bonjour-service": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.1.1.tgz", + "integrity": "sha512-Z/5lQRMOG9k7W+FkeGTNjh7htqn/2LMnfOvBZ8pynNZCM9MwkQkI3zeI4oz09uWdcgmgHugVvBqxGg4VQJ5PCg==", + "license": "MIT", "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@xtuc/long": "4.2.2" + "array-flatten": "^2.1.2", + "dns-equal": "^1.0.0", + "fast-deep-equal": "^3.1.3", + "multicast-dns": "^7.2.5" } }, - "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/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "license": "ISC" }, - "node_modules/accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "node_modules/boxen": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-6.2.1.tgz", + "integrity": "sha512-H4PEsJXfFI/Pt8sjDWbHlQPx4zL/bvSQjcilJmaulGt5mLDorHOHpmdXAJcBcmru7PhYSp/cDMWRko4ZUMFkSw==", + "license": "MIT", "dependencies": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" + "ansi-align": "^3.0.1", + "camelcase": "^6.2.0", + "chalk": "^4.1.2", + "cli-boxes": "^3.0.0", + "string-width": "^5.0.1", + "type-fest": "^2.5.0", + "widest-line": "^4.0.1", + "wrap-ansi": "^8.0.1" }, "engines": { - "node": ">= 0.6" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/accepts/node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "engines": { - "node": ">= 0.6" + "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==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "node_modules/accepts/node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "license": "MIT", "dependencies": { - "mime-db": "1.52.0" + "fill-range": "^7.0.1" }, "engines": { - "node": ">= 0.6" + "node": ">=8" } }, - "node_modules/acorn": { - "version": "6.4.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", - "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" + "node_modules/brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==", + "license": "MIT" + }, + "node_modules/browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "license": "MIT", + "dependencies": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" } }, - "node_modules/acorn-class-fields": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/acorn-class-fields/-/acorn-class-fields-0.2.1.tgz", - "integrity": "sha512-US/kqTe0H8M4LN9izoL+eykVAitE68YMuYZ3sHn3i1fjniqR7oQ3SPvuMK/VT1kjOQHrx5Q88b90TtOKgAv2hQ==", - "engines": { - "node": ">=4.8.2" - }, - "peerDependencies": { - "acorn": "^6.0.0" + "node_modules/browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "license": "MIT", + "dependencies": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" } }, - "node_modules/acorn-dynamic-import": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-4.0.0.tgz", - "integrity": "sha512-d3OEjQV4ROpoflsnUA8HozoIR504TFxNivYEUi6uwz0IYhBkTDXGuWlNdMtybRt3nqVx/L6XqMt0FxkXuWKZhw==", - "deprecated": "This is probably built in to whatever tool you're using. If you still need it... idk", - "peerDependencies": { - "acorn": "^6.0.0" + "node_modules/browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "license": "MIT", + "dependencies": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" } }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + "node_modules/browserify-rsa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", + "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", + "license": "MIT", + "dependencies": { + "bn.js": "^5.0.0", + "randombytes": "^2.0.1" } }, - "node_modules/acorn-walk": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.0.tgz", - "integrity": "sha512-FS7hV565M5l1R08MXqo8odwMTB02C2UqzB17RVgu9EyuYFBqJZ3/ZY97sQD5FewVu1UyDFc1yztUDrAwT0EypA==", + "node_modules/browserify-sign": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.3.tgz", + "integrity": "sha512-JWCZW6SKhfhjJxO8Tyiiy+XYB7cqd2S5/+WeYHsKdNKFlCBhKbblba1A/HN/90YwtxKc8tCErjffZl++UNmGiw==", + "license": "ISC", + "dependencies": { + "bn.js": "^5.2.1", + "browserify-rsa": "^4.1.0", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "elliptic": "^6.5.5", + "hash-base": "~3.0", + "inherits": "^2.0.4", + "parse-asn1": "^5.1.7", + "readable-stream": "^2.3.8", + "safe-buffer": "^5.2.1" + }, "engines": { - "node": ">=0.4.0" + "node": ">= 0.12" } }, - "node_modules/address": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/address/-/address-1.2.2.tgz", - "integrity": "sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==", - "engines": { - "node": ">= 10.0.0" + "node_modules/browserify-sign/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "license": "MIT" + }, + "node_modules/browserify-sign/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "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/aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "node_modules/browserify-sign/node_modules/readable-stream/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "license": "MIT" + }, + "node_modules/browserify-sign/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "license": "MIT", "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - }, - "engines": { - "node": ">=8" + "safe-buffer": "~5.1.0" } }, - "node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "node_modules/browserify-sign/node_modules/string_decoder/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "license": "MIT" + }, + "node_modules/browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "license": "MIT", "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "pako": "~1.0.5" } }, - "node_modules/ajv-formats": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", - "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "node_modules/browserslist": { + "version": "4.23.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz", + "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", "dependencies": { - "ajv": "^8.0.0" + "caniuse-lite": "^1.0.30001587", + "electron-to-chromium": "^1.4.668", + "node-releases": "^2.0.14", + "update-browserslist-db": "^1.0.13" }, - "peerDependencies": { - "ajv": "^8.0.0" + "bin": { + "browserslist": "cli.js" }, - "peerDependenciesMeta": { - "ajv": { - "optional": true + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" } }, - "node_modules/ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "license": "MIT" + }, + "node_modules/buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==", + "license": "MIT" + }, + "node_modules/builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==", + "license": "MIT" + }, + "node_modules/bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/cacheable-lookup": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-7.0.0.tgz", + "integrity": "sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==", + "license": "MIT", + "engines": { + "node": ">=14.16" + } + }, + "node_modules/cacheable-request": { + "version": "10.2.14", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-10.2.14.tgz", + "integrity": "sha512-zkDT5WAF4hSSoUgyfg5tFIxz8XQK+25W/TLVojJTMKBaxevLBBtLxgqguAuVQB8PVW79FVjHcU+GJ9tVbDZ9mQ==", + "license": "MIT", "dependencies": { - "fast-deep-equal": "^3.1.3" + "@types/http-cache-semantics": "^4.0.2", + "get-stream": "^6.0.1", + "http-cache-semantics": "^4.1.1", + "keyv": "^4.5.3", + "mimic-response": "^4.0.0", + "normalize-url": "^8.0.0", + "responselike": "^3.0.0" }, - "peerDependencies": { - "ajv": "^8.8.2" + "engines": { + "node": ">=14.16" } }, - "node_modules/algoliasearch": { - "version": "4.23.3", - "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-4.23.3.tgz", - "integrity": "sha512-Le/3YgNvjW9zxIQMRhUHuhiUjAlKY/zsdZpfq4dlLqg6mEm0nL6yk+7f2hDOtLpxsgE4jSzDmvHL7nXdBp5feg==", - "dependencies": { - "@algolia/cache-browser-local-storage": "4.23.3", - "@algolia/cache-common": "4.23.3", - "@algolia/cache-in-memory": "4.23.3", - "@algolia/client-account": "4.23.3", - "@algolia/client-analytics": "4.23.3", - "@algolia/client-common": "4.23.3", - "@algolia/client-personalization": "4.23.3", - "@algolia/client-search": "4.23.3", - "@algolia/logger-common": "4.23.3", - "@algolia/logger-console": "4.23.3", - "@algolia/recommend": "4.23.3", - "@algolia/requester-browser-xhr": "4.23.3", - "@algolia/requester-common": "4.23.3", - "@algolia/requester-node-http": "4.23.3", - "@algolia/transporter": "4.23.3" + "node_modules/cacheable-request/node_modules/mimic-response": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-4.0.0.tgz", + "integrity": "sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==", + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/algoliasearch-helper": { - "version": "3.19.0", - "resolved": "https://registry.npmjs.org/algoliasearch-helper/-/algoliasearch-helper-3.19.0.tgz", - "integrity": "sha512-AaSb5DZDMZmDQyIy6lf4aL0OZGgyIdqvLIIvSuVQOIOqfhrYSY7TvotIFI2x0Q3cP3xUpTd7lI1astUC4aXBJw==", + "node_modules/call-bind": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", + "license": "MIT", "dependencies": { - "@algolia/events": "^4.0.1" + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" }, - "peerDependencies": { - "algoliasearch": ">= 3.1 < 6" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/ansi-align": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", - "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", + "node_modules/call-me-maybe": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.2.tgz", + "integrity": "sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==", + "license": "MIT" + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "license": "MIT", + "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==", + "license": "MIT", "dependencies": { - "string-width": "^4.1.0" + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" } }, - "node_modules/ansi-align/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/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "node_modules/ansi-align/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "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==", + "license": "MIT", "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" } }, - "node_modules/ansi-html-community": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", - "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", - "engines": [ - "node >= 0.8.0" + "node_modules/caniuse-lite": { + "version": "1.0.30001617", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001617.tgz", + "integrity": "sha512-mLyjzNI9I+Pix8zwcrpxEbGlfqOkF9kM3ptzmKNw5tizSyYwMe+nGLTqMK9cO+0E+Bh6TsBxNAaHWEM8xwSsmA==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } ], - "bin": { - "ansi-html": "bin/ansi-html" - } + "license": "CC-BY-4.0" }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "engines": { - "node": ">=8" + "node_modules/ccount": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", + "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" } }, - "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==", + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", "dependencies": { - "color-convert": "^2.0.1" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=8" + "node": ">=10" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/any-promise": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", - "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==" - }, - "node_modules/anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, + "node_modules/char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "license": "MIT", "engines": { - "node": ">= 8" + "node": ">=10" } }, - "node_modules/arg": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", - "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==" + "node_modules/character-entities": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", + "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } }, - "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/character-entities-html4": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz", + "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } }, - "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/character-entities-legacy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", + "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } }, - "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/character-reference-invalid": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz", + "integrity": "sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/astring": { - "version": "1.8.6", - "resolved": "https://registry.npmjs.org/astring/-/astring-1.8.6.tgz", - "integrity": "sha512-ISvCdHdlTDlH5IpxQJIex7BWBywFWgjJSVdwst+/iQCoEYnyOaQ95+X1JGshuBjGp6nxKUy1jMgE3zPqN7fQdg==", - "bin": { - "astring": "bin/astring" + "node_modules/charset": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/charset/-/charset-1.0.1.tgz", + "integrity": "sha512-6dVyOOYjpfFcL1Y4qChrAoQLRHvj2ziyhcm0QJlhOcAhykL/k1kTUPbeo+87MNRTRdk2OIIsIXbuF3x2wi5EXg==", + "license": "MIT", + "engines": { + "node": ">=4.0.0" } }, - "node_modules/at-least-node": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", - "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "node_modules/cheerio": { + "version": "1.0.0-rc.12", + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz", + "integrity": "sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==", + "license": "MIT", + "dependencies": { + "cheerio-select": "^2.1.0", + "dom-serializer": "^2.0.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1", + "htmlparser2": "^8.0.1", + "parse5": "^7.0.0", + "parse5-htmlparser2-tree-adapter": "^7.0.0" + }, "engines": { - "node": ">= 4.0.0" + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/cheeriojs/cheerio?sponsor=1" } }, - "node_modules/autoprefixer": { - "version": "10.4.19", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.19.tgz", - "integrity": "sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==", + "node_modules/cheerio-select": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz", + "integrity": "sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==", + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0", + "css-select": "^5.1.0", + "css-what": "^6.1.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", "funding": [ { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/autoprefixer" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" + "type": "individual", + "url": "https://paulmillr.com/funding/" } ], + "license": "MIT", "dependencies": { - "browserslist": "^4.23.0", - "caniuse-lite": "^1.0.30001599", - "fraction.js": "^4.3.7", - "normalize-range": "^0.1.2", - "picocolors": "^1.0.0", - "postcss-value-parser": "^4.2.0" - }, - "bin": { - "autoprefixer": "bin/autoprefixer" + "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": "^10 || ^12 || >=14" + "node": ">= 8.10.0" }, - "peerDependencies": { - "postcss": "^8.1.0" + "optionalDependencies": { + "fsevents": "~2.3.2" } }, - "node_modules/b4a": { - "version": "1.6.4", - "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.4.tgz", - "integrity": "sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw==" + "node_modules/chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "license": "ISC" }, - "node_modules/babel-loader": { - "version": "9.1.3", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-9.1.3.tgz", - "integrity": "sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw==", - "dependencies": { - "find-cache-dir": "^4.0.0", - "schema-utils": "^4.0.0" - }, + "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==", + "license": "MIT", "engines": { - "node": ">= 14.15.0" - }, - "peerDependencies": { - "@babel/core": "^7.12.0", - "webpack": ">=5" + "node": ">=6.0" } }, - "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/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "license": "MIT", + "engines": { + "node": ">=8" } }, - "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.4.6", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.6.tgz", - "integrity": "sha512-jhHiWVZIlnPbEUKSSNb9YoWcQGdlTLq7z1GHL4AjFxaoOUMuuEVJ+Y4pAaQUGOGk93YsVCKPbqbfw3m0SM6H8Q==", + "node_modules/cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.22.6", - "@babel/helper-define-polyfill-provider": "^0.4.3", - "semver": "^6.3.1" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" } }, - "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "bin": { - "semver": "bin/semver.js" - } + "node_modules/classnames": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.3.2.tgz", + "integrity": "sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw==", + "license": "MIT" }, - "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.8.6", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.6.tgz", - "integrity": "sha512-leDIc4l4tUgU7str5BWLS2h8q2N4Nf6lGZP6UrNDxdtfF2g69eJ5L0H7S8A5Ln/arfFAfHor5InAdZuIOwZdgQ==", + "node_modules/clean-css": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.2.tgz", + "integrity": "sha512-JVJbM+f3d3Q704rF4bqQ5UUyTtuJ0JRKNbTKVEeujCCBoMdkEi+V+e8oktO9qGQNSvHrFTM6JZRXrUvGR1czww==", + "license": "MIT", "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.4.3", - "core-js-compat": "^3.33.1" + "source-map": "~0.6.0" }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + "engines": { + "node": ">= 10.0" } }, - "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.3.tgz", - "integrity": "sha512-8sHeDOmXC8csczMrYEOf0UTNa4yE2SxV5JGeT/LP1n0OYVDUUFPxG9vdk2AlDlIit4t+Kf0xCtpgXPBwnn/9pw==", - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.4.3" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.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==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" } }, - "node_modules/bail": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", - "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "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==", + "license": "MIT", + "engines": { + "node": ">=6" } }, - "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/base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "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/batch": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", - "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==" + "node_modules/cli-boxes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz", + "integrity": "sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "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==", + "node_modules/cli-table3": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.3.tgz", + "integrity": "sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==", + "license": "MIT", + "dependencies": { + "string-width": "^4.2.0" + }, "engines": { - "node": "*" + "node": "10.* || >= 12.*" + }, + "optionalDependencies": { + "@colors/colors": "1.5.0" } }, - "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==", + "node_modules/cli-table3/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/cli-table3/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, "engines": { "node": ">=8" } }, - "node_modules/bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "node_modules/client-only": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", + "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==", + "license": "MIT" + }, + "node_modules/cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "license": "ISC", "dependencies": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" } }, - "node_modules/body-parser": { - "version": "1.20.2", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", - "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", + "node_modules/cliui/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/cliui/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", "dependencies": { - "bytes": "3.1.2", - "content-type": "~1.0.5", - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.11.0", - "raw-body": "2.5.2", - "type-is": "~1.6.18", - "unpipe": "1.0.0" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" - } - }, - "node_modules/body-parser/node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "engines": { - "node": ">= 0.8" + "node": ">=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==", + "node_modules/cliui/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "license": "MIT", "dependencies": { - "ms": "2.0.0" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/body-parser/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "node_modules/bonjour-service": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.1.1.tgz", - "integrity": "sha512-Z/5lQRMOG9k7W+FkeGTNjh7htqn/2LMnfOvBZ8pynNZCM9MwkQkI3zeI4oz09uWdcgmgHugVvBqxGg4VQJ5PCg==", + "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==", + "license": "MIT", "dependencies": { - "array-flatten": "^2.1.2", - "dns-equal": "^1.0.0", - "fast-deep-equal": "^3.1.3", - "multicast-dns": "^7.2.5" + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + }, + "engines": { + "node": ">=6" } }, - "node_modules/boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" - }, - "node_modules/boxen": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-6.2.1.tgz", - "integrity": "sha512-H4PEsJXfFI/Pt8sjDWbHlQPx4zL/bvSQjcilJmaulGt5mLDorHOHpmdXAJcBcmru7PhYSp/cDMWRko4ZUMFkSw==", + "node_modules/clone-deep/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==", + "license": "MIT", "dependencies": { - "ansi-align": "^3.0.1", - "camelcase": "^6.2.0", - "chalk": "^4.1.2", - "cli-boxes": "^3.0.0", - "string-width": "^5.0.1", - "type-fest": "^2.5.0", - "widest-line": "^4.0.1", - "wrap-ansi": "^8.0.1" + "isobject": "^3.0.1" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.10.0" } }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "node_modules/clsx": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", + "license": "MIT", + "engines": { + "node": ">=6" } }, - "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "node_modules/collapse-white-space": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-2.1.0.tgz", + "integrity": "sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/color": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz", + "integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==", + "license": "MIT", "dependencies": { - "fill-range": "^7.0.1" + "color-convert": "^2.0.1", + "color-string": "^1.9.0" }, "engines": { - "node": ">=8" + "node": ">=12.5.0" } }, - "node_modules/browserslist": { - "version": "4.23.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz", - "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], + "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==", + "license": "MIT", "dependencies": { - "caniuse-lite": "^1.0.30001587", - "electron-to-chromium": "^1.4.668", - "node-releases": "^2.0.14", - "update-browserslist-db": "^1.0.13" - }, - "bin": { - "browserslist": "cli.js" + "color-name": "~1.1.4" }, "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + "node": ">=7.0.0" } }, - "node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "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/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==", + "license": "MIT" + }, + "node_modules/color-string": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", + "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", + "license": "MIT", "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" } }, - "node_modules/buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + "node_modules/colord": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", + "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==", + "license": "MIT" }, - "node_modules/bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", + "node_modules/colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "license": "MIT" + }, + "node_modules/combine-promises": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/combine-promises/-/combine-promises-1.2.0.tgz", + "integrity": "sha512-VcQB1ziGD0NXrhKxiwyNbCDmRzs/OShMs2GqW2DlU2A/Sd0nQxE1oWDAE5O0ygSx5mgQOn9eIFh7yKPgFRVkPQ==", + "license": "MIT", "engines": { - "node": ">= 0.8" + "node": ">=10" } }, - "node_modules/cacheable-lookup": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-7.0.0.tgz", - "integrity": "sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==", + "node_modules/comma-separated-tokens": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", + "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "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==", + "license": "MIT", "engines": { - "node": ">=14.16" + "node": ">= 6" } }, - "node_modules/cacheable-request": { - "version": "10.2.14", - "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-10.2.14.tgz", - "integrity": "sha512-zkDT5WAF4hSSoUgyfg5tFIxz8XQK+25W/TLVojJTMKBaxevLBBtLxgqguAuVQB8PVW79FVjHcU+GJ9tVbDZ9mQ==", + "node_modules/common-path-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz", + "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==", + "license": "ISC" + }, + "node_modules/compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "license": "MIT", "dependencies": { - "@types/http-cache-semantics": "^4.0.2", - "get-stream": "^6.0.1", - "http-cache-semantics": "^4.1.1", - "keyv": "^4.5.3", - "mimic-response": "^4.0.0", - "normalize-url": "^8.0.0", - "responselike": "^3.0.0" + "mime-db": ">= 1.43.0 < 2" }, "engines": { - "node": ">=14.16" + "node": ">= 0.6" } }, - "node_modules/cacheable-request/node_modules/mimic-response": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-4.0.0.tgz", - "integrity": "sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==", + "node_modules/compressible/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 0.6" } }, - "node_modules/call-bind": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", - "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", + "node_modules/compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "license": "MIT", "dependencies": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "set-function-length": "^1.2.1" - }, - "engines": { - "node": ">= 0.4" + "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" }, - "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": ">= 0.8.0" } }, - "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==", + "node_modules/compression/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", "dependencies": { - "pascal-case": "^3.1.2", - "tslib": "^2.0.3" + "ms": "2.0.0" } }, - "node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node_modules/compression/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/compression/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "license": "MIT" + }, + "node_modules/compute-gcd": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/compute-gcd/-/compute-gcd-1.2.1.tgz", + "integrity": "sha512-TwMbxBNz0l71+8Sc4czv13h4kEqnchV9igQZBi6QUaz09dnz13juGnnaWWJTRsP3brxOoxeB4SA2WELLw1hCtg==", + "dependencies": { + "validate.io-array": "^1.0.3", + "validate.io-function": "^1.0.2", + "validate.io-integer-array": "^1.0.0" } }, - "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==", + "node_modules/compute-lcm": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/compute-lcm/-/compute-lcm-1.1.2.tgz", + "integrity": "sha512-OFNPdQAXnQhDSKioX8/XYT6sdUlXwpeMjfd6ApxMJfyZ4GxmLR1xvMERctlYhlHwIiz6CSpBc2+qYKjHGZw4TQ==", "dependencies": { - "browserslist": "^4.0.0", - "caniuse-lite": "^1.0.0", - "lodash.memoize": "^4.1.2", - "lodash.uniq": "^4.5.0" + "compute-gcd": "^1.2.1", + "validate.io-array": "^1.0.3", + "validate.io-function": "^1.0.2", + "validate.io-integer-array": "^1.0.0" } }, - "node_modules/caniuse-lite": { - "version": "1.0.30001617", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001617.tgz", - "integrity": "sha512-mLyjzNI9I+Pix8zwcrpxEbGlfqOkF9kM3ptzmKNw5tizSyYwMe+nGLTqMK9cO+0E+Bh6TsBxNAaHWEM8xwSsmA==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ] + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "license": "MIT" }, - "node_modules/ccount": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", - "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "node_modules/config-chain": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz", + "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==", + "license": "MIT", + "dependencies": { + "ini": "^1.3.4", + "proto-list": "~1.2.1" } }, - "node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/configstore": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/configstore/-/configstore-6.0.0.tgz", + "integrity": "sha512-cD31W1v3GqUlQvbBCGcXmd2Nj9SvLDOP1oQ0YFuLETufzSPaKp11rYBsSOm7rCsW3OnIRAFM3OxRhceaXNYHkA==", + "license": "BSD-2-Clause", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "dot-prop": "^6.0.1", + "graceful-fs": "^4.2.6", + "unique-string": "^3.0.0", + "write-file-atomic": "^3.0.3", + "xdg-basedir": "^5.0.1" }, "engines": { - "node": ">=10" + "node": ">=12" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/yeoman/configstore?sponsor=1" } }, - "node_modules/char-regex": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", - "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "node_modules/connect-history-api-fallback": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", + "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==", + "license": "MIT", "engines": { - "node": ">=10" + "node": ">=0.8" } }, - "node_modules/character-entities": { + "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==", + "license": "MIT" + }, + "node_modules/console-browserify": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", + "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==" + }, + "node_modules/consolidated-events": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", - "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "resolved": "https://registry.npmjs.org/consolidated-events/-/consolidated-events-2.0.2.tgz", + "integrity": "sha512-2/uRVMdRypf5z/TW/ncD/66l75P5hH2vM/GR8Jf8HLc2xnfJtmina6F6du8+v4Z2vTrMo7jC+W1tmEEuuELgkQ==", + "license": "MIT" + }, + "node_modules/constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==", + "license": "MIT" + }, + "node_modules/content-disposition": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", + "integrity": "sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA==", + "license": "MIT", + "engines": { + "node": ">= 0.6" } }, - "node_modules/character-entities-html4": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz", - "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "license": "MIT", + "engines": { + "node": ">= 0.6" } }, - "node_modules/character-entities-legacy": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", - "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "license": "MIT" + }, + "node_modules/cookie": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", + "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==", + "license": "MIT", + "engines": { + "node": ">= 0.6" } }, - "node_modules/character-reference-invalid": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz", - "integrity": "sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==", + "node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", + "license": "MIT" + }, + "node_modules/copy-text-to-clipboard": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/copy-text-to-clipboard/-/copy-text-to-clipboard-3.2.0.tgz", + "integrity": "sha512-RnJFp1XR/LOBDckxTib5Qjr/PMfkatD0MUCQgdpqS8MdKiNUzBjAQBEN6oUy+jW7LI93BBG3DtMB2KOOKpGs2Q==", + "license": "MIT", + "engines": { + "node": ">=12" + }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/cheerio": { - "version": "1.0.0-rc.12", - "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz", - "integrity": "sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==", + "node_modules/copy-webpack-plugin": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz", + "integrity": "sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==", + "license": "MIT", "dependencies": { - "cheerio-select": "^2.1.0", - "dom-serializer": "^2.0.0", - "domhandler": "^5.0.3", - "domutils": "^3.0.1", - "htmlparser2": "^8.0.1", - "parse5": "^7.0.0", - "parse5-htmlparser2-tree-adapter": "^7.0.0" + "fast-glob": "^3.2.11", + "glob-parent": "^6.0.1", + "globby": "^13.1.1", + "normalize-path": "^3.0.0", + "schema-utils": "^4.0.0", + "serialize-javascript": "^6.0.0" }, "engines": { - "node": ">= 6" + "node": ">= 14.15.0" }, "funding": { - "url": "https://github.com/cheeriojs/cheerio?sponsor=1" + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" } }, - "node_modules/cheerio-select": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz", - "integrity": "sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==", + "node_modules/copy-webpack-plugin/node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "license": "ISC", "dependencies": { - "boolbase": "^1.0.0", - "css-select": "^5.1.0", - "css-what": "^6.1.0", - "domelementtype": "^2.3.0", - "domhandler": "^5.0.3", - "domutils": "^3.0.1" + "is-glob": "^4.0.3" }, - "funding": { - "url": "https://github.com/sponsors/fb55" + "engines": { + "node": ">=10.13.0" } }, - "node_modules/chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], + "node_modules/copy-webpack-plugin/node_modules/globby": { + "version": "13.2.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz", + "integrity": "sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==", + "license": "MIT", "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" + "dir-glob": "^3.0.1", + "fast-glob": "^3.3.0", + "ignore": "^5.2.4", + "merge2": "^1.4.1", + "slash": "^4.0.0" }, "engines": { - "node": ">= 8.10.0" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, - "optionalDependencies": { - "fsevents": "~2.3.2" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/copy-webpack-plugin/node_modules/slash": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", + "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/core-js": { + "version": "3.33.2", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.33.2.tgz", + "integrity": "sha512-XeBzWI6QL3nJQiHmdzbAOiMYqjrb7hwU7A39Qhvd/POSa/t9E1AeZyEZx3fNvp/vtM8zXwhoL0FsiS0hD0pruQ==", + "hasInstallScript": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" } }, - "node_modules/chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" - }, - "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/core-js-compat": { + "version": "3.33.2", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.33.2.tgz", + "integrity": "sha512-axfo+wxFVxnqf8RvxTzoAlzW4gRoacrHeoFlc9n0x50+7BEyZL/Rt3hicaED1/CEd7I6tPCPVUYcJwCMO5XUYw==", + "license": "MIT", + "dependencies": { + "browserslist": "^4.22.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" } }, - "node_modules/ci-info": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", - "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/sibiraj-s" - } - ], - "engines": { - "node": ">=8" + "node_modules/core-js-pure": { + "version": "3.33.2", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.33.2.tgz", + "integrity": "sha512-a8zeCdyVk7uF2elKIGz67AjcXOxjRbwOLz8SbklEso1V+2DoW4OkAMZN9S9GBgvZIaqQi/OemFX4OiSoQEmg1Q==", + "hasInstallScript": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" } }, - "node_modules/classnames": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.3.2.tgz", - "integrity": "sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw==" + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "license": "MIT" }, - "node_modules/clean-css": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.2.tgz", - "integrity": "sha512-JVJbM+f3d3Q704rF4bqQ5UUyTtuJ0JRKNbTKVEeujCCBoMdkEi+V+e8oktO9qGQNSvHrFTM6JZRXrUvGR1czww==", + "node_modules/cosmiconfig": { + "version": "8.3.6", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", + "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", + "license": "MIT", "dependencies": { - "source-map": "~0.6.0" + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0", + "path-type": "^4.0.0" }, "engines": { - "node": ">= 10.0" + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" + }, + "peerDependencies": { + "typescript": ">=4.9.5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "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/create-ecdh": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", + "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", + "license": "MIT", + "dependencies": { + "bn.js": "^4.1.0", + "elliptic": "^6.5.3" } }, - "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/create-ecdh/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "license": "MIT" + }, + "node_modules/create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "license": "MIT", + "dependencies": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" } }, - "node_modules/cli-boxes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz", - "integrity": "sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node_modules/create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "license": "MIT", + "dependencies": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" } }, - "node_modules/cli-table3": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.3.tgz", - "integrity": "sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==", + "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==", + "license": "MIT", "dependencies": { - "string-width": "^4.2.0" + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" }, "engines": { - "node": "10.* || >= 12.*" - }, - "optionalDependencies": { - "@colors/colors": "1.5.0" + "node": ">= 8" } }, - "node_modules/cli-table3/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/cli-table3/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "node_modules/crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "license": "MIT", "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" }, "engines": { - "node": ">=8" + "node": "*" } }, - "node_modules/client-only": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", - "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==" + "node_modules/crypto-js": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.2.0.tgz", + "integrity": "sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==", + "license": "MIT" }, - "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==", + "node_modules/crypto-random-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-4.0.0.tgz", + "integrity": "sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA==", + "license": "MIT", "dependencies": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" + "type-fest": "^1.0.1" }, "engines": { - "node": ">=6" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/clone-deep/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" - }, + "node_modules/crypto-random-string/node_modules/type-fest": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", + "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", + "license": "(MIT OR CC0-1.0)", "engines": { - "node": ">=0.10.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/clsx": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", - "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", + "node_modules/css-declaration-sorter": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-7.2.0.tgz", + "integrity": "sha512-h70rUM+3PNFuaBDTLe8wF/cdWu+dOZmb7pJt8Z2sedYbAcQVQV/tEchueg3GWxwqS0cxtbxmaHEdkNACqcvsow==", + "license": "ISC", "engines": { - "node": ">=6" + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.0.9" } }, - "node_modules/collapse-white-space": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-2.1.0.tgz", - "integrity": "sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==", + "node_modules/css-loader": { + "version": "6.8.1", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.8.1.tgz", + "integrity": "sha512-xDAXtEVGlD0gJ07iclwWVkLoZOpEvAWaSyf6W18S2pOC//K8+qUDIx8IIT3D+HjnmkJPQeesOPv5aiUaJsCM2g==", + "license": "MIT", + "dependencies": { + "icss-utils": "^5.1.0", + "postcss": "^8.4.21", + "postcss-modules-extract-imports": "^3.0.0", + "postcss-modules-local-by-default": "^4.0.3", + "postcss-modules-scope": "^3.0.0", + "postcss-modules-values": "^4.0.0", + "postcss-value-parser": "^4.2.0", + "semver": "^7.3.8" + }, + "engines": { + "node": ">= 12.13.0" + }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" } }, - "node_modules/color": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz", - "integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==", + "node_modules/css-minimizer-webpack-plugin": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-5.0.1.tgz", + "integrity": "sha512-3caImjKFQkS+ws1TGcFn0V1HyDJFq1Euy589JlD6/3rV2kj+w7r5G9WDMgSHvpvXHNZ2calVypZWuEDQd9wfLg==", + "license": "MIT", "dependencies": { - "color-convert": "^2.0.1", - "color-string": "^1.9.0" + "@jridgewell/trace-mapping": "^0.3.18", + "cssnano": "^6.0.1", + "jest-worker": "^29.4.3", + "postcss": "^8.4.24", + "schema-utils": "^4.0.1", + "serialize-javascript": "^6.0.1" }, "engines": { - "node": ">=12.5.0" + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "@parcel/css": { + "optional": true + }, + "@swc/css": { + "optional": true + }, + "clean-css": { + "optional": true + }, + "csso": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "lightningcss": { + "optional": true + } } }, - "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==", + "node_modules/css-select": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", + "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", + "license": "BSD-2-Clause", "dependencies": { - "color-name": "~1.1.4" + "boolbase": "^1.0.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "nth-check": "^2.0.1" }, - "engines": { - "node": ">=7.0.0" + "funding": { + "url": "https://github.com/sponsors/fb55" } }, - "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/color-string": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", - "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", + "node_modules/css-tree": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", + "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", + "license": "MIT", "dependencies": { - "color-name": "^1.0.0", - "simple-swizzle": "^0.2.2" - } - }, - "node_modules/colord": { - "version": "2.9.3", - "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", - "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==" - }, - "node_modules/colorette": { - "version": "2.0.20", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", - "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==" - }, - "node_modules/combine-promises": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/combine-promises/-/combine-promises-1.2.0.tgz", - "integrity": "sha512-VcQB1ziGD0NXrhKxiwyNbCDmRzs/OShMs2GqW2DlU2A/Sd0nQxE1oWDAE5O0ygSx5mgQOn9eIFh7yKPgFRVkPQ==", + "mdn-data": "2.0.30", + "source-map-js": "^1.0.1" + }, "engines": { - "node": ">=10" - } - }, - "node_modules/comma-separated-tokens": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", - "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" } }, - "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==", + "node_modules/css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "license": "BSD-2-Clause", "engines": { "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" } }, - "node_modules/common-path-prefix": { + "node_modules/cssesc": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz", - "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==" - }, - "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" + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "license": "MIT", + "bin": { + "cssesc": "bin/cssesc" }, "engines": { - "node": ">= 0.6" - } - }, - "node_modules/compressible/node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "engines": { - "node": ">= 0.6" + "node": ">=4" } }, - "node_modules/compression": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", - "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "node_modules/cssnano": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-6.1.2.tgz", + "integrity": "sha512-rYk5UeX7VAM/u0lNqewCdasdtPK81CgX8wJFLEIXHbV2oldWRgJAsZrdhRXkV1NJzA2g850KiFm9mMU2HxNxMA==", + "license": "MIT", "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" + "cssnano-preset-default": "^6.1.2", + "lilconfig": "^3.1.1" }, "engines": { - "node": ">= 0.8.0" - } - }, - "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": "^14 || ^16 || >=18.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/cssnano" + }, + "peerDependencies": { + "postcss": "^8.4.31" } }, - "node_modules/compression/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "node_modules/compression/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/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" - }, - "node_modules/config-chain": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz", - "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==", + "node_modules/cssnano-preset-advanced": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/cssnano-preset-advanced/-/cssnano-preset-advanced-6.1.2.tgz", + "integrity": "sha512-Nhao7eD8ph2DoHolEzQs5CfRpiEP0xa1HBdnFZ82kvqdmbwVBUr2r1QuQ4t1pi+D1ZpqpcO4T+wy/7RxzJ/WPQ==", + "license": "MIT", "dependencies": { - "ini": "^1.3.4", - "proto-list": "~1.2.1" + "autoprefixer": "^10.4.19", + "browserslist": "^4.23.0", + "cssnano-preset-default": "^6.1.2", + "postcss-discard-unused": "^6.0.5", + "postcss-merge-idents": "^6.0.3", + "postcss-reduce-idents": "^6.0.3", + "postcss-zindex": "^6.0.2" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" } }, - "node_modules/configstore": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/configstore/-/configstore-6.0.0.tgz", - "integrity": "sha512-cD31W1v3GqUlQvbBCGcXmd2Nj9SvLDOP1oQ0YFuLETufzSPaKp11rYBsSOm7rCsW3OnIRAFM3OxRhceaXNYHkA==", + "node_modules/cssnano-preset-default": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-6.1.2.tgz", + "integrity": "sha512-1C0C+eNaeN8OcHQa193aRgYexyJtU8XwbdieEjClw+J9d94E41LwT6ivKH0WT+fYwYWB0Zp3I3IZ7tI/BbUbrg==", + "license": "MIT", "dependencies": { - "dot-prop": "^6.0.1", - "graceful-fs": "^4.2.6", - "unique-string": "^3.0.0", - "write-file-atomic": "^3.0.3", - "xdg-basedir": "^5.0.1" + "browserslist": "^4.23.0", + "css-declaration-sorter": "^7.2.0", + "cssnano-utils": "^4.0.2", + "postcss-calc": "^9.0.1", + "postcss-colormin": "^6.1.0", + "postcss-convert-values": "^6.1.0", + "postcss-discard-comments": "^6.0.2", + "postcss-discard-duplicates": "^6.0.3", + "postcss-discard-empty": "^6.0.3", + "postcss-discard-overridden": "^6.0.2", + "postcss-merge-longhand": "^6.0.5", + "postcss-merge-rules": "^6.1.1", + "postcss-minify-font-values": "^6.1.0", + "postcss-minify-gradients": "^6.0.3", + "postcss-minify-params": "^6.1.0", + "postcss-minify-selectors": "^6.0.4", + "postcss-normalize-charset": "^6.0.2", + "postcss-normalize-display-values": "^6.0.2", + "postcss-normalize-positions": "^6.0.2", + "postcss-normalize-repeat-style": "^6.0.2", + "postcss-normalize-string": "^6.0.2", + "postcss-normalize-timing-functions": "^6.0.2", + "postcss-normalize-unicode": "^6.1.0", + "postcss-normalize-url": "^6.0.2", + "postcss-normalize-whitespace": "^6.0.2", + "postcss-ordered-values": "^6.0.2", + "postcss-reduce-initial": "^6.1.0", + "postcss-reduce-transforms": "^6.0.2", + "postcss-svgo": "^6.0.3", + "postcss-unique-selectors": "^6.0.4" }, "engines": { - "node": ">=12" + "node": "^14 || ^16 || >=18.0" }, - "funding": { - "url": "https://github.com/yeoman/configstore?sponsor=1" + "peerDependencies": { + "postcss": "^8.4.31" } }, - "node_modules/connect-history-api-fallback": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", - "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==", + "node_modules/cssnano-utils": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-4.0.2.tgz", + "integrity": "sha512-ZR1jHg+wZ8o4c3zqf1SIUSTIvm/9mU343FMR6Obe/unskbvpGhZOo1J6d/r8D1pzkRQYuwbcH3hToOuoA2G7oQ==", + "license": "MIT", "engines": { - "node": ">=0.8" + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" } }, - "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/consolidated-events": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/consolidated-events/-/consolidated-events-2.0.2.tgz", - "integrity": "sha512-2/uRVMdRypf5z/TW/ncD/66l75P5hH2vM/GR8Jf8HLc2xnfJtmina6F6du8+v4Z2vTrMo7jC+W1tmEEuuELgkQ==" - }, - "node_modules/content-disposition": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", - "integrity": "sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA==", + "node_modules/csso": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz", + "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==", + "license": "MIT", + "dependencies": { + "css-tree": "~2.2.0" + }, "engines": { - "node": ">= 0.6" + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" } }, - "node_modules/content-type": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", - "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "node_modules/csso/node_modules/css-tree": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz", + "integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==", + "license": "MIT", + "dependencies": { + "mdn-data": "2.0.28", + "source-map-js": "^1.0.1" + }, "engines": { - "node": ">= 0.6" + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" } }, - "node_modules/convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==" + "node_modules/csso/node_modules/mdn-data": { + "version": "2.0.28", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz", + "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==", + "license": "CC0-1.0" }, - "node_modules/cookie": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", - "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==", - "engines": { - "node": ">= 0.6" - } + "node_modules/csstype": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", + "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==", + "license": "MIT" }, - "node_modules/cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" + "node_modules/dayjs": { + "version": "1.11.10", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.10.tgz", + "integrity": "sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==", + "license": "MIT" }, - "node_modules/copy-text-to-clipboard": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/copy-text-to-clipboard/-/copy-text-to-clipboard-3.2.0.tgz", - "integrity": "sha512-RnJFp1XR/LOBDckxTib5Qjr/PMfkatD0MUCQgdpqS8MdKiNUzBjAQBEN6oUy+jW7LI93BBG3DtMB2KOOKpGs2Q==", + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, "engines": { - "node": ">=12" + "node": ">=6.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "node_modules/copy-webpack-plugin": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz", - "integrity": "sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==", - "dependencies": { - "fast-glob": "^3.2.11", - "glob-parent": "^6.0.1", - "globby": "^13.1.1", - "normalize-path": "^3.0.0", - "schema-utils": "^4.0.0", - "serialize-javascript": "^6.0.0" - }, + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "license": "MIT", "engines": { - "node": ">= 14.15.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.1.0" + "node": ">=0.10.0" } }, - "node_modules/copy-webpack-plugin/node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "node_modules/decode-named-character-reference": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz", + "integrity": "sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==", + "license": "MIT", "dependencies": { - "is-glob": "^4.0.3" + "character-entities": "^2.0.0" }, - "engines": { - "node": ">=10.13.0" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/copy-webpack-plugin/node_modules/globby": { - "version": "13.2.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz", - "integrity": "sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==", + "node_modules/decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "license": "MIT", "dependencies": { - "dir-glob": "^3.0.1", - "fast-glob": "^3.3.0", - "ignore": "^5.2.4", - "merge2": "^1.4.1", - "slash": "^4.0.0" + "mimic-response": "^3.1.0" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/copy-webpack-plugin/node_modules/slash": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", - "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "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==", + "license": "MIT", "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=4.0.0" } }, - "node_modules/core-js": { - "version": "3.33.2", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.33.2.tgz", - "integrity": "sha512-XeBzWI6QL3nJQiHmdzbAOiMYqjrb7hwU7A39Qhvd/POSa/t9E1AeZyEZx3fNvp/vtM8zXwhoL0FsiS0hD0pruQ==", - "hasInstallScript": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" } }, - "node_modules/core-js-compat": { - "version": "3.33.2", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.33.2.tgz", - "integrity": "sha512-axfo+wxFVxnqf8RvxTzoAlzW4gRoacrHeoFlc9n0x50+7BEyZL/Rt3hicaED1/CEd7I6tPCPVUYcJwCMO5XUYw==", + "node_modules/default-gateway": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", + "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", + "license": "BSD-2-Clause", "dependencies": { - "browserslist": "^4.22.1" + "execa": "^5.0.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" + "engines": { + "node": ">= 10" } }, - "node_modules/core-js-pure": { - "version": "3.33.2", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.33.2.tgz", - "integrity": "sha512-a8zeCdyVk7uF2elKIGz67AjcXOxjRbwOLz8SbklEso1V+2DoW4OkAMZN9S9GBgvZIaqQi/OemFX4OiSoQEmg1Q==", - "hasInstallScript": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" + "node_modules/defer-to-connect": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", + "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", + "license": "MIT", + "engines": { + "node": ">=10" } }, - "node_modules/core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" - }, - "node_modules/cosmiconfig": { - "version": "8.3.6", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", - "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "license": "MIT", "dependencies": { - "import-fresh": "^3.3.0", - "js-yaml": "^4.1.0", - "parse-json": "^5.2.0", - "path-type": "^4.0.0" + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" }, "engines": { - "node": ">=14" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/d-fischer" - }, - "peerDependencies": { - "typescript": ">=4.9.5" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "url": "https://github.com/sponsors/ljharb" } }, - "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==", + "node_modules/define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "license": "MIT", "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" }, "engines": { - "node": ">= 8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/crypto-random-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-4.0.0.tgz", - "integrity": "sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA==", + "node_modules/del": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/del/-/del-6.1.1.tgz", + "integrity": "sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==", + "license": "MIT", "dependencies": { - "type-fest": "^1.0.1" + "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": ">=12" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/crypto-random-string/node_modules/type-fest": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", - "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/des.js": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.1.0.tgz", + "integrity": "sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "license": "MIT", "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" } }, - "node_modules/css-declaration-sorter": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-7.2.0.tgz", - "integrity": "sha512-h70rUM+3PNFuaBDTLe8wF/cdWu+dOZmb7pJt8Z2sedYbAcQVQV/tEchueg3GWxwqS0cxtbxmaHEdkNACqcvsow==", + "node_modules/detect-libc": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.2.tgz", + "integrity": "sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==", + "license": "Apache-2.0", "engines": { - "node": "^14 || ^16 || >=18" - }, - "peerDependencies": { - "postcss": "^8.0.9" + "node": ">=8" } }, - "node_modules/css-loader": { - "version": "6.8.1", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.8.1.tgz", - "integrity": "sha512-xDAXtEVGlD0gJ07iclwWVkLoZOpEvAWaSyf6W18S2pOC//K8+qUDIx8IIT3D+HjnmkJPQeesOPv5aiUaJsCM2g==", + "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==", + "license": "MIT" + }, + "node_modules/detect-port": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/detect-port/-/detect-port-1.5.1.tgz", + "integrity": "sha512-aBzdj76lueB6uUst5iAs7+0H/oOjqI5D16XUWxlWMIMROhcM0rfsNVk93zTngq1dDNpoXRr++Sus7ETAExppAQ==", + "license": "MIT", "dependencies": { - "icss-utils": "^5.1.0", - "postcss": "^8.4.21", - "postcss-modules-extract-imports": "^3.0.0", - "postcss-modules-local-by-default": "^4.0.3", - "postcss-modules-scope": "^3.0.0", - "postcss-modules-values": "^4.0.0", - "postcss-value-parser": "^4.2.0", - "semver": "^7.3.8" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "address": "^1.0.1", + "debug": "4" }, - "peerDependencies": { - "webpack": "^5.0.0" + "bin": { + "detect": "bin/detect-port.js", + "detect-port": "bin/detect-port.js" } }, - "node_modules/css-minimizer-webpack-plugin": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-5.0.1.tgz", - "integrity": "sha512-3caImjKFQkS+ws1TGcFn0V1HyDJFq1Euy589JlD6/3rV2kj+w7r5G9WDMgSHvpvXHNZ2calVypZWuEDQd9wfLg==", + "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==", + "license": "MIT", "dependencies": { - "@jridgewell/trace-mapping": "^0.3.18", - "cssnano": "^6.0.1", - "jest-worker": "^29.4.3", - "postcss": "^8.4.24", - "schema-utils": "^4.0.1", - "serialize-javascript": "^6.0.1" - }, - "engines": { - "node": ">= 14.15.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "address": "^1.0.1", + "debug": "^2.6.0" }, - "peerDependencies": { - "webpack": "^5.0.0" + "bin": { + "detect": "bin/detect-port", + "detect-port": "bin/detect-port" }, - "peerDependenciesMeta": { - "@parcel/css": { - "optional": true - }, - "@swc/css": { - "optional": true - }, - "clean-css": { - "optional": true - }, - "csso": { - "optional": true - }, - "esbuild": { - "optional": true - }, - "lightningcss": { - "optional": true - } + "engines": { + "node": ">= 4.2.1" } }, - "node_modules/css-select": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", - "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", + "node_modules/detect-port-alt/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", "dependencies": { - "boolbase": "^1.0.0", - "css-what": "^6.1.0", - "domhandler": "^5.0.2", - "domutils": "^3.0.1", - "nth-check": "^2.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" + "ms": "2.0.0" } }, - "node_modules/css-tree": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", - "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", + "node_modules/detect-port-alt/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/devlop": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz", + "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==", + "license": "MIT", "dependencies": { - "mdn-data": "2.0.30", - "source-map-js": "^1.0.1" + "dequal": "^2.0.0" }, - "engines": { - "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/css-what": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", - "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "node_modules/diff": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz", + "integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==", + "license": "BSD-3-Clause", "engines": { - "node": ">= 6" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" + "node": ">=0.3.1" } }, - "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/diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "license": "MIT", + "dependencies": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" } }, - "node_modules/cssnano": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-6.1.2.tgz", - "integrity": "sha512-rYk5UeX7VAM/u0lNqewCdasdtPK81CgX8wJFLEIXHbV2oldWRgJAsZrdhRXkV1NJzA2g850KiFm9mMU2HxNxMA==", + "node_modules/diffie-hellman/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "license": "MIT" + }, + "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==", + "license": "MIT", "dependencies": { - "cssnano-preset-default": "^6.1.2", - "lilconfig": "^3.1.1" + "path-type": "^4.0.0" }, "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/cssnano" - }, - "peerDependencies": { - "postcss": "^8.4.31" + "node": ">=8" } }, - "node_modules/cssnano-preset-advanced": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/cssnano-preset-advanced/-/cssnano-preset-advanced-6.1.2.tgz", - "integrity": "sha512-Nhao7eD8ph2DoHolEzQs5CfRpiEP0xa1HBdnFZ82kvqdmbwVBUr2r1QuQ4t1pi+D1ZpqpcO4T+wy/7RxzJ/WPQ==", + "node_modules/dns-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", + "integrity": "sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==", + "license": "MIT" + }, + "node_modules/dns-packet": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.1.tgz", + "integrity": "sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==", + "license": "MIT", "dependencies": { - "autoprefixer": "^10.4.19", - "browserslist": "^4.23.0", - "cssnano-preset-default": "^6.1.2", - "postcss-discard-unused": "^6.0.5", - "postcss-merge-idents": "^6.0.3", - "postcss-reduce-idents": "^6.0.3", - "postcss-zindex": "^6.0.2" + "@leichtgewicht/ip-codec": "^2.0.1" }, "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" + "node": ">=6" } }, - "node_modules/cssnano-preset-default": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-6.1.2.tgz", - "integrity": "sha512-1C0C+eNaeN8OcHQa193aRgYexyJtU8XwbdieEjClw+J9d94E41LwT6ivKH0WT+fYwYWB0Zp3I3IZ7tI/BbUbrg==", - "dependencies": { - "browserslist": "^4.23.0", - "css-declaration-sorter": "^7.2.0", - "cssnano-utils": "^4.0.2", - "postcss-calc": "^9.0.1", - "postcss-colormin": "^6.1.0", - "postcss-convert-values": "^6.1.0", - "postcss-discard-comments": "^6.0.2", - "postcss-discard-duplicates": "^6.0.3", - "postcss-discard-empty": "^6.0.3", - "postcss-discard-overridden": "^6.0.2", - "postcss-merge-longhand": "^6.0.5", - "postcss-merge-rules": "^6.1.1", - "postcss-minify-font-values": "^6.1.0", - "postcss-minify-gradients": "^6.0.3", - "postcss-minify-params": "^6.1.0", - "postcss-minify-selectors": "^6.0.4", - "postcss-normalize-charset": "^6.0.2", - "postcss-normalize-display-values": "^6.0.2", - "postcss-normalize-positions": "^6.0.2", - "postcss-normalize-repeat-style": "^6.0.2", - "postcss-normalize-string": "^6.0.2", - "postcss-normalize-timing-functions": "^6.0.2", - "postcss-normalize-unicode": "^6.1.0", - "postcss-normalize-url": "^6.0.2", - "postcss-normalize-whitespace": "^6.0.2", - "postcss-ordered-values": "^6.0.2", - "postcss-reduce-initial": "^6.1.0", - "postcss-reduce-transforms": "^6.0.2", - "postcss-svgo": "^6.0.3", - "postcss-unique-selectors": "^6.0.4" + "node_modules/docusaurus-plugin-hotjar": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/docusaurus-plugin-hotjar/-/docusaurus-plugin-hotjar-0.0.2.tgz", + "integrity": "sha512-Jsdxa6k4YQm4SBiY5mv9h/6sKUrQs6lC6mRoPUfjiPVtnhURE3d0dj4Vnrpy/tRVSAbywAqA0F/PGn5RKHtVaw==", + "license": "MIT" + }, + "node_modules/docusaurus-plugin-image-zoom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/docusaurus-plugin-image-zoom/-/docusaurus-plugin-image-zoom-2.0.0.tgz", + "integrity": "sha512-TWHQZeoiged+95CESlZk++lihzl3pqw34n0/fbexx2AocmFhbo9K2scYDgYB8amki4/X6mUCLTPZE1pQvT+00Q==", + "license": "MIT", + "dependencies": { + "medium-zoom": "^1.0.8", + "validate-peer-dependencies": "^2.2.0" }, - "engines": { - "node": "^14 || ^16 || >=18.0" + "peerDependencies": { + "@docusaurus/theme-classic": ">=3.0.0" + } + }, + "node_modules/docusaurus-plugin-sass": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/docusaurus-plugin-sass/-/docusaurus-plugin-sass-0.2.5.tgz", + "integrity": "sha512-Z+D0fLFUKcFpM+bqSUmqKIU+vO+YF1xoEQh5hoFreg2eMf722+siwXDD+sqtwU8E4MvVpuvsQfaHwODNlxJAEg==", + "license": "MIT", + "dependencies": { + "sass-loader": "^10.1.1" }, "peerDependencies": { - "postcss": "^8.4.31" + "@docusaurus/core": "^2.0.0-beta || ^3.0.0-alpha", + "sass": "^1.30.0" } }, - "node_modules/cssnano-utils": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-4.0.2.tgz", - "integrity": "sha512-ZR1jHg+wZ8o4c3zqf1SIUSTIvm/9mU343FMR6Obe/unskbvpGhZOo1J6d/r8D1pzkRQYuwbcH3hToOuoA2G7oQ==", - "engines": { - "node": "^14 || ^16 || >=18.0" + "node_modules/docusaurus-plugin-sass/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/docusaurus-plugin-sass/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "license": "MIT", "peerDependencies": { - "postcss": "^8.4.31" + "ajv": "^6.9.1" } }, - "node_modules/csso": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz", - "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==", + "node_modules/docusaurus-plugin-sass/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "license": "MIT" + }, + "node_modules/docusaurus-plugin-sass/node_modules/sass-loader": { + "version": "10.5.2", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-10.5.2.tgz", + "integrity": "sha512-vMUoSNOUKJILHpcNCCyD23X34gve1TS7Rjd9uXHeKqhvBG39x6XbswFDtpbTElj6XdMFezoWhkh5vtKudf2cgQ==", + "license": "MIT", "dependencies": { - "css-tree": "~2.2.0" + "klona": "^2.0.4", + "loader-utils": "^2.0.0", + "neo-async": "^2.6.2", + "schema-utils": "^3.0.0", + "semver": "^7.3.2" }, "engines": { - "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", - "npm": ">=7.0.0" + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "fibers": ">= 3.1.0", + "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0", + "sass": "^1.3.0", + "webpack": "^4.36.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "fibers": { + "optional": true + }, + "node-sass": { + "optional": true + }, + "sass": { + "optional": true + } } }, - "node_modules/csso/node_modules/css-tree": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz", - "integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==", + "node_modules/docusaurus-plugin-sass/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "license": "MIT", "dependencies": { - "mdn-data": "2.0.28", - "source-map-js": "^1.0.1" + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" }, "engines": { - "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", - "npm": ">=7.0.0" + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" } }, - "node_modules/csso/node_modules/mdn-data": { - "version": "2.0.28", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz", - "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==" + "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==", + "license": "MIT", + "dependencies": { + "utila": "~0.4" + } }, - "node_modules/csstype": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", - "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==" + "node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "license": "MIT", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } }, - "node_modules/dayjs": { - "version": "1.11.10", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.10.tgz", - "integrity": "sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==" + "node_modules/domain-browser": { + "version": "4.23.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-4.23.0.tgz", + "integrity": "sha512-ArzcM/II1wCCujdCNyQjXrAFwS4mrLh4C7DZWlaI8mdh7h3BfKdNd3bKXITfl2PT9FtfQqaGvhi1vPRQPimjGA==", + "license": "Artistic-2.0", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://bevry.me/fund" + } }, - "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "BSD-2-Clause" + }, + "node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "license": "BSD-2-Clause", "dependencies": { - "ms": "2.1.2" + "domelementtype": "^2.3.0" }, "engines": { - "node": ">=6.0" + "node": ">= 4" }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" } }, - "node_modules/decode-named-character-reference": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz", - "integrity": "sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==", + "node_modules/domutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", + "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", + "license": "BSD-2-Clause", "dependencies": { - "character-entities": "^2.0.0" + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "url": "https://github.com/fb55/domutils?sponsor=1" } }, - "node_modules/decompress-response": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", - "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "node_modules/dot-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", + "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "license": "MIT", "dependencies": { - "mimic-response": "^3.1.0" + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/dot-prop": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-6.0.1.tgz", + "integrity": "sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==", + "license": "MIT", + "dependencies": { + "is-obj": "^2.0.0" }, "engines": { "node": ">=10" @@ -6146,1306 +8015,1532 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "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==", + "node_modules/dot-prop/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==", + "license": "MIT", "engines": { - "node": ">=4.0.0" + "node": ">=8" } }, - "node_modules/deepmerge": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", - "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", - "engines": { - "node": ">=0.10.0" + "node_modules/duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", + "license": "MIT" + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "license": "MIT" + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "license": "MIT" + }, + "node_modules/electron-to-chromium": { + "version": "1.4.761", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.761.tgz", + "integrity": "sha512-PIbxpiJGx6Bb8dQaonNc6CGTRlVntdLg/2nMa1YhnrwYOORY9a3ZgGN0UQYE6lAcj/lkyduJN7BPt/JiY+jAQQ==", + "license": "ISC" + }, + "node_modules/elliptic": { + "version": "6.5.5", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.5.tgz", + "integrity": "sha512-7EjbcmUm17NQFu4Pmgmq2olYMj8nwMnpcddByChSUjArp8F5DQWcIcpriwO4ZToLNAJig0yiyjswfyGNje/ixw==", + "license": "MIT", + "dependencies": { + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" } }, - "node_modules/default-gateway": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", - "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", - "dependencies": { - "execa": "^5.0.0" - }, + "node_modules/elliptic/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "license": "MIT" + }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "license": "MIT" + }, + "node_modules/emojilib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/emojilib/-/emojilib-2.4.0.tgz", + "integrity": "sha512-5U0rVMU5Y2n2+ykNLQqMoqklN9ICBT/KsvC1Gz6vqHbz2AXXGkG+Pm5rMWk/8Vjrr/mY9985Hi8DYzn1F09Nyw==", + "license": "MIT" + }, + "node_modules/emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "license": "MIT", "engines": { - "node": ">= 10" + "node": ">= 4" } }, - "node_modules/defer-to-connect": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", - "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", + "node_modules/emoticon": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/emoticon/-/emoticon-4.0.1.tgz", + "integrity": "sha512-dqx7eA9YaqyvYtUhJwT4rC1HIp82j5ybS1/vQ42ur+jBe17dJMwZE4+gvL1XadSFfxaPFFGt3Xsw+Y8akThDlw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "license": "MIT", "engines": { - "node": ">=10" + "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==", + "license": "MIT", + "dependencies": { + "once": "^1.4.0" } }, - "node_modules/define-data-property": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", - "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "node_modules/enhanced-resolve": { + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", + "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", + "license": "MIT", "dependencies": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "gopd": "^1.0.1" + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=10.13.0" } }, - "node_modules/define-lazy-prop": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", - "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "license": "BSD-2-Clause", "engines": { - "node": ">=8" + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" } }, - "node_modules/define-properties": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", - "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "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==", + "license": "MIT", "dependencies": { - "define-data-property": "^1.0.1", - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "is-arrayish": "^0.2.1" } }, - "node_modules/del": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/del/-/del-6.1.1.tgz", - "integrity": "sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==", + "node_modules/es-define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "license": "MIT", "dependencies": { - "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" + "get-intrinsic": "^1.2.4" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 0.4" } }, - "node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "license": "MIT", "engines": { - "node": ">= 0.8" + "node": ">= 0.4" } }, - "node_modules/dequal": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", - "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "node_modules/es-module-lexer": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.1.tgz", + "integrity": "sha512-JUFAyicQV9mXc3YRxPnDlrfBKpqt6hUYzz9/boprUJHs4e4KVr3XwOF70doO6gwXUor6EWZJAyWAfKki84t20Q==", + "license": "MIT" + }, + "node_modules/es6-promise": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.3.1.tgz", + "integrity": "sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==", + "license": "MIT" + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "license": "MIT", "engines": { "node": ">=6" } }, - "node_modules/destroy": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "node_modules/escape-goat": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-4.0.0.tgz", + "integrity": "sha512-2Sd4ShcWxbx6OY1IHyla/CVNwvg7XwZVoXZHcSu9w9SReNP1EzzD5T8NWKIR38fIqEns9kDWKUQTXXAmlDrdPg==", + "license": "MIT", "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/detect-libc": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.2.tgz", - "integrity": "sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==", + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "license": "MIT" + }, + "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==", + "license": "MIT", "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "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.5.1", - "resolved": "https://registry.npmjs.org/detect-port/-/detect-port-1.5.1.tgz", - "integrity": "sha512-aBzdj76lueB6uUst5iAs7+0H/oOjqI5D16XUWxlWMIMROhcM0rfsNVk93zTngq1dDNpoXRr++Sus7ETAExppAQ==", + "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==", + "license": "BSD-2-Clause", "dependencies": { - "address": "^1.0.1", - "debug": "4" + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" }, - "bin": { - "detect": "bin/detect-port.js", - "detect-port": "bin/detect-port.js" + "engines": { + "node": ">=8.0.0" } }, - "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" - }, + "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==", + "license": "BSD-2-Clause", "bin": { - "detect": "bin/detect-port", - "detect-port": "bin/detect-port" + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" }, "engines": { - "node": ">= 4.2.1" + "node": ">=4" } }, - "node_modules/detect-port-alt/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "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==", + "license": "BSD-2-Clause", "dependencies": { - "ms": "2.0.0" + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" } }, - "node_modules/detect-port-alt/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } }, - "node_modules/devlop": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz", - "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==", + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estree-util-attach-comments": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/estree-util-attach-comments/-/estree-util-attach-comments-3.0.0.tgz", + "integrity": "sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw==", + "license": "MIT", "dependencies": { - "dequal": "^2.0.0" + "@types/estree": "^1.0.0" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/dir-glob": { + "node_modules/estree-util-build-jsx": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "resolved": "https://registry.npmjs.org/estree-util-build-jsx/-/estree-util-build-jsx-3.0.1.tgz", + "integrity": "sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ==", + "license": "MIT", "dependencies": { - "path-type": "^4.0.0" + "@types/estree-jsx": "^1.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "estree-walker": "^3.0.0" }, - "engines": { - "node": ">=8" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/dns-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", - "integrity": "sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==" + "node_modules/estree-util-is-identifier-name": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-3.0.0.tgz", + "integrity": "sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } }, - "node_modules/dns-packet": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.1.tgz", - "integrity": "sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==", + "node_modules/estree-util-to-js": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/estree-util-to-js/-/estree-util-to-js-2.0.0.tgz", + "integrity": "sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "astring": "^1.8.0", + "source-map": "^0.7.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-value-to-estree": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/estree-util-value-to-estree/-/estree-util-value-to-estree-3.0.1.tgz", + "integrity": "sha512-b2tdzTurEIbwRh+mKrEcaWfu1wgb8J1hVsgREg7FFiecWwK/PhO8X0kyc+0bIcKNtD4sqxIdNoRy6/p/TvECEA==", + "license": "MIT", "dependencies": { - "@leichtgewicht/ip-codec": "^2.0.1" + "@types/estree": "^1.0.0", + "is-plain-obj": "^4.0.0" }, "engines": { - "node": ">=6" + "node": ">=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/remcohaszing" } }, - "node_modules/docusaurus-plugin-hotjar": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/docusaurus-plugin-hotjar/-/docusaurus-plugin-hotjar-0.0.2.tgz", - "integrity": "sha512-Jsdxa6k4YQm4SBiY5mv9h/6sKUrQs6lC6mRoPUfjiPVtnhURE3d0dj4Vnrpy/tRVSAbywAqA0F/PGn5RKHtVaw==" - }, - "node_modules/docusaurus-plugin-image-zoom": { + "node_modules/estree-util-visit": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/docusaurus-plugin-image-zoom/-/docusaurus-plugin-image-zoom-2.0.0.tgz", - "integrity": "sha512-TWHQZeoiged+95CESlZk++lihzl3pqw34n0/fbexx2AocmFhbo9K2scYDgYB8amki4/X6mUCLTPZE1pQvT+00Q==", + "resolved": "https://registry.npmjs.org/estree-util-visit/-/estree-util-visit-2.0.0.tgz", + "integrity": "sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==", + "license": "MIT", "dependencies": { - "medium-zoom": "^1.0.8", - "validate-peer-dependencies": "^2.2.0" + "@types/estree-jsx": "^1.0.0", + "@types/unist": "^3.0.0" }, - "peerDependencies": { - "@docusaurus/theme-classic": ">=3.0.0" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "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==", + "node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "license": "MIT", "dependencies": { - "utila": "~0.4" + "@types/estree": "^1.0.0" } }, - "node_modules/dom-serializer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", - "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", - "dependencies": { - "domelementtype": "^2.3.0", - "domhandler": "^5.0.2", - "entities": "^4.2.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==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eta": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/eta/-/eta-2.2.0.tgz", + "integrity": "sha512-UVQ72Rqjy/ZKQalzV5dCCJP80GrmPrMxh6NlNf+erV6ObL0ZFkhCstWRawS85z3smdr3d2wXPsZEY7rDPfGd2g==", + "license": "MIT", + "engines": { + "node": ">=6.0.0" }, "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + "url": "https://github.com/eta-dev/eta?sponsor=1" } }, - "node_modules/domelementtype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ] + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } }, - "node_modules/domhandler": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", - "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "node_modules/eval": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/eval/-/eval-0.1.8.tgz", + "integrity": "sha512-EzV94NYKoO09GLXGjXj9JIlXijVck4ONSr5wiCWDvhsvj5jxSrzTmRU/9C1DyB6uToszLs8aifA6NQ7lEQdvFw==", "dependencies": { - "domelementtype": "^2.3.0" + "@types/node": "*", + "require-like": ">= 0.1.1" }, "engines": { - "node": ">= 4" - }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" + "node": ">= 0.8" } }, - "node_modules/domutils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", - "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", - "dependencies": { - "dom-serializer": "^2.0.0", - "domelementtype": "^2.3.0", - "domhandler": "^5.0.3" - }, - "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" + "node_modules/event-target-shim": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", + "license": "MIT", + "engines": { + "node": ">=6" } }, - "node_modules/dot-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", - "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "node_modules/eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "license": "MIT" + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "license": "MIT", + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "license": "MIT", "dependencies": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" } }, - "node_modules/dot-prop": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-6.0.1.tgz", - "integrity": "sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==", + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "license": "MIT", "dependencies": { - "is-obj": "^2.0.0" + "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/sponsors/sindresorhus" + "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "node_modules/dot-prop/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==", + "node_modules/exenv": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/exenv/-/exenv-1.2.2.tgz", + "integrity": "sha512-Z+ktTxTwv9ILfgKCk32OX3n/doe+OcLTRtqK9pcL+JsP3J1/VW8Uvl4ZjLlKqeW4rzK4oesDOGMEMRIZqtP4Iw==", + "license": "BSD-3-Clause" + }, + "node_modules/expand-template": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", + "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==", + "license": "(MIT OR WTFPL)", "engines": { - "node": ">=8" + "node": ">=6" } }, - "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/eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" + "node_modules/express": { + "version": "4.19.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.19.2.tgz", + "integrity": "sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==", + "license": "MIT", + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.2", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.6.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.2.0", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.11.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + } }, - "node_modules/ee-first": { + "node_modules/express/node_modules/array-flatten": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" - }, - "node_modules/electron-to-chromium": { - "version": "1.4.761", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.761.tgz", - "integrity": "sha512-PIbxpiJGx6Bb8dQaonNc6CGTRlVntdLg/2nMa1YhnrwYOORY9a3ZgGN0UQYE6lAcj/lkyduJN7BPt/JiY+jAQQ==" - }, - "node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" - }, - "node_modules/emojilib": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/emojilib/-/emojilib-2.4.0.tgz", - "integrity": "sha512-5U0rVMU5Y2n2+ykNLQqMoqklN9ICBT/KsvC1Gz6vqHbz2AXXGkG+Pm5rMWk/8Vjrr/mY9985Hi8DYzn1F09Nyw==" + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", + "license": "MIT" }, - "node_modules/emojis-list": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "node_modules/express/node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "license": "MIT", + "dependencies": { + "safe-buffer": "5.2.1" + }, "engines": { - "node": ">= 4" + "node": ">= 0.6" } }, - "node_modules/emoticon": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/emoticon/-/emoticon-4.0.1.tgz", - "integrity": "sha512-dqx7eA9YaqyvYtUhJwT4rC1HIp82j5ybS1/vQ42ur+jBe17dJMwZE4+gvL1XadSFfxaPFFGt3Xsw+Y8akThDlw==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "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==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" } }, - "node_modules/encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "node_modules/express/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/express/node_modules/path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", + "license": "MIT" + }, + "node_modules/express/node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "license": "MIT", "engines": { - "node": ">= 0.8" + "node": ">= 0.6" } }, - "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/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "license": "MIT" }, - "node_modules/enhanced-resolve": { - "version": "5.15.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", - "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", + "node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "license": "MIT", "dependencies": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" + "is-extendable": "^0.1.0" }, "engines": { - "node": ">=10.13.0" + "node": ">=0.10.0" } }, - "node_modules/entities": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", - "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", - "engines": { - "node": ">=0.12" - }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } + "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==", + "license": "MIT" }, - "node_modules/error-ex": { + "node_modules/fast-fifo": { "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" - } + "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", + "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==", + "license": "MIT" }, - "node_modules/es-define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", - "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "node_modules/fast-glob": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", + "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", + "license": "MIT", "dependencies": { - "get-intrinsic": "^1.2.4" + "@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": ">= 0.4" + "node": ">=8.6.0" } }, - "node_modules/es-errors": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", - "engines": { - "node": ">= 0.4" - } + "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==", + "license": "MIT" }, - "node_modules/es-module-lexer": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.1.tgz", - "integrity": "sha512-JUFAyicQV9mXc3YRxPnDlrfBKpqt6hUYzz9/boprUJHs4e4KVr3XwOF70doO6gwXUor6EWZJAyWAfKki84t20Q==" + "node_modules/fast-safe-stringify": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", + "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==", + "license": "MIT" }, - "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/fast-url-parser": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/fast-url-parser/-/fast-url-parser-1.1.3.tgz", + "integrity": "sha512-5jOCVXADYNuRkKFzNJ0dCCewsZiYo0dz8QNYljkOpFC6r2U4OBmKtvm/Tsuh4w1YYdDqDb31a8TVhBJ2OJKdqQ==", + "license": "MIT", + "dependencies": { + "punycode": "^1.3.2" } }, - "node_modules/escape-goat": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-4.0.0.tgz", - "integrity": "sha512-2Sd4ShcWxbx6OY1IHyla/CVNwvg7XwZVoXZHcSu9w9SReNP1EzzD5T8NWKIR38fIqEns9kDWKUQTXXAmlDrdPg==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node_modules/fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" } }, - "node_modules/escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" - }, - "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" + "node_modules/fault": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fault/-/fault-2.0.1.tgz", + "integrity": "sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ==", + "license": "MIT", + "dependencies": { + "format": "^0.2.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "github", + "url": "https://github.com/sponsors/wooorm" } }, - "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==", + "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==", + "license": "Apache-2.0", "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" + "websocket-driver": ">=0.5.1" }, "engines": { - "node": ">=8.0.0" + "node": ">=0.8.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" + "node_modules/feed": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/feed/-/feed-4.2.2.tgz", + "integrity": "sha512-u5/sxGfiMfZNtJ3OvQpXcvotFpYkL0n9u9mM2vkui2nGo8b4wvDkJ8gAkYqbA8QpGyFCv3RK0Z+Iv+9veCS9bQ==", + "license": "MIT", + "dependencies": { + "xml-js": "^1.6.11" }, "engines": { - "node": ">=4" + "node": ">=0.4.0" } }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "node_modules/file-loader": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", + "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", + "license": "MIT", "dependencies": { - "estraverse": "^5.2.0" + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" }, "engines": { - "node": ">=4.0" - } - }, - "node_modules/esrecurse/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "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/estree-util-attach-comments": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/estree-util-attach-comments/-/estree-util-attach-comments-3.0.0.tgz", - "integrity": "sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw==", - "dependencies": { - "@types/estree": "^1.0.0" + "node": ">= 10.13.0" }, "funding": { "type": "opencollective", - "url": "https://opencollective.com/unified" + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" } }, - "node_modules/estree-util-build-jsx": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/estree-util-build-jsx/-/estree-util-build-jsx-3.0.1.tgz", - "integrity": "sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ==", + "node_modules/file-loader/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "license": "MIT", "dependencies": { - "@types/estree-jsx": "^1.0.0", - "devlop": "^1.0.0", - "estree-util-is-identifier-name": "^3.0.0", - "estree-walker": "^3.0.0" + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/estree-util-is-identifier-name": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-3.0.0.tgz", - "integrity": "sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "node_modules/file-loader/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "license": "MIT", + "peerDependencies": { + "ajv": "^6.9.1" } }, - "node_modules/estree-util-to-js": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/estree-util-to-js/-/estree-util-to-js-2.0.0.tgz", - "integrity": "sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg==", + "node_modules/file-loader/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "license": "MIT" + }, + "node_modules/file-loader/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "license": "MIT", "dependencies": { - "@types/estree-jsx": "^1.0.0", - "astring": "^1.8.0", - "source-map": "^0.7.0" + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" }, "funding": { "type": "opencollective", - "url": "https://opencollective.com/unified" + "url": "https://opencollective.com/webpack" } }, - "node_modules/estree-util-value-to-estree": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/estree-util-value-to-estree/-/estree-util-value-to-estree-3.0.1.tgz", - "integrity": "sha512-b2tdzTurEIbwRh+mKrEcaWfu1wgb8J1hVsgREg7FFiecWwK/PhO8X0kyc+0bIcKNtD4sqxIdNoRy6/p/TvECEA==", + "node_modules/file-saver": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/file-saver/-/file-saver-2.0.5.tgz", + "integrity": "sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA==", + "license": "MIT" + }, + "node_modules/file-type": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", + "integrity": "sha512-RLoqTXE8/vPmMuTI88DAzhMYC99I8BWv7zYP4A1puo5HIjEJ5EX48ighy4ZyKMG9EDXxBgW6e++cn7d1xuFghA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/filesize": { + "version": "8.0.7", + "resolved": "https://registry.npmjs.org/filesize/-/filesize-8.0.7.tgz", + "integrity": "sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ==", + "license": "BSD-3-Clause", + "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==", + "license": "MIT", "dependencies": { - "@types/estree": "^1.0.0", - "is-plain-obj": "^4.0.0" + "to-regex-range": "^5.0.1" }, "engines": { - "node": ">=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/remcohaszing" + "node": ">=8" } }, - "node_modules/estree-util-visit": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/estree-util-visit/-/estree-util-visit-2.0.0.tgz", - "integrity": "sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==", + "node_modules/filter-obj": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/filter-obj/-/filter-obj-2.0.2.tgz", + "integrity": "sha512-lO3ttPjHZRfjMcxWKb1j1eDhTFsu4meeR3lnMcnBFhk6RuLhvEiuALu2TlfL310ph4lCYYwgF/ElIjdP739tdg==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "license": "MIT", "dependencies": { - "@types/estree-jsx": "^1.0.0", - "@types/unist": "^3.0.0" + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": ">= 0.8" } }, - "node_modules/estree-walker": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", - "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "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==", + "license": "MIT", "dependencies": { - "@types/estree": "^1.0.0" + "ms": "2.0.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/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" }, - "node_modules/eta": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/eta/-/eta-2.2.0.tgz", - "integrity": "sha512-UVQ72Rqjy/ZKQalzV5dCCJP80GrmPrMxh6NlNf+erV6ObL0ZFkhCstWRawS85z3smdr3d2wXPsZEY7rDPfGd2g==", + "node_modules/find-cache-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-4.0.0.tgz", + "integrity": "sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg==", + "license": "MIT", + "dependencies": { + "common-path-prefix": "^3.0.0", + "pkg-dir": "^7.0.0" + }, "engines": { - "node": ">=6.0.0" + "node": ">=14.16" }, "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": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", - "engines": { - "node": ">= 0.6" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eval": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/eval/-/eval-0.1.8.tgz", - "integrity": "sha512-EzV94NYKoO09GLXGjXj9JIlXijVck4ONSr5wiCWDvhsvj5jxSrzTmRU/9C1DyB6uToszLs8aifA6NQ7lEQdvFw==", + "node_modules/find-up": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz", + "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==", + "license": "MIT", "dependencies": { - "@types/node": "*", - "require-like": ">= 0.1.1" + "locate-path": "^7.1.0", + "path-exists": "^5.0.0" }, "engines": { - "node": ">= 0.8" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eventemitter3": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" + "node_modules/flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "license": "BSD-3-Clause", + "bin": { + "flat": "cli.js" + } }, - "node_modules/events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "node_modules/follow-redirects": { + "version": "1.15.6", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", + "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", "engines": { - "node": ">=0.8.x" + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } } }, - "node_modules/execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "node_modules/for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "license": "MIT", "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" + "is-callable": "^1.1.3" + } + }, + "node_modules/foreach": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.6.tgz", + "integrity": "sha512-k6GAGDyqLe9JaebCsFCoudPPWfihKu8pylYXRlqP1J7ms39iPoTtk2fviNglIeQEwdh0bQeKJ01ZPyuyQvKzwg==", + "license": "MIT" + }, + "node_modules/foreground-child": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", + "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", + "license": "ISC", + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" }, "engines": { - "node": ">=10" + "node": ">=14" }, "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/expand-template": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", - "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==", + "node_modules/foreground-child/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "license": "ISC", "engines": { - "node": ">=6" + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/express": { - "version": "4.19.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.19.2.tgz", - "integrity": "sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==", + "node_modules/fork-ts-checker-webpack-plugin": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.3.tgz", + "integrity": "sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ==", + "license": "MIT", "dependencies": { - "accepts": "~1.3.8", - "array-flatten": "1.1.1", - "body-parser": "1.20.2", - "content-disposition": "0.5.4", - "content-type": "~1.0.4", - "cookie": "0.6.0", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "2.0.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "1.2.0", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.7", - "qs": "6.11.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.2.1", - "send": "0.18.0", - "serve-static": "1.15.0", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" + "@babel/code-frame": "^7.8.3", + "@types/json-schema": "^7.0.5", + "chalk": "^4.1.0", + "chokidar": "^3.4.2", + "cosmiconfig": "^6.0.0", + "deepmerge": "^4.2.2", + "fs-extra": "^9.0.0", + "glob": "^7.1.6", + "memfs": "^3.1.2", + "minimatch": "^3.0.4", + "schema-utils": "2.7.0", + "semver": "^7.3.2", + "tapable": "^1.0.0" + }, + "engines": { + "node": ">=10", + "yarn": ">=1.0.0" + }, + "peerDependencies": { + "eslint": ">= 6", + "typescript": ">= 2.7", + "vue-template-compiler": "*", + "webpack": ">= 4" }, - "engines": { - "node": ">= 0.10.0" + "peerDependenciesMeta": { + "eslint": { + "optional": true + }, + "vue-template-compiler": { + "optional": true + } } }, - "node_modules/express/node_modules/array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" - }, - "node_modules/express/node_modules/content-disposition": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", - "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "node_modules/fork-ts-checker-webpack-plugin/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "license": "MIT", "dependencies": { - "safe-buffer": "5.2.1" + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" }, - "engines": { - "node": ">= 0.6" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "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/fork-ts-checker-webpack-plugin/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "license": "MIT", + "peerDependencies": { + "ajv": "^6.9.1" } }, - "node_modules/express/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "node_modules/express/node_modules/path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" - }, - "node_modules/express/node_modules/range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "node_modules/fork-ts-checker-webpack-plugin/node_modules/cosmiconfig": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", + "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", + "license": "MIT", + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.7.2" + }, "engines": { - "node": ">= 0.6" + "node": ">=8" } }, - "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": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "node_modules/fork-ts-checker-webpack-plugin/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "license": "MIT", "dependencies": { - "is-extendable": "^0.1.0" + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, - "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-fifo": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", - "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==" + "node_modules/fork-ts-checker-webpack-plugin/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "license": "MIT" }, - "node_modules/fast-glob": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", - "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", + "node_modules/fork-ts-checker-webpack-plugin/node_modules/schema-utils": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", + "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", + "license": "MIT", "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" + "@types/json-schema": "^7.0.4", + "ajv": "^6.12.2", + "ajv-keywords": "^3.4.1" }, "engines": { - "node": ">=8.6.0" + "node": ">= 8.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" } }, - "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": { + "node_modules/fork-ts-checker-webpack-plugin/node_modules/tapable": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/fast-url-parser/-/fast-url-parser-1.1.3.tgz", - "integrity": "sha512-5jOCVXADYNuRkKFzNJ0dCCewsZiYo0dz8QNYljkOpFC6r2U4OBmKtvm/Tsuh4w1YYdDqDb31a8TVhBJ2OJKdqQ==", - "dependencies": { - "punycode": "^1.3.2" + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "license": "MIT", + "engines": { + "node": ">=6" } }, - "node_modules/fastq": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", - "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", - "dependencies": { - "reusify": "^1.0.4" + "node_modules/form-data-encoder": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/form-data-encoder/-/form-data-encoder-2.1.4.tgz", + "integrity": "sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==", + "license": "MIT", + "engines": { + "node": ">= 14.17" } }, - "node_modules/fault": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fault/-/fault-2.0.1.tgz", - "integrity": "sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ==", - "dependencies": { - "format": "^0.2.0" + "node_modules/format": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/format/-/format-0.2.2.tgz", + "integrity": "sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==", + "engines": { + "node": ">=0.4.x" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fraction.js": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", + "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", + "license": "MIT", + "engines": { + "node": "*" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "type": "patreon", + "url": "https://github.com/sponsors/rawify" } }, - "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" - }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "license": "MIT", "engines": { - "node": ">=0.8.0" + "node": ">= 0.6" } }, - "node_modules/feed": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/feed/-/feed-4.2.2.tgz", - "integrity": "sha512-u5/sxGfiMfZNtJ3OvQpXcvotFpYkL0n9u9mM2vkui2nGo8b4wvDkJ8gAkYqbA8QpGyFCv3RK0Z+Iv+9veCS9bQ==", + "node_modules/fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", + "license": "MIT" + }, + "node_modules/fs-extra": { + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.1.1.tgz", + "integrity": "sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==", + "license": "MIT", "dependencies": { - "xml-js": "^1.6.11" + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" }, "engines": { - "node": ">=0.4.0" + "node": ">=14.14" } }, - "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" - }, + "node_modules/fs-monkey": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.5.tgz", + "integrity": "sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew==", + "license": "Unlicense" + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "license": "ISC" + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, - "node_modules/file-loader/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "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" - }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "license": "MIT", "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/file-loader/node_modules/ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "peerDependencies": { - "ajv": "^6.9.1" + "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==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" } }, - "node_modules/file-loader/node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + "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==", + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } }, - "node_modules/file-loader/node_modules/schema-utils": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", - "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "node_modules/get-intrinsic": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", + "license": "MIT", "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" }, "engines": { - "node": ">= 10.13.0" + "node": ">= 0.4" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/filesize": { - "version": "8.0.7", - "resolved": "https://registry.npmjs.org/filesize/-/filesize-8.0.7.tgz", - "integrity": "sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ==", + "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==", + "license": "ISC" + }, + "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==", + "license": "MIT", "engines": { - "node": ">= 0.4.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "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==", + "node_modules/github-from-package": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", + "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==", + "license": "MIT" + }, + "node_modules/github-slugger": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-1.5.0.tgz", + "integrity": "sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw==", + "license": "ISC" + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "license": "ISC", "dependencies": { - "to-regex-range": "^5.0.1" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" }, "engines": { - "node": ">=8" + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/finalhandler": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", - "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "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==", + "license": "ISC", "dependencies": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "statuses": "2.0.1", - "unpipe": "~1.0.0" + "is-glob": "^4.0.1" }, "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": ">= 6" } }, - "node_modules/finalhandler/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "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==", + "license": "BSD-2-Clause" }, - "node_modules/find-cache-dir": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-4.0.0.tgz", - "integrity": "sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg==", + "node_modules/global-dirs": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz", + "integrity": "sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==", + "license": "MIT", "dependencies": { - "common-path-prefix": "^3.0.0", - "pkg-dir": "^7.0.0" + "ini": "2.0.0" }, "engines": { - "node": ">=14.16" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/find-up": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz", - "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==", - "dependencies": { - "locate-path": "^7.1.0", - "path-exists": "^5.0.0" - }, + "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==", + "license": "ISC", "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/flat": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", - "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", - "bin": { - "flat": "cli.js" + "node": ">=10" } }, - "node_modules/follow-redirects": { - "version": "1.15.6", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", - "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], - "engines": { - "node": ">=4.0" + "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==", + "license": "MIT", + "dependencies": { + "global-prefix": "^3.0.0" }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } + "engines": { + "node": ">=6" } }, - "node_modules/foreground-child": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", - "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", + "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==", + "license": "MIT", "dependencies": { - "cross-spawn": "^7.0.0", - "signal-exit": "^4.0.1" + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" }, "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">=6" } }, - "node_modules/foreground-child/node_modules/signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", - "engines": { - "node": ">=14" + "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==", + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "bin": { + "which": "bin/which" } }, - "node_modules/fork-ts-checker-webpack-plugin": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.3.tgz", - "integrity": "sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ==", - "dependencies": { - "@babel/code-frame": "^7.8.3", - "@types/json-schema": "^7.0.5", - "chalk": "^4.1.0", - "chokidar": "^3.4.2", - "cosmiconfig": "^6.0.0", - "deepmerge": "^4.2.2", - "fs-extra": "^9.0.0", - "glob": "^7.1.6", - "memfs": "^3.1.2", - "minimatch": "^3.0.4", - "schema-utils": "2.7.0", - "semver": "^7.3.2", - "tapable": "^1.0.0" - }, - "engines": { - "node": ">=10", - "yarn": ">=1.0.0" - }, - "peerDependencies": { - "eslint": ">= 6", - "typescript": ">= 2.7", - "vue-template-compiler": "*", - "webpack": ">= 4" - }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - }, - "vue-template-compiler": { - "optional": true - } + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "license": "MIT", + "engines": { + "node": ">=4" } }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "license": "MIT", "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/fork-ts-checker-webpack-plugin/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==", + "node_modules/goober": { + "version": "2.1.13", + "resolved": "https://registry.npmjs.org/goober/-/goober-2.1.13.tgz", + "integrity": "sha512-jFj3BQeleOoy7t93E9rZ2de+ScC4lQICLwiAQmKMg9F6roKGaLSHoCDYKkWlSafg138jejvq/mTdvmnwDQgqoQ==", + "license": "MIT", "peerDependencies": { - "ajv": "^6.9.1" + "csstype": "^3.0.10" } }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/cosmiconfig": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", - "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "license": "MIT", "dependencies": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.1.0", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.7.2" + "get-intrinsic": "^1.1.3" }, - "engines": { - "node": ">=8" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "node_modules/got": { + "version": "12.6.1", + "resolved": "https://registry.npmjs.org/got/-/got-12.6.1.tgz", + "integrity": "sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==", + "license": "MIT", "dependencies": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" + "@sindresorhus/is": "^5.2.0", + "@szmarczak/http-timer": "^5.0.1", + "cacheable-lookup": "^7.0.0", + "cacheable-request": "^10.2.8", + "decompress-response": "^6.0.0", + "form-data-encoder": "^2.1.2", + "get-stream": "^6.0.1", + "http2-wrapper": "^2.1.10", + "lowercase-keys": "^3.0.0", + "p-cancelable": "^3.0.0", + "responselike": "^3.0.0" }, "engines": { - "node": ">=10" + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sindresorhus/got?sponsor=1" } }, - "node_modules/fork-ts-checker-webpack-plugin/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/fork-ts-checker-webpack-plugin/node_modules/schema-utils": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", - "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", - "dependencies": { - "@types/json-schema": "^7.0.4", - "ajv": "^6.12.2", - "ajv-keywords": "^3.4.1" - }, + "node_modules/got/node_modules/@sindresorhus/is": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-5.6.0.tgz", + "integrity": "sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==", + "license": "MIT", "engines": { - "node": ">= 8.9.0" + "node": ">=14.16" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "url": "https://github.com/sindresorhus/is?sponsor=1" } }, - "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/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "license": "ISC" }, - "node_modules/form-data-encoder": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/form-data-encoder/-/form-data-encoder-2.1.4.tgz", - "integrity": "sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==", + "node_modules/gray-matter": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz", + "integrity": "sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==", + "license": "MIT", + "dependencies": { + "js-yaml": "^3.13.1", + "kind-of": "^6.0.2", + "section-matter": "^1.0.0", + "strip-bom-string": "^1.0.0" + }, "engines": { - "node": ">= 14.17" + "node": ">=6.0" } }, - "node_modules/format": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/format/-/format-0.2.2.tgz", - "integrity": "sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==", - "engines": { - "node": ">=0.4.x" + "node_modules/gray-matter/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "license": "MIT", + "dependencies": { + "sprintf-js": "~1.0.2" } }, - "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/gray-matter/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==", + "license": "MIT", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "node_modules/fraction.js": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", - "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", + "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==", + "license": "MIT", + "dependencies": { + "duplexer": "^0.1.2" + }, "engines": { - "node": "*" + "node": ">=10" }, "funding": { - "type": "patreon", - "url": "https://github.com/sponsors/rawify" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "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==", + "license": "MIT" + }, + "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==", + "license": "MIT", "engines": { - "node": ">= 0.6" + "node": ">=8" } }, - "node_modules/fs-constants": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" - }, - "node_modules/fs-extra": { - "version": "11.1.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.1.1.tgz", - "integrity": "sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==", + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "license": "MIT", "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" + "es-define-property": "^1.0.0" }, - "engines": { - "node": ">=14.14" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/fs-monkey": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.5.tgz", - "integrity": "sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew==" - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" - }, - "node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], + "node_modules/has-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "license": "MIT", "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "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==", + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "license": "MIT", "engines": { - "node": ">=6.9.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/get-intrinsic": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", - "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "license": "MIT", "dependencies": { - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "hasown": "^2.0.0" + "has-symbols": "^1.0.3" }, "engines": { "node": ">= 0.4" @@ -7454,1705 +9549,2347 @@ "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": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "node_modules/has-yarn": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-3.0.0.tgz", + "integrity": "sha512-IrsVwUHhEULx3R8f/aA8AHuEzAorplsab/v8HBzEiIukwq5i/EC+xmOW+HfP1OaDP+2JkgT1yILHN2O3UFIbcA==", + "license": "MIT", "engines": { - "node": ">=10" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/github-from-package": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", - "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==" + "node_modules/hash-base": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", + "integrity": "sha512-EeeoJKjTyt868liAlVmcv2ZsUfGHlE3Q+BICOXcZiwN3osr5Q/zFGYmTJpoIzuaSTAwndFy+GqhEwlU4L3j4Ow==", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": ">=4" + } }, - "node_modules/github-slugger": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-1.5.0.tgz", - "integrity": "sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw==" + "node_modules/hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } }, - "node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "node_modules/hasown": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", + "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", + "license": "MIT", "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "function-bind": "^1.1.2" }, "engines": { - "node": "*" + "node": ">= 0.4" + } + }, + "node_modules/hast-util-from-parse5": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-8.0.1.tgz", + "integrity": "sha512-Er/Iixbc7IEa7r/XLtuG52zoqn/b3Xng/w6aZQ0xGVxzhw5xUFxcRqdPzP6yFi/4HBYRaifaI5fQ1RH8n0ZeOQ==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "devlop": "^1.0.0", + "hastscript": "^8.0.0", + "property-information": "^6.0.0", + "vfile": "^6.0.0", + "vfile-location": "^5.0.0", + "web-namespaces": "^2.0.0" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "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==", + "node_modules/hast-util-parse-selector": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-4.0.0.tgz", + "integrity": "sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==", + "license": "MIT", "dependencies": { - "is-glob": "^4.0.1" + "@types/hast": "^3.0.0" }, - "engines": { - "node": ">= 6" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "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/hast-util-raw": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-9.0.1.tgz", + "integrity": "sha512-5m1gmba658Q+lO5uqL5YNGQWeh1MYWZbZmWrM5lncdcuiXuo5E2HT/CIOp0rLF8ksfSwiCVJ3twlgVRyTGThGA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "@ungap/structured-clone": "^1.0.0", + "hast-util-from-parse5": "^8.0.0", + "hast-util-to-parse5": "^8.0.0", + "html-void-elements": "^3.0.0", + "mdast-util-to-hast": "^13.0.0", + "parse5": "^7.0.0", + "unist-util-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0", + "web-namespaces": "^2.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } }, - "node_modules/global-dirs": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz", - "integrity": "sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==", + "node_modules/hast-util-to-estree": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/hast-util-to-estree/-/hast-util-to-estree-3.1.0.tgz", + "integrity": "sha512-lfX5g6hqVh9kjS/B9E2gSkvHH4SZNiQFiqWS0x9fENzEl+8W12RqdRxX6d/Cwxi30tPQs3bIO+aolQJNp1bIyw==", + "license": "MIT", "dependencies": { - "ini": "2.0.0" + "@types/estree": "^1.0.0", + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "devlop": "^1.0.0", + "estree-util-attach-comments": "^3.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "hast-util-whitespace": "^3.0.0", + "mdast-util-mdx-expression": "^2.0.0", + "mdast-util-mdx-jsx": "^3.0.0", + "mdast-util-mdxjs-esm": "^2.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0", + "style-to-object": "^0.4.0", + "unist-util-position": "^5.0.0", + "zwitch": "^2.0.0" }, - "engines": { - "node": ">=10" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-jsx-runtime": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.2.0.tgz", + "integrity": "sha512-wSlp23N45CMjDg/BPW8zvhEi3R+8eRE1qFbjEyAUzMCzu2l1Wzwakq+Tlia9nkCtEl5mDxa7nKHsvYJ6Gfn21A==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-whitespace": "^3.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0", + "style-to-object": "^0.4.0", + "unist-util-position": "^5.0.0", + "vfile-message": "^4.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "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/hast-util-to-parse5": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-8.0.0.tgz", + "integrity": "sha512-3KKrV5ZVI8if87DVSi1vDeByYrkGzg4mEfeu4alwgmmIeARiBLKCZS2uw5Gb6nU9x9Yufyj3iudm6i7nl52PFw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "devlop": "^1.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0", + "web-namespaces": "^2.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-whitespace": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz", + "integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hastscript": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-8.0.0.tgz", + "integrity": "sha512-dMOtzCEd3ABUeSIISmrETiKuyydk1w0pa+gE/uormcTpSYuaNJPbX1NU3JLyscSLjwAQM8bWMhhIlnCqnRvDTw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-parse-selector": "^4.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.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==", + "license": "MIT", + "bin": { + "he": "bin/he" + } + }, + "node_modules/history": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/history/-/history-4.10.1.tgz", + "integrity": "sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==", + "license": "MIT", + "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/hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", + "license": "MIT", + "dependencies": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^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==", + "license": "BSD-3-Clause", + "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": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" } }, - "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==", + "node_modules/hpack.js/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "license": "MIT" + }, + "node_modules/hpack.js/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "license": "MIT", "dependencies": { - "global-prefix": "^3.0.0" - }, - "engines": { - "node": ">=6" + "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/global-prefix": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", - "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "node_modules/hpack.js/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "license": "MIT" + }, + "node_modules/hpack.js/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "license": "MIT", "dependencies": { - "ini": "^1.3.5", - "kind-of": "^6.0.2", - "which": "^1.3.1" - }, - "engines": { - "node": ">=6" + "safe-buffer": "~5.1.0" } }, - "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==", + "node_modules/html-entities": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.4.0.tgz", + "integrity": "sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/mdevils" + }, + { + "type": "patreon", + "url": "https://patreon.com/mdevils" + } + ], + "license": "MIT" + }, + "node_modules/html-minifier-terser": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-7.2.0.tgz", + "integrity": "sha512-tXgn3QfqPIpGl9o+K5tpcj3/MN4SfLtsx2GWwBC3SSd0tXQGyF3gsSqad8loJgKZGM3ZxbYDd5yhiBIdWpmvLA==", + "license": "MIT", "dependencies": { - "isexe": "^2.0.0" + "camel-case": "^4.1.2", + "clean-css": "~5.3.2", + "commander": "^10.0.0", + "entities": "^4.4.0", + "param-case": "^3.0.4", + "relateurl": "^0.2.7", + "terser": "^5.15.1" }, "bin": { - "which": "bin/which" + "html-minifier-terser": "cli.js" + }, + "engines": { + "node": "^14.13.1 || >=16.0.0" } }, - "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==", + "node_modules/html-minifier-terser/node_modules/commander": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", + "license": "MIT", "engines": { - "node": ">=4" + "node": ">=14" } }, - "node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - }, + "node_modules/html-tags": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.3.1.tgz", + "integrity": "sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==", + "license": "MIT", "engines": { - "node": ">=10" + "node": ">=8" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/goober": { - "version": "2.1.13", - "resolved": "https://registry.npmjs.org/goober/-/goober-2.1.13.tgz", - "integrity": "sha512-jFj3BQeleOoy7t93E9rZ2de+ScC4lQICLwiAQmKMg9F6roKGaLSHoCDYKkWlSafg138jejvq/mTdvmnwDQgqoQ==", - "peerDependencies": { - "csstype": "^3.0.10" - } - }, - "node_modules/gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", - "dependencies": { - "get-intrinsic": "^1.1.3" - }, + "node_modules/html-void-elements": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-3.0.0.tgz", + "integrity": "sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==", + "license": "MIT", "funding": { - "url": "https://github.com/sponsors/ljharb" + "type": "github", + "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/got": { - "version": "12.6.1", - "resolved": "https://registry.npmjs.org/got/-/got-12.6.1.tgz", - "integrity": "sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==", + "node_modules/html-webpack-plugin": { + "version": "5.5.3", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.5.3.tgz", + "integrity": "sha512-6YrDKTuqaP/TquFH7h4srYWsZx+x6k6+FbsTm0ziCwGHDP78Unr1r9F/H4+sGmMbX08GQcJ+K64x55b+7VM/jg==", + "license": "MIT", "dependencies": { - "@sindresorhus/is": "^5.2.0", - "@szmarczak/http-timer": "^5.0.1", - "cacheable-lookup": "^7.0.0", - "cacheable-request": "^10.2.8", - "decompress-response": "^6.0.0", - "form-data-encoder": "^2.1.2", - "get-stream": "^6.0.1", - "http2-wrapper": "^2.1.10", - "lowercase-keys": "^3.0.0", - "p-cancelable": "^3.0.0", - "responselike": "^3.0.0" + "@types/html-minifier-terser": "^6.0.0", + "html-minifier-terser": "^6.0.2", + "lodash": "^4.17.21", + "pretty-error": "^4.0.0", + "tapable": "^2.0.0" }, "engines": { - "node": ">=14.16" + "node": ">=10.13.0" }, "funding": { - "url": "https://github.com/sindresorhus/got?sponsor=1" + "type": "opencollective", + "url": "https://opencollective.com/html-webpack-plugin" + }, + "peerDependencies": { + "webpack": "^5.20.0" } }, - "node_modules/got/node_modules/@sindresorhus/is": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-5.6.0.tgz", - "integrity": "sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==", + "node_modules/html-webpack-plugin/node_modules/commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "license": "MIT", "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sindresorhus/is?sponsor=1" + "node": ">= 12" } }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" - }, - "node_modules/gray-matter": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz", - "integrity": "sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==", + "node_modules/html-webpack-plugin/node_modules/html-minifier-terser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "integrity": "sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==", + "license": "MIT", "dependencies": { - "js-yaml": "^3.13.1", - "kind-of": "^6.0.2", - "section-matter": "^1.0.0", - "strip-bom-string": "^1.0.0" + "camel-case": "^4.1.2", + "clean-css": "^5.2.2", + "commander": "^8.3.0", + "he": "^1.2.0", + "param-case": "^3.0.4", + "relateurl": "^0.2.7", + "terser": "^5.10.0" + }, + "bin": { + "html-minifier-terser": "cli.js" }, "engines": { - "node": ">=6.0" + "node": ">=12" } }, - "node_modules/gray-matter/node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "node_modules/htmlparser2": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz", + "integrity": "sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==", + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "MIT", "dependencies": { - "sprintf-js": "~1.0.2" + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1", + "entities": "^4.4.0" } }, - "node_modules/gray-matter/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/http-cache-semantics": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", + "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", + "license": "BSD-2-Clause" }, - "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==", + "node_modules/http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==", + "license": "MIT" + }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "license": "MIT", "dependencies": { - "duplexer": "^0.1.2" - }, - "engines": { - "node": ">=10" + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">= 0.8" } }, - "node_modules/handle-thing": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", - "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==" + "node_modules/http-parser-js": { + "version": "0.5.8", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", + "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==", + "license": "MIT" }, - "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==", + "node_modules/http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "license": "MIT", + "dependencies": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + }, "engines": { - "node": ">=8" + "node": ">=8.0.0" } }, - "node_modules/has-property-descriptors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", - "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "node_modules/http-proxy-middleware": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz", + "integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==", + "license": "MIT", "dependencies": { - "es-define-property": "^1.0.0" + "@types/http-proxy": "^1.17.8", + "http-proxy": "^1.18.1", + "is-glob": "^4.0.1", + "is-plain-obj": "^3.0.0", + "micromatch": "^4.0.2" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", "engines": { - "node": ">= 0.4" + "node": ">=12.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", - "engines": { - "node": ">= 0.4" + "peerDependencies": { + "@types/express": "^4.17.13" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependenciesMeta": { + "@types/express": { + "optional": true + } } }, - "node_modules/has-yarn": { + "node_modules/http-proxy-middleware/node_modules/is-plain-obj": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-3.0.0.tgz", - "integrity": "sha512-IrsVwUHhEULx3R8f/aA8AHuEzAorplsab/v8HBzEiIukwq5i/EC+xmOW+HfP1OaDP+2JkgT1yILHN2O3UFIbcA==", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", + "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", + "license": "MIT", "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/hasown": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", - "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", + "node_modules/http-reasons": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/http-reasons/-/http-reasons-0.1.0.tgz", + "integrity": "sha512-P6kYh0lKZ+y29T2Gqz+RlC9WBLhKe8kDmcJ+A+611jFfxdPsbMRQ5aNmFRM3lENqFkK+HTTL+tlQviAiv0AbLQ==", + "license": "Apache-2.0" + }, + "node_modules/http2-client": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/http2-client/-/http2-client-1.3.5.tgz", + "integrity": "sha512-EC2utToWl4RKfs5zd36Mxq7nzHHBuomZboI0yYL6Y0RmBgT7Sgkq4rQ0ezFTYoIsSs7Tm9SJe+o2FcAg6GBhGA==", + "license": "MIT" + }, + "node_modules/http2-wrapper": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-2.2.0.tgz", + "integrity": "sha512-kZB0wxMo0sh1PehyjJUWRFEd99KC5TLjZ2cULC4f9iqJBAmKQQXEICjxl5iPJRwP40dpeHFqqhm7tYCvODpqpQ==", + "license": "MIT", "dependencies": { - "function-bind": "^1.1.2" + "quick-lru": "^5.1.1", + "resolve-alpn": "^1.2.0" }, "engines": { - "node": ">= 0.4" + "node": ">=10.19.0" } }, - "node_modules/hast-util-from-parse5": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-8.0.1.tgz", - "integrity": "sha512-Er/Iixbc7IEa7r/XLtuG52zoqn/b3Xng/w6aZQ0xGVxzhw5xUFxcRqdPzP6yFi/4HBYRaifaI5fQ1RH8n0ZeOQ==", - "dependencies": { - "@types/hast": "^3.0.0", - "@types/unist": "^3.0.0", - "devlop": "^1.0.0", - "hastscript": "^8.0.0", - "property-information": "^6.0.0", - "vfile": "^6.0.0", - "vfile-location": "^5.0.0", - "web-namespaces": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "node_modules/https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==", + "license": "MIT" + }, + "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==", + "license": "Apache-2.0", + "engines": { + "node": ">=10.17.0" } }, - "node_modules/hast-util-parse-selector": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-4.0.0.tgz", - "integrity": "sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==", - "dependencies": { - "@types/hast": "^3.0.0" + "node_modules/husky": { + "version": "9.0.11", + "resolved": "https://registry.npmjs.org/husky/-/husky-9.0.11.tgz", + "integrity": "sha512-AB6lFlbwwyIqMdHYhwPe+kjOC3Oc5P3nThEoW/AaO2BX3vJDjWPFxYLxokUZOo6RNX20He3AaT8sESs9NJcmEw==", + "dev": true, + "license": "MIT", + "bin": { + "husky": "bin.mjs" + }, + "engines": { + "node": ">=18" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "url": "https://github.com/sponsors/typicode" } }, - "node_modules/hast-util-raw": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-9.0.1.tgz", - "integrity": "sha512-5m1gmba658Q+lO5uqL5YNGQWeh1MYWZbZmWrM5lncdcuiXuo5E2HT/CIOp0rLF8ksfSwiCVJ3twlgVRyTGThGA==", + "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==", + "license": "MIT", "dependencies": { - "@types/hast": "^3.0.0", - "@types/unist": "^3.0.0", - "@ungap/structured-clone": "^1.0.0", - "hast-util-from-parse5": "^8.0.0", - "hast-util-to-parse5": "^8.0.0", - "html-void-elements": "^3.0.0", - "mdast-util-to-hast": "^13.0.0", - "parse5": "^7.0.0", - "unist-util-position": "^5.0.0", - "unist-util-visit": "^5.0.0", - "vfile": "^6.0.0", - "web-namespaces": "^2.0.0", - "zwitch": "^2.0.0" + "safer-buffer": ">= 2.1.2 < 3" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/hast-util-to-estree": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/hast-util-to-estree/-/hast-util-to-estree-3.1.0.tgz", - "integrity": "sha512-lfX5g6hqVh9kjS/B9E2gSkvHH4SZNiQFiqWS0x9fENzEl+8W12RqdRxX6d/Cwxi30tPQs3bIO+aolQJNp1bIyw==", - "dependencies": { - "@types/estree": "^1.0.0", - "@types/estree-jsx": "^1.0.0", - "@types/hast": "^3.0.0", - "comma-separated-tokens": "^2.0.0", - "devlop": "^1.0.0", - "estree-util-attach-comments": "^3.0.0", - "estree-util-is-identifier-name": "^3.0.0", - "hast-util-whitespace": "^3.0.0", - "mdast-util-mdx-expression": "^2.0.0", - "mdast-util-mdx-jsx": "^3.0.0", - "mdast-util-mdxjs-esm": "^2.0.0", - "property-information": "^6.0.0", - "space-separated-tokens": "^2.0.0", - "style-to-object": "^0.4.0", - "unist-util-position": "^5.0.0", - "zwitch": "^2.0.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==", + "license": "ISC", + "engines": { + "node": "^10 || ^12 || >= 14" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "peerDependencies": { + "postcss": "^8.1.0" } }, - "node_modules/hast-util-to-jsx-runtime": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.2.0.tgz", - "integrity": "sha512-wSlp23N45CMjDg/BPW8zvhEi3R+8eRE1qFbjEyAUzMCzu2l1Wzwakq+Tlia9nkCtEl5mDxa7nKHsvYJ6Gfn21A==", - "dependencies": { - "@types/hast": "^3.0.0", - "@types/unist": "^3.0.0", - "comma-separated-tokens": "^2.0.0", - "hast-util-whitespace": "^3.0.0", - "property-information": "^6.0.0", - "space-separated-tokens": "^2.0.0", - "style-to-object": "^0.4.0", - "unist-util-position": "^5.0.0", - "vfile-message": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/ignore": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", + "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", + "license": "MIT", + "engines": { + "node": ">= 4" } }, - "node_modules/hast-util-to-parse5": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-8.0.0.tgz", - "integrity": "sha512-3KKrV5ZVI8if87DVSi1vDeByYrkGzg4mEfeu4alwgmmIeARiBLKCZS2uw5Gb6nU9x9Yufyj3iudm6i7nl52PFw==", + "node_modules/image-size": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-1.0.2.tgz", + "integrity": "sha512-xfOoWjceHntRb3qFCrh5ZFORYH8XCdYpASltMhZ/Q0KZiOwjdE/Yl2QCiWdwD+lygV5bMCvauzgu5PxBX/Yerg==", + "license": "MIT", "dependencies": { - "@types/hast": "^3.0.0", - "comma-separated-tokens": "^2.0.0", - "devlop": "^1.0.0", - "property-information": "^6.0.0", - "space-separated-tokens": "^2.0.0", - "web-namespaces": "^2.0.0", - "zwitch": "^2.0.0" + "queue": "6.0.2" + }, + "bin": { + "image-size": "bin/image-size.js" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": ">=14.0.0" } }, - "node_modules/hast-util-whitespace": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz", - "integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==", - "dependencies": { - "@types/hast": "^3.0.0" - }, + "node_modules/immediate": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.3.0.tgz", + "integrity": "sha512-HR7EVodfFUdQCTIeySw+WDRFJlPcLOJbXfwwZ7Oom6tjsvZ3bOkCDJHehQC3nxJrv7+f9XecwazynjU8e4Vw3Q==", + "license": "MIT" + }, + "node_modules/immer": { + "version": "9.0.21", + "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.21.tgz", + "integrity": "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==", + "license": "MIT", "funding": { "type": "opencollective", - "url": "https://opencollective.com/unified" + "url": "https://opencollective.com/immer" } }, - "node_modules/hastscript": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-8.0.0.tgz", - "integrity": "sha512-dMOtzCEd3ABUeSIISmrETiKuyydk1w0pa+gE/uormcTpSYuaNJPbX1NU3JLyscSLjwAQM8bWMhhIlnCqnRvDTw==", + "node_modules/immutable": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.6.tgz", + "integrity": "sha512-Ju0+lEMyzMVZarkTn/gqRpdqd5dOPaz1mCZ0SH3JV6iFw81PldE/PEB1hWVEA288HPt4WXW8O7AWxB10M+03QQ==", + "license": "MIT" + }, + "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==", + "license": "MIT", "dependencies": { - "@types/hast": "^3.0.0", - "comma-separated-tokens": "^2.0.0", - "hast-util-parse-selector": "^4.0.0", - "property-information": "^6.0.0", - "space-separated-tokens": "^2.0.0" + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "url": "https://github.com/sponsors/sindresorhus" } }, - "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/import-lazy": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz", + "integrity": "sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==", + "license": "MIT", + "engines": { + "node": ">=8" } }, - "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/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "license": "MIT", + "engines": { + "node": ">=0.8.19" } }, - "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/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==", + "license": "MIT", + "engines": { + "node": ">=8" } }, - "node_modules/hpack.js": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", - "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", + "node_modules/infima": { + "version": "0.2.0-alpha.43", + "resolved": "https://registry.npmjs.org/infima/-/infima-0.2.0-alpha.43.tgz", + "integrity": "sha512-2uw57LvUqW0rK/SWYnd/2rRfxNA5DDNOh33jxF7fy46VWoNhGxiUQyVZHbBMjQ33mQem0cjdDVwgWVAmlRfgyQ==", + "license": "MIT", + "engines": { + "node": ">=12" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "license": "ISC", "dependencies": { - "inherits": "^2.0.1", - "obuf": "^1.0.0", - "readable-stream": "^2.0.1", - "wbuf": "^1.1.0" + "once": "^1.3.0", + "wrappy": "1" } }, - "node_modules/hpack.js/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "license": "ISC" }, - "node_modules/hpack.js/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "license": "ISC" + }, + "node_modules/inline-style-parser": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz", + "integrity": "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==", + "license": "MIT" + }, + "node_modules/interpret": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "license": "MIT", "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" + "loose-envify": "^1.0.0" } }, - "node_modules/hpack.js/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + "node_modules/ipaddr.js": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.1.0.tgz", + "integrity": "sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ==", + "license": "MIT", + "engines": { + "node": ">= 10" + } }, - "node_modules/hpack.js/node_modules/string_decoder": { + "node_modules/is-alphabetical": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz", + "integrity": "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-alphanumerical": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz", + "integrity": "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==", + "license": "MIT", + "dependencies": { + "is-alphabetical": "^2.0.0", + "is-decimal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-arguments": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", + "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", + "license": "MIT", "dependencies": { - "safe-buffer": "~5.1.0" + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/html-entities": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.4.0.tgz", - "integrity": "sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ==", + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "license": "MIT" + }, + "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==", + "license": "MIT", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "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/mdevils" + "url": "https://github.com/sponsors/feross" }, { "type": "patreon", - "url": "https://patreon.com/mdevils" + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" } - ] - }, - "node_modules/html-minifier-terser": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-7.2.0.tgz", - "integrity": "sha512-tXgn3QfqPIpGl9o+K5tpcj3/MN4SfLtsx2GWwBC3SSd0tXQGyF3gsSqad8loJgKZGM3ZxbYDd5yhiBIdWpmvLA==", - "dependencies": { - "camel-case": "^4.1.2", - "clean-css": "~5.3.2", - "commander": "^10.0.0", - "entities": "^4.4.0", - "param-case": "^3.0.4", - "relateurl": "^0.2.7", - "terser": "^5.15.1" - }, - "bin": { - "html-minifier-terser": "cli.js" - }, + ], + "license": "MIT", "engines": { - "node": "^14.13.1 || >=16.0.0" + "node": ">=4" } }, - "node_modules/html-minifier-terser/node_modules/commander": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", - "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "license": "MIT", "engines": { - "node": ">=14" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-ci": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz", + "integrity": "sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==", + "license": "MIT", + "dependencies": { + "ci-info": "^3.2.0" + }, + "bin": { + "is-ci": "bin.js" } }, - "node_modules/html-tags": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.3.1.tgz", - "integrity": "sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==", - "engines": { - "node": ">=8" + "node_modules/is-core-module": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", + "license": "MIT", + "dependencies": { + "hasown": "^2.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/html-void-elements": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-3.0.0.tgz", - "integrity": "sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==", + "node_modules/is-decimal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz", + "integrity": "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==", + "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/html-webpack-plugin": { - "version": "5.5.3", - "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.5.3.tgz", - "integrity": "sha512-6YrDKTuqaP/TquFH7h4srYWsZx+x6k6+FbsTm0ziCwGHDP78Unr1r9F/H4+sGmMbX08GQcJ+K64x55b+7VM/jg==", - "dependencies": { - "@types/html-minifier-terser": "^6.0.0", - "html-minifier-terser": "^6.0.2", - "lodash": "^4.17.21", - "pretty-error": "^4.0.0", - "tapable": "^2.0.0" + "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==", + "license": "MIT", + "bin": { + "is-docker": "cli.js" }, "engines": { - "node": ">=10.13.0" + "node": ">=8" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/html-webpack-plugin" - }, - "peerDependencies": { - "webpack": "^5.20.0" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/html-webpack-plugin/node_modules/commander": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", - "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "license": "MIT", "engines": { - "node": ">= 12" + "node": ">=0.10.0" } }, - "node_modules/html-webpack-plugin/node_modules/html-minifier-terser": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", - "integrity": "sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==", - "dependencies": { - "camel-case": "^4.1.2", - "clean-css": "^5.2.2", - "commander": "^8.3.0", - "he": "^1.2.0", - "param-case": "^3.0.4", - "relateurl": "^0.2.7", - "terser": "^5.10.0" - }, - "bin": { - "html-minifier-terser": "cli.js" - }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "license": "MIT", "engines": { - "node": ">=12" + "node": ">=0.10.0" } }, - "node_modules/htmlparser2": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz", - "integrity": "sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==", - "funding": [ - "https://github.com/fb55/htmlparser2?sponsor=1", - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], - "dependencies": { - "domelementtype": "^2.3.0", - "domhandler": "^5.0.3", - "domutils": "^3.0.1", - "entities": "^4.4.0" + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "license": "MIT", + "engines": { + "node": ">=8" } }, - "node_modules/http-cache-semantics": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", - "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==" - }, - "node_modules/http-deceiver": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", - "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==" + "node_modules/is-generator-function": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", + "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", + "license": "MIT", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "node_modules/http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "license": "MIT", "dependencies": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" + "is-extglob": "^2.1.1" }, "engines": { - "node": ">= 0.8" + "node": ">=0.10.0" } }, - "node_modules/http-parser-js": { - "version": "0.5.8", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", - "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==" + "node_modules/is-hexadecimal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz", + "integrity": "sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } }, - "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==", + "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==", + "license": "MIT", "dependencies": { - "eventemitter3": "^4.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" + "global-dirs": "^3.0.0", + "is-path-inside": "^3.0.2" }, "engines": { - "node": ">=8.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/http-proxy-middleware": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz", - "integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==", + "node_modules/is-nan": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/is-nan/-/is-nan-1.3.2.tgz", + "integrity": "sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==", + "license": "MIT", "dependencies": { - "@types/http-proxy": "^1.17.8", - "http-proxy": "^1.18.1", - "is-glob": "^4.0.1", - "is-plain-obj": "^3.0.0", - "micromatch": "^4.0.2" + "call-bind": "^1.0.0", + "define-properties": "^1.1.3" }, "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "@types/express": "^4.17.13" + "node": ">= 0.4" }, - "peerDependenciesMeta": { - "@types/express": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/http-proxy-middleware/node_modules/is-plain-obj": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", - "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", + "node_modules/is-npm": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-6.0.0.tgz", + "integrity": "sha512-JEjxbSmtPSt1c8XTkVrlujcXdKV1/tvuQ7GwKcAlyiVLeYFQ2VHat8xfrDJsIkhCdF/tZ7CiIR3sy141c6+gPQ==", + "license": "MIT", "engines": { - "node": ">=10" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/http2-wrapper": { + "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==", + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-path-cwd": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-2.2.0.tgz", - "integrity": "sha512-kZB0wxMo0sh1PehyjJUWRFEd99KC5TLjZ2cULC4f9iqJBAmKQQXEICjxl5iPJRwP40dpeHFqqhm7tYCvODpqpQ==", - "dependencies": { - "quick-lru": "^5.1.1", - "resolve-alpn": "^1.2.0" - }, + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", + "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", + "license": "MIT", "engines": { - "node": ">=10.19.0" + "node": ">=6" } }, - "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==", + "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==", + "license": "MIT", "engines": { - "node": ">=10.17.0" + "node": ">=8" } }, - "node_modules/husky": { - "version": "9.0.11", - "resolved": "https://registry.npmjs.org/husky/-/husky-9.0.11.tgz", - "integrity": "sha512-AB6lFlbwwyIqMdHYhwPe+kjOC3Oc5P3nThEoW/AaO2BX3vJDjWPFxYLxokUZOo6RNX20He3AaT8sESs9NJcmEw==", - "dev": true, - "bin": { - "husky": "bin.mjs" - }, + "node_modules/is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", + "license": "MIT", "engines": { - "node": ">=18" + "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/typicode" + "url": "https://github.com/sponsors/sindresorhus" } }, - "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" - }, + "node_modules/is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", + "license": "MIT", "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/is-reference": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-3.0.2.tgz", + "integrity": "sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==", + "license": "MIT", + "dependencies": { + "@types/estree": "*" } }, - "node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "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/ignore": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", - "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", + "node_modules/is-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", + "integrity": "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==", + "license": "MIT", "engines": { - "node": ">= 4" + "node": ">=0.10.0" } }, - "node_modules/image-size": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/image-size/-/image-size-1.0.2.tgz", - "integrity": "sha512-xfOoWjceHntRb3qFCrh5ZFORYH8XCdYpASltMhZ/Q0KZiOwjdE/Yl2QCiWdwD+lygV5bMCvauzgu5PxBX/Yerg==", - "dependencies": { - "queue": "6.0.2" - }, - "bin": { - "image-size": "bin/image-size.js" - }, + "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==", + "license": "MIT", "engines": { - "node": ">=14.0.0" + "node": ">=6" } }, - "node_modules/immediate": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.3.0.tgz", - "integrity": "sha512-HR7EVodfFUdQCTIeySw+WDRFJlPcLOJbXfwwZ7Oom6tjsvZ3bOkCDJHehQC3nxJrv7+f9XecwazynjU8e4Vw3Q==" - }, - "node_modules/immer": { - "version": "9.0.21", - "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.21.tgz", - "integrity": "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==", + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "license": "MIT", + "engines": { + "node": ">=8" + }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/immer" + "url": "https://github.com/sponsors/sindresorhus" } }, - "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==", + "node_modules/is-typed-array": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz", + "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==", + "license": "MIT", "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" + "which-typed-array": "^1.1.14" }, "engines": { - "node": ">=6" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/import-lazy": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz", - "integrity": "sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==", + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", + "license": "MIT" + }, + "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==", + "license": "MIT", + "dependencies": { + "is-docker": "^2.0.0" + }, "engines": { "node": ">=8" } }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "node_modules/is-yarn-global": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.4.1.tgz", + "integrity": "sha512-/kppl+R+LO5VmhYSEWARUFjodS25D68gvj8W7z0I7OWhUla5xWu8KL6CtB2V0R6yqhnRgbcaREMr4EEM6htLPQ==", + "license": "MIT", "engines": { - "node": ">=0.8.19" + "node": ">=12" } }, - "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/isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", + "license": "MIT" }, - "node_modules/infima": { - "version": "0.2.0-alpha.43", - "resolved": "https://registry.npmjs.org/infima/-/infima-0.2.0-alpha.43.tgz", - "integrity": "sha512-2uw57LvUqW0rK/SWYnd/2rRfxNA5DDNOh33jxF7fy46VWoNhGxiUQyVZHbBMjQ33mQem0cjdDVwgWVAmlRfgyQ==", + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "license": "ISC" + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "license": "MIT", "engines": { - "node": ">=12" + "node": ">=0.10.0" } }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "node_modules/jackspeak": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", + "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", + "license": "BlueOak-1.0.0", "dependencies": { - "once": "^1.3.0", - "wrappy": "1" + "@isaacs/cliui": "^8.0.2" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" } }, - "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/interpret": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", - "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", + "node_modules/jest-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", + "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", + "license": "MIT", + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, "engines": { - "node": ">= 0.10" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/invariant": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", - "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "node_modules/jest-worker": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", + "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", + "license": "MIT", "dependencies": { - "loose-envify": "^1.0.0" + "@types/node": "*", + "jest-util": "^29.7.0", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/ipaddr.js": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.1.0.tgz", - "integrity": "sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ==", + "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==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, "engines": { - "node": ">= 10" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/is-alphabetical": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz", - "integrity": "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "node_modules/jiti": { + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.0.tgz", + "integrity": "sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==", + "license": "MIT", + "bin": { + "jiti": "bin/jiti.js" } }, - "node_modules/is-alphanumerical": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz", - "integrity": "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==", + "node_modules/joi": { + "version": "17.11.0", + "resolved": "https://registry.npmjs.org/joi/-/joi-17.11.0.tgz", + "integrity": "sha512-NgB+lZLNoqISVy1rZocE9PZI36bL/77ie924Ri43yEvi9GUUMPeyVIr8KdFTMUlby1p0PBYMk9spIxEUQYqrJQ==", + "license": "BSD-3-Clause", "dependencies": { - "is-alphabetical": "^2.0.0", - "is-decimal": "^2.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "@hapi/hoek": "^9.0.0", + "@hapi/topo": "^5.0.0", + "@sideway/address": "^4.1.3", + "@sideway/formula": "^3.0.1", + "@sideway/pinpoint": "^2.0.0" + } + }, + "node_modules/js-levenshtein": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.6.tgz", + "integrity": "sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" } }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" + "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==", + "license": "MIT" }, - "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==", + "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==", + "license": "MIT", "dependencies": { - "binary-extensions": "^2.0.0" + "argparse": "^2.0.1" + }, + "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==", + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" }, "engines": { - "node": ">=8" + "node": ">=4" } }, - "node_modules/is-ci": { + "node_modules/json-buffer": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz", - "integrity": "sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "license": "MIT" + }, + "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==", + "license": "MIT" + }, + "node_modules/json-pointer": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/json-pointer/-/json-pointer-0.6.2.tgz", + "integrity": "sha512-vLWcKbOaXlO+jvRy4qNd+TI1QUPZzfJj1tpJ3vAXDych5XJf93ftpUKe5pKCrzyIIwgBJcOcCVRUfqQP25afBw==", + "license": "MIT", "dependencies": { - "ci-info": "^3.2.0" - }, - "bin": { - "is-ci": "bin.js" + "foreach": "^2.0.4" } }, - "node_modules/is-core-module": { - "version": "2.13.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", - "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", + "node_modules/json-schema-compare": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/json-schema-compare/-/json-schema-compare-0.2.2.tgz", + "integrity": "sha512-c4WYmDKyJXhs7WWvAWm3uIYnfyWFoIp+JEoX34rctVvEkMYCPGhXtvmFFXiffBbxfZsvQ0RNnV5H7GvDF5HCqQ==", + "license": "MIT", "dependencies": { - "hasown": "^2.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "lodash": "^4.17.4" } }, - "node_modules/is-decimal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz", - "integrity": "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "node_modules/json-schema-merge-allof": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/json-schema-merge-allof/-/json-schema-merge-allof-0.8.1.tgz", + "integrity": "sha512-CTUKmIlPJbsWfzRRnOXz+0MjIqvnleIXwFTzz+t9T86HnYX/Rozria6ZVGLktAU9e+NygNljveP+yxqtQp/Q4w==", + "license": "MIT", + "dependencies": { + "compute-lcm": "^1.1.2", + "json-schema-compare": "^0.2.2", + "lodash": "^4.17.20" + }, + "engines": { + "node": ">=12.0.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==", + "node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "license": "MIT" + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "license": "MIT", "bin": { - "is-docker": "cli.js" + "json5": "lib/cli.js" }, "engines": { - "node": ">=8" + "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==", + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "optionalDependencies": { + "graceful-fs": "^4.1.6" } }, - "node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "engines": { - "node": ">=0.10.0" + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "license": "MIT", + "dependencies": { + "json-buffer": "3.0.1" } }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "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==", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "engines": { - "node": ">=8" + "node_modules/klaw-sync": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/klaw-sync/-/klaw-sync-6.0.0.tgz", + "integrity": "sha512-nIeuVSzdCCs6TDPTqI8w1Yre34sSq7AkZ4B3sfOBbI2CgVSB4Du4aLQijFU2+lhAFCwt9+42Hel6lQNIv6AntQ==", + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.1.11" } }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dependencies": { - "is-extglob": "^2.1.1" - }, + "node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "node_modules/is-hexadecimal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz", - "integrity": "sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "node_modules/klona": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.6.tgz", + "integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==", + "license": "MIT", + "engines": { + "node": ">= 8" } }, - "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==", + "node_modules/latest-version": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-7.0.0.tgz", + "integrity": "sha512-KvNT4XqAMzdcL6ka6Tl3i2lYeFDgXNCuIX+xNx6ZMVR1dFq+idXd9FLKNMOIx0t9mJ9/HudyX4oZWXZQ0UJHeg==", + "license": "MIT", "dependencies": { - "global-dirs": "^3.0.0", - "is-path-inside": "^3.0.2" - }, - "engines": { - "node": ">=10" + "package-json": "^8.1.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-npm": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-6.0.0.tgz", - "integrity": "sha512-JEjxbSmtPSt1c8XTkVrlujcXdKV1/tvuQ7GwKcAlyiVLeYFQ2VHat8xfrDJsIkhCdF/tZ7CiIR3sy141c6+gPQ==", "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=14.16" }, "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-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", - "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==", - "engines": { - "node": ">=0.10.0" + "node_modules/launch-editor": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.6.1.tgz", + "integrity": "sha512-eB/uXmFVpY4zezmGp5XtU21kwo7GBbKB+EQ+UZeWtGb9yAM5xt/Evk+lYH3eRNAtId+ej4u7TYPFZ07w4s7rRw==", + "license": "MIT", + "dependencies": { + "picocolors": "^1.0.0", + "shell-quote": "^1.8.1" } }, - "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==", + "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==", + "license": "MIT", "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": "4.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", - "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", + "node_modules/lilconfig": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.1.tgz", + "integrity": "sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==", + "license": "MIT", "engines": { - "node": ">=12" + "node": ">=14" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/antonk52" } }, - "node_modules/is-plain-object": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", - "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", - "engines": { - "node": ">=0.10.0" - } + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "license": "MIT" }, - "node_modules/is-reference": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-3.0.2.tgz", - "integrity": "sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==", - "dependencies": { - "@types/estree": "*" + "node_modules/liquid-json": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/liquid-json/-/liquid-json-0.3.1.tgz", + "integrity": "sha512-wUayTU8MS827Dam6MxgD72Ui+KOSF+u/eIqpatOtjnvgJ0+mnDq33uC2M7J0tPK+upe/DpUAuK4JUU89iBoNKQ==", + "license": "Apache-2.0", + "engines": { + "node": ">=4" } }, - "node_modules/is-regexp": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", - "integrity": "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==", + "node_modules/loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=6.11.5" } }, - "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==", + "node_modules/loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "license": "MIT", + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, "engines": { - "node": ">=6" + "node": ">=8.9.0" } }, - "node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "node_modules/locate-path": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz", + "integrity": "sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==", + "license": "MIT", + "dependencies": { + "p-locate": "^6.0.0" + }, "engines": { - "node": ">=8" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "license": "MIT" }, - "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/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "license": "MIT" }, - "node_modules/is-yarn-global": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.4.1.tgz", - "integrity": "sha512-/kppl+R+LO5VmhYSEWARUFjodS25D68gvj8W7z0I7OWhUla5xWu8KL6CtB2V0R6yqhnRgbcaREMr4EEM6htLPQ==", - "engines": { - "node": ">=12" - } + "node_modules/lodash.escape": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-4.0.1.tgz", + "integrity": "sha512-nXEOnb/jK9g0DYMr1/Xvq6l5xMD7GDG55+GSYIYmS0G4tBk/hURD4JR9WCavs04t33WmJx9kCyp9vJ+mr4BOUw==", + "license": "MIT" }, - "node_modules/isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==" + "node_modules/lodash.flatten": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", + "integrity": "sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==", + "license": "MIT" }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + "node_modules/lodash.invokemap": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.invokemap/-/lodash.invokemap-4.6.0.tgz", + "integrity": "sha512-CfkycNtMqgUlfjfdh2BhKO/ZXrP8ePOX5lEU/g0R3ItJcnuxWDwokMGKx1hWcfOikmyOVx6X9IwWnDGlgKl61w==", + "license": "MIT" }, - "node_modules/isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", - "engines": { - "node": ">=0.10.0" + "node_modules/lodash.isequal": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", + "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==", + "license": "MIT" + }, + "node_modules/lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", + "license": "MIT" + }, + "node_modules/lodash.pullall": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.pullall/-/lodash.pullall-4.2.0.tgz", + "integrity": "sha512-VhqxBKH0ZxPpLhiu68YD1KnHmbhQJQctcipvmFnqIBDYzcIHzf3Zpu0tpeOKtR4x76p9yohc506eGdOjTmyIBg==", + "license": "MIT" + }, + "node_modules/lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==", + "license": "MIT" + }, + "node_modules/lodash.uniqby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.uniqby/-/lodash.uniqby-4.7.0.tgz", + "integrity": "sha512-e/zcLx6CSbmaEgFHCA7BnoQKyCtKMxnuWrJygbwPs/AIn+IMKl66L8/s+wBUn5LRw2pZx3bUHibiV1b6aTWIww==", + "license": "MIT" + }, + "node_modules/longest-streak": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz", + "integrity": "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/jackspeak": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", - "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", + "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==", + "license": "MIT", "dependencies": { - "@isaacs/cliui": "^8.0.2" + "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==", + "license": "MIT", + "dependencies": { + "tslib": "^2.0.3" + } + }, + "node_modules/lowercase-keys": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-3.0.0.tgz", + "integrity": "sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==", + "license": "MIT", "engines": { - "node": ">=14" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/isaacs" - }, - "optionalDependencies": { - "@pkgjs/parseargs": "^0.11.0" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-util": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", - "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "license": "ISC", "dependencies": { - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "yallist": "^3.0.2" } }, - "node_modules/jest-worker": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", - "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", + "node_modules/lunr": { + "version": "2.3.9", + "resolved": "https://registry.npmjs.org/lunr/-/lunr-2.3.9.tgz", + "integrity": "sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==", + "license": "MIT" + }, + "node_modules/lunr-languages": { + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/lunr-languages/-/lunr-languages-1.14.0.tgz", + "integrity": "sha512-hWUAb2KqM3L7J5bcrngszzISY4BxrXn/Xhbb9TTCJYEGqlR1nG67/M14sp09+PTIRklobrn57IAxcdcO/ZFyNA==", + "license": "MPL-1.1" + }, + "node_modules/magic-string": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", + "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", + "license": "MIT", "dependencies": { - "@types/node": "*", - "jest-util": "^29.7.0", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "sourcemap-codec": "^1.4.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" - }, + "node_modules/mark.js": { + "version": "8.11.1", + "resolved": "https://registry.npmjs.org/mark.js/-/mark.js-8.11.1.tgz", + "integrity": "sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==", + "license": "MIT" + }, + "node_modules/markdown-extensions": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/markdown-extensions/-/markdown-extensions-2.0.0.tgz", + "integrity": "sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==", + "license": "MIT", "engines": { - "node": ">=10" + "node": ">=16" }, "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jiti": { - "version": "1.21.0", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.0.tgz", - "integrity": "sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==", - "bin": { - "jiti": "bin/jiti.js" + "node_modules/markdown-table": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.3.tgz", + "integrity": "sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/joi": { - "version": "17.11.0", - "resolved": "https://registry.npmjs.org/joi/-/joi-17.11.0.tgz", - "integrity": "sha512-NgB+lZLNoqISVy1rZocE9PZI36bL/77ie924Ri43yEvi9GUUMPeyVIr8KdFTMUlby1p0PBYMk9spIxEUQYqrJQ==", + "node_modules/md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "license": "MIT", "dependencies": { - "@hapi/hoek": "^9.0.0", - "@hapi/topo": "^5.0.0", - "@sideway/address": "^4.1.3", - "@sideway/formula": "^3.0.1", - "@sideway/pinpoint": "^2.0.0" + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" } }, - "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": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "node_modules/mdast-util-definitions": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-5.1.2.tgz", + "integrity": "sha512-8SVPMuHqlPME/z3gqVwWY4zVXn8lqKv/pAhC57FuJ40ImXyBpmO5ukh98zB2v7Blql2FiHjHv9LVztSIqjY+MA==", + "license": "MIT", "dependencies": { - "argparse": "^2.0.1" + "@types/mdast": "^3.0.0", + "@types/unist": "^2.0.0", + "unist-util-visit": "^4.0.0" }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "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/mdast-util-definitions/node_modules/@types/mdast": { + "version": "3.0.15", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.15.tgz", + "integrity": "sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^2" } }, - "node_modules/json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==" - }, - "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": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + "node_modules/mdast-util-definitions/node_modules/@types/unist": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.10.tgz", + "integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==", + "license": "MIT" }, - "node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "bin": { - "json5": "lib/cli.js" + "node_modules/mdast-util-definitions/node_modules/unist-util-is": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.2.1.tgz", + "integrity": "sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0" }, - "engines": { - "node": ">=6" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "node_modules/mdast-util-definitions/node_modules/unist-util-visit": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-4.1.2.tgz", + "integrity": "sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==", + "license": "MIT", "dependencies": { - "universalify": "^2.0.0" + "@types/unist": "^2.0.0", + "unist-util-is": "^5.0.0", + "unist-util-visit-parents": "^5.1.1" }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "node_modules/mdast-util-definitions/node_modules/unist-util-visit-parents": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-5.1.3.tgz", + "integrity": "sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==", + "license": "MIT", "dependencies": { - "json-buffer": "3.0.1" + "@types/unist": "^2.0.0", + "unist-util-is": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "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/mdast-util-directive": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-directive/-/mdast-util-directive-3.0.0.tgz", + "integrity": "sha512-JUpYOqKI4mM3sZcNxmF/ox04XYFFkNwr0CFlrQIkCwbvH0xzMCqkMqAde9wRd80VAhaUrwFwKm2nxretdT1h7Q==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "parse-entities": "^4.0.0", + "stringify-entities": "^4.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/klaw-sync": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/klaw-sync/-/klaw-sync-6.0.0.tgz", - "integrity": "sha512-nIeuVSzdCCs6TDPTqI8w1Yre34sSq7AkZ4B3sfOBbI2CgVSB4Du4aLQijFU2+lhAFCwt9+42Hel6lQNIv6AntQ==", + "node_modules/mdast-util-find-and-replace": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.1.tgz", + "integrity": "sha512-SG21kZHGC3XRTSUhtofZkBzZTJNM5ecCi0SK2IMKmSXR8vO3peL+kb1O0z7Zl83jKtutG4k5Wv/W7V3/YHvzPA==", + "license": "MIT", "dependencies": { - "graceful-fs": "^4.1.11" + "@types/mdast": "^4.0.0", + "escape-string-regexp": "^5.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "node_modules/mdast-util-find-and-replace/node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "license": "MIT", "engines": { - "node": ">=6" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/latest-version": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-7.0.0.tgz", - "integrity": "sha512-KvNT4XqAMzdcL6ka6Tl3i2lYeFDgXNCuIX+xNx6ZMVR1dFq+idXd9FLKNMOIx0t9mJ9/HudyX4oZWXZQ0UJHeg==", + "node_modules/mdast-util-from-markdown": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.0.tgz", + "integrity": "sha512-n7MTOr/z+8NAX/wmhhDji8O3bRvPTV/U0oTCaZJkjhPSKTPhS3xufVhKGF8s1pJ7Ox4QgoIU7KHseh09S+9rTA==", + "license": "MIT", "dependencies": { - "package-json": "^8.1.0" - }, - "engines": { - "node": ">=14.16" + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark": "^4.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-stringify-position": "^4.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/launch-editor": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.6.1.tgz", - "integrity": "sha512-eB/uXmFVpY4zezmGp5XtU21kwo7GBbKB+EQ+UZeWtGb9yAM5xt/Evk+lYH3eRNAtId+ej4u7TYPFZ07w4s7rRw==", + "node_modules/mdast-util-from-markdown/node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/mdast-util-frontmatter": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-frontmatter/-/mdast-util-frontmatter-2.0.1.tgz", + "integrity": "sha512-LRqI9+wdgC25P0URIJY9vwocIzCcksduHQ9OF2joxQoyTNVduwLAFUzjoopuRJbJAReaKrNQKAZKL3uCMugWJA==", + "license": "MIT", "dependencies": { - "picocolors": "^1.0.0", - "shell-quote": "^1.8.1" + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "escape-string-regexp": "^5.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "micromark-extension-frontmatter": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/leven": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "node_modules/mdast-util-frontmatter/node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "license": "MIT", "engines": { - "node": ">=6" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/lilconfig": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.1.tgz", - "integrity": "sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==", - "engines": { - "node": ">=14" + "node_modules/mdast-util-gfm": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-3.0.0.tgz", + "integrity": "sha512-dgQEX5Amaq+DuUqf26jJqSK9qgixgd6rYDHAv4aTBuA92cTknZlKpPfa86Z/s8Dj8xsAQpFfBmPUHWJBWqS4Bw==", + "license": "MIT", + "dependencies": { + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-gfm-autolink-literal": "^2.0.0", + "mdast-util-gfm-footnote": "^2.0.0", + "mdast-util-gfm-strikethrough": "^2.0.0", + "mdast-util-gfm-table": "^2.0.0", + "mdast-util-gfm-task-list-item": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" }, "funding": { - "url": "https://github.com/sponsors/antonk52" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" + "node_modules/mdast-util-gfm-autolink-literal": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-2.0.0.tgz", + "integrity": "sha512-FyzMsduZZHSc3i0Px3PQcBT4WJY/X/RCtEJKuybiC6sjPqLv7h1yqAkmILZtuxMSsUyaLUWNp71+vQH2zqp5cg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "ccount": "^2.0.0", + "devlop": "^1.0.0", + "mdast-util-find-and-replace": "^3.0.0", + "micromark-util-character": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } }, - "node_modules/loader-runner": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", - "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", - "engines": { - "node": ">=6.11.5" + "node_modules/mdast-util-gfm-autolink-literal/node_modules/micromark-util-character": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.0.1.tgz", + "integrity": "sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, - "node_modules/loader-utils": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", - "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "node_modules/mdast-util-gfm-autolink-literal/node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/mdast-util-gfm-footnote": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-2.0.0.tgz", + "integrity": "sha512-5jOT2boTSVkMnQ7LTrd6n/18kqwjmuYqo7JUPe+tRCY6O7dAuTFMtTPauYYrMPpox9hlN0uOx/FL8XvEfG9/mQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.1.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-strikethrough": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-2.0.0.tgz", + "integrity": "sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==", + "license": "MIT", "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" + "@types/mdast": "^4.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" }, - "engines": { - "node": ">=8.9.0" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/locate-path": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz", - "integrity": "sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==", + "node_modules/mdast-util-gfm-table": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-2.0.0.tgz", + "integrity": "sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==", + "license": "MIT", "dependencies": { - "p-locate": "^6.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "markdown-table": "^3.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "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.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" - }, - "node_modules/lodash.escape": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-4.0.1.tgz", - "integrity": "sha512-nXEOnb/jK9g0DYMr1/Xvq6l5xMD7GDG55+GSYIYmS0G4tBk/hURD4JR9WCavs04t33WmJx9kCyp9vJ+mr4BOUw==" - }, - "node_modules/lodash.flatten": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", - "integrity": "sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==" - }, - "node_modules/lodash.invokemap": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.invokemap/-/lodash.invokemap-4.6.0.tgz", - "integrity": "sha512-CfkycNtMqgUlfjfdh2BhKO/ZXrP8ePOX5lEU/g0R3ItJcnuxWDwokMGKx1hWcfOikmyOVx6X9IwWnDGlgKl61w==" - }, - "node_modules/lodash.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==" - }, - "node_modules/lodash.pullall": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.pullall/-/lodash.pullall-4.2.0.tgz", - "integrity": "sha512-VhqxBKH0ZxPpLhiu68YD1KnHmbhQJQctcipvmFnqIBDYzcIHzf3Zpu0tpeOKtR4x76p9yohc506eGdOjTmyIBg==" - }, - "node_modules/lodash.uniq": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", - "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==" - }, - "node_modules/lodash.uniqby": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/lodash.uniqby/-/lodash.uniqby-4.7.0.tgz", - "integrity": "sha512-e/zcLx6CSbmaEgFHCA7BnoQKyCtKMxnuWrJygbwPs/AIn+IMKl66L8/s+wBUn5LRw2pZx3bUHibiV1b6aTWIww==" - }, - "node_modules/longest-streak": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz", - "integrity": "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==", + "node_modules/mdast-util-gfm-task-list-item": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-2.0.0.tgz", + "integrity": "sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "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==", + "node_modules/mdast-util-mdx": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-mdx/-/mdast-util-mdx-3.0.0.tgz", + "integrity": "sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w==", + "license": "MIT", "dependencies": { - "js-tokens": "^3.0.0 || ^4.0.0" + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-mdx-expression": "^2.0.0", + "mdast-util-mdx-jsx": "^3.0.0", + "mdast-util-mdxjs-esm": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" }, - "bin": { - "loose-envify": "cli.js" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "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==", + "node_modules/mdast-util-mdx-expression": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-2.0.0.tgz", + "integrity": "sha512-fGCu8eWdKUKNu5mohVGkhBXCXGnOTLuFqOvGMvdikr+J1w7lDJgxThOKpwRWzzbyXAU2hhSwsmssOY4yTokluw==", + "license": "MIT", "dependencies": { - "tslib": "^2.0.3" + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/lowercase-keys": { + "node_modules/mdast-util-mdx-jsx": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-3.0.0.tgz", - "integrity": "sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "resolved": "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-3.0.0.tgz", + "integrity": "sha512-XZuPPzQNBPAlaqsTTgRrcJnyFbSOBovSadFgbFu8SnuNgm+6Bdx1K+IWoitsmj6Lq6MNtI+ytOqwN70n//NaBA==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "ccount": "^2.0.0", + "devlop": "^1.1.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "parse-entities": "^4.0.0", + "stringify-entities": "^4.0.0", + "unist-util-remove-position": "^5.0.0", + "unist-util-stringify-position": "^4.0.0", + "vfile-message": "^4.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "node_modules/mdast-util-mdxjs-esm": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-2.0.1.tgz", + "integrity": "sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==", + "license": "MIT", "dependencies": { - "yallist": "^3.0.2" + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/lunr": { - "version": "2.3.9", - "resolved": "https://registry.npmjs.org/lunr/-/lunr-2.3.9.tgz", - "integrity": "sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==" - }, - "node_modules/lunr-languages": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/lunr-languages/-/lunr-languages-1.14.0.tgz", - "integrity": "sha512-hWUAb2KqM3L7J5bcrngszzISY4BxrXn/Xhbb9TTCJYEGqlR1nG67/M14sp09+PTIRklobrn57IAxcdcO/ZFyNA==" - }, - "node_modules/magic-string": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", - "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", + "node_modules/mdast-util-phrasing": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.0.0.tgz", + "integrity": "sha512-xadSsJayQIucJ9n053dfQwVu1kuXg7jCTdYsMK8rqzKZh52nLfSH/k0sAxE0u+pj/zKZX+o5wB+ML5mRayOxFA==", + "license": "MIT", "dependencies": { - "sourcemap-codec": "^1.4.8" - } - }, - "node_modules/mark.js": { - "version": "8.11.1", - "resolved": "https://registry.npmjs.org/mark.js/-/mark.js-8.11.1.tgz", - "integrity": "sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==" - }, - "node_modules/markdown-extensions": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/markdown-extensions/-/markdown-extensions-2.0.0.tgz", - "integrity": "sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==", - "engines": { - "node": ">=16" + "@types/mdast": "^4.0.0", + "unist-util-is": "^6.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/markdown-table": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.3.tgz", - "integrity": "sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==", + "node_modules/mdast-util-to-hast": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.0.2.tgz", + "integrity": "sha512-U5I+500EOOw9e3ZrclN3Is3fRpw8c19SMyNZlZ2IS+7vLsNzb2Om11VpIVOR+/0137GhZsFEF6YiKD5+0Hr2Og==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@ungap/structured-clone": "^1.0.0", + "devlop": "^1.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "trim-lines": "^3.0.0", + "unist-util-position": "^5.0.0", + "unist-util-visit": "^5.0.0" + }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/mdast-util-directive": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-directive/-/mdast-util-directive-3.0.0.tgz", - "integrity": "sha512-JUpYOqKI4mM3sZcNxmF/ox04XYFFkNwr0CFlrQIkCwbvH0xzMCqkMqAde9wRd80VAhaUrwFwKm2nxretdT1h7Q==", + "node_modules/mdast-util-to-markdown": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.0.tgz", + "integrity": "sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ==", + "license": "MIT", "dependencies": { "@types/mdast": "^4.0.0", "@types/unist": "^3.0.0", - "devlop": "^1.0.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0", - "parse-entities": "^4.0.0", - "stringify-entities": "^4.0.0", - "unist-util-visit-parents": "^6.0.0" + "longest-streak": "^3.0.0", + "mdast-util-phrasing": "^4.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark-util-decode-string": "^2.0.0", + "unist-util-visit": "^5.0.0", + "zwitch": "^2.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" } }, - "node_modules/mdast-util-find-and-replace": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.1.tgz", - "integrity": "sha512-SG21kZHGC3XRTSUhtofZkBzZTJNM5ecCi0SK2IMKmSXR8vO3peL+kb1O0z7Zl83jKtutG4k5Wv/W7V3/YHvzPA==", - "dependencies": { - "@types/mdast": "^4.0.0", - "escape-string-regexp": "^5.0.0", - "unist-util-is": "^6.0.0", - "unist-util-visit-parents": "^6.0.0" + "node_modules/mdast-util-to-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz", + "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" } }, - "node_modules/mdast-util-find-and-replace/node_modules/escape-string-regexp": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", - "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "node_modules/mdn-data": { + "version": "2.0.30", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", + "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==", + "license": "CC0-1.0" + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "license": "MIT", "engines": { - "node": ">=12" + "node": ">= 0.6" + } + }, + "node_modules/medium-zoom": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/medium-zoom/-/medium-zoom-1.0.8.tgz", + "integrity": "sha512-CjFVuFq/IfrdqesAXfg+hzlDKu6A2n80ZIq0Kl9kWjoHh9j1N9Uvk5X0/MmN0hOfm5F9YBswlClhcwnmtwz7gA==", + "license": "MIT" + }, + "node_modules/memfs": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz", + "integrity": "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==", + "license": "Unlicense", + "dependencies": { + "fs-monkey": "^1.0.4" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">= 4.0.0" } }, - "node_modules/mdast-util-from-markdown": { + "node_modules/merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==", + "license": "MIT" + }, + "node_modules/merge-stream": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.0.tgz", - "integrity": "sha512-n7MTOr/z+8NAX/wmhhDji8O3bRvPTV/U0oTCaZJkjhPSKTPhS3xufVhKGF8s1pJ7Ox4QgoIU7KHseh09S+9rTA==", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "license": "MIT" + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/micromark": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.0.tgz", + "integrity": "sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", "dependencies": { - "@types/mdast": "^4.0.0", - "@types/unist": "^3.0.0", + "@types/debug": "^4.0.0", + "debug": "^4.0.0", "decode-named-character-reference": "^1.0.0", "devlop": "^1.0.0", - "mdast-util-to-string": "^4.0.0", - "micromark": "^4.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", "micromark-util-decode-numeric-character-reference": "^2.0.0", - "micromark-util-decode-string": "^2.0.0", + "micromark-util-encode": "^2.0.0", "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0", - "unist-util-stringify-position": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "micromark-util-types": "^2.0.0" } }, - "node_modules/mdast-util-from-markdown/node_modules/micromark-util-symbol": { + "node_modules/micromark-core-commonmark": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.0.tgz", + "integrity": "sha512-jThOz/pVmAYUtkroV3D5c1osFXAMv9e0ypGDOIZuCeAe91/sD6BoE2Sjzt30yuXtwOYUmySOhMas/PVyh02itA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-factory-destination": "^2.0.0", + "micromark-factory-label": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-factory-title": "^2.0.0", + "micromark-factory-whitespace": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-html-tag-name": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-core-commonmark/node_modules/micromark-factory-space": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.0.tgz", + "integrity": "sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-core-commonmark/node_modules/micromark-util-character": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.0.1.tgz", + "integrity": "sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-core-commonmark/node_modules/micromark-util-symbol": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", @@ -9165,71 +11902,101 @@ "type": "OpenCollective", "url": "https://opencollective.com/unified" } - ] + ], + "license": "MIT" }, - "node_modules/mdast-util-frontmatter": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/mdast-util-frontmatter/-/mdast-util-frontmatter-2.0.1.tgz", - "integrity": "sha512-LRqI9+wdgC25P0URIJY9vwocIzCcksduHQ9OF2joxQoyTNVduwLAFUzjoopuRJbJAReaKrNQKAZKL3uCMugWJA==", + "node_modules/micromark-extension-directive": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-directive/-/micromark-extension-directive-3.0.0.tgz", + "integrity": "sha512-61OI07qpQrERc+0wEysLHMvoiO3s2R56x5u7glHq2Yqq6EHbH4dW25G9GfDdGCDYqA21KE6DWgNSzxSwHc2hSg==", + "license": "MIT", "dependencies": { - "@types/mdast": "^4.0.0", "devlop": "^1.0.0", - "escape-string-regexp": "^5.0.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0", - "micromark-extension-frontmatter": "^2.0.0" + "micromark-factory-space": "^2.0.0", + "micromark-factory-whitespace": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "parse-entities": "^4.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" } }, - "node_modules/mdast-util-frontmatter/node_modules/escape-string-regexp": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", - "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node_modules/micromark-extension-directive/node_modules/micromark-factory-space": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.0.tgz", + "integrity": "sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, - "node_modules/mdast-util-gfm": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-3.0.0.tgz", - "integrity": "sha512-dgQEX5Amaq+DuUqf26jJqSK9qgixgd6rYDHAv4aTBuA92cTknZlKpPfa86Z/s8Dj8xsAQpFfBmPUHWJBWqS4Bw==", + "node_modules/micromark-extension-directive/node_modules/micromark-util-character": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.0.1.tgz", + "integrity": "sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", "dependencies": { - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-gfm-autolink-literal": "^2.0.0", - "mdast-util-gfm-footnote": "^2.0.0", - "mdast-util-gfm-strikethrough": "^2.0.0", - "mdast-util-gfm-table": "^2.0.0", - "mdast-util-gfm-task-list-item": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, - "node_modules/mdast-util-gfm-autolink-literal": { + "node_modules/micromark-extension-directive/node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-extension-frontmatter": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-2.0.0.tgz", - "integrity": "sha512-FyzMsduZZHSc3i0Px3PQcBT4WJY/X/RCtEJKuybiC6sjPqLv7h1yqAkmILZtuxMSsUyaLUWNp71+vQH2zqp5cg==", + "resolved": "https://registry.npmjs.org/micromark-extension-frontmatter/-/micromark-extension-frontmatter-2.0.0.tgz", + "integrity": "sha512-C4AkuM3dA58cgZha7zVnuVxBhDsbttIMiytjgsM2XbHAB2faRVaHRle40558FBN+DJcrLNCoqG5mlrpdU4cRtg==", + "license": "MIT", "dependencies": { - "@types/mdast": "^4.0.0", - "ccount": "^2.0.0", - "devlop": "^1.0.0", - "mdast-util-find-and-replace": "^3.0.0", - "micromark-util-character": "^2.0.0" + "fault": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" } }, - "node_modules/mdast-util-gfm-autolink-literal/node_modules/micromark-util-character": { + "node_modules/micromark-extension-frontmatter/node_modules/micromark-util-character": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.0.1.tgz", "integrity": "sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==", @@ -9243,12 +12010,13 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, - "node_modules/mdast-util-gfm-autolink-literal/node_modules/micromark-util-symbol": { + "node_modules/micromark-extension-frontmatter/node_modules/micromark-util-symbol": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", @@ -9261,265 +12029,232 @@ "type": "OpenCollective", "url": "https://opencollective.com/unified" } - ] + ], + "license": "MIT" }, - "node_modules/mdast-util-gfm-footnote": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-2.0.0.tgz", - "integrity": "sha512-5jOT2boTSVkMnQ7LTrd6n/18kqwjmuYqo7JUPe+tRCY6O7dAuTFMtTPauYYrMPpox9hlN0uOx/FL8XvEfG9/mQ==", + "node_modules/micromark-extension-gfm": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-3.0.0.tgz", + "integrity": "sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==", + "license": "MIT", "dependencies": { - "@types/mdast": "^4.0.0", - "devlop": "^1.1.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0", - "micromark-util-normalize-identifier": "^2.0.0" + "micromark-extension-gfm-autolink-literal": "^2.0.0", + "micromark-extension-gfm-footnote": "^2.0.0", + "micromark-extension-gfm-strikethrough": "^2.0.0", + "micromark-extension-gfm-table": "^2.0.0", + "micromark-extension-gfm-tagfilter": "^2.0.0", + "micromark-extension-gfm-task-list-item": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-types": "^2.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" } }, - "node_modules/mdast-util-gfm-strikethrough": { + "node_modules/micromark-extension-gfm-autolink-literal": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-2.0.0.tgz", - "integrity": "sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.0.0.tgz", + "integrity": "sha512-rTHfnpt/Q7dEAK1Y5ii0W8bhfJlVJFnJMHIPisfPK3gpVNuOP0VnRl96+YJ3RYWV/P4gFeQoGKNlT3RhuvpqAg==", + "license": "MIT", "dependencies": { - "@types/mdast": "^4.0.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0" + "micromark-util-character": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" } }, - "node_modules/mdast-util-gfm-table": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-2.0.0.tgz", - "integrity": "sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==", + "node_modules/micromark-extension-gfm-autolink-literal/node_modules/micromark-util-character": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.0.1.tgz", + "integrity": "sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", "dependencies": { - "@types/mdast": "^4.0.0", - "devlop": "^1.0.0", - "markdown-table": "^3.0.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, - "node_modules/mdast-util-gfm-task-list-item": { + "node_modules/micromark-extension-gfm-autolink-literal/node_modules/micromark-util-symbol": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-2.0.0.tgz", - "integrity": "sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==", - "dependencies": { - "@types/mdast": "^4.0.0", - "devlop": "^1.0.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-mdx": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-mdx/-/mdast-util-mdx-3.0.0.tgz", - "integrity": "sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w==", - "dependencies": { - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-mdx-expression": "^2.0.0", - "mdast-util-mdx-jsx": "^3.0.0", - "mdast-util-mdxjs-esm": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" }, - "node_modules/mdast-util-mdx-expression": { + "node_modules/micromark-extension-gfm-footnote": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-2.0.0.tgz", - "integrity": "sha512-fGCu8eWdKUKNu5mohVGkhBXCXGnOTLuFqOvGMvdikr+J1w7lDJgxThOKpwRWzzbyXAU2hhSwsmssOY4yTokluw==", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-2.0.0.tgz", + "integrity": "sha512-6Rzu0CYRKDv3BfLAUnZsSlzx3ak6HAoI85KTiijuKIz5UxZxbUI+pD6oHgw+6UtQuiRwnGRhzMmPRv4smcz0fg==", + "license": "MIT", "dependencies": { - "@types/estree-jsx": "^1.0.0", - "@types/hast": "^3.0.0", - "@types/mdast": "^4.0.0", "devlop": "^1.0.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0" + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" } }, - "node_modules/mdast-util-mdx-jsx": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-3.0.0.tgz", - "integrity": "sha512-XZuPPzQNBPAlaqsTTgRrcJnyFbSOBovSadFgbFu8SnuNgm+6Bdx1K+IWoitsmj6Lq6MNtI+ytOqwN70n//NaBA==", + "node_modules/micromark-extension-gfm-footnote/node_modules/micromark-factory-space": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.0.tgz", + "integrity": "sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", "dependencies": { - "@types/estree-jsx": "^1.0.0", - "@types/hast": "^3.0.0", - "@types/mdast": "^4.0.0", - "@types/unist": "^3.0.0", - "ccount": "^2.0.0", - "devlop": "^1.1.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0", - "parse-entities": "^4.0.0", - "stringify-entities": "^4.0.0", - "unist-util-remove-position": "^5.0.0", - "unist-util-stringify-position": "^4.0.0", - "vfile-message": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, - "node_modules/mdast-util-mdxjs-esm": { + "node_modules/micromark-extension-gfm-footnote/node_modules/micromark-util-character": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-2.0.1.tgz", - "integrity": "sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==", - "dependencies": { - "@types/estree-jsx": "^1.0.0", - "@types/hast": "^3.0.0", - "@types/mdast": "^4.0.0", - "devlop": "^1.0.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-phrasing": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.0.0.tgz", - "integrity": "sha512-xadSsJayQIucJ9n053dfQwVu1kuXg7jCTdYsMK8rqzKZh52nLfSH/k0sAxE0u+pj/zKZX+o5wB+ML5mRayOxFA==", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.0.1.tgz", + "integrity": "sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", "dependencies": { - "@types/mdast": "^4.0.0", - "unist-util-is": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, - "node_modules/mdast-util-to-hast": { - "version": "13.0.2", - "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.0.2.tgz", - "integrity": "sha512-U5I+500EOOw9e3ZrclN3Is3fRpw8c19SMyNZlZ2IS+7vLsNzb2Om11VpIVOR+/0137GhZsFEF6YiKD5+0Hr2Og==", - "dependencies": { - "@types/hast": "^3.0.0", - "@types/mdast": "^4.0.0", - "@ungap/structured-clone": "^1.0.0", - "devlop": "^1.0.0", - "micromark-util-sanitize-uri": "^2.0.0", - "trim-lines": "^3.0.0", - "unist-util-position": "^5.0.0", - "unist-util-visit": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } + "node_modules/micromark-extension-gfm-footnote/node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" }, - "node_modules/mdast-util-to-markdown": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.0.tgz", - "integrity": "sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ==", + "node_modules/micromark-extension-gfm-strikethrough": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-2.0.0.tgz", + "integrity": "sha512-c3BR1ClMp5fxxmwP6AoOY2fXO9U8uFMKs4ADD66ahLTNcwzSCyRVU4k7LPV5Nxo/VJiR4TdzxRQY2v3qIUceCw==", + "license": "MIT", "dependencies": { - "@types/mdast": "^4.0.0", - "@types/unist": "^3.0.0", - "longest-streak": "^3.0.0", - "mdast-util-phrasing": "^4.0.0", - "mdast-util-to-string": "^4.0.0", - "micromark-util-decode-string": "^2.0.0", - "unist-util-visit": "^5.0.0", - "zwitch": "^2.0.0" + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" } }, - "node_modules/mdast-util-to-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz", - "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==", + "node_modules/micromark-extension-gfm-strikethrough/node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-extension-gfm-table": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.0.0.tgz", + "integrity": "sha512-PoHlhypg1ItIucOaHmKE8fbin3vTLpDOUg8KAr8gRCF1MOZI9Nquq2i/44wFvviM4WuxJzc3demT8Y3dkfvYrw==", + "license": "MIT", "dependencies": { - "@types/mdast": "^4.0.0" + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" } }, - "node_modules/mdn-data": { - "version": "2.0.30", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", - "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==" - }, - "node_modules/media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/medium-zoom": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/medium-zoom/-/medium-zoom-1.0.8.tgz", - "integrity": "sha512-CjFVuFq/IfrdqesAXfg+hzlDKu6A2n80ZIq0Kl9kWjoHh9j1N9Uvk5X0/MmN0hOfm5F9YBswlClhcwnmtwz7gA==" - }, - "node_modules/memfs": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz", - "integrity": "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==", - "dependencies": { - "fs-monkey": "^1.0.4" - }, - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" - }, - "node_modules/merge-stream": { + "node_modules/micromark-extension-gfm-table/node_modules/micromark-factory-space": { "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": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", - "engines": { - "node": ">= 0.6" + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.0.tgz", + "integrity": "sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, - "node_modules/micromark": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.0.tgz", - "integrity": "sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==", + "node_modules/micromark-extension-gfm-table/node_modules/micromark-util-character": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.0.1.tgz", + "integrity": "sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==", "funding": [ { "type": "GitHub Sponsors", @@ -9530,30 +12265,16 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { - "@types/debug": "^4.0.0", - "debug": "^4.0.0", - "decode-named-character-reference": "^1.0.0", - "devlop": "^1.0.0", - "micromark-core-commonmark": "^2.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-chunked": "^2.0.0", - "micromark-util-combine-extensions": "^2.0.0", - "micromark-util-decode-numeric-character-reference": "^2.0.0", - "micromark-util-encode": "^2.0.0", - "micromark-util-normalize-identifier": "^2.0.0", - "micromark-util-resolve-all": "^2.0.0", - "micromark-util-sanitize-uri": "^2.0.0", - "micromark-util-subtokenize": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, - "node_modules/micromark-core-commonmark": { + "node_modules/micromark-extension-gfm-table/node_modules/micromark-util-symbol": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.0.tgz", - "integrity": "sha512-jThOz/pVmAYUtkroV3D5c1osFXAMv9e0ypGDOIZuCeAe91/sD6BoE2Sjzt30yuXtwOYUmySOhMas/PVyh02itA==", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", "funding": [ { "type": "GitHub Sponsors", @@ -9564,26 +12285,39 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT" + }, + "node_modules/micromark-extension-gfm-tagfilter": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-2.0.0.tgz", + "integrity": "sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==", + "license": "MIT", + "dependencies": { + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-task-list-item": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-2.0.1.tgz", + "integrity": "sha512-cY5PzGcnULaN5O7T+cOzfMoHjBW7j+T9D2sucA5d/KbsBTPcYdebm9zUd9zzdgJGCwahV+/W78Z3nbulBYVbTw==", + "license": "MIT", "dependencies": { - "decode-named-character-reference": "^1.0.0", "devlop": "^1.0.0", - "micromark-factory-destination": "^2.0.0", - "micromark-factory-label": "^2.0.0", "micromark-factory-space": "^2.0.0", - "micromark-factory-title": "^2.0.0", - "micromark-factory-whitespace": "^2.0.0", "micromark-util-character": "^2.0.0", - "micromark-util-chunked": "^2.0.0", - "micromark-util-classify-character": "^2.0.0", - "micromark-util-html-tag-name": "^2.0.0", - "micromark-util-normalize-identifier": "^2.0.0", - "micromark-util-resolve-all": "^2.0.0", - "micromark-util-subtokenize": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/micromark-core-commonmark/node_modules/micromark-factory-space": { + "node_modules/micromark-extension-gfm-task-list-item/node_modules/micromark-factory-space": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.0.tgz", "integrity": "sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==", @@ -9597,12 +12331,13 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { "micromark-util-character": "^2.0.0", "micromark-util-types": "^2.0.0" } }, - "node_modules/micromark-core-commonmark/node_modules/micromark-util-character": { + "node_modules/micromark-extension-gfm-task-list-item/node_modules/micromark-util-character": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.0.1.tgz", "integrity": "sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==", @@ -9616,12 +12351,13 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, - "node_modules/micromark-core-commonmark/node_modules/micromark-util-symbol": { + "node_modules/micromark-extension-gfm-task-list-item/node_modules/micromark-util-symbol": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", @@ -9634,27 +12370,36 @@ "type": "OpenCollective", "url": "https://opencollective.com/unified" } - ] + ], + "license": "MIT" }, - "node_modules/micromark-extension-directive": { + "node_modules/micromark-extension-mdx-expression": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-directive/-/micromark-extension-directive-3.0.0.tgz", - "integrity": "sha512-61OI07qpQrERc+0wEysLHMvoiO3s2R56x5u7glHq2Yqq6EHbH4dW25G9GfDdGCDYqA21KE6DWgNSzxSwHc2hSg==", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-3.0.0.tgz", + "integrity": "sha512-sI0nwhUDz97xyzqJAbHQhp5TfaxEvZZZ2JDqUo+7NvyIYG6BZ5CPPqj2ogUoPJlmXHBnyZUzISg9+oUmU6tUjQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", "dependencies": { + "@types/estree": "^1.0.0", "devlop": "^1.0.0", + "micromark-factory-mdx-expression": "^2.0.0", "micromark-factory-space": "^2.0.0", - "micromark-factory-whitespace": "^2.0.0", "micromark-util-character": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0", - "parse-entities": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "micromark-util-types": "^2.0.0" } }, - "node_modules/micromark-extension-directive/node_modules/micromark-factory-space": { + "node_modules/micromark-extension-mdx-expression/node_modules/micromark-factory-space": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.0.tgz", "integrity": "sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==", @@ -9668,12 +12413,13 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { "micromark-util-character": "^2.0.0", "micromark-util-types": "^2.0.0" } }, - "node_modules/micromark-extension-directive/node_modules/micromark-util-character": { + "node_modules/micromark-extension-mdx-expression/node_modules/micromark-util-character": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.0.1.tgz", "integrity": "sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==", @@ -9687,12 +12433,13 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, - "node_modules/micromark-extension-directive/node_modules/micromark-util-symbol": { + "node_modules/micromark-extension-mdx-expression/node_modules/micromark-util-symbol": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", @@ -9705,24 +12452,52 @@ "type": "OpenCollective", "url": "https://opencollective.com/unified" } - ] + ], + "license": "MIT" }, - "node_modules/micromark-extension-frontmatter": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-frontmatter/-/micromark-extension-frontmatter-2.0.0.tgz", - "integrity": "sha512-C4AkuM3dA58cgZha7zVnuVxBhDsbttIMiytjgsM2XbHAB2faRVaHRle40558FBN+DJcrLNCoqG5mlrpdU4cRtg==", + "node_modules/micromark-extension-mdx-jsx": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-3.0.0.tgz", + "integrity": "sha512-uvhhss8OGuzR4/N17L1JwvmJIpPhAd8oByMawEKx6NVdBCbesjH4t+vjEp3ZXft9DwvlKSD07fCeI44/N0Vf2w==", + "license": "MIT", "dependencies": { - "fault": "^2.0.0", + "@types/acorn": "^4.0.0", + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "micromark-factory-mdx-expression": "^2.0.0", + "micromark-factory-space": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" + "micromark-util-types": "^2.0.0", + "vfile-message": "^4.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" } }, - "node_modules/micromark-extension-frontmatter/node_modules/micromark-util-character": { + "node_modules/micromark-extension-mdx-jsx/node_modules/micromark-factory-space": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.0.tgz", + "integrity": "sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-mdx-jsx/node_modules/micromark-util-character": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.0.1.tgz", "integrity": "sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==", @@ -9736,12 +12511,13 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, - "node_modules/micromark-extension-frontmatter/node_modules/micromark-util-symbol": { + "node_modules/micromark-extension-mdx-jsx/node_modules/micromark-util-symbol": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", @@ -9754,19 +12530,34 @@ "type": "OpenCollective", "url": "https://opencollective.com/unified" } - ] + ], + "license": "MIT" }, - "node_modules/micromark-extension-gfm": { + "node_modules/micromark-extension-mdx-md": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-md/-/micromark-extension-mdx-md-2.0.0.tgz", + "integrity": "sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ==", + "license": "MIT", + "dependencies": { + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdxjs": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-3.0.0.tgz", - "integrity": "sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==", + "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs/-/micromark-extension-mdxjs-3.0.0.tgz", + "integrity": "sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ==", + "license": "MIT", "dependencies": { - "micromark-extension-gfm-autolink-literal": "^2.0.0", - "micromark-extension-gfm-footnote": "^2.0.0", - "micromark-extension-gfm-strikethrough": "^2.0.0", - "micromark-extension-gfm-table": "^2.0.0", - "micromark-extension-gfm-tagfilter": "^2.0.0", - "micromark-extension-gfm-task-list-item": "^2.0.0", + "acorn": "^8.0.0", + "acorn-jsx": "^5.0.0", + "micromark-extension-mdx-expression": "^3.0.0", + "micromark-extension-mdx-jsx": "^3.0.0", + "micromark-extension-mdx-md": "^2.0.0", + "micromark-extension-mdxjs-esm": "^3.0.0", "micromark-util-combine-extensions": "^2.0.0", "micromark-util-types": "^2.0.0" }, @@ -9775,22 +12566,28 @@ "url": "https://opencollective.com/unified" } }, - "node_modules/micromark-extension-gfm-autolink-literal": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.0.0.tgz", - "integrity": "sha512-rTHfnpt/Q7dEAK1Y5ii0W8bhfJlVJFnJMHIPisfPK3gpVNuOP0VnRl96+YJ3RYWV/P4gFeQoGKNlT3RhuvpqAg==", + "node_modules/micromark-extension-mdxjs-esm": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs-esm/-/micromark-extension-mdxjs-esm-3.0.0.tgz", + "integrity": "sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A==", + "license": "MIT", "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", "micromark-util-character": "^2.0.0", - "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" + "micromark-util-types": "^2.0.0", + "unist-util-position-from-estree": "^2.0.0", + "vfile-message": "^4.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" } }, - "node_modules/micromark-extension-gfm-autolink-literal/node_modules/micromark-util-character": { + "node_modules/micromark-extension-mdxjs-esm/node_modules/micromark-util-character": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.0.1.tgz", "integrity": "sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==", @@ -9804,12 +12601,13 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, - "node_modules/micromark-extension-gfm-autolink-literal/node_modules/micromark-util-symbol": { + "node_modules/micromark-extension-mdxjs-esm/node_modules/micromark-util-symbol": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", @@ -9822,31 +12620,25 @@ "type": "OpenCollective", "url": "https://opencollective.com/unified" } - ] + ], + "license": "MIT" }, - "node_modules/micromark-extension-gfm-footnote": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-2.0.0.tgz", - "integrity": "sha512-6Rzu0CYRKDv3BfLAUnZsSlzx3ak6HAoI85KTiijuKIz5UxZxbUI+pD6oHgw+6UtQuiRwnGRhzMmPRv4smcz0fg==", - "dependencies": { - "devlop": "^1.0.0", - "micromark-core-commonmark": "^2.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-normalize-identifier": "^2.0.0", - "micromark-util-sanitize-uri": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" + "node_modules/micromark-extension-mdxjs/node_modules/acorn": { + "version": "8.11.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz", + "integrity": "sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==", + "license": "MIT", + "bin": { + "acorn": "bin/acorn" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": ">=0.4.0" } }, - "node_modules/micromark-extension-gfm-footnote/node_modules/micromark-factory-space": { + "node_modules/micromark-factory-destination": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.0.tgz", - "integrity": "sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==", + "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.0.tgz", + "integrity": "sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA==", "funding": [ { "type": "GitHub Sponsors", @@ -9857,12 +12649,14 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, - "node_modules/micromark-extension-gfm-footnote/node_modules/micromark-util-character": { + "node_modules/micromark-factory-destination/node_modules/micromark-util-character": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.0.1.tgz", "integrity": "sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==", @@ -9876,12 +12670,13 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, - "node_modules/micromark-extension-gfm-footnote/node_modules/micromark-util-symbol": { + "node_modules/micromark-factory-destination/node_modules/micromark-util-symbol": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", @@ -9894,29 +12689,35 @@ "type": "OpenCollective", "url": "https://opencollective.com/unified" } - ] + ], + "license": "MIT" }, - "node_modules/micromark-extension-gfm-strikethrough": { + "node_modules/micromark-factory-label": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-2.0.0.tgz", - "integrity": "sha512-c3BR1ClMp5fxxmwP6AoOY2fXO9U8uFMKs4ADD66ahLTNcwzSCyRVU4k7LPV5Nxo/VJiR4TdzxRQY2v3qIUceCw==", + "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.0.tgz", + "integrity": "sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", "dependencies": { "devlop": "^1.0.0", - "micromark-util-chunked": "^2.0.0", - "micromark-util-classify-character": "^2.0.0", - "micromark-util-resolve-all": "^2.0.0", + "micromark-util-character": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" } }, - "node_modules/micromark-extension-gfm-strikethrough/node_modules/micromark-util-symbol": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", - "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "node_modules/micromark-factory-label/node_modules/micromark-util-character": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.0.1.tgz", + "integrity": "sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==", "funding": [ { "type": "GitHub Sponsors", @@ -9926,28 +12727,17 @@ "type": "OpenCollective", "url": "https://opencollective.com/unified" } - ] - }, - "node_modules/micromark-extension-gfm-table": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.0.0.tgz", - "integrity": "sha512-PoHlhypg1ItIucOaHmKE8fbin3vTLpDOUg8KAr8gRCF1MOZI9Nquq2i/44wFvviM4WuxJzc3demT8Y3dkfvYrw==", + ], + "license": "MIT", "dependencies": { - "devlop": "^1.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" } }, - "node_modules/micromark-extension-gfm-table/node_modules/micromark-factory-space": { + "node_modules/micromark-factory-label/node_modules/micromark-util-symbol": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.0.tgz", - "integrity": "sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", "funding": [ { "type": "GitHub Sponsors", @@ -9958,15 +12748,12 @@ "url": "https://opencollective.com/unified" } ], - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-types": "^2.0.0" - } + "license": "MIT" }, - "node_modules/micromark-extension-gfm-table/node_modules/micromark-util-character": { + "node_modules/micromark-factory-mdx-expression": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.0.1.tgz", - "integrity": "sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==", + "resolved": "https://registry.npmjs.org/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-2.0.1.tgz", + "integrity": "sha512-F0ccWIUHRLRrYp5TC9ZYXmZo+p2AM13ggbsW4T0b5CRKP8KHVRB8t4pwtBgTxtjRmwrK0Irwm7vs2JOZabHZfg==", "funding": [ { "type": "GitHub Sponsors", @@ -9977,15 +12764,22 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" + "micromark-util-types": "^2.0.0", + "unist-util-position-from-estree": "^2.0.0", + "vfile-message": "^4.0.0" } }, - "node_modules/micromark-extension-gfm-table/node_modules/micromark-util-symbol": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", - "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "node_modules/micromark-factory-mdx-expression/node_modules/micromark-util-character": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.0.1.tgz", + "integrity": "sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==", "funding": [ { "type": "GitHub Sponsors", @@ -9995,40 +12789,17 @@ "type": "OpenCollective", "url": "https://opencollective.com/unified" } - ] - }, - "node_modules/micromark-extension-gfm-tagfilter": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-2.0.0.tgz", - "integrity": "sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==", - "dependencies": { - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm-task-list-item": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-2.0.1.tgz", - "integrity": "sha512-cY5PzGcnULaN5O7T+cOzfMoHjBW7j+T9D2sucA5d/KbsBTPcYdebm9zUd9zzdgJGCwahV+/W78Z3nbulBYVbTw==", + ], + "license": "MIT", "dependencies": { - "devlop": "^1.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" } }, - "node_modules/micromark-extension-gfm-task-list-item/node_modules/micromark-factory-space": { + "node_modules/micromark-factory-mdx-expression/node_modules/micromark-util-symbol": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.0.tgz", - "integrity": "sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", "funding": [ { "type": "GitHub Sponsors", @@ -10039,15 +12810,12 @@ "url": "https://opencollective.com/unified" } ], - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-types": "^2.0.0" - } + "license": "MIT" }, - "node_modules/micromark-extension-gfm-task-list-item/node_modules/micromark-util-character": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.0.1.tgz", - "integrity": "sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==", + "node_modules/micromark-factory-space": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-1.1.0.tgz", + "integrity": "sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ==", "funding": [ { "type": "GitHub Sponsors", @@ -10058,15 +12826,16 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" + "micromark-util-character": "^1.0.0", + "micromark-util-types": "^1.0.0" } }, - "node_modules/micromark-extension-gfm-task-list-item/node_modules/micromark-util-symbol": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", - "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "node_modules/micromark-factory-space/node_modules/micromark-util-types": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-1.1.0.tgz", + "integrity": "sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==", "funding": [ { "type": "GitHub Sponsors", @@ -10076,12 +12845,13 @@ "type": "OpenCollective", "url": "https://opencollective.com/unified" } - ] + ], + "license": "MIT" }, - "node_modules/micromark-extension-mdx-expression": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-3.0.0.tgz", - "integrity": "sha512-sI0nwhUDz97xyzqJAbHQhp5TfaxEvZZZ2JDqUo+7NvyIYG6BZ5CPPqj2ogUoPJlmXHBnyZUzISg9+oUmU6tUjQ==", + "node_modules/micromark-factory-title": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.0.tgz", + "integrity": "sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A==", "funding": [ { "type": "GitHub Sponsors", @@ -10092,18 +12862,15 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { - "@types/estree": "^1.0.0", - "devlop": "^1.0.0", - "micromark-factory-mdx-expression": "^2.0.0", "micromark-factory-space": "^2.0.0", "micromark-util-character": "^2.0.0", - "micromark-util-events-to-acorn": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, - "node_modules/micromark-extension-mdx-expression/node_modules/micromark-factory-space": { + "node_modules/micromark-factory-title/node_modules/micromark-factory-space": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.0.tgz", "integrity": "sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==", @@ -10117,12 +12884,13 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { "micromark-util-character": "^2.0.0", "micromark-util-types": "^2.0.0" } }, - "node_modules/micromark-extension-mdx-expression/node_modules/micromark-util-character": { + "node_modules/micromark-factory-title/node_modules/micromark-util-character": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.0.1.tgz", "integrity": "sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==", @@ -10136,15 +12904,32 @@ "url": "https://opencollective.com/unified" } ], - "dependencies": { - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-title/node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" }, - "node_modules/micromark-extension-mdx-expression/node_modules/micromark-util-symbol": { + "node_modules/micromark-factory-whitespace": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", - "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.0.tgz", + "integrity": "sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA==", "funding": [ { "type": "GitHub Sponsors", @@ -10154,30 +12939,16 @@ "type": "OpenCollective", "url": "https://opencollective.com/unified" } - ] - }, - "node_modules/micromark-extension-mdx-jsx": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-3.0.0.tgz", - "integrity": "sha512-uvhhss8OGuzR4/N17L1JwvmJIpPhAd8oByMawEKx6NVdBCbesjH4t+vjEp3ZXft9DwvlKSD07fCeI44/N0Vf2w==", + ], + "license": "MIT", "dependencies": { - "@types/acorn": "^4.0.0", - "@types/estree": "^1.0.0", - "devlop": "^1.0.0", - "estree-util-is-identifier-name": "^3.0.0", - "micromark-factory-mdx-expression": "^2.0.0", "micromark-factory-space": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0", - "vfile-message": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "micromark-util-types": "^2.0.0" } }, - "node_modules/micromark-extension-mdx-jsx/node_modules/micromark-factory-space": { + "node_modules/micromark-factory-whitespace/node_modules/micromark-factory-space": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.0.tgz", "integrity": "sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==", @@ -10191,12 +12962,13 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { "micromark-util-character": "^2.0.0", "micromark-util-types": "^2.0.0" } }, - "node_modules/micromark-extension-mdx-jsx/node_modules/micromark-util-character": { + "node_modules/micromark-factory-whitespace/node_modules/micromark-util-character": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.0.1.tgz", "integrity": "sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==", @@ -10210,12 +12982,13 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, - "node_modules/micromark-extension-mdx-jsx/node_modules/micromark-util-symbol": { + "node_modules/micromark-factory-whitespace/node_modules/micromark-util-symbol": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", @@ -10228,63 +13001,49 @@ "type": "OpenCollective", "url": "https://opencollective.com/unified" } - ] - }, - "node_modules/micromark-extension-mdx-md": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-mdx-md/-/micromark-extension-mdx-md-2.0.0.tgz", - "integrity": "sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ==", - "dependencies": { - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } + ], + "license": "MIT" }, - "node_modules/micromark-extension-mdxjs": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs/-/micromark-extension-mdxjs-3.0.0.tgz", - "integrity": "sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ==", + "node_modules/micromark-util-character": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-1.2.0.tgz", + "integrity": "sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", "dependencies": { - "acorn": "^8.0.0", - "acorn-jsx": "^5.0.0", - "micromark-extension-mdx-expression": "^3.0.0", - "micromark-extension-mdx-jsx": "^3.0.0", - "micromark-extension-mdx-md": "^2.0.0", - "micromark-extension-mdxjs-esm": "^3.0.0", - "micromark-util-combine-extensions": "^2.0.0", - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" } }, - "node_modules/micromark-extension-mdxjs-esm": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs-esm/-/micromark-extension-mdxjs-esm-3.0.0.tgz", - "integrity": "sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A==", - "dependencies": { - "@types/estree": "^1.0.0", - "devlop": "^1.0.0", - "micromark-core-commonmark": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-events-to-acorn": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0", - "unist-util-position-from-estree": "^2.0.0", - "vfile-message": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } + "node_modules/micromark-util-character/node_modules/micromark-util-types": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-1.1.0.tgz", + "integrity": "sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" }, - "node_modules/micromark-extension-mdxjs-esm/node_modules/micromark-util-character": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.0.1.tgz", - "integrity": "sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==", + "node_modules/micromark-util-chunked": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.0.tgz", + "integrity": "sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg==", "funding": [ { "type": "GitHub Sponsors", @@ -10295,12 +13054,12 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" + "micromark-util-symbol": "^2.0.0" } }, - "node_modules/micromark-extension-mdxjs-esm/node_modules/micromark-util-symbol": { + "node_modules/micromark-util-chunked/node_modules/micromark-util-symbol": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", @@ -10313,23 +13072,13 @@ "type": "OpenCollective", "url": "https://opencollective.com/unified" } - ] - }, - "node_modules/micromark-extension-mdxjs/node_modules/acorn": { - "version": "8.11.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz", - "integrity": "sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } + ], + "license": "MIT" }, - "node_modules/micromark-factory-destination": { + "node_modules/micromark-util-classify-character": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.0.tgz", - "integrity": "sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA==", + "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.0.tgz", + "integrity": "sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw==", "funding": [ { "type": "GitHub Sponsors", @@ -10340,13 +13089,14 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { "micromark-util-character": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, - "node_modules/micromark-factory-destination/node_modules/micromark-util-character": { + "node_modules/micromark-util-classify-character/node_modules/micromark-util-character": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.0.1.tgz", "integrity": "sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==", @@ -10360,12 +13110,13 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, - "node_modules/micromark-factory-destination/node_modules/micromark-util-symbol": { + "node_modules/micromark-util-classify-character/node_modules/micromark-util-symbol": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", @@ -10378,12 +13129,13 @@ "type": "OpenCollective", "url": "https://opencollective.com/unified" } - ] + ], + "license": "MIT" }, - "node_modules/micromark-factory-label": { + "node_modules/micromark-util-combine-extensions": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.0.tgz", - "integrity": "sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw==", + "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.0.tgz", + "integrity": "sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ==", "funding": [ { "type": "GitHub Sponsors", @@ -10394,17 +13146,16 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { - "devlop": "^1.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", + "micromark-util-chunked": "^2.0.0", "micromark-util-types": "^2.0.0" } }, - "node_modules/micromark-factory-label/node_modules/micromark-util-character": { + "node_modules/micromark-util-decode-numeric-character-reference": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.0.1.tgz", - "integrity": "sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==", + "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.1.tgz", + "integrity": "sha512-bmkNc7z8Wn6kgjZmVHOX3SowGmVdhYS7yBpMnuMnPzDq/6xwVA604DuOXMZTO1lvq01g+Adfa0pE2UKGlxL1XQ==", "funding": [ { "type": "GitHub Sponsors", @@ -10415,12 +13166,12 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" + "micromark-util-symbol": "^2.0.0" } }, - "node_modules/micromark-factory-label/node_modules/micromark-util-symbol": { + "node_modules/micromark-util-decode-numeric-character-reference/node_modules/micromark-util-symbol": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", @@ -10433,12 +13184,13 @@ "type": "OpenCollective", "url": "https://opencollective.com/unified" } - ] + ], + "license": "MIT" }, - "node_modules/micromark-factory-mdx-expression": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-2.0.1.tgz", - "integrity": "sha512-F0ccWIUHRLRrYp5TC9ZYXmZo+p2AM13ggbsW4T0b5CRKP8KHVRB8t4pwtBgTxtjRmwrK0Irwm7vs2JOZabHZfg==", + "node_modules/micromark-util-decode-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.0.tgz", + "integrity": "sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA==", "funding": [ { "type": "GitHub Sponsors", @@ -10449,18 +13201,15 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { - "@types/estree": "^1.0.0", - "devlop": "^1.0.0", + "decode-named-character-reference": "^1.0.0", "micromark-util-character": "^2.0.0", - "micromark-util-events-to-acorn": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0", - "unist-util-position-from-estree": "^2.0.0", - "vfile-message": "^4.0.0" + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-symbol": "^2.0.0" } }, - "node_modules/micromark-factory-mdx-expression/node_modules/micromark-util-character": { + "node_modules/micromark-util-decode-string/node_modules/micromark-util-character": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.0.1.tgz", "integrity": "sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==", @@ -10474,12 +13223,13 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, - "node_modules/micromark-factory-mdx-expression/node_modules/micromark-util-symbol": { + "node_modules/micromark-util-decode-string/node_modules/micromark-util-symbol": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", @@ -10492,12 +13242,13 @@ "type": "OpenCollective", "url": "https://opencollective.com/unified" } - ] + ], + "license": "MIT" }, - "node_modules/micromark-factory-space": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-1.1.0.tgz", - "integrity": "sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ==", + "node_modules/micromark-util-encode": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.0.tgz", + "integrity": "sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==", "funding": [ { "type": "GitHub Sponsors", @@ -10508,15 +13259,12 @@ "url": "https://opencollective.com/unified" } ], - "dependencies": { - "micromark-util-character": "^1.0.0", - "micromark-util-types": "^1.0.0" - } + "license": "MIT" }, - "node_modules/micromark-factory-space/node_modules/micromark-util-types": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-1.1.0.tgz", - "integrity": "sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==", + "node_modules/micromark-util-events-to-acorn": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-events-to-acorn/-/micromark-util-events-to-acorn-2.0.2.tgz", + "integrity": "sha512-Fk+xmBrOv9QZnEDguL9OI9/NQQp6Hz4FuQ4YmCb/5V7+9eAh1s6AYSvL20kHkD67YIg7EpE54TiSlcsf3vyZgA==", "funding": [ { "type": "GitHub Sponsors", @@ -10526,12 +13274,23 @@ "type": "OpenCollective", "url": "https://opencollective.com/unified" } - ] + ], + "license": "MIT", + "dependencies": { + "@types/acorn": "^4.0.0", + "@types/estree": "^1.0.0", + "@types/unist": "^3.0.0", + "devlop": "^1.0.0", + "estree-util-visit": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "vfile-message": "^4.0.0" + } }, - "node_modules/micromark-factory-title": { + "node_modules/micromark-util-events-to-acorn/node_modules/micromark-util-symbol": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.0.tgz", - "integrity": "sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A==", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", "funding": [ { "type": "GitHub Sponsors", @@ -10542,17 +13301,12 @@ "url": "https://opencollective.com/unified" } ], - "dependencies": { - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } + "license": "MIT" }, - "node_modules/micromark-factory-title/node_modules/micromark-factory-space": { + "node_modules/micromark-util-html-tag-name": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.0.tgz", - "integrity": "sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==", + "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.0.tgz", + "integrity": "sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw==", "funding": [ { "type": "GitHub Sponsors", @@ -10562,16 +13316,13 @@ "type": "OpenCollective", "url": "https://opencollective.com/unified" } - ], - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-factory-title/node_modules/micromark-util-character": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.0.1.tgz", - "integrity": "sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==", + ], + "license": "MIT" + }, + "node_modules/micromark-util-normalize-identifier": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.0.tgz", + "integrity": "sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w==", "funding": [ { "type": "GitHub Sponsors", @@ -10582,12 +13333,12 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" + "micromark-util-symbol": "^2.0.0" } }, - "node_modules/micromark-factory-title/node_modules/micromark-util-symbol": { + "node_modules/micromark-util-normalize-identifier/node_modules/micromark-util-symbol": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", @@ -10600,12 +13351,13 @@ "type": "OpenCollective", "url": "https://opencollective.com/unified" } - ] + ], + "license": "MIT" }, - "node_modules/micromark-factory-whitespace": { + "node_modules/micromark-util-resolve-all": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.0.tgz", - "integrity": "sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA==", + "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.0.tgz", + "integrity": "sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA==", "funding": [ { "type": "GitHub Sponsors", @@ -10616,17 +13368,15 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, - "node_modules/micromark-factory-whitespace/node_modules/micromark-factory-space": { + "node_modules/micromark-util-sanitize-uri": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.0.tgz", - "integrity": "sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==", + "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.0.tgz", + "integrity": "sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==", "funding": [ { "type": "GitHub Sponsors", @@ -10637,12 +13387,14 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { "micromark-util-character": "^2.0.0", - "micromark-util-types": "^2.0.0" + "micromark-util-encode": "^2.0.0", + "micromark-util-symbol": "^2.0.0" } }, - "node_modules/micromark-factory-whitespace/node_modules/micromark-util-character": { + "node_modules/micromark-util-sanitize-uri/node_modules/micromark-util-character": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.0.1.tgz", "integrity": "sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==", @@ -10656,12 +13408,13 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, - "node_modules/micromark-factory-whitespace/node_modules/micromark-util-symbol": { + "node_modules/micromark-util-sanitize-uri/node_modules/micromark-util-symbol": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", @@ -10674,12 +13427,13 @@ "type": "OpenCollective", "url": "https://opencollective.com/unified" } - ] + ], + "license": "MIT" }, - "node_modules/micromark-util-character": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-1.2.0.tgz", - "integrity": "sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg==", + "node_modules/micromark-util-subtokenize": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.0.0.tgz", + "integrity": "sha512-vc93L1t+gpR3p8jxeVdaYlbV2jTYteDje19rNSS/H5dlhxUYll5Fy6vJ2cDwP8RnsXi818yGty1ayP55y3W6fg==", "funding": [ { "type": "GitHub Sponsors", @@ -10690,15 +13444,18 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, - "node_modules/micromark-util-character/node_modules/micromark-util-types": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-1.1.0.tgz", - "integrity": "sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==", + "node_modules/micromark-util-subtokenize/node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", "funding": [ { "type": "GitHub Sponsors", @@ -10708,12 +13465,13 @@ "type": "OpenCollective", "url": "https://opencollective.com/unified" } - ] + ], + "license": "MIT" }, - "node_modules/micromark-util-chunked": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.0.tgz", - "integrity": "sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg==", + "node_modules/micromark-util-symbol": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-1.1.0.tgz", + "integrity": "sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag==", "funding": [ { "type": "GitHub Sponsors", @@ -10724,14 +13482,12 @@ "url": "https://opencollective.com/unified" } ], - "dependencies": { - "micromark-util-symbol": "^2.0.0" - } + "license": "MIT" }, - "node_modules/micromark-util-chunked/node_modules/micromark-util-symbol": { + "node_modules/micromark-util-types": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", - "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.0.tgz", + "integrity": "sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==", "funding": [ { "type": "GitHub Sponsors", @@ -10741,12 +13497,13 @@ "type": "OpenCollective", "url": "https://opencollective.com/unified" } - ] + ], + "license": "MIT" }, - "node_modules/micromark-util-classify-character": { + "node_modules/micromark/node_modules/micromark-factory-space": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.0.tgz", - "integrity": "sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw==", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.0.tgz", + "integrity": "sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==", "funding": [ { "type": "GitHub Sponsors", @@ -10757,13 +13514,13 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, - "node_modules/micromark-util-classify-character/node_modules/micromark-util-character": { + "node_modules/micromark/node_modules/micromark-util-character": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.0.1.tgz", "integrity": "sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==", @@ -10777,30 +13534,16 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, - "node_modules/micromark-util-classify-character/node_modules/micromark-util-symbol": { + "node_modules/micromark/node_modules/micromark-util-symbol": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ] - }, - "node_modules/micromark-util-combine-extensions": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.0.tgz", - "integrity": "sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ==", "funding": [ { "type": "GitHub Sponsors", @@ -10811,1260 +13554,1797 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT" + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "license": "MIT", + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "license": "MIT", + "dependencies": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + }, + "bin": { + "miller-rabin": "bin/miller-rabin" + } + }, + "node_modules/miller-rabin/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "license": "MIT" + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", + "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-format": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mime-format/-/mime-format-2.0.1.tgz", + "integrity": "sha512-XxU3ngPbEnrYnNbIX+lYSaYg0M01v6p2ntd2YaFksTu0vayaw5OJvbdRyWs07EYRlLED5qadUZ+xo+XhOvFhwg==", + "license": "Apache-2.0", + "dependencies": { + "charset": "^1.0.0" + } + }, + "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==", + "license": "MIT", + "dependencies": { + "mime-db": "~1.33.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==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mini-css-extract-plugin": { + "version": "2.7.6", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.6.tgz", + "integrity": "sha512-Qk7HcgaPkGG6eD77mLvZS1nmxlao3j+9PkrT9Uc7HAE1id3F41+DdBRYRYkbyfNRGzm8/YWtzhw7nVPmwhqTQw==", + "license": "MIT", + "dependencies": { + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } + }, + "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==", + "license": "ISC" + }, + "node_modules/minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==", + "license": "MIT" + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/minipass": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.0.tgz", + "integrity": "sha512-oGZRv2OT1lO2UF1zUcwdTb3wqUwI0kBGTgt/T7OdSj6M6N5m3o5uPf0AIW6lVxGGoiWUR7e2AwTE+xiwK8WQig==", + "license": "ISC", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/mkdirp-classic": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", + "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", + "license": "MIT" + }, + "node_modules/mri": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", + "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/mrmime": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-1.0.1.tgz", + "integrity": "sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "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==", + "license": "MIT" + }, + "node_modules/multicast-dns": { + "version": "7.2.5", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", + "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", + "license": "MIT", + "dependencies": { + "dns-packet": "^5.2.2", + "thunky": "^1.0.2" + }, + "bin": { + "multicast-dns": "cli.js" + } + }, + "node_modules/mustache": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/mustache/-/mustache-4.2.0.tgz", + "integrity": "sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==", + "license": "MIT", + "bin": { + "mustache": "bin/mustache" + } + }, + "node_modules/mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "license": "MIT", "dependencies": { - "micromark-util-chunked": "^2.0.0", - "micromark-util-types": "^2.0.0" + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" } }, - "node_modules/micromark-util-decode-numeric-character-reference": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.1.tgz", - "integrity": "sha512-bmkNc7z8Wn6kgjZmVHOX3SowGmVdhYS7yBpMnuMnPzDq/6xwVA604DuOXMZTO1lvq01g+Adfa0pE2UKGlxL1XQ==", + "node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", "funding": [ { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" + "type": "github", + "url": "https://github.com/sponsors/ai" } ], - "dependencies": { - "micromark-util-symbol": "^2.0.0" + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, - "node_modules/micromark-util-decode-numeric-character-reference/node_modules/micromark-util-symbol": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", - "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ] + "node_modules/napi-build-utils": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz", + "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==", + "license": "MIT" }, - "node_modules/micromark-util-decode-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.0.tgz", - "integrity": "sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "decode-named-character-reference": "^1.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-decode-numeric-character-reference": "^2.0.0", - "micromark-util-symbol": "^2.0.0" + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" } }, - "node_modules/micromark-util-decode-string/node_modules/micromark-util-character": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.0.1.tgz", - "integrity": "sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], + "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==", + "license": "MIT" + }, + "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==", + "license": "MIT", "dependencies": { - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" + "lower-case": "^2.0.2", + "tslib": "^2.0.3" } }, - "node_modules/micromark-util-decode-string/node_modules/micromark-util-symbol": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", - "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ] + "node_modules/node-abi": { + "version": "3.51.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.51.0.tgz", + "integrity": "sha512-SQkEP4hmNWjlniS5zdnfIXTk1x7Ome85RDzHlTbBtzE97Gfwz/Ipw4v/Ryk20DWIy3yCNVLVlGKApCnmvYoJbA==", + "license": "MIT", + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": ">=10" + } }, - "node_modules/micromark-util-encode": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.0.tgz", - "integrity": "sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ] + "node_modules/node-addon-api": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-6.1.0.tgz", + "integrity": "sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==", + "license": "MIT" }, - "node_modules/micromark-util-events-to-acorn": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/micromark-util-events-to-acorn/-/micromark-util-events-to-acorn-2.0.2.tgz", - "integrity": "sha512-Fk+xmBrOv9QZnEDguL9OI9/NQQp6Hz4FuQ4YmCb/5V7+9eAh1s6AYSvL20kHkD67YIg7EpE54TiSlcsf3vyZgA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], + "node_modules/node-emoji": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-2.1.0.tgz", + "integrity": "sha512-tcsBm9C6FmPN5Wo7OjFi9lgMyJjvkAeirmjR/ax8Ttfqy4N8PoFic26uqFTIgayHPNI5FH4ltUvfh9kHzwcK9A==", + "license": "MIT", "dependencies": { - "@types/acorn": "^4.0.0", - "@types/estree": "^1.0.0", - "@types/unist": "^3.0.0", - "devlop": "^1.0.0", - "estree-util-visit": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0", - "vfile-message": "^4.0.0" + "@sindresorhus/is": "^3.1.2", + "char-regex": "^1.0.2", + "emojilib": "^2.4.0", + "skin-tone": "^2.0.0" } }, - "node_modules/micromark-util-events-to-acorn/node_modules/micromark-util-symbol": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", - "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ] - }, - "node_modules/micromark-util-html-tag-name": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.0.tgz", - "integrity": "sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" + "node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "license": "MIT", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true } - ] + } }, - "node_modules/micromark-util-normalize-identifier": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.0.tgz", - "integrity": "sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], + "node_modules/node-fetch-h2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/node-fetch-h2/-/node-fetch-h2-2.3.0.tgz", + "integrity": "sha512-ofRW94Ab0T4AOh5Fk8t0h8OBWrmjb0SSB20xh1H8YnPV9EJ+f5AMoYSUQ2zgJ4Iq2HAK0I2l5/Nequ8YzFS3Hg==", + "license": "MIT", "dependencies": { - "micromark-util-symbol": "^2.0.0" + "http2-client": "^1.2.5" + }, + "engines": { + "node": "4.x || >=6.0.0" } }, - "node_modules/micromark-util-normalize-identifier/node_modules/micromark-util-symbol": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", - "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ] + "node_modules/node-forge": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", + "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", + "license": "(BSD-3-Clause OR GPL-2.0)", + "engines": { + "node": ">= 6.13.0" + } + }, + "node_modules/node-polyfill-webpack-plugin": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/node-polyfill-webpack-plugin/-/node-polyfill-webpack-plugin-2.0.1.tgz", + "integrity": "sha512-ZUMiCnZkP1LF0Th2caY6J/eKKoA0TefpoVa68m/LQU1I/mE8rGt4fNYGgNuCcK+aG8P8P43nbeJ2RqJMOL/Y1A==", + "license": "MIT", + "dependencies": { + "assert": "^2.0.0", + "browserify-zlib": "^0.2.0", + "buffer": "^6.0.3", + "console-browserify": "^1.2.0", + "constants-browserify": "^1.0.0", + "crypto-browserify": "^3.12.0", + "domain-browser": "^4.22.0", + "events": "^3.3.0", + "filter-obj": "^2.0.2", + "https-browserify": "^1.0.0", + "os-browserify": "^0.3.0", + "path-browserify": "^1.0.1", + "process": "^0.11.10", + "punycode": "^2.1.1", + "querystring-es3": "^0.2.1", + "readable-stream": "^4.0.0", + "stream-browserify": "^3.0.0", + "stream-http": "^3.2.0", + "string_decoder": "^1.3.0", + "timers-browserify": "^2.0.12", + "tty-browserify": "^0.0.1", + "type-fest": "^2.14.0", + "url": "^0.11.0", + "util": "^0.12.4", + "vm-browserify": "^1.1.2" + }, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "webpack": ">=5" + } }, - "node_modules/micromark-util-resolve-all": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.0.tgz", - "integrity": "sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA==", + "node_modules/node-polyfill-webpack-plugin/node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", "funding": [ { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" + "type": "github", + "url": "https://github.com/sponsors/feross" }, { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" } ], + "license": "MIT", "dependencies": { - "micromark-util-types": "^2.0.0" + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" } }, - "node_modules/micromark-util-sanitize-uri": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.0.tgz", - "integrity": "sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], + "node_modules/node-polyfill-webpack-plugin/node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/node-polyfill-webpack-plugin/node_modules/readable-stream": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", + "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", + "license": "MIT", "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-encode": "^2.0.0", - "micromark-util-symbol": "^2.0.0" + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, - "node_modules/micromark-util-sanitize-uri/node_modules/micromark-util-character": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.0.1.tgz", - "integrity": "sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], + "node_modules/node-readfiles": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/node-readfiles/-/node-readfiles-0.2.0.tgz", + "integrity": "sha512-SU00ZarexNlE4Rjdm83vglt5Y9yiQ+XI1XpflWlb7q7UTN1JUItm69xMeiQCTxtTfnzt+83T8Cx+vI2ED++VDA==", + "license": "MIT", "dependencies": { - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" + "es6-promise": "^3.2.1" } }, - "node_modules/micromark-util-sanitize-uri/node_modules/micromark-util-symbol": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", - "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ] + "node_modules/node-releases": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", + "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", + "license": "MIT" }, - "node_modules/micromark-util-subtokenize": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.0.0.tgz", - "integrity": "sha512-vc93L1t+gpR3p8jxeVdaYlbV2jTYteDje19rNSS/H5dlhxUYll5Fy6vJ2cDwP8RnsXi818yGty1ayP55y3W6fg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], + "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==", + "license": "MIT", + "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": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-url": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-8.0.0.tgz", + "integrity": "sha512-uVFpKhj5MheNBJRTiMZ9pE/7hD1QTeEvugSJW/OmLzAp78PB5O6adfMNTvmfKhXBkvCzC+rqifWcVYpGFwTjnw==", + "license": "MIT", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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==", + "license": "MIT", "dependencies": { - "devlop": "^1.0.0", - "micromark-util-chunked": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/micromark-util-subtokenize/node_modules/micromark-util-symbol": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", - "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ] + "node_modules/nprogress": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/nprogress/-/nprogress-0.2.0.tgz", + "integrity": "sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==", + "license": "MIT" }, - "node_modules/micromark-util-symbol": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-1.1.0.tgz", - "integrity": "sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ] + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } }, - "node_modules/micromark-util-types": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.0.tgz", - "integrity": "sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ] + "node_modules/oas-kit-common": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/oas-kit-common/-/oas-kit-common-1.0.8.tgz", + "integrity": "sha512-pJTS2+T0oGIwgjGpw7sIRU8RQMcUoKCDWFLdBqKB2BNmGpbBMH2sdqAaOXUg8OzonZHU0L7vfJu1mJFEiYDWOQ==", + "license": "BSD-3-Clause", + "dependencies": { + "fast-safe-stringify": "^2.0.7" + } }, - "node_modules/micromark/node_modules/micromark-factory-space": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.0.tgz", - "integrity": "sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], + "node_modules/oas-linter": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/oas-linter/-/oas-linter-3.2.2.tgz", + "integrity": "sha512-KEGjPDVoU5K6swgo9hJVA/qYGlwfbFx+Kg2QB/kd7rzV5N8N5Mg6PlsoCMohVnQmo+pzJap/F610qTodKzecGQ==", + "license": "BSD-3-Clause", "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-types": "^2.0.0" + "@exodus/schemasafe": "^1.0.0-rc.2", + "should": "^13.2.1", + "yaml": "^1.10.0" + }, + "funding": { + "url": "https://github.com/Mermade/oas-kit?sponsor=1" + } + }, + "node_modules/oas-resolver": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/oas-resolver/-/oas-resolver-2.5.6.tgz", + "integrity": "sha512-Yx5PWQNZomfEhPPOphFbZKi9W93CocQj18NlD2Pa4GWZzdZpSJvYwoiuurRI7m3SpcChrnO08hkuQDL3FGsVFQ==", + "license": "BSD-3-Clause", + "dependencies": { + "node-fetch-h2": "^2.3.0", + "oas-kit-common": "^1.0.8", + "reftools": "^1.1.9", + "yaml": "^1.10.0", + "yargs": "^17.0.1" + }, + "bin": { + "resolve": "resolve.js" + }, + "funding": { + "url": "https://github.com/Mermade/oas-kit?sponsor=1" + } + }, + "node_modules/oas-resolver-browser": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/oas-resolver-browser/-/oas-resolver-browser-2.5.2.tgz", + "integrity": "sha512-L3ugWyBHOpKLT+lb+pFXCOpk3byh6usis5T9u9mfu92jH5bR6YK8MA2bebUTIjY7I4415PzDeZcmcc+i7X05MA==", + "license": "BSD-3-Clause", + "dependencies": { + "node-fetch-h2": "^2.3.0", + "oas-kit-common": "^1.0.8", + "path-browserify": "^1.0.1", + "reftools": "^1.1.6", + "yaml": "^1.10.0", + "yargs": "^15.3.1" + }, + "bin": { + "resolve": "resolve.js" + }, + "funding": { + "url": "https://github.com/Mermade/oas-kit?sponsor=1" + } + }, + "node_modules/oas-resolver/node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/oas-resolver/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/oas-resolver/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/oas-resolver/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/micromark/node_modules/micromark-util-character": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.0.1.tgz", - "integrity": "sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], + "node_modules/oas-resolver/node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/oas-resolver/node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "license": "MIT", "dependencies": { - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" } }, - "node_modules/micromark/node_modules/micromark-util-symbol": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", - "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ] + "node_modules/oas-resolver/node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "license": "ISC", + "engines": { + "node": ">=12" + } }, - "node_modules/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "node_modules/oas-schema-walker": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/oas-schema-walker/-/oas-schema-walker-1.1.5.tgz", + "integrity": "sha512-2yucenq1a9YPmeNExoUa9Qwrt9RFkjqaMAA1X+U7sbb0AqBeTIdMHky9SQQ6iN94bO5NW0W4TRYXerG+BdAvAQ==", + "license": "BSD-3-Clause", + "funding": { + "url": "https://github.com/Mermade/oas-kit?sponsor=1" + } + }, + "node_modules/oas-validator": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/oas-validator/-/oas-validator-5.0.8.tgz", + "integrity": "sha512-cu20/HE5N5HKqVygs3dt94eYJfBi0TsZvPVXDhbXQHiEityDN+RROTleefoKRKKJ9dFAF2JBkDHgvWj0sjKGmw==", + "license": "BSD-3-Clause", "dependencies": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" + "call-me-maybe": "^1.0.1", + "oas-kit-common": "^1.0.8", + "oas-linter": "^3.2.2", + "oas-resolver": "^2.5.6", + "oas-schema-walker": "^1.1.5", + "reftools": "^1.1.9", + "should": "^13.2.1", + "yaml": "^1.10.0" }, + "funding": { + "url": "https://github.com/Mermade/oas-kit?sponsor=1" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "license": "MIT", "engines": { - "node": ">=8.6" + "node": ">=0.10.0" } }, - "node_modules/mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "bin": { - "mime": "cli.js" + "node_modules/object-inspect": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", + "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-is": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.6.tgz", + "integrity": "sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1" }, "engines": { - "node": ">=4" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "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==", + "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==", + "license": "MIT", "engines": { - "node": ">= 0.6" + "node": ">= 0.4" } }, - "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==", + "node_modules/object.assign": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "license": "MIT", "dependencies": { - "mime-db": "~1.33.0" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" }, "engines": { - "node": ">= 0.6" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "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==", + "node_modules/obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", + "license": "MIT" + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" + }, + "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==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "license": "ISC", + "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==", + "license": "MIT", + "dependencies": { + "mimic-fn": "^2.1.0" + }, "engines": { "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/mimic-response": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", - "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "node_modules/open": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", + "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", + "license": "MIT", + "dependencies": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + }, "engines": { - "node": ">=10" + "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/mini-css-extract-plugin": { - "version": "2.7.6", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.6.tgz", - "integrity": "sha512-Qk7HcgaPkGG6eD77mLvZS1nmxlao3j+9PkrT9Uc7HAE1id3F41+DdBRYRYkbyfNRGzm8/YWtzhw7nVPmwhqTQw==", + "node_modules/opener": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", + "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", + "license": "(WTFPL OR MIT)", + "bin": { + "opener": "bin/opener-bin.js" + } + }, + "node_modules/os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==", + "license": "MIT" + }, + "node_modules/os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/p-cancelable": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-3.0.0.tgz", + "integrity": "sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==", + "license": "MIT", + "engines": { + "node": ">=12.20" + } + }, + "node_modules/p-limit": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", + "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", + "license": "MIT", "dependencies": { - "schema-utils": "^4.0.0" + "yocto-queue": "^1.0.0" }, "engines": { - "node": ">= 12.13.0" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz", + "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==", + "license": "MIT", + "dependencies": { + "p-limit": "^4.0.0" }, - "peerDependencies": { - "webpack": "^5.0.0" + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "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/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==", + "license": "MIT", + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "node_modules/p-retry": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", + "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", + "license": "MIT", "dependencies": { - "brace-expansion": "^1.1.7" + "@types/retry": "0.12.0", + "retry": "^0.13.1" }, "engines": { - "node": "*" + "node": ">=8" } }, - "node_modules/minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "funding": { - "url": "https://github.com/sponsors/ljharb" + "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==", + "license": "MIT", + "engines": { + "node": ">=6" } }, - "node_modules/minipass": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.0.tgz", - "integrity": "sha512-oGZRv2OT1lO2UF1zUcwdTb3wqUwI0kBGTgt/T7OdSj6M6N5m3o5uPf0AIW6lVxGGoiWUR7e2AwTE+xiwK8WQig==", + "node_modules/package-json": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/package-json/-/package-json-8.1.1.tgz", + "integrity": "sha512-cbH9IAIJHNj9uXi196JVsRlt7cHKak6u/e6AkL/bkRelZ7rlL3X1YKxsZwa36xipOEKAsdtmaG6aAJoM1fx2zA==", + "license": "MIT", + "dependencies": { + "got": "^12.1.0", + "registry-auth-token": "^5.0.1", + "registry-url": "^6.0.0", + "semver": "^7.3.7" + }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/mkdirp-classic": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", - "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==" + "node_modules/pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "license": "(MIT AND Zlib)" }, - "node_modules/mri": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", - "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", - "dev": true, - "engines": { - "node": ">=4" + "node_modules/param-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", + "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", + "license": "MIT", + "dependencies": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" } }, - "node_modules/mrmime": { + "node_modules/parent-module": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-1.0.1.tgz", - "integrity": "sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0" + }, "engines": { - "node": ">=10" + "node": ">=6" } }, - "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": "7.2.5", - "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", - "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", + "node_modules/parse-asn1": { + "version": "5.1.7", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.7.tgz", + "integrity": "sha512-CTM5kuWR3sx9IFamcl5ErfPl6ea/N8IYwiJ+vpeB2g+1iknv7zBl5uPwbMbRVznRVbrNY6lGuDoE5b30grmbqg==", + "license": "ISC", "dependencies": { - "dns-packet": "^5.2.2", - "thunky": "^1.0.2" + "asn1.js": "^4.10.1", + "browserify-aes": "^1.2.0", + "evp_bytestokey": "^1.0.3", + "hash-base": "~3.0", + "pbkdf2": "^3.1.2", + "safe-buffer": "^5.2.1" }, - "bin": { - "multicast-dns": "cli.js" + "engines": { + "node": ">= 0.10" } }, - "node_modules/mz": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", - "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "node_modules/parse-entities": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-4.0.1.tgz", + "integrity": "sha512-SWzvYcSJh4d/SGLIOQfZ/CoNv6BTlI6YEQ7Nj82oDVnRpwe/Z/F1EMx42x3JAOwGBlCjeCH0BRJQbQ/opHL17w==", + "license": "MIT", "dependencies": { - "any-promise": "^1.0.0", - "object-assign": "^4.0.1", - "thenify-all": "^1.0.0" - } - }, - "node_modules/nanoid": { - "version": "3.3.7", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", - "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "bin": { - "nanoid": "bin/nanoid.cjs" + "@types/unist": "^2.0.0", + "character-entities": "^2.0.0", + "character-entities-legacy": "^3.0.0", + "character-reference-invalid": "^2.0.0", + "decode-named-character-reference": "^1.0.0", + "is-alphanumerical": "^2.0.0", + "is-decimal": "^2.0.0", + "is-hexadecimal": "^2.0.0" }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/napi-build-utils": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz", - "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==" + "node_modules/parse-entities/node_modules/@types/unist": { + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.9.tgz", + "integrity": "sha512-zC0iXxAv1C1ERURduJueYzkzZ2zaGyc+P2c95hgkikHPr3z8EdUZOlgEQ5X0DRmwDZn+hekycQnoeiiRVrmilQ==", + "license": "MIT" }, - "node_modules/negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "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==", + "license": "MIT", + "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": ">= 0.6" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "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/parse-numeric-range": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/parse-numeric-range/-/parse-numeric-range-1.3.0.tgz", + "integrity": "sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ==", + "license": "ISC" }, - "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==", + "node_modules/parse5": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", + "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "license": "MIT", "dependencies": { - "lower-case": "^2.0.2", - "tslib": "^2.0.3" + "entities": "^4.4.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" } }, - "node_modules/node-abi": { - "version": "3.51.0", - "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.51.0.tgz", - "integrity": "sha512-SQkEP4hmNWjlniS5zdnfIXTk1x7Ome85RDzHlTbBtzE97Gfwz/Ipw4v/Ryk20DWIy3yCNVLVlGKApCnmvYoJbA==", + "node_modules/parse5-htmlparser2-tree-adapter": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz", + "integrity": "sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==", + "license": "MIT", "dependencies": { - "semver": "^7.3.5" + "domhandler": "^5.0.2", + "parse5": "^7.0.0" }, - "engines": { - "node": ">=10" + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" } }, - "node_modules/node-addon-api": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-6.1.0.tgz", - "integrity": "sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==" + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } }, - "node_modules/node-emoji": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-2.1.0.tgz", - "integrity": "sha512-tcsBm9C6FmPN5Wo7OjFi9lgMyJjvkAeirmjR/ax8Ttfqy4N8PoFic26uqFTIgayHPNI5FH4ltUvfh9kHzwcK9A==", + "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==", + "license": "MIT", "dependencies": { - "@sindresorhus/is": "^3.1.2", - "char-regex": "^1.0.2", - "emojilib": "^2.4.0", - "skin-tone": "^2.0.0" + "no-case": "^3.0.4", + "tslib": "^2.0.3" } }, - "node_modules/node-forge": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", - "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", - "engines": { - "node": ">= 6.13.0" + "node_modules/path": { + "version": "0.12.7", + "resolved": "https://registry.npmjs.org/path/-/path-0.12.7.tgz", + "integrity": "sha512-aXXC6s+1w7otVF9UletFkFcDsJeO7lSZBPUQhtb5O0xJe8LtYhj/GxldoL09bBj9+ZmE2hNoHqQSFMN5fikh4Q==", + "license": "MIT", + "dependencies": { + "process": "^0.11.1", + "util": "^0.10.3" } }, - "node_modules/node-releases": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", - "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==" + "node_modules/path-browserify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", + "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", + "license": "MIT" }, - "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==", + "node_modules/path-exists": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", + "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", + "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" } }, - "node_modules/normalize-range": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "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": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, - "node_modules/normalize-url": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-8.0.0.tgz", - "integrity": "sha512-uVFpKhj5MheNBJRTiMZ9pE/7hD1QTeEvugSJW/OmLzAp78PB5O6adfMNTvmfKhXBkvCzC+rqifWcVYpGFwTjnw==", + "node_modules/path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==", + "license": "(WTFPL OR MIT)" + }, + "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==", + "license": "MIT", "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, - "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==", + "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==", + "license": "MIT" + }, + "node_modules/path-root": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz", + "integrity": "sha512-QLcPegTHF11axjfojBIoDygmS2E3Lf+8+jI6wOVmNVenrKSo3mFdSGiIgdSHenczw3wPtlVMQaFVwGmM7BJdtg==", + "license": "MIT", "dependencies": { - "path-key": "^3.0.0" + "path-root-regex": "^0.1.0" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/nprogress": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/nprogress/-/nprogress-0.2.0.tgz", - "integrity": "sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==" + "node_modules/path-root-regex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz", + "integrity": "sha512-4GlJ6rZDhQZFE0DPVKh0e9jmZ5egZfxTkp7bcRDuPlJXbAwhxcl2dINPUAsjLdejqaLsCeg8axcLjIbvBjN4pQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/nth-check": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", - "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "node_modules/path-scurry": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.2.tgz", + "integrity": "sha512-7xTavNy5RQXnsjANvVvMkEjvloOinkAjv/Z6Ildz9v2RinZ4SBKTWFOVRbaF8p0vpHnyjV/UwNDdKuUv6M5qcA==", + "license": "BlueOak-1.0.0", "dependencies": { - "boolbase": "^1.0.0" + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.17" }, "funding": { - "url": "https://github.com/fb55/nth-check?sponsor=1" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "10.2.2", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.2.tgz", + "integrity": "sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==", + "license": "ISC", "engines": { - "node": ">=0.10.0" + "node": "14 || >=16.14" } }, - "node_modules/object-inspect": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", - "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", - "funding": { - "url": "https://github.com/sponsors/ljharb" + "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==", + "license": "MIT", + "dependencies": { + "isarray": "0.0.1" } }, - "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==", + "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==", + "license": "MIT", "engines": { - "node": ">= 0.4" + "node": ">=8" } }, - "node_modules/object.assign": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", - "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "node_modules/path/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", + "license": "ISC" + }, + "node_modules/path/node_modules/util": { + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", + "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "inherits": "2.0.3" } }, - "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.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "node_modules/pbkdf2": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", + "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", + "license": "MIT", "dependencies": { - "ee-first": "1.1.1" + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" }, "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": ">=0.12" } }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "node_modules/periscopic": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/periscopic/-/periscopic-3.1.0.tgz", + "integrity": "sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==", + "license": "MIT", "dependencies": { - "wrappy": "1" + "@types/estree": "^1.0.0", + "estree-walker": "^3.0.0", + "is-reference": "^3.0.0" } }, - "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" - }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "license": "MIT", "engines": { - "node": ">=6" + "node": ">=8.6" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/open": { - "version": "8.4.2", - "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", - "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", + "node_modules/pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/pkg-dir": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-7.0.0.tgz", + "integrity": "sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==", + "license": "MIT", "dependencies": { - "define-lazy-prop": "^2.0.0", - "is-docker": "^2.1.1", - "is-wsl": "^2.2.0" + "find-up": "^6.3.0" }, "engines": { - "node": ">=12" + "node": ">=14.16" }, "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/os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==", + "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==", + "license": "MIT", + "dependencies": { + "find-up": "^3.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/p-cancelable": { + "node_modules/pkg-up/node_modules/find-up": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-3.0.0.tgz", - "integrity": "sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==", - "engines": { - "node": ">=12.20" - } - }, - "node_modules/p-limit": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", - "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "license": "MIT", "dependencies": { - "yocto-queue": "^1.0.0" + "locate-path": "^3.0.0" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=6" } }, - "node_modules/p-locate": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz", - "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==", + "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==", + "license": "MIT", "dependencies": { - "p-limit": "^4.0.0" + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=6" } }, - "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==", + "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==", + "license": "MIT", "dependencies": { - "aggregate-error": "^3.0.0" + "p-try": "^2.0.0" }, "engines": { - "node": ">=10" + "node": ">=6" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/p-retry": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", - "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", + "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==", + "license": "MIT", "dependencies": { - "@types/retry": "0.12.0", - "retry": "^0.13.1" + "p-limit": "^2.0.0" }, "engines": { - "node": ">=8" + "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==", + "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": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "license": "MIT", "engines": { - "node": ">=6" + "node": ">=4" } }, - "node_modules/package-json": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/package-json/-/package-json-8.1.1.tgz", - "integrity": "sha512-cbH9IAIJHNj9uXi196JVsRlt7cHKak6u/e6AkL/bkRelZ7rlL3X1YKxsZwa36xipOEKAsdtmaG6aAJoM1fx2zA==", - "dependencies": { - "got": "^12.1.0", - "registry-auth-token": "^5.0.1", - "registry-url": "^6.0.0", - "semver": "^7.3.7" - }, + "node_modules/pluralize": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz", + "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==", + "license": "MIT", "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=4" } }, - "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/possible-typed-array-names": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", + "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==", + "license": "MIT", + "engines": { + "node": ">= 0.4" } }, - "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==", + "node_modules/postcss": { + "version": "8.4.38", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz", + "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", "dependencies": { - "callsites": "^3.0.0" + "nanoid": "^3.3.7", + "picocolors": "^1.0.0", + "source-map-js": "^1.2.0" }, "engines": { - "node": ">=6" + "node": "^10 || ^12 || >=14" } }, - "node_modules/parse-entities": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-4.0.1.tgz", - "integrity": "sha512-SWzvYcSJh4d/SGLIOQfZ/CoNv6BTlI6YEQ7Nj82oDVnRpwe/Z/F1EMx42x3JAOwGBlCjeCH0BRJQbQ/opHL17w==", + "node_modules/postcss-calc": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-9.0.1.tgz", + "integrity": "sha512-TipgjGyzP5QzEhsOZUaIkeO5mKeMFpebWzRogWG/ysonUlnHcq5aJe0jOjpfzUU8PeSaBQnrE8ehR0QA5vs8PQ==", + "license": "MIT", "dependencies": { - "@types/unist": "^2.0.0", - "character-entities": "^2.0.0", - "character-entities-legacy": "^3.0.0", - "character-reference-invalid": "^2.0.0", - "decode-named-character-reference": "^1.0.0", - "is-alphanumerical": "^2.0.0", - "is-decimal": "^2.0.0", - "is-hexadecimal": "^2.0.0" + "postcss-selector-parser": "^6.0.11", + "postcss-value-parser": "^4.2.0" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.2.2" } }, - "node_modules/parse-entities/node_modules/@types/unist": { - "version": "2.0.9", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.9.tgz", - "integrity": "sha512-zC0iXxAv1C1ERURduJueYzkzZ2zaGyc+P2c95hgkikHPr3z8EdUZOlgEQ5X0DRmwDZn+hekycQnoeiiRVrmilQ==" - }, - "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==", + "node_modules/postcss-colormin": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-6.1.0.tgz", + "integrity": "sha512-x9yX7DOxeMAR+BgGVnNSAxmAj98NX/YxEMNFP+SDCEeNLb2r3i6Hh1ksMsnW8Ub5SLCpbescQqn9YEbE9554Sw==", + "license": "MIT", "dependencies": { - "@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" + "browserslist": "^4.23.0", + "caniuse-api": "^3.0.0", + "colord": "^2.9.3", + "postcss-value-parser": "^4.2.0" }, "engines": { - "node": ">=8" + "node": "^14 || ^16 || >=18.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "postcss": "^8.4.31" } }, - "node_modules/parse-numeric-range": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/parse-numeric-range/-/parse-numeric-range-1.3.0.tgz", - "integrity": "sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ==" - }, - "node_modules/parse5": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", - "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "node_modules/postcss-convert-values": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-6.1.0.tgz", + "integrity": "sha512-zx8IwP/ts9WvUM6NkVSkiU902QZL1bwPhaVaLynPtCsOTqp+ZKbNi+s6XJg3rfqpKGA/oc7Oxk5t8pOQJcwl/w==", + "license": "MIT", "dependencies": { - "entities": "^4.4.0" + "browserslist": "^4.23.0", + "postcss-value-parser": "^4.2.0" }, - "funding": { - "url": "https://github.com/inikulin/parse5?sponsor=1" + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" } }, - "node_modules/parse5-htmlparser2-tree-adapter": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz", - "integrity": "sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==", - "dependencies": { - "domhandler": "^5.0.2", - "parse5": "^7.0.0" + "node_modules/postcss-discard-comments": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-6.0.2.tgz", + "integrity": "sha512-65w/uIqhSBBfQmYnG92FO1mWZjJ4GL5b8atm5Yw2UgrwD7HiNiSSNwJor1eCFGzUgYnN/iIknhNRVqjrrpuglw==", + "license": "MIT", + "engines": { + "node": "^14 || ^16 || >=18.0" }, - "funding": { - "url": "https://github.com/inikulin/parse5?sponsor=1" + "peerDependencies": { + "postcss": "^8.4.31" } }, - "node_modules/parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "node_modules/postcss-discard-duplicates": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-6.0.3.tgz", + "integrity": "sha512-+JA0DCvc5XvFAxwx6f/e68gQu/7Z9ud584VLmcgto28eB8FqSFZwtrLwB5Kcp70eIoWP/HXqz4wpo8rD8gpsTw==", + "license": "MIT", "engines": { - "node": ">= 0.8" + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" } }, - "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/postcss-discard-empty": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-6.0.3.tgz", + "integrity": "sha512-znyno9cHKQsK6PtxL5D19Fj9uwSzC2mB74cpT66fhgOadEUPyXFkbgwm5tvc3bt3NAy8ltE5MrghxovZRVnOjQ==", + "license": "MIT", + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" } }, - "node_modules/path-exists": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", - "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", + "node_modules/postcss-discard-overridden": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-6.0.2.tgz", + "integrity": "sha512-j87xzI4LUggC5zND7KdjsI25APtyMuynXZSujByMaav2roV6OZX+8AaCUcZSWqckZpjAjRyFDdpqybgjFO0HJQ==", + "license": "MIT", "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" } }, - "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": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "node_modules/postcss-discard-unused": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-6.0.5.tgz", + "integrity": "sha512-wHalBlRHkaNnNwfC8z+ppX57VhvS+HWgjW508esjdaEYr3Mx7Gnn2xA4R/CKf5+Z9S5qsqC+Uzh4ueENWwCVUA==", + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.0.16" + }, "engines": { - "node": ">=0.10.0" + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" } }, - "node_modules/path-is-inside": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==" - }, - "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==", + "node_modules/postcss-loader": { + "version": "7.3.3", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-7.3.3.tgz", + "integrity": "sha512-YgO/yhtevGO/vJePCQmTxiaEwER94LABZN0ZMT4A0vsak9TpO+RvKRs7EmJ8peIlB9xfXCsS7M8LjqncsUZ5HA==", + "license": "MIT", + "dependencies": { + "cosmiconfig": "^8.2.0", + "jiti": "^1.18.2", + "semver": "^7.3.8" + }, "engines": { - "node": ">=8" + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "postcss": "^7.0.0 || ^8.0.1", + "webpack": "^5.0.0" } }, - "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-root": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz", - "integrity": "sha512-QLcPegTHF11axjfojBIoDygmS2E3Lf+8+jI6wOVmNVenrKSo3mFdSGiIgdSHenczw3wPtlVMQaFVwGmM7BJdtg==", + "node_modules/postcss-merge-idents": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-6.0.3.tgz", + "integrity": "sha512-1oIoAsODUs6IHQZkLQGO15uGEbK3EAl5wi9SS8hs45VgsxQfMnxvt+L+zIr7ifZFIH14cfAeVe2uCTa+SPRa3g==", + "license": "MIT", "dependencies": { - "path-root-regex": "^0.1.0" + "cssnano-utils": "^4.0.2", + "postcss-value-parser": "^4.2.0" }, "engines": { - "node": ">=0.10.0" + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" } }, - "node_modules/path-root-regex": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz", - "integrity": "sha512-4GlJ6rZDhQZFE0DPVKh0e9jmZ5egZfxTkp7bcRDuPlJXbAwhxcl2dINPUAsjLdejqaLsCeg8axcLjIbvBjN4pQ==", + "node_modules/postcss-merge-longhand": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-6.0.5.tgz", + "integrity": "sha512-5LOiordeTfi64QhICp07nzzuTDjNSO8g5Ksdibt44d+uvIIAE1oZdRn8y/W5ZtYgRH/lnLDlvi9F8btZcVzu3w==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0", + "stylehacks": "^6.1.1" + }, "engines": { - "node": ">=0.10.0" + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" } }, - "node_modules/path-scurry": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.2.tgz", - "integrity": "sha512-7xTavNy5RQXnsjANvVvMkEjvloOinkAjv/Z6Ildz9v2RinZ4SBKTWFOVRbaF8p0vpHnyjV/UwNDdKuUv6M5qcA==", + "node_modules/postcss-merge-rules": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-6.1.1.tgz", + "integrity": "sha512-KOdWF0gju31AQPZiD+2Ar9Qjowz1LTChSjFFbS+e2sFgc4uHOp3ZvVX4sNeTlk0w2O31ecFGgrFzhO0RSWbWwQ==", + "license": "MIT", "dependencies": { - "lru-cache": "^10.2.0", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + "browserslist": "^4.23.0", + "caniuse-api": "^3.0.0", + "cssnano-utils": "^4.0.2", + "postcss-selector-parser": "^6.0.16" }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": "^14 || ^16 || >=18.0" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "peerDependencies": { + "postcss": "^8.4.31" } }, - "node_modules/path-scurry/node_modules/lru-cache": { - "version": "10.2.2", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.2.tgz", - "integrity": "sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==", + "node_modules/postcss-minify-font-values": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-6.1.0.tgz", + "integrity": "sha512-gklfI/n+9rTh8nYaSJXlCo3nOKqMNkxuGpTn/Qm0gstL3ywTr9/WRKznE+oy6fvfolH6dF+QM4nCo8yPLdvGJg==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, "engines": { - "node": "14 || >=16.14" + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" } }, - "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==", + "node_modules/postcss-minify-gradients": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-6.0.3.tgz", + "integrity": "sha512-4KXAHrYlzF0Rr7uc4VrfwDJ2ajrtNEpNEuLxFgwkhFZ56/7gaE4Nr49nLsQDZyUe+ds+kEhf+YAUolJiYXF8+Q==", + "license": "MIT", "dependencies": { - "isarray": "0.0.1" - } - }, - "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==", + "colord": "^2.9.3", + "cssnano-utils": "^4.0.2", + "postcss-value-parser": "^4.2.0" + }, "engines": { - "node": ">=8" + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" } }, - "node_modules/periscopic": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/periscopic/-/periscopic-3.1.0.tgz", - "integrity": "sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==", + "node_modules/postcss-minify-params": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-6.1.0.tgz", + "integrity": "sha512-bmSKnDtyyE8ujHQK0RQJDIKhQ20Jq1LYiez54WiaOoBtcSuflfK3Nm596LvbtlFcpipMjgClQGyGr7GAs+H1uA==", + "license": "MIT", "dependencies": { - "@types/estree": "^1.0.0", - "estree-walker": "^3.0.0", - "is-reference": "^3.0.0" + "browserslist": "^4.23.0", + "cssnano-utils": "^4.0.2", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" } }, - "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "node_modules/postcss-minify-selectors": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-6.0.4.tgz", + "integrity": "sha512-L8dZSwNLgK7pjTto9PzWRoMbnLq5vsZSTu8+j1P/2GB8qdtGQfn+K1uSvFgYvgh83cbyxT5m43ZZhUMTJDSClQ==", + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.0.16" + }, "engines": { - "node": ">=8.6" + "node": "^14 || ^16 || >=18.0" }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" + "peerDependencies": { + "postcss": "^8.4.31" } }, - "node_modules/pirates": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", - "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "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==", + "license": "ISC", "engines": { - "node": ">= 6" + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" } }, - "node_modules/pkg-dir": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-7.0.0.tgz", - "integrity": "sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==", + "node_modules/postcss-modules-local-by-default": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.3.tgz", + "integrity": "sha512-2/u2zraspoACtrbFRnTijMiQtb4GW4BvatjaG/bCjYQo8kLTdevCUlwuBHx2sCnSyrI3x3qj4ZK1j5LQBgzmwA==", + "license": "MIT", "dependencies": { - "find-up": "^6.3.0" + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" }, "engines": { - "node": ">=14.16" + "node": "^10 || ^12 || >= 14" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "postcss": "^8.1.0" } }, - "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==", + "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==", + "license": "ISC", "dependencies": { - "find-up": "^3.0.0" + "postcss-selector-parser": "^6.0.4" }, "engines": { - "node": ">=8" + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" } }, - "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==", + "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==", + "license": "ISC", "dependencies": { - "locate-path": "^3.0.0" + "icss-utils": "^5.0.0" }, "engines": { - "node": ">=6" + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" } }, - "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" - }, + "node_modules/postcss-normalize-charset": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-6.0.2.tgz", + "integrity": "sha512-a8N9czmdnrjPHa3DeFlwqst5eaL5W8jYu3EBbTTkI5FHkfMhFZh1EGbku6jhHhIzTA6tquI2P42NtZ59M/H/kQ==", + "license": "MIT", "engines": { - "node": ">=6" + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" } }, - "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==", + "node_modules/postcss-normalize-display-values": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-6.0.2.tgz", + "integrity": "sha512-8H04Mxsb82ON/aAkPeq8kcBbAtI5Q2a64X/mnRRfPXBq7XeogoQvReqxEfc0B4WPq1KimjezNC8flUtC3Qz6jg==", + "license": "MIT", "dependencies": { - "p-try": "^2.0.0" + "postcss-value-parser": "^4.2.0" }, "engines": { - "node": ">=6" + "node": "^14 || ^16 || >=18.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "postcss": "^8.4.31" } }, - "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==", + "node_modules/postcss-normalize-positions": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-6.0.2.tgz", + "integrity": "sha512-/JFzI441OAB9O7VnLA+RtSNZvQ0NCFZDOtp6QPFo1iIyawyXg0YI3CYM9HBy1WvwCRHnPep/BvI1+dGPKoXx/Q==", + "license": "MIT", "dependencies": { - "p-limit": "^2.0.0" + "postcss-value-parser": "^4.2.0" }, "engines": { - "node": ">=6" + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" } }, - "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": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "node_modules/postcss-normalize-repeat-style": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-6.0.2.tgz", + "integrity": "sha512-YdCgsfHkJ2jEXwR4RR3Tm/iOxSfdRt7jplS6XRh9Js9PyCR/aka/FCb6TuHT2U8gQubbm/mPmF6L7FY9d79VwQ==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, "engines": { - "node": ">=4" + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" } }, - "node_modules/postcss": { - "version": "8.4.38", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz", - "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], + "node_modules/postcss-normalize-string": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-6.0.2.tgz", + "integrity": "sha512-vQZIivlxlfqqMp4L9PZsFE4YUkWniziKjQWUtsxUiVsSSPelQydwS8Wwcuw0+83ZjPWNTl02oxlIvXsmmG+CiQ==", + "license": "MIT", "dependencies": { - "nanoid": "^3.3.7", - "picocolors": "^1.0.0", - "source-map-js": "^1.2.0" + "postcss-value-parser": "^4.2.0" }, "engines": { - "node": "^10 || ^12 || >=14" + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" } }, - "node_modules/postcss-calc": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-9.0.1.tgz", - "integrity": "sha512-TipgjGyzP5QzEhsOZUaIkeO5mKeMFpebWzRogWG/ysonUlnHcq5aJe0jOjpfzUU8PeSaBQnrE8ehR0QA5vs8PQ==", + "node_modules/postcss-normalize-timing-functions": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-6.0.2.tgz", + "integrity": "sha512-a+YrtMox4TBtId/AEwbA03VcJgtyW4dGBizPl7e88cTFULYsprgHWTbfyjSLyHeBcK/Q9JhXkt2ZXiwaVHoMzA==", + "license": "MIT", "dependencies": { - "postcss-selector-parser": "^6.0.11", "postcss-value-parser": "^4.2.0" }, "engines": { "node": "^14 || ^16 || >=18.0" }, "peerDependencies": { - "postcss": "^8.2.2" + "postcss": "^8.4.31" } }, - "node_modules/postcss-colormin": { + "node_modules/postcss-normalize-unicode": { "version": "6.1.0", - "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-6.1.0.tgz", - "integrity": "sha512-x9yX7DOxeMAR+BgGVnNSAxmAj98NX/YxEMNFP+SDCEeNLb2r3i6Hh1ksMsnW8Ub5SLCpbescQqn9YEbE9554Sw==", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-6.1.0.tgz", + "integrity": "sha512-QVC5TQHsVj33otj8/JD869Ndr5Xcc/+fwRh4HAsFsAeygQQXm+0PySrKbr/8tkDKzW+EVT3QkqZMfFrGiossDg==", + "license": "MIT", "dependencies": { "browserslist": "^4.23.0", - "caniuse-api": "^3.0.0", - "colord": "^2.9.3", "postcss-value-parser": "^4.2.0" }, "engines": { @@ -12074,12 +15354,12 @@ "postcss": "^8.4.31" } }, - "node_modules/postcss-convert-values": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-6.1.0.tgz", - "integrity": "sha512-zx8IwP/ts9WvUM6NkVSkiU902QZL1bwPhaVaLynPtCsOTqp+ZKbNi+s6XJg3rfqpKGA/oc7Oxk5t8pOQJcwl/w==", + "node_modules/postcss-normalize-url": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-6.0.2.tgz", + "integrity": "sha512-kVNcWhCeKAzZ8B4pv/DnrU1wNh458zBNp8dh4y5hhxih5RZQ12QWMuQrDgPRw3LRl8mN9vOVfHl7uhvHYMoXsQ==", + "license": "MIT", "dependencies": { - "browserslist": "^4.23.0", "postcss-value-parser": "^4.2.0" }, "engines": { @@ -12089,10 +15369,14 @@ "postcss": "^8.4.31" } }, - "node_modules/postcss-discard-comments": { + "node_modules/postcss-normalize-whitespace": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-6.0.2.tgz", - "integrity": "sha512-65w/uIqhSBBfQmYnG92FO1mWZjJ4GL5b8atm5Yw2UgrwD7HiNiSSNwJor1eCFGzUgYnN/iIknhNRVqjrrpuglw==", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-6.0.2.tgz", + "integrity": "sha512-sXZ2Nj1icbJOKmdjXVT9pnyHQKiSAyuNQHSgRCUgThn2388Y9cGVDR+E9J9iAYbSbLHI+UUwLVl1Wzco/zgv0Q==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, "engines": { "node": "^14 || ^16 || >=18.0" }, @@ -12100,10 +15384,15 @@ "postcss": "^8.4.31" } }, - "node_modules/postcss-discard-duplicates": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-6.0.3.tgz", - "integrity": "sha512-+JA0DCvc5XvFAxwx6f/e68gQu/7Z9ud584VLmcgto28eB8FqSFZwtrLwB5Kcp70eIoWP/HXqz4wpo8rD8gpsTw==", + "node_modules/postcss-ordered-values": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-6.0.2.tgz", + "integrity": "sha512-VRZSOB+JU32RsEAQrO94QPkClGPKJEL/Z9PCBImXMhIeK5KAYo6slP/hBYlLgrCjFxyqvn5VC81tycFEDBLG1Q==", + "license": "MIT", + "dependencies": { + "cssnano-utils": "^4.0.2", + "postcss-value-parser": "^4.2.0" + }, "engines": { "node": "^14 || ^16 || >=18.0" }, @@ -12111,10 +15400,14 @@ "postcss": "^8.4.31" } }, - "node_modules/postcss-discard-empty": { + "node_modules/postcss-reduce-idents": { "version": "6.0.3", - "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-6.0.3.tgz", - "integrity": "sha512-znyno9cHKQsK6PtxL5D19Fj9uwSzC2mB74cpT66fhgOadEUPyXFkbgwm5tvc3bt3NAy8ltE5MrghxovZRVnOjQ==", + "resolved": "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-6.0.3.tgz", + "integrity": "sha512-G3yCqZDpsNPoQgbDUy3T0E6hqOQ5xigUtBQyrmq3tn2GxlyiL0yyl7H+T8ulQR6kOcHJ9t7/9H4/R2tv8tJbMA==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, "engines": { "node": "^14 || ^16 || >=18.0" }, @@ -12122,10 +15415,15 @@ "postcss": "^8.4.31" } }, - "node_modules/postcss-discard-overridden": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-6.0.2.tgz", - "integrity": "sha512-j87xzI4LUggC5zND7KdjsI25APtyMuynXZSujByMaav2roV6OZX+8AaCUcZSWqckZpjAjRyFDdpqybgjFO0HJQ==", + "node_modules/postcss-reduce-initial": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-6.1.0.tgz", + "integrity": "sha512-RarLgBK/CrL1qZags04oKbVbrrVK2wcxhvta3GCxrZO4zveibqbRPmm2VI8sSgCXwoUHEliRSbOfpR0b/VIoiw==", + "license": "MIT", + "dependencies": { + "browserslist": "^4.23.0", + "caniuse-api": "^3.0.0" + }, "engines": { "node": "^14 || ^16 || >=18.0" }, @@ -12133,12 +15431,13 @@ "postcss": "^8.4.31" } }, - "node_modules/postcss-discard-unused": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-6.0.5.tgz", - "integrity": "sha512-wHalBlRHkaNnNwfC8z+ppX57VhvS+HWgjW508esjdaEYr3Mx7Gnn2xA4R/CKf5+Z9S5qsqC+Uzh4ueENWwCVUA==", + "node_modules/postcss-reduce-transforms": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-6.0.2.tgz", + "integrity": "sha512-sB+Ya++3Xj1WaT9+5LOOdirAxP7dJZms3GRcYheSPi1PiTMigsxHAdkrbItHxwYHr4kt1zL7mmcHstgMYT+aiA==", + "license": "MIT", "dependencies": { - "postcss-selector-parser": "^6.0.16" + "postcss-value-parser": "^4.2.0" }, "engines": { "node": "^14 || ^16 || >=18.0" @@ -12147,49 +15446,57 @@ "postcss": "^8.4.31" } }, - "node_modules/postcss-loader": { - "version": "7.3.3", - "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-7.3.3.tgz", - "integrity": "sha512-YgO/yhtevGO/vJePCQmTxiaEwER94LABZN0ZMT4A0vsak9TpO+RvKRs7EmJ8peIlB9xfXCsS7M8LjqncsUZ5HA==", + "node_modules/postcss-selector-parser": { + "version": "6.0.16", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.16.tgz", + "integrity": "sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==", + "license": "MIT", "dependencies": { - "cosmiconfig": "^8.2.0", - "jiti": "^1.18.2", - "semver": "^7.3.8" + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" }, "engines": { - "node": ">= 14.15.0" + "node": ">=4" + } + }, + "node_modules/postcss-sort-media-queries": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/postcss-sort-media-queries/-/postcss-sort-media-queries-5.2.0.tgz", + "integrity": "sha512-AZ5fDMLD8SldlAYlvi8NIqo0+Z8xnXU2ia0jxmuhxAU+Lqt9K+AlmLNJ/zWEnE9x+Zx3qL3+1K20ATgNOr3fAA==", + "license": "MIT", + "dependencies": { + "sort-css-media-queries": "2.2.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "engines": { + "node": ">=14.0.0" }, "peerDependencies": { - "postcss": "^7.0.0 || ^8.0.1", - "webpack": "^5.0.0" + "postcss": "^8.4.23" } }, - "node_modules/postcss-merge-idents": { + "node_modules/postcss-svgo": { "version": "6.0.3", - "resolved": "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-6.0.3.tgz", - "integrity": "sha512-1oIoAsODUs6IHQZkLQGO15uGEbK3EAl5wi9SS8hs45VgsxQfMnxvt+L+zIr7ifZFIH14cfAeVe2uCTa+SPRa3g==", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-6.0.3.tgz", + "integrity": "sha512-dlrahRmxP22bX6iKEjOM+c8/1p+81asjKT+V5lrgOH944ryx/OHpclnIbGsKVd3uWOXFLYJwCVf0eEkJGvO96g==", + "license": "MIT", "dependencies": { - "cssnano-utils": "^4.0.2", - "postcss-value-parser": "^4.2.0" + "postcss-value-parser": "^4.2.0", + "svgo": "^3.2.0" }, "engines": { - "node": "^14 || ^16 || >=18.0" + "node": "^14 || ^16 || >= 18" }, "peerDependencies": { "postcss": "^8.4.31" } }, - "node_modules/postcss-merge-longhand": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-6.0.5.tgz", - "integrity": "sha512-5LOiordeTfi64QhICp07nzzuTDjNSO8g5Ksdibt44d+uvIIAE1oZdRn8y/W5ZtYgRH/lnLDlvi9F8btZcVzu3w==", + "node_modules/postcss-unique-selectors": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-6.0.4.tgz", + "integrity": "sha512-K38OCaIrO8+PzpArzkLKB42dSARtC2tmG6PvD4b1o1Q2E9Os8jzfWFfSy/rixsHwohtsDdFtAWGjFVFUdwYaMg==", + "license": "MIT", "dependencies": { - "postcss-value-parser": "^4.2.0", - "stylehacks": "^6.1.1" + "postcss-selector-parser": "^6.0.16" }, "engines": { "node": "^14 || ^16 || >=18.0" @@ -12198,16 +15505,17 @@ "postcss": "^8.4.31" } }, - "node_modules/postcss-merge-rules": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-6.1.1.tgz", - "integrity": "sha512-KOdWF0gju31AQPZiD+2Ar9Qjowz1LTChSjFFbS+e2sFgc4uHOp3ZvVX4sNeTlk0w2O31ecFGgrFzhO0RSWbWwQ==", - "dependencies": { - "browserslist": "^4.23.0", - "caniuse-api": "^3.0.0", - "cssnano-utils": "^4.0.2", - "postcss-selector-parser": "^6.0.16" - }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "license": "MIT" + }, + "node_modules/postcss-zindex": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-6.0.2.tgz", + "integrity": "sha512-5BxW9l1evPB/4ZIc+2GobEBoKC+h8gPGCMi+jxsYvd2x0mjq7wazk6DrP71pStqxE9Foxh5TVnonbWpFZzXaYg==", + "license": "MIT", "engines": { "node": "^14 || ^16 || >=18.0" }, @@ -12215,477 +15523,588 @@ "postcss": "^8.4.31" } }, - "node_modules/postcss-minify-font-values": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-6.1.0.tgz", - "integrity": "sha512-gklfI/n+9rTh8nYaSJXlCo3nOKqMNkxuGpTn/Qm0gstL3ywTr9/WRKznE+oy6fvfolH6dF+QM4nCo8yPLdvGJg==", + "node_modules/postman-url-encoder": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/postman-url-encoder/-/postman-url-encoder-3.0.5.tgz", + "integrity": "sha512-jOrdVvzUXBC7C+9gkIkpDJ3HIxOHTIqjpQ4C1EMt1ZGeMvSEpbFCKq23DEfgsj46vMnDgyQf+1ZLp2Wm+bKSsA==", + "license": "Apache-2.0", "dependencies": { - "postcss-value-parser": "^4.2.0" + "punycode": "^2.1.1" }, "engines": { - "node": "^14 || ^16 || >=18.0" + "node": ">=10" + } + }, + "node_modules/postman-url-encoder/node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/prebuild-install": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.1.tgz", + "integrity": "sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw==", + "license": "MIT", + "dependencies": { + "detect-libc": "^2.0.0", + "expand-template": "^2.0.3", + "github-from-package": "0.0.0", + "minimist": "^1.2.3", + "mkdirp-classic": "^0.5.3", + "napi-build-utils": "^1.0.1", + "node-abi": "^3.3.0", + "pump": "^3.0.0", + "rc": "^1.2.7", + "simple-get": "^4.0.0", + "tar-fs": "^2.0.0", + "tunnel-agent": "^0.6.0" }, - "peerDependencies": { - "postcss": "^8.4.31" + "bin": { + "prebuild-install": "bin.js" + }, + "engines": { + "node": ">=10" } }, - "node_modules/postcss-minify-gradients": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-6.0.3.tgz", - "integrity": "sha512-4KXAHrYlzF0Rr7uc4VrfwDJ2ajrtNEpNEuLxFgwkhFZ56/7gaE4Nr49nLsQDZyUe+ds+kEhf+YAUolJiYXF8+Q==", + "node_modules/prebuild-install/node_modules/tar-fs": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", + "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", + "license": "MIT", "dependencies": { - "colord": "^2.9.3", - "cssnano-utils": "^4.0.2", - "postcss-value-parser": "^4.2.0" + "chownr": "^1.1.1", + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^2.1.4" + } + }, + "node_modules/prebuild-install/node_modules/tar-stream": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "license": "MIT", + "dependencies": { + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" }, "engines": { - "node": "^14 || ^16 || >=18.0" + "node": ">=6" + } + }, + "node_modules/prettier": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.1.tgz", + "integrity": "sha512-7CAwy5dRsxs8PHXT3twixW9/OEll8MLE0VRPCJyl7CkS6VHGPSlsVaWTiASPTyGyYRyApxlaWTzwUxVNrhcwDg==", + "bin": { + "prettier": "bin/prettier.cjs" }, - "peerDependencies": { - "postcss": "^8.4.31" + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" } }, - "node_modules/postcss-minify-params": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-6.1.0.tgz", - "integrity": "sha512-bmSKnDtyyE8ujHQK0RQJDIKhQ20Jq1LYiez54WiaOoBtcSuflfK3Nm596LvbtlFcpipMjgClQGyGr7GAs+H1uA==", + "node_modules/pretty-error": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz", + "integrity": "sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==", + "license": "MIT", "dependencies": { - "browserslist": "^4.23.0", - "cssnano-utils": "^4.0.2", - "postcss-value-parser": "^4.2.0" + "lodash": "^4.17.20", + "renderkid": "^3.0.0" + } + }, + "node_modules/pretty-quick": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/pretty-quick/-/pretty-quick-4.0.0.tgz", + "integrity": "sha512-M+2MmeufXb/M7Xw3Afh1gxcYpj+sK0AxEfnfF958ktFeAyi5MsKY5brymVURQLgPLV1QaF5P4pb2oFJ54H3yzQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "execa": "^5.1.1", + "find-up": "^5.0.0", + "ignore": "^5.3.0", + "mri": "^1.2.0", + "picocolors": "^1.0.0", + "picomatch": "^3.0.1", + "tslib": "^2.6.2" + }, + "bin": { + "pretty-quick": "lib/cli.mjs" }, "engines": { - "node": "^14 || ^16 || >=18.0" + "node": ">=14" }, "peerDependencies": { - "postcss": "^8.4.31" + "prettier": "^3.0.0" } }, - "node_modules/postcss-minify-selectors": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-6.0.4.tgz", - "integrity": "sha512-L8dZSwNLgK7pjTto9PzWRoMbnLq5vsZSTu8+j1P/2GB8qdtGQfn+K1uSvFgYvgh83cbyxT5m43ZZhUMTJDSClQ==", + "node_modules/pretty-quick/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==", + "dev": true, + "license": "MIT", "dependencies": { - "postcss-selector-parser": "^6.0.16" + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" }, "engines": { - "node": "^14 || ^16 || >=18.0" + "node": ">=10" }, - "peerDependencies": { - "postcss": "^8.4.31" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "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==", + "node_modules/pretty-quick/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==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, "engines": { - "node": "^10 || ^12 || >= 14" + "node": ">=10" }, - "peerDependencies": { - "postcss": "^8.1.0" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/postcss-modules-local-by-default": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.3.tgz", - "integrity": "sha512-2/u2zraspoACtrbFRnTijMiQtb4GW4BvatjaG/bCjYQo8kLTdevCUlwuBHx2sCnSyrI3x3qj4ZK1j5LQBgzmwA==", + "node_modules/pretty-quick/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==", + "dev": true, + "license": "MIT", "dependencies": { - "icss-utils": "^5.0.0", - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.1.0" + "yocto-queue": "^0.1.0" }, "engines": { - "node": "^10 || ^12 || >= 14" + "node": ">=10" }, - "peerDependencies": { - "postcss": "^8.1.0" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "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==", + "node_modules/pretty-quick/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==", + "dev": true, + "license": "MIT", "dependencies": { - "postcss-selector-parser": "^6.0.4" + "p-limit": "^3.0.2" }, "engines": { - "node": "^10 || ^12 || >= 14" + "node": ">=10" }, - "peerDependencies": { - "postcss": "^8.1.0" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/postcss-modules-values": { + "node_modules/pretty-quick/node_modules/path-exists": { "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" - }, + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "license": "MIT", "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" + "node": ">=8" } }, - "node_modules/postcss-normalize-charset": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-6.0.2.tgz", - "integrity": "sha512-a8N9czmdnrjPHa3DeFlwqst5eaL5W8jYu3EBbTTkI5FHkfMhFZh1EGbku6jhHhIzTA6tquI2P42NtZ59M/H/kQ==", + "node_modules/pretty-quick/node_modules/picomatch": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-3.0.1.tgz", + "integrity": "sha512-I3EurrIQMlRc9IaAZnqRR044Phh2DXY+55o7uJ0V+hYZAcQYSuFWsc9q5PvyDHUSCe1Qxn/iBz+78s86zWnGag==", + "dev": true, + "license": "MIT", "engines": { - "node": "^14 || ^16 || >=18.0" + "node": ">=10" }, - "peerDependencies": { - "postcss": "^8.4.31" + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/postcss-normalize-display-values": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-6.0.2.tgz", - "integrity": "sha512-8H04Mxsb82ON/aAkPeq8kcBbAtI5Q2a64X/mnRRfPXBq7XeogoQvReqxEfc0B4WPq1KimjezNC8flUtC3Qz6jg==", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, + "node_modules/pretty-quick/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==", + "dev": true, + "license": "MIT", "engines": { - "node": "^14 || ^16 || >=18.0" + "node": ">=10" }, - "peerDependencies": { - "postcss": "^8.4.31" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/postcss-normalize-positions": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-6.0.2.tgz", - "integrity": "sha512-/JFzI441OAB9O7VnLA+RtSNZvQ0NCFZDOtp6QPFo1iIyawyXg0YI3CYM9HBy1WvwCRHnPep/BvI1+dGPKoXx/Q==", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, + "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==", + "license": "MIT", "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" + "node": ">=4" } }, - "node_modules/postcss-normalize-repeat-style": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-6.0.2.tgz", - "integrity": "sha512-YdCgsfHkJ2jEXwR4RR3Tm/iOxSfdRt7jplS6XRh9Js9PyCR/aka/FCb6TuHT2U8gQubbm/mPmF6L7FY9d79VwQ==", + "node_modules/prism-react-renderer": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/prism-react-renderer/-/prism-react-renderer-2.3.1.tgz", + "integrity": "sha512-Rdf+HzBLR7KYjzpJ1rSoxT9ioO85nZngQEoFIhL07XhtJHlCU3SOz0GJ6+qvMyQe0Se+BV3qpe6Yd/NmQF5Juw==", + "license": "MIT", "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" + "@types/prismjs": "^1.26.0", + "clsx": "^2.0.0" }, "peerDependencies": { - "postcss": "^8.4.31" + "react": ">=16.0.0" } }, - "node_modules/postcss-normalize-string": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-6.0.2.tgz", - "integrity": "sha512-vQZIivlxlfqqMp4L9PZsFE4YUkWniziKjQWUtsxUiVsSSPelQydwS8Wwcuw0+83ZjPWNTl02oxlIvXsmmG+CiQ==", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, + "node_modules/prismjs": { + "version": "1.29.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz", + "integrity": "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==", + "license": "MIT", "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" + "node": ">=6" } }, - "node_modules/postcss-normalize-timing-functions": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-6.0.2.tgz", - "integrity": "sha512-a+YrtMox4TBtId/AEwbA03VcJgtyW4dGBizPl7e88cTFULYsprgHWTbfyjSLyHeBcK/Q9JhXkt2ZXiwaVHoMzA==", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, + "node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", + "license": "MIT", "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" + "node": ">= 0.6.0" } }, - "node_modules/postcss-normalize-unicode": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-6.1.0.tgz", - "integrity": "sha512-QVC5TQHsVj33otj8/JD869Ndr5Xcc/+fwRh4HAsFsAeygQQXm+0PySrKbr/8tkDKzW+EVT3QkqZMfFrGiossDg==", + "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==", + "license": "MIT" + }, + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "license": "MIT", "dependencies": { - "browserslist": "^4.23.0", - "postcss-value-parser": "^4.2.0" + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" }, "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" + "node": ">= 6" } }, - "node_modules/postcss-normalize-url": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-6.0.2.tgz", - "integrity": "sha512-kVNcWhCeKAzZ8B4pv/DnrU1wNh458zBNp8dh4y5hhxih5RZQ12QWMuQrDgPRw3LRl8mN9vOVfHl7uhvHYMoXsQ==", + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "license": "MIT", "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" } }, - "node_modules/postcss-normalize-whitespace": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-6.0.2.tgz", - "integrity": "sha512-sXZ2Nj1icbJOKmdjXVT9pnyHQKiSAyuNQHSgRCUgThn2388Y9cGVDR+E9J9iAYbSbLHI+UUwLVl1Wzco/zgv0Q==", + "node_modules/property-information": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-6.4.0.tgz", + "integrity": "sha512-9t5qARVofg2xQqKtytzt+lZ4d1Qvj8t5B8fEwXK6qOfgRLgH/b13QlgEyDh033NOS31nXeFbYv7CLUDG1CeifQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/proto-list": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", + "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==", + "license": "ISC" + }, + "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==", + "license": "MIT", "dependencies": { - "postcss-value-parser": "^4.2.0" + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" }, "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" + "node": ">= 0.10" } }, - "node_modules/postcss-ordered-values": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-6.0.2.tgz", - "integrity": "sha512-VRZSOB+JU32RsEAQrO94QPkClGPKJEL/Z9PCBImXMhIeK5KAYo6slP/hBYlLgrCjFxyqvn5VC81tycFEDBLG1Q==", - "dependencies": { - "cssnano-utils": "^4.0.2", - "postcss-value-parser": "^4.2.0" - }, + "node_modules/proxy-addr/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==", + "license": "MIT", "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" + "node": ">= 0.10" } }, - "node_modules/postcss-reduce-idents": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-6.0.3.tgz", - "integrity": "sha512-G3yCqZDpsNPoQgbDUy3T0E6hqOQ5xigUtBQyrmq3tn2GxlyiL0yyl7H+T8ulQR6kOcHJ9t7/9H4/R2tv8tJbMA==", + "node_modules/public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "license": "MIT", "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1", + "safe-buffer": "^5.1.2" } }, - "node_modules/postcss-reduce-initial": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-6.1.0.tgz", - "integrity": "sha512-RarLgBK/CrL1qZags04oKbVbrrVK2wcxhvta3GCxrZO4zveibqbRPmm2VI8sSgCXwoUHEliRSbOfpR0b/VIoiw==", + "node_modules/public-encrypt/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "license": "MIT" + }, + "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==", + "license": "MIT", "dependencies": { - "browserslist": "^4.23.0", - "caniuse-api": "^3.0.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" + "end-of-stream": "^1.1.0", + "once": "^1.3.1" } }, - "node_modules/postcss-reduce-transforms": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-6.0.2.tgz", - "integrity": "sha512-sB+Ya++3Xj1WaT9+5LOOdirAxP7dJZms3GRcYheSPi1PiTMigsxHAdkrbItHxwYHr4kt1zL7mmcHstgMYT+aiA==", + "node_modules/punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", + "license": "MIT" + }, + "node_modules/pupa": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/pupa/-/pupa-3.1.0.tgz", + "integrity": "sha512-FLpr4flz5xZTSJxSeaheeMKN/EDzMdK7b8PTOC6a5PYFKTucWbdqjgqaEyH0shFiSJrVB1+Qqi4Tk19ccU6Aug==", + "license": "MIT", "dependencies": { - "postcss-value-parser": "^4.2.0" + "escape-goat": "^4.0.0" }, "engines": { - "node": "^14 || ^16 || >=18.0" + "node": ">=12.20" }, - "peerDependencies": { - "postcss": "^8.4.31" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/postcss-selector-parser": { - "version": "6.0.16", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.16.tgz", - "integrity": "sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==", + "node_modules/qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "license": "BSD-3-Clause", "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" + "side-channel": "^1.0.4" }, "engines": { - "node": ">=4" + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/postcss-sort-media-queries": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/postcss-sort-media-queries/-/postcss-sort-media-queries-5.2.0.tgz", - "integrity": "sha512-AZ5fDMLD8SldlAYlvi8NIqo0+Z8xnXU2ia0jxmuhxAU+Lqt9K+AlmLNJ/zWEnE9x+Zx3qL3+1K20ATgNOr3fAA==", - "dependencies": { - "sort-css-media-queries": "2.2.0" - }, + "node_modules/querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==", "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "postcss": "^8.4.23" + "node": ">=0.4.x" } }, - "node_modules/postcss-svgo": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-6.0.3.tgz", - "integrity": "sha512-dlrahRmxP22bX6iKEjOM+c8/1p+81asjKT+V5lrgOH944ryx/OHpclnIbGsKVd3uWOXFLYJwCVf0eEkJGvO96g==", + "node_modules/queue": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/queue/-/queue-6.0.2.tgz", + "integrity": "sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==", + "license": "MIT", "dependencies": { - "postcss-value-parser": "^4.2.0", - "svgo": "^3.2.0" - }, + "inherits": "~2.0.3" + } + }, + "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" + } + ], + "license": "MIT" + }, + "node_modules/queue-tick": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/queue-tick/-/queue-tick-1.0.1.tgz", + "integrity": "sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==", + "license": "MIT" + }, + "node_modules/quick-lru": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", + "license": "MIT", "engines": { - "node": "^14 || ^16 || >= 18" + "node": ">=10" }, - "peerDependencies": { - "postcss": "^8.4.31" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/postcss-unique-selectors": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-6.0.4.tgz", - "integrity": "sha512-K38OCaIrO8+PzpArzkLKB42dSARtC2tmG6PvD4b1o1Q2E9Os8jzfWFfSy/rixsHwohtsDdFtAWGjFVFUdwYaMg==", + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "license": "MIT", "dependencies": { - "postcss-selector-parser": "^6.0.16" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" + "safe-buffer": "^5.1.0" } }, - "node_modules/postcss-value-parser": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" + "node_modules/randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "license": "MIT", + "dependencies": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } }, - "node_modules/postcss-zindex": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-6.0.2.tgz", - "integrity": "sha512-5BxW9l1evPB/4ZIc+2GobEBoKC+h8gPGCMi+jxsYvd2x0mjq7wazk6DrP71pStqxE9Foxh5TVnonbWpFZzXaYg==", + "node_modules/range-parser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", + "integrity": "sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A==", + "license": "MIT", "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" + "node": ">= 0.6" } }, - "node_modules/prebuild-install": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.1.tgz", - "integrity": "sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw==", + "node_modules/raw-body": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", + "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", + "license": "MIT", "dependencies": { - "detect-libc": "^2.0.0", - "expand-template": "^2.0.3", - "github-from-package": "0.0.0", - "minimist": "^1.2.3", - "mkdirp-classic": "^0.5.3", - "napi-build-utils": "^1.0.1", - "node-abi": "^3.3.0", - "pump": "^3.0.0", - "rc": "^1.2.7", - "simple-get": "^4.0.0", - "tar-fs": "^2.0.0", - "tunnel-agent": "^0.6.0" - }, - "bin": { - "prebuild-install": "bin.js" + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" }, "engines": { - "node": ">=10" + "node": ">= 0.8" } }, - "node_modules/prebuild-install/node_modules/tar-fs": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", - "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", - "dependencies": { - "chownr": "^1.1.1", - "mkdirp-classic": "^0.5.2", - "pump": "^3.0.0", - "tar-stream": "^2.1.4" + "node_modules/raw-body/node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" } }, - "node_modules/prebuild-install/node_modules/tar-stream": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", - "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "node_modules/rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", "dependencies": { - "bl": "^4.0.3", - "end-of-stream": "^1.4.1", - "fs-constants": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1" + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" }, - "engines": { - "node": ">=6" - } - }, - "node_modules/prettier": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.0.tgz", - "integrity": "sha512-J9odKxERhCQ10OC2yb93583f6UnYutOeiV5i0zEDS7UGTdUt0u+y8erxl3lBKvwo/JHyyoEdXjwp4dke9oyZ/g==", "bin": { - "prettier": "bin/prettier.cjs" - }, + "rc": "cli.js" + } + }, + "node_modules/rc/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": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "license": "MIT", "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" + "node": ">=0.10.0" } }, - "node_modules/pretty-error": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz", - "integrity": "sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==", + "node_modules/react": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", + "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", + "license": "MIT", "dependencies": { - "lodash": "^4.17.20", - "renderkid": "^3.0.0" + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/pretty-quick": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/pretty-quick/-/pretty-quick-4.0.0.tgz", - "integrity": "sha512-M+2MmeufXb/M7Xw3Afh1gxcYpj+sK0AxEfnfF958ktFeAyi5MsKY5brymVURQLgPLV1QaF5P4pb2oFJ54H3yzQ==", - "dev": true, + "node_modules/react-dev-utils": { + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-12.0.1.tgz", + "integrity": "sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==", + "license": "MIT", "dependencies": { - "execa": "^5.1.1", + "@babel/code-frame": "^7.16.0", + "address": "^1.1.2", + "browserslist": "^4.18.1", + "chalk": "^4.1.2", + "cross-spawn": "^7.0.3", + "detect-port-alt": "^1.1.6", + "escape-string-regexp": "^4.0.0", + "filesize": "^8.0.6", "find-up": "^5.0.0", - "ignore": "^5.3.0", - "mri": "^1.2.0", - "picocolors": "^1.0.0", - "picomatch": "^3.0.1", - "tslib": "^2.6.2" - }, - "bin": { - "pretty-quick": "lib/cli.mjs" + "fork-ts-checker-webpack-plugin": "^6.5.0", + "global-modules": "^2.0.0", + "globby": "^11.0.4", + "gzip-size": "^6.0.0", + "immer": "^9.0.7", + "is-root": "^2.1.0", + "loader-utils": "^3.2.0", + "open": "^8.4.0", + "pkg-up": "^3.1.0", + "prompts": "^2.4.2", + "react-error-overlay": "^6.0.11", + "recursive-readdir": "^2.2.2", + "shell-quote": "^1.7.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" }, "engines": { "node": ">=14" - }, - "peerDependencies": { - "prettier": "^3.0.0" } }, - "node_modules/pretty-quick/node_modules/find-up": { + "node_modules/react-dev-utils/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==", - "dev": true, + "license": "MIT", "dependencies": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" @@ -12697,11 +16116,20 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/pretty-quick/node_modules/locate-path": { + "node_modules/react-dev-utils/node_modules/loader-utils": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.1.tgz", + "integrity": "sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==", + "license": "MIT", + "engines": { + "node": ">= 12.13.0" + } + }, + "node_modules/react-dev-utils/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==", - "dev": true, + "license": "MIT", "dependencies": { "p-locate": "^5.0.0" }, @@ -12712,11 +16140,11 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/pretty-quick/node_modules/p-limit": { + "node_modules/react-dev-utils/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==", - "dev": true, + "license": "MIT", "dependencies": { "yocto-queue": "^0.1.0" }, @@ -12727,11 +16155,11 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/pretty-quick/node_modules/p-locate": { + "node_modules/react-dev-utils/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==", - "dev": true, + "license": "MIT", "dependencies": { "p-limit": "^3.0.2" }, @@ -12742,535 +16170,911 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/pretty-quick/node_modules/path-exists": { + "node_modules/react-dev-utils/node_modules/path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/pretty-quick/node_modules/picomatch": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-3.0.1.tgz", - "integrity": "sha512-I3EurrIQMlRc9IaAZnqRR044Phh2DXY+55o7uJ0V+hYZAcQYSuFWsc9q5PvyDHUSCe1Qxn/iBz+78s86zWnGag==", - "dev": true, + "node_modules/react-dev-utils/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==", + "license": "MIT", "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/jonschlinkert" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/pretty-quick/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==", - "dev": true, + "node_modules/react-dom": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", + "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.2" + }, + "peerDependencies": { + "react": "^18.3.1" + } + }, + "node_modules/react-error-boundary": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/react-error-boundary/-/react-error-boundary-3.1.4.tgz", + "integrity": "sha512-uM9uPzZJTF6wRQORmSrvOIgt4lJ9MC1sNgEOj2XGsDTRE4kmpWxg7ENK9EWNKJRMAOY9z0MuF4yIfl6gp4sotA==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.12.5" + }, + "engines": { + "node": ">=10", + "npm": ">=6" + }, + "peerDependencies": { + "react": ">=16.13.1" + } + }, + "node_modules/react-error-overlay": { + "version": "6.0.11", + "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.11.tgz", + "integrity": "sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg==", + "license": "MIT" + }, + "node_modules/react-fast-compare": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.2.tgz", + "integrity": "sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==", + "license": "MIT" + }, + "node_modules/react-helmet-async": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/react-helmet-async/-/react-helmet-async-1.3.0.tgz", + "integrity": "sha512-9jZ57/dAn9t3q6hneQS0wukqC2ENOBgMNVEhb/ZG9ZSxUetzVIw4iAmEU38IaVg3QGYauQPhSeUTuIUtFglWpg==", + "license": "Apache-2.0", + "dependencies": { + "@babel/runtime": "^7.12.5", + "invariant": "^2.2.4", + "prop-types": "^15.7.2", + "react-fast-compare": "^3.2.0", + "shallowequal": "^1.1.0" + }, + "peerDependencies": { + "react": "^16.6.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.6.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/react-hook-form": { + "version": "7.51.5", + "resolved": "https://registry.npmjs.org/react-hook-form/-/react-hook-form-7.51.5.tgz", + "integrity": "sha512-J2ILT5gWx1XUIJRETiA7M19iXHlG74+6O3KApzvqB/w8S5NQR7AbU8HVZrMALdmDgWpRPYiZJl0zx8Z4L2mP6Q==", + "license": "MIT", + "engines": { + "node": ">=12.22.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/react-hook-form" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17 || ^18" + } + }, + "node_modules/react-hot-toast": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/react-hot-toast/-/react-hot-toast-2.4.1.tgz", + "integrity": "sha512-j8z+cQbWIM5LY37pR6uZR6D4LfseplqnuAO4co4u8917hBUvXlEqyP1ZzqVLcqoyUesZZv/ImreoCeHVDpE5pQ==", + "license": "MIT", + "dependencies": { + "goober": "^2.1.10" + }, "engines": { "node": ">=10" }, + "peerDependencies": { + "react": ">=16", + "react-dom": ">=16" + } + }, + "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==", + "license": "MIT" + }, + "node_modules/react-json-view-lite": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/react-json-view-lite/-/react-json-view-lite-1.4.0.tgz", + "integrity": "sha512-wh6F6uJyYAmQ4fK0e8dSQMEWuvTs2Wr3el3sLD9bambX1+pSWUVXIz1RFaoy3TI1mZ0FqdpKq9YgbgTTgyrmXA==", + "license": "MIT", + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "react": "^16.13.1 || ^17.0.0 || ^18.0.0" + } + }, + "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==", + "license": "MIT" + }, + "node_modules/react-live": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/react-live/-/react-live-4.1.6.tgz", + "integrity": "sha512-2oq3MADi3rupqZcdoHMrV9p+Eg/92BDds278ZuoOz8d68qw6ct0xZxX89MRxeChrnFHy1XPr8BVknDJNJNdvVw==", + "license": "MIT", + "dependencies": { + "prism-react-renderer": "^2.0.6", + "sucrase": "^3.31.0", + "use-editable": "^2.3.3" + }, + "engines": { + "node": ">= 0.12.0", + "npm": ">= 2.0.0" + }, + "peerDependencies": { + "react": ">=18.0.0", + "react-dom": ">=18.0.0" + } + }, + "node_modules/react-loadable": { + "name": "@docusaurus/react-loadable", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@docusaurus/react-loadable/-/react-loadable-6.0.0.tgz", + "integrity": "sha512-YMMxTUQV/QFSnbgrP3tjDzLHRg7vsbMn8e9HAa8o/1iXoiomo48b7sk/kkmWEuWNDPJVlKSJRB6Y2fHqdJk+SQ==", + "license": "MIT", + "dependencies": { + "@types/react": "*" + }, + "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==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.10.3" + }, + "engines": { + "node": ">=10.13.0" + }, + "peerDependencies": { + "react-loadable": "*", + "webpack": ">=4.41.1 || 5.x" + } + }, + "node_modules/react-magic-dropzone": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/react-magic-dropzone/-/react-magic-dropzone-1.0.1.tgz", + "integrity": "sha512-0BIROPARmXHpk4AS3eWBOsewxoM5ndk2psYP/JmbCq8tz3uR2LIV1XiroZ9PKrmDRMctpW+TvsBCtWasuS8vFA==", + "license": "MIT" + }, + "node_modules/react-markdown": { + "version": "8.0.7", + "resolved": "https://registry.npmjs.org/react-markdown/-/react-markdown-8.0.7.tgz", + "integrity": "sha512-bvWbzG4MtOU62XqBx3Xx+zB2raaFFsq4mYiAzfjXJMEz2sixgeAfraA3tvzULF02ZdOMUOKTBFFaZJDDrq+BJQ==", + "license": "MIT", + "dependencies": { + "@types/hast": "^2.0.0", + "@types/prop-types": "^15.0.0", + "@types/unist": "^2.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-whitespace": "^2.0.0", + "prop-types": "^15.0.0", + "property-information": "^6.0.0", + "react-is": "^18.0.0", + "remark-parse": "^10.0.0", + "remark-rehype": "^10.0.0", + "space-separated-tokens": "^2.0.0", + "style-to-object": "^0.4.0", + "unified": "^10.0.0", + "unist-util-visit": "^4.0.0", + "vfile": "^5.0.0" + }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/unified" + }, + "peerDependencies": { + "@types/react": ">=16", + "react": ">=16" } }, - "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/react-markdown/node_modules/@types/hast": { + "version": "2.3.10", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-2.3.10.tgz", + "integrity": "sha512-McWspRw8xx8J9HurkVBfYj0xKoE25tOFlHGdx4MJ5xORQrMGZNqJhVQWaIbm6Oyla5kYOXtDiopzKRJzEOkwJw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^2" } }, - "node_modules/prism-react-renderer": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/prism-react-renderer/-/prism-react-renderer-2.3.1.tgz", - "integrity": "sha512-Rdf+HzBLR7KYjzpJ1rSoxT9ioO85nZngQEoFIhL07XhtJHlCU3SOz0GJ6+qvMyQe0Se+BV3qpe6Yd/NmQF5Juw==", + "node_modules/react-markdown/node_modules/@types/mdast": { + "version": "3.0.15", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.15.tgz", + "integrity": "sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==", + "license": "MIT", "dependencies": { - "@types/prismjs": "^1.26.0", - "clsx": "^2.0.0" - }, - "peerDependencies": { - "react": ">=16.0.0" + "@types/unist": "^2" } }, - "node_modules/prismjs": { - "version": "1.29.0", - "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz", - "integrity": "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==", - "engines": { - "node": ">=6" - } + "node_modules/react-markdown/node_modules/@types/unist": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.10.tgz", + "integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==", + "license": "MIT" }, - "node_modules/process-nextick-args": { + "node_modules/react-markdown/node_modules/hast-util-whitespace": { "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==" + "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-2.0.1.tgz", + "integrity": "sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } }, - "node_modules/prompts": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", - "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "node_modules/react-markdown/node_modules/mdast-util-from-markdown": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-1.3.1.tgz", + "integrity": "sha512-4xTO/M8c82qBcnQc1tgpNtubGUW/Y1tBQ1B0i5CtSoelOLKFYlElIr3bvgREYYO5iRqbMY1YuqZng0GVOI8Qww==", + "license": "MIT", "dependencies": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" + "@types/mdast": "^3.0.0", + "@types/unist": "^2.0.0", + "decode-named-character-reference": "^1.0.0", + "mdast-util-to-string": "^3.1.0", + "micromark": "^3.0.0", + "micromark-util-decode-numeric-character-reference": "^1.0.0", + "micromark-util-decode-string": "^1.0.0", + "micromark-util-normalize-identifier": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "unist-util-stringify-position": "^3.0.0", + "uvu": "^0.5.0" }, - "engines": { - "node": ">= 6" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/prop-types": { - "version": "15.8.1", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", - "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "node_modules/react-markdown/node_modules/mdast-util-to-hast": { + "version": "12.3.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-12.3.0.tgz", + "integrity": "sha512-pits93r8PhnIoU4Vy9bjW39M2jJ6/tdHyja9rrot9uujkN7UTU9SDnE6WNJz/IGyQk3XHX6yNNtrBH6cQzm8Hw==", + "license": "MIT", "dependencies": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.13.1" + "@types/hast": "^2.0.0", + "@types/mdast": "^3.0.0", + "mdast-util-definitions": "^5.0.0", + "micromark-util-sanitize-uri": "^1.1.0", + "trim-lines": "^3.0.0", + "unist-util-generated": "^2.0.0", + "unist-util-position": "^4.0.0", + "unist-util-visit": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/property-information": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/property-information/-/property-information-6.4.0.tgz", - "integrity": "sha512-9t5qARVofg2xQqKtytzt+lZ4d1Qvj8t5B8fEwXK6qOfgRLgH/b13QlgEyDh033NOS31nXeFbYv7CLUDG1CeifQ==", + "node_modules/react-markdown/node_modules/mdast-util-to-string": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-3.2.0.tgz", + "integrity": "sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^3.0.0" + }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/proto-list": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", - "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==" + "node_modules/react-markdown/node_modules/micromark": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-3.2.0.tgz", + "integrity": "sha512-uD66tJj54JLYq0De10AhWycZWGQNUvDI55xPgk2sQM5kn1JYlhbCMTtEeT27+vAhW2FBQxLlOmS3pmA7/2z4aA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/debug": "^4.0.0", + "debug": "^4.0.0", + "decode-named-character-reference": "^1.0.0", + "micromark-core-commonmark": "^1.0.1", + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-chunked": "^1.0.0", + "micromark-util-combine-extensions": "^1.0.0", + "micromark-util-decode-numeric-character-reference": "^1.0.0", + "micromark-util-encode": "^1.0.0", + "micromark-util-normalize-identifier": "^1.0.0", + "micromark-util-resolve-all": "^1.0.0", + "micromark-util-sanitize-uri": "^1.0.0", + "micromark-util-subtokenize": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.1", + "uvu": "^0.5.0" + } }, - "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==", + "node_modules/react-markdown/node_modules/micromark-core-commonmark": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-1.1.0.tgz", + "integrity": "sha512-BgHO1aRbolh2hcrzL2d1La37V0Aoz73ymF8rAcKnohLy93titmv62E0gP8Hrx9PKcKrqCZ1BbLGbP3bEhoXYlw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", "dependencies": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" - }, - "engines": { - "node": ">= 0.10" + "decode-named-character-reference": "^1.0.0", + "micromark-factory-destination": "^1.0.0", + "micromark-factory-label": "^1.0.0", + "micromark-factory-space": "^1.0.0", + "micromark-factory-title": "^1.0.0", + "micromark-factory-whitespace": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-chunked": "^1.0.0", + "micromark-util-classify-character": "^1.0.0", + "micromark-util-html-tag-name": "^1.0.0", + "micromark-util-normalize-identifier": "^1.0.0", + "micromark-util-resolve-all": "^1.0.0", + "micromark-util-subtokenize": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.1", + "uvu": "^0.5.0" } }, - "node_modules/proxy-addr/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/react-markdown/node_modules/micromark-factory-destination": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-1.1.0.tgz", + "integrity": "sha512-XaNDROBgx9SgSChd69pjiGKbV+nfHGDPVYFs5dOoDd7ZnMAE+Cuu91BCpsY8RT2NP9vo/B8pds2VQNCLiu0zhg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" } }, - "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==", + "node_modules/react-markdown/node_modules/micromark-factory-label": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-1.1.0.tgz", + "integrity": "sha512-OLtyez4vZo/1NjxGhcpDSbHQ+m0IIGnT8BoPamh+7jVlzLJBH98zzuCoUeMxvM6WsNeh8wx8cKvqLiPHEACn0w==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" } }, - "node_modules/punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==" + "node_modules/react-markdown/node_modules/micromark-factory-title": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-1.1.0.tgz", + "integrity": "sha512-J7n9R3vMmgjDOCY8NPw55jiyaQnH5kBdV2/UXCtZIpnHH3P6nHUKaH7XXEYuWwx/xUJcawa8plLBEjMPU24HzQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" + } }, - "node_modules/pupa": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/pupa/-/pupa-3.1.0.tgz", - "integrity": "sha512-FLpr4flz5xZTSJxSeaheeMKN/EDzMdK7b8PTOC6a5PYFKTucWbdqjgqaEyH0shFiSJrVB1+Qqi4Tk19ccU6Aug==", + "node_modules/react-markdown/node_modules/micromark-factory-whitespace": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-1.1.0.tgz", + "integrity": "sha512-v2WlmiymVSp5oMg+1Q0N1Lxmt6pMhIHD457whWM7/GUlEks1hI9xj5w3zbc4uuMKXGisksZk8DzP2UyGbGqNsQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", "dependencies": { - "escape-goat": "^4.0.0" - }, - "engines": { - "node": ">=12.20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" } }, - "node_modules/qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "node_modules/react-markdown/node_modules/micromark-util-chunked": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-1.1.0.tgz", + "integrity": "sha512-Ye01HXpkZPNcV6FiyoW2fGZDUw4Yc7vT0E9Sad83+bEDiCJ1uXu0S3mr8WLpsz3HaG3x2q0HM6CTuPdcZcluFQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", "dependencies": { - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "micromark-util-symbol": "^1.0.0" } }, - "node_modules/queue": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/queue/-/queue-6.0.2.tgz", - "integrity": "sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==", + "node_modules/react-markdown/node_modules/micromark-util-classify-character": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-1.1.0.tgz", + "integrity": "sha512-SL0wLxtKSnklKSUplok1WQFoGhUdWYKggKUiqhX+Swala+BtptGCu5iPRc+xvzJ4PXE/hwM3FNXsfEVgoZsWbw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/react-markdown/node_modules/micromark-util-combine-extensions": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-1.1.0.tgz", + "integrity": "sha512-Q20sp4mfNf9yEqDL50WwuWZHUrCO4fEyeDCnMGmG5Pr0Cz15Uo7KBs6jq+dq0EgX4DPwwrh9m0X+zPV1ypFvUA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", "dependencies": { - "inherits": "~2.0.3" + "micromark-util-chunked": "^1.0.0", + "micromark-util-types": "^1.0.0" } }, - "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==", + "node_modules/react-markdown/node_modules/micromark-util-decode-numeric-character-reference": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-1.1.0.tgz", + "integrity": "sha512-m9V0ExGv0jB1OT21mrWcuf4QhP46pH1KkfWy9ZEezqHKAxkj4mPCy3nIH1rkbdMlChLHX531eOrymlwyZIf2iw==", "funding": [ { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" }, { - "type": "consulting", - "url": "https://feross.org/support" + "type": "OpenCollective", + "url": "https://opencollective.com/unified" } - ] - }, - "node_modules/queue-tick": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/queue-tick/-/queue-tick-1.0.1.tgz", - "integrity": "sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==" - }, - "node_modules/quick-lru": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", - "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^1.0.0" } }, - "node_modules/randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "node_modules/react-markdown/node_modules/micromark-util-decode-string": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-1.1.0.tgz", + "integrity": "sha512-YphLGCK8gM1tG1bd54azwyrQRjCFcmgj2S2GoJDNnh4vYtnL38JS8M4gpxzOPNyHdNEpheyWXCTnnTDY3N+NVQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", "dependencies": { - "safe-buffer": "^5.1.0" + "decode-named-character-reference": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-decode-numeric-character-reference": "^1.0.0", + "micromark-util-symbol": "^1.0.0" } }, - "node_modules/range-parser": { + "node_modules/react-markdown/node_modules/micromark-util-encode": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-1.1.0.tgz", + "integrity": "sha512-EuEzTWSTAj9PA5GOAs992GzNh2dGQO52UvAbtSOMvXTxv3Criqb6IOzJUBCmEqrrXSblJIJBbFFv6zPxpreiJw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/react-markdown/node_modules/micromark-util-html-tag-name": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", - "integrity": "sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A==", - "engines": { - "node": ">= 0.6" - } + "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-1.2.0.tgz", + "integrity": "sha512-VTQzcuQgFUD7yYztuQFKXT49KghjtETQ+Wv/zUjGSGBioZnkA4P1XXZPT1FHeJA6RwRXSF47yvJ1tsJdoxwO+Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" }, - "node_modules/raw-body": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", - "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", + "node_modules/react-markdown/node_modules/micromark-util-normalize-identifier": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-1.1.0.tgz", + "integrity": "sha512-N+w5vhqrBihhjdpM8+5Xsxy71QWqGn7HYNUvch71iV2PM7+E3uWGox1Qp90loa1ephtCxG2ftRV/Conitc6P2Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", "dependencies": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/raw-body/node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "engines": { - "node": ">= 0.8" + "micromark-util-symbol": "^1.0.0" } }, - "node_modules/rc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "node_modules/react-markdown/node_modules/micromark-util-resolve-all": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-1.1.0.tgz", + "integrity": "sha512-b/G6BTMSg+bX+xVCshPTPyAu2tmA0E4X98NSR7eIbeC6ycCqCeE7wjfDIgzEbkzdEVJXRtOG4FbEm/uGbCRouA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", "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/rc/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": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", - "engines": { - "node": ">=0.10.0" + "micromark-util-types": "^1.0.0" } }, - "node_modules/react": { - "version": "18.3.1", - "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", - "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", + "node_modules/react-markdown/node_modules/micromark-util-sanitize-uri": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-1.2.0.tgz", + "integrity": "sha512-QO4GXv0XZfWey4pYFndLUKEAktKkG5kZTdUNaTAkzbuJxn2tNBOr+QtxR2XpWaMhbImT2dPzyLrPXLlPhph34A==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", "dependencies": { - "loose-envify": "^1.1.0" - }, - "engines": { - "node": ">=0.10.0" + "micromark-util-character": "^1.0.0", + "micromark-util-encode": "^1.0.0", + "micromark-util-symbol": "^1.0.0" } }, - "node_modules/react-dev-utils": { - "version": "12.0.1", - "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-12.0.1.tgz", - "integrity": "sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==", + "node_modules/react-markdown/node_modules/micromark-util-subtokenize": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-1.1.0.tgz", + "integrity": "sha512-kUQHyzRoxvZO2PuLzMt2P/dwVsTiivCK8icYTeR+3WgbuPqfHgPPy7nFKbeqRivBvn/3N3GBiNC+JRTMSxEC7A==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.16.0", - "address": "^1.1.2", - "browserslist": "^4.18.1", - "chalk": "^4.1.2", - "cross-spawn": "^7.0.3", - "detect-port-alt": "^1.1.6", - "escape-string-regexp": "^4.0.0", - "filesize": "^8.0.6", - "find-up": "^5.0.0", - "fork-ts-checker-webpack-plugin": "^6.5.0", - "global-modules": "^2.0.0", - "globby": "^11.0.4", - "gzip-size": "^6.0.0", - "immer": "^9.0.7", - "is-root": "^2.1.0", - "loader-utils": "^3.2.0", - "open": "^8.4.0", - "pkg-up": "^3.1.0", - "prompts": "^2.4.2", - "react-error-overlay": "^6.0.11", - "recursive-readdir": "^2.2.2", - "shell-quote": "^1.7.3", - "strip-ansi": "^6.0.1", - "text-table": "^0.2.0" - }, - "engines": { - "node": ">=14" + "micromark-util-chunked": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" } }, - "node_modules/react-dev-utils/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/react-markdown/node_modules/micromark-util-types": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-1.1.0.tgz", + "integrity": "sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" }, - "node_modules/react-dev-utils/node_modules/loader-utils": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.1.tgz", - "integrity": "sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==", - "engines": { - "node": ">= 12.13.0" - } + "node_modules/react-markdown/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "license": "MIT" }, - "node_modules/react-dev-utils/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==", + "node_modules/react-markdown/node_modules/remark-parse": { + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-10.0.2.tgz", + "integrity": "sha512-3ydxgHa/ZQzG8LvC7jTXccARYDcRld3VfcgIIFs7bI6vbRSxJJmzgLEIIoYKyrfhaY+ujuWaf/PJiMZXoiCXgw==", + "license": "MIT", "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" + "@types/mdast": "^3.0.0", + "mdast-util-from-markdown": "^1.0.0", + "unified": "^10.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/react-dev-utils/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==", + "node_modules/react-markdown/node_modules/remark-rehype": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-10.1.0.tgz", + "integrity": "sha512-EFmR5zppdBp0WQeDVZ/b66CWJipB2q2VLNFMabzDSGR66Z2fQii83G5gTBbgGEnEEA0QRussvrFHxk1HWGJskw==", + "license": "MIT", "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" + "@types/hast": "^2.0.0", + "@types/mdast": "^3.0.0", + "mdast-util-to-hast": "^12.1.0", + "unified": "^10.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/react-dev-utils/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==", + "node_modules/react-markdown/node_modules/unified": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", + "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==", + "license": "MIT", "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" + "@types/unist": "^2.0.0", + "bail": "^2.0.0", + "extend": "^3.0.0", + "is-buffer": "^2.0.0", + "is-plain-obj": "^4.0.0", + "trough": "^2.0.0", + "vfile": "^5.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/react-dev-utils/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/react-markdown/node_modules/unist-util-is": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.2.1.tgz", + "integrity": "sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/react-dev-utils/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" + "node_modules/react-markdown/node_modules/unist-util-position": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-4.0.4.tgz", + "integrity": "sha512-kUBE91efOWfIVBo8xzh/uZQ7p9ffYRtUbMRZBNFYwf0RK8koUMx6dGUfwylLOKmaT2cs4wSW96QoYUSXAyEtpg==", + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/react-dom": { - "version": "18.3.1", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", - "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", + "node_modules/react-markdown/node_modules/unist-util-stringify-position": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz", + "integrity": "sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==", + "license": "MIT", "dependencies": { - "loose-envify": "^1.1.0", - "scheduler": "^0.23.2" + "@types/unist": "^2.0.0" }, - "peerDependencies": { - "react": "^18.3.1" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/react-error-boundary": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/react-error-boundary/-/react-error-boundary-3.1.4.tgz", - "integrity": "sha512-uM9uPzZJTF6wRQORmSrvOIgt4lJ9MC1sNgEOj2XGsDTRE4kmpWxg7ENK9EWNKJRMAOY9z0MuF4yIfl6gp4sotA==", + "node_modules/react-markdown/node_modules/unist-util-visit": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-4.1.2.tgz", + "integrity": "sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==", + "license": "MIT", "dependencies": { - "@babel/runtime": "^7.12.5" - }, - "engines": { - "node": ">=10", - "npm": ">=6" + "@types/unist": "^2.0.0", + "unist-util-is": "^5.0.0", + "unist-util-visit-parents": "^5.1.1" }, - "peerDependencies": { - "react": ">=16.13.1" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/react-error-overlay": { - "version": "6.0.11", - "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.11.tgz", - "integrity": "sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg==" - }, - "node_modules/react-fast-compare": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.2.tgz", - "integrity": "sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==" - }, - "node_modules/react-helmet-async": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/react-helmet-async/-/react-helmet-async-1.3.0.tgz", - "integrity": "sha512-9jZ57/dAn9t3q6hneQS0wukqC2ENOBgMNVEhb/ZG9ZSxUetzVIw4iAmEU38IaVg3QGYauQPhSeUTuIUtFglWpg==", + "node_modules/react-markdown/node_modules/unist-util-visit-parents": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-5.1.3.tgz", + "integrity": "sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==", + "license": "MIT", "dependencies": { - "@babel/runtime": "^7.12.5", - "invariant": "^2.2.4", - "prop-types": "^15.7.2", - "react-fast-compare": "^3.2.0", - "shallowequal": "^1.1.0" + "@types/unist": "^2.0.0", + "unist-util-is": "^5.0.0" }, - "peerDependencies": { - "react": "^16.6.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.6.0 || ^17.0.0 || ^18.0.0" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/react-hot-toast": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/react-hot-toast/-/react-hot-toast-2.4.1.tgz", - "integrity": "sha512-j8z+cQbWIM5LY37pR6uZR6D4LfseplqnuAO4co4u8917hBUvXlEqyP1ZzqVLcqoyUesZZv/ImreoCeHVDpE5pQ==", + "node_modules/react-markdown/node_modules/vfile": { + "version": "5.3.7", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.7.tgz", + "integrity": "sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==", + "license": "MIT", "dependencies": { - "goober": "^2.1.10" - }, - "engines": { - "node": ">=10" + "@types/unist": "^2.0.0", + "is-buffer": "^2.0.0", + "unist-util-stringify-position": "^3.0.0", + "vfile-message": "^3.0.0" }, - "peerDependencies": { - "react": ">=16", - "react-dom": ">=16" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "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-lite": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/react-json-view-lite/-/react-json-view-lite-1.4.0.tgz", - "integrity": "sha512-wh6F6uJyYAmQ4fK0e8dSQMEWuvTs2Wr3el3sLD9bambX1+pSWUVXIz1RFaoy3TI1mZ0FqdpKq9YgbgTTgyrmXA==", - "engines": { - "node": ">=14" + "node_modules/react-markdown/node_modules/vfile-message": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-3.1.4.tgz", + "integrity": "sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-stringify-position": "^3.0.0" }, - "peerDependencies": { - "react": "^16.13.1 || ^17.0.0 || ^18.0.0" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/react-live": { - "version": "4.1.6", - "resolved": "https://registry.npmjs.org/react-live/-/react-live-4.1.6.tgz", - "integrity": "sha512-2oq3MADi3rupqZcdoHMrV9p+Eg/92BDds278ZuoOz8d68qw6ct0xZxX89MRxeChrnFHy1XPr8BVknDJNJNdvVw==", + "node_modules/react-modal": { + "version": "3.16.1", + "resolved": "https://registry.npmjs.org/react-modal/-/react-modal-3.16.1.tgz", + "integrity": "sha512-VStHgI3BVcGo7OXczvnJN7yT2TWHJPDXZWyI/a0ssFNhGZWsPmB8cF0z33ewDXq4VfYMO1vXgiv/g8Nj9NDyWg==", + "license": "MIT", "dependencies": { - "prism-react-renderer": "^2.0.6", - "sucrase": "^3.31.0", - "use-editable": "^2.3.3" + "exenv": "^1.2.0", + "prop-types": "^15.7.2", + "react-lifecycles-compat": "^3.0.0", + "warning": "^4.0.3" }, "engines": { - "node": ">= 0.12.0", - "npm": ">= 2.0.0" + "node": ">=8" }, "peerDependencies": { - "react": ">=18.0.0", - "react-dom": ">=18.0.0" + "react": "^0.14.0 || ^15.0.0 || ^16 || ^17 || ^18", + "react-dom": "^0.14.0 || ^15.0.0 || ^16 || ^17 || ^18" } }, - "node_modules/react-loadable": { - "name": "@docusaurus/react-loadable", - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@docusaurus/react-loadable/-/react-loadable-6.0.0.tgz", - "integrity": "sha512-YMMxTUQV/QFSnbgrP3tjDzLHRg7vsbMn8e9HAa8o/1iXoiomo48b7sk/kkmWEuWNDPJVlKSJRB6Y2fHqdJk+SQ==", + "node_modules/react-redux": { + "version": "7.2.9", + "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-7.2.9.tgz", + "integrity": "sha512-Gx4L3uM182jEEayZfRbI/G11ZpYdNAnBs70lFVMNdHJI76XYtR+7m0MN+eAs7UHBPhWXcnFPaS+9owSCJQHNpQ==", + "license": "MIT", "dependencies": { - "@types/react": "*" + "@babel/runtime": "^7.15.4", + "@types/react-redux": "^7.1.20", + "hoist-non-react-statics": "^3.3.2", + "loose-envify": "^1.4.0", + "prop-types": "^15.7.2", + "react-is": "^17.0.2" }, "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" + "react": "^16.8.3 || ^17 || ^18" }, - "engines": { - "node": ">=10.13.0" - }, - "peerDependencies": { - "react-loadable": "*", - "webpack": ">=4.41.1 || 5.x" + "peerDependenciesMeta": { + "react-dom": { + "optional": true + }, + "react-native": { + "optional": true + } } }, + "node_modules/react-redux/node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", + "license": "MIT" + }, "node_modules/react-router": { "version": "5.3.4", "resolved": "https://registry.npmjs.org/react-router/-/react-router-5.3.4.tgz", "integrity": "sha512-Ys9K+ppnJah3QuaRiLxk+jDWOR1MekYQrlytiXxC1RyfbdsZkS5pvKAzCCr031xHixZwpnsYNT5xysdFHQaYsA==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.12.13", "history": "^4.9.0", @@ -13290,6 +17094,7 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/react-router-config/-/react-router-config-5.1.1.tgz", "integrity": "sha512-DuanZjaD8mQp1ppHjgnnUnyOlqYXZVjnov/JzFhjLEwd3Z4dYjMSnqrEzzGThH47vpCOqPPwJM2FtthLeJ8Pbg==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.1.2" }, @@ -13302,6 +17107,7 @@ "version": "5.3.4", "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-5.3.4.tgz", "integrity": "sha512-m4EqFMHv/Ih4kpcBCONHbkT68KoAeHN4p3lAGoNryfHi0dMy0kCzEZakiKRsvg5wHZ/JLrLW8o8KomWiz/qbYQ==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.12.13", "history": "^4.9.0", @@ -13319,6 +17125,7 @@ "version": "5.26.4", "resolved": "https://registry.npmjs.org/react-tooltip/-/react-tooltip-5.26.4.tgz", "integrity": "sha512-5WyDrsfw1+6qNVSr3IjqElqJ+cCwE8+44b+HpJ8qRLv7v0a3mcKf8wvv+NfgALFS6QpksGFqTLV2JQ60c+okZQ==", + "license": "MIT", "dependencies": { "@floating-ui/dom": "^1.6.1", "classnames": "^2.3.0" @@ -13332,6 +17139,7 @@ "version": "10.3.0", "resolved": "https://registry.npmjs.org/react-waypoint/-/react-waypoint-10.3.0.tgz", "integrity": "sha512-iF1y2c1BsoXuEGz08NoahaLFIGI9gTUAAOKip96HUmylRT6DUtpgoBPjk/Y8dfcFVmfVDvUzWjNXpZyKTOV0SQ==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.12.5", "consolidated-events": "^1.1.0 || ^2.0.0", @@ -13345,12 +17153,14 @@ "node_modules/react-waypoint/node_modules/react-is": { "version": "18.2.0", "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "license": "MIT" }, "node_modules/readable-stream": { "version": "3.6.2", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "license": "MIT", "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -13364,6 +17174,7 @@ "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "license": "MIT", "dependencies": { "picomatch": "^2.2.1" }, @@ -13374,7 +17185,8 @@ "node_modules/reading-time": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/reading-time/-/reading-time-1.5.0.tgz", - "integrity": "sha512-onYyVhBNr4CmAxFsKS7bz+uTLRakypIe4R+5A824vBSkQy/hB3fZepoVEf8OVAxzLvK+H/jm9TzpI3ETSm64Kg==" + "integrity": "sha512-onYyVhBNr4CmAxFsKS7bz+uTLRakypIe4R+5A824vBSkQy/hB3fZepoVEf8OVAxzLvK+H/jm9TzpI3ETSm64Kg==", + "license": "MIT" }, "node_modules/rechoir": { "version": "0.6.2", @@ -13391,6 +17203,7 @@ "version": "2.2.3", "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.3.tgz", "integrity": "sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==", + "license": "MIT", "dependencies": { "minimatch": "^3.0.5" }, @@ -13398,15 +17211,44 @@ "node": ">=6.0.0" } }, + "node_modules/redux": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/redux/-/redux-4.2.1.tgz", + "integrity": "sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.9.2" + } + }, + "node_modules/redux-thunk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-2.4.2.tgz", + "integrity": "sha512-+P3TjtnP0k/FEjcBL5FZpoovtvrTNT/UXd4/sluaSyrURlSlhLSzEdfsTBW7WsKB6yPvgd7q/iZPICFjW4o57Q==", + "license": "MIT", + "peerDependencies": { + "redux": "^4" + } + }, + "node_modules/reftools": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/reftools/-/reftools-1.1.9.tgz", + "integrity": "sha512-OVede/NQE13xBQ+ob5CKd5KyeJYU2YInb1bmV4nRoOfquZPkAkxuOXicSe1PvqIuZZ4kD13sPKBbR7UFDmli6w==", + "license": "BSD-3-Clause", + "funding": { + "url": "https://github.com/Mermade/oas-kit?sponsor=1" + } + }, "node_modules/regenerate": { "version": "1.4.2", "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", - "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "license": "MIT" }, "node_modules/regenerate-unicode-properties": { "version": "10.1.1", "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz", "integrity": "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==", + "license": "MIT", "dependencies": { "regenerate": "^1.4.2" }, @@ -13417,12 +17259,14 @@ "node_modules/regenerator-runtime": { "version": "0.14.0", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", - "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==" + "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==", + "license": "MIT" }, "node_modules/regenerator-transform": { "version": "0.15.2", "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.8.4" } @@ -13431,6 +17275,7 @@ "version": "5.3.2", "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", + "license": "MIT", "dependencies": { "@babel/regjsgen": "^0.8.0", "regenerate": "^1.4.2", @@ -13447,6 +17292,7 @@ "version": "5.0.2", "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-5.0.2.tgz", "integrity": "sha512-o/3ikDxtXaA59BmZuZrJZDJv8NMDGSj+6j6XaeBmHw8eY1i1qd9+6H+LjVvQXx3HN6aRCGa1cUdJ9RaJZUugnQ==", + "license": "MIT", "dependencies": { "@pnpm/npm-conf": "^2.1.0" }, @@ -13458,6 +17304,7 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-6.0.1.tgz", "integrity": "sha512-+crtS5QjFRqFCoQmvGduwYWEBng99ZvmFvF+cUJkGYF1L1BfU8C6Zp9T7f5vPAwyLkUExpvK+ANVZmGU49qi4Q==", + "license": "MIT", "dependencies": { "rc": "1.2.8" }, @@ -13471,12 +17318,14 @@ "node_modules/regjsgen": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz", - "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==" + "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==", + "license": "MIT" }, "node_modules/regjsparser": { "version": "0.9.1", "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "license": "BSD-2-Clause", "dependencies": { "jsesc": "~0.5.0" }, @@ -13496,6 +17345,7 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/rehype-raw/-/rehype-raw-7.0.0.tgz", "integrity": "sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==", + "license": "MIT", "dependencies": { "@types/hast": "^3.0.0", "hast-util-raw": "^9.0.0", @@ -13510,6 +17360,7 @@ "version": "0.2.7", "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==", + "license": "MIT", "engines": { "node": ">= 0.10" } @@ -13518,6 +17369,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/remark-directive/-/remark-directive-3.0.0.tgz", "integrity": "sha512-l1UyWJ6Eg1VPU7Hm/9tt0zKtReJQNOA4+iDMAxTyZNWnJnFlbS/7zhiel/rogTLQ2vMYwDzSJa4BiVNqGlqIMA==", + "license": "MIT", "dependencies": { "@types/mdast": "^4.0.0", "mdast-util-directive": "^3.0.0", @@ -13533,6 +17385,7 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/remark-emoji/-/remark-emoji-4.0.1.tgz", "integrity": "sha512-fHdvsTR1dHkWKev9eNyhTo4EFwbUvJ8ka9SgeWkMPYFX4WoI7ViVBms3PjlQYgw5TLvNQso3GUB/b/8t3yo+dg==", + "license": "MIT", "dependencies": { "@types/mdast": "^4.0.2", "emoticon": "^4.0.1", @@ -13548,6 +17401,7 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/remark-frontmatter/-/remark-frontmatter-5.0.0.tgz", "integrity": "sha512-XTFYvNASMe5iPN0719nPrdItC9aU0ssC4v14mH1BCi1u0n1gAocqcujWUrByftZTbLhRtiKRyjYTSIOcr69UVQ==", + "license": "MIT", "dependencies": { "@types/mdast": "^4.0.0", "mdast-util-frontmatter": "^2.0.0", @@ -13563,6 +17417,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/remark-gfm/-/remark-gfm-4.0.0.tgz", "integrity": "sha512-U92vJgBPkbw4Zfu/IiW2oTZLSL3Zpv+uI7My2eq8JxKgqraFdU8YUGicEJCEgSbeaG+QDFqIcwwfMTOEelPxuA==", + "license": "MIT", "dependencies": { "@types/mdast": "^4.0.0", "mdast-util-gfm": "^3.0.0", @@ -13580,6 +17435,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/remark-mdx/-/remark-mdx-3.0.0.tgz", "integrity": "sha512-O7yfjuC6ra3NHPbRVxfflafAj3LTwx3b73aBvkEFU5z4PsD6FD4vrqJAkE5iNGLz71GdjXfgRqm3SQ0h0VuE7g==", + "license": "MIT", "dependencies": { "mdast-util-mdx": "^3.0.0", "micromark-extension-mdxjs": "^3.0.0" @@ -13593,6 +17449,7 @@ "version": "11.0.0", "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz", "integrity": "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==", + "license": "MIT", "dependencies": { "@types/mdast": "^4.0.0", "mdast-util-from-markdown": "^2.0.0", @@ -13608,6 +17465,7 @@ "version": "11.0.0", "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.0.0.tgz", "integrity": "sha512-vx8x2MDMcxuE4lBmQ46zYUDfcFMmvg80WYX+UNLeG6ixjdCCLcw1lrgAukwBTuOFsS78eoAedHGn9sNM0w7TPw==", + "license": "MIT", "dependencies": { "@types/hast": "^3.0.0", "@types/mdast": "^4.0.0", @@ -13624,6 +17482,7 @@ "version": "11.0.0", "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-11.0.0.tgz", "integrity": "sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==", + "license": "MIT", "dependencies": { "@types/mdast": "^4.0.0", "mdast-util-to-markdown": "^2.0.0", @@ -13638,6 +17497,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz", "integrity": "sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==", + "license": "MIT", "dependencies": { "css-select": "^4.1.3", "dom-converter": "^0.2.0", @@ -13650,6 +17510,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "license": "BSD-2-Clause", "dependencies": { "boolbase": "^1.0.0", "css-what": "^6.0.1", @@ -13665,6 +17526,7 @@ "version": "1.4.1", "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "license": "MIT", "dependencies": { "domelementtype": "^2.0.1", "domhandler": "^4.2.0", @@ -13678,6 +17540,7 @@ "version": "4.3.1", "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "license": "BSD-2-Clause", "dependencies": { "domelementtype": "^2.2.0" }, @@ -13692,6 +17555,7 @@ "version": "2.8.0", "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "license": "BSD-2-Clause", "dependencies": { "dom-serializer": "^1.0.1", "domelementtype": "^2.2.0", @@ -13705,6 +17569,7 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "license": "BSD-2-Clause", "funding": { "url": "https://github.com/fb55/entities?sponsor=1" } @@ -13720,6 +17585,7 @@ "url": "https://github.com/sponsors/fb55" } ], + "license": "MIT", "dependencies": { "domelementtype": "^2.0.1", "domhandler": "^4.0.0", @@ -13727,10 +17593,20 @@ "entities": "^2.0.0" } }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/require-from-string": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -13743,15 +17619,29 @@ "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==", + "license": "ISC" + }, "node_modules/requires-port": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "license": "MIT" + }, + "node_modules/reselect": { + "version": "4.1.8", + "resolved": "https://registry.npmjs.org/reselect/-/reselect-4.1.8.tgz", + "integrity": "sha512-ab9EmR80F/zQTMNeneUr4cv+jSwPJgIlvEmVwLerwrWVbpLlBuls9XHzIeTFy4cegU2NHBp3va0LKOzU5qFEYQ==", + "license": "MIT" }, "node_modules/resolve": { "version": "1.22.8", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "license": "MIT", "dependencies": { "is-core-module": "^2.13.0", "path-parse": "^1.0.7", @@ -13767,12 +17657,14 @@ "node_modules/resolve-alpn": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz", - "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==" + "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==", + "license": "MIT" }, "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==", + "license": "MIT", "engines": { "node": ">=4" } @@ -13781,6 +17673,7 @@ "version": "4.0.3", "resolved": "https://registry.npmjs.org/resolve-package-path/-/resolve-package-path-4.0.3.tgz", "integrity": "sha512-SRpNAPW4kewOaNUt8VPqhJ0UMxawMwzJD8V7m1cJfdSTK9ieZwS6K7Dabsm4bmLFM96Z5Y/UznrpG5kt1im8yA==", + "license": "MIT", "dependencies": { "path-root": "^0.1.1" }, @@ -13791,12 +17684,14 @@ "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==" + "integrity": "sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==", + "license": "MIT" }, "node_modules/responselike": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/responselike/-/responselike-3.0.0.tgz", "integrity": "sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg==", + "license": "MIT", "dependencies": { "lowercase-keys": "^3.0.0" }, @@ -13811,6 +17706,7 @@ "version": "0.13.1", "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", + "license": "MIT", "engines": { "node": ">= 4" } @@ -13819,6 +17715,7 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "license": "MIT", "engines": { "iojs": ">=1.0.0", "node": ">=0.10.0" @@ -13828,6 +17725,7 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "license": "ISC", "dependencies": { "glob": "^7.1.3" }, @@ -13838,15 +17736,27 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "license": "MIT", + "dependencies": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, "node_modules/rtl-detect": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/rtl-detect/-/rtl-detect-1.1.2.tgz", - "integrity": "sha512-PGMBq03+TTG/p/cRB7HCLKJ1MgDIi07+QU1faSjiYRfmY5UsAttV9Hs08jDAHVwcOwmVLcSJkpwyfXszVjWfIQ==" + "integrity": "sha512-PGMBq03+TTG/p/cRB7HCLKJ1MgDIi07+QU1faSjiYRfmY5UsAttV9Hs08jDAHVwcOwmVLcSJkpwyfXszVjWfIQ==", + "license": "BSD-3-Clause" }, "node_modules/rtlcss": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/rtlcss/-/rtlcss-4.1.1.tgz", "integrity": "sha512-/oVHgBtnPNcggP2aVXQjSy6N1mMAfHg4GSag0QtZBlD5bdDgAHwr4pydqJGd+SUCu9260+Pjqbjwtvu7EMH1KQ==", + "license": "MIT", "dependencies": { "escalade": "^3.1.1", "picocolors": "^1.0.0", @@ -13878,10 +17788,23 @@ "url": "https://feross.org/support" } ], + "license": "MIT", "dependencies": { "queue-microtask": "^1.2.2" } }, + "node_modules/sade": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz", + "integrity": "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==", + "license": "MIT", + "dependencies": { + "mri": "^1.1.0" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", @@ -13899,17 +17822,74 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "license": "MIT" }, "node_modules/safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "license": "MIT" + }, + "node_modules/sass": { + "version": "1.77.2", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.77.2.tgz", + "integrity": "sha512-eb4GZt1C3avsX3heBNlrc7I09nyT00IUuo4eFhAbeXWU2fvA7oXI53SxODVAA+zgZCk9aunAZgO+losjR3fAwA==", + "license": "MIT", + "dependencies": { + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass-loader": { + "version": "13.3.3", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-13.3.3.tgz", + "integrity": "sha512-mt5YN2F1MOZr3d/wBRcZxeFgwgkH44wVc2zohO2YF6JiOMkiXe4BYRZpSu2sO1g71mo/j16txzUhsKZlqjVGzA==", + "license": "MIT", + "dependencies": { + "neo-async": "^2.6.2" + }, + "engines": { + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "fibers": ">= 3.1.0", + "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0", + "sass": "^1.3.0", + "sass-embedded": "*", + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "fibers": { + "optional": true + }, + "node-sass": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + } + } }, "node_modules/sax": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/sax/-/sax-1.3.0.tgz", - "integrity": "sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==" + "integrity": "sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==", + "license": "ISC" }, "node_modules/scheduler": { "version": "0.23.2", @@ -13923,6 +17903,7 @@ "version": "4.2.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "license": "MIT", "dependencies": { "@types/json-schema": "^7.0.9", "ajv": "^8.9.0", @@ -13941,12 +17922,14 @@ "version": "2.13.0", "resolved": "https://registry.npmjs.org/search-insights/-/search-insights-2.13.0.tgz", "integrity": "sha512-Orrsjf9trHHxFRuo9/rzm0KIWmgzE8RMlZMzuhZOJ01Rnz3D0YBAe+V6473t6/H6c7irs6Lt48brULAiRWb3Vw==", + "license": "MIT", "peer": true }, "node_modules/section-matter": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz", "integrity": "sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==", + "license": "MIT", "dependencies": { "extend-shallow": "^2.0.1", "kind-of": "^6.0.0" @@ -13958,12 +17941,14 @@ "node_modules/select-hose": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", - "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==" + "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==", + "license": "MIT" }, "node_modules/selfsigned": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz", "integrity": "sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==", + "license": "MIT", "dependencies": { "@types/node-forge": "^1.3.0", "node-forge": "^1" @@ -13976,6 +17961,7 @@ "version": "7.5.4", "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "license": "ISC", "dependencies": { "lru-cache": "^6.0.0" }, @@ -13990,6 +17976,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-4.0.0.tgz", "integrity": "sha512-0Ju4+6A8iOnpL/Thra7dZsSlOHYAHIeMxfhWQRI1/VLcT3WDBZKKtQt/QkBOsiIN9ZpuvHE6cGZ0x4glCMmfiA==", + "license": "MIT", "dependencies": { "semver": "^7.3.5" }, @@ -14004,6 +17991,7 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "license": "ISC", "dependencies": { "yallist": "^4.0.0" }, @@ -14014,12 +18002,14 @@ "node_modules/semver/node_modules/yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "license": "ISC" }, "node_modules/send": { "version": "0.18.0", "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "license": "MIT", "dependencies": { "debug": "2.6.9", "depd": "2.0.0", @@ -14043,6 +18033,7 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", "dependencies": { "ms": "2.0.0" } @@ -14050,17 +18041,20 @@ "node_modules/send/node_modules/debug/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" }, "node_modules/send/node_modules/ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" }, "node_modules/send/node_modules/range-parser": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -14069,6 +18063,7 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", + "license": "BSD-3-Clause", "dependencies": { "randombytes": "^2.1.0" } @@ -14077,6 +18072,7 @@ "version": "6.1.5", "resolved": "https://registry.npmjs.org/serve-handler/-/serve-handler-6.1.5.tgz", "integrity": "sha512-ijPFle6Hwe8zfmBxJdE+5fta53fdIY0lHISJvuikXB3VYFafRjMRpOffSPvCYsbKyBA7pvy9oYr/BT1O3EArlg==", + "license": "MIT", "dependencies": { "bytes": "3.0.0", "content-disposition": "0.5.2", @@ -14091,12 +18087,14 @@ "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==" + "integrity": "sha512-gu9bD6Ta5bwGrrU8muHzVOBFFREpp2iRkVfhBJahwJ6p6Xw20SjT0MxLnwkjOibQmGSYhiUnf2FLe7k+jcFmGQ==", + "license": "MIT" }, "node_modules/serve-index": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", + "license": "MIT", "dependencies": { "accepts": "~1.3.4", "batch": "0.6.1", @@ -14114,6 +18112,7 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", "dependencies": { "ms": "2.0.0" } @@ -14122,6 +18121,7 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -14130,6 +18130,7 @@ "version": "1.6.3", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", + "license": "MIT", "dependencies": { "depd": "~1.1.2", "inherits": "2.0.3", @@ -14143,22 +18144,26 @@ "node_modules/serve-index/node_modules/inherits": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", + "license": "ISC" }, "node_modules/serve-index/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" }, "node_modules/serve-index/node_modules/setprototypeof": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "license": "ISC" }, "node_modules/serve-index/node_modules/statuses": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -14167,6 +18172,7 @@ "version": "1.15.0", "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "license": "MIT", "dependencies": { "encodeurl": "~1.0.2", "escape-html": "~1.0.3", @@ -14177,10 +18183,17 @@ "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": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", + "license": "ISC" + }, "node_modules/set-function-length": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "license": "MIT", "dependencies": { "define-data-property": "^1.1.4", "es-errors": "^1.3.0", @@ -14193,15 +18206,36 @@ "node": ">= 0.4" } }, + "node_modules/setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==", + "license": "MIT" + }, "node_modules/setprototypeof": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "license": "ISC" + }, + "node_modules/sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "license": "(MIT AND BSD-3-Clause)", + "dependencies": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + }, + "bin": { + "sha.js": "bin.js" + } }, "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==", + "license": "MIT", "dependencies": { "kind-of": "^6.0.2" }, @@ -14212,13 +18246,15 @@ "node_modules/shallowequal": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz", - "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==" + "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==", + "license": "MIT" }, "node_modules/sharp": { "version": "0.32.6", "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.32.6.tgz", "integrity": "sha512-KyLTWwgcR9Oe4d9HwCwNM2l7+J0dUQwn/yf7S0EnTtb0eVS4RxO0eUSvxPtzT4F3SY+C4K6fqdv/DO27sJ/v/w==", "hasInstallScript": true, + "license": "Apache-2.0", "dependencies": { "color": "^4.2.3", "detect-libc": "^2.0.2", @@ -14240,6 +18276,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "license": "MIT", "dependencies": { "shebang-regex": "^3.0.0" }, @@ -14251,6 +18288,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "license": "MIT", "engines": { "node": ">=8" } @@ -14259,6 +18297,7 @@ "version": "1.8.1", "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", + "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -14267,6 +18306,7 @@ "version": "0.8.5", "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", + "license": "BSD-3-Clause", "dependencies": { "glob": "^7.0.0", "interpret": "^1.0.0", @@ -14279,10 +18319,65 @@ "node": ">=4" } }, + "node_modules/should": { + "version": "13.2.3", + "resolved": "https://registry.npmjs.org/should/-/should-13.2.3.tgz", + "integrity": "sha512-ggLesLtu2xp+ZxI+ysJTmNjh2U0TsC+rQ/pfED9bUZZ4DKefP27D+7YJVVTvKsmjLpIi9jAa7itwDGkDDmt1GQ==", + "license": "MIT", + "dependencies": { + "should-equal": "^2.0.0", + "should-format": "^3.0.3", + "should-type": "^1.4.0", + "should-type-adaptors": "^1.0.1", + "should-util": "^1.0.0" + } + }, + "node_modules/should-equal": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/should-equal/-/should-equal-2.0.0.tgz", + "integrity": "sha512-ZP36TMrK9euEuWQYBig9W55WPC7uo37qzAEmbjHz4gfyuXrEUgF8cUvQVO+w+d3OMfPvSRQJ22lSm8MQJ43LTA==", + "license": "MIT", + "dependencies": { + "should-type": "^1.4.0" + } + }, + "node_modules/should-format": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/should-format/-/should-format-3.0.3.tgz", + "integrity": "sha512-hZ58adtulAk0gKtua7QxevgUaXTTXxIi8t41L3zo9AHvjXO1/7sdLECuHeIN2SRtYXpNkmhoUP2pdeWgricQ+Q==", + "license": "MIT", + "dependencies": { + "should-type": "^1.3.0", + "should-type-adaptors": "^1.0.1" + } + }, + "node_modules/should-type": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/should-type/-/should-type-1.4.0.tgz", + "integrity": "sha512-MdAsTu3n25yDbIe1NeN69G4n6mUnJGtSJHygX3+oN0ZbO3DTiATnf7XnYJdGT42JCXurTb1JI0qOBR65shvhPQ==", + "license": "MIT" + }, + "node_modules/should-type-adaptors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/should-type-adaptors/-/should-type-adaptors-1.1.0.tgz", + "integrity": "sha512-JA4hdoLnN+kebEp2Vs8eBe9g7uy0zbRo+RMcU0EsNy+R+k049Ki+N5tT5Jagst2g7EAja+euFuoXFCa8vIklfA==", + "license": "MIT", + "dependencies": { + "should-type": "^1.3.0", + "should-util": "^1.0.0" + } + }, + "node_modules/should-util": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/should-util/-/should-util-1.0.1.tgz", + "integrity": "sha512-oXF8tfxx5cDk8r2kYqlkUJzZpDBqVY/II2WhvU0n9Y3XYvAYRmeaf1PvvIvTgPnv4KJ+ES5M0PyDq5Jp+Ygy2g==", + "license": "MIT" + }, "node_modules/side-channel": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "es-errors": "^1.3.0", @@ -14299,7 +18394,8 @@ "node_modules/signal-exit": { "version": "3.0.7", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "license": "ISC" }, "node_modules/simple-concat": { "version": "1.0.1", @@ -14318,7 +18414,8 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "license": "MIT" }, "node_modules/simple-get": { "version": "4.0.1", @@ -14338,6 +18435,7 @@ "url": "https://feross.org/support" } ], + "license": "MIT", "dependencies": { "decompress-response": "^6.0.0", "once": "^1.3.1", @@ -14348,6 +18446,7 @@ "version": "0.2.2", "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", + "license": "MIT", "dependencies": { "is-arrayish": "^0.3.1" } @@ -14355,12 +18454,14 @@ "node_modules/simple-swizzle/node_modules/is-arrayish": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", - "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==", + "license": "MIT" }, "node_modules/sirv": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/sirv/-/sirv-2.0.3.tgz", "integrity": "sha512-O9jm9BsID1P+0HOi81VpXPoDxYP374pkOLzACAoyUQ/3OUVndNpsz6wMnY2z+yOxzbllCKZrM+9QrWsv4THnyA==", + "license": "MIT", "dependencies": { "@polka/url": "^1.0.0-next.20", "mrmime": "^1.0.0", @@ -14373,12 +18474,14 @@ "node_modules/sisteransi": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "license": "MIT" }, "node_modules/sitemap": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/sitemap/-/sitemap-7.1.1.tgz", "integrity": "sha512-mK3aFtjz4VdJN0igpIJrinf3EO8U8mxOPsTBzSsy06UtjZQJ3YY3o3Xa7zSc5nMqcMrRwlChHZ18Kxg0caiPBg==", + "license": "MIT", "dependencies": { "@types/node": "^17.0.5", "@types/sax": "^1.2.1", @@ -14396,12 +18499,14 @@ "node_modules/sitemap/node_modules/@types/node": { "version": "17.0.45", "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.45.tgz", - "integrity": "sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==" + "integrity": "sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==", + "license": "MIT" }, "node_modules/skin-tone": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/skin-tone/-/skin-tone-2.0.0.tgz", "integrity": "sha512-kUMbT1oBJCpgrnKoSr0o6wPtvRWT9W9UKvGLwfJYO2WuahZRHOpEyL1ckyMGgMWh0UdpmaoFqKKD29WTomNEGA==", + "license": "MIT", "dependencies": { "unicode-emoji-modifier-base": "^1.0.0" }, @@ -14413,14 +18518,25 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "license": "MIT", "engines": { "node": ">=8" } }, + "node_modules/slugify": { + "version": "1.6.6", + "resolved": "https://registry.npmjs.org/slugify/-/slugify-1.6.6.tgz", + "integrity": "sha512-h+z7HKHYXj6wJU+AnS/+IH8Uh9fdcX1Lrhg1/VMdf9PwoBQXFcXiAdsy2tSK0P6gKwJLXp02r90ahUCqHk9rrw==", + "license": "MIT", + "engines": { + "node": ">=8.0.0" + } + }, "node_modules/snake-case": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/snake-case/-/snake-case-3.0.4.tgz", "integrity": "sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==", + "license": "MIT", "dependencies": { "dot-case": "^3.0.4", "tslib": "^2.0.3" @@ -14430,6 +18546,7 @@ "version": "0.3.24", "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", + "license": "MIT", "dependencies": { "faye-websocket": "^0.11.3", "uuid": "^8.3.2", @@ -14440,6 +18557,7 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/sort-css-media-queries/-/sort-css-media-queries-2.2.0.tgz", "integrity": "sha512-0xtkGhWCC9MGt/EzgnvbbbKhqWjl1+/rncmhTh5qCpbYguXh6S/qwePfv/JQ8jePXXmqingylxoC49pCkSPIbA==", + "license": "MIT", "engines": { "node": ">= 6.3.0" } @@ -14448,6 +18566,7 @@ "version": "0.7.4", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "license": "BSD-3-Clause", "engines": { "node": ">= 8" } @@ -14456,6 +18575,7 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } @@ -14464,6 +18584,7 @@ "version": "0.5.21", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "license": "MIT", "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -14473,6 +18594,7 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } @@ -14481,12 +18603,13 @@ "version": "1.4.8", "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", - "deprecated": "Please use @jridgewell/sourcemap-codec instead" + "license": "MIT" }, "node_modules/space-separated-tokens": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==", + "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -14496,6 +18619,7 @@ "version": "4.0.2", "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", + "license": "MIT", "dependencies": { "debug": "^4.1.0", "handle-thing": "^2.0.0", @@ -14511,6 +18635,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", + "license": "MIT", "dependencies": { "debug": "^4.1.0", "detect-node": "^2.0.4", @@ -14523,12 +18648,14 @@ "node_modules/sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "license": "BSD-3-Clause" }, "node_modules/srcset": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/srcset/-/srcset-4.0.0.tgz", "integrity": "sha512-wvLeHgcVHKO8Sc/H/5lkGreJQVeYMm9rlmt8PuR1xE31rIuXhuzznUUqAt8MqLhB3MqJdFzlNAfpcWnxiFUcPw==", + "license": "MIT", "engines": { "node": ">=12" }, @@ -14540,6 +18667,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "license": "MIT", "engines": { "node": ">= 0.8" } @@ -14547,12 +18675,36 @@ "node_modules/std-env": { "version": "3.4.3", "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.4.3.tgz", - "integrity": "sha512-f9aPhy8fYBuMN+sNfakZV18U39PbalgjXG3lLB9WkaYTxijru61wb57V9wxxNthXM5Sd88ETBWi29qLAsHO52Q==" + "integrity": "sha512-f9aPhy8fYBuMN+sNfakZV18U39PbalgjXG3lLB9WkaYTxijru61wb57V9wxxNthXM5Sd88ETBWi29qLAsHO52Q==", + "license": "MIT" + }, + "node_modules/stream-browserify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-3.0.0.tgz", + "integrity": "sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==", + "license": "MIT", + "dependencies": { + "inherits": "~2.0.4", + "readable-stream": "^3.5.0" + } + }, + "node_modules/stream-http": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-3.2.0.tgz", + "integrity": "sha512-Oq1bLqisTyK3TSCXpPbT4sdeYNdmyZJv1LxpEm2vu1ZhK89kSE5YXwZc3cWk0MagGaKriBh9mCFbVGtO+vY29A==", + "license": "MIT", + "dependencies": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "xtend": "^4.0.2" + } }, "node_modules/streamx": { "version": "2.15.2", "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.15.2.tgz", "integrity": "sha512-b62pAV/aeMjUoRN2C/9F0n+G8AfcJjNC0zw/ZmOHeFsIe4m4GzjVW9m6VHXVjk536NbdU9JRwKMJRfkc+zUFTg==", + "license": "MIT", "dependencies": { "fast-fifo": "^1.1.0", "queue-tick": "^1.0.1" @@ -14562,6 +18714,7 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "license": "MIT", "dependencies": { "safe-buffer": "~5.2.0" } @@ -14570,6 +18723,7 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "license": "MIT", "dependencies": { "eastasianwidth": "^0.2.0", "emoji-regex": "^9.2.2", @@ -14587,6 +18741,7 @@ "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -14599,12 +18754,14 @@ "node_modules/string-width-cjs/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==" + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" }, "node_modules/string-width/node_modules/ansi-regex": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "license": "MIT", "engines": { "node": ">=12" }, @@ -14616,6 +18773,7 @@ "version": "7.1.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "license": "MIT", "dependencies": { "ansi-regex": "^6.0.1" }, @@ -14630,6 +18788,7 @@ "version": "4.0.3", "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.3.tgz", "integrity": "sha512-BP9nNHMhhfcMbiuQKCqMjhDP5yBCAxsPu4pHFFzJ6Alo9dZgY4VLDPutXqIjpRiMoKdp7Av85Gr73Q5uH9k7+g==", + "license": "MIT", "dependencies": { "character-entities-html4": "^2.0.0", "character-entities-legacy": "^3.0.0" @@ -14643,6 +18802,7 @@ "version": "3.3.0", "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", + "license": "BSD-2-Clause", "dependencies": { "get-own-enumerable-property-symbols": "^3.0.0", "is-obj": "^1.0.1", @@ -14656,6 +18816,7 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1" }, @@ -14668,6 +18829,7 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1" }, @@ -14679,6 +18841,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz", "integrity": "sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==", + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -14687,6 +18850,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "license": "MIT", "engines": { "node": ">=6" } @@ -14695,6 +18859,7 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "license": "MIT", "engines": { "node": ">=8" }, @@ -14706,6 +18871,7 @@ "version": "0.4.4", "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-0.4.4.tgz", "integrity": "sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg==", + "license": "MIT", "dependencies": { "inline-style-parser": "0.1.1" } @@ -14714,6 +18880,7 @@ "version": "6.1.1", "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-6.1.1.tgz", "integrity": "sha512-gSTTEQ670cJNoaeIp9KX6lZmm8LJ3jPB5yJmX8Zq/wQxOsAFXV3qjWzHas3YYk1qesuVIyYWWUpZ0vSE/dTSGg==", + "license": "MIT", "dependencies": { "browserslist": "^4.23.0", "postcss-selector-parser": "^6.0.16" @@ -14729,6 +18896,7 @@ "version": "3.35.0", "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz", "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==", + "license": "MIT", "dependencies": { "@jridgewell/gen-mapping": "^0.3.2", "commander": "^4.0.0", @@ -14750,6 +18918,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" } @@ -14758,6 +18927,7 @@ "version": "4.1.1", "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "license": "MIT", "engines": { "node": ">= 6" } @@ -14766,6 +18936,7 @@ "version": "10.3.12", "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.12.tgz", "integrity": "sha512-TCNv8vJ+xz4QiqTpfOJA7HvYv+tNIRHKfUWw/q+v2jdgN4ebz+KY9tGx5J4rHP0o84mNP+ApH66HRX8us3Khqg==", + "license": "ISC", "dependencies": { "foreground-child": "^3.1.0", "jackspeak": "^2.3.6", @@ -14787,6 +18958,7 @@ "version": "9.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", + "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" }, @@ -14801,6 +18973,7 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -14812,6 +18985,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -14822,13 +18996,14 @@ "node_modules/svg-parser": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", - "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==" + "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==", + "license": "MIT" }, "node_modules/svgo": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/svgo/-/svgo-3.3.1.tgz", "integrity": "sha512-xQQTIGRl3gHTO2PFlZFLl+Xwofj+CMOPitfoByGBNAniQnY6SbGgd31u3C8RTqdlqZqYNl9Sb83VXbimVHcU6w==", - "deprecated": "introduced breaking changes, reverted in v3.3.2", + "license": "MIT", "dependencies": { "@trysound/sax": "0.2.0", "commander": "^7.2.0", @@ -14853,14 +19028,130 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "license": "MIT", "engines": { "node": ">= 10" } }, + "node_modules/swagger2openapi": { + "version": "7.0.8", + "resolved": "https://registry.npmjs.org/swagger2openapi/-/swagger2openapi-7.0.8.tgz", + "integrity": "sha512-upi/0ZGkYgEcLeGieoz8gT74oWHA0E7JivX7aN9mAf+Tc7BQoRBvnIGHoPDw+f9TXTW4s6kGYCZJtauP6OYp7g==", + "license": "BSD-3-Clause", + "dependencies": { + "call-me-maybe": "^1.0.1", + "node-fetch": "^2.6.1", + "node-fetch-h2": "^2.3.0", + "node-readfiles": "^0.2.0", + "oas-kit-common": "^1.0.8", + "oas-resolver": "^2.5.6", + "oas-schema-walker": "^1.1.5", + "oas-validator": "^5.0.8", + "reftools": "^1.1.9", + "yaml": "^1.10.0", + "yargs": "^17.0.1" + }, + "bin": { + "boast": "boast.js", + "oas-validate": "oas-validate.js", + "swagger2openapi": "swagger2openapi.js" + }, + "funding": { + "url": "https://github.com/Mermade/oas-kit?sponsor=1" + } + }, + "node_modules/swagger2openapi/node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/swagger2openapi/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/swagger2openapi/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/swagger2openapi/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/swagger2openapi/node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/swagger2openapi/node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "license": "MIT", + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/swagger2openapi/node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, "node_modules/swr": { "version": "2.2.4", "resolved": "https://registry.npmjs.org/swr/-/swr-2.2.4.tgz", "integrity": "sha512-njiZ/4RiIhoOlAaLYDqwz5qH/KZXVilRLvomrx83HjzCWTfa+InyfAjv05PSFxnmLzZkNO9ZfvgoqzAaEI4sGQ==", + "license": "MIT", "dependencies": { "client-only": "^0.0.1", "use-sync-external-store": "^1.2.0" @@ -14873,6 +19164,7 @@ "version": "2.2.1", "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "license": "MIT", "engines": { "node": ">=6" } @@ -14881,6 +19173,7 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.4.tgz", "integrity": "sha512-5AFQU8b9qLfZCX9zp2duONhPmZv0hGYiBPJsyUdqMjzq/mqVpy/rEUSeHk1+YitmxugaptgBh5oDGU3VsAJq4w==", + "license": "MIT", "dependencies": { "mkdirp-classic": "^0.5.2", "pump": "^3.0.0", @@ -14891,6 +19184,7 @@ "version": "3.1.6", "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.6.tgz", "integrity": "sha512-B/UyjYwPpMBv+PaFSWAmtYjwdrlEaZQEhMIBFNC5oEG8lpiW8XjcSdmEaClj28ArfKScKHs2nshz3k2le6crsg==", + "license": "MIT", "dependencies": { "b4a": "^1.6.4", "fast-fifo": "^1.2.0", @@ -14901,6 +19195,7 @@ "version": "5.24.0", "resolved": "https://registry.npmjs.org/terser/-/terser-5.24.0.tgz", "integrity": "sha512-ZpGR4Hy3+wBEzVEnHvstMvqpD/nABNelQn/z2r0fjVWGQsN3bpOLzQlqDxmb4CDZnXq5lpjnQ+mHQLAOpfM5iw==", + "license": "BSD-2-Clause", "dependencies": { "@jridgewell/source-map": "^0.3.3", "acorn": "^8.8.2", @@ -14918,6 +19213,7 @@ "version": "5.3.9", "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz", "integrity": "sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==", + "license": "MIT", "dependencies": { "@jridgewell/trace-mapping": "^0.3.17", "jest-worker": "^27.4.5", @@ -14951,6 +19247,7 @@ "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -14966,6 +19263,7 @@ "version": "3.5.2", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "license": "MIT", "peerDependencies": { "ajv": "^6.9.1" } @@ -14974,6 +19272,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "license": "MIT", "dependencies": { "@types/node": "*", "merge-stream": "^2.0.0", @@ -14986,12 +19285,14 @@ "node_modules/terser-webpack-plugin/node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "license": "MIT" }, "node_modules/terser-webpack-plugin/node_modules/schema-utils": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "license": "MIT", "dependencies": { "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", @@ -15009,6 +19310,7 @@ "version": "8.1.1", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -15023,6 +19325,7 @@ "version": "8.11.2", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz", "integrity": "sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==", + "license": "MIT", "bin": { "acorn": "bin/acorn" }, @@ -15033,17 +19336,20 @@ "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==" + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "license": "MIT" }, "node_modules/text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==" + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "license": "MIT" }, "node_modules/thenify": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "license": "MIT", "dependencies": { "any-promise": "^1.0.0" } @@ -15052,6 +19358,7 @@ "version": "1.6.0", "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "license": "MIT", "dependencies": { "thenify": ">= 3.1.0 < 4" }, @@ -15062,22 +19369,38 @@ "node_modules/thunky": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", - "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==" + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", + "license": "MIT" + }, + "node_modules/timers-browserify": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", + "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", + "license": "MIT", + "dependencies": { + "setimmediate": "^1.0.4" + }, + "engines": { + "node": ">=0.6.0" + } }, "node_modules/tiny-invariant": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.1.tgz", - "integrity": "sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw==" + "integrity": "sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw==", + "license": "MIT" }, "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==" + "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==", + "license": "MIT" }, "node_modules/to-fast-properties": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "license": "MIT", "engines": { "node": ">=4" } @@ -15086,6 +19409,7 @@ "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==", + "license": "MIT", "dependencies": { "is-number": "^7.0.0" }, @@ -15097,6 +19421,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "license": "MIT", "engines": { "node": ">=0.6" } @@ -15105,14 +19430,22 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz", "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==", + "license": "MIT", "engines": { "node": ">=6" } }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "license": "MIT" + }, "node_modules/trim-lines": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz", "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==", + "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -15122,6 +19455,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/trough/-/trough-2.1.0.tgz", "integrity": "sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==", + "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -15130,17 +19464,26 @@ "node_modules/ts-interface-checker": { "version": "0.1.13", "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", - "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==" + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", + "license": "Apache-2.0" }, "node_modules/tslib": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", + "license": "0BSD" + }, + "node_modules/tty-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.1.tgz", + "integrity": "sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw==", + "license": "MIT" }, "node_modules/tunnel-agent": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "license": "Apache-2.0", "dependencies": { "safe-buffer": "^5.0.1" }, @@ -15152,6 +19495,7 @@ "version": "2.19.0", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", + "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=12.20" }, @@ -15163,6 +19507,7 @@ "version": "1.6.18", "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "license": "MIT", "dependencies": { "media-typer": "0.3.0", "mime-types": "~2.1.24" @@ -15175,6 +19520,7 @@ "version": "1.52.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -15183,6 +19529,7 @@ "version": "2.1.35", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", "dependencies": { "mime-db": "1.52.0" }, @@ -15194,6 +19541,7 @@ "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==", + "license": "MIT", "dependencies": { "is-typedarray": "^1.0.0" } @@ -15202,6 +19550,7 @@ "version": "5.4.5", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz", "integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==", + "license": "Apache-2.0", "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -15213,12 +19562,14 @@ "node_modules/undici-types": { "version": "5.26.5", "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", - "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", + "license": "MIT" }, "node_modules/unicode-canonical-property-names-ecmascript": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", + "license": "MIT", "engines": { "node": ">=4" } @@ -15227,6 +19578,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/unicode-emoji-modifier-base/-/unicode-emoji-modifier-base-1.0.0.tgz", "integrity": "sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g==", + "license": "MIT", "engines": { "node": ">=4" } @@ -15235,6 +19587,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "license": "MIT", "dependencies": { "unicode-canonical-property-names-ecmascript": "^2.0.0", "unicode-property-aliases-ecmascript": "^2.0.0" @@ -15247,6 +19600,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", + "license": "MIT", "engines": { "node": ">=4" } @@ -15255,6 +19609,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", + "license": "MIT", "engines": { "node": ">=4" } @@ -15263,6 +19618,7 @@ "version": "11.0.4", "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.4.tgz", "integrity": "sha512-apMPnyLjAX+ty4OrNap7yumyVAMlKx5IWU2wlzzUdYJO9A8f1p9m/gywF/GM2ZDFcjQPrx59Mc90KwmxsoklxQ==", + "license": "MIT", "dependencies": { "@types/unist": "^3.0.0", "bail": "^2.0.0", @@ -15281,6 +19637,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-3.0.0.tgz", "integrity": "sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ==", + "license": "MIT", "dependencies": { "crypto-random-string": "^4.0.0" }, @@ -15291,10 +19648,21 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/unist-util-generated": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-2.0.1.tgz", + "integrity": "sha512-qF72kLmPxAw0oN2fwpWIqbXAVyEqUzDHMsbtPvOudIlUzXYFIeQIuxXQCRCFh22B7cixvU0MG7m3MW8FTq/S+A==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/unist-util-is": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz", "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==", + "license": "MIT", "dependencies": { "@types/unist": "^3.0.0" }, @@ -15307,6 +19675,7 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz", "integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==", + "license": "MIT", "dependencies": { "@types/unist": "^3.0.0" }, @@ -15319,6 +19688,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/unist-util-position-from-estree/-/unist-util-position-from-estree-2.0.0.tgz", "integrity": "sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ==", + "license": "MIT", "dependencies": { "@types/unist": "^3.0.0" }, @@ -15331,6 +19701,7 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-5.0.0.tgz", "integrity": "sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==", + "license": "MIT", "dependencies": { "@types/unist": "^3.0.0", "unist-util-visit": "^5.0.0" @@ -15344,6 +19715,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "license": "MIT", "dependencies": { "@types/unist": "^3.0.0" }, @@ -15356,6 +19728,7 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz", "integrity": "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==", + "license": "MIT", "dependencies": { "@types/unist": "^3.0.0", "unist-util-is": "^6.0.0", @@ -15370,6 +19743,7 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz", "integrity": "sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==", + "license": "MIT", "dependencies": { "@types/unist": "^3.0.0", "unist-util-is": "^6.0.0" @@ -15383,6 +19757,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "license": "MIT", "engines": { "node": ">= 10.0.0" } @@ -15391,6 +19766,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "license": "MIT", "engines": { "node": ">= 0.8" } @@ -15413,6 +19789,7 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { "escalade": "^3.1.1", "picocolors": "^1.0.0" @@ -15428,6 +19805,7 @@ "version": "6.0.2", "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-6.0.2.tgz", "integrity": "sha512-EDxhTEVPZZRLWYcJ4ZXjGFN0oP7qYvbXWzEgRm/Yql4dHX5wDbvh89YHP6PK1lzZJYrMtXUuZZz8XGK+U6U1og==", + "license": "BSD-2-Clause", "dependencies": { "boxen": "^7.0.0", "chalk": "^5.0.1", @@ -15455,6 +19833,7 @@ "version": "7.1.1", "resolved": "https://registry.npmjs.org/boxen/-/boxen-7.1.1.tgz", "integrity": "sha512-2hCgjEmP8YLWQ130n2FerGv7rYpfBmnmp9Uy2Le1vge6X3gZIfSmEzP5QTDElFxcvVcXlEn8Aq6MU/PZygIOog==", + "license": "MIT", "dependencies": { "ansi-align": "^3.0.1", "camelcase": "^7.0.1", @@ -15476,6 +19855,7 @@ "version": "7.0.1", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-7.0.1.tgz", "integrity": "sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==", + "license": "MIT", "engines": { "node": ">=14.16" }, @@ -15487,6 +19867,7 @@ "version": "5.3.0", "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", + "license": "MIT", "engines": { "node": "^12.17.0 || ^14.13 || >=16.0.0" }, @@ -15498,6 +19879,7 @@ "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "license": "BSD-2-Clause", "dependencies": { "punycode": "^2.1.0" } @@ -15506,14 +19888,26 @@ "version": "2.3.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "license": "MIT", "engines": { "node": ">=6" } }, + "node_modules/url": { + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.3.tgz", + "integrity": "sha512-6hxOLGfZASQK/cijlZnZJTq8OXAkt/3YGfQX45vvMYXpZoo8NdWZcY73K108Jf759lS1Bv/8wXnHDTSz17dSRw==", + "license": "MIT", + "dependencies": { + "punycode": "^1.4.1", + "qs": "^6.11.2" + } + }, "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==", + "license": "MIT", "dependencies": { "loader-utils": "^2.0.0", "mime-types": "^2.1.27", @@ -15540,6 +19934,7 @@ "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -15555,6 +19950,7 @@ "version": "3.5.2", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "license": "MIT", "peerDependencies": { "ajv": "^6.9.1" } @@ -15562,12 +19958,14 @@ "node_modules/url-loader/node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "license": "MIT" }, "node_modules/url-loader/node_modules/mime-db": { "version": "1.52.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -15576,6 +19974,7 @@ "version": "2.1.35", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", "dependencies": { "mime-db": "1.52.0" }, @@ -15587,6 +19986,7 @@ "version": "3.3.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "license": "MIT", "dependencies": { "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", @@ -15600,10 +20000,26 @@ "url": "https://opencollective.com/webpack" } }, + "node_modules/url/node_modules/qs": { + "version": "6.12.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.12.1.tgz", + "integrity": "sha512-zWmv4RSuB9r2mYQw3zxQuHWeU+42aKi1wWig/j4ele4ygELZ7PEO6MM7rim9oAQH2A5MWfsAVf/jPvTPgCbvUQ==", + "license": "BSD-3-Clause", + "dependencies": { + "side-channel": "^1.0.6" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/use-editable": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/use-editable/-/use-editable-2.3.3.tgz", "integrity": "sha512-7wVD2JbfAFJ3DK0vITvXBdpd9JAz5BcKAAolsnLBuBn6UDDwBGuCIAGvR3yA2BNKm578vAMVHFCWaOcA+BhhiA==", + "license": "MIT", "peerDependencies": { "react": ">= 16.8.0" } @@ -15612,24 +20028,41 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz", "integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==", + "license": "MIT", "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0" } }, + "node_modules/util": { + "version": "0.12.5", + "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", + "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "is-arguments": "^1.0.4", + "is-generator-function": "^1.0.7", + "is-typed-array": "^1.1.3", + "which-typed-array": "^1.1.2" + } + }, "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "license": "MIT" }, "node_modules/utila": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", - "integrity": "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==" + "integrity": "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==", + "license": "MIT" }, "node_modules/utility-types": { "version": "3.10.0", "resolved": "https://registry.npmjs.org/utility-types/-/utility-types-3.10.0.tgz", "integrity": "sha512-O11mqxmi7wMKCo6HKFt5AhO4BwY3VV68YU07tgxfz8zJTIxr4BpsezN49Ffwy9j3ZpwwJp4fkRwjRzq3uWE6Rg==", + "license": "MIT", "engines": { "node": ">= 4" } @@ -15638,6 +20071,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "license": "MIT", "engines": { "node": ">= 0.4.0" } @@ -15646,14 +20080,43 @@ "version": "8.3.2", "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "license": "MIT", "bin": { "uuid": "dist/bin/uuid" } }, + "node_modules/uvu": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/uvu/-/uvu-0.5.6.tgz", + "integrity": "sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA==", + "license": "MIT", + "dependencies": { + "dequal": "^2.0.0", + "diff": "^5.0.0", + "kleur": "^4.0.3", + "sade": "^1.7.3" + }, + "bin": { + "uvu": "bin.js" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/uvu/node_modules/kleur": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", + "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/validate-peer-dependencies": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/validate-peer-dependencies/-/validate-peer-dependencies-2.2.0.tgz", "integrity": "sha512-8X1OWlERjiUY6P6tdeU9E0EwO8RA3bahoOVG7ulOZT5MqgNDUO/BQoVjYiHPcNe+v8glsboZRIw9iToMAA2zAA==", + "license": "MIT", "dependencies": { "resolve-package-path": "^4.0.3", "semver": "^7.3.8" @@ -15662,15 +20125,50 @@ "node": ">= 12" } }, + "node_modules/validate.io-array": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/validate.io-array/-/validate.io-array-1.0.6.tgz", + "integrity": "sha512-DeOy7CnPEziggrOO5CZhVKJw6S3Yi7e9e65R1Nl/RTN1vTQKnzjfvks0/8kQ40FP/dsjRAOd4hxmJ7uLa6vxkg==", + "license": "MIT" + }, + "node_modules/validate.io-function": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/validate.io-function/-/validate.io-function-1.0.2.tgz", + "integrity": "sha512-LlFybRJEriSuBnUhQyG5bwglhh50EpTL2ul23MPIuR1odjO7XaMLFV8vHGwp7AZciFxtYOeiSCT5st+XSPONiQ==" + }, + "node_modules/validate.io-integer": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/validate.io-integer/-/validate.io-integer-1.0.5.tgz", + "integrity": "sha512-22izsYSLojN/P6bppBqhgUDjCkr5RY2jd+N2a3DCAUey8ydvrZ/OkGvFPR7qfOpwR2LC5p4Ngzxz36g5Vgr/hQ==", + "dependencies": { + "validate.io-number": "^1.0.3" + } + }, + "node_modules/validate.io-integer-array": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/validate.io-integer-array/-/validate.io-integer-array-1.0.0.tgz", + "integrity": "sha512-mTrMk/1ytQHtCY0oNO3dztafHYyGU88KL+jRxWuzfOmQb+4qqnWmI+gykvGp8usKZOM0H7keJHEbRaFiYA0VrA==", + "dependencies": { + "validate.io-array": "^1.0.3", + "validate.io-integer": "^1.0.4" + } + }, + "node_modules/validate.io-number": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/validate.io-number/-/validate.io-number-1.0.3.tgz", + "integrity": "sha512-kRAyotcbNaSYoDnXvb4MHg/0a1egJdLwS6oJ38TJY7aw9n93Fl/3blIXdyYvPOp55CNxywooG/3BcrwNrBpcSg==" + }, "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==" + "integrity": "sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==", + "license": "MIT" }, "node_modules/vary": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "license": "MIT", "engines": { "node": ">= 0.8" } @@ -15679,6 +20177,7 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.1.tgz", "integrity": "sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==", + "license": "MIT", "dependencies": { "@types/unist": "^3.0.0", "unist-util-stringify-position": "^4.0.0", @@ -15693,6 +20192,7 @@ "version": "5.0.2", "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-5.0.2.tgz", "integrity": "sha512-NXPYyxyBSH7zB5U6+3uDdd6Nybz6o6/od9rk8bp9H8GR3L+cm/fC0uUTbqBmUTnMCUDslAGBOIKNfvvb+gGlDg==", + "license": "MIT", "dependencies": { "@types/unist": "^3.0.0", "vfile": "^6.0.0" @@ -15706,6 +20206,7 @@ "version": "4.0.2", "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.2.tgz", "integrity": "sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==", + "license": "MIT", "dependencies": { "@types/unist": "^3.0.0", "unist-util-stringify-position": "^4.0.0" @@ -15715,10 +20216,26 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/vm-browserify": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", + "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", + "license": "MIT" + }, + "node_modules/warning": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz", + "integrity": "sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.0.0" + } + }, "node_modules/watchpack": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "license": "MIT", "dependencies": { "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.1.2" @@ -15731,6 +20248,7 @@ "version": "1.7.3", "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "license": "MIT", "dependencies": { "minimalistic-assert": "^1.0.0" } @@ -15739,15 +20257,23 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-2.0.1.tgz", "integrity": "sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==", + "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "license": "BSD-2-Clause" + }, "node_modules/webpack": { "version": "5.89.0", "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.89.0.tgz", "integrity": "sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==", + "license": "MIT", "dependencies": { "@types/eslint-scope": "^3.7.3", "@types/estree": "^1.0.0", @@ -15794,6 +20320,7 @@ "version": "4.9.1", "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.9.1.tgz", "integrity": "sha512-jnd6EoYrf9yMxCyYDPj8eutJvtjQNp8PHmni/e/ulydHBWhT5J3menXt3HEkScsu9YqMAcG4CfFjs3rj5pVU1w==", + "license": "MIT", "dependencies": { "@discoveryjs/json-ext": "0.5.7", "acorn": "^8.0.4", @@ -15824,6 +20351,7 @@ "version": "8.11.2", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz", "integrity": "sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==", + "license": "MIT", "bin": { "acorn": "bin/acorn" }, @@ -15835,6 +20363,7 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "license": "MIT", "engines": { "node": ">= 10" } @@ -15843,6 +20372,7 @@ "version": "5.3.4", "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.4.tgz", "integrity": "sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q==", + "license": "MIT", "dependencies": { "colorette": "^2.0.10", "memfs": "^3.4.3", @@ -15865,6 +20395,7 @@ "version": "1.52.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -15873,6 +20404,7 @@ "version": "2.1.35", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", "dependencies": { "mime-db": "1.52.0" }, @@ -15884,6 +20416,7 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -15892,6 +20425,7 @@ "version": "4.15.1", "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.1.tgz", "integrity": "sha512-5hbAst3h3C3L8w6W4P96L5vaV0PxSmJhxZvWKYIdgxOQm8pNZ5dEOmmSLBVpP85ReeyRt6AS1QJNyo/oFFPeVA==", + "license": "MIT", "dependencies": { "@types/bonjour": "^3.5.9", "@types/connect-history-api-fallback": "^1.3.5", @@ -15950,6 +20484,7 @@ "version": "8.14.2", "resolved": "https://registry.npmjs.org/ws/-/ws-8.14.2.tgz", "integrity": "sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g==", + "license": "MIT", "engines": { "node": ">=10.0.0" }, @@ -15970,6 +20505,7 @@ "version": "5.10.0", "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz", "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==", + "license": "MIT", "dependencies": { "clone-deep": "^4.0.1", "flat": "^5.0.2", @@ -15983,6 +20519,7 @@ "version": "3.2.3", "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "license": "MIT", "engines": { "node": ">=10.13.0" } @@ -15991,6 +20528,7 @@ "version": "8.11.2", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz", "integrity": "sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==", + "license": "MIT", "bin": { "acorn": "bin/acorn" }, @@ -16002,6 +20540,7 @@ "version": "1.9.0", "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", + "license": "MIT", "peerDependencies": { "acorn": "^8" } @@ -16010,6 +20549,7 @@ "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -16025,6 +20565,7 @@ "version": "3.5.2", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "license": "MIT", "peerDependencies": { "ajv": "^6.9.1" } @@ -16032,12 +20573,14 @@ "node_modules/webpack/node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "license": "MIT" }, "node_modules/webpack/node_modules/mime-db": { "version": "1.52.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -16046,6 +20589,7 @@ "version": "2.1.35", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", "dependencies": { "mime-db": "1.52.0" }, @@ -16057,6 +20601,7 @@ "version": "3.3.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "license": "MIT", "dependencies": { "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", @@ -16074,6 +20619,7 @@ "version": "5.0.2", "resolved": "https://registry.npmjs.org/webpackbar/-/webpackbar-5.0.2.tgz", "integrity": "sha512-BmFJo7veBDgQzfWXl/wwYXr/VFus0614qZ8i9znqcl9fnEdiVkdbi0TedLQ6xAK92HZHDJ0QmyQ0fmuZPAgCYQ==", + "license": "MIT", "dependencies": { "chalk": "^4.1.0", "consola": "^2.15.3", @@ -16091,6 +20637,7 @@ "version": "0.7.4", "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "license": "Apache-2.0", "dependencies": { "http-parser-js": ">=0.5.1", "safe-buffer": ">=5.1.0", @@ -16104,14 +20651,26 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", + "license": "Apache-2.0", "engines": { "node": ">=0.8.0" } }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "license": "MIT", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, "node_modules/which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "license": "ISC", "dependencies": { "isexe": "^2.0.0" }, @@ -16122,10 +20681,36 @@ "node": ">= 8" } }, + "node_modules/which-module": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz", + "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==", + "license": "ISC" + }, + "node_modules/which-typed-array": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz", + "integrity": "sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==", + "license": "MIT", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/widest-line": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-4.0.1.tgz", "integrity": "sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==", + "license": "MIT", "dependencies": { "string-width": "^5.0.1" }, @@ -16139,12 +20724,14 @@ "node_modules/wildcard": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", - "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==" + "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", + "license": "MIT" }, "node_modules/wrap-ansi": { "version": "8.1.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "license": "MIT", "dependencies": { "ansi-styles": "^6.1.0", "string-width": "^5.0.1", @@ -16162,6 +20749,7 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "license": "MIT", "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -16177,12 +20765,14 @@ "node_modules/wrap-ansi-cjs/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==" + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" }, "node_modules/wrap-ansi-cjs/node_modules/string-width": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -16196,6 +20786,7 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "license": "MIT", "engines": { "node": ">=12" }, @@ -16207,6 +20798,7 @@ "version": "6.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "license": "MIT", "engines": { "node": ">=12" }, @@ -16218,6 +20810,7 @@ "version": "7.1.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "license": "MIT", "dependencies": { "ansi-regex": "^6.0.1" }, @@ -16231,12 +20824,14 @@ "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "license": "ISC" }, "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==", + "license": "ISC", "dependencies": { "imurmurhash": "^0.1.4", "is-typedarray": "^1.0.0", @@ -16248,6 +20843,7 @@ "version": "7.5.9", "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", + "license": "MIT", "engines": { "node": ">=8.3.0" }, @@ -16268,6 +20864,7 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-5.1.0.tgz", "integrity": "sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ==", + "license": "MIT", "engines": { "node": ">=12" }, @@ -16275,10 +20872,23 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/xml-formatter": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/xml-formatter/-/xml-formatter-2.6.1.tgz", + "integrity": "sha512-dOiGwoqm8y22QdTNI7A+N03tyVfBlQ0/oehAzxIZtwnFAHGeSlrfjF73YQvzSsa/Kt6+YZasKsrdu6OIpuBggw==", + "license": "MIT", + "dependencies": { + "xml-parser-xo": "^3.2.0" + }, + "engines": { + "node": ">= 10" + } + }, "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==", + "license": "MIT", "dependencies": { "sax": "^1.2.4" }, @@ -16286,23 +20896,181 @@ "xml-js": "bin/cli.js" } }, + "node_modules/xml-parser-xo": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/xml-parser-xo/-/xml-parser-xo-3.2.0.tgz", + "integrity": "sha512-8LRU6cq+d7mVsoDaMhnkkt3CTtAs4153p49fRo+HIB3I1FD1o5CeXRjRH29sQevIfVJIcPjKSsPU/+Ujhq09Rg==", + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "license": "MIT", + "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==", + "license": "ISC" + }, "node_modules/yallist": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "license": "ISC" }, "node_modules/yaml": { "version": "1.10.2", "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "license": "ISC", "engines": { "node": ">= 6" } }, + "node_modules/yaml-ast-parser": { + "version": "0.0.43", + "resolved": "https://registry.npmjs.org/yaml-ast-parser/-/yaml-ast-parser-0.0.43.tgz", + "integrity": "sha512-2PTINUwsRqSd+s8XxKaJWQlUuEMHJQyEuh2edBbW8KNJz0SJPwUSD2zRWqezFEdN7IzAgeuYHFUCF7o8zRdZ0A==", + "license": "Apache-2.0" + }, + "node_modules/yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "license": "MIT", + "dependencies": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "license": "ISC", + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "engines": { + "node": ">=6" + } + }, + "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==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/yargs/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==", + "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs/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==", + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "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==", + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/yargs/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==", + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs/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==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/yocto-queue": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==", + "license": "MIT", "engines": { "node": ">=12.20" }, @@ -16314,6 +21082,7 @@ "version": "2.0.4", "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==", + "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" diff --git a/package.json b/package.json index 56f7a40a9..8410a0ca0 100644 --- a/package.json +++ b/package.json @@ -25,6 +25,8 @@ "@docusaurus/theme-live-codeblock": "^3.3.2", "@easyops-cn/docusaurus-search-local": "^0.42.0", "@mdx-js/react": "^3.0.1", + "@port-labs/docusaurus-plugin-openapi-docs": "^0.0.5", + "@port-labs/docusaurus-theme-openapi-docs": "^0.0.5", "@stackql/docusaurus-plugin-hubspot": "^1.0.1", "clsx": "^2.1.1", "docusaurus-plugin-hotjar": "^0.0.2", diff --git a/sidebars.js b/sidebars.js index fd342f2cd..5d299cd72 100644 --- a/sidebars.js +++ b/sidebars.js @@ -11,11 +11,15 @@ // @ts-check +import apiSidebar from './docs/api-reference/sidebar.ts'; + /** @type {import('@docusaurus/plugin-content-docs').SidebarsConfig} */ const sidebars = { // By default, Docusaurus generates a sidebar from the docs folder structure - tutorialSidebar: [{type: 'autogenerated', dirName: '.'}], - + mainSidebar: [{type: 'autogenerated', dirName: '.'}], + "api-sidebar": [ + apiSidebar, + ], // But you can create a sidebar manually /* tutorialSidebar: [ diff --git a/src/css/custom.css b/src/css/custom.css index 1abdad30f..80d084e00 100644 --- a/src/css/custom.css +++ b/src/css/custom.css @@ -75,6 +75,10 @@ h6::first-letter { --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.3); } +.hidden { + display: none !important; +} + .operators-tabs { font-size: 0.8rem; text-align: center; @@ -166,6 +170,68 @@ html[data-theme="dark"] details details { font-size: 90%; } +.api-method > .menu__link { + align-items: center; + justify-content: start; +} + +.api-method > .menu__link::before { + width: 50px; + height: 20px; + font-size: 12px; + line-height: 20px; + text-transform: uppercase; + font-weight: 600; + border-radius: 0.25rem; + border: 1px solid; + border-inline-start-width: 5px; + margin-right: var(--ifm-spacing-horizontal); + text-align: center; + flex-shrink: 0; +} + +.get > .menu__link::before { + content: "get"; + background-color: var(--ifm-color-primary-contrast-background); + color: var(--ifm-color-success-contrast-foreground); + border-color: var(--ifm-color-primary-darkest); +} + +.post > .menu__link::before { + content: "post"; + background-color: var(--ifm-color-success-contrast-background); + color: var(--ifm-color-success-contrast-foreground); + border-color: var(--ifm-color-success-dark); +} + +.delete > .menu__link::before { + content: "del"; + background-color: var(--ifm-color-danger-contrast-background); + color: var(--ifm-color-danger-contrast-foreground); + border-color: var(--ifm-color-danger-dark); +} + +.put > .menu__link::before { + content: "put"; + background-color: var(--ifm-color-info-contrast-background); + color: var(--ifm-color-info-contrast-foreground); + border-color: var(--ifm-color-info-dark); +} + +.patch > .menu__link::before { + content: "patch"; + background-color: var(--ifm-color-warning-contrast-background); + color: var(--ifm-color-warning-contrast-foreground); + border-color: var(--ifm-color-warning-dark); +} + +.head > .menu__link::before { + content: "head"; + background-color: var(--ifm-color-secondary-contrast-background); + color: var(--ifm-color-secondary-contrast-foreground); + border-color: var(--ifm-color-secondary-dark); +} + /* sidebar icons */ /* sidebar icons - category items */ @@ -325,6 +391,182 @@ html[data-theme="dark"] details details { zoom: 100%; } -.hidden { - display: none +.header-api-link:hover { + border-radius: var(--ifm-global-radius); + background: var(--ifm-menu-color-background-active); +} + +.header-api-link:hover:not(.header-api-link--active) { + opacity: 0.8; +} + +.header-home-link:hover { + border-radius: var(--ifm-global-radius); + background: var(--ifm-menu-color-background-active); +} + +.header-home-link:hover:not(.header-home-link--active) { + opacity: 0.8; +} + +.openapi-params__list-item:not(.anything) { + padding: 1rem; + margin: 0 0 1rem 0 !important; + border-radius: 8px; + border: thin solid var(--openapi-tree-line-color) !important; +} + +html[data-theme="light"] .openapi-params__list-item { + background-color: rgba(247,249,250,1) !important; +} + +html[data-theme="dark"] .openapi-params__list-item { + background-color: rgb(40,42,54) !important; +} + +.openapi-params__list-item::before { + display: none !important; +} + +.openapi-schema__list-item:not(.anything) { + background-color: rgba(247,249,250,1); + padding: 1rem !important; + margin: 0 0 1rem 0 !important; + border-radius: 8px; + border: thin solid var(--openapi-tree-line-color) !important; +} + +html[data-theme="light"] .openapi-schema__list-item { + background-color: rgba(247,249,250,1) !important; +} + +html[data-theme="dark"] .openapi-schema__list-item { + background-color: rgb(40,42,54) !important; +} + +.openapi-schema__list-item::before { + display: none !important; +} + +.openapi-schema__property { + font-family: "DM Sans" !important; +} + +.openapi-schema__required { + margin-right: 2%; +} + +.openapi-schema__divider { + display: none; +} + +.openapi-markdown__details ul { + margin-left: 0 !important; +} + +.openapi-explorer__request-title { + text-indent: -9999px; + line-height: 0; +} + +.openapi-explorer__request-title::after { + content: "Try it out"; + text-indent: 0; + display: block; + line-height: initial; + font-size: small; +} + +.openapi-explorer__details-container:not(.anything) { + margin: 0 0 1.5rem 0 !important; + border-radius: 8px; +} + +.openapi-explorer__form-item-input:not(.anything) { + border: 1px solid black !important; +} + +.openapi-explorer__select-input:not(.anything) { + border: 1px solid black !important; +} + +.openapi-explorer__form-item-input::placeholder { + text-indent: -9999px; + line-height: 0; +} + +.openapi-explorer__details-summary { + font-weight: bold !important; + font-size: medium !important; +} + +.openapi-explorer__show-more-btn { + margin-top: 0.5rem; + font-weight: bold; + font-family: "DM Sans"; + font-size: small !important; +} + +.openapi-explorer__playground-editor { + zoom: 115%; + height: 15rem !important; + border: 1px solid black !important; + border-radius: 8px !important; +} + +.openapi-explorer__playground-editor > .prism-code { + background-color: rgb(131, 224, 255, 0.08) !important; + height: 15rem !important; +} + +.openapi-explorer__show-more-btn { + font-size: medium !important; +} + +.openapi-explorer__request-btn { + display: block; + margin-right: 0; + margin-left: auto; +} + +.openapi-tabs__mime-item { + display: none !important; +} + +.openapi-tabs__response-header-section { + display:grid !important; + gap: 1rem !important; +} + +.openapi-tabs__response-container { + padding: 0 !important; + max-width: fit-content !important; +} + +.openapi-tabs__code-list-container::-webkit-scrollbar { + -webkit-appearance: none; + width: 1rem !important; + height: 0.5rem !important; +} + +.openapi-tabs__code-list-container::-webkit-scrollbar-thumb { + border-radius: 4px; + background-color: rgba(0, 0, 0, .5); + box-shadow: 0 0 1px rgba(255, 255, 255, .5); +} + +.openapi-markdown__details .openapi-markdown__details { + background-color: transparent !important; +} + +.openapi-tabs__schema-item { + font-size: 0.75rem !important; +} + +.badge:not(.openapi__method-endpoint *) { + margin-bottom: 0.6rem !important; +} + +.theme-code-block-highlighted-line { + display: table-row !important; } \ No newline at end of file diff --git a/static/img/logos/logo-dark.svg b/static/img/logos/logo-dark.svg new file mode 100644 index 000000000..0a03b3aee --- /dev/null +++ b/static/img/logos/logo-dark.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/static/img/logos/logo-light.svg b/static/img/logos/logo-light.svg new file mode 100644 index 000000000..53d6de39b --- /dev/null +++ b/static/img/logos/logo-light.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/static/img/openapi/getBearerToken.png b/static/img/openapi/getBearerToken.png new file mode 100644 index 0000000000000000000000000000000000000000..58d4ca10473d75199457146d8afb97ba177d94e1 GIT binary patch literal 31188 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 lQs!q~0RN{yf7|JWr;`<)-9K4h1ApS&Egi!fWm' + - '>=' + - < + - <= + value: + type: + - number + required: + - property + - operator + - value + additionalProperties: false + - type: object + properties: + property: + type: string + operator: + enum: + - between + - notBetween + - = + value: + type: object + oneOf: + - type: object + properties: + from: + type: string + format: date-time + to: + type: string + format: date-time + required: + - from + - to + - type: object + properties: + preset: + type: string + enum: + - today + - tomorrow + - yesterday + - lastWeek + - last2Weeks + - lastMonth + - last3Months + - last6Months + - last12Months + required: + - preset + required: + - property + - operator + - value + additionalProperties: false + - type: object + properties: + property: + type: string + operator: + enum: + - = + - '!=' + - containsAny + - contains + - doesNotContain + - beginsWith + - doesNotBeginWith + - endsWith + - doesNotEndWith + - in + - notIn + value: + anyOf: + - type: 'null' + - type: string + - type: number + - type: boolean + - type: array + items: + type: string + - type: string + format: date-time + additionalProperties: false + required: + - property + - operator + - value + - type: object + properties: + operator: + enum: + - isEmpty + - isNotEmpty + property: + type: string + required: + - operator + - property + additionalProperties: false + - type: object + properties: + operator: + enum: + - relatedTo + blueprint: + type: string + value: + type: string + direction: + enum: + - upstream + - downstream + required: + type: boolean + additionalProperties: false + required: + - operator + - value + - blueprint + - type: object + properties: + propertySchema: + type: object + properties: + type: + type: string + format: + type: string + required: + - type + additionalProperties: false + operator: + enum: + - = + - '!=' + value: + anyOf: + - type: 'null' + - type: string + - type: number + - type: boolean + required: + - operator + - propertySchema + additionalProperties: false + - $ref: '#/components/schemas/def-0' + required: + - combinator + - rules + additionalProperties: false + title: /schemas/entitiesQuery + def-1: + type: object + properties: + id: + type: string + updatedAt: + type: string + updatedBy: + type: string + createdAt: + type: string + createdBy: + type: string + type: + type: string + enum: + - dashboard-widget + layout: + type: array + items: + type: object + properties: + height: + type: number + columns: + type: array + items: + type: object + properties: + size: + type: number + id: + type: string + additionalProperties: false + required: + - size + - id + additionalProperties: false + required: + - columns + - height + widgets: + type: array + items: + type: object + anyOf: + - type: object + properties: + id: + type: string + updatedAt: + type: string + updatedBy: + type: string + createdAt: + type: string + createdBy: + type: string + type: + enum: + - entity-info + title: + type: string + entity: + type: string + hiddenQuery: + type: array + items: + type: string + blueprint: + type: string + additionalProperties: false + required: + - type + - entity + - blueprint + - type: object + properties: + id: + type: string + updatedAt: + type: string + updatedBy: + type: string + createdAt: + type: string + createdBy: + type: string + type: + enum: + - action-runs-table-widget + icon: + type: string + description: + type: string + maxLength: 200 + title: + type: string + displayMode: + type: string + enum: + - single + - widget + blueprint: + type: string + action: + type: string + tableConfig: + type: object + properties: + filterSettings: + type: object + properties: + filterBy: + $ref: '#/components/schemas/def-0' + additionalProperties: false + required: + - filterBy + groupSettings: + type: object + properties: + groupBy: + type: array + items: + type: string + additionalProperties: false + required: + - groupBy + sortSettings: + type: object + properties: + sortBy: + type: array + items: + type: object + properties: + property: + type: string + order: + enum: + - asc + - desc + additionalProperties: false + required: + - property + - order + additionalProperties: false + propertiesSettings: + type: object + properties: + hidden: + type: array + items: + type: string + order: + type: array + items: + type: string + additionalProperties: false + additionalProperties: false + additionalProperties: false + required: + - type + - action + - blueprint + - type: object + properties: + id: + type: string + updatedAt: + type: string + updatedBy: + type: string + createdAt: + type: string + createdBy: + type: string + type: + enum: + - table-entities-explorer + icon: + type: string + description: + type: string + maxLength: 200 + title: + type: string + dataset: + $ref: '#/components/schemas/def-0' + excludedFields: + type: array + items: + type: string + displayMode: + type: string + enum: + - tabs + - single + - widget + blueprintConfig: + type: object + propertyNames: + pattern: '^[A-Za-z0-9@_.:\\/=-]+$' + additionalProperties: + type: object + properties: + filterSettings: + type: object + properties: + filterBy: + $ref: '#/components/schemas/def-0' + additionalProperties: false + required: + - filterBy + groupSettings: + type: object + properties: + groupBy: + type: array + items: + type: string + additionalProperties: false + required: + - groupBy + sortSettings: + type: object + properties: + sortBy: + type: array + items: + type: object + properties: + property: + type: string + order: + enum: + - asc + - desc + additionalProperties: false + required: + - property + - order + additionalProperties: false + propertiesSettings: + type: object + properties: + hidden: + type: array + items: + type: string + order: + type: array + items: + type: string + additionalProperties: false + tabIndex: + type: number + hidden: + type: boolean + title: + type: string + maxLength: 20 + description: + type: string + maxLength: 200 + additionalProperties: false + additionalProperties: false + required: + - type + - dataset + - type: object + properties: + id: + type: string + updatedAt: + type: string + updatedBy: + type: string + createdAt: + type: string + createdBy: + type: string + type: + enum: + - table-entities-explorer-by-direction + title: + type: string + blueprintConfig: + type: object + propertyNames: + pattern: >- + ^[A-Za-z0-9@_.:\\/=-]*\$(upstream|downstream|custom)(\$[A-Za-z0-9@_.:\\/=-]+)*$ + additionalProperties: + type: object + properties: + filterSettings: + type: object + properties: + filterBy: + $ref: '#/components/schemas/def-0' + additionalProperties: false + required: + - filterBy + groupSettings: + type: object + properties: + groupBy: + type: array + items: + type: string + additionalProperties: false + required: + - groupBy + sortSettings: + type: object + properties: + sortBy: + type: array + items: + type: object + properties: + property: + type: string + order: + enum: + - asc + - desc + additionalProperties: false + required: + - property + - order + additionalProperties: false + propertiesSettings: + type: object + properties: + hidden: + type: array + items: + type: string + order: + type: array + items: + type: string + additionalProperties: false + tabIndex: + type: number + hidden: + type: boolean + title: + type: string + maxLength: 20 + description: + type: string + maxLength: 200 + dataset: + $ref: '#/components/schemas/def-0' + targetBlueprint: + type: string + relatedProperty: + type: string + additionalProperties: false + additionalProperties: false + required: + - type + - type: object + properties: + id: + type: string + updatedAt: + type: string + updatedBy: + type: string + createdAt: + type: string + createdBy: + type: string + type: + enum: + - table-audit-log + title: + type: string + description: + type: string + query: + type: object + properties: + identifier: + type: string + entity: + type: string + blueprint: + type: string + run_id: + type: string + webhookId: + type: string + webhookEventId: + type: string + origin: + type: array + items: + type: string + InstallationId: + type: string + resources: + anyOf: + - type: array + items: + enum: + - blueprint + - entity + - run + - webhook + - scorecard + - action + - type: string + enum: + - blueprint + - entity + - run + - webhook + - scorecard + - action + includes: + type: array + items: + enum: + - action + - context + - diff + - identifier + - resourceType + - status + - trigger + - additionalData + - message + from: + type: string + format: date-time + description: 'ISO format IE 2022-04-23T18:25:43.511Z' + to: + type: string + format: date-time + description: 'ISO format 2022-04-23T18:25:43.511Z' + action: + type: string + status: + type: string + enum: + - SUCCESS + - FAILURE + limit: + type: number + additionalProperties: false + tableConfig: + type: object + properties: + filterSettings: + type: object + properties: + filterBy: + $ref: '#/components/schemas/def-0' + additionalProperties: false + required: + - filterBy + groupSettings: + type: object + properties: + groupBy: + type: array + items: + type: string + additionalProperties: false + required: + - groupBy + sortSettings: + type: object + properties: + sortBy: + type: array + items: + type: object + properties: + property: + type: string + order: + enum: + - asc + - desc + additionalProperties: false + required: + - property + - order + additionalProperties: false + propertiesSettings: + type: object + properties: + hidden: + type: array + items: + type: string + order: + type: array + items: + type: string + additionalProperties: false + additionalProperties: false + required: + - type + - query + - type: object + properties: + id: + type: string + updatedAt: + type: string + updatedBy: + type: string + createdAt: + type: string + createdBy: + type: string + type: + enum: + - users-table + title: + type: string + query: + type: object + properties: + team: + type: string + tableConfig: + type: object + properties: + filterSettings: + type: object + properties: + filterBy: + $ref: '#/components/schemas/def-0' + additionalProperties: false + required: + - filterBy + groupSettings: + type: object + properties: + groupBy: + type: array + items: + type: string + additionalProperties: false + required: + - groupBy + sortSettings: + type: object + properties: + sortBy: + type: array + items: + type: object + properties: + property: + type: string + order: + enum: + - asc + - desc + additionalProperties: false + required: + - property + - order + additionalProperties: false + propertiesSettings: + type: object + properties: + hidden: + type: array + items: + type: string + order: + type: array + items: + type: string + additionalProperties: false + additionalProperties: false + required: + - type + - type: object + properties: + id: + type: string + updatedAt: + type: string + updatedBy: + type: string + createdAt: + type: string + createdBy: + type: string + type: + enum: + - teams-table + title: + type: string + query: + type: object + properties: + user: + type: string + tableConfig: + type: object + properties: + filterSettings: + type: object + properties: + filterBy: + $ref: '#/components/schemas/def-0' + additionalProperties: false + required: + - filterBy + groupSettings: + type: object + properties: + groupBy: + type: array + items: + type: string + additionalProperties: false + required: + - groupBy + sortSettings: + type: object + properties: + sortBy: + type: array + items: + type: object + properties: + property: + type: string + order: + enum: + - asc + - desc + additionalProperties: false + required: + - property + - order + additionalProperties: false + propertiesSettings: + type: object + properties: + hidden: + type: array + items: + type: string + order: + type: array + items: + type: string + additionalProperties: false + additionalProperties: false + required: + - type + - type: object + properties: + id: + type: string + updatedAt: + type: string + updatedBy: + type: string + createdAt: + type: string + createdBy: + type: string + type: + enum: + - runs-table + title: + type: string + query: + type: object + properties: + entity: + type: string + blueprint: + type: string + active: + type: boolean + user_email: + type: string + limit: + type: number + minimum: 1 + maximum: 50 + external_run_id: + type: string + version: + type: string + enum: + - v1 + - v2 + additionalProperties: false + tableConfig: + type: object + properties: + filterSettings: + type: object + properties: + filterBy: + $ref: '#/components/schemas/def-0' + additionalProperties: false + required: + - filterBy + groupSettings: + type: object + properties: + groupBy: + type: array + items: + type: string + additionalProperties: false + required: + - groupBy + sortSettings: + type: object + properties: + sortBy: + type: array + items: + type: object + properties: + property: + type: string + order: + enum: + - asc + - desc + additionalProperties: false + required: + - property + - order + additionalProperties: false + propertiesSettings: + type: object + properties: + hidden: + type: array + items: + type: string + order: + type: array + items: + type: string + additionalProperties: false + additionalProperties: false + required: + - type + - type: object + properties: + id: + type: string + updatedAt: + type: string + updatedBy: + type: string + createdAt: + type: string + createdBy: + type: string + type: + enum: + - run-info + title: + type: string + runId: + type: string + additionalProperties: false + required: + - type + - runId + - type: object + properties: + id: + type: string + updatedAt: + type: string + updatedBy: + type: string + createdAt: + type: string + createdBy: + type: string + type: + enum: + - user-info + title: + type: string + user_email: + type: string + additionalProperties: false + required: + - type + - user_email + - type: object + properties: + id: + type: string + updatedAt: + type: string + updatedBy: + type: string + createdAt: + type: string + createdBy: + type: string + type: + enum: + - graph-entities-explorer + title: + type: string + dataset: + $ref: '#/components/schemas/def-0' + hiddenBlueprints: + type: array + items: + type: string + additionalProperties: false + required: + - type + - dataset + - type: object + properties: + id: + type: string + updatedAt: + type: string + updatedBy: + type: string + createdAt: + type: string + createdBy: + type: string + icon: + type: string + type: + enum: + - entities-pie-chart + title: + type: string + property: + type: string + description: + type: string + dataset: + $ref: '#/components/schemas/def-0' + additionalProperties: false + required: + - type + - dataset + - property + - type: object + properties: + id: + type: string + updatedAt: + type: string + updatedBy: + type: string + createdAt: + type: string + createdBy: + type: string + type: + type: string + enum: + - entities-number-chart + dataset: + type: array + items: + anyOf: + - type: object + properties: + property: + type: string + operator: + enum: + - '>' + - '>=' + - < + - <= + value: + type: + - number + required: + - property + - operator + - value + additionalProperties: false + - type: object + properties: + property: + type: string + operator: + enum: + - between + - notBetween + - = + value: + type: object + oneOf: + - type: object + properties: + from: + type: string + format: date-time + to: + type: string + format: date-time + required: + - from + - to + - type: object + properties: + preset: + type: string + enum: + - today + - tomorrow + - yesterday + - lastWeek + - last2Weeks + - lastMonth + - last3Months + - last6Months + - last12Months + required: + - preset + required: + - property + - operator + - value + additionalProperties: false + - type: object + properties: + property: + type: string + operator: + enum: + - = + - '!=' + - containsAny + - contains + - doesNotContain + - beginsWith + - doesNotBeginWith + - endsWith + - doesNotEndWith + - in + - notIn + value: + anyOf: + - type: 'null' + - type: string + - type: number + - type: boolean + - type: array + items: + type: string + - type: string + format: date-time + additionalProperties: false + required: + - property + - operator + - value + - type: object + properties: + operator: + enum: + - isEmpty + - isNotEmpty + property: + type: string + required: + - operator + - property + additionalProperties: false + - type: object + properties: + operator: + enum: + - relatedTo + blueprint: + type: string + value: + type: string + direction: + enum: + - upstream + - downstream + required: + type: boolean + additionalProperties: false + required: + - operator + - value + - blueprint + - type: object + properties: + propertySchema: + type: object + properties: + type: + type: string + format: + type: string + required: + - type + additionalProperties: false + operator: + enum: + - = + - '!=' + value: + anyOf: + - type: 'null' + - type: string + - type: number + - type: boolean + required: + - operator + - propertySchema + additionalProperties: false + - $ref: '#/components/schemas/def-0' + title: + type: string + icon: + type: string + description: + type: string + unit: + type: string + enum: + - none + - $ + - € + - £ + - '%' + - custom + unitAlignment: + type: string + enum: + - left + - right + calculationBy: + type: string + enum: + - entities + - property + required: + - type + - dataset + - unit + - calculationBy + allOf: + - properties: + property: + type: string + func: + type: string + enum: + - sum + - average + - min + - max + - median + required: + - property + - func + - properties: + func: + type: string + enum: + - average + - count + required: + - func + - properties: + averageOf: + type: string + enum: + - hour + - day + - week + - month + - total + measureTimeBy: + type: string + required: + - averageOf + - properties: + unitCustom: + type: string + required: + - unitCustom + - type: object + properties: + id: + type: string + updatedAt: + type: string + updatedBy: + type: string + createdAt: + type: string + createdBy: + type: string + type: + type: string + enum: + - iframe-widget + title: + type: string + icon: + type: string + description: + type: string + url: + type: string + format: url + urlType: + type: string + enum: + - public + - protected + required: + - type + - url + - urlType + - title + allOf: + - properties: + tokenUrl: + type: string + format: url + authorizationUrl: + type: string + format: url + clientId: + type: string + scopes: + type: array + items: + type: string + required: + - tokenUrl + - authorizationUrl + - clientId + - scopes + - type: object + properties: + id: + type: string + updatedAt: + type: string + updatedBy: + type: string + createdAt: + type: string + createdBy: + type: string + type: + type: string + enum: + - markdown + title: + type: string + icon: + type: string + markdown: + type: string + required: + - type + - title + - type: object + properties: + id: + type: string + updatedAt: + type: string + updatedBy: + type: string + createdAt: + type: string + createdBy: + type: string + type: + enum: + - team-info + title: + type: string + team_name: + type: string + additionalProperties: false + required: + - type + - team_name + - type: object + properties: + id: + type: string + updatedAt: + type: string + updatedBy: + type: string + createdAt: + type: string + createdBy: + type: string + type: + type: string + enum: + - recently-viewed-entities + title: + type: string + icon: + type: string + required: + - type + - title + - type: object + properties: + id: + type: string + updatedAt: + type: string + updatedBy: + type: string + createdAt: + type: string + createdBy: + type: string + type: + type: string + enum: + - recently-used-actions + title: + type: string + icon: + type: string + required: + - type + - title + - type: object + properties: + id: + type: string + updatedAt: + type: string + updatedBy: + type: string + createdAt: + type: string + createdBy: + type: string + type: + type: string + enum: + - my-entities + title: + type: string + icon: + type: string + required: + - type + - title + additionalProperties: false + required: + - type + - layout + - widgets + title: /schemas/dashboardWidget + def-2: + type: object + properties: + id: + type: string + updatedAt: + type: string + updatedBy: + type: string + createdAt: + type: string + createdBy: + type: string + type: + type: string + enum: + - grouper + title: + type: string + displayMode: + type: string + enum: + - tabs + - switch + activeGroupUrlParam: + type: string + groupsOrder: + type: array + items: + type: string + groups: + type: array + items: + type: object + properties: + title: + type: string + icon: + type: string + widgets: + type: array + items: + anyOf: + - type: object + properties: + id: + type: string + updatedAt: + type: string + updatedBy: + type: string + createdAt: + type: string + createdBy: + type: string + type: + enum: + - entity-info + title: + type: string + entity: + type: string + hiddenQuery: + type: array + items: + type: string + blueprint: + type: string + additionalProperties: false + required: + - type + - entity + - blueprint + - type: object + properties: + id: + type: string + updatedAt: + type: string + updatedBy: + type: string + createdAt: + type: string + createdBy: + type: string + type: + enum: + - action-runs-table-widget + icon: + type: string + description: + type: string + maxLength: 200 + title: + type: string + displayMode: + type: string + enum: + - single + - widget + blueprint: + type: string + action: + type: string + tableConfig: + type: object + properties: + filterSettings: + type: object + properties: + filterBy: + $ref: '#/components/schemas/def-0' + additionalProperties: false + required: + - filterBy + groupSettings: + type: object + properties: + groupBy: + type: array + items: + type: string + additionalProperties: false + required: + - groupBy + sortSettings: + type: object + properties: + sortBy: + type: array + items: + type: object + properties: + property: + type: string + order: + enum: + - asc + - desc + additionalProperties: false + required: + - property + - order + additionalProperties: false + propertiesSettings: + type: object + properties: + hidden: + type: array + items: + type: string + order: + type: array + items: + type: string + additionalProperties: false + additionalProperties: false + additionalProperties: false + required: + - type + - action + - blueprint + - type: object + properties: + id: + type: string + updatedAt: + type: string + updatedBy: + type: string + createdAt: + type: string + createdBy: + type: string + type: + enum: + - table-entities-explorer + icon: + type: string + description: + type: string + maxLength: 200 + title: + type: string + dataset: + $ref: '#/components/schemas/def-0' + excludedFields: + type: array + items: + type: string + displayMode: + type: string + enum: + - tabs + - single + - widget + blueprintConfig: + type: object + propertyNames: + pattern: '^[A-Za-z0-9@_.:\\/=-]+$' + additionalProperties: + type: object + properties: + filterSettings: + type: object + properties: + filterBy: + $ref: '#/components/schemas/def-0' + additionalProperties: false + required: + - filterBy + groupSettings: + type: object + properties: + groupBy: + type: array + items: + type: string + additionalProperties: false + required: + - groupBy + sortSettings: + type: object + properties: + sortBy: + type: array + items: + type: object + properties: + property: + type: string + order: + enum: + - asc + - desc + additionalProperties: false + required: + - property + - order + additionalProperties: false + propertiesSettings: + type: object + properties: + hidden: + type: array + items: + type: string + order: + type: array + items: + type: string + additionalProperties: false + tabIndex: + type: number + hidden: + type: boolean + title: + type: string + maxLength: 20 + description: + type: string + maxLength: 200 + additionalProperties: false + additionalProperties: false + required: + - type + - dataset + - type: object + properties: + id: + type: string + updatedAt: + type: string + updatedBy: + type: string + createdAt: + type: string + createdBy: + type: string + type: + enum: + - table-entities-explorer-by-direction + title: + type: string + blueprintConfig: + type: object + propertyNames: + pattern: >- + ^[A-Za-z0-9@_.:\\/=-]*\$(upstream|downstream|custom)(\$[A-Za-z0-9@_.:\\/=-]+)*$ + additionalProperties: + type: object + properties: + filterSettings: + type: object + properties: + filterBy: + $ref: '#/components/schemas/def-0' + additionalProperties: false + required: + - filterBy + groupSettings: + type: object + properties: + groupBy: + type: array + items: + type: string + additionalProperties: false + required: + - groupBy + sortSettings: + type: object + properties: + sortBy: + type: array + items: + type: object + properties: + property: + type: string + order: + enum: + - asc + - desc + additionalProperties: false + required: + - property + - order + additionalProperties: false + propertiesSettings: + type: object + properties: + hidden: + type: array + items: + type: string + order: + type: array + items: + type: string + additionalProperties: false + tabIndex: + type: number + hidden: + type: boolean + title: + type: string + maxLength: 20 + description: + type: string + maxLength: 200 + dataset: + $ref: '#/components/schemas/def-0' + targetBlueprint: + type: string + relatedProperty: + type: string + additionalProperties: false + additionalProperties: false + required: + - type + - type: object + properties: + id: + type: string + updatedAt: + type: string + updatedBy: + type: string + createdAt: + type: string + createdBy: + type: string + type: + enum: + - table-audit-log + title: + type: string + description: + type: string + query: + type: object + properties: + identifier: + type: string + entity: + type: string + blueprint: + type: string + run_id: + type: string + webhookId: + type: string + webhookEventId: + type: string + origin: + type: array + items: + type: string + InstallationId: + type: string + resources: + anyOf: + - type: array + items: + enum: + - blueprint + - entity + - run + - webhook + - scorecard + - action + - type: string + enum: + - blueprint + - entity + - run + - webhook + - scorecard + - action + includes: + type: array + items: + enum: + - action + - context + - diff + - identifier + - resourceType + - status + - trigger + - additionalData + - message + from: + type: string + format: date-time + description: 'ISO format IE 2022-04-23T18:25:43.511Z' + to: + type: string + format: date-time + description: 'ISO format 2022-04-23T18:25:43.511Z' + action: + type: string + status: + type: string + enum: + - SUCCESS + - FAILURE + limit: + type: number + additionalProperties: false + tableConfig: + type: object + properties: + filterSettings: + type: object + properties: + filterBy: + $ref: '#/components/schemas/def-0' + additionalProperties: false + required: + - filterBy + groupSettings: + type: object + properties: + groupBy: + type: array + items: + type: string + additionalProperties: false + required: + - groupBy + sortSettings: + type: object + properties: + sortBy: + type: array + items: + type: object + properties: + property: + type: string + order: + enum: + - asc + - desc + additionalProperties: false + required: + - property + - order + additionalProperties: false + propertiesSettings: + type: object + properties: + hidden: + type: array + items: + type: string + order: + type: array + items: + type: string + additionalProperties: false + additionalProperties: false + required: + - type + - query + - type: object + properties: + id: + type: string + updatedAt: + type: string + updatedBy: + type: string + createdAt: + type: string + createdBy: + type: string + type: + enum: + - users-table + title: + type: string + query: + type: object + properties: + team: + type: string + tableConfig: + type: object + properties: + filterSettings: + type: object + properties: + filterBy: + $ref: '#/components/schemas/def-0' + additionalProperties: false + required: + - filterBy + groupSettings: + type: object + properties: + groupBy: + type: array + items: + type: string + additionalProperties: false + required: + - groupBy + sortSettings: + type: object + properties: + sortBy: + type: array + items: + type: object + properties: + property: + type: string + order: + enum: + - asc + - desc + additionalProperties: false + required: + - property + - order + additionalProperties: false + propertiesSettings: + type: object + properties: + hidden: + type: array + items: + type: string + order: + type: array + items: + type: string + additionalProperties: false + additionalProperties: false + required: + - type + - type: object + properties: + id: + type: string + updatedAt: + type: string + updatedBy: + type: string + createdAt: + type: string + createdBy: + type: string + type: + enum: + - teams-table + title: + type: string + query: + type: object + properties: + user: + type: string + tableConfig: + type: object + properties: + filterSettings: + type: object + properties: + filterBy: + $ref: '#/components/schemas/def-0' + additionalProperties: false + required: + - filterBy + groupSettings: + type: object + properties: + groupBy: + type: array + items: + type: string + additionalProperties: false + required: + - groupBy + sortSettings: + type: object + properties: + sortBy: + type: array + items: + type: object + properties: + property: + type: string + order: + enum: + - asc + - desc + additionalProperties: false + required: + - property + - order + additionalProperties: false + propertiesSettings: + type: object + properties: + hidden: + type: array + items: + type: string + order: + type: array + items: + type: string + additionalProperties: false + additionalProperties: false + required: + - type + - type: object + properties: + id: + type: string + updatedAt: + type: string + updatedBy: + type: string + createdAt: + type: string + createdBy: + type: string + type: + enum: + - runs-table + title: + type: string + query: + type: object + properties: + entity: + type: string + blueprint: + type: string + active: + type: boolean + user_email: + type: string + limit: + type: number + minimum: 1 + maximum: 50 + external_run_id: + type: string + version: + type: string + enum: + - v1 + - v2 + additionalProperties: false + tableConfig: + type: object + properties: + filterSettings: + type: object + properties: + filterBy: + $ref: '#/components/schemas/def-0' + additionalProperties: false + required: + - filterBy + groupSettings: + type: object + properties: + groupBy: + type: array + items: + type: string + additionalProperties: false + required: + - groupBy + sortSettings: + type: object + properties: + sortBy: + type: array + items: + type: object + properties: + property: + type: string + order: + enum: + - asc + - desc + additionalProperties: false + required: + - property + - order + additionalProperties: false + propertiesSettings: + type: object + properties: + hidden: + type: array + items: + type: string + order: + type: array + items: + type: string + additionalProperties: false + additionalProperties: false + required: + - type + - type: object + properties: + id: + type: string + updatedAt: + type: string + updatedBy: + type: string + createdAt: + type: string + createdBy: + type: string + type: + enum: + - run-info + title: + type: string + runId: + type: string + additionalProperties: false + required: + - type + - runId + - type: object + properties: + id: + type: string + updatedAt: + type: string + updatedBy: + type: string + createdAt: + type: string + createdBy: + type: string + type: + enum: + - user-info + title: + type: string + user_email: + type: string + additionalProperties: false + required: + - type + - user_email + - type: object + properties: + id: + type: string + updatedAt: + type: string + updatedBy: + type: string + createdAt: + type: string + createdBy: + type: string + type: + enum: + - graph-entities-explorer + title: + type: string + dataset: + $ref: '#/components/schemas/def-0' + hiddenBlueprints: + type: array + items: + type: string + additionalProperties: false + required: + - type + - dataset + - type: object + properties: + id: + type: string + updatedAt: + type: string + updatedBy: + type: string + createdAt: + type: string + createdBy: + type: string + icon: + type: string + type: + enum: + - entities-pie-chart + title: + type: string + property: + type: string + description: + type: string + dataset: + $ref: '#/components/schemas/def-0' + additionalProperties: false + required: + - type + - dataset + - property + - type: object + properties: + id: + type: string + updatedAt: + type: string + updatedBy: + type: string + createdAt: + type: string + createdBy: + type: string + type: + type: string + enum: + - entities-number-chart + dataset: + type: array + items: + anyOf: + - type: object + properties: + property: + type: string + operator: + enum: + - '>' + - '>=' + - < + - <= + value: + type: + - number + required: + - property + - operator + - value + additionalProperties: false + - type: object + properties: + property: + type: string + operator: + enum: + - between + - notBetween + - = + value: + type: object + oneOf: + - type: object + properties: + from: + type: string + format: date-time + to: + type: string + format: date-time + required: + - from + - to + - type: object + properties: + preset: + type: string + enum: + - today + - tomorrow + - yesterday + - lastWeek + - last2Weeks + - lastMonth + - last3Months + - last6Months + - last12Months + required: + - preset + required: + - property + - operator + - value + additionalProperties: false + - type: object + properties: + property: + type: string + operator: + enum: + - = + - '!=' + - containsAny + - contains + - doesNotContain + - beginsWith + - doesNotBeginWith + - endsWith + - doesNotEndWith + - in + - notIn + value: + anyOf: + - type: 'null' + - type: string + - type: number + - type: boolean + - type: array + items: + type: string + - type: string + format: date-time + additionalProperties: false + required: + - property + - operator + - value + - type: object + properties: + operator: + enum: + - isEmpty + - isNotEmpty + property: + type: string + required: + - operator + - property + additionalProperties: false + - type: object + properties: + operator: + enum: + - relatedTo + blueprint: + type: string + value: + type: string + direction: + enum: + - upstream + - downstream + required: + type: boolean + additionalProperties: false + required: + - operator + - value + - blueprint + - type: object + properties: + propertySchema: + type: object + properties: + type: + type: string + format: + type: string + required: + - type + additionalProperties: false + operator: + enum: + - = + - '!=' + value: + anyOf: + - type: 'null' + - type: string + - type: number + - type: boolean + required: + - operator + - propertySchema + additionalProperties: false + - $ref: '#/components/schemas/def-0' + title: + type: string + icon: + type: string + description: + type: string + unit: + type: string + enum: + - none + - $ + - € + - £ + - '%' + - custom + unitAlignment: + type: string + enum: + - left + - right + calculationBy: + type: string + enum: + - entities + - property + required: + - type + - dataset + - unit + - calculationBy + allOf: + - properties: + property: + type: string + func: + type: string + enum: + - sum + - average + - min + - max + - median + required: + - property + - func + - properties: + func: + type: string + enum: + - average + - count + required: + - func + - properties: + averageOf: + type: string + enum: + - hour + - day + - week + - month + - total + measureTimeBy: + type: string + required: + - averageOf + - properties: + unitCustom: + type: string + required: + - unitCustom + - type: object + properties: + id: + type: string + updatedAt: + type: string + updatedBy: + type: string + createdAt: + type: string + createdBy: + type: string + type: + type: string + enum: + - iframe-widget + title: + type: string + icon: + type: string + description: + type: string + url: + type: string + format: url + urlType: + type: string + enum: + - public + - protected + required: + - type + - url + - urlType + - title + allOf: + - properties: + tokenUrl: + type: string + format: url + authorizationUrl: + type: string + format: url + clientId: + type: string + scopes: + type: array + items: + type: string + required: + - tokenUrl + - authorizationUrl + - clientId + - scopes + - type: object + properties: + id: + type: string + updatedAt: + type: string + updatedBy: + type: string + createdAt: + type: string + createdBy: + type: string + type: + type: string + enum: + - markdown + title: + type: string + icon: + type: string + markdown: + type: string + required: + - type + - title + - type: object + properties: + id: + type: string + updatedAt: + type: string + updatedBy: + type: string + createdAt: + type: string + createdBy: + type: string + type: + enum: + - team-info + title: + type: string + team_name: + type: string + additionalProperties: false + required: + - type + - team_name + - type: object + properties: + id: + type: string + updatedAt: + type: string + updatedBy: + type: string + createdAt: + type: string + createdBy: + type: string + type: + type: string + enum: + - recently-viewed-entities + title: + type: string + icon: + type: string + required: + - type + - title + - type: object + properties: + id: + type: string + updatedAt: + type: string + updatedBy: + type: string + createdAt: + type: string + createdBy: + type: string + type: + type: string + enum: + - recently-used-actions + title: + type: string + icon: + type: string + required: + - type + - title + - type: object + properties: + id: + type: string + updatedAt: + type: string + updatedBy: + type: string + createdAt: + type: string + createdBy: + type: string + type: + type: string + enum: + - my-entities + title: + type: string + icon: + type: string + required: + - type + - title + additionalProperties: false + required: + - title + - widgets + additionalProperties: false + required: + - type + - groups + - displayMode + title: /schemas/grouperWidget +paths: + # '/v1/blueprints/{blueprint_identifier}/permissions': + # get: + # summary: Get blueprint's permissions + # tags: + # - Blueprints + # parameters: + # - schema: + # type: string + # in: path + # name: blueprint_identifier + # required: true + # security: + # - bearer: + # - 'read:blueprints' + # responses: + # '200': + # description: Default Response + # patch: + # summary: Patch blueprint's permissions + # tags: + # - Blueprints + # requestBody: + # content: + # application/json: + # schema: + # type: object + # properties: + # entities: + # type: object + # properties: + # register: + # type: object + # properties: + # users: + # type: array + # items: + # type: string + # teams: + # type: array + # items: + # type: string + # roles: + # type: array + # items: + # type: string + # ownedByTeam: + # type: boolean + # additionalProperties: false + # update: + # type: object + # properties: + # users: + # type: array + # items: + # type: string + # teams: + # type: array + # items: + # type: string + # roles: + # type: array + # items: + # type: string + # ownedByTeam: + # type: boolean + # additionalProperties: false + # unregister: + # type: object + # properties: + # users: + # type: array + # items: + # type: string + # teams: + # type: array + # items: + # type: string + # roles: + # type: array + # items: + # type: string + # ownedByTeam: + # type: boolean + # additionalProperties: false + # updateProperties: + # type: object + # additionalProperties: + # type: object + # properties: + # users: + # type: array + # items: + # type: string + # teams: + # type: array + # items: + # type: string + # roles: + # type: array + # items: + # type: string + # ownedByTeam: + # type: boolean + # updateRelations: + # type: object + # additionalProperties: + # type: object + # properties: + # users: + # type: array + # items: + # type: string + # teams: + # type: array + # items: + # type: string + # roles: + # type: array + # items: + # type: string + # ownedByTeam: + # type: boolean + # additionalProperties: false + # additionalProperties: false + # parameters: + # - schema: + # type: string + # in: path + # name: blueprint_identifier + # required: true + # security: + # - bearer: [] + # responses: + # '200': + # description: Default Response + # '/v1/pages/{page_identifier}/permissions': + # get: + # summary: Get page's permissions + # tags: + # - Pages + # parameters: + # - schema: + # type: string + # in: path + # name: page_identifier + # required: true + # security: + # - bearer: [] + # responses: + # '200': + # description: Default Response + # patch: + # summary: Patch pages permissions + # tags: + # - Pages + # requestBody: + # content: + # application/json: + # schema: + # type: object + # properties: + # read: + # type: object + # properties: + # users: + # type: array + # items: + # type: string + # roles: + # type: array + # items: + # type: string + # teams: + # type: array + # items: + # type: string + # additionalProperties: false + # additionalProperties: false + # parameters: + # - schema: + # type: string + # in: path + # name: page_identifier + # required: true + # security: + # - bearer: [] + # responses: + # '200': + # description: Default Response + # /v1/auth/access_token: + # post: + # summary: Create an access token + # tags: + # - Authentication / Authorization + # requestBody: + # content: + # application/json: + # schema: + # type: object + # properties: + # clientId: + # type: string + # clientSecret: + # type: string + # additionalProperties: false + # required: + # - clientId + # - clientSecret + # required: true + # responses: + # '200': + # description: Authorized successfully + # content: + # application/json: + # schema: + # type: object + # properties: + # ok: + # enum: + # - true + # accessToken: + # type: string + # expiresIn: + # type: number + # tokenType: + # type: string + # additionalProperties: false + # required: + # - accessToken + # - expiresIn + # - tokenType + # description: Authorized successfully + # '/v1/blueprints/{blueprint_identifier}/entities': + # post: + # summary: Create entities + # tags: + # - Entities + # requestBody: + # content: + # application/json: + # schema: + # type: object + # properties: + # identifier: + # type: string + # pattern: '^[A-Za-z0-9@_.:\\/=-]+$' + # title: + # type: string + # icon: + # type: string + # team: + # oneOf: + # - type: string + # - type: array + # items: + # type: string + # properties: + # type: object + # default: {} + # relations: + # type: object + # additionalProperties: + # anyOf: + # - type: string + # pattern: '^[A-Za-z0-9@_.:\\/=-]+$' + # - type: array + # items: + # type: string + # pattern: '^[A-Za-z0-9@_.:\\/=-]+$' + # - type: 'null' + # additionalProperties: true + # example: + # identifier: first_ticket + # title: FirstTicket + # icon: Jira + # team: [] + # properties: + # content: my content + # relations: {} + # parameters: + # - schema: + # type: boolean + # default: false + # in: query + # name: upsert + # required: true + # - schema: + # type: boolean + # default: false + # in: query + # name: validation_only + # required: false + # - schema: + # type: boolean + # default: false + # in: query + # name: create_missing_related_entities + # required: false + # - schema: + # type: boolean + # default: false + # in: query + # name: merge + # required: false + # - schema: + # type: string + # in: query + # name: run_id + # required: false + # - schema: + # type: string + # in: path + # name: blueprint_identifier + # required: true + # security: + # - bearer: [] + # responses: + # '200': + # description: Default Response + # get: + # summary: Get all blueprint's entities + # tags: + # - Entities + # parameters: + # - schema: + # type: boolean + # default: false + # in: query + # name: exclude_calculated_properties + # required: false + # - schema: + # type: array + # items: + # type: string + # in: query + # name: include + # required: false + # - schema: + # type: array + # items: + # type: string + # in: query + # name: exclude + # required: false + # - schema: + # type: boolean + # in: query + # name: compact + # required: false + # - schema: + # type: boolean + # default: false + # in: query + # name: attach_title_to_relation + # required: false + # - schema: + # type: string + # in: path + # name: blueprint_identifier + # required: true + # security: + # - bearer: + # - 'read:entities' + # responses: + # '200': + # description: Default Response + # '/v1/blueprints/{blueprint_identifier}/entities/{entity_identifier}': + # patch: + # summary: Patch an entity + # tags: + # - Entities + # requestBody: + # content: + # application/json: + # schema: + # type: object + # properties: + # identifier: + # type: + # - string + # pattern: '^[A-Za-z0-9@_.:\\/=-]+$' + # title: + # type: + # - string + # - 'null' + # icon: + # type: + # - string + # - 'null' + # team: + # oneOf: + # - type: + # - string + # - 'null' + # - type: array + # items: + # type: string + # properties: + # type: object + # propertyNames: + # pattern: '^[A-Za-z0-9@_=\\-]+$' + # relations: + # type: object + # additionalProperties: + # anyOf: + # - type: string + # pattern: '^[A-Za-z0-9@_.:\\/=-]+$' + # - type: array + # items: + # type: string + # pattern: '^[A-Za-z0-9@_.:\\/=-]+$' + # - type: 'null' + # additionalProperties: false + # parameters: + # - schema: + # type: boolean + # default: false + # in: query + # name: create_missing_related_entities + # required: false + # - schema: + # type: string + # in: query + # name: run_id + # required: false + # - schema: + # type: string + # in: path + # name: entity_identifier + # required: true + # - schema: + # type: string + # in: path + # name: blueprint_identifier + # required: true + # security: + # - bearer: [] + # responses: + # '200': + # description: Default Response + # put: + # summary: Change an entities + # tags: + # - Entities + # requestBody: + # content: + # application/json: + # schema: + # type: object + # properties: + # identifier: + # type: string + # pattern: '^[A-Za-z0-9@_.:\\/=-]+$' + # title: + # type: string + # icon: + # type: string + # team: + # oneOf: + # - type: string + # - type: array + # items: + # type: string + # properties: + # type: object + # default: {} + # relations: + # type: object + # additionalProperties: + # anyOf: + # - type: string + # pattern: '^[A-Za-z0-9@_.:\\/=-]+$' + # - type: array + # items: + # type: string + # pattern: '^[A-Za-z0-9@_.:\\/=-]+$' + # - type: 'null' + # additionalProperties: true + # example: + # identifier: first_ticket + # title: FirstTicket + # icon: Jira + # team: [] + # properties: + # content: my content + # relations: {} + # parameters: + # - schema: + # type: boolean + # default: false + # in: query + # name: create_missing_related_entities + # required: false + # - schema: + # type: string + # in: query + # name: run_id + # required: false + # - schema: + # type: string + # in: path + # name: entity_identifier + # required: true + # - schema: + # type: string + # in: path + # name: blueprint_identifier + # required: true + # security: + # - bearer: [] + # responses: + # '200': + # description: Default Response + # get: + # summary: Get an entity + # tags: + # - Entities + # parameters: + # - schema: + # type: boolean + # default: false + # in: query + # name: exclude_calculated_properties + # required: false + # - schema: + # type: array + # items: + # type: string + # in: query + # name: include + # required: false + # - schema: + # type: array + # items: + # type: string + # in: query + # name: exclude + # required: false + # - schema: + # type: boolean + # in: query + # name: compact + # required: false + # - schema: + # type: boolean + # default: false + # in: query + # name: attach_title_to_relation + # required: false + # - schema: + # type: string + # in: path + # name: entity_identifier + # required: true + # - schema: + # type: string + # in: path + # name: blueprint_identifier + # required: true + # security: + # - bearer: + # - 'read:entities' + # responses: + # '200': + # description: Default Response + # delete: + # summary: Delte a blueprint's entity + # tags: + # - Entities + # parameters: + # - schema: + # type: boolean + # default: false + # in: query + # name: delete_dependents + # required: true + # - schema: + # type: string + # in: query + # name: run_id + # required: false + # - schema: + # type: string + # in: path + # name: entity_identifier + # required: true + # - schema: + # type: string + # in: path + # name: blueprint_identifier + # required: true + # security: + # - bearer: [] + # responses: + # '200': + # description: Deleted successfully. + # content: + # application/json: + # schema: + # description: Deleted successfully. + # type: object + # properties: + # ok: + # enum: + # - true + # additionalProperties: false + # required: + # - ok + # '/v1/blueprints/{blueprint_identifier}/entities-count': + # get: + # summary: Get blueprint's entity count + # tags: + # - Entities + # parameters: + # - schema: + # type: string + # in: path + # name: blueprint_identifier + # required: true + # security: + # - bearer: [] + # responses: + # '200': + # description: Default Response + # '/v1/blueprints/{blueprint_identifier}/all-entities': + # delete: + # summary: Delete all entities of blueprint + # tags: + # - Entities + # parameters: + # - schema: + # type: string + # in: query + # name: run_id + # required: false + # - schema: + # type: boolean + # in: query + # name: delete_blueprint + # required: false + # - schema: + # type: string + # in: path + # name: blueprint_identifier + # required: true + # security: + # - bearer: [] + # responses: + # '200': + # description: Deleted successfully. + # content: + # application/json: + # schema: + # description: Deleted successfully. + # type: object + # properties: + # ok: + # enum: + # - true + # additionalProperties: false + # required: + # - ok + # /v1/entities/search: + # post: + # summary: Search entities + # tags: + # - Entities + # requestBody: + # content: + # application/json: + # schema: + # type: object + # properties: + # combinator: + # enum: + # - and + # - or + # rules: + # type: array + # items: + # anyOf: + # - type: object + # properties: + # property: + # type: string + # operator: + # enum: + # - '>' + # - '>=' + # - < + # - <= + # value: + # type: + # - number + # required: + # - property + # - operator + # - value + # additionalProperties: false + # - type: object + # properties: + # property: + # type: string + # operator: + # enum: + # - between + # - notBetween + # - = + # value: + # type: object + # oneOf: + # - type: object + # properties: + # from: + # type: string + # format: date-time + # to: + # type: string + # format: date-time + # required: + # - from + # - to + # - type: object + # properties: + # preset: + # type: string + # enum: + # - today + # - tomorrow + # - yesterday + # - lastWeek + # - last2Weeks + # - lastMonth + # - last3Months + # - last6Months + # - last12Months + # required: + # - preset + # required: + # - property + # - operator + # - value + # additionalProperties: false + # - type: object + # properties: + # property: + # type: string + # operator: + # enum: + # - = + # - '!=' + # - containsAny + # - contains + # - doesNotContain + # - beginsWith + # - doesNotBeginWith + # - endsWith + # - doesNotEndWith + # - in + # - notIn + # value: + # anyOf: + # - type: 'null' + # - type: string + # - type: number + # - type: boolean + # - type: array + # items: + # type: string + # - type: string + # format: date-time + # additionalProperties: false + # required: + # - property + # - operator + # - value + # - type: object + # properties: + # operator: + # enum: + # - isEmpty + # - isNotEmpty + # property: + # type: string + # required: + # - operator + # - property + # additionalProperties: false + # - type: object + # properties: + # operator: + # enum: + # - relatedTo + # blueprint: + # type: string + # value: + # type: string + # direction: + # enum: + # - upstream + # - downstream + # required: + # type: boolean + # additionalProperties: false + # required: + # - operator + # - value + # - blueprint + # - type: object + # properties: + # propertySchema: + # type: object + # properties: + # type: + # type: string + # format: + # type: string + # required: + # - type + # additionalProperties: false + # operator: + # enum: + # - = + # - '!=' + # value: + # anyOf: + # - type: 'null' + # - type: string + # - type: number + # - type: boolean + # required: + # - operator + # - propertySchema + # additionalProperties: false + # - $ref: '#/components/schemas/def-0' + # required: + # - combinator + # - rules + # additionalProperties: false + # required: true + # parameters: + # - schema: + # type: boolean + # default: false + # in: query + # name: exclude_calculated_properties + # required: false + # - schema: + # type: array + # items: + # type: string + # in: query + # name: include + # required: false + # - schema: + # type: array + # items: + # type: string + # in: query + # name: exclude + # required: false + # - schema: + # type: boolean + # in: query + # name: compact + # required: false + # - schema: + # type: boolean + # default: false + # in: query + # name: attach_title_to_relation + # required: false + # security: + # - bearer: + # - 'read:entities' + # responses: + # '200': + # description: Default Response + # /v1/entities/aggregate: + # post: + # summary: Aggregate entities + # tags: + # - Entities + # requestBody: + # content: + # application/json: + # schema: + # type: object + # oneOf: + # - type: object + # properties: + # func: + # type: string + # enum: + # - average + # - count + # averageOf: + # type: string + # enum: + # - hour + # - day + # - week + # - month + # - total + # measureTimeBy: + # type: string + # calculationBy: + # type: string + # query: + # $ref: '#/components/schemas/def-0' + # additionalProperties: false + # required: + # - func + # - query + # - type: object + # properties: + # property: + # type: string + # func: + # type: string + # enum: + # - sum + # - average + # - min + # - max + # - median + # averageOf: + # type: string + # enum: + # - hour + # - day + # - week + # - month + # - total + # measureTimeBy: + # type: string + # calculationBy: + # type: string + # query: + # $ref: '#/components/schemas/def-0' + # additionalProperties: false + # required: + # - func + # - property + # - query + # - type: object + # oneOf: + # - properties: + # func: + # enum: + # - countValues + # query: + # $ref: '#/components/schemas/def-0' + # property: + # type: string + # required: + # - func + # - query + # - property + # additionalProperties: false + # - properties: + # func: + # enum: + # - countValues + # query: + # $ref: '#/components/schemas/def-0' + # relation: + # type: string + # required: + # - func + # - query + # - relation + # additionalProperties: false + # - properties: + # func: + # enum: + # - countValues + # query: + # $ref: '#/components/schemas/def-0' + # scorecard: + # type: string + # required: + # - func + # - query + # - scorecard + # additionalProperties: false + # - properties: + # func: + # enum: + # - countValues + # query: + # $ref: '#/components/schemas/def-0' + # rule: + # type: string + # scorecard: + # type: string + # required: + # - func + # - query + # - rule + # - scorecard + # additionalProperties: false + # security: + # - bearer: + # - 'read:entities' + # responses: + # '200': + # description: Default Response + # /v1/blueprints: + # get: + # summary: Get all blueprints + # tags: + # - Blueprints + # security: + # - bearer: + # - 'read:blueprints' + # responses: + # '200': + # description: Default Response + # post: + # summary: Create a blueprint + # tags: + # - Blueprints + # requestBody: + # content: + # application/json: + # schema: + # type: object + # properties: + # identifier: + # type: string + # pattern: '^[A-Za-z0-9@_.:\\/=-]+$' + # maxLength: 30 + # title: + # type: string + # maxLength: 30 + # description: + # type: string + # maxLength: 200 + # icon: + # type: string + # teamInheritance: + # type: object + # properties: + # path: + # type: string + # additionalProperties: false + # required: + # - path + # schema: + # type: object + # properties: + # properties: + # type: object + # propertyNames: + # pattern: '^[A-Za-z0-9@_=\\-]+$' + # additionalProperties: + # type: object + # properties: + # title: + # type: string + # description: + # type: string + # icon: + # type: string + # type: + # enum: + # - string + # - number + # - boolean + # - object + # - array + # format: + # enum: + # - date-time + # - url + # - email + # - ipv4 + # - ipv6 + # - markdown + # - yaml + # - user + # - team + # - timer + # - proto + # spec: + # enum: + # - open-api + # - embedded-url + # - async-api + # required: + # - type + # required: + # type: array + # items: + # type: string + # additionalProperties: false + # required: + # - properties + # calculationProperties: + # type: object + # default: {} + # propertyNames: + # pattern: '^[A-Za-z0-9@_=\\-]+$' + # additionalProperties: + # type: object + # properties: + # title: + # type: string + # description: + # type: string + # icon: + # type: string + # calculation: + # type: string + # type: + # enum: + # - string + # - number + # - boolean + # - object + # - array + # format: + # enum: + # - date-time + # - url + # - email + # - ipv4 + # - ipv6 + # - markdown + # - yaml + # - user + # - team + # - proto + # spec: + # enum: + # - open-api + # - embedded-url + # - async-api + # colorized: + # type: boolean + # colors: + # type: object + # items: + # type: object + # properties: + # type: + # enum: + # - string + # - number + # - boolean + # - object + # - array + # format: + # enum: + # - date-time + # - url + # - email + # - ipv4 + # - ipv6 + # - markdown + # - yaml + # - user + # - team + # - timer + # - proto + # required: + # - calculation + # - type + # mirrorProperties: + # type: object + # propertyNames: + # pattern: '^[A-Za-z0-9@_=\\-]+$' + # additionalProperties: + # type: object + # properties: + # path: + # type: string + # pattern: '^(?:[A-Za-z0-9@_=\-]+\.)+?(\w|\$|@|-)*?[^\.]+$' + # title: + # type: string + # additionalProperties: false + # required: + # - path + # aggregationProperties: + # type: object + # default: {} + # propertyNames: + # pattern: '^[A-Za-z0-9@_=\\-]+$' + # additionalProperties: + # type: object + # properties: + # title: + # type: string + # description: + # type: string + # icon: + # type: string + # type: + # enum: + # - number + # default: number + # target: + # type: string + # calculationSpec: + # type: object + # oneOf: + # - oneOf: + # - type: object + # properties: + # func: + # enum: + # - average + # measureTimeBy: + # type: string + # averageOf: + # type: string + # enum: + # - hour + # - day + # - week + # - month + # - total + # calculationBy: + # type: string + # enum: + # - entities + # required: + # - func + # - calculationBy + # - averageOf + # - type: object + # properties: + # func: + # enum: + # - count + # calculationBy: + # type: string + # enum: + # - entities + # required: + # - func + # - calculationBy + # - oneOf: + # - type: object + # properties: + # func: + # type: string + # enum: + # - sum + # - min + # - max + # - median + # property: + # type: string + # calculationBy: + # type: string + # enum: + # - property + # additionalProperties: false + # required: + # - func + # - property + # - calculationBy + # - type: object + # properties: + # func: + # enum: + # - average + # measureTimeBy: + # type: string + # averageOf: + # type: string + # enum: + # - hour + # - day + # - week + # - month + # - total + # property: + # type: string + # calculationBy: + # type: string + # enum: + # - property + # additionalProperties: false + # required: + # - func + # - property + # - calculationBy + # - averageOf + # query: + # $ref: '#/components/schemas/def-0' + # additionalProperties: false + # required: + # - title + # - target + # - calculationSpec + # relations: + # type: object + # propertyNames: + # pattern: '^[A-Za-z0-9@_=\\-]+$' + # additionalProperties: + # type: object + # properties: + # title: + # type: string + # target: + # type: string + # required: + # type: boolean + # default: false + # many: + # type: boolean + # default: false + # description: + # type: string + # additionalProperties: false + # required: + # - target + # - required + # - many + # changelogDestination: + # oneOf: + # - type: object + # properties: + # type: + # type: string + # enum: + # - WEBHOOK + # agent: + # type: boolean + # url: + # type: string + # format: uri + # required: + # - url + # - type + # additionalProperties: false + # - type: object + # properties: + # type: + # type: string + # enum: + # - KAFKA + # required: + # - type + # additionalProperties: false + # additionalProperties: true + # required: + # - identifier + # - title + # - schema + # required: true + # security: + # - bearer: + # - 'create:blueprints' + # responses: + # '200': + # description: Default Response + # '/v1/blueprints/{identifier}': + # get: + # summary: Get a blueprint + # tags: + # - Blueprints + # parameters: + # - schema: + # type: string + # in: path + # name: identifier + # required: true + # security: + # - bearer: + # - 'read:blueprints' + # responses: + # '200': + # description: Default Response + # put: + # summary: Change a blueprint + # tags: + # - Blueprints + # requestBody: + # content: + # application/json: + # schema: + # type: object + # properties: + # identifier: + # type: string + # pattern: '^[A-Za-z0-9@_.:\\/=-]+$' + # maxLength: 30 + # title: + # type: string + # maxLength: 30 + # description: + # type: string + # maxLength: 200 + # icon: + # type: string + # teamInheritance: + # type: object + # properties: + # path: + # type: string + # additionalProperties: false + # required: + # - path + # schema: + # type: object + # properties: + # properties: + # type: object + # propertyNames: + # pattern: '^[A-Za-z0-9@_=\\-]+$' + # additionalProperties: + # type: object + # properties: + # title: + # type: string + # description: + # type: string + # icon: + # type: string + # type: + # enum: + # - string + # - number + # - boolean + # - object + # - array + # format: + # enum: + # - date-time + # - url + # - email + # - ipv4 + # - ipv6 + # - markdown + # - yaml + # - user + # - team + # - timer + # - proto + # spec: + # enum: + # - open-api + # - embedded-url + # - async-api + # required: + # - type + # required: + # type: array + # items: + # type: string + # additionalProperties: false + # required: + # - properties + # calculationProperties: + # type: object + # default: {} + # propertyNames: + # pattern: '^[A-Za-z0-9@_=\\-]+$' + # additionalProperties: + # type: object + # properties: + # title: + # type: string + # description: + # type: string + # icon: + # type: string + # calculation: + # type: string + # type: + # enum: + # - string + # - number + # - boolean + # - object + # - array + # format: + # enum: + # - date-time + # - url + # - email + # - ipv4 + # - ipv6 + # - markdown + # - yaml + # - user + # - team + # - proto + # spec: + # enum: + # - open-api + # - embedded-url + # - async-api + # colorized: + # type: boolean + # colors: + # type: object + # items: + # type: object + # properties: + # type: + # enum: + # - string + # - number + # - boolean + # - object + # - array + # format: + # enum: + # - date-time + # - url + # - email + # - ipv4 + # - ipv6 + # - markdown + # - yaml + # - user + # - team + # - timer + # - proto + # required: + # - calculation + # - type + # mirrorProperties: + # type: object + # propertyNames: + # pattern: '^[A-Za-z0-9@_=\\-]+$' + # additionalProperties: + # type: object + # properties: + # path: + # type: string + # pattern: '^(?:[A-Za-z0-9@_=\-]+\.)+?(\w|\$|@|-)*?[^\.]+$' + # title: + # type: string + # additionalProperties: false + # required: + # - path + # aggregationProperties: + # type: object + # default: {} + # propertyNames: + # pattern: '^[A-Za-z0-9@_=\\-]+$' + # additionalProperties: + # type: object + # properties: + # title: + # type: string + # description: + # type: string + # icon: + # type: string + # type: + # enum: + # - number + # default: number + # target: + # type: string + # calculationSpec: + # type: object + # oneOf: + # - oneOf: + # - type: object + # properties: + # func: + # enum: + # - average + # measureTimeBy: + # type: string + # averageOf: + # type: string + # enum: + # - hour + # - day + # - week + # - month + # - total + # calculationBy: + # type: string + # enum: + # - entities + # required: + # - func + # - calculationBy + # - averageOf + # - type: object + # properties: + # func: + # enum: + # - count + # calculationBy: + # type: string + # enum: + # - entities + # required: + # - func + # - calculationBy + # - oneOf: + # - type: object + # properties: + # func: + # type: string + # enum: + # - sum + # - min + # - max + # - median + # property: + # type: string + # calculationBy: + # type: string + # enum: + # - property + # additionalProperties: false + # required: + # - func + # - property + # - calculationBy + # - type: object + # properties: + # func: + # enum: + # - average + # measureTimeBy: + # type: string + # averageOf: + # type: string + # enum: + # - hour + # - day + # - week + # - month + # - total + # property: + # type: string + # calculationBy: + # type: string + # enum: + # - property + # additionalProperties: false + # required: + # - func + # - property + # - calculationBy + # - averageOf + # query: + # $ref: '#/components/schemas/def-0' + # additionalProperties: false + # required: + # - title + # - target + # - calculationSpec + # relations: + # type: object + # propertyNames: + # pattern: '^[A-Za-z0-9@_=\\-]+$' + # additionalProperties: + # type: object + # properties: + # title: + # type: string + # target: + # type: string + # required: + # type: boolean + # default: false + # many: + # type: boolean + # default: false + # description: + # type: string + # additionalProperties: false + # required: + # - target + # - required + # - many + # changelogDestination: + # oneOf: + # - type: object + # properties: + # type: + # type: string + # enum: + # - WEBHOOK + # agent: + # type: boolean + # url: + # type: string + # format: uri + # required: + # - url + # - type + # additionalProperties: false + # - type: object + # properties: + # type: + # type: string + # enum: + # - KAFKA + # required: + # - type + # additionalProperties: false + # additionalProperties: true + # required: + # - title + # - schema + # required: true + # parameters: + # - schema: + # type: string + # in: path + # name: identifier + # required: true + # security: + # - bearer: [] + # responses: + # '200': + # description: Default Response + # patch: + # summary: Patch a blueprint + # tags: + # - Blueprints + # requestBody: + # content: + # application/json: + # schema: + # type: object + # properties: + # identifier: + # type: string + # pattern: '^[A-Za-z0-9@_.:\\/=-]+$' + # maxLength: 30 + # title: + # type: string + # maxLength: 30 + # description: + # type: string + # maxLength: 200 + # icon: + # type: string + # teamInheritance: + # type: object + # properties: + # path: + # type: string + # additionalProperties: false + # required: + # - path + # schema: + # type: object + # properties: + # properties: + # type: object + # propertyNames: + # pattern: '^[A-Za-z0-9@_=\\-]+$' + # additionalProperties: + # type: object + # properties: + # title: + # type: string + # description: + # type: string + # icon: + # type: string + # type: + # enum: + # - string + # - number + # - boolean + # - object + # - array + # format: + # enum: + # - date-time + # - url + # - email + # - ipv4 + # - ipv6 + # - markdown + # - yaml + # - user + # - team + # - timer + # - proto + # spec: + # enum: + # - open-api + # - embedded-url + # - async-api + # required: + # type: array + # items: + # type: string + # additionalProperties: false + # required: + # - properties + # calculationProperties: + # type: object + # default: {} + # propertyNames: + # pattern: '^[A-Za-z0-9@_=\\-]+$' + # additionalProperties: + # type: object + # properties: + # title: + # type: string + # description: + # type: string + # icon: + # type: string + # calculation: + # type: string + # type: + # enum: + # - string + # - number + # - boolean + # - object + # - array + # format: + # enum: + # - date-time + # - url + # - email + # - ipv4 + # - ipv6 + # - markdown + # - yaml + # - user + # - team + # - proto + # spec: + # enum: + # - open-api + # - embedded-url + # - async-api + # colorized: + # type: boolean + # colors: + # type: object + # items: + # type: object + # properties: + # type: + # enum: + # - string + # - number + # - boolean + # - object + # - array + # format: + # enum: + # - date-time + # - url + # - email + # - ipv4 + # - ipv6 + # - markdown + # - yaml + # - user + # - team + # - timer + # - proto + # required: + # - calculation + # - type + # mirrorProperties: + # type: object + # propertyNames: + # pattern: '^[A-Za-z0-9@_=\\-]+$' + # additionalProperties: + # type: object + # properties: + # path: + # type: string + # pattern: '^(?:[A-Za-z0-9@_=\-]+\.)+?(\w|\$|@|-)*?[^\.]+$' + # title: + # type: string + # additionalProperties: false + # required: + # - path + # aggregationProperties: + # type: object + # default: {} + # propertyNames: + # pattern: '^[A-Za-z0-9@_=\\-]+$' + # additionalProperties: + # type: object + # properties: + # title: + # type: string + # description: + # type: string + # icon: + # type: string + # type: + # enum: + # - number + # default: number + # target: + # type: string + # calculationSpec: + # type: object + # oneOf: + # - oneOf: + # - type: object + # properties: + # func: + # enum: + # - average + # measureTimeBy: + # type: string + # averageOf: + # type: string + # enum: + # - hour + # - day + # - week + # - month + # - total + # calculationBy: + # type: string + # enum: + # - entities + # required: + # - func + # - calculationBy + # - averageOf + # - type: object + # properties: + # func: + # enum: + # - count + # calculationBy: + # type: string + # enum: + # - entities + # required: + # - func + # - calculationBy + # - oneOf: + # - type: object + # properties: + # func: + # type: string + # enum: + # - sum + # - min + # - max + # - median + # property: + # type: string + # calculationBy: + # type: string + # enum: + # - property + # additionalProperties: false + # required: + # - func + # - property + # - calculationBy + # - type: object + # properties: + # func: + # enum: + # - average + # measureTimeBy: + # type: string + # averageOf: + # type: string + # enum: + # - hour + # - day + # - week + # - month + # - total + # property: + # type: string + # calculationBy: + # type: string + # enum: + # - property + # additionalProperties: false + # required: + # - func + # - property + # - calculationBy + # - averageOf + # query: + # $ref: '#/components/schemas/def-0' + # additionalProperties: false + # required: + # - title + # - target + # - calculationSpec + # relations: + # type: object + # propertyNames: + # pattern: '^[A-Za-z0-9@_=\\-]+$' + # additionalProperties: + # type: object + # properties: + # title: + # type: string + # target: + # type: string + # required: + # type: boolean + # default: false + # many: + # type: boolean + # default: false + # description: + # type: string + # additionalProperties: false + # required: + # - target + # - required + # - many + # changelogDestination: + # oneOf: + # - type: object + # properties: + # type: + # type: string + # enum: + # - WEBHOOK + # agent: + # type: boolean + # url: + # type: string + # format: uri + # required: + # - url + # - type + # additionalProperties: false + # - type: object + # properties: + # type: + # type: string + # enum: + # - KAFKA + # required: + # - type + # additionalProperties: false + # additionalProperties: true + # parameters: + # - schema: + # type: string + # in: path + # name: identifier + # required: true + # security: + # - bearer: [] + # responses: + # '200': + # description: Default Response + # delete: + # summary: Delete a blueprint + # tags: + # - Blueprints + # parameters: + # - schema: + # type: boolean + # in: query + # name: delete_actions + # required: false + # - schema: + # type: string + # in: path + # name: identifier + # required: true + # security: + # - bearer: [] + # responses: + # '200': + # description: Deleted successfully. + # content: + # application/json: + # schema: + # description: Deleted successfully. + # type: object + # properties: + # ok: + # enum: + # - true + # additionalProperties: false + # required: + # - ok + # '/v1/blueprints/{identifier}/properties/{property_name}/rename': + # patch: + # summary: Rename a property in a blueprint + # tags: + # - Blueprints + # requestBody: + # content: + # application/json: + # schema: + # type: object + # properties: + # newPropertyName: + # type: string + # pattern: '^[A-Za-z0-9@_=\\-]+$' + # additionalProperties: false + # parameters: + # - schema: + # type: string + # in: path + # name: identifier + # required: true + # - schema: + # type: string + # in: path + # name: property_name + # required: true + # security: + # - bearer: [] + # responses: + # '200': + # description: Default Response + # '/v1/blueprints/{identifier}/mirror/{mirror_name}/rename': + # patch: + # summary: Rename a blueprint's mirror + # tags: + # - Blueprints + # requestBody: + # content: + # application/json: + # schema: + # type: object + # properties: + # newMirrorName: + # type: string + # pattern: '^[A-Za-z0-9@_=\\-]+$' + # additionalProperties: false + # parameters: + # - schema: + # type: string + # in: path + # name: identifier + # required: true + # - schema: + # type: string + # in: path + # name: mirror_name + # required: true + # security: + # - bearer: [] + # responses: + # '200': + # description: Default Response + # '/v1/blueprints/{identifier}/relations/{relation_identifier}/rename': + # patch: + # summary: Rename a blueprint's relation + # tags: + # - Blueprints + # requestBody: + # content: + # application/json: + # schema: + # type: object + # properties: + # newRelationIdentifier: + # type: string + # pattern: '^[A-Za-z0-9@_=\\-]+$' + # additionalProperties: false + # parameters: + # - schema: + # type: string + # in: path + # name: identifier + # required: true + # - schema: + # type: string + # in: path + # name: relation_identifier + # required: true + # security: + # - bearer: [] + # responses: + # '200': + # description: Default Response + # '/v1/blueprints/{blueprint_identifier}/actions': + # post: + # summary: Create a blueprint action + # tags: + # - Actions + # requestBody: + # content: + # application/json: + # schema: + # type: object + # properties: + # identifier: + # type: string + # pattern: '^[A-Za-z0-9@_.:\\/=-]+$' + # title: + # type: string + # icon: + # type: string + # description: + # type: string + # trigger: + # type: string + # enum: + # - CREATE + # - DELETE + # - DAY-2 + # requiredApproval: + # type: boolean + # invocationMethod: + # oneOf: + # - type: object + # properties: + # type: + # type: string + # enum: + # - GITHUB + # org: + # type: string + # repo: + # type: string + # workflow: + # type: string + # omitPayload: + # type: boolean + # omitUserInputs: + # type: boolean + # reportWorkflowStatus: + # type: boolean + # required: + # - type + # - org + # - repo + # - workflow + # additionalProperties: false + # - type: object + # properties: + # type: + # type: string + # enum: + # - GITLAB + # projectName: + # type: string + # groupName: + # type: string + # omitPayload: + # type: boolean + # omitUserInputs: + # type: boolean + # defaultRef: + # type: string + # agent: + # enum: + # - true + # required: + # - type + # - projectName + # - groupName + # - agent + # additionalProperties: false + # - type: object + # properties: + # type: + # type: string + # enum: + # - AZURE-DEVOPS + # webhook: + # type: string + # org: + # type: string + # required: + # - type + # - org + # - webhook + # additionalProperties: false + # - type: object + # properties: + # type: + # type: string + # enum: + # - WEBHOOK + # agent: + # type: boolean + # url: + # type: string + # format: uri + # synchronized: + # type: boolean + # method: + # type: string + # enum: + # - POST + # - DELETE + # - PATCH + # - PUT + # required: + # - url + # - type + # additionalProperties: false + # - type: object + # properties: + # type: + # type: string + # enum: + # - KAFKA + # required: + # - type + # additionalProperties: false + # userInputs: + # type: object + # properties: + # properties: + # type: object + # propertyNames: + # pattern: '^[A-Za-z0-9@_=\\-]+$' + # additionalProperties: + # type: object + # properties: + # type: + # enum: + # - string + # - number + # - boolean + # - object + # - array + # format: + # enum: + # - date-time + # - url + # - email + # - ipv4 + # - ipv6 + # - yaml + # - entity + # - user + # - team + # - proto + # blueprint: + # type: string + # dependsOn: + # type: array + # items: + # type: string + # visible: + # oneOf: + # - type: object + # properties: + # jqQuery: + # type: string + # required: + # - jqQuery + # additionalProperties: false + # - type: boolean + # icon: + # type: string + # dataset: + # type: object + # properties: + # combinator: + # type: string + # enum: + # - and + # - or + # rules: + # type: array + # minItems: 1 + # items: + # anyOf: + # - type: object + # properties: + # operator: + # enum: + # - isEmpty + # - isNotEmpty + # property: + # type: string + # required: + # - operator + # - property + # additionalProperties: false + # - type: object + # properties: + # property: + # type: string + # operator: + # enum: + # - between + # - notBetween + # - = + # value: + # type: object + # oneOf: + # - type: object + # properties: + # from: + # type: string + # format: date-time + # to: + # type: string + # format: date-time + # required: + # - from + # - to + # - type: object + # properties: + # preset: + # type: string + # enum: + # - today + # - tomorrow + # - yesterday + # - lastWeek + # - last2Weeks + # - lastMonth + # - last3Months + # - last6Months + # - last12Months + # required: + # - preset + # required: + # - property + # - operator + # - value + # additionalProperties: false + # - type: object + # properties: + # property: + # type: string + # operator: + # enum: + # - '>' + # - '>=' + # - < + # - <= + # value: + # oneOf: + # - type: + # - number + # - type: object + # properties: + # jqQuery: + # type: string + # required: + # - jqQuery + # additionalProperties: false + # required: + # - property + # - operator + # - value + # additionalProperties: false + # - type: object + # properties: + # property: + # type: string + # operator: + # enum: + # - = + # - '!=' + # - containsAny + # - contains + # - doesNotContain + # - beginsWith + # - doesNotBeginWith + # - endsWith + # - doesNotEndWith + # - in + # - notIn + # value: + # anyOf: + # - type: 'null' + # - type: string + # - type: number + # - type: boolean + # - type: array + # items: + # type: string + # - type: string + # format: date-time + # - type: object + # properties: + # jqQuery: + # type: string + # required: + # - jqQuery + # additionalProperties: false + # additionalProperties: false + # required: + # - property + # - operator + # - value + # - type: object + # properties: + # operator: + # enum: + # - relatedTo + # blueprint: + # type: string + # value: + # anyOf: + # - type: string + # - type: object + # properties: + # jqQuery: + # type: string + # required: + # - jqQuery + # additionalProperties: false + # direction: + # enum: + # - upstream + # - downstream + # required: + # type: boolean + # additionalProperties: false + # required: + # - operator + # - value + # - blueprint + # - type: object + # properties: + # propertySchema: + # type: object + # properties: + # type: + # type: string + # format: + # type: string + # required: + # - type + # additionalProperties: false + # operator: + # enum: + # - = + # - '!=' + # value: + # anyOf: + # - type: 'null' + # - type: string + # - type: number + # - type: boolean + # - type: object + # properties: + # jqQuery: + # type: string + # required: + # - jqQuery + # additionalProperties: false + # required: + # - operator + # - propertySchema + # additionalProperties: false + # required: + # - combinator + # - rules + # required: + # - type + # required: + # oneOf: + # - type: object + # properties: + # jqQuery: + # type: string + # required: + # - jqQuery + # additionalProperties: false + # - type: array + # items: + # type: string + # order: + # type: array + # items: + # type: string + # additionalProperties: false + # required: + # - properties + # approvalNotification: + # type: object + # properties: + # type: + # type: string + # enum: + # - webhook + # - email + # default: email + # oneOf: + # - type: object + # properties: + # type: + # type: string + # enum: + # - webhook + # format: + # type: string + # enum: + # - json + # - slack + # url: + # type: string + # format: uri + # required: + # - type + # - url + # additionalProperties: false + # - type: object + # properties: + # type: + # type: string + # enum: + # - email + # required: + # - type + # additionalProperties: false + # required: + # - type + # additionalProperties: false + # required: + # - identifier + # - userInputs + # - trigger + # - invocationMethod + # required: true + # parameters: + # - schema: + # type: string + # in: path + # name: blueprint_identifier + # required: true + # description: sdfghjsdlfkgj hsdflkgjdhfgklj + # security: + # - bearer: + # - 'create:actions' + # responses: + # '200': + # description: Default Response + # put: + # summary: Change blueprint's actions + # tags: + # - Actions + # requestBody: + # content: + # application/json: + # schema: + # type: array + # items: + # type: object + # properties: + # identifier: + # type: string + # pattern: '^[A-Za-z0-9@_.:\\/=-]+$' + # title: + # type: string + # icon: + # type: string + # description: + # type: string + # trigger: + # type: string + # enum: + # - CREATE + # - DELETE + # - DAY-2 + # requiredApproval: + # type: boolean + # invocationMethod: + # oneOf: + # - type: object + # properties: + # type: + # type: string + # enum: + # - GITHUB + # org: + # type: string + # repo: + # type: string + # workflow: + # type: string + # omitPayload: + # type: boolean + # omitUserInputs: + # type: boolean + # reportWorkflowStatus: + # type: boolean + # required: + # - type + # - org + # - repo + # - workflow + # additionalProperties: false + # - type: object + # properties: + # type: + # type: string + # enum: + # - GITLAB + # projectName: + # type: string + # groupName: + # type: string + # omitPayload: + # type: boolean + # omitUserInputs: + # type: boolean + # defaultRef: + # type: string + # agent: + # enum: + # - true + # required: + # - type + # - projectName + # - groupName + # - agent + # additionalProperties: false + # - type: object + # properties: + # type: + # type: string + # enum: + # - AZURE-DEVOPS + # webhook: + # type: string + # org: + # type: string + # required: + # - type + # - org + # - webhook + # additionalProperties: false + # - type: object + # properties: + # type: + # type: string + # enum: + # - WEBHOOK + # agent: + # type: boolean + # url: + # type: string + # format: uri + # synchronized: + # type: boolean + # method: + # type: string + # enum: + # - POST + # - DELETE + # - PATCH + # - PUT + # required: + # - url + # - type + # additionalProperties: false + # - type: object + # properties: + # type: + # type: string + # enum: + # - KAFKA + # required: + # - type + # additionalProperties: false + # userInputs: + # type: object + # properties: + # properties: + # type: object + # propertyNames: + # pattern: '^[A-Za-z0-9@_=\\-]+$' + # additionalProperties: + # type: object + # properties: + # type: + # enum: + # - string + # - number + # - boolean + # - object + # - array + # format: + # enum: + # - date-time + # - url + # - email + # - ipv4 + # - ipv6 + # - yaml + # - entity + # - user + # - team + # - proto + # blueprint: + # type: string + # dependsOn: + # type: array + # items: + # type: string + # visible: + # oneOf: + # - type: object + # properties: + # jqQuery: + # type: string + # required: + # - jqQuery + # additionalProperties: false + # - type: boolean + # icon: + # type: string + # dataset: + # type: object + # properties: + # combinator: + # type: string + # enum: + # - and + # - or + # rules: + # type: array + # minItems: 1 + # items: + # anyOf: + # - type: object + # properties: + # operator: + # enum: + # - isEmpty + # - isNotEmpty + # property: + # type: string + # required: + # - operator + # - property + # additionalProperties: false + # - type: object + # properties: + # property: + # type: string + # operator: + # enum: + # - between + # - notBetween + # - = + # value: + # type: object + # oneOf: + # - type: object + # properties: + # from: + # type: string + # format: date-time + # to: + # type: string + # format: date-time + # required: + # - from + # - to + # - type: object + # properties: + # preset: + # type: string + # enum: + # - today + # - tomorrow + # - yesterday + # - lastWeek + # - last2Weeks + # - lastMonth + # - last3Months + # - last6Months + # - last12Months + # required: + # - preset + # required: + # - property + # - operator + # - value + # additionalProperties: false + # - type: object + # properties: + # property: + # type: string + # operator: + # enum: + # - '>' + # - '>=' + # - < + # - <= + # value: + # oneOf: + # - type: + # - number + # - type: object + # properties: + # jqQuery: + # type: string + # required: + # - jqQuery + # additionalProperties: false + # required: + # - property + # - operator + # - value + # additionalProperties: false + # - type: object + # properties: + # property: + # type: string + # operator: + # enum: + # - = + # - '!=' + # - containsAny + # - contains + # - doesNotContain + # - beginsWith + # - doesNotBeginWith + # - endsWith + # - doesNotEndWith + # - in + # - notIn + # value: + # anyOf: + # - type: 'null' + # - type: string + # - type: number + # - type: boolean + # - type: array + # items: + # type: string + # - type: string + # format: date-time + # - type: object + # properties: + # jqQuery: + # type: string + # required: + # - jqQuery + # additionalProperties: false + # additionalProperties: false + # required: + # - property + # - operator + # - value + # - type: object + # properties: + # operator: + # enum: + # - relatedTo + # blueprint: + # type: string + # value: + # anyOf: + # - type: string + # - type: object + # properties: + # jqQuery: + # type: string + # required: + # - jqQuery + # additionalProperties: false + # direction: + # enum: + # - upstream + # - downstream + # required: + # type: boolean + # additionalProperties: false + # required: + # - operator + # - value + # - blueprint + # - type: object + # properties: + # propertySchema: + # type: object + # properties: + # type: + # type: string + # format: + # type: string + # required: + # - type + # additionalProperties: false + # operator: + # enum: + # - = + # - '!=' + # value: + # anyOf: + # - type: 'null' + # - type: string + # - type: number + # - type: boolean + # - type: object + # properties: + # jqQuery: + # type: string + # required: + # - jqQuery + # additionalProperties: false + # required: + # - operator + # - propertySchema + # additionalProperties: false + # required: + # - combinator + # - rules + # required: + # - type + # required: + # oneOf: + # - type: object + # properties: + # jqQuery: + # type: string + # required: + # - jqQuery + # additionalProperties: false + # - type: array + # items: + # type: string + # order: + # type: array + # items: + # type: string + # additionalProperties: false + # required: + # - properties + # approvalNotification: + # type: object + # properties: + # type: + # type: string + # enum: + # - webhook + # - email + # default: email + # oneOf: + # - type: object + # properties: + # type: + # type: string + # enum: + # - webhook + # format: + # type: string + # enum: + # - json + # - slack + # url: + # type: string + # format: uri + # required: + # - type + # - url + # additionalProperties: false + # - type: object + # properties: + # type: + # type: string + # enum: + # - email + # required: + # - type + # additionalProperties: false + # required: + # - type + # id: + # type: string + # additionalProperties: false + # required: + # - identifier + # - userInputs + # - trigger + # - invocationMethod + # parameters: + # - schema: + # type: string + # in: path + # name: blueprint_identifier + # required: true + # security: + # - bearer: + # - 'update:actions' + # responses: + # '200': + # description: Default Response + # get: + # summary: Get all blueprint's actions + # tags: + # - Actions + # parameters: + # - schema: + # type: string + # in: path + # name: blueprint_identifier + # required: true + # security: + # - bearer: + # - 'read:actions' + # responses: + # '200': + # description: Default Response + # '/v1/blueprints/{blueprint_identifier}/actions/{action_identifier}': + # put: + # summary: Update a blueprint's action + # tags: + # - Actions + # requestBody: + # content: + # application/json: + # schema: + # type: object + # properties: + # identifier: + # type: string + # pattern: '^[A-Za-z0-9@_.:\\/=-]+$' + # title: + # type: string + # icon: + # type: string + # description: + # type: string + # trigger: + # type: string + # enum: + # - CREATE + # - DELETE + # - DAY-2 + # requiredApproval: + # type: boolean + # invocationMethod: + # oneOf: + # - type: object + # properties: + # type: + # type: string + # enum: + # - GITHUB + # org: + # type: string + # repo: + # type: string + # workflow: + # type: string + # omitPayload: + # type: boolean + # omitUserInputs: + # type: boolean + # reportWorkflowStatus: + # type: boolean + # required: + # - type + # - org + # - repo + # - workflow + # additionalProperties: false + # - type: object + # properties: + # type: + # type: string + # enum: + # - GITLAB + # projectName: + # type: string + # groupName: + # type: string + # omitPayload: + # type: boolean + # omitUserInputs: + # type: boolean + # defaultRef: + # type: string + # agent: + # enum: + # - true + # required: + # - type + # - projectName + # - groupName + # - agent + # additionalProperties: false + # - type: object + # properties: + # type: + # type: string + # enum: + # - AZURE-DEVOPS + # webhook: + # type: string + # org: + # type: string + # required: + # - type + # - org + # - webhook + # additionalProperties: false + # - type: object + # properties: + # type: + # type: string + # enum: + # - WEBHOOK + # agent: + # type: boolean + # url: + # type: string + # format: uri + # synchronized: + # type: boolean + # method: + # type: string + # enum: + # - POST + # - DELETE + # - PATCH + # - PUT + # required: + # - url + # - type + # additionalProperties: false + # - type: object + # properties: + # type: + # type: string + # enum: + # - KAFKA + # required: + # - type + # additionalProperties: false + # userInputs: + # type: object + # properties: + # properties: + # type: object + # propertyNames: + # pattern: '^[A-Za-z0-9@_=\\-]+$' + # additionalProperties: + # type: object + # properties: + # type: + # enum: + # - string + # - number + # - boolean + # - object + # - array + # format: + # enum: + # - date-time + # - url + # - email + # - ipv4 + # - ipv6 + # - yaml + # - entity + # - user + # - team + # - proto + # blueprint: + # type: string + # dependsOn: + # type: array + # items: + # type: string + # visible: + # oneOf: + # - type: object + # properties: + # jqQuery: + # type: string + # required: + # - jqQuery + # additionalProperties: false + # - type: boolean + # icon: + # type: string + # dataset: + # type: object + # properties: + # combinator: + # type: string + # enum: + # - and + # - or + # rules: + # type: array + # minItems: 1 + # items: + # anyOf: + # - type: object + # properties: + # operator: + # enum: + # - isEmpty + # - isNotEmpty + # property: + # type: string + # required: + # - operator + # - property + # additionalProperties: false + # - type: object + # properties: + # property: + # type: string + # operator: + # enum: + # - between + # - notBetween + # - = + # value: + # type: object + # oneOf: + # - type: object + # properties: + # from: + # type: string + # format: date-time + # to: + # type: string + # format: date-time + # required: + # - from + # - to + # - type: object + # properties: + # preset: + # type: string + # enum: + # - today + # - tomorrow + # - yesterday + # - lastWeek + # - last2Weeks + # - lastMonth + # - last3Months + # - last6Months + # - last12Months + # required: + # - preset + # required: + # - property + # - operator + # - value + # additionalProperties: false + # - type: object + # properties: + # property: + # type: string + # operator: + # enum: + # - '>' + # - '>=' + # - < + # - <= + # value: + # oneOf: + # - type: + # - number + # - type: object + # properties: + # jqQuery: + # type: string + # required: + # - jqQuery + # additionalProperties: false + # required: + # - property + # - operator + # - value + # additionalProperties: false + # - type: object + # properties: + # property: + # type: string + # operator: + # enum: + # - = + # - '!=' + # - containsAny + # - contains + # - doesNotContain + # - beginsWith + # - doesNotBeginWith + # - endsWith + # - doesNotEndWith + # - in + # - notIn + # value: + # anyOf: + # - type: 'null' + # - type: string + # - type: number + # - type: boolean + # - type: array + # items: + # type: string + # - type: string + # format: date-time + # - type: object + # properties: + # jqQuery: + # type: string + # required: + # - jqQuery + # additionalProperties: false + # additionalProperties: false + # required: + # - property + # - operator + # - value + # - type: object + # properties: + # operator: + # enum: + # - relatedTo + # blueprint: + # type: string + # value: + # anyOf: + # - type: string + # - type: object + # properties: + # jqQuery: + # type: string + # required: + # - jqQuery + # additionalProperties: false + # direction: + # enum: + # - upstream + # - downstream + # required: + # type: boolean + # additionalProperties: false + # required: + # - operator + # - value + # - blueprint + # - type: object + # properties: + # propertySchema: + # type: object + # properties: + # type: + # type: string + # format: + # type: string + # required: + # - type + # additionalProperties: false + # operator: + # enum: + # - = + # - '!=' + # value: + # anyOf: + # - type: 'null' + # - type: string + # - type: number + # - type: boolean + # - type: object + # properties: + # jqQuery: + # type: string + # required: + # - jqQuery + # additionalProperties: false + # required: + # - operator + # - propertySchema + # additionalProperties: false + # required: + # - combinator + # - rules + # required: + # - type + # required: + # oneOf: + # - type: object + # properties: + # jqQuery: + # type: string + # required: + # - jqQuery + # additionalProperties: false + # - type: array + # items: + # type: string + # order: + # type: array + # items: + # type: string + # additionalProperties: false + # required: + # - properties + # approvalNotification: + # type: object + # properties: + # type: + # type: string + # enum: + # - webhook + # - email + # default: email + # oneOf: + # - type: object + # properties: + # type: + # type: string + # enum: + # - webhook + # format: + # type: string + # enum: + # - json + # - slack + # url: + # type: string + # format: uri + # required: + # - type + # - url + # additionalProperties: false + # - type: object + # properties: + # type: + # type: string + # enum: + # - email + # required: + # - type + # additionalProperties: false + # required: + # - type + # additionalProperties: false + # required: + # - identifier + # - userInputs + # - trigger + # - invocationMethod + # required: true + # parameters: + # - schema: + # type: string + # in: path + # name: action_identifier + # required: true + # - schema: + # type: string + # in: path + # name: blueprint_identifier + # required: true + # security: + # - bearer: + # - 'update:actions' + # responses: + # '200': + # description: Default Response + # get: + # summary: Get a blueprint action + # tags: + # - Actions + # parameters: + # - schema: + # type: string + # in: path + # name: action_identifier + # required: true + # - schema: + # type: string + # in: path + # name: blueprint_identifier + # required: true + # security: + # - bearer: + # - 'read:actions' + # responses: + # '200': + # description: Default Response + # delete: + # summary: Delete blueprint's action + # tags: + # - Actions + # parameters: + # - schema: + # type: string + # in: path + # name: action_identifier + # required: true + # - schema: + # type: string + # in: path + # name: blueprint_identifier + # required: true + # security: + # - bearer: + # - 'delete:actions' + # responses: + # '200': + # description: Default Response + # /v1/actions: + # get: + # summary: Get all actions + # tags: + # - Actions + # parameters: + # - schema: + # type: array + # items: + # type: string + # in: query + # name: action_identifier + # required: false + # - schema: + # type: array + # items: + # type: string + # in: query + # name: blueprint_identifier + # required: false + # - schema: + # type: array + # items: + # type: string + # enum: + # - CREATE + # - DELETE + # - DAY-2 + # in: query + # name: operation + # required: false + # - schema: + # type: boolean + # in: query + # name: published + # required: false + # - schema: + # type: string + # enum: + # - self-service + # - automation + # in: query + # name: trigger_type + # required: false + # - schema: + # type: array + # items: + # type: string + # enum: + # - ENTITY_CREATED + # - ENTITY_UPDATED + # - ENTITY_DELETED + # - TIMER_PROPERTY_EXPIRED + # - ANY_ENTITY_CHANGE + # in: query + # name: trigger_event + # required: false + # - schema: + # type: string + # enum: + # - v1 + # - v2 + # in: query + # name: version + # required: false + # security: + # - bearer: + # - 'read:actions' + # responses: + # '200': + # description: Default Response + # '/v1/blueprints/{blueprint_identifier}/entities/{entity_identifier}/actions/{action_identifier}/runs': + # post: + # summary: Run a blueprint's entity action + # tags: + # - Action Runs + # requestBody: + # content: + # application/json: + # schema: + # type: object + # properties: + # properties: + # type: object + # additionalProperties: false + # required: + # - properties + # required: true + # parameters: + # - schema: + # type: string + # in: query + # name: run_id + # required: false + # - schema: + # type: string + # in: path + # name: action_identifier + # required: true + # - schema: + # type: string + # in: path + # name: blueprint_identifier + # required: true + # - schema: + # type: string + # in: path + # name: entity_identifier + # required: true + # security: + # - bearer: [] + # responses: + # '200': + # description: Default Response + # '/v1/blueprints/{blueprint_identifier}/actions/{action_identifier}/runs': + # post: + # summary: Run a blueprint's action + # tags: + # - Action Runs + # requestBody: + # content: + # application/json: + # schema: + # type: object + # properties: + # properties: + # type: object + # additionalProperties: false + # required: + # - properties + # required: true + # parameters: + # - schema: + # type: string + # in: query + # name: run_id + # required: false + # - schema: + # type: string + # in: path + # name: action_identifier + # required: true + # - schema: + # type: string + # in: path + # name: blueprint_identifier + # required: true + # security: + # - bearer: [] + # responses: + # '200': + # description: Default Response + # '/v1/actions/runs/{run_id}': + # patch: + # summary: Patch an action run + # tags: + # - Action Runs + # requestBody: + # content: + # application/json: + # schema: + # type: object + # properties: + # status: + # type: string + # enum: + # - SUCCESS + # - FAILURE + # statusLabel: + # type: string + # link: + # oneOf: + # - type: string + # format: url + # - type: array + # items: + # type: string + # format: url + # message: + # type: object + # deprecated: true + # summary: + # type: string + # externalRunId: + # type: string + # additionalProperties: false + # parameters: + # - schema: + # type: string + # enum: + # - v1 + # - v2 + # in: query + # name: version + # required: false + # - schema: + # type: string + # in: path + # name: run_id + # required: true + # security: + # - bearer: [] + # responses: + # '200': + # description: Default Response + # get: + # summary: Get an action run's details + # tags: + # - Action Runs + # parameters: + # - schema: + # type: string + # enum: + # - v1 + # - v2 + # in: query + # name: version + # required: false + # - schema: + # type: string + # in: path + # name: run_id + # required: true + # security: + # - bearer: + # - 'read:runs' + # responses: + # '200': + # description: Default Response + # '/v1/actions/runs/{run_id}/approval': + # patch: + # summary: Approve an action's run + # tags: + # - Action Runs + # requestBody: + # content: + # application/json: + # schema: + # type: object + # properties: + # status: + # type: string + # enum: + # - APPROVE + # - DECLINE + # description: + # type: string + # additionalProperties: false + # required: + # - status + # required: true + # parameters: + # - schema: + # type: string + # enum: + # - v1 + # - v2 + # in: query + # name: version + # required: false + # - schema: + # type: string + # in: path + # name: run_id + # required: true + # security: + # - bearer: [] + # responses: + # '200': + # description: Default Response + # /v1/actions/runs: + # get: + # summary: Get all action runs + # tags: + # - Action Runs + # parameters: + # - schema: + # type: string + # in: query + # name: entity + # required: false + # - schema: + # type: string + # in: query + # name: blueprint + # required: false + # - schema: + # type: boolean + # in: query + # name: active + # required: false + # - schema: + # type: string + # in: query + # name: user_email + # required: false + # - schema: + # type: number + # minimum: 1 + # maximum: 50 + # in: query + # name: limit + # required: false + # - schema: + # type: string + # in: query + # name: external_run_id + # required: false + # - schema: + # type: string + # enum: + # - v1 + # - v2 + # in: query + # name: version + # required: false + # security: + # - bearer: + # - 'read:runs' + # responses: + # '200': + # description: Default Response + # '/v1/actions/runs/{run_id}/logs': + # post: + # summary: Add a log to an action run + # tags: + # - Action Runs + # requestBody: + # content: + # application/json: + # schema: + # type: object + # properties: + # terminationStatus: + # type: string + # enum: + # - SUCCESS + # - FAILURE + # statusLabel: + # type: string + # message: + # type: string + # additionalProperties: false + # required: + # - message + # required: true + # parameters: + # - schema: + # type: string + # in: path + # name: run_id + # required: true + # security: + # - bearer: [] + # responses: + # '200': + # description: Default Response + # get: + # summary: Get an action's run logs + # tags: + # - Action Runs + # parameters: + # - schema: + # type: number + # minimum: 1 + # maximum: 50 + # in: query + # name: limit + # required: false + # - schema: + # type: number + # in: query + # name: offset + # required: false + # - schema: + # type: string + # in: path + # name: run_id + # required: true + # security: + # - bearer: [] + # responses: + # '200': + # description: Default Response + # /v1/pages: + # get: + # summary: Get all pages + # tags: + # - Pages + # parameters: + # - schema: + # type: boolean + # default: false + # in: query + # name: compact + # required: true + # security: + # - bearer: [] + # responses: + # '200': + # description: Default Response + # post: + # summary: Create pages + # tags: + # - Pages + # requestBody: + # content: + # application/json: + # schema: + # type: object + # properties: + # identifier: + # type: string + # pattern: >- + # ^(?:[A-Za-z0-9@_.:\/=\-]|\$team\b|\$users\b|\$user\b|\$AuditLog\b|\$run\b|\$home)*$ + # minLength: 1 + # blueprint: + # type: string + # title: + # type: string + # description: + # type: string + # maxLength: 150 + # icon: + # type: string + # sidebar: + # type: string + # nullable: true + # enum: + # - null + # - catalog + # parent: + # type: string + # nullable: true + # after: + # type: string + # nullable: true + # locked: + # type: boolean + # requiredQueryParams: + # type: array + # items: + # type: string + # widgets: + # type: array + # items: + # type: object + # anyOf: + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - entity-info + # title: + # type: string + # entity: + # type: string + # hiddenQuery: + # type: array + # items: + # type: string + # blueprint: + # type: string + # additionalProperties: false + # required: + # - type + # - entity + # - blueprint + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - action-runs-table-widget + # icon: + # type: string + # description: + # type: string + # maxLength: 200 + # title: + # type: string + # displayMode: + # type: string + # enum: + # - single + # - widget + # blueprint: + # type: string + # action: + # type: string + # tableConfig: + # type: object + # properties: + # filterSettings: + # type: object + # properties: + # filterBy: + # $ref: '#/components/schemas/def-0' + # additionalProperties: false + # required: + # - filterBy + # groupSettings: + # type: object + # properties: + # groupBy: + # type: array + # items: + # type: string + # additionalProperties: false + # required: + # - groupBy + # sortSettings: + # type: object + # properties: + # sortBy: + # type: array + # items: + # type: object + # properties: + # property: + # type: string + # order: + # enum: + # - asc + # - desc + # additionalProperties: false + # required: + # - property + # - order + # additionalProperties: false + # propertiesSettings: + # type: object + # properties: + # hidden: + # type: array + # items: + # type: string + # order: + # type: array + # items: + # type: string + # additionalProperties: false + # additionalProperties: false + # additionalProperties: false + # required: + # - type + # - action + # - blueprint + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - table-entities-explorer + # icon: + # type: string + # description: + # type: string + # maxLength: 200 + # title: + # type: string + # dataset: + # $ref: '#/components/schemas/def-0' + # excludedFields: + # type: array + # items: + # type: string + # displayMode: + # type: string + # enum: + # - tabs + # - single + # - widget + # blueprintConfig: + # type: object + # propertyNames: + # pattern: '^[A-Za-z0-9@_.:\\/=-]+$' + # additionalProperties: + # type: object + # properties: + # filterSettings: + # type: object + # properties: + # filterBy: + # $ref: '#/components/schemas/def-0' + # additionalProperties: false + # required: + # - filterBy + # groupSettings: + # type: object + # properties: + # groupBy: + # type: array + # items: + # type: string + # additionalProperties: false + # required: + # - groupBy + # sortSettings: + # type: object + # properties: + # sortBy: + # type: array + # items: + # type: object + # properties: + # property: + # type: string + # order: + # enum: + # - asc + # - desc + # additionalProperties: false + # required: + # - property + # - order + # additionalProperties: false + # propertiesSettings: + # type: object + # properties: + # hidden: + # type: array + # items: + # type: string + # order: + # type: array + # items: + # type: string + # additionalProperties: false + # tabIndex: + # type: number + # hidden: + # type: boolean + # title: + # type: string + # maxLength: 20 + # description: + # type: string + # maxLength: 200 + # additionalProperties: false + # additionalProperties: false + # required: + # - type + # - dataset + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - table-entities-explorer-by-direction + # title: + # type: string + # blueprintConfig: + # type: object + # propertyNames: + # pattern: >- + # ^[A-Za-z0-9@_.:\\/=-]*\$(upstream|downstream|custom)(\$[A-Za-z0-9@_.:\\/=-]+)*$ + # additionalProperties: + # type: object + # properties: + # filterSettings: + # type: object + # properties: + # filterBy: + # $ref: '#/components/schemas/def-0' + # additionalProperties: false + # required: + # - filterBy + # groupSettings: + # type: object + # properties: + # groupBy: + # type: array + # items: + # type: string + # additionalProperties: false + # required: + # - groupBy + # sortSettings: + # type: object + # properties: + # sortBy: + # type: array + # items: + # type: object + # properties: + # property: + # type: string + # order: + # enum: + # - asc + # - desc + # additionalProperties: false + # required: + # - property + # - order + # additionalProperties: false + # propertiesSettings: + # type: object + # properties: + # hidden: + # type: array + # items: + # type: string + # order: + # type: array + # items: + # type: string + # additionalProperties: false + # tabIndex: + # type: number + # hidden: + # type: boolean + # title: + # type: string + # maxLength: 20 + # description: + # type: string + # maxLength: 200 + # dataset: + # $ref: '#/components/schemas/def-0' + # targetBlueprint: + # type: string + # relatedProperty: + # type: string + # additionalProperties: false + # additionalProperties: false + # required: + # - type + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - table-audit-log + # title: + # type: string + # description: + # type: string + # query: + # type: object + # properties: + # identifier: + # type: string + # entity: + # type: string + # blueprint: + # type: string + # run_id: + # type: string + # webhookId: + # type: string + # webhookEventId: + # type: string + # origin: + # type: array + # items: + # type: string + # InstallationId: + # type: string + # resources: + # anyOf: + # - type: array + # items: + # enum: + # - blueprint + # - entity + # - run + # - webhook + # - scorecard + # - action + # - type: string + # enum: + # - blueprint + # - entity + # - run + # - webhook + # - scorecard + # - action + # includes: + # type: array + # items: + # enum: + # - action + # - context + # - diff + # - identifier + # - resourceType + # - status + # - trigger + # - additionalData + # - message + # from: + # type: string + # format: date-time + # description: 'ISO format IE 2022-04-23T18:25:43.511Z' + # to: + # type: string + # format: date-time + # description: 'ISO format 2022-04-23T18:25:43.511Z' + # action: + # type: string + # status: + # type: string + # enum: + # - SUCCESS + # - FAILURE + # limit: + # type: number + # additionalProperties: false + # tableConfig: + # type: object + # properties: + # filterSettings: + # type: object + # properties: + # filterBy: + # $ref: '#/components/schemas/def-0' + # additionalProperties: false + # required: + # - filterBy + # groupSettings: + # type: object + # properties: + # groupBy: + # type: array + # items: + # type: string + # additionalProperties: false + # required: + # - groupBy + # sortSettings: + # type: object + # properties: + # sortBy: + # type: array + # items: + # type: object + # properties: + # property: + # type: string + # order: + # enum: + # - asc + # - desc + # additionalProperties: false + # required: + # - property + # - order + # additionalProperties: false + # propertiesSettings: + # type: object + # properties: + # hidden: + # type: array + # items: + # type: string + # order: + # type: array + # items: + # type: string + # additionalProperties: false + # additionalProperties: false + # required: + # - type + # - query + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - users-table + # title: + # type: string + # query: + # type: object + # properties: + # team: + # type: string + # tableConfig: + # type: object + # properties: + # filterSettings: + # type: object + # properties: + # filterBy: + # $ref: '#/components/schemas/def-0' + # additionalProperties: false + # required: + # - filterBy + # groupSettings: + # type: object + # properties: + # groupBy: + # type: array + # items: + # type: string + # additionalProperties: false + # required: + # - groupBy + # sortSettings: + # type: object + # properties: + # sortBy: + # type: array + # items: + # type: object + # properties: + # property: + # type: string + # order: + # enum: + # - asc + # - desc + # additionalProperties: false + # required: + # - property + # - order + # additionalProperties: false + # propertiesSettings: + # type: object + # properties: + # hidden: + # type: array + # items: + # type: string + # order: + # type: array + # items: + # type: string + # additionalProperties: false + # additionalProperties: false + # required: + # - type + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - teams-table + # title: + # type: string + # query: + # type: object + # properties: + # user: + # type: string + # tableConfig: + # type: object + # properties: + # filterSettings: + # type: object + # properties: + # filterBy: + # $ref: '#/components/schemas/def-0' + # additionalProperties: false + # required: + # - filterBy + # groupSettings: + # type: object + # properties: + # groupBy: + # type: array + # items: + # type: string + # additionalProperties: false + # required: + # - groupBy + # sortSettings: + # type: object + # properties: + # sortBy: + # type: array + # items: + # type: object + # properties: + # property: + # type: string + # order: + # enum: + # - asc + # - desc + # additionalProperties: false + # required: + # - property + # - order + # additionalProperties: false + # propertiesSettings: + # type: object + # properties: + # hidden: + # type: array + # items: + # type: string + # order: + # type: array + # items: + # type: string + # additionalProperties: false + # additionalProperties: false + # required: + # - type + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - runs-table + # title: + # type: string + # query: + # type: object + # properties: + # entity: + # type: string + # blueprint: + # type: string + # active: + # type: boolean + # user_email: + # type: string + # limit: + # type: number + # minimum: 1 + # maximum: 50 + # external_run_id: + # type: string + # version: + # type: string + # enum: + # - v1 + # - v2 + # additionalProperties: false + # tableConfig: + # type: object + # properties: + # filterSettings: + # type: object + # properties: + # filterBy: + # $ref: '#/components/schemas/def-0' + # additionalProperties: false + # required: + # - filterBy + # groupSettings: + # type: object + # properties: + # groupBy: + # type: array + # items: + # type: string + # additionalProperties: false + # required: + # - groupBy + # sortSettings: + # type: object + # properties: + # sortBy: + # type: array + # items: + # type: object + # properties: + # property: + # type: string + # order: + # enum: + # - asc + # - desc + # additionalProperties: false + # required: + # - property + # - order + # additionalProperties: false + # propertiesSettings: + # type: object + # properties: + # hidden: + # type: array + # items: + # type: string + # order: + # type: array + # items: + # type: string + # additionalProperties: false + # additionalProperties: false + # required: + # - type + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - run-info + # title: + # type: string + # runId: + # type: string + # additionalProperties: false + # required: + # - type + # - runId + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - user-info + # title: + # type: string + # user_email: + # type: string + # additionalProperties: false + # required: + # - type + # - user_email + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - graph-entities-explorer + # title: + # type: string + # dataset: + # $ref: '#/components/schemas/def-0' + # hiddenBlueprints: + # type: array + # items: + # type: string + # additionalProperties: false + # required: + # - type + # - dataset + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # icon: + # type: string + # type: + # enum: + # - entities-pie-chart + # title: + # type: string + # property: + # type: string + # description: + # type: string + # dataset: + # $ref: '#/components/schemas/def-0' + # additionalProperties: false + # required: + # - type + # - dataset + # - property + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # type: string + # enum: + # - entities-number-chart + # dataset: + # type: array + # items: + # anyOf: + # - type: object + # properties: + # property: + # type: string + # operator: + # enum: + # - '>' + # - '>=' + # - < + # - <= + # value: + # type: + # - number + # required: + # - property + # - operator + # - value + # additionalProperties: false + # - type: object + # properties: + # property: + # type: string + # operator: + # enum: + # - between + # - notBetween + # - = + # value: + # type: object + # oneOf: + # - type: object + # properties: + # from: + # type: string + # format: date-time + # to: + # type: string + # format: date-time + # required: + # - from + # - to + # - type: object + # properties: + # preset: + # type: string + # enum: + # - today + # - tomorrow + # - yesterday + # - lastWeek + # - last2Weeks + # - lastMonth + # - last3Months + # - last6Months + # - last12Months + # required: + # - preset + # required: + # - property + # - operator + # - value + # additionalProperties: false + # - type: object + # properties: + # property: + # type: string + # operator: + # enum: + # - = + # - '!=' + # - containsAny + # - contains + # - doesNotContain + # - beginsWith + # - doesNotBeginWith + # - endsWith + # - doesNotEndWith + # - in + # - notIn + # value: + # anyOf: + # - type: 'null' + # - type: string + # - type: number + # - type: boolean + # - type: array + # items: + # type: string + # - type: string + # format: date-time + # additionalProperties: false + # required: + # - property + # - operator + # - value + # - type: object + # properties: + # operator: + # enum: + # - isEmpty + # - isNotEmpty + # property: + # type: string + # required: + # - operator + # - property + # additionalProperties: false + # - type: object + # properties: + # operator: + # enum: + # - relatedTo + # blueprint: + # type: string + # value: + # type: string + # direction: + # enum: + # - upstream + # - downstream + # required: + # type: boolean + # additionalProperties: false + # required: + # - operator + # - value + # - blueprint + # - type: object + # properties: + # propertySchema: + # type: object + # properties: + # type: + # type: string + # format: + # type: string + # required: + # - type + # additionalProperties: false + # operator: + # enum: + # - = + # - '!=' + # value: + # anyOf: + # - type: 'null' + # - type: string + # - type: number + # - type: boolean + # required: + # - operator + # - propertySchema + # additionalProperties: false + # - $ref: '#/components/schemas/def-0' + # title: + # type: string + # icon: + # type: string + # description: + # type: string + # unit: + # type: string + # enum: + # - none + # - $ + # - € + # - £ + # - '%' + # - custom + # unitAlignment: + # type: string + # enum: + # - left + # - right + # calculationBy: + # type: string + # enum: + # - entities + # - property + # required: + # - type + # - dataset + # - unit + # - calculationBy + # allOf: + # - properties: + # property: + # type: string + # func: + # type: string + # enum: + # - sum + # - average + # - min + # - max + # - median + # required: + # - property + # - func + # - properties: + # func: + # type: string + # enum: + # - average + # - count + # required: + # - func + # - properties: + # averageOf: + # type: string + # enum: + # - hour + # - day + # - week + # - month + # - total + # measureTimeBy: + # type: string + # required: + # - averageOf + # - properties: + # unitCustom: + # type: string + # required: + # - unitCustom + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # type: string + # enum: + # - iframe-widget + # title: + # type: string + # icon: + # type: string + # description: + # type: string + # url: + # type: string + # format: url + # urlType: + # type: string + # enum: + # - public + # - protected + # required: + # - type + # - url + # - urlType + # - title + # allOf: + # - properties: + # tokenUrl: + # type: string + # format: url + # authorizationUrl: + # type: string + # format: url + # clientId: + # type: string + # scopes: + # type: array + # items: + # type: string + # required: + # - tokenUrl + # - authorizationUrl + # - clientId + # - scopes + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # type: string + # enum: + # - markdown + # title: + # type: string + # icon: + # type: string + # markdown: + # type: string + # required: + # - type + # - title + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - team-info + # title: + # type: string + # team_name: + # type: string + # additionalProperties: false + # required: + # - type + # - team_name + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # type: string + # enum: + # - recently-viewed-entities + # title: + # type: string + # icon: + # type: string + # required: + # - type + # - title + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # type: string + # enum: + # - recently-used-actions + # title: + # type: string + # icon: + # type: string + # required: + # - type + # - title + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # type: string + # enum: + # - my-entities + # title: + # type: string + # icon: + # type: string + # required: + # - type + # - title + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # type: string + # enum: + # - grouper + # title: + # type: string + # displayMode: + # type: string + # enum: + # - tabs + # - switch + # activeGroupUrlParam: + # type: string + # groupsOrder: + # type: array + # items: + # type: string + # groups: + # type: array + # items: + # type: object + # properties: + # title: + # type: string + # icon: + # type: string + # widgets: + # type: array + # items: + # anyOf: + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - entity-info + # title: + # type: string + # entity: + # type: string + # hiddenQuery: + # type: array + # items: + # type: string + # blueprint: + # type: string + # additionalProperties: false + # required: + # - type + # - entity + # - blueprint + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - action-runs-table-widget + # icon: + # type: string + # description: + # type: string + # maxLength: 200 + # title: + # type: string + # displayMode: + # type: string + # enum: + # - single + # - widget + # blueprint: + # type: string + # action: + # type: string + # tableConfig: + # type: object + # properties: + # filterSettings: + # type: object + # properties: + # filterBy: + # $ref: '#/components/schemas/def-0' + # additionalProperties: false + # required: + # - filterBy + # groupSettings: + # type: object + # properties: + # groupBy: + # type: array + # items: + # type: string + # additionalProperties: false + # required: + # - groupBy + # sortSettings: + # type: object + # properties: + # sortBy: + # type: array + # items: + # type: object + # properties: + # property: + # type: string + # order: + # enum: + # - asc + # - desc + # additionalProperties: false + # required: + # - property + # - order + # additionalProperties: false + # propertiesSettings: + # type: object + # properties: + # hidden: + # type: array + # items: + # type: string + # order: + # type: array + # items: + # type: string + # additionalProperties: false + # additionalProperties: false + # additionalProperties: false + # required: + # - type + # - action + # - blueprint + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - table-entities-explorer + # icon: + # type: string + # description: + # type: string + # maxLength: 200 + # title: + # type: string + # dataset: + # $ref: '#/components/schemas/def-0' + # excludedFields: + # type: array + # items: + # type: string + # displayMode: + # type: string + # enum: + # - tabs + # - single + # - widget + # blueprintConfig: + # type: object + # propertyNames: + # pattern: '^[A-Za-z0-9@_.:\\/=-]+$' + # additionalProperties: + # type: object + # properties: + # filterSettings: + # type: object + # properties: + # filterBy: + # $ref: '#/components/schemas/def-0' + # additionalProperties: false + # required: + # - filterBy + # groupSettings: + # type: object + # properties: + # groupBy: + # type: array + # items: + # type: string + # additionalProperties: false + # required: + # - groupBy + # sortSettings: + # type: object + # properties: + # sortBy: + # type: array + # items: + # type: object + # properties: + # property: + # type: string + # order: + # enum: + # - asc + # - desc + # additionalProperties: false + # required: + # - property + # - order + # additionalProperties: false + # propertiesSettings: + # type: object + # properties: + # hidden: + # type: array + # items: + # type: string + # order: + # type: array + # items: + # type: string + # additionalProperties: false + # tabIndex: + # type: number + # hidden: + # type: boolean + # title: + # type: string + # maxLength: 20 + # description: + # type: string + # maxLength: 200 + # additionalProperties: false + # additionalProperties: false + # required: + # - type + # - dataset + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - table-entities-explorer-by-direction + # title: + # type: string + # blueprintConfig: + # type: object + # propertyNames: + # pattern: >- + # ^[A-Za-z0-9@_.:\\/=-]*\$(upstream|downstream|custom)(\$[A-Za-z0-9@_.:\\/=-]+)*$ + # additionalProperties: + # type: object + # properties: + # filterSettings: + # type: object + # properties: + # filterBy: + # $ref: '#/components/schemas/def-0' + # additionalProperties: false + # required: + # - filterBy + # groupSettings: + # type: object + # properties: + # groupBy: + # type: array + # items: + # type: string + # additionalProperties: false + # required: + # - groupBy + # sortSettings: + # type: object + # properties: + # sortBy: + # type: array + # items: + # type: object + # properties: + # property: + # type: string + # order: + # enum: + # - asc + # - desc + # additionalProperties: false + # required: + # - property + # - order + # additionalProperties: false + # propertiesSettings: + # type: object + # properties: + # hidden: + # type: array + # items: + # type: string + # order: + # type: array + # items: + # type: string + # additionalProperties: false + # tabIndex: + # type: number + # hidden: + # type: boolean + # title: + # type: string + # maxLength: 20 + # description: + # type: string + # maxLength: 200 + # dataset: + # $ref: '#/components/schemas/def-0' + # targetBlueprint: + # type: string + # relatedProperty: + # type: string + # additionalProperties: false + # additionalProperties: false + # required: + # - type + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - table-audit-log + # title: + # type: string + # description: + # type: string + # query: + # type: object + # properties: + # identifier: + # type: string + # entity: + # type: string + # blueprint: + # type: string + # run_id: + # type: string + # webhookId: + # type: string + # webhookEventId: + # type: string + # origin: + # type: array + # items: + # type: string + # InstallationId: + # type: string + # resources: + # anyOf: + # - type: array + # items: + # enum: + # - blueprint + # - entity + # - run + # - webhook + # - scorecard + # - action + # - type: string + # enum: + # - blueprint + # - entity + # - run + # - webhook + # - scorecard + # - action + # includes: + # type: array + # items: + # enum: + # - action + # - context + # - diff + # - identifier + # - resourceType + # - status + # - trigger + # - additionalData + # - message + # from: + # type: string + # format: date-time + # description: 'ISO format IE 2022-04-23T18:25:43.511Z' + # to: + # type: string + # format: date-time + # description: 'ISO format 2022-04-23T18:25:43.511Z' + # action: + # type: string + # status: + # type: string + # enum: + # - SUCCESS + # - FAILURE + # limit: + # type: number + # additionalProperties: false + # tableConfig: + # type: object + # properties: + # filterSettings: + # type: object + # properties: + # filterBy: + # $ref: '#/components/schemas/def-0' + # additionalProperties: false + # required: + # - filterBy + # groupSettings: + # type: object + # properties: + # groupBy: + # type: array + # items: + # type: string + # additionalProperties: false + # required: + # - groupBy + # sortSettings: + # type: object + # properties: + # sortBy: + # type: array + # items: + # type: object + # properties: + # property: + # type: string + # order: + # enum: + # - asc + # - desc + # additionalProperties: false + # required: + # - property + # - order + # additionalProperties: false + # propertiesSettings: + # type: object + # properties: + # hidden: + # type: array + # items: + # type: string + # order: + # type: array + # items: + # type: string + # additionalProperties: false + # additionalProperties: false + # required: + # - type + # - query + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - users-table + # title: + # type: string + # query: + # type: object + # properties: + # team: + # type: string + # tableConfig: + # type: object + # properties: + # filterSettings: + # type: object + # properties: + # filterBy: + # $ref: '#/components/schemas/def-0' + # additionalProperties: false + # required: + # - filterBy + # groupSettings: + # type: object + # properties: + # groupBy: + # type: array + # items: + # type: string + # additionalProperties: false + # required: + # - groupBy + # sortSettings: + # type: object + # properties: + # sortBy: + # type: array + # items: + # type: object + # properties: + # property: + # type: string + # order: + # enum: + # - asc + # - desc + # additionalProperties: false + # required: + # - property + # - order + # additionalProperties: false + # propertiesSettings: + # type: object + # properties: + # hidden: + # type: array + # items: + # type: string + # order: + # type: array + # items: + # type: string + # additionalProperties: false + # additionalProperties: false + # required: + # - type + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - teams-table + # title: + # type: string + # query: + # type: object + # properties: + # user: + # type: string + # tableConfig: + # type: object + # properties: + # filterSettings: + # type: object + # properties: + # filterBy: + # $ref: '#/components/schemas/def-0' + # additionalProperties: false + # required: + # - filterBy + # groupSettings: + # type: object + # properties: + # groupBy: + # type: array + # items: + # type: string + # additionalProperties: false + # required: + # - groupBy + # sortSettings: + # type: object + # properties: + # sortBy: + # type: array + # items: + # type: object + # properties: + # property: + # type: string + # order: + # enum: + # - asc + # - desc + # additionalProperties: false + # required: + # - property + # - order + # additionalProperties: false + # propertiesSettings: + # type: object + # properties: + # hidden: + # type: array + # items: + # type: string + # order: + # type: array + # items: + # type: string + # additionalProperties: false + # additionalProperties: false + # required: + # - type + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - runs-table + # title: + # type: string + # query: + # type: object + # properties: + # entity: + # type: string + # blueprint: + # type: string + # active: + # type: boolean + # user_email: + # type: string + # limit: + # type: number + # minimum: 1 + # maximum: 50 + # external_run_id: + # type: string + # version: + # type: string + # enum: + # - v1 + # - v2 + # additionalProperties: false + # tableConfig: + # type: object + # properties: + # filterSettings: + # type: object + # properties: + # filterBy: + # $ref: '#/components/schemas/def-0' + # additionalProperties: false + # required: + # - filterBy + # groupSettings: + # type: object + # properties: + # groupBy: + # type: array + # items: + # type: string + # additionalProperties: false + # required: + # - groupBy + # sortSettings: + # type: object + # properties: + # sortBy: + # type: array + # items: + # type: object + # properties: + # property: + # type: string + # order: + # enum: + # - asc + # - desc + # additionalProperties: false + # required: + # - property + # - order + # additionalProperties: false + # propertiesSettings: + # type: object + # properties: + # hidden: + # type: array + # items: + # type: string + # order: + # type: array + # items: + # type: string + # additionalProperties: false + # additionalProperties: false + # required: + # - type + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - run-info + # title: + # type: string + # runId: + # type: string + # additionalProperties: false + # required: + # - type + # - runId + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - user-info + # title: + # type: string + # user_email: + # type: string + # additionalProperties: false + # required: + # - type + # - user_email + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - graph-entities-explorer + # title: + # type: string + # dataset: + # $ref: '#/components/schemas/def-0' + # hiddenBlueprints: + # type: array + # items: + # type: string + # additionalProperties: false + # required: + # - type + # - dataset + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # icon: + # type: string + # type: + # enum: + # - entities-pie-chart + # title: + # type: string + # property: + # type: string + # description: + # type: string + # dataset: + # $ref: '#/components/schemas/def-0' + # additionalProperties: false + # required: + # - type + # - dataset + # - property + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # type: string + # enum: + # - entities-number-chart + # dataset: + # type: array + # items: + # anyOf: + # - type: object + # properties: + # property: + # type: string + # operator: + # enum: + # - '>' + # - '>=' + # - < + # - <= + # value: + # type: + # - number + # required: + # - property + # - operator + # - value + # additionalProperties: false + # - type: object + # properties: + # property: + # type: string + # operator: + # enum: + # - between + # - notBetween + # - = + # value: + # type: object + # oneOf: + # - type: object + # properties: + # from: + # type: string + # format: date-time + # to: + # type: string + # format: date-time + # required: + # - from + # - to + # - type: object + # properties: + # preset: + # type: string + # enum: + # - today + # - tomorrow + # - yesterday + # - lastWeek + # - last2Weeks + # - lastMonth + # - last3Months + # - last6Months + # - last12Months + # required: + # - preset + # required: + # - property + # - operator + # - value + # additionalProperties: false + # - type: object + # properties: + # property: + # type: string + # operator: + # enum: + # - = + # - '!=' + # - containsAny + # - contains + # - doesNotContain + # - beginsWith + # - doesNotBeginWith + # - endsWith + # - doesNotEndWith + # - in + # - notIn + # value: + # anyOf: + # - type: 'null' + # - type: string + # - type: number + # - type: boolean + # - type: array + # items: + # type: string + # - type: string + # format: date-time + # additionalProperties: false + # required: + # - property + # - operator + # - value + # - type: object + # properties: + # operator: + # enum: + # - isEmpty + # - isNotEmpty + # property: + # type: string + # required: + # - operator + # - property + # additionalProperties: false + # - type: object + # properties: + # operator: + # enum: + # - relatedTo + # blueprint: + # type: string + # value: + # type: string + # direction: + # enum: + # - upstream + # - downstream + # required: + # type: boolean + # additionalProperties: false + # required: + # - operator + # - value + # - blueprint + # - type: object + # properties: + # propertySchema: + # type: object + # properties: + # type: + # type: string + # format: + # type: string + # required: + # - type + # additionalProperties: false + # operator: + # enum: + # - = + # - '!=' + # value: + # anyOf: + # - type: 'null' + # - type: string + # - type: number + # - type: boolean + # required: + # - operator + # - propertySchema + # additionalProperties: false + # - $ref: '#/components/schemas/def-0' + # title: + # type: string + # icon: + # type: string + # description: + # type: string + # unit: + # type: string + # enum: + # - none + # - $ + # - € + # - £ + # - '%' + # - custom + # unitAlignment: + # type: string + # enum: + # - left + # - right + # calculationBy: + # type: string + # enum: + # - entities + # - property + # required: + # - type + # - dataset + # - unit + # - calculationBy + # allOf: + # - properties: + # property: + # type: string + # func: + # type: string + # enum: + # - sum + # - average + # - min + # - max + # - median + # required: + # - property + # - func + # - properties: + # func: + # type: string + # enum: + # - average + # - count + # required: + # - func + # - properties: + # averageOf: + # type: string + # enum: + # - hour + # - day + # - week + # - month + # - total + # measureTimeBy: + # type: string + # required: + # - averageOf + # - properties: + # unitCustom: + # type: string + # required: + # - unitCustom + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # type: string + # enum: + # - iframe-widget + # title: + # type: string + # icon: + # type: string + # description: + # type: string + # url: + # type: string + # format: url + # urlType: + # type: string + # enum: + # - public + # - protected + # required: + # - type + # - url + # - urlType + # - title + # allOf: + # - properties: + # tokenUrl: + # type: string + # format: url + # authorizationUrl: + # type: string + # format: url + # clientId: + # type: string + # scopes: + # type: array + # items: + # type: string + # required: + # - tokenUrl + # - authorizationUrl + # - clientId + # - scopes + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # type: string + # enum: + # - markdown + # title: + # type: string + # icon: + # type: string + # markdown: + # type: string + # required: + # - type + # - title + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - team-info + # title: + # type: string + # team_name: + # type: string + # additionalProperties: false + # required: + # - type + # - team_name + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # type: string + # enum: + # - recently-viewed-entities + # title: + # type: string + # icon: + # type: string + # required: + # - type + # - title + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # type: string + # enum: + # - recently-used-actions + # title: + # type: string + # icon: + # type: string + # required: + # - type + # - title + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # type: string + # enum: + # - my-entities + # title: + # type: string + # icon: + # type: string + # required: + # - type + # - title + # additionalProperties: false + # required: + # - title + # - widgets + # additionalProperties: false + # required: + # - type + # - groups + # - displayMode + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # type: string + # enum: + # - dashboard-widget + # layout: + # type: array + # items: + # type: object + # properties: + # height: + # type: number + # columns: + # type: array + # items: + # type: object + # properties: + # size: + # type: number + # id: + # type: string + # additionalProperties: false + # required: + # - size + # - id + # additionalProperties: false + # required: + # - columns + # - height + # widgets: + # type: array + # items: + # type: object + # anyOf: + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - entity-info + # title: + # type: string + # entity: + # type: string + # hiddenQuery: + # type: array + # items: + # type: string + # blueprint: + # type: string + # additionalProperties: false + # required: + # - type + # - entity + # - blueprint + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - action-runs-table-widget + # icon: + # type: string + # description: + # type: string + # maxLength: 200 + # title: + # type: string + # displayMode: + # type: string + # enum: + # - single + # - widget + # blueprint: + # type: string + # action: + # type: string + # tableConfig: + # type: object + # properties: + # filterSettings: + # type: object + # properties: + # filterBy: + # $ref: '#/components/schemas/def-0' + # additionalProperties: false + # required: + # - filterBy + # groupSettings: + # type: object + # properties: + # groupBy: + # type: array + # items: + # type: string + # additionalProperties: false + # required: + # - groupBy + # sortSettings: + # type: object + # properties: + # sortBy: + # type: array + # items: + # type: object + # properties: + # property: + # type: string + # order: + # enum: + # - asc + # - desc + # additionalProperties: false + # required: + # - property + # - order + # additionalProperties: false + # propertiesSettings: + # type: object + # properties: + # hidden: + # type: array + # items: + # type: string + # order: + # type: array + # items: + # type: string + # additionalProperties: false + # additionalProperties: false + # additionalProperties: false + # required: + # - type + # - action + # - blueprint + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - table-entities-explorer + # icon: + # type: string + # description: + # type: string + # maxLength: 200 + # title: + # type: string + # dataset: + # $ref: '#/components/schemas/def-0' + # excludedFields: + # type: array + # items: + # type: string + # displayMode: + # type: string + # enum: + # - tabs + # - single + # - widget + # blueprintConfig: + # type: object + # propertyNames: + # pattern: '^[A-Za-z0-9@_.:\\/=-]+$' + # additionalProperties: + # type: object + # properties: + # filterSettings: + # type: object + # properties: + # filterBy: + # $ref: '#/components/schemas/def-0' + # additionalProperties: false + # required: + # - filterBy + # groupSettings: + # type: object + # properties: + # groupBy: + # type: array + # items: + # type: string + # additionalProperties: false + # required: + # - groupBy + # sortSettings: + # type: object + # properties: + # sortBy: + # type: array + # items: + # type: object + # properties: + # property: + # type: string + # order: + # enum: + # - asc + # - desc + # additionalProperties: false + # required: + # - property + # - order + # additionalProperties: false + # propertiesSettings: + # type: object + # properties: + # hidden: + # type: array + # items: + # type: string + # order: + # type: array + # items: + # type: string + # additionalProperties: false + # tabIndex: + # type: number + # hidden: + # type: boolean + # title: + # type: string + # maxLength: 20 + # description: + # type: string + # maxLength: 200 + # additionalProperties: false + # additionalProperties: false + # required: + # - type + # - dataset + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - table-entities-explorer-by-direction + # title: + # type: string + # blueprintConfig: + # type: object + # propertyNames: + # pattern: >- + # ^[A-Za-z0-9@_.:\\/=-]*\$(upstream|downstream|custom)(\$[A-Za-z0-9@_.:\\/=-]+)*$ + # additionalProperties: + # type: object + # properties: + # filterSettings: + # type: object + # properties: + # filterBy: + # $ref: '#/components/schemas/def-0' + # additionalProperties: false + # required: + # - filterBy + # groupSettings: + # type: object + # properties: + # groupBy: + # type: array + # items: + # type: string + # additionalProperties: false + # required: + # - groupBy + # sortSettings: + # type: object + # properties: + # sortBy: + # type: array + # items: + # type: object + # properties: + # property: + # type: string + # order: + # enum: + # - asc + # - desc + # additionalProperties: false + # required: + # - property + # - order + # additionalProperties: false + # propertiesSettings: + # type: object + # properties: + # hidden: + # type: array + # items: + # type: string + # order: + # type: array + # items: + # type: string + # additionalProperties: false + # tabIndex: + # type: number + # hidden: + # type: boolean + # title: + # type: string + # maxLength: 20 + # description: + # type: string + # maxLength: 200 + # dataset: + # $ref: '#/components/schemas/def-0' + # targetBlueprint: + # type: string + # relatedProperty: + # type: string + # additionalProperties: false + # additionalProperties: false + # required: + # - type + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - table-audit-log + # title: + # type: string + # description: + # type: string + # query: + # type: object + # properties: + # identifier: + # type: string + # entity: + # type: string + # blueprint: + # type: string + # run_id: + # type: string + # webhookId: + # type: string + # webhookEventId: + # type: string + # origin: + # type: array + # items: + # type: string + # InstallationId: + # type: string + # resources: + # anyOf: + # - type: array + # items: + # enum: + # - blueprint + # - entity + # - run + # - webhook + # - scorecard + # - action + # - type: string + # enum: + # - blueprint + # - entity + # - run + # - webhook + # - scorecard + # - action + # includes: + # type: array + # items: + # enum: + # - action + # - context + # - diff + # - identifier + # - resourceType + # - status + # - trigger + # - additionalData + # - message + # from: + # type: string + # format: date-time + # description: 'ISO format IE 2022-04-23T18:25:43.511Z' + # to: + # type: string + # format: date-time + # description: 'ISO format 2022-04-23T18:25:43.511Z' + # action: + # type: string + # status: + # type: string + # enum: + # - SUCCESS + # - FAILURE + # limit: + # type: number + # additionalProperties: false + # tableConfig: + # type: object + # properties: + # filterSettings: + # type: object + # properties: + # filterBy: + # $ref: '#/components/schemas/def-0' + # additionalProperties: false + # required: + # - filterBy + # groupSettings: + # type: object + # properties: + # groupBy: + # type: array + # items: + # type: string + # additionalProperties: false + # required: + # - groupBy + # sortSettings: + # type: object + # properties: + # sortBy: + # type: array + # items: + # type: object + # properties: + # property: + # type: string + # order: + # enum: + # - asc + # - desc + # additionalProperties: false + # required: + # - property + # - order + # additionalProperties: false + # propertiesSettings: + # type: object + # properties: + # hidden: + # type: array + # items: + # type: string + # order: + # type: array + # items: + # type: string + # additionalProperties: false + # additionalProperties: false + # required: + # - type + # - query + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - users-table + # title: + # type: string + # query: + # type: object + # properties: + # team: + # type: string + # tableConfig: + # type: object + # properties: + # filterSettings: + # type: object + # properties: + # filterBy: + # $ref: '#/components/schemas/def-0' + # additionalProperties: false + # required: + # - filterBy + # groupSettings: + # type: object + # properties: + # groupBy: + # type: array + # items: + # type: string + # additionalProperties: false + # required: + # - groupBy + # sortSettings: + # type: object + # properties: + # sortBy: + # type: array + # items: + # type: object + # properties: + # property: + # type: string + # order: + # enum: + # - asc + # - desc + # additionalProperties: false + # required: + # - property + # - order + # additionalProperties: false + # propertiesSettings: + # type: object + # properties: + # hidden: + # type: array + # items: + # type: string + # order: + # type: array + # items: + # type: string + # additionalProperties: false + # additionalProperties: false + # required: + # - type + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - teams-table + # title: + # type: string + # query: + # type: object + # properties: + # user: + # type: string + # tableConfig: + # type: object + # properties: + # filterSettings: + # type: object + # properties: + # filterBy: + # $ref: '#/components/schemas/def-0' + # additionalProperties: false + # required: + # - filterBy + # groupSettings: + # type: object + # properties: + # groupBy: + # type: array + # items: + # type: string + # additionalProperties: false + # required: + # - groupBy + # sortSettings: + # type: object + # properties: + # sortBy: + # type: array + # items: + # type: object + # properties: + # property: + # type: string + # order: + # enum: + # - asc + # - desc + # additionalProperties: false + # required: + # - property + # - order + # additionalProperties: false + # propertiesSettings: + # type: object + # properties: + # hidden: + # type: array + # items: + # type: string + # order: + # type: array + # items: + # type: string + # additionalProperties: false + # additionalProperties: false + # required: + # - type + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - runs-table + # title: + # type: string + # query: + # type: object + # properties: + # entity: + # type: string + # blueprint: + # type: string + # active: + # type: boolean + # user_email: + # type: string + # limit: + # type: number + # minimum: 1 + # maximum: 50 + # external_run_id: + # type: string + # version: + # type: string + # enum: + # - v1 + # - v2 + # additionalProperties: false + # tableConfig: + # type: object + # properties: + # filterSettings: + # type: object + # properties: + # filterBy: + # $ref: '#/components/schemas/def-0' + # additionalProperties: false + # required: + # - filterBy + # groupSettings: + # type: object + # properties: + # groupBy: + # type: array + # items: + # type: string + # additionalProperties: false + # required: + # - groupBy + # sortSettings: + # type: object + # properties: + # sortBy: + # type: array + # items: + # type: object + # properties: + # property: + # type: string + # order: + # enum: + # - asc + # - desc + # additionalProperties: false + # required: + # - property + # - order + # additionalProperties: false + # propertiesSettings: + # type: object + # properties: + # hidden: + # type: array + # items: + # type: string + # order: + # type: array + # items: + # type: string + # additionalProperties: false + # additionalProperties: false + # required: + # - type + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - run-info + # title: + # type: string + # runId: + # type: string + # additionalProperties: false + # required: + # - type + # - runId + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - user-info + # title: + # type: string + # user_email: + # type: string + # additionalProperties: false + # required: + # - type + # - user_email + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - graph-entities-explorer + # title: + # type: string + # dataset: + # $ref: '#/components/schemas/def-0' + # hiddenBlueprints: + # type: array + # items: + # type: string + # additionalProperties: false + # required: + # - type + # - dataset + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # icon: + # type: string + # type: + # enum: + # - entities-pie-chart + # title: + # type: string + # property: + # type: string + # description: + # type: string + # dataset: + # $ref: '#/components/schemas/def-0' + # additionalProperties: false + # required: + # - type + # - dataset + # - property + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # type: string + # enum: + # - entities-number-chart + # dataset: + # type: array + # items: + # anyOf: + # - type: object + # properties: + # property: + # type: string + # operator: + # enum: + # - '>' + # - '>=' + # - < + # - <= + # value: + # type: + # - number + # required: + # - property + # - operator + # - value + # additionalProperties: false + # - type: object + # properties: + # property: + # type: string + # operator: + # enum: + # - between + # - notBetween + # - = + # value: + # type: object + # oneOf: + # - type: object + # properties: + # from: + # type: string + # format: date-time + # to: + # type: string + # format: date-time + # required: + # - from + # - to + # - type: object + # properties: + # preset: + # type: string + # enum: + # - today + # - tomorrow + # - yesterday + # - lastWeek + # - last2Weeks + # - lastMonth + # - last3Months + # - last6Months + # - last12Months + # required: + # - preset + # required: + # - property + # - operator + # - value + # additionalProperties: false + # - type: object + # properties: + # property: + # type: string + # operator: + # enum: + # - = + # - '!=' + # - containsAny + # - contains + # - doesNotContain + # - beginsWith + # - doesNotBeginWith + # - endsWith + # - doesNotEndWith + # - in + # - notIn + # value: + # anyOf: + # - type: 'null' + # - type: string + # - type: number + # - type: boolean + # - type: array + # items: + # type: string + # - type: string + # format: date-time + # additionalProperties: false + # required: + # - property + # - operator + # - value + # - type: object + # properties: + # operator: + # enum: + # - isEmpty + # - isNotEmpty + # property: + # type: string + # required: + # - operator + # - property + # additionalProperties: false + # - type: object + # properties: + # operator: + # enum: + # - relatedTo + # blueprint: + # type: string + # value: + # type: string + # direction: + # enum: + # - upstream + # - downstream + # required: + # type: boolean + # additionalProperties: false + # required: + # - operator + # - value + # - blueprint + # - type: object + # properties: + # propertySchema: + # type: object + # properties: + # type: + # type: string + # format: + # type: string + # required: + # - type + # additionalProperties: false + # operator: + # enum: + # - = + # - '!=' + # value: + # anyOf: + # - type: 'null' + # - type: string + # - type: number + # - type: boolean + # required: + # - operator + # - propertySchema + # additionalProperties: false + # - $ref: '#/components/schemas/def-0' + # title: + # type: string + # icon: + # type: string + # description: + # type: string + # unit: + # type: string + # enum: + # - none + # - $ + # - € + # - £ + # - '%' + # - custom + # unitAlignment: + # type: string + # enum: + # - left + # - right + # calculationBy: + # type: string + # enum: + # - entities + # - property + # required: + # - type + # - dataset + # - unit + # - calculationBy + # allOf: + # - properties: + # property: + # type: string + # func: + # type: string + # enum: + # - sum + # - average + # - min + # - max + # - median + # required: + # - property + # - func + # - properties: + # func: + # type: string + # enum: + # - average + # - count + # required: + # - func + # - properties: + # averageOf: + # type: string + # enum: + # - hour + # - day + # - week + # - month + # - total + # measureTimeBy: + # type: string + # required: + # - averageOf + # - properties: + # unitCustom: + # type: string + # required: + # - unitCustom + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # type: string + # enum: + # - iframe-widget + # title: + # type: string + # icon: + # type: string + # description: + # type: string + # url: + # type: string + # format: url + # urlType: + # type: string + # enum: + # - public + # - protected + # required: + # - type + # - url + # - urlType + # - title + # allOf: + # - properties: + # tokenUrl: + # type: string + # format: url + # authorizationUrl: + # type: string + # format: url + # clientId: + # type: string + # scopes: + # type: array + # items: + # type: string + # required: + # - tokenUrl + # - authorizationUrl + # - clientId + # - scopes + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # type: string + # enum: + # - markdown + # title: + # type: string + # icon: + # type: string + # markdown: + # type: string + # required: + # - type + # - title + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - team-info + # title: + # type: string + # team_name: + # type: string + # additionalProperties: false + # required: + # - type + # - team_name + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # type: string + # enum: + # - recently-viewed-entities + # title: + # type: string + # icon: + # type: string + # required: + # - type + # - title + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # type: string + # enum: + # - recently-used-actions + # title: + # type: string + # icon: + # type: string + # required: + # - type + # - title + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # type: string + # enum: + # - my-entities + # title: + # type: string + # icon: + # type: string + # required: + # - type + # - title + # additionalProperties: false + # required: + # - type + # - layout + # - widgets + # type: + # type: string + # enum: + # - run + # - user + # - team + # - entity + # - users-and-teams + # - audit-log + # - blueprint-entities + # - dashboard + # - home + # showInSidebar: + # type: boolean + # default: true + # section: + # type: string + # enum: + # - software_catalog + # - organization + # default: software_catalog + # additionalProperties: true + # required: + # - identifier + # required: true + # security: + # - bearer: + # - 'create:pages' + # responses: + # '201': + # description: Created successfully + # '/v1/pages/{identifier}': + # get: + # summary: Get a page + # tags: + # - Pages + # parameters: + # - schema: + # type: string + # in: path + # name: identifier + # required: true + # security: + # - bearer: [] + # responses: + # '200': + # description: Default Response + # patch: + # summary: Patch a page + # tags: + # - Pages + # requestBody: + # content: + # application/json: + # schema: + # type: object + # properties: + # identifier: + # type: string + # pattern: >- + # ^(?:[A-Za-z0-9@_.:\/=\-]|\$team\b|\$users\b|\$user\b|\$AuditLog\b|\$run\b|\$home)*$ + # minLength: 1 + # blueprint: + # type: string + # title: + # type: string + # description: + # type: string + # maxLength: 150 + # icon: + # type: string + # parent: + # type: string + # nullable: true + # after: + # type: string + # nullable: true + # locked: + # type: boolean + # widgets: + # type: array + # items: + # type: object + # anyOf: + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - entity-info + # title: + # type: string + # entity: + # type: string + # hiddenQuery: + # type: array + # items: + # type: string + # blueprint: + # type: string + # additionalProperties: false + # required: + # - type + # - entity + # - blueprint + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - action-runs-table-widget + # icon: + # type: string + # description: + # type: string + # maxLength: 200 + # title: + # type: string + # displayMode: + # type: string + # enum: + # - single + # - widget + # blueprint: + # type: string + # action: + # type: string + # tableConfig: + # type: object + # properties: + # filterSettings: + # type: object + # properties: + # filterBy: + # $ref: '#/components/schemas/def-0' + # additionalProperties: false + # required: + # - filterBy + # groupSettings: + # type: object + # properties: + # groupBy: + # type: array + # items: + # type: string + # additionalProperties: false + # required: + # - groupBy + # sortSettings: + # type: object + # properties: + # sortBy: + # type: array + # items: + # type: object + # properties: + # property: + # type: string + # order: + # enum: + # - asc + # - desc + # additionalProperties: false + # required: + # - property + # - order + # additionalProperties: false + # propertiesSettings: + # type: object + # properties: + # hidden: + # type: array + # items: + # type: string + # order: + # type: array + # items: + # type: string + # additionalProperties: false + # additionalProperties: false + # additionalProperties: false + # required: + # - type + # - action + # - blueprint + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - table-entities-explorer + # icon: + # type: string + # description: + # type: string + # maxLength: 200 + # title: + # type: string + # dataset: + # $ref: '#/components/schemas/def-0' + # excludedFields: + # type: array + # items: + # type: string + # displayMode: + # type: string + # enum: + # - tabs + # - single + # - widget + # blueprintConfig: + # type: object + # propertyNames: + # pattern: '^[A-Za-z0-9@_.:\\/=-]+$' + # additionalProperties: + # type: object + # properties: + # filterSettings: + # type: object + # properties: + # filterBy: + # $ref: '#/components/schemas/def-0' + # additionalProperties: false + # required: + # - filterBy + # groupSettings: + # type: object + # properties: + # groupBy: + # type: array + # items: + # type: string + # additionalProperties: false + # required: + # - groupBy + # sortSettings: + # type: object + # properties: + # sortBy: + # type: array + # items: + # type: object + # properties: + # property: + # type: string + # order: + # enum: + # - asc + # - desc + # additionalProperties: false + # required: + # - property + # - order + # additionalProperties: false + # propertiesSettings: + # type: object + # properties: + # hidden: + # type: array + # items: + # type: string + # order: + # type: array + # items: + # type: string + # additionalProperties: false + # tabIndex: + # type: number + # hidden: + # type: boolean + # title: + # type: string + # maxLength: 20 + # description: + # type: string + # maxLength: 200 + # additionalProperties: false + # additionalProperties: false + # required: + # - type + # - dataset + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - table-entities-explorer-by-direction + # title: + # type: string + # blueprintConfig: + # type: object + # propertyNames: + # pattern: >- + # ^[A-Za-z0-9@_.:\\/=-]*\$(upstream|downstream|custom)(\$[A-Za-z0-9@_.:\\/=-]+)*$ + # additionalProperties: + # type: object + # properties: + # filterSettings: + # type: object + # properties: + # filterBy: + # $ref: '#/components/schemas/def-0' + # additionalProperties: false + # required: + # - filterBy + # groupSettings: + # type: object + # properties: + # groupBy: + # type: array + # items: + # type: string + # additionalProperties: false + # required: + # - groupBy + # sortSettings: + # type: object + # properties: + # sortBy: + # type: array + # items: + # type: object + # properties: + # property: + # type: string + # order: + # enum: + # - asc + # - desc + # additionalProperties: false + # required: + # - property + # - order + # additionalProperties: false + # propertiesSettings: + # type: object + # properties: + # hidden: + # type: array + # items: + # type: string + # order: + # type: array + # items: + # type: string + # additionalProperties: false + # tabIndex: + # type: number + # hidden: + # type: boolean + # title: + # type: string + # maxLength: 20 + # description: + # type: string + # maxLength: 200 + # dataset: + # $ref: '#/components/schemas/def-0' + # targetBlueprint: + # type: string + # relatedProperty: + # type: string + # additionalProperties: false + # additionalProperties: false + # required: + # - type + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - table-audit-log + # title: + # type: string + # description: + # type: string + # query: + # type: object + # properties: + # identifier: + # type: string + # entity: + # type: string + # blueprint: + # type: string + # run_id: + # type: string + # webhookId: + # type: string + # webhookEventId: + # type: string + # origin: + # type: array + # items: + # type: string + # InstallationId: + # type: string + # resources: + # anyOf: + # - type: array + # items: + # enum: + # - blueprint + # - entity + # - run + # - webhook + # - scorecard + # - action + # - type: string + # enum: + # - blueprint + # - entity + # - run + # - webhook + # - scorecard + # - action + # includes: + # type: array + # items: + # enum: + # - action + # - context + # - diff + # - identifier + # - resourceType + # - status + # - trigger + # - additionalData + # - message + # from: + # type: string + # format: date-time + # description: 'ISO format IE 2022-04-23T18:25:43.511Z' + # to: + # type: string + # format: date-time + # description: 'ISO format 2022-04-23T18:25:43.511Z' + # action: + # type: string + # status: + # type: string + # enum: + # - SUCCESS + # - FAILURE + # limit: + # type: number + # additionalProperties: false + # tableConfig: + # type: object + # properties: + # filterSettings: + # type: object + # properties: + # filterBy: + # $ref: '#/components/schemas/def-0' + # additionalProperties: false + # required: + # - filterBy + # groupSettings: + # type: object + # properties: + # groupBy: + # type: array + # items: + # type: string + # additionalProperties: false + # required: + # - groupBy + # sortSettings: + # type: object + # properties: + # sortBy: + # type: array + # items: + # type: object + # properties: + # property: + # type: string + # order: + # enum: + # - asc + # - desc + # additionalProperties: false + # required: + # - property + # - order + # additionalProperties: false + # propertiesSettings: + # type: object + # properties: + # hidden: + # type: array + # items: + # type: string + # order: + # type: array + # items: + # type: string + # additionalProperties: false + # additionalProperties: false + # required: + # - type + # - query + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - users-table + # title: + # type: string + # query: + # type: object + # properties: + # team: + # type: string + # tableConfig: + # type: object + # properties: + # filterSettings: + # type: object + # properties: + # filterBy: + # $ref: '#/components/schemas/def-0' + # additionalProperties: false + # required: + # - filterBy + # groupSettings: + # type: object + # properties: + # groupBy: + # type: array + # items: + # type: string + # additionalProperties: false + # required: + # - groupBy + # sortSettings: + # type: object + # properties: + # sortBy: + # type: array + # items: + # type: object + # properties: + # property: + # type: string + # order: + # enum: + # - asc + # - desc + # additionalProperties: false + # required: + # - property + # - order + # additionalProperties: false + # propertiesSettings: + # type: object + # properties: + # hidden: + # type: array + # items: + # type: string + # order: + # type: array + # items: + # type: string + # additionalProperties: false + # additionalProperties: false + # required: + # - type + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - teams-table + # title: + # type: string + # query: + # type: object + # properties: + # user: + # type: string + # tableConfig: + # type: object + # properties: + # filterSettings: + # type: object + # properties: + # filterBy: + # $ref: '#/components/schemas/def-0' + # additionalProperties: false + # required: + # - filterBy + # groupSettings: + # type: object + # properties: + # groupBy: + # type: array + # items: + # type: string + # additionalProperties: false + # required: + # - groupBy + # sortSettings: + # type: object + # properties: + # sortBy: + # type: array + # items: + # type: object + # properties: + # property: + # type: string + # order: + # enum: + # - asc + # - desc + # additionalProperties: false + # required: + # - property + # - order + # additionalProperties: false + # propertiesSettings: + # type: object + # properties: + # hidden: + # type: array + # items: + # type: string + # order: + # type: array + # items: + # type: string + # additionalProperties: false + # additionalProperties: false + # required: + # - type + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - runs-table + # title: + # type: string + # query: + # type: object + # properties: + # entity: + # type: string + # blueprint: + # type: string + # active: + # type: boolean + # user_email: + # type: string + # limit: + # type: number + # minimum: 1 + # maximum: 50 + # external_run_id: + # type: string + # version: + # type: string + # enum: + # - v1 + # - v2 + # additionalProperties: false + # tableConfig: + # type: object + # properties: + # filterSettings: + # type: object + # properties: + # filterBy: + # $ref: '#/components/schemas/def-0' + # additionalProperties: false + # required: + # - filterBy + # groupSettings: + # type: object + # properties: + # groupBy: + # type: array + # items: + # type: string + # additionalProperties: false + # required: + # - groupBy + # sortSettings: + # type: object + # properties: + # sortBy: + # type: array + # items: + # type: object + # properties: + # property: + # type: string + # order: + # enum: + # - asc + # - desc + # additionalProperties: false + # required: + # - property + # - order + # additionalProperties: false + # propertiesSettings: + # type: object + # properties: + # hidden: + # type: array + # items: + # type: string + # order: + # type: array + # items: + # type: string + # additionalProperties: false + # additionalProperties: false + # required: + # - type + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - run-info + # title: + # type: string + # runId: + # type: string + # additionalProperties: false + # required: + # - type + # - runId + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - user-info + # title: + # type: string + # user_email: + # type: string + # additionalProperties: false + # required: + # - type + # - user_email + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - graph-entities-explorer + # title: + # type: string + # dataset: + # $ref: '#/components/schemas/def-0' + # hiddenBlueprints: + # type: array + # items: + # type: string + # additionalProperties: false + # required: + # - type + # - dataset + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # icon: + # type: string + # type: + # enum: + # - entities-pie-chart + # title: + # type: string + # property: + # type: string + # description: + # type: string + # dataset: + # $ref: '#/components/schemas/def-0' + # additionalProperties: false + # required: + # - type + # - dataset + # - property + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # type: string + # enum: + # - entities-number-chart + # dataset: + # type: array + # items: + # anyOf: + # - type: object + # properties: + # property: + # type: string + # operator: + # enum: + # - '>' + # - '>=' + # - < + # - <= + # value: + # type: + # - number + # required: + # - property + # - operator + # - value + # additionalProperties: false + # - type: object + # properties: + # property: + # type: string + # operator: + # enum: + # - between + # - notBetween + # - = + # value: + # type: object + # oneOf: + # - type: object + # properties: + # from: + # type: string + # format: date-time + # to: + # type: string + # format: date-time + # required: + # - from + # - to + # - type: object + # properties: + # preset: + # type: string + # enum: + # - today + # - tomorrow + # - yesterday + # - lastWeek + # - last2Weeks + # - lastMonth + # - last3Months + # - last6Months + # - last12Months + # required: + # - preset + # required: + # - property + # - operator + # - value + # additionalProperties: false + # - type: object + # properties: + # property: + # type: string + # operator: + # enum: + # - = + # - '!=' + # - containsAny + # - contains + # - doesNotContain + # - beginsWith + # - doesNotBeginWith + # - endsWith + # - doesNotEndWith + # - in + # - notIn + # value: + # anyOf: + # - type: 'null' + # - type: string + # - type: number + # - type: boolean + # - type: array + # items: + # type: string + # - type: string + # format: date-time + # additionalProperties: false + # required: + # - property + # - operator + # - value + # - type: object + # properties: + # operator: + # enum: + # - isEmpty + # - isNotEmpty + # property: + # type: string + # required: + # - operator + # - property + # additionalProperties: false + # - type: object + # properties: + # operator: + # enum: + # - relatedTo + # blueprint: + # type: string + # value: + # type: string + # direction: + # enum: + # - upstream + # - downstream + # required: + # type: boolean + # additionalProperties: false + # required: + # - operator + # - value + # - blueprint + # - type: object + # properties: + # propertySchema: + # type: object + # properties: + # type: + # type: string + # format: + # type: string + # required: + # - type + # additionalProperties: false + # operator: + # enum: + # - = + # - '!=' + # value: + # anyOf: + # - type: 'null' + # - type: string + # - type: number + # - type: boolean + # required: + # - operator + # - propertySchema + # additionalProperties: false + # - $ref: '#/components/schemas/def-0' + # title: + # type: string + # icon: + # type: string + # description: + # type: string + # unit: + # type: string + # enum: + # - none + # - $ + # - € + # - £ + # - '%' + # - custom + # unitAlignment: + # type: string + # enum: + # - left + # - right + # calculationBy: + # type: string + # enum: + # - entities + # - property + # required: + # - type + # - dataset + # - unit + # - calculationBy + # allOf: + # - properties: + # property: + # type: string + # func: + # type: string + # enum: + # - sum + # - average + # - min + # - max + # - median + # required: + # - property + # - func + # - properties: + # func: + # type: string + # enum: + # - average + # - count + # required: + # - func + # - properties: + # averageOf: + # type: string + # enum: + # - hour + # - day + # - week + # - month + # - total + # measureTimeBy: + # type: string + # required: + # - averageOf + # - properties: + # unitCustom: + # type: string + # required: + # - unitCustom + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # type: string + # enum: + # - iframe-widget + # title: + # type: string + # icon: + # type: string + # description: + # type: string + # url: + # type: string + # format: url + # urlType: + # type: string + # enum: + # - public + # - protected + # required: + # - type + # - url + # - urlType + # - title + # allOf: + # - properties: + # tokenUrl: + # type: string + # format: url + # authorizationUrl: + # type: string + # format: url + # clientId: + # type: string + # scopes: + # type: array + # items: + # type: string + # required: + # - tokenUrl + # - authorizationUrl + # - clientId + # - scopes + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # type: string + # enum: + # - markdown + # title: + # type: string + # icon: + # type: string + # markdown: + # type: string + # required: + # - type + # - title + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - team-info + # title: + # type: string + # team_name: + # type: string + # additionalProperties: false + # required: + # - type + # - team_name + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # type: string + # enum: + # - recently-viewed-entities + # title: + # type: string + # icon: + # type: string + # required: + # - type + # - title + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # type: string + # enum: + # - recently-used-actions + # title: + # type: string + # icon: + # type: string + # required: + # - type + # - title + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # type: string + # enum: + # - my-entities + # title: + # type: string + # icon: + # type: string + # required: + # - type + # - title + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # type: string + # enum: + # - grouper + # title: + # type: string + # displayMode: + # type: string + # enum: + # - tabs + # - switch + # activeGroupUrlParam: + # type: string + # groupsOrder: + # type: array + # items: + # type: string + # groups: + # type: array + # items: + # type: object + # properties: + # title: + # type: string + # icon: + # type: string + # widgets: + # type: array + # items: + # anyOf: + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - entity-info + # title: + # type: string + # entity: + # type: string + # hiddenQuery: + # type: array + # items: + # type: string + # blueprint: + # type: string + # additionalProperties: false + # required: + # - type + # - entity + # - blueprint + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - action-runs-table-widget + # icon: + # type: string + # description: + # type: string + # maxLength: 200 + # title: + # type: string + # displayMode: + # type: string + # enum: + # - single + # - widget + # blueprint: + # type: string + # action: + # type: string + # tableConfig: + # type: object + # properties: + # filterSettings: + # type: object + # properties: + # filterBy: + # $ref: '#/components/schemas/def-0' + # additionalProperties: false + # required: + # - filterBy + # groupSettings: + # type: object + # properties: + # groupBy: + # type: array + # items: + # type: string + # additionalProperties: false + # required: + # - groupBy + # sortSettings: + # type: object + # properties: + # sortBy: + # type: array + # items: + # type: object + # properties: + # property: + # type: string + # order: + # enum: + # - asc + # - desc + # additionalProperties: false + # required: + # - property + # - order + # additionalProperties: false + # propertiesSettings: + # type: object + # properties: + # hidden: + # type: array + # items: + # type: string + # order: + # type: array + # items: + # type: string + # additionalProperties: false + # additionalProperties: false + # additionalProperties: false + # required: + # - type + # - action + # - blueprint + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - table-entities-explorer + # icon: + # type: string + # description: + # type: string + # maxLength: 200 + # title: + # type: string + # dataset: + # $ref: '#/components/schemas/def-0' + # excludedFields: + # type: array + # items: + # type: string + # displayMode: + # type: string + # enum: + # - tabs + # - single + # - widget + # blueprintConfig: + # type: object + # propertyNames: + # pattern: '^[A-Za-z0-9@_.:\\/=-]+$' + # additionalProperties: + # type: object + # properties: + # filterSettings: + # type: object + # properties: + # filterBy: + # $ref: '#/components/schemas/def-0' + # additionalProperties: false + # required: + # - filterBy + # groupSettings: + # type: object + # properties: + # groupBy: + # type: array + # items: + # type: string + # additionalProperties: false + # required: + # - groupBy + # sortSettings: + # type: object + # properties: + # sortBy: + # type: array + # items: + # type: object + # properties: + # property: + # type: string + # order: + # enum: + # - asc + # - desc + # additionalProperties: false + # required: + # - property + # - order + # additionalProperties: false + # propertiesSettings: + # type: object + # properties: + # hidden: + # type: array + # items: + # type: string + # order: + # type: array + # items: + # type: string + # additionalProperties: false + # tabIndex: + # type: number + # hidden: + # type: boolean + # title: + # type: string + # maxLength: 20 + # description: + # type: string + # maxLength: 200 + # additionalProperties: false + # additionalProperties: false + # required: + # - type + # - dataset + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - table-entities-explorer-by-direction + # title: + # type: string + # blueprintConfig: + # type: object + # propertyNames: + # pattern: >- + # ^[A-Za-z0-9@_.:\\/=-]*\$(upstream|downstream|custom)(\$[A-Za-z0-9@_.:\\/=-]+)*$ + # additionalProperties: + # type: object + # properties: + # filterSettings: + # type: object + # properties: + # filterBy: + # $ref: '#/components/schemas/def-0' + # additionalProperties: false + # required: + # - filterBy + # groupSettings: + # type: object + # properties: + # groupBy: + # type: array + # items: + # type: string + # additionalProperties: false + # required: + # - groupBy + # sortSettings: + # type: object + # properties: + # sortBy: + # type: array + # items: + # type: object + # properties: + # property: + # type: string + # order: + # enum: + # - asc + # - desc + # additionalProperties: false + # required: + # - property + # - order + # additionalProperties: false + # propertiesSettings: + # type: object + # properties: + # hidden: + # type: array + # items: + # type: string + # order: + # type: array + # items: + # type: string + # additionalProperties: false + # tabIndex: + # type: number + # hidden: + # type: boolean + # title: + # type: string + # maxLength: 20 + # description: + # type: string + # maxLength: 200 + # dataset: + # $ref: '#/components/schemas/def-0' + # targetBlueprint: + # type: string + # relatedProperty: + # type: string + # additionalProperties: false + # additionalProperties: false + # required: + # - type + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - table-audit-log + # title: + # type: string + # description: + # type: string + # query: + # type: object + # properties: + # identifier: + # type: string + # entity: + # type: string + # blueprint: + # type: string + # run_id: + # type: string + # webhookId: + # type: string + # webhookEventId: + # type: string + # origin: + # type: array + # items: + # type: string + # InstallationId: + # type: string + # resources: + # anyOf: + # - type: array + # items: + # enum: + # - blueprint + # - entity + # - run + # - webhook + # - scorecard + # - action + # - type: string + # enum: + # - blueprint + # - entity + # - run + # - webhook + # - scorecard + # - action + # includes: + # type: array + # items: + # enum: + # - action + # - context + # - diff + # - identifier + # - resourceType + # - status + # - trigger + # - additionalData + # - message + # from: + # type: string + # format: date-time + # description: 'ISO format IE 2022-04-23T18:25:43.511Z' + # to: + # type: string + # format: date-time + # description: 'ISO format 2022-04-23T18:25:43.511Z' + # action: + # type: string + # status: + # type: string + # enum: + # - SUCCESS + # - FAILURE + # limit: + # type: number + # additionalProperties: false + # tableConfig: + # type: object + # properties: + # filterSettings: + # type: object + # properties: + # filterBy: + # $ref: '#/components/schemas/def-0' + # additionalProperties: false + # required: + # - filterBy + # groupSettings: + # type: object + # properties: + # groupBy: + # type: array + # items: + # type: string + # additionalProperties: false + # required: + # - groupBy + # sortSettings: + # type: object + # properties: + # sortBy: + # type: array + # items: + # type: object + # properties: + # property: + # type: string + # order: + # enum: + # - asc + # - desc + # additionalProperties: false + # required: + # - property + # - order + # additionalProperties: false + # propertiesSettings: + # type: object + # properties: + # hidden: + # type: array + # items: + # type: string + # order: + # type: array + # items: + # type: string + # additionalProperties: false + # additionalProperties: false + # required: + # - type + # - query + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - users-table + # title: + # type: string + # query: + # type: object + # properties: + # team: + # type: string + # tableConfig: + # type: object + # properties: + # filterSettings: + # type: object + # properties: + # filterBy: + # $ref: '#/components/schemas/def-0' + # additionalProperties: false + # required: + # - filterBy + # groupSettings: + # type: object + # properties: + # groupBy: + # type: array + # items: + # type: string + # additionalProperties: false + # required: + # - groupBy + # sortSettings: + # type: object + # properties: + # sortBy: + # type: array + # items: + # type: object + # properties: + # property: + # type: string + # order: + # enum: + # - asc + # - desc + # additionalProperties: false + # required: + # - property + # - order + # additionalProperties: false + # propertiesSettings: + # type: object + # properties: + # hidden: + # type: array + # items: + # type: string + # order: + # type: array + # items: + # type: string + # additionalProperties: false + # additionalProperties: false + # required: + # - type + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - teams-table + # title: + # type: string + # query: + # type: object + # properties: + # user: + # type: string + # tableConfig: + # type: object + # properties: + # filterSettings: + # type: object + # properties: + # filterBy: + # $ref: '#/components/schemas/def-0' + # additionalProperties: false + # required: + # - filterBy + # groupSettings: + # type: object + # properties: + # groupBy: + # type: array + # items: + # type: string + # additionalProperties: false + # required: + # - groupBy + # sortSettings: + # type: object + # properties: + # sortBy: + # type: array + # items: + # type: object + # properties: + # property: + # type: string + # order: + # enum: + # - asc + # - desc + # additionalProperties: false + # required: + # - property + # - order + # additionalProperties: false + # propertiesSettings: + # type: object + # properties: + # hidden: + # type: array + # items: + # type: string + # order: + # type: array + # items: + # type: string + # additionalProperties: false + # additionalProperties: false + # required: + # - type + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - runs-table + # title: + # type: string + # query: + # type: object + # properties: + # entity: + # type: string + # blueprint: + # type: string + # active: + # type: boolean + # user_email: + # type: string + # limit: + # type: number + # minimum: 1 + # maximum: 50 + # external_run_id: + # type: string + # version: + # type: string + # enum: + # - v1 + # - v2 + # additionalProperties: false + # tableConfig: + # type: object + # properties: + # filterSettings: + # type: object + # properties: + # filterBy: + # $ref: '#/components/schemas/def-0' + # additionalProperties: false + # required: + # - filterBy + # groupSettings: + # type: object + # properties: + # groupBy: + # type: array + # items: + # type: string + # additionalProperties: false + # required: + # - groupBy + # sortSettings: + # type: object + # properties: + # sortBy: + # type: array + # items: + # type: object + # properties: + # property: + # type: string + # order: + # enum: + # - asc + # - desc + # additionalProperties: false + # required: + # - property + # - order + # additionalProperties: false + # propertiesSettings: + # type: object + # properties: + # hidden: + # type: array + # items: + # type: string + # order: + # type: array + # items: + # type: string + # additionalProperties: false + # additionalProperties: false + # required: + # - type + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - run-info + # title: + # type: string + # runId: + # type: string + # additionalProperties: false + # required: + # - type + # - runId + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - user-info + # title: + # type: string + # user_email: + # type: string + # additionalProperties: false + # required: + # - type + # - user_email + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - graph-entities-explorer + # title: + # type: string + # dataset: + # $ref: '#/components/schemas/def-0' + # hiddenBlueprints: + # type: array + # items: + # type: string + # additionalProperties: false + # required: + # - type + # - dataset + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # icon: + # type: string + # type: + # enum: + # - entities-pie-chart + # title: + # type: string + # property: + # type: string + # description: + # type: string + # dataset: + # $ref: '#/components/schemas/def-0' + # additionalProperties: false + # required: + # - type + # - dataset + # - property + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # type: string + # enum: + # - entities-number-chart + # dataset: + # type: array + # items: + # anyOf: + # - type: object + # properties: + # property: + # type: string + # operator: + # enum: + # - '>' + # - '>=' + # - < + # - <= + # value: + # type: + # - number + # required: + # - property + # - operator + # - value + # additionalProperties: false + # - type: object + # properties: + # property: + # type: string + # operator: + # enum: + # - between + # - notBetween + # - = + # value: + # type: object + # oneOf: + # - type: object + # properties: + # from: + # type: string + # format: date-time + # to: + # type: string + # format: date-time + # required: + # - from + # - to + # - type: object + # properties: + # preset: + # type: string + # enum: + # - today + # - tomorrow + # - yesterday + # - lastWeek + # - last2Weeks + # - lastMonth + # - last3Months + # - last6Months + # - last12Months + # required: + # - preset + # required: + # - property + # - operator + # - value + # additionalProperties: false + # - type: object + # properties: + # property: + # type: string + # operator: + # enum: + # - = + # - '!=' + # - containsAny + # - contains + # - doesNotContain + # - beginsWith + # - doesNotBeginWith + # - endsWith + # - doesNotEndWith + # - in + # - notIn + # value: + # anyOf: + # - type: 'null' + # - type: string + # - type: number + # - type: boolean + # - type: array + # items: + # type: string + # - type: string + # format: date-time + # additionalProperties: false + # required: + # - property + # - operator + # - value + # - type: object + # properties: + # operator: + # enum: + # - isEmpty + # - isNotEmpty + # property: + # type: string + # required: + # - operator + # - property + # additionalProperties: false + # - type: object + # properties: + # operator: + # enum: + # - relatedTo + # blueprint: + # type: string + # value: + # type: string + # direction: + # enum: + # - upstream + # - downstream + # required: + # type: boolean + # additionalProperties: false + # required: + # - operator + # - value + # - blueprint + # - type: object + # properties: + # propertySchema: + # type: object + # properties: + # type: + # type: string + # format: + # type: string + # required: + # - type + # additionalProperties: false + # operator: + # enum: + # - = + # - '!=' + # value: + # anyOf: + # - type: 'null' + # - type: string + # - type: number + # - type: boolean + # required: + # - operator + # - propertySchema + # additionalProperties: false + # - $ref: '#/components/schemas/def-0' + # title: + # type: string + # icon: + # type: string + # description: + # type: string + # unit: + # type: string + # enum: + # - none + # - $ + # - € + # - £ + # - '%' + # - custom + # unitAlignment: + # type: string + # enum: + # - left + # - right + # calculationBy: + # type: string + # enum: + # - entities + # - property + # required: + # - type + # - dataset + # - unit + # - calculationBy + # allOf: + # - properties: + # property: + # type: string + # func: + # type: string + # enum: + # - sum + # - average + # - min + # - max + # - median + # required: + # - property + # - func + # - properties: + # func: + # type: string + # enum: + # - average + # - count + # required: + # - func + # - properties: + # averageOf: + # type: string + # enum: + # - hour + # - day + # - week + # - month + # - total + # measureTimeBy: + # type: string + # required: + # - averageOf + # - properties: + # unitCustom: + # type: string + # required: + # - unitCustom + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # type: string + # enum: + # - iframe-widget + # title: + # type: string + # icon: + # type: string + # description: + # type: string + # url: + # type: string + # format: url + # urlType: + # type: string + # enum: + # - public + # - protected + # required: + # - type + # - url + # - urlType + # - title + # allOf: + # - properties: + # tokenUrl: + # type: string + # format: url + # authorizationUrl: + # type: string + # format: url + # clientId: + # type: string + # scopes: + # type: array + # items: + # type: string + # required: + # - tokenUrl + # - authorizationUrl + # - clientId + # - scopes + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # type: string + # enum: + # - markdown + # title: + # type: string + # icon: + # type: string + # markdown: + # type: string + # required: + # - type + # - title + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - team-info + # title: + # type: string + # team_name: + # type: string + # additionalProperties: false + # required: + # - type + # - team_name + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # type: string + # enum: + # - recently-viewed-entities + # title: + # type: string + # icon: + # type: string + # required: + # - type + # - title + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # type: string + # enum: + # - recently-used-actions + # title: + # type: string + # icon: + # type: string + # required: + # - type + # - title + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # type: string + # enum: + # - my-entities + # title: + # type: string + # icon: + # type: string + # required: + # - type + # - title + # additionalProperties: false + # required: + # - title + # - widgets + # additionalProperties: false + # required: + # - type + # - groups + # - displayMode + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # type: string + # enum: + # - dashboard-widget + # layout: + # type: array + # items: + # type: object + # properties: + # height: + # type: number + # columns: + # type: array + # items: + # type: object + # properties: + # size: + # type: number + # id: + # type: string + # additionalProperties: false + # required: + # - size + # - id + # additionalProperties: false + # required: + # - columns + # - height + # widgets: + # type: array + # items: + # type: object + # anyOf: + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - entity-info + # title: + # type: string + # entity: + # type: string + # hiddenQuery: + # type: array + # items: + # type: string + # blueprint: + # type: string + # additionalProperties: false + # required: + # - type + # - entity + # - blueprint + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - action-runs-table-widget + # icon: + # type: string + # description: + # type: string + # maxLength: 200 + # title: + # type: string + # displayMode: + # type: string + # enum: + # - single + # - widget + # blueprint: + # type: string + # action: + # type: string + # tableConfig: + # type: object + # properties: + # filterSettings: + # type: object + # properties: + # filterBy: + # $ref: '#/components/schemas/def-0' + # additionalProperties: false + # required: + # - filterBy + # groupSettings: + # type: object + # properties: + # groupBy: + # type: array + # items: + # type: string + # additionalProperties: false + # required: + # - groupBy + # sortSettings: + # type: object + # properties: + # sortBy: + # type: array + # items: + # type: object + # properties: + # property: + # type: string + # order: + # enum: + # - asc + # - desc + # additionalProperties: false + # required: + # - property + # - order + # additionalProperties: false + # propertiesSettings: + # type: object + # properties: + # hidden: + # type: array + # items: + # type: string + # order: + # type: array + # items: + # type: string + # additionalProperties: false + # additionalProperties: false + # additionalProperties: false + # required: + # - type + # - action + # - blueprint + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - table-entities-explorer + # icon: + # type: string + # description: + # type: string + # maxLength: 200 + # title: + # type: string + # dataset: + # $ref: '#/components/schemas/def-0' + # excludedFields: + # type: array + # items: + # type: string + # displayMode: + # type: string + # enum: + # - tabs + # - single + # - widget + # blueprintConfig: + # type: object + # propertyNames: + # pattern: '^[A-Za-z0-9@_.:\\/=-]+$' + # additionalProperties: + # type: object + # properties: + # filterSettings: + # type: object + # properties: + # filterBy: + # $ref: '#/components/schemas/def-0' + # additionalProperties: false + # required: + # - filterBy + # groupSettings: + # type: object + # properties: + # groupBy: + # type: array + # items: + # type: string + # additionalProperties: false + # required: + # - groupBy + # sortSettings: + # type: object + # properties: + # sortBy: + # type: array + # items: + # type: object + # properties: + # property: + # type: string + # order: + # enum: + # - asc + # - desc + # additionalProperties: false + # required: + # - property + # - order + # additionalProperties: false + # propertiesSettings: + # type: object + # properties: + # hidden: + # type: array + # items: + # type: string + # order: + # type: array + # items: + # type: string + # additionalProperties: false + # tabIndex: + # type: number + # hidden: + # type: boolean + # title: + # type: string + # maxLength: 20 + # description: + # type: string + # maxLength: 200 + # additionalProperties: false + # additionalProperties: false + # required: + # - type + # - dataset + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - table-entities-explorer-by-direction + # title: + # type: string + # blueprintConfig: + # type: object + # propertyNames: + # pattern: >- + # ^[A-Za-z0-9@_.:\\/=-]*\$(upstream|downstream|custom)(\$[A-Za-z0-9@_.:\\/=-]+)*$ + # additionalProperties: + # type: object + # properties: + # filterSettings: + # type: object + # properties: + # filterBy: + # $ref: '#/components/schemas/def-0' + # additionalProperties: false + # required: + # - filterBy + # groupSettings: + # type: object + # properties: + # groupBy: + # type: array + # items: + # type: string + # additionalProperties: false + # required: + # - groupBy + # sortSettings: + # type: object + # properties: + # sortBy: + # type: array + # items: + # type: object + # properties: + # property: + # type: string + # order: + # enum: + # - asc + # - desc + # additionalProperties: false + # required: + # - property + # - order + # additionalProperties: false + # propertiesSettings: + # type: object + # properties: + # hidden: + # type: array + # items: + # type: string + # order: + # type: array + # items: + # type: string + # additionalProperties: false + # tabIndex: + # type: number + # hidden: + # type: boolean + # title: + # type: string + # maxLength: 20 + # description: + # type: string + # maxLength: 200 + # dataset: + # $ref: '#/components/schemas/def-0' + # targetBlueprint: + # type: string + # relatedProperty: + # type: string + # additionalProperties: false + # additionalProperties: false + # required: + # - type + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - table-audit-log + # title: + # type: string + # description: + # type: string + # query: + # type: object + # properties: + # identifier: + # type: string + # entity: + # type: string + # blueprint: + # type: string + # run_id: + # type: string + # webhookId: + # type: string + # webhookEventId: + # type: string + # origin: + # type: array + # items: + # type: string + # InstallationId: + # type: string + # resources: + # anyOf: + # - type: array + # items: + # enum: + # - blueprint + # - entity + # - run + # - webhook + # - scorecard + # - action + # - type: string + # enum: + # - blueprint + # - entity + # - run + # - webhook + # - scorecard + # - action + # includes: + # type: array + # items: + # enum: + # - action + # - context + # - diff + # - identifier + # - resourceType + # - status + # - trigger + # - additionalData + # - message + # from: + # type: string + # format: date-time + # description: 'ISO format IE 2022-04-23T18:25:43.511Z' + # to: + # type: string + # format: date-time + # description: 'ISO format 2022-04-23T18:25:43.511Z' + # action: + # type: string + # status: + # type: string + # enum: + # - SUCCESS + # - FAILURE + # limit: + # type: number + # additionalProperties: false + # tableConfig: + # type: object + # properties: + # filterSettings: + # type: object + # properties: + # filterBy: + # $ref: '#/components/schemas/def-0' + # additionalProperties: false + # required: + # - filterBy + # groupSettings: + # type: object + # properties: + # groupBy: + # type: array + # items: + # type: string + # additionalProperties: false + # required: + # - groupBy + # sortSettings: + # type: object + # properties: + # sortBy: + # type: array + # items: + # type: object + # properties: + # property: + # type: string + # order: + # enum: + # - asc + # - desc + # additionalProperties: false + # required: + # - property + # - order + # additionalProperties: false + # propertiesSettings: + # type: object + # properties: + # hidden: + # type: array + # items: + # type: string + # order: + # type: array + # items: + # type: string + # additionalProperties: false + # additionalProperties: false + # required: + # - type + # - query + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - users-table + # title: + # type: string + # query: + # type: object + # properties: + # team: + # type: string + # tableConfig: + # type: object + # properties: + # filterSettings: + # type: object + # properties: + # filterBy: + # $ref: '#/components/schemas/def-0' + # additionalProperties: false + # required: + # - filterBy + # groupSettings: + # type: object + # properties: + # groupBy: + # type: array + # items: + # type: string + # additionalProperties: false + # required: + # - groupBy + # sortSettings: + # type: object + # properties: + # sortBy: + # type: array + # items: + # type: object + # properties: + # property: + # type: string + # order: + # enum: + # - asc + # - desc + # additionalProperties: false + # required: + # - property + # - order + # additionalProperties: false + # propertiesSettings: + # type: object + # properties: + # hidden: + # type: array + # items: + # type: string + # order: + # type: array + # items: + # type: string + # additionalProperties: false + # additionalProperties: false + # required: + # - type + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - teams-table + # title: + # type: string + # query: + # type: object + # properties: + # user: + # type: string + # tableConfig: + # type: object + # properties: + # filterSettings: + # type: object + # properties: + # filterBy: + # $ref: '#/components/schemas/def-0' + # additionalProperties: false + # required: + # - filterBy + # groupSettings: + # type: object + # properties: + # groupBy: + # type: array + # items: + # type: string + # additionalProperties: false + # required: + # - groupBy + # sortSettings: + # type: object + # properties: + # sortBy: + # type: array + # items: + # type: object + # properties: + # property: + # type: string + # order: + # enum: + # - asc + # - desc + # additionalProperties: false + # required: + # - property + # - order + # additionalProperties: false + # propertiesSettings: + # type: object + # properties: + # hidden: + # type: array + # items: + # type: string + # order: + # type: array + # items: + # type: string + # additionalProperties: false + # additionalProperties: false + # required: + # - type + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - runs-table + # title: + # type: string + # query: + # type: object + # properties: + # entity: + # type: string + # blueprint: + # type: string + # active: + # type: boolean + # user_email: + # type: string + # limit: + # type: number + # minimum: 1 + # maximum: 50 + # external_run_id: + # type: string + # version: + # type: string + # enum: + # - v1 + # - v2 + # additionalProperties: false + # tableConfig: + # type: object + # properties: + # filterSettings: + # type: object + # properties: + # filterBy: + # $ref: '#/components/schemas/def-0' + # additionalProperties: false + # required: + # - filterBy + # groupSettings: + # type: object + # properties: + # groupBy: + # type: array + # items: + # type: string + # additionalProperties: false + # required: + # - groupBy + # sortSettings: + # type: object + # properties: + # sortBy: + # type: array + # items: + # type: object + # properties: + # property: + # type: string + # order: + # enum: + # - asc + # - desc + # additionalProperties: false + # required: + # - property + # - order + # additionalProperties: false + # propertiesSettings: + # type: object + # properties: + # hidden: + # type: array + # items: + # type: string + # order: + # type: array + # items: + # type: string + # additionalProperties: false + # additionalProperties: false + # required: + # - type + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - run-info + # title: + # type: string + # runId: + # type: string + # additionalProperties: false + # required: + # - type + # - runId + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - user-info + # title: + # type: string + # user_email: + # type: string + # additionalProperties: false + # required: + # - type + # - user_email + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - graph-entities-explorer + # title: + # type: string + # dataset: + # $ref: '#/components/schemas/def-0' + # hiddenBlueprints: + # type: array + # items: + # type: string + # additionalProperties: false + # required: + # - type + # - dataset + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # icon: + # type: string + # type: + # enum: + # - entities-pie-chart + # title: + # type: string + # property: + # type: string + # description: + # type: string + # dataset: + # $ref: '#/components/schemas/def-0' + # additionalProperties: false + # required: + # - type + # - dataset + # - property + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # type: string + # enum: + # - entities-number-chart + # dataset: + # type: array + # items: + # anyOf: + # - type: object + # properties: + # property: + # type: string + # operator: + # enum: + # - '>' + # - '>=' + # - < + # - <= + # value: + # type: + # - number + # required: + # - property + # - operator + # - value + # additionalProperties: false + # - type: object + # properties: + # property: + # type: string + # operator: + # enum: + # - between + # - notBetween + # - = + # value: + # type: object + # oneOf: + # - type: object + # properties: + # from: + # type: string + # format: date-time + # to: + # type: string + # format: date-time + # required: + # - from + # - to + # - type: object + # properties: + # preset: + # type: string + # enum: + # - today + # - tomorrow + # - yesterday + # - lastWeek + # - last2Weeks + # - lastMonth + # - last3Months + # - last6Months + # - last12Months + # required: + # - preset + # required: + # - property + # - operator + # - value + # additionalProperties: false + # - type: object + # properties: + # property: + # type: string + # operator: + # enum: + # - = + # - '!=' + # - containsAny + # - contains + # - doesNotContain + # - beginsWith + # - doesNotBeginWith + # - endsWith + # - doesNotEndWith + # - in + # - notIn + # value: + # anyOf: + # - type: 'null' + # - type: string + # - type: number + # - type: boolean + # - type: array + # items: + # type: string + # - type: string + # format: date-time + # additionalProperties: false + # required: + # - property + # - operator + # - value + # - type: object + # properties: + # operator: + # enum: + # - isEmpty + # - isNotEmpty + # property: + # type: string + # required: + # - operator + # - property + # additionalProperties: false + # - type: object + # properties: + # operator: + # enum: + # - relatedTo + # blueprint: + # type: string + # value: + # type: string + # direction: + # enum: + # - upstream + # - downstream + # required: + # type: boolean + # additionalProperties: false + # required: + # - operator + # - value + # - blueprint + # - type: object + # properties: + # propertySchema: + # type: object + # properties: + # type: + # type: string + # format: + # type: string + # required: + # - type + # additionalProperties: false + # operator: + # enum: + # - = + # - '!=' + # value: + # anyOf: + # - type: 'null' + # - type: string + # - type: number + # - type: boolean + # required: + # - operator + # - propertySchema + # additionalProperties: false + # - $ref: '#/components/schemas/def-0' + # title: + # type: string + # icon: + # type: string + # description: + # type: string + # unit: + # type: string + # enum: + # - none + # - $ + # - € + # - £ + # - '%' + # - custom + # unitAlignment: + # type: string + # enum: + # - left + # - right + # calculationBy: + # type: string + # enum: + # - entities + # - property + # required: + # - type + # - dataset + # - unit + # - calculationBy + # allOf: + # - properties: + # property: + # type: string + # func: + # type: string + # enum: + # - sum + # - average + # - min + # - max + # - median + # required: + # - property + # - func + # - properties: + # func: + # type: string + # enum: + # - average + # - count + # required: + # - func + # - properties: + # averageOf: + # type: string + # enum: + # - hour + # - day + # - week + # - month + # - total + # measureTimeBy: + # type: string + # required: + # - averageOf + # - properties: + # unitCustom: + # type: string + # required: + # - unitCustom + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # type: string + # enum: + # - iframe-widget + # title: + # type: string + # icon: + # type: string + # description: + # type: string + # url: + # type: string + # format: url + # urlType: + # type: string + # enum: + # - public + # - protected + # required: + # - type + # - url + # - urlType + # - title + # allOf: + # - properties: + # tokenUrl: + # type: string + # format: url + # authorizationUrl: + # type: string + # format: url + # clientId: + # type: string + # scopes: + # type: array + # items: + # type: string + # required: + # - tokenUrl + # - authorizationUrl + # - clientId + # - scopes + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # type: string + # enum: + # - markdown + # title: + # type: string + # icon: + # type: string + # markdown: + # type: string + # required: + # - type + # - title + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - team-info + # title: + # type: string + # team_name: + # type: string + # additionalProperties: false + # required: + # - type + # - team_name + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # type: string + # enum: + # - recently-viewed-entities + # title: + # type: string + # icon: + # type: string + # required: + # - type + # - title + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # type: string + # enum: + # - recently-used-actions + # title: + # type: string + # icon: + # type: string + # required: + # - type + # - title + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # type: string + # enum: + # - my-entities + # title: + # type: string + # icon: + # type: string + # required: + # - type + # - title + # additionalProperties: false + # required: + # - type + # - layout + # - widgets + # showInSidebar: + # type: boolean + # default: true + # section: + # type: string + # enum: + # - software_catalog + # - organization + # default: software_catalog + # additionalProperties: false + # required: [] + # parameters: + # - schema: + # type: string + # in: path + # name: identifier + # required: true + # security: + # - bearer: + # - 'update:pages' + # responses: + # '200': + # description: Updated successfully + # content: + # application/json: + # schema: + # type: object + # properties: + # ok: + # enum: + # - true + # identifier: + # type: string + # additionalProperties: false + # required: + # - ok + # - identifier + # description: Updated successfully + # delete: + # summary: Delete a page + # tags: + # - Pages + # parameters: + # - schema: + # type: string + # in: path + # name: identifier + # required: true + # security: + # - bearer: + # - 'delete:pages' + # responses: + # '200': + # description: Deleted successfully + # content: + # application/json: + # schema: + # description: Deleted successfully + # type: object + # properties: + # ok: + # enum: + # - true + # additionalProperties: false + # required: + # - ok + # '/v1/pages/{page_identifier}/widgets': + # post: + # summary: Create a widget in a page + # tags: + # - Pages + # requestBody: + # content: + # application/json: + # schema: + # type: object + # properties: + # widget: + # type: object + # anyOf: + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - entity-info + # title: + # type: string + # entity: + # type: string + # hiddenQuery: + # type: array + # items: + # type: string + # blueprint: + # type: string + # additionalProperties: false + # required: + # - type + # - entity + # - blueprint + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - action-runs-table-widget + # icon: + # type: string + # description: + # type: string + # maxLength: 200 + # title: + # type: string + # displayMode: + # type: string + # enum: + # - single + # - widget + # blueprint: + # type: string + # action: + # type: string + # tableConfig: + # type: object + # properties: + # filterSettings: + # type: object + # properties: + # filterBy: + # $ref: '#/components/schemas/def-0' + # additionalProperties: false + # required: + # - filterBy + # groupSettings: + # type: object + # properties: + # groupBy: + # type: array + # items: + # type: string + # additionalProperties: false + # required: + # - groupBy + # sortSettings: + # type: object + # properties: + # sortBy: + # type: array + # items: + # type: object + # properties: + # property: + # type: string + # order: + # enum: + # - asc + # - desc + # additionalProperties: false + # required: + # - property + # - order + # additionalProperties: false + # propertiesSettings: + # type: object + # properties: + # hidden: + # type: array + # items: + # type: string + # order: + # type: array + # items: + # type: string + # additionalProperties: false + # additionalProperties: false + # additionalProperties: false + # required: + # - type + # - action + # - blueprint + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - table-entities-explorer + # icon: + # type: string + # description: + # type: string + # maxLength: 200 + # title: + # type: string + # dataset: + # $ref: '#/components/schemas/def-0' + # excludedFields: + # type: array + # items: + # type: string + # displayMode: + # type: string + # enum: + # - tabs + # - single + # - widget + # blueprintConfig: + # type: object + # propertyNames: + # pattern: '^[A-Za-z0-9@_.:\\/=-]+$' + # additionalProperties: + # type: object + # properties: + # filterSettings: + # type: object + # properties: + # filterBy: + # $ref: '#/components/schemas/def-0' + # additionalProperties: false + # required: + # - filterBy + # groupSettings: + # type: object + # properties: + # groupBy: + # type: array + # items: + # type: string + # additionalProperties: false + # required: + # - groupBy + # sortSettings: + # type: object + # properties: + # sortBy: + # type: array + # items: + # type: object + # properties: + # property: + # type: string + # order: + # enum: + # - asc + # - desc + # additionalProperties: false + # required: + # - property + # - order + # additionalProperties: false + # propertiesSettings: + # type: object + # properties: + # hidden: + # type: array + # items: + # type: string + # order: + # type: array + # items: + # type: string + # additionalProperties: false + # tabIndex: + # type: number + # hidden: + # type: boolean + # title: + # type: string + # maxLength: 20 + # description: + # type: string + # maxLength: 200 + # additionalProperties: false + # additionalProperties: false + # required: + # - type + # - dataset + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - table-entities-explorer-by-direction + # title: + # type: string + # blueprintConfig: + # type: object + # propertyNames: + # pattern: >- + # ^[A-Za-z0-9@_.:\\/=-]*\$(upstream|downstream|custom)(\$[A-Za-z0-9@_.:\\/=-]+)*$ + # additionalProperties: + # type: object + # properties: + # filterSettings: + # type: object + # properties: + # filterBy: + # $ref: '#/components/schemas/def-0' + # additionalProperties: false + # required: + # - filterBy + # groupSettings: + # type: object + # properties: + # groupBy: + # type: array + # items: + # type: string + # additionalProperties: false + # required: + # - groupBy + # sortSettings: + # type: object + # properties: + # sortBy: + # type: array + # items: + # type: object + # properties: + # property: + # type: string + # order: + # enum: + # - asc + # - desc + # additionalProperties: false + # required: + # - property + # - order + # additionalProperties: false + # propertiesSettings: + # type: object + # properties: + # hidden: + # type: array + # items: + # type: string + # order: + # type: array + # items: + # type: string + # additionalProperties: false + # tabIndex: + # type: number + # hidden: + # type: boolean + # title: + # type: string + # maxLength: 20 + # description: + # type: string + # maxLength: 200 + # dataset: + # $ref: '#/components/schemas/def-0' + # targetBlueprint: + # type: string + # relatedProperty: + # type: string + # additionalProperties: false + # additionalProperties: false + # required: + # - type + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - table-audit-log + # title: + # type: string + # description: + # type: string + # query: + # type: object + # properties: + # identifier: + # type: string + # entity: + # type: string + # blueprint: + # type: string + # run_id: + # type: string + # webhookId: + # type: string + # webhookEventId: + # type: string + # origin: + # type: array + # items: + # type: string + # InstallationId: + # type: string + # resources: + # anyOf: + # - type: array + # items: + # enum: + # - blueprint + # - entity + # - run + # - webhook + # - scorecard + # - action + # - type: string + # enum: + # - blueprint + # - entity + # - run + # - webhook + # - scorecard + # - action + # includes: + # type: array + # items: + # enum: + # - action + # - context + # - diff + # - identifier + # - resourceType + # - status + # - trigger + # - additionalData + # - message + # from: + # type: string + # format: date-time + # description: 'ISO format IE 2022-04-23T18:25:43.511Z' + # to: + # type: string + # format: date-time + # description: 'ISO format 2022-04-23T18:25:43.511Z' + # action: + # type: string + # status: + # type: string + # enum: + # - SUCCESS + # - FAILURE + # limit: + # type: number + # additionalProperties: false + # tableConfig: + # type: object + # properties: + # filterSettings: + # type: object + # properties: + # filterBy: + # $ref: '#/components/schemas/def-0' + # additionalProperties: false + # required: + # - filterBy + # groupSettings: + # type: object + # properties: + # groupBy: + # type: array + # items: + # type: string + # additionalProperties: false + # required: + # - groupBy + # sortSettings: + # type: object + # properties: + # sortBy: + # type: array + # items: + # type: object + # properties: + # property: + # type: string + # order: + # enum: + # - asc + # - desc + # additionalProperties: false + # required: + # - property + # - order + # additionalProperties: false + # propertiesSettings: + # type: object + # properties: + # hidden: + # type: array + # items: + # type: string + # order: + # type: array + # items: + # type: string + # additionalProperties: false + # additionalProperties: false + # required: + # - type + # - query + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - users-table + # title: + # type: string + # query: + # type: object + # properties: + # team: + # type: string + # tableConfig: + # type: object + # properties: + # filterSettings: + # type: object + # properties: + # filterBy: + # $ref: '#/components/schemas/def-0' + # additionalProperties: false + # required: + # - filterBy + # groupSettings: + # type: object + # properties: + # groupBy: + # type: array + # items: + # type: string + # additionalProperties: false + # required: + # - groupBy + # sortSettings: + # type: object + # properties: + # sortBy: + # type: array + # items: + # type: object + # properties: + # property: + # type: string + # order: + # enum: + # - asc + # - desc + # additionalProperties: false + # required: + # - property + # - order + # additionalProperties: false + # propertiesSettings: + # type: object + # properties: + # hidden: + # type: array + # items: + # type: string + # order: + # type: array + # items: + # type: string + # additionalProperties: false + # additionalProperties: false + # required: + # - type + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - teams-table + # title: + # type: string + # query: + # type: object + # properties: + # user: + # type: string + # tableConfig: + # type: object + # properties: + # filterSettings: + # type: object + # properties: + # filterBy: + # $ref: '#/components/schemas/def-0' + # additionalProperties: false + # required: + # - filterBy + # groupSettings: + # type: object + # properties: + # groupBy: + # type: array + # items: + # type: string + # additionalProperties: false + # required: + # - groupBy + # sortSettings: + # type: object + # properties: + # sortBy: + # type: array + # items: + # type: object + # properties: + # property: + # type: string + # order: + # enum: + # - asc + # - desc + # additionalProperties: false + # required: + # - property + # - order + # additionalProperties: false + # propertiesSettings: + # type: object + # properties: + # hidden: + # type: array + # items: + # type: string + # order: + # type: array + # items: + # type: string + # additionalProperties: false + # additionalProperties: false + # required: + # - type + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - runs-table + # title: + # type: string + # query: + # type: object + # properties: + # entity: + # type: string + # blueprint: + # type: string + # active: + # type: boolean + # user_email: + # type: string + # limit: + # type: number + # minimum: 1 + # maximum: 50 + # external_run_id: + # type: string + # version: + # type: string + # enum: + # - v1 + # - v2 + # additionalProperties: false + # tableConfig: + # type: object + # properties: + # filterSettings: + # type: object + # properties: + # filterBy: + # $ref: '#/components/schemas/def-0' + # additionalProperties: false + # required: + # - filterBy + # groupSettings: + # type: object + # properties: + # groupBy: + # type: array + # items: + # type: string + # additionalProperties: false + # required: + # - groupBy + # sortSettings: + # type: object + # properties: + # sortBy: + # type: array + # items: + # type: object + # properties: + # property: + # type: string + # order: + # enum: + # - asc + # - desc + # additionalProperties: false + # required: + # - property + # - order + # additionalProperties: false + # propertiesSettings: + # type: object + # properties: + # hidden: + # type: array + # items: + # type: string + # order: + # type: array + # items: + # type: string + # additionalProperties: false + # additionalProperties: false + # required: + # - type + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - run-info + # title: + # type: string + # runId: + # type: string + # additionalProperties: false + # required: + # - type + # - runId + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - user-info + # title: + # type: string + # user_email: + # type: string + # additionalProperties: false + # required: + # - type + # - user_email + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - graph-entities-explorer + # title: + # type: string + # dataset: + # $ref: '#/components/schemas/def-0' + # hiddenBlueprints: + # type: array + # items: + # type: string + # additionalProperties: false + # required: + # - type + # - dataset + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # icon: + # type: string + # type: + # enum: + # - entities-pie-chart + # title: + # type: string + # property: + # type: string + # description: + # type: string + # dataset: + # $ref: '#/components/schemas/def-0' + # additionalProperties: false + # required: + # - type + # - dataset + # - property + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # type: string + # enum: + # - entities-number-chart + # dataset: + # type: array + # items: + # anyOf: + # - type: object + # properties: + # property: + # type: string + # operator: + # enum: + # - '>' + # - '>=' + # - < + # - <= + # value: + # type: + # - number + # required: + # - property + # - operator + # - value + # additionalProperties: false + # - type: object + # properties: + # property: + # type: string + # operator: + # enum: + # - between + # - notBetween + # - = + # value: + # type: object + # oneOf: + # - type: object + # properties: + # from: + # type: string + # format: date-time + # to: + # type: string + # format: date-time + # required: + # - from + # - to + # - type: object + # properties: + # preset: + # type: string + # enum: + # - today + # - tomorrow + # - yesterday + # - lastWeek + # - last2Weeks + # - lastMonth + # - last3Months + # - last6Months + # - last12Months + # required: + # - preset + # required: + # - property + # - operator + # - value + # additionalProperties: false + # - type: object + # properties: + # property: + # type: string + # operator: + # enum: + # - = + # - '!=' + # - containsAny + # - contains + # - doesNotContain + # - beginsWith + # - doesNotBeginWith + # - endsWith + # - doesNotEndWith + # - in + # - notIn + # value: + # anyOf: + # - type: 'null' + # - type: string + # - type: number + # - type: boolean + # - type: array + # items: + # type: string + # - type: string + # format: date-time + # additionalProperties: false + # required: + # - property + # - operator + # - value + # - type: object + # properties: + # operator: + # enum: + # - isEmpty + # - isNotEmpty + # property: + # type: string + # required: + # - operator + # - property + # additionalProperties: false + # - type: object + # properties: + # operator: + # enum: + # - relatedTo + # blueprint: + # type: string + # value: + # type: string + # direction: + # enum: + # - upstream + # - downstream + # required: + # type: boolean + # additionalProperties: false + # required: + # - operator + # - value + # - blueprint + # - type: object + # properties: + # propertySchema: + # type: object + # properties: + # type: + # type: string + # format: + # type: string + # required: + # - type + # additionalProperties: false + # operator: + # enum: + # - = + # - '!=' + # value: + # anyOf: + # - type: 'null' + # - type: string + # - type: number + # - type: boolean + # required: + # - operator + # - propertySchema + # additionalProperties: false + # - $ref: '#/components/schemas/def-0' + # title: + # type: string + # icon: + # type: string + # description: + # type: string + # unit: + # type: string + # enum: + # - none + # - $ + # - € + # - £ + # - '%' + # - custom + # unitAlignment: + # type: string + # enum: + # - left + # - right + # calculationBy: + # type: string + # enum: + # - entities + # - property + # required: + # - type + # - dataset + # - unit + # - calculationBy + # allOf: + # - properties: + # property: + # type: string + # func: + # type: string + # enum: + # - sum + # - average + # - min + # - max + # - median + # required: + # - property + # - func + # - properties: + # func: + # type: string + # enum: + # - average + # - count + # required: + # - func + # - properties: + # averageOf: + # type: string + # enum: + # - hour + # - day + # - week + # - month + # - total + # measureTimeBy: + # type: string + # required: + # - averageOf + # - properties: + # unitCustom: + # type: string + # required: + # - unitCustom + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # type: string + # enum: + # - iframe-widget + # title: + # type: string + # icon: + # type: string + # description: + # type: string + # url: + # type: string + # format: url + # urlType: + # type: string + # enum: + # - public + # - protected + # required: + # - type + # - url + # - urlType + # - title + # allOf: + # - properties: + # tokenUrl: + # type: string + # format: url + # authorizationUrl: + # type: string + # format: url + # clientId: + # type: string + # scopes: + # type: array + # items: + # type: string + # required: + # - tokenUrl + # - authorizationUrl + # - clientId + # - scopes + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # type: string + # enum: + # - markdown + # title: + # type: string + # icon: + # type: string + # markdown: + # type: string + # required: + # - type + # - title + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - team-info + # title: + # type: string + # team_name: + # type: string + # additionalProperties: false + # required: + # - type + # - team_name + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # type: string + # enum: + # - recently-viewed-entities + # title: + # type: string + # icon: + # type: string + # required: + # - type + # - title + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # type: string + # enum: + # - recently-used-actions + # title: + # type: string + # icon: + # type: string + # required: + # - type + # - title + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # type: string + # enum: + # - my-entities + # title: + # type: string + # icon: + # type: string + # required: + # - type + # - title + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # type: string + # enum: + # - grouper + # title: + # type: string + # displayMode: + # type: string + # enum: + # - tabs + # - switch + # activeGroupUrlParam: + # type: string + # groupsOrder: + # type: array + # items: + # type: string + # groups: + # type: array + # items: + # type: object + # properties: + # title: + # type: string + # icon: + # type: string + # widgets: + # type: array + # items: + # anyOf: + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - entity-info + # title: + # type: string + # entity: + # type: string + # hiddenQuery: + # type: array + # items: + # type: string + # blueprint: + # type: string + # additionalProperties: false + # required: + # - type + # - entity + # - blueprint + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - action-runs-table-widget + # icon: + # type: string + # description: + # type: string + # maxLength: 200 + # title: + # type: string + # displayMode: + # type: string + # enum: + # - single + # - widget + # blueprint: + # type: string + # action: + # type: string + # tableConfig: + # type: object + # properties: + # filterSettings: + # type: object + # properties: + # filterBy: + # $ref: '#/components/schemas/def-0' + # additionalProperties: false + # required: + # - filterBy + # groupSettings: + # type: object + # properties: + # groupBy: + # type: array + # items: + # type: string + # additionalProperties: false + # required: + # - groupBy + # sortSettings: + # type: object + # properties: + # sortBy: + # type: array + # items: + # type: object + # properties: + # property: + # type: string + # order: + # enum: + # - asc + # - desc + # additionalProperties: false + # required: + # - property + # - order + # additionalProperties: false + # propertiesSettings: + # type: object + # properties: + # hidden: + # type: array + # items: + # type: string + # order: + # type: array + # items: + # type: string + # additionalProperties: false + # additionalProperties: false + # additionalProperties: false + # required: + # - type + # - action + # - blueprint + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - table-entities-explorer + # icon: + # type: string + # description: + # type: string + # maxLength: 200 + # title: + # type: string + # dataset: + # $ref: '#/components/schemas/def-0' + # excludedFields: + # type: array + # items: + # type: string + # displayMode: + # type: string + # enum: + # - tabs + # - single + # - widget + # blueprintConfig: + # type: object + # propertyNames: + # pattern: '^[A-Za-z0-9@_.:\\/=-]+$' + # additionalProperties: + # type: object + # properties: + # filterSettings: + # type: object + # properties: + # filterBy: + # $ref: '#/components/schemas/def-0' + # additionalProperties: false + # required: + # - filterBy + # groupSettings: + # type: object + # properties: + # groupBy: + # type: array + # items: + # type: string + # additionalProperties: false + # required: + # - groupBy + # sortSettings: + # type: object + # properties: + # sortBy: + # type: array + # items: + # type: object + # properties: + # property: + # type: string + # order: + # enum: + # - asc + # - desc + # additionalProperties: false + # required: + # - property + # - order + # additionalProperties: false + # propertiesSettings: + # type: object + # properties: + # hidden: + # type: array + # items: + # type: string + # order: + # type: array + # items: + # type: string + # additionalProperties: false + # tabIndex: + # type: number + # hidden: + # type: boolean + # title: + # type: string + # maxLength: 20 + # description: + # type: string + # maxLength: 200 + # additionalProperties: false + # additionalProperties: false + # required: + # - type + # - dataset + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - table-entities-explorer-by-direction + # title: + # type: string + # blueprintConfig: + # type: object + # propertyNames: + # pattern: >- + # ^[A-Za-z0-9@_.:\\/=-]*\$(upstream|downstream|custom)(\$[A-Za-z0-9@_.:\\/=-]+)*$ + # additionalProperties: + # type: object + # properties: + # filterSettings: + # type: object + # properties: + # filterBy: + # $ref: '#/components/schemas/def-0' + # additionalProperties: false + # required: + # - filterBy + # groupSettings: + # type: object + # properties: + # groupBy: + # type: array + # items: + # type: string + # additionalProperties: false + # required: + # - groupBy + # sortSettings: + # type: object + # properties: + # sortBy: + # type: array + # items: + # type: object + # properties: + # property: + # type: string + # order: + # enum: + # - asc + # - desc + # additionalProperties: false + # required: + # - property + # - order + # additionalProperties: false + # propertiesSettings: + # type: object + # properties: + # hidden: + # type: array + # items: + # type: string + # order: + # type: array + # items: + # type: string + # additionalProperties: false + # tabIndex: + # type: number + # hidden: + # type: boolean + # title: + # type: string + # maxLength: 20 + # description: + # type: string + # maxLength: 200 + # dataset: + # $ref: '#/components/schemas/def-0' + # targetBlueprint: + # type: string + # relatedProperty: + # type: string + # additionalProperties: false + # additionalProperties: false + # required: + # - type + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - table-audit-log + # title: + # type: string + # description: + # type: string + # query: + # type: object + # properties: + # identifier: + # type: string + # entity: + # type: string + # blueprint: + # type: string + # run_id: + # type: string + # webhookId: + # type: string + # webhookEventId: + # type: string + # origin: + # type: array + # items: + # type: string + # InstallationId: + # type: string + # resources: + # anyOf: + # - type: array + # items: + # enum: + # - blueprint + # - entity + # - run + # - webhook + # - scorecard + # - action + # - type: string + # enum: + # - blueprint + # - entity + # - run + # - webhook + # - scorecard + # - action + # includes: + # type: array + # items: + # enum: + # - action + # - context + # - diff + # - identifier + # - resourceType + # - status + # - trigger + # - additionalData + # - message + # from: + # type: string + # format: date-time + # description: 'ISO format IE 2022-04-23T18:25:43.511Z' + # to: + # type: string + # format: date-time + # description: 'ISO format 2022-04-23T18:25:43.511Z' + # action: + # type: string + # status: + # type: string + # enum: + # - SUCCESS + # - FAILURE + # limit: + # type: number + # additionalProperties: false + # tableConfig: + # type: object + # properties: + # filterSettings: + # type: object + # properties: + # filterBy: + # $ref: '#/components/schemas/def-0' + # additionalProperties: false + # required: + # - filterBy + # groupSettings: + # type: object + # properties: + # groupBy: + # type: array + # items: + # type: string + # additionalProperties: false + # required: + # - groupBy + # sortSettings: + # type: object + # properties: + # sortBy: + # type: array + # items: + # type: object + # properties: + # property: + # type: string + # order: + # enum: + # - asc + # - desc + # additionalProperties: false + # required: + # - property + # - order + # additionalProperties: false + # propertiesSettings: + # type: object + # properties: + # hidden: + # type: array + # items: + # type: string + # order: + # type: array + # items: + # type: string + # additionalProperties: false + # additionalProperties: false + # required: + # - type + # - query + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - users-table + # title: + # type: string + # query: + # type: object + # properties: + # team: + # type: string + # tableConfig: + # type: object + # properties: + # filterSettings: + # type: object + # properties: + # filterBy: + # $ref: '#/components/schemas/def-0' + # additionalProperties: false + # required: + # - filterBy + # groupSettings: + # type: object + # properties: + # groupBy: + # type: array + # items: + # type: string + # additionalProperties: false + # required: + # - groupBy + # sortSettings: + # type: object + # properties: + # sortBy: + # type: array + # items: + # type: object + # properties: + # property: + # type: string + # order: + # enum: + # - asc + # - desc + # additionalProperties: false + # required: + # - property + # - order + # additionalProperties: false + # propertiesSettings: + # type: object + # properties: + # hidden: + # type: array + # items: + # type: string + # order: + # type: array + # items: + # type: string + # additionalProperties: false + # additionalProperties: false + # required: + # - type + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - teams-table + # title: + # type: string + # query: + # type: object + # properties: + # user: + # type: string + # tableConfig: + # type: object + # properties: + # filterSettings: + # type: object + # properties: + # filterBy: + # $ref: '#/components/schemas/def-0' + # additionalProperties: false + # required: + # - filterBy + # groupSettings: + # type: object + # properties: + # groupBy: + # type: array + # items: + # type: string + # additionalProperties: false + # required: + # - groupBy + # sortSettings: + # type: object + # properties: + # sortBy: + # type: array + # items: + # type: object + # properties: + # property: + # type: string + # order: + # enum: + # - asc + # - desc + # additionalProperties: false + # required: + # - property + # - order + # additionalProperties: false + # propertiesSettings: + # type: object + # properties: + # hidden: + # type: array + # items: + # type: string + # order: + # type: array + # items: + # type: string + # additionalProperties: false + # additionalProperties: false + # required: + # - type + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - runs-table + # title: + # type: string + # query: + # type: object + # properties: + # entity: + # type: string + # blueprint: + # type: string + # active: + # type: boolean + # user_email: + # type: string + # limit: + # type: number + # minimum: 1 + # maximum: 50 + # external_run_id: + # type: string + # version: + # type: string + # enum: + # - v1 + # - v2 + # additionalProperties: false + # tableConfig: + # type: object + # properties: + # filterSettings: + # type: object + # properties: + # filterBy: + # $ref: '#/components/schemas/def-0' + # additionalProperties: false + # required: + # - filterBy + # groupSettings: + # type: object + # properties: + # groupBy: + # type: array + # items: + # type: string + # additionalProperties: false + # required: + # - groupBy + # sortSettings: + # type: object + # properties: + # sortBy: + # type: array + # items: + # type: object + # properties: + # property: + # type: string + # order: + # enum: + # - asc + # - desc + # additionalProperties: false + # required: + # - property + # - order + # additionalProperties: false + # propertiesSettings: + # type: object + # properties: + # hidden: + # type: array + # items: + # type: string + # order: + # type: array + # items: + # type: string + # additionalProperties: false + # additionalProperties: false + # required: + # - type + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - run-info + # title: + # type: string + # runId: + # type: string + # additionalProperties: false + # required: + # - type + # - runId + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - user-info + # title: + # type: string + # user_email: + # type: string + # additionalProperties: false + # required: + # - type + # - user_email + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - graph-entities-explorer + # title: + # type: string + # dataset: + # $ref: '#/components/schemas/def-0' + # hiddenBlueprints: + # type: array + # items: + # type: string + # additionalProperties: false + # required: + # - type + # - dataset + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # icon: + # type: string + # type: + # enum: + # - entities-pie-chart + # title: + # type: string + # property: + # type: string + # description: + # type: string + # dataset: + # $ref: '#/components/schemas/def-0' + # additionalProperties: false + # required: + # - type + # - dataset + # - property + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # type: string + # enum: + # - entities-number-chart + # dataset: + # type: array + # items: + # anyOf: + # - type: object + # properties: + # property: + # type: string + # operator: + # enum: + # - '>' + # - '>=' + # - < + # - <= + # value: + # type: + # - number + # required: + # - property + # - operator + # - value + # additionalProperties: false + # - type: object + # properties: + # property: + # type: string + # operator: + # enum: + # - between + # - notBetween + # - = + # value: + # type: object + # oneOf: + # - type: object + # properties: + # from: + # type: string + # format: date-time + # to: + # type: string + # format: date-time + # required: + # - from + # - to + # - type: object + # properties: + # preset: + # type: string + # enum: + # - today + # - tomorrow + # - yesterday + # - lastWeek + # - last2Weeks + # - lastMonth + # - last3Months + # - last6Months + # - last12Months + # required: + # - preset + # required: + # - property + # - operator + # - value + # additionalProperties: false + # - type: object + # properties: + # property: + # type: string + # operator: + # enum: + # - = + # - '!=' + # - containsAny + # - contains + # - doesNotContain + # - beginsWith + # - doesNotBeginWith + # - endsWith + # - doesNotEndWith + # - in + # - notIn + # value: + # anyOf: + # - type: 'null' + # - type: string + # - type: number + # - type: boolean + # - type: array + # items: + # type: string + # - type: string + # format: date-time + # additionalProperties: false + # required: + # - property + # - operator + # - value + # - type: object + # properties: + # operator: + # enum: + # - isEmpty + # - isNotEmpty + # property: + # type: string + # required: + # - operator + # - property + # additionalProperties: false + # - type: object + # properties: + # operator: + # enum: + # - relatedTo + # blueprint: + # type: string + # value: + # type: string + # direction: + # enum: + # - upstream + # - downstream + # required: + # type: boolean + # additionalProperties: false + # required: + # - operator + # - value + # - blueprint + # - type: object + # properties: + # propertySchema: + # type: object + # properties: + # type: + # type: string + # format: + # type: string + # required: + # - type + # additionalProperties: false + # operator: + # enum: + # - = + # - '!=' + # value: + # anyOf: + # - type: 'null' + # - type: string + # - type: number + # - type: boolean + # required: + # - operator + # - propertySchema + # additionalProperties: false + # - $ref: '#/components/schemas/def-0' + # title: + # type: string + # icon: + # type: string + # description: + # type: string + # unit: + # type: string + # enum: + # - none + # - $ + # - € + # - £ + # - '%' + # - custom + # unitAlignment: + # type: string + # enum: + # - left + # - right + # calculationBy: + # type: string + # enum: + # - entities + # - property + # required: + # - type + # - dataset + # - unit + # - calculationBy + # allOf: + # - properties: + # property: + # type: string + # func: + # type: string + # enum: + # - sum + # - average + # - min + # - max + # - median + # required: + # - property + # - func + # - properties: + # func: + # type: string + # enum: + # - average + # - count + # required: + # - func + # - properties: + # averageOf: + # type: string + # enum: + # - hour + # - day + # - week + # - month + # - total + # measureTimeBy: + # type: string + # required: + # - averageOf + # - properties: + # unitCustom: + # type: string + # required: + # - unitCustom + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # type: string + # enum: + # - iframe-widget + # title: + # type: string + # icon: + # type: string + # description: + # type: string + # url: + # type: string + # format: url + # urlType: + # type: string + # enum: + # - public + # - protected + # required: + # - type + # - url + # - urlType + # - title + # allOf: + # - properties: + # tokenUrl: + # type: string + # format: url + # authorizationUrl: + # type: string + # format: url + # clientId: + # type: string + # scopes: + # type: array + # items: + # type: string + # required: + # - tokenUrl + # - authorizationUrl + # - clientId + # - scopes + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # type: string + # enum: + # - markdown + # title: + # type: string + # icon: + # type: string + # markdown: + # type: string + # required: + # - type + # - title + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - team-info + # title: + # type: string + # team_name: + # type: string + # additionalProperties: false + # required: + # - type + # - team_name + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # type: string + # enum: + # - recently-viewed-entities + # title: + # type: string + # icon: + # type: string + # required: + # - type + # - title + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # type: string + # enum: + # - recently-used-actions + # title: + # type: string + # icon: + # type: string + # required: + # - type + # - title + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # type: string + # enum: + # - my-entities + # title: + # type: string + # icon: + # type: string + # required: + # - type + # - title + # additionalProperties: false + # required: + # - title + # - widgets + # additionalProperties: false + # required: + # - type + # - groups + # - displayMode + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # type: string + # enum: + # - dashboard-widget + # layout: + # type: array + # items: + # type: object + # properties: + # height: + # type: number + # columns: + # type: array + # items: + # type: object + # properties: + # size: + # type: number + # id: + # type: string + # additionalProperties: false + # required: + # - size + # - id + # additionalProperties: false + # required: + # - columns + # - height + # widgets: + # type: array + # items: + # type: object + # anyOf: + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - entity-info + # title: + # type: string + # entity: + # type: string + # hiddenQuery: + # type: array + # items: + # type: string + # blueprint: + # type: string + # additionalProperties: false + # required: + # - type + # - entity + # - blueprint + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - action-runs-table-widget + # icon: + # type: string + # description: + # type: string + # maxLength: 200 + # title: + # type: string + # displayMode: + # type: string + # enum: + # - single + # - widget + # blueprint: + # type: string + # action: + # type: string + # tableConfig: + # type: object + # properties: + # filterSettings: + # type: object + # properties: + # filterBy: + # $ref: '#/components/schemas/def-0' + # additionalProperties: false + # required: + # - filterBy + # groupSettings: + # type: object + # properties: + # groupBy: + # type: array + # items: + # type: string + # additionalProperties: false + # required: + # - groupBy + # sortSettings: + # type: object + # properties: + # sortBy: + # type: array + # items: + # type: object + # properties: + # property: + # type: string + # order: + # enum: + # - asc + # - desc + # additionalProperties: false + # required: + # - property + # - order + # additionalProperties: false + # propertiesSettings: + # type: object + # properties: + # hidden: + # type: array + # items: + # type: string + # order: + # type: array + # items: + # type: string + # additionalProperties: false + # additionalProperties: false + # additionalProperties: false + # required: + # - type + # - action + # - blueprint + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - table-entities-explorer + # icon: + # type: string + # description: + # type: string + # maxLength: 200 + # title: + # type: string + # dataset: + # $ref: '#/components/schemas/def-0' + # excludedFields: + # type: array + # items: + # type: string + # displayMode: + # type: string + # enum: + # - tabs + # - single + # - widget + # blueprintConfig: + # type: object + # propertyNames: + # pattern: '^[A-Za-z0-9@_.:\\/=-]+$' + # additionalProperties: + # type: object + # properties: + # filterSettings: + # type: object + # properties: + # filterBy: + # $ref: '#/components/schemas/def-0' + # additionalProperties: false + # required: + # - filterBy + # groupSettings: + # type: object + # properties: + # groupBy: + # type: array + # items: + # type: string + # additionalProperties: false + # required: + # - groupBy + # sortSettings: + # type: object + # properties: + # sortBy: + # type: array + # items: + # type: object + # properties: + # property: + # type: string + # order: + # enum: + # - asc + # - desc + # additionalProperties: false + # required: + # - property + # - order + # additionalProperties: false + # propertiesSettings: + # type: object + # properties: + # hidden: + # type: array + # items: + # type: string + # order: + # type: array + # items: + # type: string + # additionalProperties: false + # tabIndex: + # type: number + # hidden: + # type: boolean + # title: + # type: string + # maxLength: 20 + # description: + # type: string + # maxLength: 200 + # additionalProperties: false + # additionalProperties: false + # required: + # - type + # - dataset + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - table-entities-explorer-by-direction + # title: + # type: string + # blueprintConfig: + # type: object + # propertyNames: + # pattern: >- + # ^[A-Za-z0-9@_.:\\/=-]*\$(upstream|downstream|custom)(\$[A-Za-z0-9@_.:\\/=-]+)*$ + # additionalProperties: + # type: object + # properties: + # filterSettings: + # type: object + # properties: + # filterBy: + # $ref: '#/components/schemas/def-0' + # additionalProperties: false + # required: + # - filterBy + # groupSettings: + # type: object + # properties: + # groupBy: + # type: array + # items: + # type: string + # additionalProperties: false + # required: + # - groupBy + # sortSettings: + # type: object + # properties: + # sortBy: + # type: array + # items: + # type: object + # properties: + # property: + # type: string + # order: + # enum: + # - asc + # - desc + # additionalProperties: false + # required: + # - property + # - order + # additionalProperties: false + # propertiesSettings: + # type: object + # properties: + # hidden: + # type: array + # items: + # type: string + # order: + # type: array + # items: + # type: string + # additionalProperties: false + # tabIndex: + # type: number + # hidden: + # type: boolean + # title: + # type: string + # maxLength: 20 + # description: + # type: string + # maxLength: 200 + # dataset: + # $ref: '#/components/schemas/def-0' + # targetBlueprint: + # type: string + # relatedProperty: + # type: string + # additionalProperties: false + # additionalProperties: false + # required: + # - type + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - table-audit-log + # title: + # type: string + # description: + # type: string + # query: + # type: object + # properties: + # identifier: + # type: string + # entity: + # type: string + # blueprint: + # type: string + # run_id: + # type: string + # webhookId: + # type: string + # webhookEventId: + # type: string + # origin: + # type: array + # items: + # type: string + # InstallationId: + # type: string + # resources: + # anyOf: + # - type: array + # items: + # enum: + # - blueprint + # - entity + # - run + # - webhook + # - scorecard + # - action + # - type: string + # enum: + # - blueprint + # - entity + # - run + # - webhook + # - scorecard + # - action + # includes: + # type: array + # items: + # enum: + # - action + # - context + # - diff + # - identifier + # - resourceType + # - status + # - trigger + # - additionalData + # - message + # from: + # type: string + # format: date-time + # description: 'ISO format IE 2022-04-23T18:25:43.511Z' + # to: + # type: string + # format: date-time + # description: 'ISO format 2022-04-23T18:25:43.511Z' + # action: + # type: string + # status: + # type: string + # enum: + # - SUCCESS + # - FAILURE + # limit: + # type: number + # additionalProperties: false + # tableConfig: + # type: object + # properties: + # filterSettings: + # type: object + # properties: + # filterBy: + # $ref: '#/components/schemas/def-0' + # additionalProperties: false + # required: + # - filterBy + # groupSettings: + # type: object + # properties: + # groupBy: + # type: array + # items: + # type: string + # additionalProperties: false + # required: + # - groupBy + # sortSettings: + # type: object + # properties: + # sortBy: + # type: array + # items: + # type: object + # properties: + # property: + # type: string + # order: + # enum: + # - asc + # - desc + # additionalProperties: false + # required: + # - property + # - order + # additionalProperties: false + # propertiesSettings: + # type: object + # properties: + # hidden: + # type: array + # items: + # type: string + # order: + # type: array + # items: + # type: string + # additionalProperties: false + # additionalProperties: false + # required: + # - type + # - query + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - users-table + # title: + # type: string + # query: + # type: object + # properties: + # team: + # type: string + # tableConfig: + # type: object + # properties: + # filterSettings: + # type: object + # properties: + # filterBy: + # $ref: '#/components/schemas/def-0' + # additionalProperties: false + # required: + # - filterBy + # groupSettings: + # type: object + # properties: + # groupBy: + # type: array + # items: + # type: string + # additionalProperties: false + # required: + # - groupBy + # sortSettings: + # type: object + # properties: + # sortBy: + # type: array + # items: + # type: object + # properties: + # property: + # type: string + # order: + # enum: + # - asc + # - desc + # additionalProperties: false + # required: + # - property + # - order + # additionalProperties: false + # propertiesSettings: + # type: object + # properties: + # hidden: + # type: array + # items: + # type: string + # order: + # type: array + # items: + # type: string + # additionalProperties: false + # additionalProperties: false + # required: + # - type + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - teams-table + # title: + # type: string + # query: + # type: object + # properties: + # user: + # type: string + # tableConfig: + # type: object + # properties: + # filterSettings: + # type: object + # properties: + # filterBy: + # $ref: '#/components/schemas/def-0' + # additionalProperties: false + # required: + # - filterBy + # groupSettings: + # type: object + # properties: + # groupBy: + # type: array + # items: + # type: string + # additionalProperties: false + # required: + # - groupBy + # sortSettings: + # type: object + # properties: + # sortBy: + # type: array + # items: + # type: object + # properties: + # property: + # type: string + # order: + # enum: + # - asc + # - desc + # additionalProperties: false + # required: + # - property + # - order + # additionalProperties: false + # propertiesSettings: + # type: object + # properties: + # hidden: + # type: array + # items: + # type: string + # order: + # type: array + # items: + # type: string + # additionalProperties: false + # additionalProperties: false + # required: + # - type + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - runs-table + # title: + # type: string + # query: + # type: object + # properties: + # entity: + # type: string + # blueprint: + # type: string + # active: + # type: boolean + # user_email: + # type: string + # limit: + # type: number + # minimum: 1 + # maximum: 50 + # external_run_id: + # type: string + # version: + # type: string + # enum: + # - v1 + # - v2 + # additionalProperties: false + # tableConfig: + # type: object + # properties: + # filterSettings: + # type: object + # properties: + # filterBy: + # $ref: '#/components/schemas/def-0' + # additionalProperties: false + # required: + # - filterBy + # groupSettings: + # type: object + # properties: + # groupBy: + # type: array + # items: + # type: string + # additionalProperties: false + # required: + # - groupBy + # sortSettings: + # type: object + # properties: + # sortBy: + # type: array + # items: + # type: object + # properties: + # property: + # type: string + # order: + # enum: + # - asc + # - desc + # additionalProperties: false + # required: + # - property + # - order + # additionalProperties: false + # propertiesSettings: + # type: object + # properties: + # hidden: + # type: array + # items: + # type: string + # order: + # type: array + # items: + # type: string + # additionalProperties: false + # additionalProperties: false + # required: + # - type + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - run-info + # title: + # type: string + # runId: + # type: string + # additionalProperties: false + # required: + # - type + # - runId + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - user-info + # title: + # type: string + # user_email: + # type: string + # additionalProperties: false + # required: + # - type + # - user_email + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - graph-entities-explorer + # title: + # type: string + # dataset: + # $ref: '#/components/schemas/def-0' + # hiddenBlueprints: + # type: array + # items: + # type: string + # additionalProperties: false + # required: + # - type + # - dataset + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # icon: + # type: string + # type: + # enum: + # - entities-pie-chart + # title: + # type: string + # property: + # type: string + # description: + # type: string + # dataset: + # $ref: '#/components/schemas/def-0' + # additionalProperties: false + # required: + # - type + # - dataset + # - property + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # type: string + # enum: + # - entities-number-chart + # dataset: + # type: array + # items: + # anyOf: + # - type: object + # properties: + # property: + # type: string + # operator: + # enum: + # - '>' + # - '>=' + # - < + # - <= + # value: + # type: + # - number + # required: + # - property + # - operator + # - value + # additionalProperties: false + # - type: object + # properties: + # property: + # type: string + # operator: + # enum: + # - between + # - notBetween + # - = + # value: + # type: object + # oneOf: + # - type: object + # properties: + # from: + # type: string + # format: date-time + # to: + # type: string + # format: date-time + # required: + # - from + # - to + # - type: object + # properties: + # preset: + # type: string + # enum: + # - today + # - tomorrow + # - yesterday + # - lastWeek + # - last2Weeks + # - lastMonth + # - last3Months + # - last6Months + # - last12Months + # required: + # - preset + # required: + # - property + # - operator + # - value + # additionalProperties: false + # - type: object + # properties: + # property: + # type: string + # operator: + # enum: + # - = + # - '!=' + # - containsAny + # - contains + # - doesNotContain + # - beginsWith + # - doesNotBeginWith + # - endsWith + # - doesNotEndWith + # - in + # - notIn + # value: + # anyOf: + # - type: 'null' + # - type: string + # - type: number + # - type: boolean + # - type: array + # items: + # type: string + # - type: string + # format: date-time + # additionalProperties: false + # required: + # - property + # - operator + # - value + # - type: object + # properties: + # operator: + # enum: + # - isEmpty + # - isNotEmpty + # property: + # type: string + # required: + # - operator + # - property + # additionalProperties: false + # - type: object + # properties: + # operator: + # enum: + # - relatedTo + # blueprint: + # type: string + # value: + # type: string + # direction: + # enum: + # - upstream + # - downstream + # required: + # type: boolean + # additionalProperties: false + # required: + # - operator + # - value + # - blueprint + # - type: object + # properties: + # propertySchema: + # type: object + # properties: + # type: + # type: string + # format: + # type: string + # required: + # - type + # additionalProperties: false + # operator: + # enum: + # - = + # - '!=' + # value: + # anyOf: + # - type: 'null' + # - type: string + # - type: number + # - type: boolean + # required: + # - operator + # - propertySchema + # additionalProperties: false + # - $ref: '#/components/schemas/def-0' + # title: + # type: string + # icon: + # type: string + # description: + # type: string + # unit: + # type: string + # enum: + # - none + # - $ + # - € + # - £ + # - '%' + # - custom + # unitAlignment: + # type: string + # enum: + # - left + # - right + # calculationBy: + # type: string + # enum: + # - entities + # - property + # required: + # - type + # - dataset + # - unit + # - calculationBy + # allOf: + # - properties: + # property: + # type: string + # func: + # type: string + # enum: + # - sum + # - average + # - min + # - max + # - median + # required: + # - property + # - func + # - properties: + # func: + # type: string + # enum: + # - average + # - count + # required: + # - func + # - properties: + # averageOf: + # type: string + # enum: + # - hour + # - day + # - week + # - month + # - total + # measureTimeBy: + # type: string + # required: + # - averageOf + # - properties: + # unitCustom: + # type: string + # required: + # - unitCustom + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # type: string + # enum: + # - iframe-widget + # title: + # type: string + # icon: + # type: string + # description: + # type: string + # url: + # type: string + # format: url + # urlType: + # type: string + # enum: + # - public + # - protected + # required: + # - type + # - url + # - urlType + # - title + # allOf: + # - properties: + # tokenUrl: + # type: string + # format: url + # authorizationUrl: + # type: string + # format: url + # clientId: + # type: string + # scopes: + # type: array + # items: + # type: string + # required: + # - tokenUrl + # - authorizationUrl + # - clientId + # - scopes + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # type: string + # enum: + # - markdown + # title: + # type: string + # icon: + # type: string + # markdown: + # type: string + # required: + # - type + # - title + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # enum: + # - team-info + # title: + # type: string + # team_name: + # type: string + # additionalProperties: false + # required: + # - type + # - team_name + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # type: string + # enum: + # - recently-viewed-entities + # title: + # type: string + # icon: + # type: string + # required: + # - type + # - title + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # type: string + # enum: + # - recently-used-actions + # title: + # type: string + # icon: + # type: string + # required: + # - type + # - title + # - type: object + # properties: + # id: + # type: string + # updatedAt: + # type: string + # updatedBy: + # type: string + # createdAt: + # type: string + # createdBy: + # type: string + # type: + # type: string + # enum: + # - my-entities + # title: + # type: string + # icon: + # type: string + # required: + # - type + # - title + # additionalProperties: false + # required: + # - type + # - layout + # - widgets + # parentWidgetId: + # type: string + # additionalProperties: false + # required: + # - widget + # - parentWidgetId + # required: true + # parameters: + # - schema: + # type: string + # in: path + # name: page_identifier + # required: true + # security: + # - bearer: + # - 'update:pages' + # responses: + # '201': + # description: Created successfully + # '/v1/pages/{page_identifier}/widgets/{widget_id}': + # patch: + # summary: Change a page's widget + # tags: + # - Pages + # parameters: + # - schema: + # type: string + # in: path + # name: page_identifier + # required: true + # - schema: + # type: string + # in: path + # name: widget_id + # required: true + # security: + # - bearer: + # - 'update:pages' + # responses: + # '200': + # description: Updated successfully + # content: + # application/json: + # schema: + # type: object + # properties: + # ok: + # enum: + # - true + # identifier: + # type: string + # additionalProperties: false + # required: + # - ok + # - identifier + # description: Updated successfully + # delete: + # summary: Delete a page's widget + # tags: + # - Pages + # parameters: + # - schema: + # type: string + # in: path + # name: page_identifier + # required: true + # - schema: + # type: string + # in: path + # name: widget_id + # required: true + # security: + # - bearer: + # - 'delete:pages' + # responses: + # '200': + # description: Deleted successfully + # content: + # application/json: + # schema: + # description: Deleted successfully + # type: object + # properties: + # ok: + # enum: + # - true + # additionalProperties: false + # required: + # - ok + /v1/organization: + get: + summary: Get organization + tags: + - Organization + security: + - bearer: [] + responses: + '200': + description: Default Response + put: + summary: Change an integration + tags: + - Organization + requestBody: + content: + application/json: + schema: + type: object + properties: + name: + type: string + readme: + type: string + pageOrder: + type: array + items: + type: string + additionalProperties: false + required: + - name + required: true + security: + - bearer: + - 'update:organization' + responses: + '200': + description: Updated successfully. + content: + application/json: + schema: + type: object + properties: + ok: + enum: + - true + additionalProperties: false + required: + - ok + description: Updated successfully. + patch: + summary: Patch an organization + tags: + - Organization + requestBody: + content: + application/json: + schema: + type: object + properties: + name: + type: string + additionalProperties: false + required: + - name + required: true + security: + - bearer: + - 'update:organization' + responses: + '200': + description: Updated successfully. + content: + application/json: + schema: + type: object + properties: + ok: + enum: + - true + additionalProperties: false + required: + - ok + description: Updated successfully. + # post: + # summary: Create an organization + # tags: + # - Organization + # requestBody: + # content: + # application/json: + # schema: + # type: object + # properties: + # name: + # type: string + # maxLength: 30 + # minLength: 3 + # pattern: '^[A-Za-z0-9-]*$' + # additionalProperties: false + # required: + # - name + # required: true + # security: + # - bearer: [] + # responses: + # '200': + # description: Default Response + /v1/organization/document: + post: + summary: Create a documentation to the organization + tags: + - Organization + requestBody: + content: + application/json: + schema: + type: object + properties: + appId: + type: string + orgId: + type: string + name: + type: string + additionalProperties: false + required: + - appId + - orgId + required: true + responses: + '200': + description: Default Response + # /v1/integration: + # get: + # summary: Get all integrations + # tags: + # - Integrations + # security: + # - bearer: + # - 'read:integrations' + # responses: + # '200': + # description: Default Response + # post: + # summary: Create an integration + # tags: + # - Integrations + # requestBody: + # content: + # application/json: + # schema: + # type: object + # properties: + # installationId: + # type: string + # minLength: 1 + # title: + # type: string + # version: + # type: string + # installationAppType: + # type: string + # config: + # type: + # - object + # - 'null' + # additionalProperties: true + # properties: + # deleteDependentEntities: + # type: boolean + # createMissingRelatedEntities: + # type: boolean + # resources: + # type: array + # items: + # type: object + # required: + # - kind + # - selector + # - port + # properties: + # kind: + # type: string + # selector: + # type: object + # properties: + # query: + # type: string + # port: + # type: object + # required: + # - entity + # properties: + # entity: + # type: object + # required: + # - mappings + # properties: + # mappings: + # oneOf: + # - type: array + # items: + # type: object + # required: + # - identifier + # - blueprint + # properties: + # identifier: + # type: string + # title: + # type: string + # blueprint: + # type: string + # properties: + # type: object + # additionalProperties: true + # relations: + # type: object + # additionalProperties: true + # - type: object + # required: + # - identifier + # - blueprint + # properties: + # identifier: + # type: string + # title: + # type: string + # blueprint: + # type: string + # properties: + # type: object + # additionalProperties: true + # relations: + # type: object + # additionalProperties: true + # changelogDestination: + # type: object + # properties: + # type: + # type: string + # enum: + # - WEBHOOK + # - KAFKA + # oneOf: + # - type: object + # properties: {} + # additionalProperties: false + # - type: object + # properties: + # type: + # type: string + # enum: + # - KAFKA + # required: + # - type + # additionalProperties: false + # - type: object + # properties: + # type: + # type: string + # enum: + # - WEBHOOK + # agent: + # type: boolean + # url: + # type: string + # format: uri + # required: + # - url + # - type + # additionalProperties: false + # additionalProperties: false + # required: + # - installationId + # required: true + # parameters: + # - schema: + # type: boolean + # default: false + # in: query + # name: upsert + # required: false + # security: + # - bearer: + # - 'create:integrations' + # responses: + # '200': + # description: Default Response + # '/v1/integration/{identifier}': + # get: + # summary: Get an integration + # tags: + # - Integrations + # parameters: + # - schema: + # type: string + # default: installationId + # enum: + # - installationId + # - logIngestId + # in: query + # name: byField + # required: false + # - schema: + # type: string + # in: path + # name: identifier + # required: true + # security: + # - bearer: + # - 'read:integrations' + # responses: + # '200': + # description: Default Response + # patch: + # summary: Patch an integration + # tags: + # - Integrations + # requestBody: + # content: + # application/json: + # schema: + # type: object + # properties: + # title: + # type: string + # version: + # type: string + # installationAppType: + # type: string + # config: + # type: + # - object + # - 'null' + # additionalProperties: true + # properties: + # deleteDependentEntities: + # type: boolean + # createMissingRelatedEntities: + # type: boolean + # resources: + # type: array + # items: + # type: object + # required: + # - kind + # - selector + # - port + # properties: + # kind: + # type: string + # selector: + # type: object + # properties: + # query: + # type: string + # port: + # type: object + # required: + # - entity + # properties: + # entity: + # type: object + # required: + # - mappings + # properties: + # mappings: + # oneOf: + # - type: array + # items: + # type: object + # required: + # - identifier + # - blueprint + # properties: + # identifier: + # type: string + # title: + # type: string + # blueprint: + # type: string + # properties: + # type: object + # additionalProperties: true + # relations: + # type: object + # additionalProperties: true + # - type: object + # required: + # - identifier + # - blueprint + # properties: + # identifier: + # type: string + # title: + # type: string + # blueprint: + # type: string + # properties: + # type: object + # additionalProperties: true + # relations: + # type: object + # additionalProperties: true + # changelogDestination: + # type: object + # properties: + # type: + # type: string + # enum: + # - WEBHOOK + # - KAFKA + # oneOf: + # - type: object + # properties: {} + # additionalProperties: false + # - type: object + # properties: + # type: + # type: string + # enum: + # - KAFKA + # required: + # - type + # additionalProperties: false + # - type: object + # properties: + # type: + # type: string + # enum: + # - WEBHOOK + # agent: + # type: boolean + # url: + # type: string + # format: uri + # required: + # - url + # - type + # additionalProperties: false + # additionalProperties: true + # parameters: + # - schema: + # type: string + # in: path + # name: identifier + # required: true + # security: + # - bearer: + # - 'update:integrations' + # responses: + # '200': + # description: Default Response + # delete: + # summary: Delete an integration + # tags: + # - Integrations + # parameters: + # - schema: + # type: string + # in: path + # name: identifier + # required: true + # security: + # - bearer: + # - 'delete:integrations' + # responses: + # '200': + # description: Default Response + # '/v1/integration/{identifier}/logs': + # get: + # summary: Get audit logs + # tags: + # - Integrations + # parameters: + # - schema: + # type: number + # default: 1 + # minimum: 1 + # nullable: false + # in: query + # name: page + # required: false + # - schema: + # type: number + # default: 100 + # minimum: 0 + # maximum: 300 + # nullable: false + # in: query + # name: per_page + # required: false + # - schema: + # type: string + # in: query + # name: start_date + # required: false + # - schema: + # type: string + # in: query + # name: end_date + # required: false + # - schema: + # type: string + # in: path + # name: identifier + # required: true + # security: + # - bearer: + # - 'read:integrations' + # responses: + # '200': + # description: Default Response + # '/v1/integration/{identifier}/config': + # patch: + # summary: Patch an integration's config + # tags: + # - Integrations + # requestBody: + # content: + # application/json: + # schema: + # type: object + # properties: + # config: + # type: + # - object + # - 'null' + # additionalProperties: true + # properties: + # deleteDependentEntities: + # type: boolean + # createMissingRelatedEntities: + # type: boolean + # resources: + # type: array + # items: + # type: object + # required: + # - kind + # - selector + # - port + # properties: + # kind: + # type: string + # selector: + # type: object + # properties: + # query: + # type: string + # port: + # type: object + # required: + # - entity + # properties: + # entity: + # type: object + # required: + # - mappings + # properties: + # mappings: + # oneOf: + # - type: array + # items: + # type: object + # required: + # - identifier + # - blueprint + # properties: + # identifier: + # type: string + # title: + # type: string + # blueprint: + # type: string + # properties: + # type: object + # additionalProperties: true + # relations: + # type: object + # additionalProperties: true + # - type: object + # required: + # - identifier + # - blueprint + # properties: + # identifier: + # type: string + # title: + # type: string + # blueprint: + # type: string + # properties: + # type: object + # additionalProperties: true + # relations: + # type: object + # additionalProperties: true + # additionalProperties: false + # required: + # - config + # required: true + # parameters: + # - schema: + # type: string + # in: path + # name: identifier + # required: true + # security: + # - bearer: + # - 'update:integrations' + # responses: + # '200': + # description: Default Response + # /v1/data-sources: + # get: + # summary: Get all data sources + # tags: + # - Data Sources + # security: + # - bearer: [] + # responses: + # '200': + # description: Default Response + # /v1/webhooks: + # post: + # summary: Create a webhook + # tags: + # - Webhook + # requestBody: + # content: + # application/json: + # schema: + # type: object + # properties: + # identifier: + # type: string + # maxLength: 30 + # title: + # type: string + # maxLength: 30 + # description: + # type: string + # maxLength: 200 + # icon: + # type: string + # mappings: + # type: array + # items: + # type: object + # properties: + # blueprint: + # type: string + # filter: + # type: string + # itemsToParse: + # type: string + # entity: + # type: object + # properties: + # identifier: + # type: string + # title: + # type: string + # icon: + # type: string + # team: + # type: string + # properties: + # type: object + # propertyNames: + # type: string + # relations: + # type: object + # propertyNames: + # type: string + # additionalProperties: false + # required: + # - identifier + # additionalProperties: false + # required: + # - blueprint + # - entity + # enabled: + # type: boolean + # default: true + # security: + # type: object + # properties: + # secret: + # type: string + # signatureHeaderName: + # type: string + # signatureAlgorithm: + # type: string + # enum: + # - sha1 + # - sha256 + # - plain + # signaturePrefix: + # type: string + # requestIdentifierPath: + # type: string + # additionalProperties: false + # integrationType: + # type: string + # enum: + # - custom + # - template + # additionalProperties: false + # required: + # - title + # - enabled + # required: true + # security: + # - bearer: + # - 'create:integrations' + # responses: + # '200': + # description: Default Response + # get: + # summary: Get all webhooks + # tags: + # - Webhook + # security: + # - bearer: + # - 'read:integrations' + # responses: + # '200': + # description: Default Response + # '/v1/webhooks/{identifier}': + # patch: + # summary: Patch a webhook + # tags: + # - Webhook + # requestBody: + # content: + # application/json: + # schema: + # type: object + # properties: + # identifier: + # type: string + # maxLength: 30 + # title: + # type: string + # maxLength: 30 + # description: + # type: string + # maxLength: 200 + # icon: + # type: string + # mappings: + # type: array + # items: + # type: object + # properties: + # blueprint: + # type: string + # filter: + # type: string + # itemsToParse: + # type: string + # entity: + # type: object + # properties: + # identifier: + # type: string + # title: + # type: string + # icon: + # type: string + # team: + # type: string + # properties: + # type: object + # propertyNames: + # type: string + # relations: + # type: object + # propertyNames: + # type: string + # additionalProperties: false + # required: + # - identifier + # additionalProperties: false + # required: + # - blueprint + # - entity + # enabled: + # type: boolean + # default: true + # security: + # type: object + # properties: + # secret: + # type: string + # signatureHeaderName: + # type: string + # signatureAlgorithm: + # type: string + # enum: + # - sha1 + # - sha256 + # - plain + # signaturePrefix: + # type: string + # requestIdentifierPath: + # type: string + # additionalProperties: false + # integrationType: + # type: string + # enum: + # - custom + # - template + # additionalProperties: false + # parameters: + # - schema: + # type: string + # in: path + # name: identifier + # required: true + # security: + # - bearer: + # - 'update:integrations' + # responses: + # '200': + # description: Default Response + # put: + # summary: Change a webhook + # tags: + # - Webhook + # requestBody: + # content: + # application/json: + # schema: + # type: object + # properties: + # identifier: + # type: string + # maxLength: 30 + # title: + # type: string + # maxLength: 30 + # description: + # type: string + # maxLength: 200 + # icon: + # type: string + # mappings: + # type: array + # items: + # type: object + # properties: + # blueprint: + # type: string + # filter: + # type: string + # itemsToParse: + # type: string + # entity: + # type: object + # properties: + # identifier: + # type: string + # title: + # type: string + # icon: + # type: string + # team: + # type: string + # properties: + # type: object + # propertyNames: + # type: string + # relations: + # type: object + # propertyNames: + # type: string + # additionalProperties: false + # required: + # - identifier + # additionalProperties: false + # required: + # - blueprint + # - entity + # enabled: + # type: boolean + # default: true + # security: + # type: object + # properties: + # secret: + # type: string + # signatureHeaderName: + # type: string + # signatureAlgorithm: + # type: string + # enum: + # - sha1 + # - sha256 + # - plain + # signaturePrefix: + # type: string + # requestIdentifierPath: + # type: string + # additionalProperties: false + # integrationType: + # type: string + # enum: + # - custom + # - template + # additionalProperties: false + # required: + # - title + # - enabled + # required: true + # parameters: + # - schema: + # type: string + # in: path + # name: identifier + # required: true + # security: + # - bearer: + # - 'update:integrations' + # responses: + # '200': + # description: Default Response + # get: + # summary: Get a webhook + # tags: + # - Webhook + # parameters: + # - schema: + # type: string + # in: path + # name: identifier + # required: true + # security: + # - bearer: + # - 'read:integrations' + # responses: + # '200': + # description: Default Response + # delete: + # summary: delete a webhook + # tags: + # - Webhook + # parameters: + # - schema: + # type: string + # in: path + # name: identifier + # required: true + # security: + # - bearer: + # - 'delete:integrations' + # responses: + # '200': + # description: Default Response + # /v1/audit-log: + # get: + # summary: Get audit logs + # tags: + # - Audit + # parameters: + # - schema: + # type: string + # in: query + # name: identifier + # required: false + # - schema: + # type: string + # in: query + # name: entity + # required: false + # - schema: + # type: string + # in: query + # name: blueprint + # required: false + # - schema: + # type: string + # in: query + # name: run_id + # required: false + # - schema: + # type: string + # in: query + # name: webhookId + # required: false + # - schema: + # type: string + # in: query + # name: webhookEventId + # required: false + # - schema: + # type: array + # items: + # type: string + # in: query + # name: origin + # required: false + # - schema: + # type: string + # in: query + # name: InstallationId + # required: false + # - schema: + # anyOf: + # - type: array + # items: + # enum: + # - blueprint + # - entity + # - run + # - webhook + # - scorecard + # - action + # - type: string + # enum: + # - blueprint + # - entity + # - run + # - webhook + # - scorecard + # - action + # in: query + # name: resources + # required: false + # - schema: + # type: array + # items: + # enum: + # - action + # - context + # - diff + # - identifier + # - resourceType + # - status + # - trigger + # - additionalData + # - message + # in: query + # name: includes + # required: false + # - schema: + # type: string + # format: date-time + # in: query + # name: from + # required: false + # description: 'ISO format IE 2022-04-23T18:25:43.511Z' + # - schema: + # type: string + # format: date-time + # in: query + # name: to + # required: false + # description: 'ISO format 2022-04-23T18:25:43.511Z' + # - schema: + # type: string + # in: query + # name: action + # required: false + # - schema: + # type: string + # enum: + # - SUCCESS + # - FAILURE + # in: query + # name: status + # required: false + # - schema: + # type: number + # in: query + # name: limit + # required: false + # security: + # - bearer: + # - 'read:audit-log' + # responses: + # '200': + # description: Default Response + # /v1/teams: + # get: + # summary: Get all teams in organization + # tags: + # - Teams + # parameters: + # - schema: + # type: array + # items: + # enum: + # - id + # - name + # - createdAt + # - updatedAt + # - provider + # - description + # - users.firstName + # - users.lastName + # - users.email + # - users.picture + # - users.status + # in: query + # name: fields + # required: false + # security: + # - bearer: + # - 'read:teams' + # responses: + # '200': + # description: Default Response + # post: + # summary: Create a team + # tags: + # - Teams + # requestBody: + # content: + # application/json: + # schema: + # type: object + # properties: + # name: + # type: string + # pattern: '^[^;#/\?\s][^;#/\?]*[^;#/\?\s]$' + # users: + # type: array + # items: + # type: string + # description: + # type: string + # required: + # - name + # required: true + # security: + # - bearer: + # - 'create:teams' + # responses: + # '200': + # description: Default Response + # '/v1/teams/{name}': + # get: + # summary: Get a team + # tags: + # - Teams + # parameters: + # - schema: + # type: array + # items: + # enum: + # - id + # - name + # - createdAt + # - updatedAt + # - provider + # - description + # - users.firstName + # - users.lastName + # - users.email + # - users.picture + # - users.status + # in: query + # name: fields + # required: false + # - schema: + # type: string + # in: path + # name: name + # required: true + # security: + # - bearer: + # - 'read:teams' + # responses: + # '200': + # description: Default Response + # patch: + # summary: Patch a team + # tags: + # - Teams + # requestBody: + # content: + # application/json: + # schema: + # type: object + # properties: + # name: + # type: string + # users: + # type: array + # items: + # type: string + # description: + # type: + # - string + # - 'null' + # parameters: + # - schema: + # type: string + # in: path + # name: name + # required: true + # security: + # - bearer: + # - 'update:teams' + # responses: + # '200': + # description: Default Response + # put: + # summary: Change a team + # tags: + # - Teams + # requestBody: + # content: + # application/json: + # schema: + # type: object + # properties: + # name: + # type: string + # users: + # type: array + # items: + # type: string + # description: + # type: string + # required: + # - name + # required: true + # parameters: + # - schema: + # type: string + # in: path + # name: name + # required: true + # security: + # - bearer: + # - 'update:teams' + # responses: + # '200': + # description: Default Response + # delete: + # summary: Delete a team + # tags: + # - Teams + # parameters: + # - schema: + # type: string + # in: path + # name: name + # required: true + # security: + # - bearer: + # - 'delete:teams' + # responses: + # '200': + # description: Default Response + # /v1/users: + # get: + # summary: Get all users of organization + # tags: + # - Users + # parameters: + # - schema: + # type: array + # items: + # type: string + # enum: + # - id + # - email + # - firstName + # - lastName + # - phoneNumber + # - picture + # - status + # - providers + # - createdAt + # - updatedAt + # - teams.name + # - teams.provider + # - teams.createdAt + # - teams.updatedAt + # - roles.name + # - roles.description + # - roles.isAdmin + # - roles.protected + # - roles.createdAt + # - roles.updatedAt + # in: query + # name: fields + # required: false + # security: + # - bearer: + # - 'read:users' + # responses: + # '200': + # description: Default Response + # /v1/users/invite: + # post: + # summary: Invite a user to the organization + # tags: + # - Users + # requestBody: + # content: + # application/json: + # schema: + # type: object + # properties: + # invitee: + # type: object + # properties: + # email: + # type: string + # pattern: '^[^;#/\?\s][^;#/\?]*[^;#/\?\s]$' + # roles: + # type: array + # items: + # type: string + # teams: + # type: array + # items: + # type: string + # required: + # - email + # additionalProperties: false + # required: + # - invitee + # required: true + # parameters: + # - schema: + # type: boolean + # default: true + # in: query + # name: notify + # required: false + # security: + # - bearer: + # - 'create:users' + # responses: + # '200': + # description: Default Response + # '/v1/users/{user_email}': + # get: + # summary: Get a user + # tags: + # - Users + # parameters: + # - schema: + # type: string + # in: path + # name: user_email + # required: true + # security: + # - bearer: + # - 'read:users' + # responses: + # '200': + # description: Default Response + # patch: + # summary: Patch a user + # tags: + # - Users + # requestBody: + # content: + # application/json: + # schema: + # type: object + # properties: + # roles: + # type: array + # minItems: 1 + # items: + # type: string + # teams: + # type: array + # items: + # type: string + # additionalProperties: false + # parameters: + # - schema: + # type: string + # in: path + # name: user_email + # required: true + # security: + # - bearer: + # - 'update:users' + # responses: + # '200': + # description: Default Response + # delete: + # summary: Delete a user + # tags: + # - Users + # parameters: + # - schema: + # type: string + # in: path + # name: user_email + # required: true + # security: + # - bearer: + # - 'delete:users' + # responses: + # '200': + # description: Default Response + # /v1/profile: + # patch: + # summary: Patch a user's profile + # tags: + # - Users + # requestBody: + # content: + # application/json: + # schema: + # type: object + # properties: + # firstName: + # type: string + # maxLength: 255 + # lastName: + # type: string + # maxLength: 255 + # picture: + # type: string + # additionalProperties: false + # security: + # - bearer: [] + # responses: + # '200': + # description: Default Response + # get: + # summary: Get user profile + # tags: + # - Users + # security: + # - bearer: [] + # responses: + # '200': + # description: Default Response + # /v1/apps: + # get: + # summary: Get an application + # tags: + # - Apps + # parameters: + # - schema: + # type: array + # items: + # type: string + # enum: + # - id + # - name + # - createdAt + # - updatedAt + # - secret + # - enabled + # in: query + # name: fields + # required: false + # security: + # - bearer: + # - 'read:apps' + # responses: + # '200': + # description: Default Response + # /v1/roles: + # get: + # summary: Get all roles of organization + # tags: + # - Roles + # parameters: + # - schema: + # type: array + # items: + # type: string + # enum: + # - id + # - name + # - description + # - createdAt + # - updatedAt + # in: query + # name: fields + # required: false + # security: + # - bearer: + # - 'read:roles' + # responses: + # '200': + # description: Default Response + # '/v1/blueprints/{blueprint_identifier}/scorecards': + # post: + # summary: Run a blueprints' scoreboards + # operationId: postScorecards + # tags: + # - Scorecards + # requestBody: + # content: + # application/json: + # schema: + # type: object + # properties: + # identifier: + # type: string + # pattern: '^[A-Za-z0-9@_.:\\/=-]+$' + # title: + # type: string + # filter: + # type: object + # properties: + # combinator: + # type: string + # enum: + # - and + # - or + # conditions: + # type: array + # minItems: 1 + # items: + # anyOf: + # - type: object + # properties: + # property: + # type: string + # operator: + # type: string + # enum: + # - = + # - '!=' + # - '>' + # - < + # - '>=' + # - <= + # - contains + # - doesNotContains + # - beginsWith + # - doesNotBeginsWith + # - endsWith + # - doesNotEndsWith + # value: + # oneOf: + # - type: string + # - type: number + # - type: boolean + # required: + # - property + # - operator + # - value + # - type: object + # properties: + # relation: + # type: string + # operator: + # type: string + # enum: + # - = + # - '!=' + # - contains + # - doesNotContains + # - beginsWith + # - doesNotBeginsWith + # - endsWith + # - doesNotEndsWith + # value: + # oneOf: + # - type: string + # - type: number + # - type: boolean + # required: + # - relation + # - operator + # - value + # - type: object + # properties: + # not: + # type: boolean + # property: + # type: string + # operator: + # type: string + # enum: + # - isEmpty + # - isNotEmpty + # required: + # - property + # - operator + # - type: object + # properties: + # not: + # type: boolean + # relation: + # type: string + # operator: + # type: string + # enum: + # - isEmpty + # - isNotEmpty + # required: + # - relation + # - operator + # required: + # - combinator + # - conditions + # rules: + # type: array + # items: + # type: object + # properties: + # identifier: + # type: string + # pattern: '^[A-Za-z0-9@_=\\-]+$' + # title: + # type: string + # description: + # type: string + # level: + # type: string + # enum: + # - Gold + # - Silver + # - Bronze + # query: + # type: object + # properties: + # combinator: + # type: string + # enum: + # - and + # - or + # conditions: + # type: array + # minItems: 1 + # items: + # anyOf: + # - type: object + # properties: + # property: + # type: string + # operator: + # type: string + # enum: + # - = + # - '!=' + # - '>' + # - < + # - '>=' + # - <= + # - contains + # - doesNotContains + # - beginsWith + # - doesNotBeginsWith + # - endsWith + # - doesNotEndsWith + # value: + # oneOf: + # - type: string + # - type: number + # - type: boolean + # required: + # - property + # - operator + # - value + # - type: object + # properties: + # relation: + # type: string + # operator: + # type: string + # enum: + # - = + # - '!=' + # - contains + # - doesNotContains + # - beginsWith + # - doesNotBeginsWith + # - endsWith + # - doesNotEndsWith + # value: + # oneOf: + # - type: string + # - type: number + # - type: boolean + # required: + # - relation + # - operator + # - value + # - type: object + # properties: + # not: + # type: boolean + # property: + # type: string + # operator: + # type: string + # enum: + # - isEmpty + # - isNotEmpty + # required: + # - property + # - operator + # - type: object + # properties: + # not: + # type: boolean + # relation: + # type: string + # operator: + # type: string + # enum: + # - isEmpty + # - isNotEmpty + # required: + # - relation + # - operator + # required: + # - combinator + # - conditions + # required: + # - identifier + # - title + # - level + # - query + # additionalProperties: false + # required: + # - identifier + # - title + # - rules + # required: true + # parameters: + # - schema: + # type: string + # in: path + # name: blueprint_identifier + # required: true + # security: + # - bearer: [] + # responses: + # '200': + # description: Default Response + # text/plain; x-api-version=2.0: + # schema: + # type: string + # '400': + # description: Default12 Response + # put: + # summary: Change a blueprints' scoreboards + # tags: + # - Scorecards + # requestBody: + # content: + # application/json: + # schema: + # type: array + # items: + # type: object + # properties: + # identifier: + # type: string + # pattern: '^[A-Za-z0-9@_.:\\/=-]+$' + # title: + # type: string + # filter: + # type: object + # properties: + # combinator: + # type: string + # enum: + # - and + # - or + # conditions: + # type: array + # minItems: 1 + # items: + # anyOf: + # - type: object + # properties: + # property: + # type: string + # operator: + # type: string + # enum: + # - = + # - '!=' + # - '>' + # - < + # - '>=' + # - <= + # - contains + # - doesNotContains + # - beginsWith + # - doesNotBeginsWith + # - endsWith + # - doesNotEndsWith + # value: + # oneOf: + # - type: string + # - type: number + # - type: boolean + # required: + # - property + # - operator + # - value + # - type: object + # properties: + # relation: + # type: string + # operator: + # type: string + # enum: + # - = + # - '!=' + # - contains + # - doesNotContains + # - beginsWith + # - doesNotBeginsWith + # - endsWith + # - doesNotEndsWith + # value: + # oneOf: + # - type: string + # - type: number + # - type: boolean + # required: + # - relation + # - operator + # - value + # - type: object + # properties: + # not: + # type: boolean + # property: + # type: string + # operator: + # type: string + # enum: + # - isEmpty + # - isNotEmpty + # required: + # - property + # - operator + # - type: object + # properties: + # not: + # type: boolean + # relation: + # type: string + # operator: + # type: string + # enum: + # - isEmpty + # - isNotEmpty + # required: + # - relation + # - operator + # required: + # - combinator + # - conditions + # rules: + # type: array + # items: + # type: object + # properties: + # identifier: + # type: string + # pattern: '^[A-Za-z0-9@_=\\-]+$' + # title: + # type: string + # description: + # type: string + # level: + # type: string + # enum: + # - Gold + # - Silver + # - Bronze + # query: + # type: object + # properties: + # combinator: + # type: string + # enum: + # - and + # - or + # conditions: + # type: array + # minItems: 1 + # items: + # anyOf: + # - type: object + # properties: + # property: + # type: string + # operator: + # type: string + # enum: + # - = + # - '!=' + # - '>' + # - < + # - '>=' + # - <= + # - contains + # - doesNotContains + # - beginsWith + # - doesNotBeginsWith + # - endsWith + # - doesNotEndsWith + # value: + # oneOf: + # - type: string + # - type: number + # - type: boolean + # required: + # - property + # - operator + # - value + # - type: object + # properties: + # relation: + # type: string + # operator: + # type: string + # enum: + # - = + # - '!=' + # - contains + # - doesNotContains + # - beginsWith + # - doesNotBeginsWith + # - endsWith + # - doesNotEndsWith + # value: + # oneOf: + # - type: string + # - type: number + # - type: boolean + # required: + # - relation + # - operator + # - value + # - type: object + # properties: + # not: + # type: boolean + # property: + # type: string + # operator: + # type: string + # enum: + # - isEmpty + # - isNotEmpty + # required: + # - property + # - operator + # - type: object + # properties: + # not: + # type: boolean + # relation: + # type: string + # operator: + # type: string + # enum: + # - isEmpty + # - isNotEmpty + # required: + # - relation + # - operator + # required: + # - combinator + # - conditions + # required: + # - identifier + # - title + # - level + # - query + # id: + # type: string + # additionalProperties: false + # required: + # - identifier + # - title + # - rules + # parameters: + # - schema: + # type: string + # in: path + # name: blueprint_identifier + # required: true + # security: + # - bearer: [] + # responses: + # '200': + # description: Default Response + # get: + # summary: Get a blueprints' scoreboards + # tags: + # - Scorecards + # parameters: + # - schema: + # type: string + # in: path + # name: blueprint_identifier + # required: true + # security: + # - bearer: + # - 'read:scorecards' + # responses: + # '200': + # description: Default Response + # '/v1/blueprints/{blueprint_identifier}/scorecards/{scorecard_identifier}': + # put: + # summary: Change a blueprint's scoreboard + # tags: + # - Scorecards + # requestBody: + # content: + # application/json: + # schema: + # type: object + # properties: + # identifier: + # type: string + # pattern: '^[A-Za-z0-9@_.:\\/=-]+$' + # title: + # type: string + # filter: + # type: object + # properties: + # combinator: + # type: string + # enum: + # - and + # - or + # conditions: + # type: array + # minItems: 1 + # items: + # anyOf: + # - type: object + # properties: + # property: + # type: string + # operator: + # type: string + # enum: + # - = + # - '!=' + # - '>' + # - < + # - '>=' + # - <= + # - contains + # - doesNotContains + # - beginsWith + # - doesNotBeginsWith + # - endsWith + # - doesNotEndsWith + # value: + # oneOf: + # - type: string + # - type: number + # - type: boolean + # required: + # - property + # - operator + # - value + # - type: object + # properties: + # relation: + # type: string + # operator: + # type: string + # enum: + # - = + # - '!=' + # - contains + # - doesNotContains + # - beginsWith + # - doesNotBeginsWith + # - endsWith + # - doesNotEndsWith + # value: + # oneOf: + # - type: string + # - type: number + # - type: boolean + # required: + # - relation + # - operator + # - value + # - type: object + # properties: + # not: + # type: boolean + # property: + # type: string + # operator: + # type: string + # enum: + # - isEmpty + # - isNotEmpty + # required: + # - property + # - operator + # - type: object + # properties: + # not: + # type: boolean + # relation: + # type: string + # operator: + # type: string + # enum: + # - isEmpty + # - isNotEmpty + # required: + # - relation + # - operator + # required: + # - combinator + # - conditions + # rules: + # type: array + # items: + # type: object + # properties: + # identifier: + # type: string + # pattern: '^[A-Za-z0-9@_=\\-]+$' + # title: + # type: string + # description: + # type: string + # level: + # type: string + # enum: + # - Gold + # - Silver + # - Bronze + # query: + # type: object + # properties: + # combinator: + # type: string + # enum: + # - and + # - or + # conditions: + # type: array + # minItems: 1 + # items: + # anyOf: + # - type: object + # properties: + # property: + # type: string + # operator: + # type: string + # enum: + # - = + # - '!=' + # - '>' + # - < + # - '>=' + # - <= + # - contains + # - doesNotContains + # - beginsWith + # - doesNotBeginsWith + # - endsWith + # - doesNotEndsWith + # value: + # oneOf: + # - type: string + # - type: number + # - type: boolean + # required: + # - property + # - operator + # - value + # - type: object + # properties: + # relation: + # type: string + # operator: + # type: string + # enum: + # - = + # - '!=' + # - contains + # - doesNotContains + # - beginsWith + # - doesNotBeginsWith + # - endsWith + # - doesNotEndsWith + # value: + # oneOf: + # - type: string + # - type: number + # - type: boolean + # required: + # - relation + # - operator + # - value + # - type: object + # properties: + # not: + # type: boolean + # property: + # type: string + # operator: + # type: string + # enum: + # - isEmpty + # - isNotEmpty + # required: + # - property + # - operator + # - type: object + # properties: + # not: + # type: boolean + # relation: + # type: string + # operator: + # type: string + # enum: + # - isEmpty + # - isNotEmpty + # required: + # - relation + # - operator + # required: + # - combinator + # - conditions + # required: + # - identifier + # - title + # - level + # - query + # additionalProperties: false + # required: + # - identifier + # - title + # - rules + # required: true + # parameters: + # - schema: + # type: string + # in: path + # name: scorecard_identifier + # required: true + # - schema: + # type: string + # in: path + # name: blueprint_identifier + # required: true + # security: + # - bearer: [] + # responses: + # '200': + # description: Default Response + # get: + # summary: Get a blueprint's scoreboard + # tags: + # - Scorecards + # parameters: + # - schema: + # type: string + # in: path + # name: scorecard_identifier + # required: true + # - schema: + # type: string + # in: path + # name: blueprint_identifier + # required: true + # security: + # - bearer: + # - 'read:scorecards' + # responses: + # '200': + # description: Default Response + # delete: + # summary: Delete a blueprint's scoreboard + # tags: + # - Scorecards + # parameters: + # - schema: + # type: string + # in: path + # name: scorecard_identifier + # required: true + # - schema: + # type: string + # in: path + # name: blueprint_identifier + # required: true + # security: + # - bearer: [] + # responses: + # '200': + # description: Default Response + # /v1/scorecards: + # get: + # summary: Get all scoreboards + # tags: + # - Scorecards + # security: + # - bearer: + # - 'read:scorecards' + # responses: + # '200': + # description: Default Response + /v1/migrations: + get: + summary: Get all migrations + tags: + - Migrations + parameters: + - schema: + type: array + items: + type: string + enum: + - COMPLETED + - RUNNING + - PENDING + - INITIALIZING + - FAILURE + - CANCELLED + - PENDING_CANCELLATION + in: query + name: status + required: false + - schema: + type: string + in: query + name: actor + required: false + - schema: + type: string + in: query + name: blueprint + required: false + security: + - bearer: + - 'read:blueprints' + responses: + '200': + description: Default Response + post: + summary: Create a migration + tags: + - Migrations + requestBody: + content: + application/json: + schema: + type: object + properties: + sourceBlueprint: + type: string + mapping: + type: object + properties: + blueprint: + type: string + filter: + type: string + itemsToParse: + type: string + entity: + type: object + properties: + identifier: + type: string + title: + type: string + icon: + type: string + team: + type: string + properties: + type: object + additionalProperties: + type: string + relations: + type: object + additionalProperties: + type: string + required: + - entity + required: + - sourceBlueprint + - mapping + additionalProperties: false + required: true + security: + - bearer: [] + responses: + '200': + description: Default Response + '/v1/migrations/{migration_id}': + get: + summary: Get a migration + tags: + - Migrations + parameters: + - schema: + type: string + in: path + name: migration_id + required: true + security: + - bearer: + - 'read:blueprints' + responses: + '200': + description: Default Response + '/v1/migrations/{migration_id}/cancel': + post: + summary: Cancel a migration + tags: + - Migrations + requestBody: + content: + application/json: + schema: + type: object + properties: + reason: + type: string + additionalProperties: false + parameters: + - schema: + type: string + in: path + name: migration_id + required: true + security: + - bearer: [] + responses: + '200': + description: Default Response + # /v1/search: + # get: + # summary: Search entities + # tags: + # - Search + # parameters: + # - schema: + # type: string + # enum: + # - properties + # in: query + # name: index + # required: false + # - schema: + # type: string + # in: query + # name: q + # required: false + # - schema: + # type: number + # maximum: 100 + # in: query + # name: size + # required: false + # security: + # - bearer: + # - 'read:entities' + # responses: + # '200': + # description: Default Response + # '/v1/blueprints/{blueprint_identifier}/actions/{action_identifier}/permissions': + # get: + # summary: Get an Action + # tags: + # - Actions + # parameters: + # - schema: + # type: string + # in: path + # name: action_identifier + # required: true + # - schema: + # type: string + # in: path + # name: blueprint_identifier + # required: true + # security: + # - bearer: + # - 'read:blueprints' + # responses: + # '200': + # description: Default Response + # patch: + # summary: Patch blueprint's action permissions + # tags: + # - Actions + # requestBody: + # content: + # application/json: + # schema: + # type: object + # properties: + # execute: + # type: object + # properties: + # users: + # type: array + # items: + # type: string + # roles: + # type: array + # items: + # type: string + # teams: + # type: array + # items: + # type: string + # ownedByTeam: + # type: boolean + # policy: + # type: + # - object + # - 'null' + # properties: + # queries: + # type: object + # minProperties: 1 + # additionalProperties: + # $ref: '#/components/schemas/def-0' + # conditions: + # type: array + # items: + # type: string + # minLength: 1 + # minItems: 1 + # required: + # - queries + # - conditions + # additionalProperties: false + # additionalProperties: false + # approve: + # type: object + # properties: + # users: + # type: array + # items: + # type: string + # roles: + # type: array + # items: + # type: string + # teams: + # type: array + # items: + # type: string + # policy: + # type: + # - object + # - 'null' + # properties: + # queries: + # type: object + # minProperties: 1 + # additionalProperties: + # $ref: '#/components/schemas/def-0' + # conditions: + # type: array + # items: + # type: string + # minLength: 1 + # minItems: 1 + # required: + # - queries + # - conditions + # additionalProperties: false + # additionalProperties: false + # additionalProperties: false + # parameters: + # - schema: + # type: string + # in: path + # name: action_identifier + # required: true + # - schema: + # type: string + # in: path + # name: blueprint_identifier + # required: true + # security: + # - bearer: [] + # responses: + # '200': + # description: Default Response + # '/v1/sidebars/{identifier}': + # get: + # summary: Get a sidebar + # tags: + # - Sidebars + # parameters: + # - schema: + # type: string + # in: path + # name: identifier + # required: true + # security: + # - bearer: [] + # responses: + # '200': + # description: Default Response + # '/v1/sidebars/{sidebar_identifier}/folders': + # post: + # summary: Create a folder + # tags: + # - Sidebars + # requestBody: + # content: + # application/json: + # schema: + # type: object + # properties: + # identifier: + # type: string + # pattern: '^[A-Za-z0-9@_=\\-]+$' + # minLength: 1 + # title: + # type: string + # parent: + # type: string + # nullable: true + # after: + # type: string + # nullable: true + # additionalProperties: false + # required: + # - identifier + # - title + # required: true + # parameters: + # - schema: + # type: string + # enum: + # - catalog + # in: path + # name: sidebar_identifier + # required: true + # security: + # - bearer: + # - 'create:pages' + # responses: + # '200': + # description: Default Response + # '/v1/sidebars/{sidebar_identifier}/folders/{folder_identifier}': + # patch: + # summary: Update a folder + # tags: + # - Sidebars + # requestBody: + # content: + # application/json: + # schema: + # type: object + # properties: + # identifier: + # type: string + # pattern: '^[A-Za-z0-9@_=\\-]+$' + # minLength: 1 + # title: + # type: string + # parent: + # type: string + # nullable: true + # after: + # type: string + # nullable: true + # additionalProperties: false + # parameters: + # - schema: + # type: string + # enum: + # - catalog + # in: path + # name: sidebar_identifier + # required: true + # - schema: + # type: string + # in: path + # name: folder_identifier + # required: true + # security: + # - bearer: + # - 'update:pages' + # responses: + # '200': + # description: Default Response + # delete: + # summary: Delete a folder + # tags: + # - Sidebars + # parameters: + # - schema: + # type: string + # enum: + # - catalog + # in: path + # name: sidebar_identifier + # required: true + # - schema: + # type: string + # in: path + # name: folder_identifier + # required: true + # security: + # - bearer: + # - 'delete:pages' + # responses: + # '200': + # description: Default Response diff --git a/static/spectmp.yaml b/static/spectmp.yaml new file mode 100644 index 000000000..bae5ae014 --- /dev/null +++ b/static/spectmp.yaml @@ -0,0 +1,8804 @@ +openapi: 3.0.1 +info: + title: Port API + version: '1.0' +servers: + - url: https://api.getport.io +components: + securitySchemes: + bearer: + type: apiKey + name: Authorization + in: header + schemas: + def-0: + type: object + properties: + combinator: + enum: + - and + - or + rules: + type: array + items: + anyOf: + - type: object + title: Number rule + properties: + property: + type: string + operator: + enum: + - '>' + - '>=' + - < + - <= + value: + type: + - number + required: + - property + - operator + - value + additionalProperties: false + - type: object + title: Date rule + properties: + property: + type: string + operator: + enum: + - between + - notBetween + - = + value: + type: object + oneOf: + - type: object + title: Date range + properties: + from: + type: string + format: date-time + to: + type: string + format: date-time + required: + - from + - to + - type: object + title: Date preset + properties: + preset: + type: string + enum: + - today + - tomorrow + - yesterday + - lastWeek + - last2Weeks + - lastMonth + - last3Months + - last6Months + - last12Months + required: + - preset + required: + - property + - operator + - value + additionalProperties: false + - type: object + title: String rule + properties: + property: + type: string + operator: + enum: + - = + - '!=' + - containsAny + - contains + - doesNotContain + - beginsWith + - doesNotBeginWith + - endsWith + - doesNotEndWith + - in + - notIn + value: + anyOf: + # - type: 'null' + - type: string + title: string + - type: number + title: number + - type: boolean + title: boolean + - type: array + title: array + items: + type: string + - type: string + title: date-time + format: date-time + additionalProperties: false + required: + - property + - operator + - value + - type: object + title: Empty rule + properties: + operator: + enum: + - isEmpty + - isNotEmpty + property: + type: string + required: + - operator + - property + additionalProperties: false + - type: object + title: Relation rule + properties: + operator: + enum: + - relatedTo + blueprint: + type: string + value: + type: string + direction: + enum: + - upstream + - downstream + required: + type: boolean + additionalProperties: false + required: + - operator + - value + - blueprint + - type: object + title: Property rule + properties: + propertySchema: + type: object + properties: + type: + type: string + format: + type: string + required: + - type + additionalProperties: false + operator: + enum: + - = + - '!=' + value: + anyOf: + # - type: 'null' + - type: string + title: string + - type: number + title: number + - type: boolean + title: boolean + required: + - operator + - propertySchema + additionalProperties: false + - $ref: '#/components/schemas/def-0' + required: + - combinator + - rules + additionalProperties: false + title: /schemas/entitiesQuery + def-1: + type: object + properties: + id: + type: string + updatedAt: + type: string + updatedBy: + type: string + createdAt: + type: string + createdBy: + type: string + type: + type: string + enum: + - dashboard-widget + layout: + type: array + items: + type: object + properties: + height: + type: number + columns: + type: array + items: + type: object + properties: + size: + type: number + id: + type: string + additionalProperties: false + required: + - size + - id + additionalProperties: false + required: + - columns + - height + widgets: + type: array + items: + type: object + anyOf: + - type: object + properties: + id: + type: string + updatedAt: + type: string + updatedBy: + type: string + createdAt: + type: string + createdBy: + type: string + type: + enum: + - entity-info + title: + type: string + entity: + type: string + hiddenQuery: + type: array + items: + type: string + blueprint: + type: string + additionalProperties: false + required: + - type + - entity + - blueprint + - type: object + properties: + id: + type: string + updatedAt: + type: string + updatedBy: + type: string + createdAt: + type: string + createdBy: + type: string + type: + enum: + - action-runs-table-widget + icon: + type: string + description: + type: string + maxLength: 200 + title: + type: string + displayMode: + type: string + enum: + - single + - widget + blueprint: + type: string + action: + type: string + tableConfig: + type: object + properties: + filterSettings: + type: object + properties: + filterBy: + $ref: '#/components/schemas/def-0' + additionalProperties: false + required: + - filterBy + groupSettings: + type: object + properties: + groupBy: + type: array + items: + type: string + additionalProperties: false + required: + - groupBy + sortSettings: + type: object + properties: + sortBy: + type: array + items: + type: object + properties: + property: + type: string + order: + enum: + - asc + - desc + additionalProperties: false + required: + - property + - order + additionalProperties: false + propertiesSettings: + type: object + properties: + hidden: + type: array + items: + type: string + order: + type: array + items: + type: string + additionalProperties: false + additionalProperties: false + additionalProperties: false + required: + - type + - action + - blueprint + - type: object + properties: + id: + type: string + updatedAt: + type: string + updatedBy: + type: string + createdAt: + type: string + createdBy: + type: string + type: + enum: + - table-entities-explorer + icon: + type: string + description: + type: string + maxLength: 200 + title: + type: string + dataset: + $ref: '#/components/schemas/def-0' + excludedFields: + type: array + items: + type: string + displayMode: + type: string + enum: + - tabs + - single + - widget + blueprintConfig: + type: object + propertyNames: + pattern: '^[A-Za-z0-9@_.:\\/=-]+$' + additionalProperties: + type: object + properties: + filterSettings: + type: object + properties: + filterBy: + $ref: '#/components/schemas/def-0' + additionalProperties: false + required: + - filterBy + groupSettings: + type: object + properties: + groupBy: + type: array + items: + type: string + additionalProperties: false + required: + - groupBy + sortSettings: + type: object + properties: + sortBy: + type: array + items: + type: object + properties: + property: + type: string + order: + enum: + - asc + - desc + additionalProperties: false + required: + - property + - order + additionalProperties: false + propertiesSettings: + type: object + properties: + hidden: + type: array + items: + type: string + order: + type: array + items: + type: string + additionalProperties: false + tabIndex: + type: number + hidden: + type: boolean + title: + type: string + maxLength: 20 + description: + type: string + maxLength: 200 + additionalProperties: false + additionalProperties: false + required: + - type + - dataset + - type: object + properties: + id: + type: string + updatedAt: + type: string + updatedBy: + type: string + createdAt: + type: string + createdBy: + type: string + type: + enum: + - table-entities-explorer-by-direction + title: + type: string + blueprintConfig: + type: object + propertyNames: + pattern: >- + ^[A-Za-z0-9@_.:\\/=-]*\$(upstream|downstream|custom)(\$[A-Za-z0-9@_.:\\/=-]+)*$ + additionalProperties: + type: object + properties: + filterSettings: + type: object + properties: + filterBy: + $ref: '#/components/schemas/def-0' + additionalProperties: false + required: + - filterBy + groupSettings: + type: object + properties: + groupBy: + type: array + items: + type: string + additionalProperties: false + required: + - groupBy + sortSettings: + type: object + properties: + sortBy: + type: array + items: + type: object + properties: + property: + type: string + order: + enum: + - asc + - desc + additionalProperties: false + required: + - property + - order + additionalProperties: false + propertiesSettings: + type: object + properties: + hidden: + type: array + items: + type: string + order: + type: array + items: + type: string + additionalProperties: false + tabIndex: + type: number + hidden: + type: boolean + title: + type: string + maxLength: 20 + description: + type: string + maxLength: 200 + dataset: + $ref: '#/components/schemas/def-0' + targetBlueprint: + type: string + relatedProperty: + type: string + additionalProperties: false + additionalProperties: false + required: + - type + - type: object + properties: + id: + type: string + updatedAt: + type: string + updatedBy: + type: string + createdAt: + type: string + createdBy: + type: string + type: + enum: + - table-audit-log + title: + type: string + description: + type: string + query: + type: object + properties: + identifier: + type: string + entity: + type: string + blueprint: + type: string + run_id: + type: string + webhookId: + type: string + webhookEventId: + type: string + origin: + type: array + items: + type: string + InstallationId: + type: string + resources: + anyOf: + - type: array + items: + enum: + - blueprint + - entity + - run + - webhook + - scorecard + - action + - type: string + enum: + - blueprint + - entity + - run + - webhook + - scorecard + - action + includes: + type: array + items: + enum: + - action + - context + - diff + - identifier + - resourceType + - status + - trigger + - additionalData + - message + from: + type: string + format: date-time + description: 'ISO format IE 2022-04-23T18:25:43.511Z' + to: + type: string + format: date-time + description: 'ISO format 2022-04-23T18:25:43.511Z' + action: + type: string + status: + type: string + enum: + - SUCCESS + - FAILURE + limit: + type: number + additionalProperties: false + tableConfig: + type: object + properties: + filterSettings: + type: object + properties: + filterBy: + $ref: '#/components/schemas/def-0' + additionalProperties: false + required: + - filterBy + groupSettings: + type: object + properties: + groupBy: + type: array + items: + type: string + additionalProperties: false + required: + - groupBy + sortSettings: + type: object + properties: + sortBy: + type: array + items: + type: object + properties: + property: + type: string + order: + enum: + - asc + - desc + additionalProperties: false + required: + - property + - order + additionalProperties: false + propertiesSettings: + type: object + properties: + hidden: + type: array + items: + type: string + order: + type: array + items: + type: string + additionalProperties: false + additionalProperties: false + required: + - type + - query + - type: object + properties: + id: + type: string + updatedAt: + type: string + updatedBy: + type: string + createdAt: + type: string + createdBy: + type: string + type: + enum: + - users-table + title: + type: string + query: + type: object + properties: + team: + type: string + tableConfig: + type: object + properties: + filterSettings: + type: object + properties: + filterBy: + $ref: '#/components/schemas/def-0' + additionalProperties: false + required: + - filterBy + groupSettings: + type: object + properties: + groupBy: + type: array + items: + type: string + additionalProperties: false + required: + - groupBy + sortSettings: + type: object + properties: + sortBy: + type: array + items: + type: object + properties: + property: + type: string + order: + enum: + - asc + - desc + additionalProperties: false + required: + - property + - order + additionalProperties: false + propertiesSettings: + type: object + properties: + hidden: + type: array + items: + type: string + order: + type: array + items: + type: string + additionalProperties: false + additionalProperties: false + required: + - type + - type: object + properties: + id: + type: string + updatedAt: + type: string + updatedBy: + type: string + createdAt: + type: string + createdBy: + type: string + type: + enum: + - teams-table + title: + type: string + query: + type: object + properties: + user: + type: string + tableConfig: + type: object + properties: + filterSettings: + type: object + properties: + filterBy: + $ref: '#/components/schemas/def-0' + additionalProperties: false + required: + - filterBy + groupSettings: + type: object + properties: + groupBy: + type: array + items: + type: string + additionalProperties: false + required: + - groupBy + sortSettings: + type: object + properties: + sortBy: + type: array + items: + type: object + properties: + property: + type: string + order: + enum: + - asc + - desc + additionalProperties: false + required: + - property + - order + additionalProperties: false + propertiesSettings: + type: object + properties: + hidden: + type: array + items: + type: string + order: + type: array + items: + type: string + additionalProperties: false + additionalProperties: false + required: + - type + - type: object + properties: + id: + type: string + updatedAt: + type: string + updatedBy: + type: string + createdAt: + type: string + createdBy: + type: string + type: + enum: + - runs-table + title: + type: string + query: + type: object + properties: + entity: + type: string + blueprint: + type: string + active: + type: boolean + user_email: + type: string + limit: + type: number + minimum: 1 + maximum: 50 + external_run_id: + type: string + version: + type: string + enum: + - v1 + - v2 + additionalProperties: false + tableConfig: + type: object + properties: + filterSettings: + type: object + properties: + filterBy: + $ref: '#/components/schemas/def-0' + additionalProperties: false + required: + - filterBy + groupSettings: + type: object + properties: + groupBy: + type: array + items: + type: string + additionalProperties: false + required: + - groupBy + sortSettings: + type: object + properties: + sortBy: + type: array + items: + type: object + properties: + property: + type: string + order: + enum: + - asc + - desc + additionalProperties: false + required: + - property + - order + additionalProperties: false + propertiesSettings: + type: object + properties: + hidden: + type: array + items: + type: string + order: + type: array + items: + type: string + additionalProperties: false + additionalProperties: false + required: + - type + - type: object + properties: + id: + type: string + updatedAt: + type: string + updatedBy: + type: string + createdAt: + type: string + createdBy: + type: string + type: + enum: + - run-info + title: + type: string + runId: + type: string + additionalProperties: false + required: + - type + - runId + - type: object + properties: + id: + type: string + updatedAt: + type: string + updatedBy: + type: string + createdAt: + type: string + createdBy: + type: string + type: + enum: + - user-info + title: + type: string + user_email: + type: string + additionalProperties: false + required: + - type + - user_email + - type: object + properties: + id: + type: string + updatedAt: + type: string + updatedBy: + type: string + createdAt: + type: string + createdBy: + type: string + type: + enum: + - graph-entities-explorer + title: + type: string + dataset: + $ref: '#/components/schemas/def-0' + hiddenBlueprints: + type: array + items: + type: string + additionalProperties: false + required: + - type + - dataset + - type: object + properties: + id: + type: string + updatedAt: + type: string + updatedBy: + type: string + createdAt: + type: string + createdBy: + type: string + icon: + type: string + type: + enum: + - entities-pie-chart + title: + type: string + property: + type: string + description: + type: string + dataset: + $ref: '#/components/schemas/def-0' + additionalProperties: false + required: + - type + - dataset + - property + - type: object + properties: + id: + type: string + updatedAt: + type: string + updatedBy: + type: string + createdAt: + type: string + createdBy: + type: string + type: + type: string + enum: + - entities-number-chart + dataset: + type: array + items: + anyOf: + - type: object + properties: + property: + type: string + operator: + enum: + - '>' + - '>=' + - < + - <= + value: + type: + - number + required: + - property + - operator + - value + additionalProperties: false + - type: object + properties: + property: + type: string + operator: + enum: + - between + - notBetween + - = + value: + type: object + oneOf: + - type: object + properties: + from: + type: string + format: date-time + to: + type: string + format: date-time + required: + - from + - to + - type: object + properties: + preset: + type: string + enum: + - today + - tomorrow + - yesterday + - lastWeek + - last2Weeks + - lastMonth + - last3Months + - last6Months + - last12Months + required: + - preset + required: + - property + - operator + - value + additionalProperties: false + - type: object + properties: + property: + type: string + operator: + enum: + - = + - '!=' + - containsAny + - contains + - doesNotContain + - beginsWith + - doesNotBeginWith + - endsWith + - doesNotEndWith + - in + - notIn + value: + anyOf: + - type: 'null' + - type: string + - type: number + - type: boolean + - type: array + items: + type: string + - type: string + format: date-time + additionalProperties: false + required: + - property + - operator + - value + - type: object + properties: + operator: + enum: + - isEmpty + - isNotEmpty + property: + type: string + required: + - operator + - property + additionalProperties: false + - type: object + properties: + operator: + enum: + - relatedTo + blueprint: + type: string + value: + type: string + direction: + enum: + - upstream + - downstream + required: + type: boolean + additionalProperties: false + required: + - operator + - value + - blueprint + - type: object + properties: + propertySchema: + type: object + properties: + type: + type: string + format: + type: string + required: + - type + additionalProperties: false + operator: + enum: + - = + - '!=' + value: + anyOf: + - type: 'null' + - type: string + - type: number + - type: boolean + required: + - operator + - propertySchema + additionalProperties: false + - $ref: '#/components/schemas/def-0' + title: + type: string + icon: + type: string + description: + type: string + unit: + type: string + enum: + - none + - $ + - € + - £ + - '%' + - custom + unitAlignment: + type: string + enum: + - left + - right + calculationBy: + type: string + enum: + - entities + - property + required: + - type + - dataset + - unit + - calculationBy + allOf: + - properties: + property: + type: string + func: + type: string + enum: + - sum + - average + - min + - max + - median + required: + - property + - func + - properties: + func: + type: string + enum: + - average + - count + required: + - func + - properties: + averageOf: + type: string + enum: + - hour + - day + - week + - month + - total + measureTimeBy: + type: string + required: + - averageOf + - properties: + unitCustom: + type: string + required: + - unitCustom + - type: object + properties: + id: + type: string + updatedAt: + type: string + updatedBy: + type: string + createdAt: + type: string + createdBy: + type: string + type: + type: string + enum: + - iframe-widget + title: + type: string + icon: + type: string + description: + type: string + url: + type: string + format: url + urlType: + type: string + enum: + - public + - protected + required: + - type + - url + - urlType + - title + allOf: + - properties: + tokenUrl: + type: string + format: url + authorizationUrl: + type: string + format: url + clientId: + type: string + scopes: + type: array + items: + type: string + required: + - tokenUrl + - authorizationUrl + - clientId + - scopes + - type: object + properties: + id: + type: string + updatedAt: + type: string + updatedBy: + type: string + createdAt: + type: string + createdBy: + type: string + type: + type: string + enum: + - markdown + title: + type: string + icon: + type: string + markdown: + type: string + required: + - type + - title + - type: object + properties: + id: + type: string + updatedAt: + type: string + updatedBy: + type: string + createdAt: + type: string + createdBy: + type: string + type: + enum: + - team-info + title: + type: string + team_name: + type: string + additionalProperties: false + required: + - type + - team_name + - type: object + properties: + id: + type: string + updatedAt: + type: string + updatedBy: + type: string + createdAt: + type: string + createdBy: + type: string + type: + type: string + enum: + - recently-viewed-entities + title: + type: string + icon: + type: string + required: + - type + - title + - type: object + properties: + id: + type: string + updatedAt: + type: string + updatedBy: + type: string + createdAt: + type: string + createdBy: + type: string + type: + type: string + enum: + - recently-used-actions + title: + type: string + icon: + type: string + required: + - type + - title + - type: object + properties: + id: + type: string + updatedAt: + type: string + updatedBy: + type: string + createdAt: + type: string + createdBy: + type: string + type: + type: string + enum: + - my-entities + title: + type: string + icon: + type: string + required: + - type + - title + additionalProperties: false + required: + - type + - layout + - widgets + title: /schemas/dashboardWidget + def-2: + type: object + properties: + id: + type: string + updatedAt: + type: string + updatedBy: + type: string + createdAt: + type: string + createdBy: + type: string + type: + type: string + enum: + - grouper + title: + type: string + displayMode: + type: string + enum: + - tabs + - switch + activeGroupUrlParam: + type: string + groupsOrder: + type: array + items: + type: string + groups: + type: array + items: + type: object + properties: + title: + type: string + icon: + type: string + widgets: + type: array + items: + anyOf: + - type: object + properties: + id: + type: string + updatedAt: + type: string + updatedBy: + type: string + createdAt: + type: string + createdBy: + type: string + type: + enum: + - entity-info + title: + type: string + entity: + type: string + hiddenQuery: + type: array + items: + type: string + blueprint: + type: string + additionalProperties: false + required: + - type + - entity + - blueprint + - type: object + properties: + id: + type: string + updatedAt: + type: string + updatedBy: + type: string + createdAt: + type: string + createdBy: + type: string + type: + enum: + - action-runs-table-widget + icon: + type: string + description: + type: string + maxLength: 200 + title: + type: string + displayMode: + type: string + enum: + - single + - widget + blueprint: + type: string + action: + type: string + tableConfig: + type: object + properties: + filterSettings: + type: object + properties: + filterBy: + $ref: '#/components/schemas/def-0' + additionalProperties: false + required: + - filterBy + groupSettings: + type: object + properties: + groupBy: + type: array + items: + type: string + additionalProperties: false + required: + - groupBy + sortSettings: + type: object + properties: + sortBy: + type: array + items: + type: object + properties: + property: + type: string + order: + enum: + - asc + - desc + additionalProperties: false + required: + - property + - order + additionalProperties: false + propertiesSettings: + type: object + properties: + hidden: + type: array + items: + type: string + order: + type: array + items: + type: string + additionalProperties: false + additionalProperties: false + additionalProperties: false + required: + - type + - action + - blueprint + - type: object + properties: + id: + type: string + updatedAt: + type: string + updatedBy: + type: string + createdAt: + type: string + createdBy: + type: string + type: + enum: + - table-entities-explorer + icon: + type: string + description: + type: string + maxLength: 200 + title: + type: string + dataset: + $ref: '#/components/schemas/def-0' + excludedFields: + type: array + items: + type: string + displayMode: + type: string + enum: + - tabs + - single + - widget + blueprintConfig: + type: object + propertyNames: + pattern: '^[A-Za-z0-9@_.:\\/=-]+$' + additionalProperties: + type: object + properties: + filterSettings: + type: object + properties: + filterBy: + $ref: '#/components/schemas/def-0' + additionalProperties: false + required: + - filterBy + groupSettings: + type: object + properties: + groupBy: + type: array + items: + type: string + additionalProperties: false + required: + - groupBy + sortSettings: + type: object + properties: + sortBy: + type: array + items: + type: object + properties: + property: + type: string + order: + enum: + - asc + - desc + additionalProperties: false + required: + - property + - order + additionalProperties: false + propertiesSettings: + type: object + properties: + hidden: + type: array + items: + type: string + order: + type: array + items: + type: string + additionalProperties: false + tabIndex: + type: number + hidden: + type: boolean + title: + type: string + maxLength: 20 + description: + type: string + maxLength: 200 + additionalProperties: false + additionalProperties: false + required: + - type + - dataset + - type: object + properties: + id: + type: string + updatedAt: + type: string + updatedBy: + type: string + createdAt: + type: string + createdBy: + type: string + type: + enum: + - table-entities-explorer-by-direction + title: + type: string + blueprintConfig: + type: object + propertyNames: + pattern: >- + ^[A-Za-z0-9@_.:\\/=-]*\$(upstream|downstream|custom)(\$[A-Za-z0-9@_.:\\/=-]+)*$ + additionalProperties: + type: object + properties: + filterSettings: + type: object + properties: + filterBy: + $ref: '#/components/schemas/def-0' + additionalProperties: false + required: + - filterBy + groupSettings: + type: object + properties: + groupBy: + type: array + items: + type: string + additionalProperties: false + required: + - groupBy + sortSettings: + type: object + properties: + sortBy: + type: array + items: + type: object + properties: + property: + type: string + order: + enum: + - asc + - desc + additionalProperties: false + required: + - property + - order + additionalProperties: false + propertiesSettings: + type: object + properties: + hidden: + type: array + items: + type: string + order: + type: array + items: + type: string + additionalProperties: false + tabIndex: + type: number + hidden: + type: boolean + title: + type: string + maxLength: 20 + description: + type: string + maxLength: 200 + dataset: + $ref: '#/components/schemas/def-0' + targetBlueprint: + type: string + relatedProperty: + type: string + additionalProperties: false + additionalProperties: false + required: + - type + - type: object + properties: + id: + type: string + updatedAt: + type: string + updatedBy: + type: string + createdAt: + type: string + createdBy: + type: string + type: + enum: + - table-audit-log + title: + type: string + description: + type: string + query: + type: object + properties: + identifier: + type: string + entity: + type: string + blueprint: + type: string + run_id: + type: string + webhookId: + type: string + webhookEventId: + type: string + origin: + type: array + items: + type: string + InstallationId: + type: string + resources: + anyOf: + - type: array + items: + enum: + - blueprint + - entity + - run + - webhook + - scorecard + - action + - type: string + enum: + - blueprint + - entity + - run + - webhook + - scorecard + - action + includes: + type: array + items: + enum: + - action + - context + - diff + - identifier + - resourceType + - status + - trigger + - additionalData + - message + from: + type: string + format: date-time + description: 'ISO format IE 2022-04-23T18:25:43.511Z' + to: + type: string + format: date-time + description: 'ISO format 2022-04-23T18:25:43.511Z' + action: + type: string + status: + type: string + enum: + - SUCCESS + - FAILURE + limit: + type: number + additionalProperties: false + tableConfig: + type: object + properties: + filterSettings: + type: object + properties: + filterBy: + $ref: '#/components/schemas/def-0' + additionalProperties: false + required: + - filterBy + groupSettings: + type: object + properties: + groupBy: + type: array + items: + type: string + additionalProperties: false + required: + - groupBy + sortSettings: + type: object + properties: + sortBy: + type: array + items: + type: object + properties: + property: + type: string + order: + enum: + - asc + - desc + additionalProperties: false + required: + - property + - order + additionalProperties: false + propertiesSettings: + type: object + properties: + hidden: + type: array + items: + type: string + order: + type: array + items: + type: string + additionalProperties: false + additionalProperties: false + required: + - type + - query + - type: object + properties: + id: + type: string + updatedAt: + type: string + updatedBy: + type: string + createdAt: + type: string + createdBy: + type: string + type: + enum: + - users-table + title: + type: string + query: + type: object + properties: + team: + type: string + tableConfig: + type: object + properties: + filterSettings: + type: object + properties: + filterBy: + $ref: '#/components/schemas/def-0' + additionalProperties: false + required: + - filterBy + groupSettings: + type: object + properties: + groupBy: + type: array + items: + type: string + additionalProperties: false + required: + - groupBy + sortSettings: + type: object + properties: + sortBy: + type: array + items: + type: object + properties: + property: + type: string + order: + enum: + - asc + - desc + additionalProperties: false + required: + - property + - order + additionalProperties: false + propertiesSettings: + type: object + properties: + hidden: + type: array + items: + type: string + order: + type: array + items: + type: string + additionalProperties: false + additionalProperties: false + required: + - type + - type: object + properties: + id: + type: string + updatedAt: + type: string + updatedBy: + type: string + createdAt: + type: string + createdBy: + type: string + type: + enum: + - teams-table + title: + type: string + query: + type: object + properties: + user: + type: string + tableConfig: + type: object + properties: + filterSettings: + type: object + properties: + filterBy: + $ref: '#/components/schemas/def-0' + additionalProperties: false + required: + - filterBy + groupSettings: + type: object + properties: + groupBy: + type: array + items: + type: string + additionalProperties: false + required: + - groupBy + sortSettings: + type: object + properties: + sortBy: + type: array + items: + type: object + properties: + property: + type: string + order: + enum: + - asc + - desc + additionalProperties: false + required: + - property + - order + additionalProperties: false + propertiesSettings: + type: object + properties: + hidden: + type: array + items: + type: string + order: + type: array + items: + type: string + additionalProperties: false + additionalProperties: false + required: + - type + - type: object + properties: + id: + type: string + updatedAt: + type: string + updatedBy: + type: string + createdAt: + type: string + createdBy: + type: string + type: + enum: + - runs-table + title: + type: string + query: + type: object + properties: + entity: + type: string + blueprint: + type: string + active: + type: boolean + user_email: + type: string + limit: + type: number + minimum: 1 + maximum: 50 + external_run_id: + type: string + version: + type: string + enum: + - v1 + - v2 + additionalProperties: false + tableConfig: + type: object + properties: + filterSettings: + type: object + properties: + filterBy: + $ref: '#/components/schemas/def-0' + additionalProperties: false + required: + - filterBy + groupSettings: + type: object + properties: + groupBy: + type: array + items: + type: string + additionalProperties: false + required: + - groupBy + sortSettings: + type: object + properties: + sortBy: + type: array + items: + type: object + properties: + property: + type: string + order: + enum: + - asc + - desc + additionalProperties: false + required: + - property + - order + additionalProperties: false + propertiesSettings: + type: object + properties: + hidden: + type: array + items: + type: string + order: + type: array + items: + type: string + additionalProperties: false + additionalProperties: false + required: + - type + - type: object + properties: + id: + type: string + updatedAt: + type: string + updatedBy: + type: string + createdAt: + type: string + createdBy: + type: string + type: + enum: + - run-info + title: + type: string + runId: + type: string + additionalProperties: false + required: + - type + - runId + - type: object + properties: + id: + type: string + updatedAt: + type: string + updatedBy: + type: string + createdAt: + type: string + createdBy: + type: string + type: + enum: + - user-info + title: + type: string + user_email: + type: string + additionalProperties: false + required: + - type + - user_email + - type: object + properties: + id: + type: string + updatedAt: + type: string + updatedBy: + type: string + createdAt: + type: string + createdBy: + type: string + type: + enum: + - graph-entities-explorer + title: + type: string + dataset: + $ref: '#/components/schemas/def-0' + hiddenBlueprints: + type: array + items: + type: string + additionalProperties: false + required: + - type + - dataset + - type: object + properties: + id: + type: string + updatedAt: + type: string + updatedBy: + type: string + createdAt: + type: string + createdBy: + type: string + icon: + type: string + type: + enum: + - entities-pie-chart + title: + type: string + property: + type: string + description: + type: string + dataset: + $ref: '#/components/schemas/def-0' + additionalProperties: false + required: + - type + - dataset + - property + - type: object + properties: + id: + type: string + updatedAt: + type: string + updatedBy: + type: string + createdAt: + type: string + createdBy: + type: string + type: + type: string + enum: + - entities-number-chart + dataset: + type: array + items: + anyOf: + - type: object + properties: + property: + type: string + operator: + enum: + - '>' + - '>=' + - < + - <= + value: + type: + - number + required: + - property + - operator + - value + additionalProperties: false + - type: object + properties: + property: + type: string + operator: + enum: + - between + - notBetween + - = + value: + type: object + oneOf: + - type: object + properties: + from: + type: string + format: date-time + to: + type: string + format: date-time + required: + - from + - to + - type: object + properties: + preset: + type: string + enum: + - today + - tomorrow + - yesterday + - lastWeek + - last2Weeks + - lastMonth + - last3Months + - last6Months + - last12Months + required: + - preset + required: + - property + - operator + - value + additionalProperties: false + - type: object + properties: + property: + type: string + operator: + enum: + - = + - '!=' + - containsAny + - contains + - doesNotContain + - beginsWith + - doesNotBeginWith + - endsWith + - doesNotEndWith + - in + - notIn + value: + anyOf: + - type: 'null' + - type: string + - type: number + - type: boolean + - type: array + items: + type: string + - type: string + format: date-time + additionalProperties: false + required: + - property + - operator + - value + - type: object + properties: + operator: + enum: + - isEmpty + - isNotEmpty + property: + type: string + required: + - operator + - property + additionalProperties: false + - type: object + properties: + operator: + enum: + - relatedTo + blueprint: + type: string + value: + type: string + direction: + enum: + - upstream + - downstream + required: + type: boolean + additionalProperties: false + required: + - operator + - value + - blueprint + - type: object + properties: + propertySchema: + type: object + properties: + type: + type: string + format: + type: string + required: + - type + additionalProperties: false + operator: + enum: + - = + - '!=' + value: + anyOf: + - type: 'null' + - type: string + - type: number + - type: boolean + required: + - operator + - propertySchema + additionalProperties: false + - $ref: '#/components/schemas/def-0' + title: + type: string + icon: + type: string + description: + type: string + unit: + type: string + enum: + - none + - $ + - € + - £ + - '%' + - custom + unitAlignment: + type: string + enum: + - left + - right + calculationBy: + type: string + enum: + - entities + - property + required: + - type + - dataset + - unit + - calculationBy + allOf: + - properties: + property: + type: string + func: + type: string + enum: + - sum + - average + - min + - max + - median + required: + - property + - func + - properties: + func: + type: string + enum: + - average + - count + required: + - func + - properties: + averageOf: + type: string + enum: + - hour + - day + - week + - month + - total + measureTimeBy: + type: string + required: + - averageOf + - properties: + unitCustom: + type: string + required: + - unitCustom + - type: object + properties: + id: + type: string + updatedAt: + type: string + updatedBy: + type: string + createdAt: + type: string + createdBy: + type: string + type: + type: string + enum: + - iframe-widget + title: + type: string + icon: + type: string + description: + type: string + url: + type: string + format: url + urlType: + type: string + enum: + - public + - protected + required: + - type + - url + - urlType + - title + allOf: + - properties: + tokenUrl: + type: string + format: url + authorizationUrl: + type: string + format: url + clientId: + type: string + scopes: + type: array + items: + type: string + required: + - tokenUrl + - authorizationUrl + - clientId + - scopes + - type: object + properties: + id: + type: string + updatedAt: + type: string + updatedBy: + type: string + createdAt: + type: string + createdBy: + type: string + type: + type: string + enum: + - markdown + title: + type: string + icon: + type: string + markdown: + type: string + required: + - type + - title + - type: object + properties: + id: + type: string + updatedAt: + type: string + updatedBy: + type: string + createdAt: + type: string + createdBy: + type: string + type: + enum: + - team-info + title: + type: string + team_name: + type: string + additionalProperties: false + required: + - type + - team_name + - type: object + properties: + id: + type: string + updatedAt: + type: string + updatedBy: + type: string + createdAt: + type: string + createdBy: + type: string + type: + type: string + enum: + - recently-viewed-entities + title: + type: string + icon: + type: string + required: + - type + - title + - type: object + properties: + id: + type: string + updatedAt: + type: string + updatedBy: + type: string + createdAt: + type: string + createdBy: + type: string + type: + type: string + enum: + - recently-used-actions + title: + type: string + icon: + type: string + required: + - type + - title + - type: object + properties: + id: + type: string + updatedAt: + type: string + updatedBy: + type: string + createdAt: + type: string + createdBy: + type: string + type: + type: string + enum: + - my-entities + title: + type: string + icon: + type: string + required: + - type + - title + additionalProperties: false + required: + - title + - widgets + additionalProperties: false + required: + - type + - groups + - displayMode + title: /schemas/grouperWidget +paths: + '/v1/blueprints/{blueprint_identifier}/permissions': + get: + description: This route allows you to retrieve the permissions of a blueprint.

To learn more about permissions, check out the [documentation](https://docs.getport.io/build-your-software-catalog/set-catalog-rbac/examples). + summary: Get a blueprint's permissions + tags: + - Blueprints + parameters: + - schema: + type: string + in: path + name: blueprint_identifier + required: true + description: The identifier of the blueprint whose permissions you want to retrieve. + security: + - bearer: + - 'read:blueprints' + responses: + '200': + description: Default Response + patch: + summary: Patch a blueprint's permissions + description: This route allows you to patch the permissions of a blueprint.

To learn more about permissions, check out the [documentation](https://docs.getport.io/build-your-software-catalog/set-catalog-rbac/examples). + tags: + - Blueprints + requestBody: + content: + application/json: + schema: + type: object + properties: + entities: + type: object + properties: + register: + type: object + description: Define who has permissions to create entities of this blueprint. + properties: + users: + type: array + description: List of users (email addresses) that are allowed to create entities of this blueprint. + items: + type: string + teams: + type: array + description: List of teams that are allowed to create entities of this blueprint. + items: + type: string + roles: + type: array + description: List of roles that are allowed to create entities of this blueprint. + items: + type: string + ownedByTeam: + description: If `true`, permissions will be determined by team ownership, rather than by roles or direct assignment to users. Every user will be able to create entities belonging to their team/s. + type: boolean + additionalProperties: false + update: + type: object + description: Define who has permissions to modify entities of this blueprint. + properties: + users: + type: array + description: List of users (email addresses) that are allowed to modify entities of this blueprint. + items: + type: string + teams: + type: array + description: List of teams that are allowed to modify entities of this blueprint. + items: + type: string + roles: + type: array + description: List of roles that are allowed to modify entities of this blueprint. + items: + type: string + ownedByTeam: + description: If `true`, permissions will be determined by team ownership, rather than by roles or direct assignment to users. Every user will be able to modify entities belonging to their team/s. + type: boolean + additionalProperties: false + unregister: + type: object + description: Define who has permissions to delete entities of this blueprint. + properties: + users: + type: array + description: List of users (email addresses) that are allowed to delete entities of this blueprint. + items: + type: string + teams: + type: array + description: List of teams that are allowed to delete entities of this blueprint. + items: + type: string + roles: + type: array + description: List of roles that are allowed to delete entities of this blueprint. + items: + type: string + ownedByTeam: + description: If `true`, permissions will be determined by team ownership, rather than by roles or direct assignment to users. Every user will be able to delete entities belonging to their team/s. + type: boolean + additionalProperties: false + updateProperties: + type: object + description: Define who has permissions to modify specific properties in entities of this blueprint. + additionalProperties: + type: object + properties: + users: + type: array + description: List of users (email addresses) that are allowed to modify properties in entities of this blueprint. + items: + type: string + teams: + type: array + description: List of teams that are allowed to modify properties in entities of this blueprint. + items: + type: string + roles: + type: array + description: List of roles that are allowed to modify properties in entities of this blueprint. + items: + type: string + ownedByTeam: + description: If `true`, permissions will be determined by team ownership, rather than by roles or direct assignment to users. Every user will be able to modify properties in entities belonging to their team/s. + type: boolean + updateRelations: + type: object + description: Define who has permissions to modify specific relations in entities of this blueprint. + additionalProperties: + type: object + properties: + users: + type: array + description: List of users (email addresses) that are allowed to modify relations in entities of this blueprint. + items: + type: string + teams: + type: array + description: List of teams that are allowed to modify relations in entities of this blueprint. + items: + type: string + roles: + type: array + description: List of roles that are allowed to modify relations in entities of this blueprint. + items: + type: string + ownedByTeam: + description: If `true`, permissions will be determined by team ownership, rather than by roles or direct assignment to users. Every user will be able to modify relations in entities belonging to their team/s. + type: boolean + additionalProperties: false + additionalProperties: false + parameters: + - schema: + type: string + in: path + name: blueprint_identifier + required: true + description: The identifier of the blueprint whose permissions you want to patch.
+ security: + - bearer: [] + responses: + '200': + description: Default Response + /v1/auth/access_token: + post: + summary: Create an access token + description: This route allows you to create an access token for your Port account. You can use this token to authenticate your requests to the Port API.

To obtain your client ID and client secret, go to your [Port application](https://app.getport.io), click on the `...` button in the top right corner, then click `Credentials`. + tags: + - Authentication / Authorization + requestBody: + content: + application/json: + schema: + type: object + properties: + clientId: + type: string + description: Your Port client ID + clientSecret: + type: string + description: Your Port client secret + additionalProperties: false + required: + - clientId + - clientSecret + required: true + responses: + '200': + description: Authorized successfully + content: + application/json: + schema: + type: object + properties: + ok: + enum: + - true + accessToken: + type: string + expiresIn: + type: number + description: The number of seconds until the access token expires + tokenType: + type: string + additionalProperties: false + required: + - accessToken + - expiresIn + - tokenType + description: Authorized successfully + '/v1/blueprints/{blueprint_identifier}/entities': + post: + summary: Create an entity + description: This route allows you to create an entity in your software catalog based on an existing blueprint in your data model. It can also be used to overwrite or update an existing entity.

To learn more about entities, check out the [documentation](https://docs.getport.io/build-your-software-catalog/sync-data-to-catalog/#entities). + tags: + - Entities + requestBody: + content: + application/json: + schema: + type: object + properties: + identifier: + type: string + pattern: '^[A-Za-z0-9@_.:\\/=-]+$' + description: The identifier of the new entity.
+ title: + type: string + description: The title of the new entity.
+ icon: + type: string + description: The icon of the new entity.
+ team: + # oneOf: + # - type: string + # description: Team name + # - type: array + # items: + # type: string + type: string, string[] + description: The Port team/s to which the new entity will belong.
+ properties: + type: object + description: An object containing the properties of the new entity, in `"key":"value"` pairs where the `key` is the property's identifier, and the `value` is its value.
+ relations: + type: object + description: An object containing the relations of the new entity, in `"key":"value"` pairs where the `key` is the relation's identifier, and the `value` is the related entity's identifier.
+ additionalProperties: true + example: + identifier: new-microservice + title: MyNewMicroservice + icon: Microservice + team: [] + properties: + content: my content + relations: {} + parameters: + - schema: + type: boolean + default: false + in: query + name: upsert + required: false + description: If `true`, this call will override the entire entity if it already exists.
+ - schema: + type: boolean + default: false + in: query + name: merge + required: false + description: If `true` and `merge` is also `true`, this call will update the entity if it already exists.
+ - schema: + type: boolean + default: false + in: query + name: validation_only + required: false + description: If `true`, this call will only validate the entity and return the validation errors.
+ - schema: + type: boolean + default: false + in: query + name: create_missing_related_entities + required: false + description: If `true`, this call will also create missing related entities.
This is useful when you want to create an entity and its related entities in one call, or if you want to create an entity whose related entity does not exist yet.
+ - schema: + type: string + in: query + name: run_id + required: false + description: You can provide a `run_id` to associate the created entity with a specific [action run](https://docs.getport.io/create-self-service-experiences/reflect-action-progress/#tying-entities-to-an-action-run).
+ - schema: + type: string + in: path + name: blueprint_identifier + required: true + description: The identifier of the blueprint you want to create an entity from.
+ security: + - bearer: [] + responses: + '200': + description: Successfully updated an entity + '201': + description: Successfully created an entity + '400': + description: | + One of the following errors occurred: + + + + + + + + + + + + + + +
ErrorDescription
`bad_request`The json provided does not match the route's schema
`run_exhausted`The action run with the provided `runId` has already finished execution
+ '403': + description: | + One of the following errors occurred: + + + + + + + + + + + + + + +
ErrorDescription
`required_relation`Relation cannot be deleted because it is a `required relation`
`missing_permissions`You do not have permissions to perform the requested operation. For further details, please contact your admin
+ '404': + description: | + One of the following errors occurred: + + + + + + + + + + +
ErrorDescription
`not_found`A resource with the provided `identifier` was not found
+ '409': + description: | + One of the following errors occurred: + + + + + + + + + + +
ErrorDescription
`identifier_taken`The provided `identifier` already exists, identifiers must be unique
+ '422': + description: | + One of the following errors occurred: + + + + + + + + + + + + + + + + + + + + + + +
ErrorDescription
`team_inheritance_enabled`The blueprint's entities inherite their team from other entities through an existing relation
`blueprint_schema_mismatch`The provided entity does not match the blueprint's schema
`required_relation`A relation is required
`relation_many_violation`A provided relation cannot contain more than one entity
+ '500': + description: | + One of the following errors occurred: + + + + + + + + + + +
ErrorDescription
`internal_error`An internal error occurred
+ get: + summary: Get all entities of a blueprint + description: This route allows you to fetch all entities in your software catalog based on a given blueprint.

To learn more about entities, check out the [documentation](https://docs.getport.io/build-your-software-catalog/sync-data-to-catalog/#entities). + tags: + - Entities + parameters: + - schema: + type: boolean + default: false + in: query + name: exclude_calculated_properties + required: false + description: If `true`, [calculated properties](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/calculation-property/) will be excluded from the entities.
+ - schema: + type: array + items: + type: string + in: query + name: include + required: false + description: "An array of values from the [entity JSON](https://docs.getport.io/build-your-software-catalog/sync-data-to-catalog/#json-structure). Only these values will be returned in the response.
For example: `{ \"properties.propertyIdentifier\",\"identifier\"}`" + - schema: + type: array + items: + type: string + in: query + name: exclude + description: "An array of values from the [entity JSON](https://docs.getport.io/build-your-software-catalog/sync-data-to-catalog/#json-structure) to be ommitted from the response.
For example: `{ \"properties.propertyIdentifier\",\"identifier\"}`" + required: false + - schema: + type: string + in: path + name: blueprint_identifier + required: true + description: The identifier of the blueprint whose entities you want to fetch.
+ security: + - bearer: + - 'read:entities' + responses: + '200': + description: Success + '404': + description: | + One of the following errors occurred: + + + + + + + + + + +
ErrorDescription
`not_found`A blueprint with the provided `identifier` was not found
+ '422': + description: | + One of the following errors occurred: + + + + + + + + + + +
ErrorDescription
`invalid_request`The provided data does not match the route schema
+ '500': + description: | + One of the following errors occurred: + + + + + + + + + + +
ErrorDescription
`internal_error`An internal error occurred
+ '/v1/blueprints/{blueprint_identifier}/entities/{entity_identifier}': + patch: + summary: Patch an entity + description: This route allows you to edit a specific entity in your software catalog and update its properties.

To learn more about entities, check out the [documentation](https://docs.getport.io/build-your-software-catalog/sync-data-to-catalog/#entities). + tags: + - Entities + requestBody: + content: + application/json: + schema: + type: object + properties: + identifier: + type: + - string + pattern: '^[A-Za-z0-9@_.:\\/=-]+$' + description: The new identifier of the entity.
+ title: + type: string + description: The new title of the entity.
+ icon: + type: string + description: The new icon of the entity.
+ team: + type: string, string[] + description: The Port team/s to which the entity will belong.
+ properties: + type: object + propertyNames: + pattern: '^[A-Za-z0-9@_=\\-]+$' + description: An object containing the properties of the entity, in `"key":"value"` pairs where the `key` is the property's identifier, and the `value` is its value.
+ relations: + type: object + description: An object containing the relations of the new entity, in `"key":"value"` pairs where the `key` is the relation's identifier, and the `value` is the related entity's identifier. + additionalProperties: false + parameters: + - schema: + type: boolean + default: false + in: query + name: create_missing_related_entities + required: false + description: If `true`, this call will also create missing related entities.
This is useful when you want to create an entity and its related entities in one call, or if you want to create an entity whose related entity does not exist yet.
+ - schema: + type: string + in: query + name: run_id + required: false + description: You can provide a `run_id` to associate the created entity with a specific [action run](https://docs.getport.io/create-self-service-experiences/reflect-action-progress/#tying-entities-to-an-action-run).
+ - schema: + type: string + in: path + name: entity_identifier + required: true + description: The identifier of the entity you want to patch.
+ - schema: + type: string + in: path + name: blueprint_identifier + required: true + description: The identifier of the blueprint the entity belongs to.
+ security: + - bearer: [] + responses: + '200': + description: Successfully patched the entity + '400': + description: | + One of the following errors occurred: + + + + + + + + + + + +
ErrorDescription
`run_exhausted`Action run has already finished execution
+ '403': + description: | + One of the following errors occurred: + + + + + + + + + + + + + + +
ErrorDescription
`required_relation`Relation cannot be deleted because it is a `required relation`
`missing_permissions`You do not have permissions to perform the requested operation. For further details, please contact your admin
+ '404': + description: | + One of the following errors occurred: + + + + + + + + + + + + + + +
ErrorDescription
`not_found`A blueprint with the provided `identifier` was not found
`not_found`An entity with the provided `identifier` was not found
+ '409': + description: | + One of the following errors occurred: + + + + + + + + + + +
ErrorDescription
`identifier_taken`The provided `identifier` already exists, identifiers must be unique
+ '422': + description: | + One of the following errors occurred: + + + + + + + + + + + + + + + + + + + + + + + + + + +
ErrorDescription
`invalid_request`The provided data does not match the route schema
`team_inheritance_enabled`The blueprint's entities inherite their team from other entities through an existing relation
`blueprint_schema_mismatch`The provided entity does not match the blueprint's schema
`required_relation`A relation is required
`relation_many_violation`A provided relation cannot contain more than one entity
+ '500': + description: | + One of the following errors occurred: + + + + + + + + + + +
ErrorDescription
`internal_error`An internal error occurred
+ put: + summary: Change an entity + description: This route allows you to edit a specific entity in your software catalog and update its properties.

To learn more about entities, check out the [documentation](https://docs.getport.io/build-your-software-catalog/sync-data-to-catalog/#entities). + tags: + - Entities + requestBody: + content: + application/json: + schema: + type: object + properties: + identifier: + type: string + pattern: '^[A-Za-z0-9@_.:\\/=-]+$' + description: The new identifier of the entity.
+ title: + type: string + description: The new title of the entity.
+ icon: + type: string + description: The new icon of the entity.
+ team: + type: string, string[] + description: The Port team/s to which the entity will belong.
+ properties: + type: object + description: An object containing the properties of the entity, in `"key":"value"` pairs where the `key` is the property's identifier, and the `value` is its value.
+ relations: + type: object + description: An object containing the relations of the new entity, in `"key":"value"` pairs where the `key` is the relation's identifier, and the `value` is the related entity's identifier. + additionalProperties: true + parameters: + - schema: + type: boolean + default: false + in: query + name: create_missing_related_entities + required: false + description: If `true`, this call will also create missing related entities.
This is useful when you want to create an entity and its related entities in one call, or if you want to create an entity whose related entity does not exist yet.
+ - schema: + type: string + in: query + name: run_id + required: false + description: You can provide a `run_id` to associate the modified entity with a specific [action run](https://docs.getport.io/create-self-service-experiences/reflect-action-progress/#tying-entities-to-an-action-run).
+ - schema: + type: string + in: path + name: entity_identifier + required: true + description: The identifier of the entity you want to change.
+ - schema: + type: string + in: path + name: blueprint_identifier + required: true + description: The identifier of the blueprint the entity belongs to.
+ security: + - bearer: [] + responses: + '200': + description: Successfully changed the entity + '400': + description: | + One of the following errors occurred: + + + + + + + + + + + +
ErrorDescription
`run_exhausted`Action run has already finished execution
+ '403': + description: | + One of the following errors occurred: + + + + + + + + + + + + + + +
ErrorDescription
`required_relation`Relation cannot be deleted because it is a `required relation`
`missing_permissions`You do not have permissions to perform the requested operation. For further details, please contact your admin
+ '404': + description: | + One of the following errors occurred: + + + + + + + + + + + + + + +
ErrorDescription
`not_found`A blueprint with the provided `identifier` was not found
`not_found`An entity with the provided `identifier` was not found
+ '409': + description: | + One of the following errors occurred: + + + + + + + + + + +
ErrorDescription
`identifier_taken`The provided `identifier` already exists, identifiers must be unique
+ '422': + description: | + One of the following errors occurred: + + + + + + + + + + + + + + + + + + + + + + + + + + +
ErrorDescription
`invalid_request`The provided data does not match the route schema
`team_inheritance_enabled`The blueprint's entities inherite their team from other entities through an existing relation
`blueprint_schema_mismatch`The provided entity does not match the blueprint's schema
`required_relation`A relation is required
`relation_many_violation`A provided relation cannot contain more than one entity
+ '500': + description: | + One of the following errors occurred: + + + + + + + + + + +
ErrorDescription
`internal_error`An internal error occurred
+ get: + summary: Get an entity + description: This route allows you to fetch a specific entity in your software catalog.

To learn more about entities, check out the [documentation](https://docs.getport.io/build-your-software-catalog/sync-data-to-catalog/#entities). + tags: + - Entities + parameters: + - schema: + type: boolean + default: false + in: query + name: exclude_calculated_properties + required: false + description: If `true`, [calculated properties](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/calculation-property/) will be excluded from the entity.
+ - schema: + type: array + items: + type: string + in: query + name: include + required: false + description: "An array of values from the [entity JSON](https://docs.getport.io/build-your-software-catalog/sync-data-to-catalog/#json-structure). Only these values will be returned in the response.
For example: `{ \"properties.propertyIdentifier\",\"identifier\"}`" + - schema: + type: array + items: + type: string + in: query + name: exclude + required: false + description: "An array of values from the [entity JSON](https://docs.getport.io/build-your-software-catalog/sync-data-to-catalog/#json-structure) to be ommitted from the response.
For example: `{ \"properties.propertyIdentifier\",\"identifier\"}`" + # - schema: + # type: boolean + # in: query + # name: compact + # required: false + # - schema: + # type: boolean + # default: false + # in: query + # name: attach_title_to_relation + # required: false + - schema: + type: string + in: path + name: entity_identifier + required: true + description: The identifier of the entity you want to fetch.
+ - schema: + type: string + in: path + name: blueprint_identifier + required: true + description: The identifier of the blueprint the entity belongs to.
+ security: + - bearer: + - 'read:entities' + responses: + '200': + description: Success + '404': + description: | + One of the following errors occurred: + + + + + + + + + + + + + + +
ErrorDescription
`not_found`An entity with the provided `identifier` was not found
`not_found`A blueprint with the provided `identifier` was not found
+ '422': + description: | + One of the following errors occurred: + + + + + + + + + + +
ErrorDescription
`invalid_request`The provided data does not match the route schema
+ '500': + description: | + One of the following errors occurred: + + + + + + + + + + +
ErrorDescription
`internal_error`An internal error occurred
+ delete: + summary: Delete an entity + description: This route allows you to delete a specific entity in your software catalog.

To learn more about entities, check out the [documentation](https://docs.getport.io/build-your-software-catalog/sync-data-to-catalog/#entities). + tags: + - Entities + parameters: + - schema: + type: boolean + default: false + in: query + name: delete_dependents + required: true + description: If `true`, this call will also delete all entities with a relation to the deleted entity.
+ - schema: + type: string + in: query + name: run_id + required: false + description: You can provide a `run_id` to associate the deleted entity with a specific [action run](https://docs.getport.io/create-self-service-experiences/reflect-action-progress/#tying-entities-to-an-action-run).
+ - schema: + type: string + in: path + name: entity_identifier + required: true + description: The identifier of the entity you want to delete.
+ - schema: + type: string + in: path + name: blueprint_identifier + required: true + description: The identifier of the blueprint the entity belongs to.
+ security: + - bearer: [] + responses: + '200': + description: Deleted successfully. + # content: + # application/json: + # schema: + # description: Deleted successfully. + # type: object + # properties: + # ok: + # enum: + # - true + # additionalProperties: false + # required: + # - ok + '/v1/blueprints/{blueprint_identifier}/entities-count': + get: + summary: Get a blueprint's entity count + description: This route allows you to count the number of entities in a specific blueprint in your software catalog.

To learn more about entities, check out the [documentation](https://docs.getport.io/build-your-software-catalog/sync-data-to-catalog/#entities). + tags: + - Entities + parameters: + - schema: + type: string + in: path + name: blueprint_identifier + required: true + description: The identifier of the blueprint whose entities you want to count.
+ security: + - bearer: [] + responses: + '200': + description: Default Response + '/v1/blueprints/{blueprint_identifier}/all-entities': + delete: + summary: Delete all entities of a blueprint + description: This route allows you to delete all entities of a specific blueprint in your software catalog.

To learn more about entities, check out the [documentation](https://docs.getport.io/build-your-software-catalog/sync-data-to-catalog/#entities). + tags: + - Entities + parameters: + - schema: + type: string + in: query + name: run_id + required: false + description: You can provide a `run_id` to associate the deleted entities with a specific [action run](https://docs.getport.io/create-self-service-experiences/reflect-action-progress/#tying-entities-to-an-action-run).
+ - schema: + type: boolean + in: query + name: delete_blueprint + required: false + description: If `true`, this call will also delete the blueprint itself.
+ - schema: + type: string + in: path + name: blueprint_identifier + required: true + description: The identifier of the blueprint whose entities you want to delete.
+ security: + - bearer: [] + responses: + '200': + description: Deleted successfully. + /v1/entities/search: + post: + summary: Search entities + tags: + - Entities + description: This route allows you to search for entities in your software catalog based on a given set of rules.

To learn more about entities, check out the [documentation](https://docs.getport.io/build-your-software-catalog/sync-data-to-catalog/#entities).

For more details about Port's search mechanism, rules, and operators - see the [search & query documentation](https://docs.getport.io/search-and-query/). + requestBody: + content: + application/json: + schema: + type: object + properties: + combinator: + enum: + - and + - or + description: The combinator to use for the rules.
+ rules: + type: array + items: + anyOf: + - type: object + properties: + property: + type: string + operator: + enum: + - '>' + - '>=' + - < + - <= + value: + type: + - number + required: + - property + - operator + - value + additionalProperties: false + title: Number Rule + - type: object + properties: + property: + type: string + operator: + enum: + - between + - notBetween + - = + value: + type: object + oneOf: + - type: object + properties: + from: + type: string + format: date-time + to: + type: string + format: date-time + required: + - from + - to + title: Date Range + - type: object + properties: + preset: + type: string + enum: + - today + - tomorrow + - yesterday + - lastWeek + - last2Weeks + - lastMonth + - last3Months + - last6Months + - last12Months + required: + - preset + title: Date Preset + required: + - property + - operator + - value + additionalProperties: false + title: Date Rule + - type: object + properties: + property: + type: string + operator: + enum: + - = + - '!=' + - containsAny + - contains + - doesNotContain + - beginsWith + - doesNotBeginWith + - endsWith + - doesNotEndWith + - in + - notIn + value: + anyOf: + - type: string + title: string + - type: number + title: number + - type: boolean + title: boolean + - type: array + title: array + items: + type: string + - type: string + title: date-time + format: date-time + additionalProperties: false + title: String Rule + required: + - property + - operator + - value + - type: object + properties: + operator: + enum: + - isEmpty + - isNotEmpty + property: + type: string + required: + - operator + - property + additionalProperties: false + title: Empty Rule + - type: object + properties: + operator: + enum: + - relatedTo + blueprint: + type: string + value: + type: string + direction: + enum: + - upstream + - downstream + required: + type: boolean + additionalProperties: false + title: Relation Rule + required: + - operator + - value + - blueprint + - type: object + properties: + propertySchema: + type: object + properties: + type: + type: string + format: + type: string + required: + - type + additionalProperties: false + operator: + enum: + - = + - '!=' + value: + anyOf: + - type: 'null' + - type: string + title: string + - type: number + title: number + - type: boolean + title: boolean + required: + - operator + - propertySchema + additionalProperties: false + title: Schema Rule + # - $ref: '#/components/schemas/def-0' + required: + - combinator + - rules + additionalProperties: false + required: true + parameters: + - schema: + type: boolean + default: false + in: query + name: exclude_calculated_properties + required: false + description: If `true`, [calculated properties](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/calculation-property/) will be excluded from the entities.
+ - schema: + type: array + items: + type: string + in: query + name: include + required: false + description: "An array of values from the [entity JSON](https://docs.getport.io/build-your-software-catalog/sync-data-to-catalog/#json-structure). Only these values will be returned in the response.
For example: `{ \"properties.propertyIdentifier\",\"identifier\"}`" + - schema: + type: array + items: + type: string + in: query + name: exclude + required: false + description: "An array of values from the [entity JSON](https://docs.getport.io/build-your-software-catalog/sync-data-to-catalog/#json-structure) to be ommitted from the response.
For example: `{ \"properties.propertyIdentifier\",\"identifier\"}`" + # - schema: + # type: boolean + # in: query + # name: compact + # required: false + # - schema: + # type: boolean + # default: false + # in: query + # name: attach_title_to_relation + # required: false + security: + - bearer: + - 'read:entities' + responses: + '200': + description: Default Response + # /v1/entities/aggregate: + # post: + # summary: Aggregate entities + # tags: + # - Entities + # requestBody: + # content: + # application/json: + # schema: + # type: object + # oneOf: + # - type: object + # properties: + # func: + # type: string + # enum: + # - average + # - count + # averageOf: + # type: string + # enum: + # - hour + # - day + # - week + # - month + # - total + # measureTimeBy: + # type: string + # calculationBy: + # type: string + # query: + # $ref: '#/components/schemas/def-0' + # additionalProperties: false + # required: + # - func + # - query + # - type: object + # properties: + # property: + # type: string + # func: + # type: string + # enum: + # - sum + # - average + # - min + # - max + # - median + # averageOf: + # type: string + # enum: + # - hour + # - day + # - week + # - month + # - total + # measureTimeBy: + # type: string + # calculationBy: + # type: string + # query: + # $ref: '#/components/schemas/def-0' + # additionalProperties: false + # required: + # - func + # - property + # - query + # - type: object + # oneOf: + # - properties: + # func: + # enum: + # - countValues + # query: + # $ref: '#/components/schemas/def-0' + # property: + # type: string + # required: + # - func + # - query + # - property + # additionalProperties: false + # - properties: + # func: + # enum: + # - countValues + # query: + # $ref: '#/components/schemas/def-0' + # relation: + # type: string + # required: + # - func + # - query + # - relation + # additionalProperties: false + # - properties: + # func: + # enum: + # - countValues + # query: + # $ref: '#/components/schemas/def-0' + # scorecard: + # type: string + # required: + # - func + # - query + # - scorecard + # additionalProperties: false + # - properties: + # func: + # enum: + # - countValues + # query: + # $ref: '#/components/schemas/def-0' + # rule: + # type: string + # scorecard: + # type: string + # required: + # - func + # - query + # - rule + # - scorecard + # additionalProperties: false + # security: + # - bearer: + # - 'read:entities' + # responses: + # '200': + # description: Default Response + /v1/blueprints: + get: + summary: Get all blueprints + description: This route allows you to fetch all blueprints in your Port account.

To learn more about blueprints, check out the [documentation](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/). + tags: + - Blueprints + security: + - bearer: + - 'read:blueprints' + responses: + '200': + description: Default Response + post: + summary: Create a blueprint + description: This route allows you to create a new blueprint in your data model.

To learn more about blueprints, check out the [documentation](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/). + tags: + - Blueprints + requestBody: + content: + application/json: + schema: + type: object + properties: + identifier: + type: string + description: The identifier of the new blueprint.
+ pattern: '^[A-Za-z0-9@_.:\\/=-]+$' + maxLength: 30 + title: + type: string + description: The title of the new blueprint.
+ maxLength: 30 + description: + type: string + description: The description of the new blueprint.
+ maxLength: 200 + icon: + type: string + description: The icon of the new blueprint.
+ teamInheritance: + type: object + description: "A relation to another blueprint from which to inherit the team. Can be any blueprint connected to this one via any number of relations. `path` is the path to the desired blueprint via relations, for example: `\"relationIdentifier.relationIdentifierInRelatedBlueprint\"`
" + properties: + path: + type: string + additionalProperties: false + required: + - path + schema: + type: object + description: The schema of the new blueprint, see `properties` and `required` below for more information.
+ properties: + properties: + type: object + description: The properties of the new blueprint.
+ propertyNames: + pattern: '^[A-Za-z0-9@_=\\-]+$' + additionalProperties: + type: object + properties: + title: + type: string + description: The title of the property.
+ description: + type: string + description: The description of the property.
+ icon: + type: string + description: The icon of the property.
+ type: + description: The [type](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/#supported-properties) of the property.
+ enum: + - string + - number + - boolean + - object + - array + format: + description: The type's [format](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/#supported-properties).
+ enum: + - date-time + - url + - email + - ipv4 + - ipv6 + - markdown + - yaml + - user + - team + - timer + - proto + spec: + description: The [spec](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/#supported-properties) of the property.
+ enum: + - open-api + - embedded-url + - async-api + required: + - type + required: + type: array + description: The required properties of the blueprint, these must be provided when creating an entity based on this blueprint. This is an array of the required properties' identifiers.
+ items: + type: string + additionalProperties: false + required: + - properties + calculationProperties: + type: object + description: The [calculation properties](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/calculation-property/) of the new blueprint.
+ default: {} + propertyNames: + pattern: '^[A-Za-z0-9@_=\\-]+$' + additionalProperties: + type: object + properties: + title: + type: string + description: + type: string + icon: + type: string + calculation: + type: string + type: + enum: + - string + - number + - boolean + - object + - array + format: + enum: + - date-time + - url + - email + - ipv4 + - ipv6 + - markdown + - yaml + - user + - team + - proto + spec: + enum: + - open-api + - embedded-url + - async-api + colorized: + type: boolean + colors: + type: object + items: + type: object + properties: + type: + enum: + - string + - number + - boolean + - object + - array + format: + enum: + - date-time + - url + - email + - ipv4 + - ipv6 + - markdown + - yaml + - user + - team + - timer + - proto + required: + - calculation + - type + mirrorProperties: + type: object + description: The [mirror properties](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/mirror-property/) of the new blueprint.
+ propertyNames: + pattern: '^[A-Za-z0-9@_=\\-]+$' + additionalProperties: + type: object + properties: + path: + type: string + pattern: '^(?:[A-Za-z0-9@_=\-]+\.)+?(\w|\$|@|-)*?[^\.]+$' + title: + type: string + additionalProperties: false + required: + - path + aggregationProperties: + type: object + description: The [aggregation properties](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/aggregation-property/) of the new blueprint.
+ default: {} + propertyNames: + pattern: '^[A-Za-z0-9@_=\\-]+$' + additionalProperties: + type: object + properties: + title: + type: string + description: + type: string + icon: + type: string + type: + enum: + - number + default: number + target: + type: string + calculationSpec: + type: object + oneOf: + - oneOf: + - type: object + properties: + func: + enum: + - average + measureTimeBy: + type: string + averageOf: + type: string + enum: + - hour + - day + - week + - month + - total + calculationBy: + type: string + enum: + - entities + required: + - func + - calculationBy + - averageOf + - type: object + properties: + func: + enum: + - count + calculationBy: + type: string + enum: + - entities + required: + - func + - calculationBy + - oneOf: + - type: object + properties: + func: + type: string + enum: + - sum + - min + - max + - median + property: + type: string + calculationBy: + type: string + enum: + - property + additionalProperties: false + required: + - func + - property + - calculationBy + - type: object + properties: + func: + enum: + - average + measureTimeBy: + type: string + averageOf: + type: string + enum: + - hour + - day + - week + - month + - total + property: + type: string + calculationBy: + type: string + enum: + - property + additionalProperties: false + required: + - func + - property + - calculationBy + - averageOf + query: + $ref: '#/components/schemas/def-0' + additionalProperties: false + required: + - title + - target + - calculationSpec + relations: + type: object + description: The [relations](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-data-model/relate-blueprints/) of the new blueprint.
+ propertyNames: + pattern: '^[A-Za-z0-9@_=\\-]+$' + additionalProperties: + type: object + properties: + title: + type: string + target: + type: string + required: + type: boolean + default: false + many: + type: boolean + default: false + description: + type: string + additionalProperties: false + required: + - target + - required + - many + changelogDestination: + description: The destination of the blueprint's changelog.
+ oneOf: + - type: object + title: Webhook + description: The changelog will be sent to the specified webhook.
+ properties: + type: + type: string + enum: + - WEBHOOK + agent: + type: boolean + description: If `true`, Port's execution agent will be used to send the changelog.
+ url: + type: string + description: The URL of the webhook.
+ format: uri + required: + - url + - type + additionalProperties: false + - type: object + title: Kafka + description: The changelog will be sent to the Kafka topic connected to your Port account.
+ properties: + type: + type: string + enum: + - KAFKA + required: + - type + additionalProperties: false + additionalProperties: true + required: + - identifier + - title + - schema + required: true + security: + - bearer: + - 'create:blueprints' + responses: + '200': + description: Default Response + '/v1/blueprints/{identifier}': + get: + summary: Get a blueprint + description: This route allows you to fetch a specific blueprint in your Port account.

To learn more about blueprints, check out the [documentation](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/). + tags: + - Blueprints + parameters: + - schema: + type: string + in: path + name: identifier + description: The identifier of the blueprint you want to fetch.
+ required: true + security: + - bearer: + - 'read:blueprints' + responses: + '200': + description: Default Response + put: + summary: Change a blueprint + description: This route allows you to change a specific blueprint in your Port account.

To learn more about blueprints, check out the [documentation](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/). + tags: + - Blueprints + requestBody: + content: + application/json: + schema: + type: object + properties: + identifier: + type: string + description: The new identifier of the blueprint.
+ pattern: '^[A-Za-z0-9@_.:\\/=-]+$' + maxLength: 30 + title: + type: string + description: The new title of the blueprint.
+ maxLength: 30 + description: + type: string + description: The new description of the blueprint.
+ maxLength: 200 + icon: + type: string + description: The new icon of the blueprint.
+ teamInheritance: + type: object + description: "A new relation to another blueprint from which to inherit the team. Can be any blueprint connected to this one via any number of relations. `path` is the path to the desired blueprint via relations, for example: `\"relationIdentifier.relationIdentifierInRelatedBlueprint\"`
" + properties: + path: + type: string + additionalProperties: false + required: + - path + schema: + type: object + description: The new schema of the blueprint, see `properties` and `required` below for more information.
+ properties: + properties: + type: object + description: The new properties of the blueprint.
+ propertyNames: + pattern: '^[A-Za-z0-9@_=\\-]+$' + additionalProperties: + type: object + properties: + title: + type: string + description: + type: string + icon: + type: string + type: + enum: + - string + - number + - boolean + - object + - array + format: + enum: + - date-time + - url + - email + - ipv4 + - ipv6 + - markdown + - yaml + - user + - team + - timer + - proto + spec: + enum: + - open-api + - embedded-url + - async-api + required: + - type + required: + type: array + description: The new required properties of the blueprint, these must be provided when creating an entity based on this blueprint. This is an array of the required properties' identifiers.
+ items: + type: string + additionalProperties: false + required: + - properties + calculationProperties: + type: object + description: The new [calculation properties](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/calculation-property/) of the blueprint.
+ default: {} + propertyNames: + pattern: '^[A-Za-z0-9@_=\\-]+$' + additionalProperties: + type: object + properties: + title: + type: string + description: + type: string + icon: + type: string + calculation: + type: string + type: + enum: + - string + - number + - boolean + - object + - array + format: + enum: + - date-time + - url + - email + - ipv4 + - ipv6 + - markdown + - yaml + - user + - team + - proto + spec: + enum: + - open-api + - embedded-url + - async-api + colorized: + type: boolean + colors: + type: object + items: + type: object + properties: + type: + enum: + - string + - number + - boolean + - object + - array + format: + enum: + - date-time + - url + - email + - ipv4 + - ipv6 + - markdown + - yaml + - user + - team + - timer + - proto + required: + - calculation + - type + mirrorProperties: + type: object + description: The new [mirror properties](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/mirror-property/) of the blueprint.
+ propertyNames: + pattern: '^[A-Za-z0-9@_=\\-]+$' + additionalProperties: + type: object + properties: + path: + type: string + pattern: '^(?:[A-Za-z0-9@_=\-]+\.)+?(\w|\$|@|-)*?[^\.]+$' + title: + type: string + additionalProperties: false + required: + - path + aggregationProperties: + type: object + description: The new [aggregation properties](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/aggregation-property/) of the blueprint.
+ default: {} + propertyNames: + pattern: '^[A-Za-z0-9@_=\\-]+$' + additionalProperties: + type: object + properties: + title: + type: string + description: + type: string + icon: + type: string + type: + enum: + - number + default: number + target: + type: string + calculationSpec: + type: object + description: The calculation specification of the aggregation property. For more information and examples, see the [documentation](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/aggregation-property/).
+ oneOf: + - oneOf: + - type: object + properties: + func: + enum: + - average + measureTimeBy: + type: string + averageOf: + type: string + enum: + - hour + - day + - week + - month + - total + calculationBy: + type: string + enum: + - entities + required: + - func + - calculationBy + - averageOf + - type: object + properties: + func: + enum: + - count + calculationBy: + type: string + enum: + - entities + required: + - func + - calculationBy + - oneOf: + - type: object + properties: + func: + type: string + enum: + - sum + - min + - max + - median + property: + type: string + calculationBy: + type: string + enum: + - property + additionalProperties: false + required: + - func + - property + - calculationBy + - type: object + properties: + func: + enum: + - average + measureTimeBy: + type: string + averageOf: + type: string + enum: + - hour + - day + - week + - month + - total + property: + type: string + calculationBy: + type: string + enum: + - property + additionalProperties: false + required: + - func + - property + - calculationBy + - averageOf + query: + $ref: '#/components/schemas/def-0' + additionalProperties: false + required: + - title + - target + - calculationSpec + relations: + type: object + description: The new [relations](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-data-model/relate-blueprints/) of the blueprint.
+ propertyNames: + pattern: '^[A-Za-z0-9@_=\\-]+$' + additionalProperties: + type: object + properties: + title: + type: string + target: + type: string + required: + type: boolean + default: false + many: + type: boolean + default: false + description: + type: string + additionalProperties: false + required: + - target + - required + - many + changelogDestination: + description: The destination of the blueprint's changelog.
+ oneOf: + - type: object + title: Webhook + description: The changelog will be sent to the specified webhook.
+ properties: + type: + type: string + enum: + - WEBHOOK + agent: + type: boolean + description: If `true`, Port's execution agent will be used to send the changelog.
+ url: + type: string + description: The URL of the webhook.
+ format: uri + required: + - url + - type + additionalProperties: false + - type: object + title: Kafka + description: The changelog will be sent to the Kafka topic connected to your Port account.
+ properties: + type: + type: string + enum: + - KAFKA + required: + - type + additionalProperties: false + additionalProperties: true + required: + - title + - schema + required: true + parameters: + - schema: + type: string + in: path + name: identifier + description: The identifier of the blueprint you want to change.
+ required: true + security: + - bearer: [] + responses: + '200': + description: Default Response + patch: + summary: Patch a blueprint + description: This route allows you to patch a specific blueprint in your Port account.

To learn more about blueprints, check out the [documentation](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/). + tags: + - Blueprints + requestBody: + content: + application/json: + schema: + type: object + properties: + identifier: + type: string + description: The new identifier of the blueprint.
+ pattern: '^[A-Za-z0-9@_.:\\/=-]+$' + maxLength: 30 + title: + type: string + description: The new title of the blueprint.
+ maxLength: 30 + description: + type: string + description: The new description of the blueprint.
+ maxLength: 200 + icon: + type: string + description: The new icon of the blueprint.
+ teamInheritance: + type: object + description: "A new relation to another blueprint from which to inherit the team. Can be any blueprint connected to this one via any number of relations. `path` is the path to the desired blueprint via relations, for example: `\"relationIdentifier.relationIdentifierInRelatedBlueprint\"`
" + properties: + path: + type: string + description: The path to the desired blueprint via relations.
+ additionalProperties: false + required: + - path + schema: + type: object + description: The new schema of the blueprint, see `properties` and `required` below for more information.
+ properties: + properties: + type: object + description: The new properties of the blueprint.
+ propertyNames: + pattern: '^[A-Za-z0-9@_=\\-]+$' + additionalProperties: + type: object + properties: + title: + type: string + description: + type: string + icon: + type: string + type: + enum: + - string + - number + - boolean + - object + - array + format: + enum: + - date-time + - url + - email + - ipv4 + - ipv6 + - markdown + - yaml + - user + - team + - timer + - proto + spec: + enum: + - open-api + - embedded-url + - async-api + required: + type: array + description: The new required properties of the blueprint, these must be provided when creating an entity based on this blueprint. This is an array of the required properties' identifiers.
+ items: + type: string + additionalProperties: false + required: + - properties + calculationProperties: + type: object + description: The new [calculation properties](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/calculation-property/) of the blueprint.
+ default: {} + propertyNames: + pattern: '^[A-Za-z0-9@_=\\-]+$' + additionalProperties: + type: object + properties: + title: + type: string + description: + type: string + icon: + type: string + calculation: + type: string + type: + enum: + - string + - number + - boolean + - object + - array + format: + enum: + - date-time + - url + - email + - ipv4 + - ipv6 + - markdown + - yaml + - user + - team + - proto + spec: + enum: + - open-api + - embedded-url + - async-api + colorized: + type: boolean + colors: + type: object + items: + type: object + properties: + type: + enum: + - string + - number + - boolean + - object + - array + format: + enum: + - date-time + - url + - email + - ipv4 + - ipv6 + - markdown + - yaml + - user + - team + - timer + - proto + required: + - calculation + - type + mirrorProperties: + type: object + description: The new [mirror properties](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/mirror-property/) of the blueprint.
+ propertyNames: + pattern: '^[A-Za-z0-9@_=\\-]+$' + additionalProperties: + type: object + properties: + path: + type: string + pattern: '^(?:[A-Za-z0-9@_=\-]+\.)+?(\w|\$|@|-)*?[^\.]+$' + title: + type: string + additionalProperties: false + required: + - path + aggregationProperties: + type: object + description: The new [aggregation properties](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/aggregation-property/) of the blueprint.
+ default: {} + propertyNames: + pattern: '^[A-Za-z0-9@_=\\-]+$' + additionalProperties: + type: object + properties: + title: + type: string + description: + type: string + icon: + type: string + type: + enum: + - number + default: number + target: + type: string + calculationSpec: + type: object + oneOf: + - oneOf: + - type: object + properties: + func: + enum: + - average + measureTimeBy: + type: string + averageOf: + type: string + enum: + - hour + - day + - week + - month + - total + calculationBy: + type: string + enum: + - entities + required: + - func + - calculationBy + - averageOf + - type: object + properties: + func: + enum: + - count + calculationBy: + type: string + enum: + - entities + required: + - func + - calculationBy + - oneOf: + - type: object + properties: + func: + type: string + enum: + - sum + - min + - max + - median + property: + type: string + calculationBy: + type: string + enum: + - property + additionalProperties: false + required: + - func + - property + - calculationBy + - type: object + properties: + func: + enum: + - average + measureTimeBy: + type: string + averageOf: + type: string + enum: + - hour + - day + - week + - month + - total + property: + type: string + calculationBy: + type: string + enum: + - property + additionalProperties: false + required: + - func + - property + - calculationBy + - averageOf + query: + $ref: '#/components/schemas/def-0' + additionalProperties: false + required: + - title + - target + - calculationSpec + relations: + type: object + description: The new [relations](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-data-model/relate-blueprints/) of the blueprint.
+ propertyNames: + pattern: '^[A-Za-z0-9@_=\\-]+$' + additionalProperties: + type: object + properties: + title: + type: string + target: + type: string + required: + type: boolean + default: false + many: + type: boolean + default: false + description: + type: string + additionalProperties: false + required: + - target + - required + - many + changelogDestination: + description: The destination of the blueprint's changelog.
+ oneOf: + - type: object + title: Webhook + description: The changelog will be sent to the specified webhook.
+ properties: + type: + type: string + enum: + - WEBHOOK + agent: + type: boolean + description: If `true`, Port's execution agent will be used to send the changelog.
+ url: + type: string + description: The URL of the webhook.
+ format: uri + required: + - url + - type + additionalProperties: false + - type: object + title: Kafka + description: The changelog will be sent to the Kafka topic connected to your Port account.
+ properties: + type: + type: string + enum: + - KAFKA + required: + - type + additionalProperties: false + additionalProperties: true + parameters: + - schema: + type: string + in: path + name: identifier + description: The identifier of the blueprint you want to patch.
+ required: true + security: + - bearer: [] + responses: + '200': + description: Default Response + delete: + summary: Delete a blueprint + description: This route allows you to delete a specific blueprint in your Port account.

To learn more about blueprints, check out the [documentation](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/). + tags: + - Blueprints + parameters: + - schema: + type: boolean + in: query + name: delete_actions + description: If `true`, all self-service actions associated with this blueprint will be deleted as well.
+ required: false + - schema: + type: string + in: path + name: identifier + description: The identifier of the blueprint you want to delete.
+ required: true + security: + - bearer: [] + responses: + '200': + description: Deleted successfully. + # content: + # application/json: + # schema: + # description: Deleted successfully. + # type: object + # properties: + # ok: + # enum: + # - true + # additionalProperties: false + # required: + # - ok + '/v1/blueprints/{identifier}/properties/{property_name}/rename': + patch: + summary: Rename a property in a blueprint + description: This route allows you to change the identifier of a property in a specific blueprint in your Port account.

To learn more about blueprints, check out the [documentation](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/). + tags: + - Blueprints + requestBody: + content: + application/json: + schema: + type: object + properties: + newPropertyName: + type: string + description: The new identifier of the property.
+ pattern: '^[A-Za-z0-9@_=\\-]+$' + additionalProperties: false + parameters: + - schema: + type: string + in: path + name: identifier + description: The identifier of the blueprint you want to change.
+ required: true + - schema: + type: string + in: path + name: property_name + description: The identifier of the property you want to rename.
+ required: true + security: + - bearer: [] + responses: + '200': + description: Default Response + '/v1/blueprints/{identifier}/mirror/{mirror_name}/rename': + patch: + summary: Rename a blueprint's mirror property + description: This route allows you to change the identifier of a mirror property in a specific blueprint in your Port account.

To learn more about blueprints, check out the [documentation](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/). + tags: + - Blueprints + requestBody: + content: + application/json: + schema: + type: object + properties: + newMirrorName: + type: string + description: The new identifier of the mirror property.
+ pattern: '^[A-Za-z0-9@_=\\-]+$' + additionalProperties: false + parameters: + - schema: + type: string + in: path + name: identifier + description: The identifier of the blueprint you want to change.
+ required: true + - schema: + type: string + in: path + name: mirror_name + description: The identifier of the mirror property you want to rename.
+ required: true + security: + - bearer: [] + responses: + '200': + description: Default Response + '/v1/blueprints/{identifier}/relations/{relation_identifier}/rename': + patch: + summary: Rename a blueprint's relation + description: This route allows you to change the identifier of a relation in a specific blueprint in your Port account.

To learn more about blueprints, check out the [documentation](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/). + tags: + - Blueprints + requestBody: + content: + application/json: + schema: + type: object + properties: + newRelationIdentifier: + type: string + description: The new identifier of the relation.
+ pattern: '^[A-Za-z0-9@_=\\-]+$' + additionalProperties: false + parameters: + - schema: + type: string + in: path + name: identifier + description: The identifier of the blueprint you want to change.
+ required: true + - schema: + type: string + in: path + name: relation_identifier + description: The identifier of the relation you want to rename.
+ required: true + security: + - bearer: [] + responses: + '200': + description: Default Response + /v1/actions: + post: + summary: Create an action + description: This route allows you to create a new self-service action in your Port account.

To learn more about actions, check out the [documentation](https://docs.getport.io/create-self-service-experiences/). + tags: + - Actions + requestBody: + content: + application/json: + schema: + type: object + properties: + identifier: + type: string + description: The identifier of the new action.
+ pattern: ^[A-Za-z0-9@_.:\\/=-]+$ + title: + type: string + description: The title of the new action.
+ icon: + type: string + description: The icon of the new action.
+ description: + type: string + description: The description of the new action.
+ trigger: + oneOf: + - type: object + description: The trigger definition of the new action.
+ title: Self-service + properties: + type: + type: string + enum: + - self-service + blueprintIdentifier: + type: string + description: The identifier of the blueprint that the action is associated with. Note that this is optional, as actions do not have to be tied directly to a blueprint.
+ operation: + type: string + description: The [operation type](https://docs.getport.io/create-self-service-experiences/setup-ui-for-action/#basic-details) of the action.
+ enum: + - CREATE + - DELETE + - DAY-2 + userInputs: + type: object + description: The [user inputs](https://docs.getport.io/create-self-service-experiences/setup-ui-for-action/user-inputs/) of the action.
+ properties: + properties: + type: object + propertyNames: + pattern: ^[A-Za-z0-9@_=\\-]+$ + additionalProperties: + type: object + properties: + type: + enum: + - string + - number + - boolean + - object + - array + format: + enum: + - date-time + - url + - email + - ipv4 + - ipv6 + - yaml + - entity + - user + - team + - proto + - markdown + blueprint: + type: string + description: When using the `entity` format, this is the identifier of the blueprint whose entities will be selectable via this input.
+ dependsOn: + type: array + description: The identifiers of the inputs that this input depends on. This input will be disabled until they have been given a value.
+ items: + type: string + visible: + description: The visibility of the input. Resolves to a boolean value (`true` = visible).
+ oneOf: + - type: object + title: jqQuery + properties: + jqQuery: + type: string + description: A [jq query](https://stedolan.github.io/jq/manual/) that resolves to `true` or `false`, determining the visibility of the input.
+ required: + - jqQuery + additionalProperties: false + - type: boolean + title: boolean + description: A boolean value determining the visibility of the input.
+ icon: + type: string + description: The icon of the input.
+ dataset: + type: object + properties: + combinator: + type: string + description: The combinator to use when calculating the rules.
+ enum: + - and + - or + rules: + type: array + minItems: 1 + items: + anyOf: + - type: object + title: Empty Rule + properties: + operator: + enum: + - isEmpty + - isNotEmpty + property: + type: string + required: + - operator + - property + additionalProperties: false + - type: object + title: Date Rule + properties: + property: + type: string + operator: + enum: + - between + - notBetween + - = + value: + type: object + oneOf: + - type: object + properties: + from: + type: string + format: date-time + to: + type: string + format: date-time + required: + - from + - to + - type: object + properties: + preset: + type: string + enum: + - today + - tomorrow + - yesterday + - lastWeek + - last2Weeks + - lastMonth + - last3Months + - last6Months + - last12Months + required: + - preset + required: + - property + - operator + - value + additionalProperties: false + - type: object + title: Number Rule + properties: + property: + type: string + operator: + enum: + - ">" + - ">=" + - < + - <= + value: + oneOf: + - type: + - number + - type: object + properties: + jqQuery: + type: string + required: + - jqQuery + additionalProperties: false + required: + - property + - operator + - value + additionalProperties: false + - type: object + title: String Rule + properties: + property: + type: string + operator: + enum: + - = + - "!=" + - containsAny + - contains + - doesNotContains + - beginsWith + - doesNotBeginsWith + - endsWith + - doesNotEndsWith + - in + - notIn + value: + anyOf: + - type: "null" + - type: string + - type: number + - type: boolean + - type: array + items: + type: string + - type: string + format: date-time + - type: object + properties: + jqQuery: + type: string + required: + - jqQuery + additionalProperties: false + additionalProperties: false + required: + - property + - operator + - value + - type: object + title: Relation Rule + properties: + operator: + enum: + - relatedTo + blueprint: + type: string + value: + anyOf: + - type: string + - type: object + properties: + jqQuery: + type: string + required: + - jqQuery + additionalProperties: false + direction: + enum: + - upstream + - downstream + required: + type: boolean + additionalProperties: false + required: + - operator + - value + - blueprint + - type: object + title: Schema Rule + properties: + propertySchema: + type: object + properties: + type: + type: string + format: + type: string + required: + - type + additionalProperties: false + operator: + enum: + - = + - "!=" + value: + anyOf: + - type: "null" + - type: string + - type: number + - type: boolean + - type: object + properties: + jqQuery: + type: string + required: + - jqQuery + additionalProperties: false + required: + - operator + - propertySchema + additionalProperties: false + required: + - combinator + - rules + required: + - type + required: + description: The required inputs' identifier/s. The inputs specified in this array must be given a value when executing the action.
+ oneOf: + - type: object + title: jqQuery + description: A jq query that resolves to an array of the required inputs' identifiers.
+ properties: + jqQuery: + type: string + required: + - jqQuery + additionalProperties: false + - type: array + title: array + description: An array of the required inputs' identifiers.
+ items: + type: string + order: + type: array + description: The order of the inputs. The order of the identifiers in this array will determine the order of the inputs in the UI.
+ items: + type: string + additionalProperties: false + required: + - properties + required: + - type + - operation + - userInputs + additionalProperties: false + invocationMethod: + description: Details the action's backend type and details.
+ oneOf: + - type: object + title: Kafka + properties: + type: + type: string + enum: + - KAFKA + payload: + description: An object containing the [action payload](https://docs.getport.io/create-self-service-experiences/setup-backend/#define-the-actions-payload).
+ type: object + # oneOf: + # - type: array + # - type: object + required: + - type + additionalProperties: false + - type: object + title: Webhook + properties: + type: + type: string + enum: + - WEBHOOK + url: + type: string + description: The URL of the webhook.
+ agent: + type: boolean + description: If `true`, Port's [execution agent](https://docs.getport.io/create-self-service-experiences/setup-backend/webhook/port-execution-agent/) will be used to handle invocations of this action.
+ # oneOf: + # - type: boolean + # - type: string + synchronized: + type: boolean + description: If `true`, the action will be executed [synchronously](https://docs.getport.io/create-self-service-experiences/setup-backend/webhook/#sync-vs-async-execution).
+ # oneOf: + # - type: boolean + # - type: string + method: + type: string + description: The HTTP method of the webhook (`POST`, `PUT`, `PATCH`, or `DELETE`).
+ headers: + type: object + description: A JSON object containing the headers to be sent to the webhook in each execution, in `"key"`:`"value"` pairs.
+ # additionalProperties: + # type: string + body: + type: object + description: The body sent to the webhook in each execution. This is where the [action payload](https://docs.getport.io/create-self-service-experiences/setup-backend/#define-the-actions-payload) is specified.
+ # oneOf: + # - type: array + # - type: object + required: + - type + - url + additionalProperties: false + - type: object + title: GitHub + properties: + type: + type: string + enum: + - GITHUB + org: + type: string + description: The Github organization in which the workflow is located.
+ repo: + type: string + description: The Github repository in which the workflow is located.
+ workflow: + type: string + description: The name of the workflow (YAML file) to trigger. The file should be placed under `.github/workflows/`.
+ workflowInputs: + type: object + description: The [action payload](https://docs.getport.io/create-self-service-experiences/setup-backend/#define-the-actions-payload) to be sent to Github upon execution.
+ reportWorkflowStatus: + type: boolean + description: If `true`, the action run will update its status automatically based on the workflow's result (pass/fail).
+ # oneOf: + # - type: boolean + # - type: string + required: + - type + - org + - repo + - workflow + additionalProperties: false + - type: object + title: GitLab + properties: + type: + type: string + enum: + - GITLAB + projectName: + type: string + description: The GitLab project in which the pipeline is located.
+ groupName: + type: string + description: The GitLab group in which the project is located.
+ defaultRef: + type: string + description: The default ref (branch/tag name) we want the action to use. Default ref can be overridden dynamically by adding "ref" as a user input. If not set, the agent triggers the `main` branch. + pipelineVariables: + type: object + description: The [action payload](https://docs.getport.io/create-self-service-experiences/setup-backend/#define-the-actions-payload) to be sent to GitLab upon execution.
+ required: + - type + - projectName + - groupName + additionalProperties: false + - type: object + title: Azure DevOps + properties: + type: + type: string + enum: + - AZURE_DEVOPS + webhook: + type: string + description: The name of the webhook resource in the Azure YAML pipeline file.
+ org: + type: string + description: The Azure DevOps organization in which the pipeline is located.
+ payload: + type: object + description: The [action payload](https://docs.getport.io/create-self-service-experiences/setup-backend/#define-the-actions-payload) to be sent to Azure DevOps upon execution.
+ # oneOf: + # - type: array + # - type: object + required: + - type + - webhook + - org + additionalProperties: false + requiredApproval: + type: boolean + description: If `true`, the action will require approval for each execution.
+ approvalNotification: + type: object + description: The notification configuration for the approval process. Relevant only if `requiredApproval` is set to `true`.
+ properties: + type: + type: string + enum: + - webhook + - email + default: email + oneOf: + - type: object + title: Webhook + properties: + type: + type: string + enum: + - webhook + format: + type: string + enum: + - json + - slack + url: + type: string + description: The URL of the webhook.
+ format: uri + required: + - type + - url + additionalProperties: false + - type: object + title: Email + properties: + type: + type: string + enum: + - email + required: + - type + additionalProperties: false + required: + - type + publish: + type: boolean + description: If `true`, the action will be visible to all users and available for use.
+ additionalProperties: false + required: + - identifier + - trigger + - invocationMethod + required: true + security: + - bearer: + - create:actions + responses: + "200": + description: Default Response + get: + summary: Get actions + description: This route allows you to fetch one or more self-service actions in your Port account.

The call will perform a logical `AND` between all query parameters below, and return all actions that match the criteria.

To learn more about actions, check out the [documentation](https://docs.getport.io/create-self-service-experiences/). + tags: + - Actions + parameters: + - schema: + type: array + items: + type: string + in: query + name: action_identifier + description: The identifier/s of the action/s you want to fetch.
+ required: false + - schema: + type: array + items: + type: string + in: query + name: blueprint_identifier + description: The identifier/s of the blueprint/s whose actions you wish to fetch.
+ required: false + - schema: + type: array + items: + type: string + enum: + - CREATE + - DELETE + - DAY-2 + in: query + name: operation + description: The [operation type/s](https://docs.getport.io/create-self-service-experiences/setup-ui-for-action/#basic-details) of the action/s you want to fetch.
+ required: false + - schema: + type: boolean + in: query + name: published + description: If `true`, only published actions will be fetched.
+ required: false + - schema: + type: string + enum: + - self-service + in: query + name: trigger_type + required: false + - schema: + type: string + enum: + - v1 + - v2 + in: query + name: version + required: false + security: + - bearer: + - read:actions + responses: + "200": + description: Default Response + '/v1/actions/runs/{run_id}': + patch: + summary: Patch an action run + description: This route allows you to patch an action run's details. This can be used to update the run's status & label, and add links to it (e.g. external logs of the job runner).

To learn more about action runs, check out the [documentation](https://docs.getport.io/create-self-service-experiences/reflect-action-progress/). + tags: + - Action Runs + requestBody: + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - SUCCESS + - FAILURE + statusLabel: + type: string + description: A label to describe the status of the action run.
+ link: + description: One or more links to be displayed in the run's page in Port. For example, a link to the external logs of the job runner.
+ oneOf: + - type: string + title: string + format: url + - type: array + title: array + items: + type: string + format: url + # message: + # type: object + # deprecated: true + summary: + type: string + description: A summary of the action run, which will be displayed in the run's page in Port.
+ externalRunId: + type: string + description: The run id of your backend, for example the id that GitHub gives the workflow. This can be used to identify the action run instead of the `run_id`.
+ additionalProperties: false + parameters: + - schema: + type: string + enum: + - v1 + - v2 + in: query + name: version + required: false + - schema: + type: string + in: path + name: run_id + description: The identifier of the action run you want to patch.
+ required: true + security: + - bearer: [] + responses: + '200': + description: Default Response + get: + summary: Get an action run's details + description: This route allows you to fetch the details of an action run.

To learn more about action runs, check out the [documentation](https://docs.getport.io/create-self-service-experiences/reflect-action-progress/). + tags: + - Action Runs + parameters: + - schema: + type: string + enum: + - v1 + - v2 + in: query + name: version + required: false + - schema: + type: string + in: path + name: run_id + description: The identifier of the action run you want to fetch.
+ required: true + security: + - bearer: + - 'read:runs' + responses: + '200': + description: Default Response + '/v1/actions/runs/{run_id}/approval': + patch: + summary: Approve an action's run + description: This route allows you to approve or decline a request to execute an action that requires approval.

To learn more about manual approval for actions, check out the [documentation](https://docs.getport.io/create-self-service-experiences/set-self-service-actions-rbac/#configure-manual-approval-for-actions). + tags: + - Action Runs + requestBody: + content: + application/json: + schema: + type: object + properties: + status: + type: string + enum: + - APPROVE + - DECLINE + description: + type: string + description: A description and/or reason for the given status.
+ additionalProperties: false + required: + - status + required: true + parameters: + # - schema: + # type: string + # enum: + # - v1 + # - v2 + # in: query + # name: version + # required: false + - schema: + type: string + in: path + name: run_id + description: The identifier of the action run you want to approve/decline.
+ required: true + security: + - bearer: [] + responses: + '200': + description: Default Response + /v1/actions/runs: + get: + summary: Get all action runs + description: This route allows you to fetch all action runs in your Port account. The route will perform a logical `AND` between all query parameters below, and return all action runs that match the criteria.

To learn more about action runs, check out the [documentation](https://docs.getport.io/create-self-service-experiences/reflect-action-progress/). + tags: + - Action Runs + parameters: + - schema: + type: string + in: query + name: entity + description: The identifier of the entity associated with the action run.
+ required: false + - schema: + type: string + in: query + name: blueprint + description: The identifier of the blueprint associated with the action run.
+ required: false + - schema: + type: boolean + in: query + name: active + description: If `true`, only running action runs will be fetched.
+ required: false + - schema: + type: string + in: query + name: user_email + description: The email of the user who initiated the action run.
+ required: false + - schema: + type: number + minimum: 1 + maximum: 50 + in: query + name: limit + description: The maximum number of action runs to fetch.
+ required: false + - schema: + type: string + in: query + name: external_run_id + description: The run id of your backend, for example the id that GitHub gives the workflow. This can be used to identify the action run instead of the `run_id`.
+ required: false + # - schema: + # type: string + # enum: + # - v1 + # - v2 + # in: query + # name: version + # required: false + security: + - bearer: + - 'read:runs' + responses: + '200': + description: Default Response + '/v1/actions/runs/{run_id}/logs': + post: + summary: Add a log to an action run + description: This route allows you to send a log message back to Port, which will be displayed in the action run's page. You can also use this route to update the run's termination status (SUCCESS/FAILURE) and label describing the status.

To learn more about action runs, check out the [documentation](https://docs.getport.io/create-self-service-experiences/reflect-action-progress/). + tags: + - Action Runs + requestBody: + content: + application/json: + schema: + type: object + properties: + terminationStatus: + type: string + description: The termination status of the action run. Can be left blank if you only want to send a log message.
+ enum: + - SUCCESS + - FAILURE + statusLabel: + type: string + description: A label to describe the status of the action run. Can be left blank if you only want to send a log message.
+ message: + type: string + description: The log message to send back to Port.
+ additionalProperties: false + required: + - message + required: true + parameters: + - schema: + type: string + in: path + name: run_id + required: true + security: + - bearer: [] + responses: + '200': + description: Default Response + get: + summary: Get an action's run logs + description: This route allows you to fetch the logs from an action run.

To learn more about action runs, check out the [documentation](https://docs.getport.io/create-self-service-experiences/reflect-action-progress/). + tags: + - Action Runs + parameters: + - schema: + type: number + minimum: 1 + maximum: 50 + in: query + name: limit + description: The maximum number of logs to fetch.
+ required: false + - schema: + type: number + in: query + name: offset + description: The number of logs to skip.
+ required: false + - schema: + type: string + in: path + name: run_id + description: The identifier of the action run you want to fetch logs for.
+ required: true + security: + - bearer: [] + responses: + '200': + description: Default Response + /v1/teams: + get: + summary: Get all teams in your organization + description: This route allows you to fetch all of the teams in your Port organization.

To learn more about teams, check out the [documentation](https://docs.getport.io/sso-rbac/rbac-overview/). + tags: + - Teams + parameters: + - schema: + type: array + items: + type: string + enum: + - id + - name + - createdAt + - updatedAt + - provider + - description + - users.firstName + - users.lastName + - users.email + - users.picture + - users.status + in: query + name: fields + description: The fields you want to fetch for each team. If used, only the specified fields will be included in the response.
+ required: false + security: + - bearer: + - 'read:teams' + responses: + '200': + description: Default Response + post: + summary: Create a team + description: This route allows you to create a new team in your Port organization.

To learn more about teams, check out the [documentation](https://docs.getport.io/sso-rbac/rbac-overview/). + tags: + - Teams + requestBody: + content: + application/json: + schema: + type: object + properties: + name: + type: string + description: The name of the new team.
+ pattern: '^[^;#/\?\s][^;#/\?]*[^;#/\?\s]$' + users: + type: array + description: One or more e-mail addresses of users to add to the new team.
+ items: + type: string + description: + type: string + description: The description of the new team.
+ required: + - name + required: true + security: + - bearer: + - 'create:teams' + responses: + '200': + description: Default Response + '/v1/teams/{name}': + get: + summary: Get a team + description: This route allows you to fetch a specific team in your Port organization.

To learn more about teams, check out the [documentation](https://docs.getport.io/sso-rbac/rbac-overview/). + tags: + - Teams + parameters: + - schema: + type: array + items: + enum: + - id + - name + - createdAt + - updatedAt + - provider + - description + - users.firstName + - users.lastName + - users.email + - users.picture + - users.status + in: query + name: fields + description: The fields you want to fetch for the team. If used, only the specified fields will be included in the response.
+ required: false + - schema: + type: string + in: path + name: name + description: The name of the team you want to fetch.
+ required: true + security: + - bearer: + - 'read:teams' + responses: + '200': + description: Default Response + patch: + summary: Patch a team + description: This route allows you to patch a team's details. This can be used to update the team's name, users, and description.

To learn more about teams, check out the [documentation](https://docs.getport.io/sso-rbac/rbac-overview/). + tags: + - Teams + requestBody: + content: + application/json: + schema: + type: object + properties: + name: + type: string + description: The new name of the team.
+ users: + type: array + description: One or more e-mail addresses of users to add to the new team. This will override the existing user list.
+ items: + type: string + description: + type: + - string + # - 'null' + description: The new description of the team.
+ parameters: + - schema: + type: string + in: path + name: name + description: The name of the team you want to patch.
+ required: true + security: + - bearer: + - 'update:teams' + responses: + '200': + description: Default Response + put: + summary: Change a team + description: This route allows you to change a team's details. This can be used to update the team's name, users, and description.

To learn more about teams, check out the [documentation](https://docs.getport.io/sso-rbac/rbac-overview/). + tags: + - Teams + requestBody: + content: + application/json: + schema: + type: object + properties: + name: + type: string + description: The new name of the team.
+ users: + type: array + description: One or more e-mail addresses of users to add to the new team. This will override the existing user list.
+ items: + type: string + description: + type: string + description: The new description of the team.
+ required: + - name + required: true + parameters: + - schema: + type: string + in: path + name: name + description: The name of the team you want to change.
+ required: true + security: + - bearer: + - 'update:teams' + responses: + '200': + description: Default Response + delete: + summary: Delete a team + description: This route allows you to delete a team in your Port organization.

To learn more about teams, check out the [documentation](https://docs.getport.io/sso-rbac/rbac-overview/). + tags: + - Teams + parameters: + - schema: + type: string + in: path + name: name + description: The name of the team you want to delete.
+ required: true + security: + - bearer: + - 'delete:teams' + responses: + '200': + description: Default Response + /v1/users: + get: + summary: Get all users in your organization + description: This route allows you to fetch all of the users in your Port organization.

To learn more about users, check out the [documentation](https://docs.getport.io/sso-rbac/rbac-overview/). + tags: + - Users + parameters: + - schema: + type: array + items: + type: string + enum: + - id + - email + - firstName + - lastName + - phoneNumber + - picture + - status + - providers + - createdAt + - updatedAt + - teams.name + - teams.provider + - teams.createdAt + - teams.updatedAt + - roles.name + - roles.description + - roles.isAdmin + - roles.protected + - roles.createdAt + - roles.updatedAt + in: query + name: fields + description: The fields you want to fetch for each user. If used, only the specified fields will be included in the response.
+ required: false + security: + - bearer: + - 'read:users' + responses: + '200': + description: Default Response + /v1/users/invite: + post: + summary: Invite a user to your organization + description: This route allows you to invite a user to your Port organization.

To learn more about users, roles, and teams, check out the [documentation](https://docs.getport.io/sso-rbac/rbac-overview/). + tags: + - Users + requestBody: + content: + application/json: + schema: + type: object + properties: + invitee: + type: object + description: The details of the user you want to invite.
+ properties: + email: + type: string + description: The user's email address.
+ pattern: '^[^;#/\?\s][^;#/\?]*[^;#/\?\s]$' + roles: + type: array + description: The roles you want to assign to the user.
+ items: + type: string + teams: + type: array + description: The names of the teams you want to assign the user to.
+ items: + type: string + required: + - email + additionalProperties: false + required: + - invitee + required: true + parameters: + - schema: + type: boolean + default: true + in: query + name: notify + description: If `true`, the invitee will receive an email notification.
+ required: false + security: + - bearer: + - 'create:users' + responses: + '200': + description: Default Response + '/v1/users/{user_email}': + get: + summary: Get a user + description: This route allows you to fetch a specific user in your Port organization.

To learn more about users, check out the [documentation](https://docs.getport.io/sso-rbac/rbac-overview/). + tags: + - Users + parameters: + - schema: + type: string + in: path + name: user_email + description: The email address of the user you want to fetch.
+ required: true + security: + - bearer: + - 'read:users' + responses: + '200': + description: Default Response + patch: + summary: Patch a user + description: This route allows you to patch a user's details. This can be used to update the user's role/s and team/s.

To learn more about users, roles, and teams, check out the [documentation](https://docs.getport.io/sso-rbac/rbac-overview/). + tags: + - Users + requestBody: + content: + application/json: + schema: + type: object + properties: + roles: + type: array + description: The roles you want to assign to the user.
+ minItems: 1 + items: + type: string + teams: + type: array + description: The names of the teams you want to assign the user to.
+ items: + type: string + additionalProperties: false + parameters: + - schema: + type: string + in: path + name: user_email + description: The email address of the user you want to patch.
+ required: true + security: + - bearer: + - 'update:users' + responses: + '200': + description: Default Response + delete: + summary: Delete a user + description: This route allows you to delete a user in your Port organization.

To learn more about users, check out the [documentation](https://docs.getport.io/sso-rbac/rbac-overview/). + tags: + - Users + parameters: + - schema: + type: string + in: path + name: user_email + description: The email address of the user you want to delete.
+ required: true + security: + - bearer: + - 'delete:users' + responses: + '200': + description: Default Response + /v1/audit-log: + get: + summary: Get audit logs + description: This route allows you to fetch audit logs from your Port account. Your audit logs can also be viewed via [Port's UI](https://app.getport.io/settings/AuditLog).

This route will perform a logical `AND` between all query parameters below, and return all logs that match the criteria. + tags: + - Audit + parameters: + - schema: + type: string + in: query + name: identifier + description: An identifier of the log event you want to fetch.
+ required: false + - schema: + type: string + in: query + name: entity + description: Fetch all audit logs related to the specified entity.
+ required: false + - schema: + type: string + in: query + name: blueprint + description: Fetch all audit logs related to the specified blueprint.
+ required: false + - schema: + type: string + in: query + name: run_id + description: Fetch all audit logs related to the specified action run.
+ required: false + - schema: + type: string + in: query + name: webhookId + description: Fetch all audit logs related to the specified webhook.
+ required: false + - schema: + type: string + in: query + name: webhookEventId + description: Fetch all audit logs related to the specified webhook event.
+ required: false + - schema: + type: array + items: + type: string + in: query + name: origin + description: Fetch all audit logs coming from the specified origin/s. This refers to the integration/s that triggered the log. For operations performed via Port's UI, the origin will be `UI`.
+ required: false + - schema: + type: string + in: query + name: InstallationId + description: Fetch all audit logs related to the specified integration.
+ required: false + - schema: + type: array + items: + type: string + enum: + - blueprint + - entity + - run + - webhook + - scorecard + - action + # anyOf: + # - type: array + # items: + # enum: + # - blueprint + # - entity + # - run + # - webhook + # - scorecard + # - action + # - type: string + # enum: + # - blueprint + # - entity + # - run + # - webhook + # - scorecard + # - action + in: query + name: resources + description: Fetch all audit logs related to the specified resource type/s.
+ required: false + - schema: + type: array + items: + enum: + - action + - context + - diff + - identifier + - resourceType + - status + - trigger + - additionalData + - message + in: query + name: includes + description: The fields you want to include in the response. If used, only the specified fields will be included in the response.
+ required: false + - schema: + type: string + format: date-time + in: query + name: from + description: The starting timestamp of the audit logs you want to fetch, in the ISO format `2022-04-23T18:25:43.511Z`.
+ required: false + - schema: + type: string + format: date-time + in: query + name: to + description: The ending timestamp of the audit logs you want to fetch, in the ISO format `2022-04-23T18:25:43.511Z`.
+ required: false + - schema: + type: string + in: query + name: action + description: Fetch all audit logs with the specified action type - `CREATE`, `UPDATE`, or `DELETE`.
+ required: false + - schema: + type: string + enum: + - SUCCESS + - FAILURE + in: query + name: status + description: Fetch all audit logs with the specified status.
+ required: false + - schema: + type: number + in: query + name: limit + description: The maximum number of logs to fetch.
+ required: false + security: + - bearer: + - 'read:audit-log' + responses: + '200': + description: Default Response + '/v1/blueprints/{blueprint_identifier}/scorecards': + post: + summary: Create a scorecard for a blueprint + description: This route allows you to create a scorecard for a given blueprint. A scorecard is a set of rules that define the quality of a blueprint.

To learn more about scorecards, check out the [documentation](https://docs.getport.io/promote-scorecards/). + tags: + - Scorecards + requestBody: + content: + application/json: + schema: + type: object + properties: + identifier: + type: string + pattern: '^[A-Za-z0-9@_.:\\/=-]+$' + description: A unique identifier for the scorecard.
+ title: + type: string + description: The title of the scorecard.
+ filter: + type: object + description: An optional set of [conditions](https://docs.getport.io/promote-scorecards/#conditions) to filter entities that will be evaluated by the scorecard.
+ properties: + combinator: + type: string + description: The combinator to use when evaluating the conditions.
+ enum: + - and + - or + conditions: + type: array + description: The conditions to evaluate.
+ minItems: 1 + items: + anyOf: + - type: object + title: Property comparison + properties: + property: + type: string + operator: + type: string + enum: + - = + - '!=' + - '>' + - < + - '>=' + - <= + - contains + - doesNotContains + - beginsWith + - doesNotBeginsWith + - endsWith + - doesNotEndsWith + value: + oneOf: + - type: string + title: string + - type: number + title: number + - type: boolean + title: boolean + required: + - property + - operator + - value + - type: object + title: Relation comparison + properties: + relation: + type: string + operator: + type: string + enum: + - = + - '!=' + - contains + - doesNotContains + - beginsWith + - doesNotBeginsWith + - endsWith + - doesNotEndsWith + value: + oneOf: + - type: string + title: string + - type: number + title: number + - type: boolean + title: boolean + required: + - relation + - operator + - value + - type: object + title: Property empty condition + properties: + not: + type: boolean + property: + type: string + operator: + type: string + enum: + - isEmpty + - isNotEmpty + required: + - property + - operator + - type: object + title: Relation empty condition + properties: + not: + type: boolean + relation: + type: string + operator: + type: string + enum: + - isEmpty + - isNotEmpty + required: + - relation + - operator + required: + - combinator + - conditions + rules: + description: The [rules](https://docs.getport.io/promote-scorecards/#rule-elements) that define the scorecard.
+ type: array + items: + type: object + properties: + identifier: + type: string + pattern: '^[A-Za-z0-9@_=\\-]+$' + title: + type: string + description: + type: string + level: + type: string + enum: + - Gold + - Silver + - Bronze + query: + type: object + properties: + combinator: + type: string + enum: + - and + - or + conditions: + type: array + minItems: 1 + items: + anyOf: + - type: object + title: Property comparison + properties: + property: + type: string + operator: + type: string + enum: + - = + - '!=' + - '>' + - < + - '>=' + - <= + - contains + - doesNotContains + - beginsWith + - doesNotBeginsWith + - endsWith + - doesNotEndsWith + value: + oneOf: + - type: string + - type: number + - type: boolean + required: + - property + - operator + - value + - type: object + title: Relation comparison + properties: + relation: + type: string + operator: + type: string + enum: + - = + - '!=' + - contains + - doesNotContains + - beginsWith + - doesNotBeginsWith + - endsWith + - doesNotEndsWith + value: + oneOf: + - type: string + - type: number + - type: boolean + required: + - relation + - operator + - value + - type: object + title: Property empty condition + properties: + not: + type: boolean + property: + type: string + operator: + type: string + enum: + - isEmpty + - isNotEmpty + required: + - property + - operator + - type: object + title: Relation empty condition + properties: + not: + type: boolean + relation: + type: string + operator: + type: string + enum: + - isEmpty + - isNotEmpty + required: + - relation + - operator + required: + - combinator + - conditions + required: + - identifier + - title + - level + - query + additionalProperties: false + required: + - identifier + - title + - rules + required: true + parameters: + - schema: + type: string + in: path + name: blueprint_identifier + description: The identifier of the blueprint you want to run scorecards for.
+ required: true + security: + - bearer: [] + responses: + '200': + description: Default Response + text/plain; x-api-version=2.0: + schema: + type: string + '400': + description: Default Response + put: + summary: Change a blueprint's scorecards + description: This route allows you to modify one or more scorecards of a given blueprint. A scorecard is a set of rules that define the quality of a blueprint.

To learn more about scorecards, check out the [documentation](https://docs.getport.io/promote-scorecards/). + tags: + - Scorecards + requestBody: + content: + application/json: + schema: + type: array + description: An array of the scorecards to update.
+ items: + type: object + properties: + identifier: + type: string + description: The identifier of the scorecard.
+ pattern: '^[A-Za-z0-9@_.:\\/=-]+$' + title: + type: string + description: The title of the scorecard.
+ filter: + type: object + description: An optional set of [conditions](https://docs.getport.io/promote-scorecards/#conditions) to filter entities that will be evaluated by the scorecard.
+ properties: + combinator: + type: string + enum: + - and + - or + conditions: + type: array + minItems: 1 + items: + anyOf: + - type: object + title: Property comparison + properties: + property: + type: string + operator: + type: string + enum: + - = + - '!=' + - '>' + - < + - '>=' + - <= + - contains + - doesNotContains + - beginsWith + - doesNotBeginsWith + - endsWith + - doesNotEndsWith + value: + oneOf: + - type: string + - type: number + - type: boolean + required: + - property + - operator + - value + - type: object + title: Relation comparison + properties: + relation: + type: string + operator: + type: string + enum: + - = + - '!=' + - contains + - doesNotContains + - beginsWith + - doesNotBeginsWith + - endsWith + - doesNotEndsWith + value: + oneOf: + - type: string + - type: number + - type: boolean + required: + - relation + - operator + - value + - type: object + title: Property empty condition + properties: + not: + type: boolean + property: + type: string + operator: + type: string + enum: + - isEmpty + - isNotEmpty + required: + - property + - operator + - type: object + title: Relation empty condition + properties: + not: + type: boolean + relation: + type: string + operator: + type: string + enum: + - isEmpty + - isNotEmpty + required: + - relation + - operator + required: + - combinator + - conditions + rules: + type: array + description: The [rules](https://docs.getport.io/promote-scorecards/#rule-elements) that define the scorecard.
+ items: + type: object + properties: + identifier: + type: string + pattern: '^[A-Za-z0-9@_=\\-]+$' + title: + type: string + description: + type: string + level: + type: string + enum: + - Gold + - Silver + - Bronze + query: + type: object + properties: + combinator: + type: string + enum: + - and + - or + conditions: + type: array + minItems: 1 + items: + anyOf: + - type: object + title: Property comparison + properties: + property: + type: string + operator: + type: string + enum: + - = + - '!=' + - '>' + - < + - '>=' + - <= + - contains + - doesNotContains + - beginsWith + - doesNotBeginsWith + - endsWith + - doesNotEndsWith + value: + oneOf: + - type: string + title: string + - type: number + title: number + - type: boolean + title: boolean + required: + - property + - operator + - value + - type: object + title: Relation comparison + properties: + relation: + type: string + operator: + type: string + enum: + - = + - '!=' + - contains + - doesNotContains + - beginsWith + - doesNotBeginsWith + - endsWith + - doesNotEndsWith + value: + oneOf: + - type: string + title: string + - type: number + title: number + - type: boolean + title: boolean + required: + - relation + - operator + - value + - type: object + title: Property empty condition + properties: + not: + type: boolean + property: + type: string + operator: + type: string + enum: + - isEmpty + - isNotEmpty + required: + - property + - operator + - type: object + title: Relation empty condition + properties: + not: + type: boolean + relation: + type: string + operator: + type: string + enum: + - isEmpty + - isNotEmpty + required: + - relation + - operator + required: + - combinator + - conditions + required: + - identifier + - title + - level + - query + id: + type: string + additionalProperties: false + required: + - identifier + - title + - rules + parameters: + - schema: + type: string + in: path + name: blueprint_identifier + description: The identifier of the blueprint whose scorecard you want to change.
+ required: true + security: + - bearer: [] + responses: + '200': + description: Default Response + get: + summary: Get a blueprints' scorecards + description: This route allows you to fetch all scorecards for a given blueprint. A scorecard is a set of rules that define the quality of a blueprint.

To learn more about scorecards, check out the [documentation](https://docs.getport.io/promote-scorecards/). + tags: + - Scorecards + parameters: + - schema: + type: string + in: path + name: blueprint_identifier + description: The identifier of the blueprint whose scorecards you want to fetch.
+ required: true + security: + - bearer: + - 'read:scorecards' + responses: + '200': + description: Default Response + '/v1/blueprints/{blueprint_identifier}/scorecards/{scorecard_identifier}': + put: + summary: Change a blueprint's scorecard + description: This route allows you to modify a specific scorecard. A scorecard is a set of rules that define the quality of a blueprint.

To learn more about scorecards, check out the [documentation](https://docs.getport.io/promote-scorecards/). + tags: + - Scorecards + requestBody: + content: + application/json: + schema: + type: object + properties: + identifier: + type: string + description: The new identifier of the scorecard.
+ pattern: '^[A-Za-z0-9@_.:\\/=-]+$' + title: + type: string + description: The new title of the scorecard.
+ filter: + type: object + description: An optional set of [conditions](https://docs.getport.io/promote-scorecards/#conditions) to filter entities that will be evaluated by the scorecard.
+ properties: + combinator: + type: string + enum: + - and + - or + conditions: + type: array + minItems: 1 + items: + anyOf: + - type: object + properties: + property: + type: string + title: Property comparison + operator: + type: string + enum: + - = + - '!=' + - '>' + - < + - '>=' + - <= + - contains + - doesNotContains + - beginsWith + - doesNotBeginsWith + - endsWith + - doesNotEndsWith + value: + oneOf: + - type: string + title: string + - type: number + title: number + - type: boolean + title: boolean + required: + - property + - operator + - value + - type: object + title: Relation comparison + properties: + relation: + type: string + operator: + type: string + enum: + - = + - '!=' + - contains + - doesNotContains + - beginsWith + - doesNotBeginsWith + - endsWith + - doesNotEndsWith + value: + oneOf: + - type: string + title: string + - type: number + title: number + - type: boolean + title: boolean + required: + - relation + - operator + - value + - type: object + title: Property empty condition + properties: + not: + type: boolean + property: + type: string + operator: + type: string + enum: + - isEmpty + - isNotEmpty + required: + - property + - operator + - type: object + title: Relation empty condition + properties: + not: + type: boolean + relation: + type: string + operator: + type: string + enum: + - isEmpty + - isNotEmpty + required: + - relation + - operator + required: + - combinator + - conditions + rules: + description: The [rules](https://docs.getport.io/promote-scorecards/#rule-elements) that define the scorecard.
+ type: array + items: + type: object + properties: + identifier: + type: string + description: The identifier of the rule.
+ pattern: '^[A-Za-z0-9@_=\\-]+$' + title: + type: string + description: The title of the rule.
+ description: + type: string + description: A description for the rule.
+ level: + type: string + description: The [level](https://docs.getport.io/promote-scorecards/#scorecard-total-level-calculation) of the rule.
+ enum: + - Gold + - Silver + - Bronze + query: + type: object + properties: + combinator: + type: string + enum: + - and + - or + conditions: + type: array + minItems: 1 + items: + anyOf: + - type: object + title: Property comparison + properties: + property: + type: string + operator: + type: string + enum: + - = + - '!=' + - '>' + - < + - '>=' + - <= + - contains + - doesNotContains + - beginsWith + - doesNotBeginsWith + - endsWith + - doesNotEndsWith + value: + oneOf: + - type: string + title: string + - type: number + title: number + - type: boolean + title: boolean + required: + - property + - operator + - value + - type: object + title: Relation comparison + properties: + relation: + type: string + operator: + type: string + enum: + - = + - '!=' + - contains + - doesNotContains + - beginsWith + - doesNotBeginsWith + - endsWith + - doesNotEndsWith + value: + oneOf: + - type: string + title: string + - type: number + title: number + - type: boolean + title: boolean + required: + - relation + - operator + - value + - type: object + title: Property empty condition + properties: + not: + type: boolean + property: + type: string + operator: + type: string + enum: + - isEmpty + - isNotEmpty + required: + - property + - operator + - type: object + title: Relation empty condition + properties: + not: + type: boolean + relation: + type: string + operator: + type: string + enum: + - isEmpty + - isNotEmpty + required: + - relation + - operator + required: + - combinator + - conditions + required: + - identifier + - title + - level + - query + additionalProperties: false + required: + - identifier + - title + - rules + required: true + parameters: + - schema: + type: string + in: path + name: scorecard_identifier + description: The identifier of the scorecard you want to change.
+ required: true + - schema: + type: string + in: path + name: blueprint_identifier + description: The identifier of the blueprint whose scorecard you want to change.
+ required: true + security: + - bearer: [] + responses: + '200': + description: Default Response + get: + summary: Get a blueprint's scorecard + description: This route allows you to fetch a specific scorecard. A scorecard is a set of rules that define the quality of a blueprint.

To learn more about scorecards, check out the [documentation](https://docs.getport.io/promote-scorecards/). + tags: + - Scorecards + parameters: + - schema: + type: string + in: path + name: scorecard_identifier + description: The identifier of the scorecard you want to fetch.
+ required: true + - schema: + type: string + in: path + name: blueprint_identifier + description: The identifier of the blueprint whose scorecard you want to fetch.
+ required: true + security: + - bearer: + - 'read:scorecards' + responses: + '200': + description: Default Response + delete: + summary: Delete a blueprint's scorecard + description: This route allows you to delete a specific scorecard. A scorecard is a set of rules that define the quality of a blueprint.

To learn more about scorecards, check out the [documentation](https://docs.getport.io/promote-scorecards/). + tags: + - Scorecards + parameters: + - schema: + type: string + in: path + name: scorecard_identifier + description: The identifier of the scorecard you want to delete.
+ required: true + - schema: + type: string + in: path + name: blueprint_identifier + description: The identifier of the blueprint whose scorecard you want to delete.
+ required: true + security: + - bearer: [] + responses: + '200': + description: Default Response + /v1/scorecards: + get: + summary: Get all scoreboards + description: This route allows you to fetch all scorecards in your Port organization.

To learn more about scorecards, check out the [documentation](https://docs.getport.io/promote-scorecards/). + tags: + - Scorecards + security: + - bearer: + - 'read:scorecards' + responses: + '200': + description: Default Response + '/v1/integration/{identifier}/logs': + get: + summary: Get an integration's audit logs + description: This route allows you to fetch the audit logs of a specific integration in your Port organization.

To learn more about integrations, check out the [documentation](https://docs.getport.io/build-your-software-catalog/sync-data-to-catalog/). + tags: + - Integrations + parameters: + - schema: + type: number + default: 1 + minimum: 1 + nullable: false + in: query + name: page + description: The number of pages to fetch.
+ required: false + - schema: + type: number + default: 100 + minimum: 0 + maximum: 300 + nullable: false + in: query + name: per_page + description: The number of logs to fetch per page.
+ required: false + - schema: + type: string + in: query + name: start_date + description: The start date of the logs, in `ISO format IE 2022-04-23T18:25:43.511Z`.
+ required: false + - schema: + type: string + in: query + name: end_date + description: The end date of the logs, in `ISO format IE 2022-04-23T18:25:43.511Z`.
+ required: false + - schema: + type: string + in: path + name: identifier + description: The installation id of the integration.
+ required: true + security: + - bearer: + - 'read:integrations' + responses: + '200': + description: Default Response + '/v1/integration/{identifier}/config': + patch: + summary: Patch an integration's config + description: This route allows you to modify an integration's configuration in your Port organization.

To learn more about integrations, check out the [documentation](https://docs.getport.io/build-your-software-catalog/sync-data-to-catalog/). + tags: + - Integrations + requestBody: + content: + application/json: + schema: + type: object + properties: + config: + description: Various configuration options for the integration.
+ type: object + # type: + # - object + # - 'null' + additionalProperties: true + properties: + deleteDependentEntities: + type: boolean + default: false + description: If `true`, deleting an entity will also delete its dependent entities.
+ createMissingRelatedEntities: + type: boolean + default: false + description: If `true`, creating an entity with a relation to a non-existing entity will also create the related entity.
+ resources: + type: array + description: The mapping definition of resources from the integrated tool/platform into Port. For more information and examples, check out the [documentation](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-mapping).
+ items: + type: object + required: + - kind + - selector + - port + properties: + kind: + type: string + description: The kind of resource to map, as defined in API of the integrated tool/platorm.
+ selector: + type: object + properties: + query: + type: string + description: A `jq` query used to specify which resources to fetch from the integrated tool/platform. If set to `"true"`, all resources of the specified `kind` will be ingested. For more information and examples, check out the [documentation](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-mapping#how-does-mapping-work).
+ port: + type: object + description: An object containing the mapping definitions of the `kind` resource into Port.
+ required: + - entity + properties: + entity: + type: object + required: + - mappings + properties: + mappings: + description: The mapping definitions used to map the resource fields into Port entities. For more information and examples, check out the [documentation](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-mapping#configuration-structure).
+ oneOf: + - type: array + title: array + items: + type: object + required: + - identifier + - blueprint + properties: + identifier: + type: string + description: A `jq` expression used to get data from the integrated tool's API, to be used as an identifier for the entity.
+ title: + type: string + description: A `jq` expression used to get data from the integrated tool's API, to be used as the title of the entity.
+ blueprint: + type: string + description: The identifier of the blueprint to map the data into.
+ properties: + type: object + description: An object containing the properties of the entity and their values. For more information and examples, check out the [documentation](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-mapping#configuration-structure).
+ additionalProperties: true + relations: + type: object + description: An object containing the relations of the entity and their values. For more information and examples, check out the [documentation](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-mapping#configuration-structure).
+ additionalProperties: true + - type: object + title: object + required: + - identifier + - blueprint + properties: + identifier: + type: string + description: A `jq` expression used to get data from the integrated tool's API, to be used as an identifier for the entity.
+ title: + type: string + description: A `jq` expression used to get data from the integrated tool's API, to be used as the title of the entity.
+ blueprint: + type: string + description: The identifier of the blueprint to map the data into.
+ properties: + type: object + description: An object containing the properties of the entity and their values. For more information and examples, check out the [documentation](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-mapping#configuration-structure).
+ additionalProperties: true + relations: + type: object + description: An object containing the relations of the entity and their values. For more information and examples, check out the [documentation](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-mapping#configuration-structure).
+ additionalProperties: true + additionalProperties: false + required: + - config + required: true + parameters: + - schema: + type: string + in: path + name: identifier + description: The installation id of the integration.
+ required: true + security: + - bearer: + - 'update:integrations' + responses: + '200': + description: Default Response + /v1/integration: + get: + summary: Get all integrations + description: This route allows you to fetch all integrations in your Port organization.

To learn more about integrations, check out the [documentation](https://docs.getport.io/build-your-software-catalog/sync-data-to-catalog/). + tags: + - Integrations + security: + - bearer: + - 'read:integrations' + responses: + '200': + description: Default Response + post: + summary: Create an integration + description: This route allows you to create an integration in your Port organization.

To learn more about integrations, check out the [documentation](https://docs.getport.io/build-your-software-catalog/sync-data-to-catalog/). + tags: + - Integrations + requestBody: + content: + application/json: + schema: + type: object + properties: + installationId: + type: string + minLength: 1 + description: A unique identifier which will be used to identify the integration when using the Port API.
+ title: + type: string + description: The title of the integration. This will be displayed in the [data-sources page](https://app.getport.io/settings/data-sources) of your Port account.
+ version: + type: string + description: The version of the integration.
+ installationAppType: + type: string + description: The name of the integrated tool/platform (e.g. `kubernetes`,`pagerduty`).
+ config: + type: object + # type: + # - object + # - 'null' + description: Various configuration options for the integration.
+ additionalProperties: true + properties: + deleteDependentEntities: + type: boolean + description: If `true`, deleting an entity will also delete its dependent entities.
+ createMissingRelatedEntities: + type: boolean + description: If `true`, creating an entity with a relation to a non-existing entity will also create the related entity.
+ resources: + type: array + description: The mapping definition of resources from the integrated tool/platform into Port. For more information and examples, check out the [documentation](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-mapping).
+ items: + type: object + required: + - kind + - selector + - port + properties: + kind: + type: string + description: The kind of resource to map, as defined in API of the integrated tool/platorm.
+ selector: + type: object + properties: + query: + description: A `jq` query used to specify which resources to fetch from the integrated tool/platform. If set to `"true"`, all resources of the specified `kind` will be ingested. For more information and examples, check out the [documentation](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-mapping#how-does-mapping-work).
+ type: string + port: + type: object + description: An object containing the mapping definitions of the `kind` resource into Port.
+ required: + - entity + properties: + entity: + type: object + required: + - mappings + properties: + mappings: + description: The mapping definitions used to map the resource fields into Port entities. For more information and examples, check out the [documentation](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-mapping#configuration-structure).
+ oneOf: + - type: array + title: array + items: + type: object + required: + - identifier + - blueprint + properties: + identifier: + type: string + description: A `jq` expression used to get data from the integrated tool's API, to be used as an identifier for the entity.
+ title: + type: string + description: A `jq` expression used to get data from the integrated tool's API, to be used as the title of the entity.
+ blueprint: + type: string + description: The identifier of the blueprint to map the data into.
+ properties: + type: object + description: An object containing the properties of the entity and their values. For more information and examples, check out the [documentation](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-mapping#configuration-structure).
+ additionalProperties: true + relations: + type: object + description: An object containing the relations of the entity and their values. For more information and examples, check out the [documentation](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-mapping#configuration-structure).
+ additionalProperties: true + - type: object + title: object + required: + - identifier + - blueprint + properties: + identifier: + type: string + description: A `jq` expression used to get data from the integrated tool's API, to be used as an identifier for the entity.
+ title: + type: string + description: A `jq` expression used to get data from the integrated tool's API, to be used as the title of the entity.
+ blueprint: + type: string + description: The identifier of the blueprint to map the data into.
+ properties: + type: object + description: An object containing the properties of the entity and their values. For more information and examples, check out the [documentation](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-mapping#configuration-structure).
+ additionalProperties: true + relations: + type: object + description: An object containing the relations of the entity and their values. For more information and examples, check out the [documentation](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-mapping#configuration-structure).
+ additionalProperties: true + changelogDestination: + type: object + description: The destination of the integration's changelog.
+ properties: + type: + type: string + enum: + - WEBHOOK + - KAFKA + oneOf: + # - type: object + # properties: {} + # additionalProperties: false + - type: object + title: Kafka + description: The changelog will be sent to the Kafka topic connected to your Port account.
+ properties: + type: + type: string + enum: + - KAFKA + required: + - type + additionalProperties: false + - type: object + title: Webhook + description: The changelog will be sent to the specified webhook.
+ properties: + type: + type: string + enum: + - WEBHOOK + agent: + type: boolean + description: If `true`, Port's execution agent will be used to send the changelog.
+ url: + type: string + description: The URL of the webhook.
+ format: uri + required: + - url + - type + additionalProperties: false + additionalProperties: false + required: + - installationId + required: true + parameters: + - schema: + type: boolean + default: false + in: query + name: upsert + description: If `true`, the integration will be updated if it already exists.
+ required: false + security: + - bearer: + - 'create:integrations' + responses: + '200': + description: Default Response + '/v1/integration/{identifier}': + get: + summary: Get an integration + description: This route allows you to fetch a specific integration in your Port organization.

To learn more about integrations, check out the [documentation](https://docs.getport.io/build-your-software-catalog/sync-data-to-catalog/). + tags: + - Integrations + parameters: + - schema: + type: string + default: installationId + enum: + - installationId + - logIngestId + in: query + name: byField + description: The field used to identify the integration. When set to `logIngestId`, the `identifier` parameter should be changed accordingly.
+ required: false + - schema: + type: string + in: path + name: identifier + description: The installation id of the integration you want to fetch.
+ required: true + security: + - bearer: + - 'read:integrations' + responses: + '200': + description: Default Response + patch: + summary: Patch an integration + description: This route allows you to modify an integration in your Port organization.

To learn more about integrations, check out the [documentation](https://docs.getport.io/build-your-software-catalog/sync-data-to-catalog/). + tags: + - Integrations + requestBody: + content: + application/json: + schema: + type: object + properties: + title: + type: string + description: The new title of the integration. This will be displayed in the [data-sources page](https://app.getport.io/settings/data-sources) of your Port account.
+ version: + type: string + description: The new version of the integration.
+ installationAppType: + type: string + description: The new name of the integrated tool/platform (e.g. `kubernetes`,`pagerduty`).
+ config: + type: object + # type: + # - object + # - 'null' + description: Various configuration options for the integration.
+ additionalProperties: true + properties: + deleteDependentEntities: + type: boolean + description: If `true`, deleting an entity will also delete its dependent entities.
+ createMissingRelatedEntities: + type: boolean + description: If `true`, creating an entity with a relation to a non-existing entity will also create the related entity.
+ resources: + type: array + description: The mapping definition of resources from the integrated tool/platform into Port. For more information and examples, check out the [documentation](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-mapping).
+ items: + type: object + required: + - kind + - selector + - port + properties: + kind: + type: string + description: The kind of resource to map, as defined in API of the integrated tool/platorm.
+ selector: + type: object + properties: + query: + type: string + description: A `jq` query used to specify which resources to fetch from the integrated tool/platform. If set to `"true"`, all resources of the specified `kind` will be ingested. For more information and examples, check out the [documentation](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-mapping#how-does-mapping-work).
+ port: + type: object + description: An object containing the mapping definitions of the `kind` resource into Port.
+ required: + - entity + properties: + entity: + type: object + required: + - mappings + properties: + mappings: + description: The mapping definitions used to map the resource fields into Port entities. For more information and examples, check out the [documentation](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-mapping#configuration-structure).
+ oneOf: + - type: array + title: array + items: + type: object + required: + - identifier + - blueprint + properties: + identifier: + type: string + description: A `jq` expression used to get data from the integrated tool's API, to be used as an identifier for the entity.
+ title: + type: string + description: A `jq` expression used to get data from the integrated tool's API, to be used as the title of the entity.
+ blueprint: + type: string + description: The identifier of the blueprint to map the data into.
+ properties: + type: object + description: An object containing the properties of the entity and their values. For more information and examples, check out the [documentation](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-mapping#configuration-structure).
+ additionalProperties: true + relations: + type: object + description: An object containing the relations of the entity and their values. For more information and examples, check out the [documentation](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-mapping#configuration-structure).
+ additionalProperties: true + - type: object + title: object + required: + - identifier + - blueprint + properties: + identifier: + type: string + description: A `jq` expression used to get data from the integrated tool's API, to be used as an identifier for the entity.
+ title: + type: string + description: A `jq` expression used to get data from the integrated tool's API, to be used as the title of the entity.
+ blueprint: + type: string + description: The identifier of the blueprint to map the data into.
+ properties: + type: object + description: An object containing the properties of the entity and their values. For more information and examples, check out the [documentation](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-mapping#configuration-structure).
+ additionalProperties: true + relations: + type: object + description: An object containing the relations of the entity and their values. For more information and examples, check out the [documentation](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-mapping#configuration-structure).
+ additionalProperties: true + changelogDestination: + type: object + description: The destination of the integration's changelog.
+ properties: + type: + type: string + enum: + - WEBHOOK + - KAFKA + oneOf: + # - type: object + # properties: {} + # additionalProperties: false + - type: object + title: Kafka + description: The changelog will be sent to the Kafka topic connected to your Port account.
+ properties: + type: + type: string + enum: + - KAFKA + required: + - type + additionalProperties: false + - type: object + title: Webhook + description: The changelog will be sent to the specified webhook.
+ properties: + type: + type: string + enum: + - WEBHOOK + agent: + type: boolean + description: If `true`, Port's execution agent will be used to send the changelog.
+ url: + type: string + description: The URL of the webhook.
+ format: uri + required: + - url + - type + additionalProperties: false + additionalProperties: true + parameters: + - schema: + type: string + in: path + name: identifier + description: The installation id of the integration you want to modify.
+ required: true + security: + - bearer: + - 'update:integrations' + responses: + '200': + description: Default Response + delete: + summary: Delete an integration + description: This route allows you to delete an integration in your Port organization.

To learn more about integrations, check out the [documentation](https://docs.getport.io/build-your-software-catalog/sync-data-to-catalog/). + tags: + - Integrations + parameters: + - schema: + type: string + in: path + name: identifier + description: The installation id of the integration you want to delete.
+ required: true + security: + - bearer: + - 'delete:integrations' + responses: + '200': + description: Default Response + /v1/webhooks: + post: + summary: Create a webhook + description: This route allows you to create a webhook in your Port organization. Webhooks provide a way to ingest data from an external tool/platform into Port. You can also create a webhook via the [data sources page](https://app.getport.io/settings/data-sources) of your Port account.

To learn more about webhooks, check out the [documentation](https://docs.getport.io/build-your-software-catalog/custom-integration/webhook/). + tags: + - Webhook + requestBody: + content: + application/json: + schema: + type: object + properties: + identifier: + type: string + description: A unique identifier for the webhook.
+ maxLength: 30 + title: + type: string + description: The title of the webhook, which will be displayed in the [data sources page](https://app.getport.io/settings/data-sources) of your Port account.
+ maxLength: 30 + description: + type: string + description: A description for the webhook.
+ maxLength: 200 + icon: + type: string + description: The icon of the webhook.
+ mappings: + description: The mapping definitions used to map the data from the webhook into Port entities. For more information and examples, check out the [documentation](https://docs.getport.io/build-your-software-catalog/custom-integration/webhook/).
+ type: array + items: + type: object + properties: + blueprint: + type: string + description: The identifier of the blueprint to map the data into.
+ filter: + type: string + description: A `jq` query used to filter exactly which payloads sent to the webhook are processed. If set to `"true"`, all payloads will be processed.
+ itemsToParse: + type: string + description: A `jq` query that evaluates to an array of items, used to create multiple entities from a single webhook event.
+ entity: + description: An object defining how to map the data from the webhook payload into Port entities.
+ type: object + properties: + identifier: + type: string + description: A `jq` expression used to get data from the webhook payload, to be used as an identifier for the entity.
+ title: + type: string + description: A `jq` expression used to get data from the webhook payload, to be used as the title of the entity.
+ icon: + type: string + description: The icon of the entity.
+ team: + type: string + description: The team the entity belongs to.
+ properties: + type: object + description: An object containing the properties of the entity and their values. For more information and examples, check out the [documentation](https://docs.getport.io/build-your-software-catalog/custom-integration/webhook/).
+ propertyNames: + type: string + relations: + type: object + description: An object containing the relations of the entity and their values. For more information and examples, check out the [documentation](https://docs.getport.io/build-your-software-catalog/custom-integration/webhook/).
+ propertyNames: + type: string + additionalProperties: false + required: + - identifier + additionalProperties: false + required: + - blueprint + - entity + enabled: + type: boolean + description: Determines whether the webhook is active or not. If `false`, any incoming events will be dropped.
+ default: true + security: + type: object + description: The security configuration of the webhook, used to tell Port how to verify the hashed signature sent with incoming requests.
For more information and examples, check out the [documentation](https://docs.getport.io/build-your-software-catalog/custom-integration/webhook/#security-configuration).
+ properties: + secret: + type: string + signatureHeaderName: + type: string + signatureAlgorithm: + type: string + enum: + - sha1 + - sha256 + - plain + signaturePrefix: + type: string + requestIdentifierPath: + type: string + additionalProperties: false + integrationType: + type: string + enum: + - custom + # - template + additionalProperties: false + required: + - title + - enabled + required: true + security: + - bearer: + - 'create:integrations' + responses: + '200': + description: Default Response + get: + summary: Get all webhooks + description: This route allows you to fetch all webhooks configured in your Port organization. You can also see them in the [data sources page](https://app.getport.io/settings/data-sources) of your Port account.

To learn more about webhooks, check out the [documentation](https://docs.getport.io/build-your-software-catalog/custom-integration/webhook/). + tags: + - Webhook + security: + - bearer: + - 'read:integrations' + responses: + '200': + description: Default Response + '/v1/webhooks/{identifier}': + patch: + summary: Patch a webhook + description: This route allows you to modify a webhook in your Port organization. You can also modify it via the [data sources page](https://app.getport.io/settings/data-sources) of your Port account.

To learn more about webhooks, check out the [documentation](https://docs.getport.io/build-your-software-catalog/custom-integration/webhook/). + tags: + - Webhook + requestBody: + content: + application/json: + schema: + type: object + properties: + identifier: + type: string + description: The new identifier of the webhook.
+ maxLength: 30 + title: + type: string + description: The new title of the webhook, which will be displayed in the [data sources page](https://app.getport.io/settings/data-sources) of your Port account.
+ maxLength: 30 + description: + type: string + description: A new description for the webhook.
+ maxLength: 200 + icon: + type: string + description: The new icon of the webhook.
+ mappings: + type: array + description: The mapping definitions used to map the data from the webhook into Port entities. For more information and examples, check out the [documentation](https://docs.getport.io/build-your-software-catalog/custom-integration/webhook/).
+ items: + type: object + properties: + blueprint: + type: string + description: The identifier of the blueprint to map the data into.
+ filter: + type: string + description: A `jq` query used to filter exactly which payloads sent to the webhook are processed. If set to `"true"`, all payloads will be processed.
+ itemsToParse: + type: string + description: A `jq` query that evaluates to an array of items, used to create multiple entities from a single webhook event.
+ entity: + type: object + description: An object defining how to map the data from the webhook payload into Port entities.
+ properties: + identifier: + type: string + description: A `jq` expression used to get data from the webhook payload, to be used as an identifier for the entity.
+ title: + type: string + description: A `jq` expression used to get data from the webhook payload, to be used as the title of the entity.
+ icon: + type: string + description: The icon of the entity.
+ team: + type: string + description: The team the entity belongs to.
+ properties: + type: object + description: An object containing the properties of the entity and their values. For more information and examples, check out the [documentation](https://docs.getport.io/build-your-software-catalog/custom-integration/webhook/).
+ propertyNames: + type: string + relations: + type: object + description: An object containing the relations of the entity and their values. For more information and examples, check out the [documentation](https://docs.getport.io/build-your-software-catalog/custom-integration/webhook/).
+ propertyNames: + type: string + additionalProperties: false + required: + - identifier + additionalProperties: false + required: + - blueprint + - entity + enabled: + type: boolean + description: Determines whether the webhook is active or not. If `false`, any incoming events will be dropped.
+ default: true + security: + type: object + description: The security configuration of the webhook, used to tell Port how to verify the hashed signature sent with incoming requests.
For more information and examples, check out the [documentation](https://docs.getport.io/build-your-software-catalog/custom-integration/webhook/#security-configuration).
+ properties: + secret: + type: string + signatureHeaderName: + type: string + signatureAlgorithm: + type: string + enum: + - sha1 + - sha256 + - plain + signaturePrefix: + type: string + requestIdentifierPath: + type: string + additionalProperties: false + integrationType: + type: string + enum: + - custom + # - template + additionalProperties: false + parameters: + - schema: + type: string + in: path + name: identifier + description: The identifier of the webhook you want to modify.
+ required: true + security: + - bearer: + - 'update:integrations' + responses: + '200': + description: Default Response + put: + summary: Change a webhook + description: This route allows you to modify a webhook in your Port organization. You can also modify it via the [data sources page](https://app.getport.io/settings/data-sources) of your Port account.

To learn more about webhooks, check out the [documentation](https://docs.getport.io/build-your-software-catalog/custom-integration/webhook/). + tags: + - Webhook + requestBody: + content: + application/json: + schema: + type: object + properties: + identifier: + type: string + description: The new identifier of the webhook.
+ maxLength: 30 + title: + type: string + description: The new title of the webhook, which will be displayed in the [data sources page](https://app.getport.io/settings/data-sources) of your Port account.
+ maxLength: 30 + description: + type: string + description: A new description for the webhook.
+ maxLength: 200 + icon: + type: string + description: The new icon of the webhook.
+ mappings: + type: array + description: The mapping definitions used to map the data from the webhook into Port entities. For more information and examples, check out the [documentation](https://docs.getport.io/build-your-software-catalog/custom-integration/webhook/).
+ items: + type: object + properties: + blueprint: + type: string + description: The identifier of the blueprint to map the data into.
+ filter: + type: string + description: A `jq` query used to filter exactly which payloads sent to the webhook are processed. If set to `"true"`, all payloads will be processed.
+ itemsToParse: + type: string + description: A `jq` query that evaluates to an array of items, used to create multiple entities from a single webhook event.
+ entity: + type: object + description: An object defining how to map the data from the webhook payload into Port entities.
+ properties: + identifier: + type: string + description: A `jq` expression used to get data from the webhook payload, to be used as an identifier for the entity.
+ title: + type: string + description: A `jq` expression used to get data from the webhook payload, to be used as the title of the entity.
+ icon: + type: string + description: The icon of the entity.
+ team: + type: string + description: The team the entity belongs to.
+ properties: + type: object + description: An object containing the properties of the entity and their values. For more information and examples, check out the [documentation](https://docs.getport.io/build-your-software-catalog/custom-integration/webhook/).
+ propertyNames: + type: string + relations: + type: object + description: An object containing the relations of the entity and their values. For more information and examples, check out the [documentation](https://docs.getport.io/build-your-software-catalog/custom-integration/webhook/).
+ propertyNames: + type: string + additionalProperties: false + required: + - identifier + additionalProperties: false + required: + - blueprint + - entity + enabled: + type: boolean + description: Determines whether the webhook is active or not. If `false`, any incoming events will be dropped.
+ default: true + security: + type: object + description: The security configuration of the webhook, used to tell Port how to verify the hashed signature sent with incoming requests.
For more information and examples, check out the [documentation](https://docs.getport.io/build-your-software-catalog/custom-integration/webhook/#security-configuration).
+ properties: + secret: + type: string + signatureHeaderName: + type: string + signatureAlgorithm: + type: string + enum: + - sha1 + - sha256 + - plain + signaturePrefix: + type: string + requestIdentifierPath: + type: string + additionalProperties: false + integrationType: + type: string + enum: + - custom + # - template + additionalProperties: false + required: + - title + - enabled + required: true + parameters: + - schema: + type: string + in: path + name: identifier + description: The identifier of the webhook you want to modify.
+ required: true + security: + - bearer: + - 'update:integrations' + responses: + '200': + description: Default Response + get: + summary: Get a webhook + description: This route allows you to fetch a specific webhook in your Port organization. You can also see it in the [data sources page](https://app.getport.io/settings/data-sources) of your Port account.

To learn more about webhooks, check out the [documentation](https://docs.getport.io/build-your-software-catalog/custom-integration/webhook/). + tags: + - Webhook + parameters: + - schema: + type: string + in: path + name: identifier + description: The identifier of the webhook you want to fetch.
+ required: true + security: + - bearer: + - 'read:integrations' + responses: + '200': + description: Default Response + delete: + summary: Delete a webhook + description: This route allows you to delete a webhook in your Port organization. You can also delete it via the [data sources page](https://app.getport.io/settings/data-sources) of your Port account.

To learn more about webhooks, check out the [documentation](https://docs.getport.io/build-your-software-catalog/custom-integration/webhook/). + tags: + - Webhook + parameters: + - schema: + type: string + in: path + name: identifier + description: The identifier of the webhook you want to delete.
+ required: true + security: + - bearer: + - 'delete:integrations' + responses: + '200': + description: Default Response + /v1/migrations: + get: + summary: Get all migrations + description: This route allows you to fetch all migrations (both past and present) in your Port organization.

The call will perform a logical `AND` operation on the query parameters below, and return all migrations that match the criteria. + tags: + - Migrations + parameters: + - schema: + type: array + items: + type: string + enum: + - COMPLETED + - RUNNING + - PENDING + - INITIALIZING + - FAILURE + - CANCELLED + - PENDING_CANCELLATION + in: query + name: status + required: false + - schema: + type: string + in: query + name: actor + description: The identifier of the user who initiated the migration. You can use the [Get user](/api-reference/get-a-user) route to get a user's identifier.
+ required: false + - schema: + type: string + in: query + name: blueprint + description: The identifier of the blueprint associated with the migration.
+ required: false + security: + - bearer: + - 'read:blueprints' + responses: + '200': + description: Default Response + post: + summary: Create a migration + description: This route allows you to create a migration in your Port organization.

You can use this to migrate data from one blueprint to another, or to convert the data type of a property in a blueprint. + tags: + - Migrations + requestBody: + content: + application/json: + schema: + type: object + properties: + sourceBlueprint: + type: string + description: The identifier of the blueprint from which the migration will be performed.
+ mapping: + type: object + description: The definition used to map the data from the source blueprint into the target blueprint. + properties: + blueprint: + type: string + description: The identifier of the target blueprint.
+ filter: + type: string + description: An optional set of [conditions](https://docs.getport.io/promote-scorecards/#conditions) to filter the entities that will be migrated.
+ itemsToParse: + type: string + description: A `jq` query that evaluates to an array of items, used to create multiple entities at once. See more information [here](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-mapping/#create-multiple-entities-from-an-array-api-object).
+ entity: + type: object + properties: + identifier: + type: string + description: A `jq` expression used to get data from the source blueprint, to be used as an identifier for the entity.
+ title: + type: string + description: A `jq` expression used to get data from the source blueprint, to be used as the title of the entity.
+ icon: + type: string + description: The icon of the entity.
+ team: + type: string + description: The team the entity belongs to.
+ properties: + type: object + description: An object containing the properties of the entity and their values, in `"key":"value"` pairs where the `key` is the property's identifier, and the `value` is its value.
+ additionalProperties: + type: string + relations: + type: object + description: An object containing the relations of the entity and their values, in `"key":"value"` pairs where the `key` is the relation's identifier, and the `value` is the related entity's identifier.
+ additionalProperties: + type: string + required: + - entity + required: + - sourceBlueprint + - mapping + additionalProperties: false + required: true + security: + - bearer: [] + responses: + '200': + description: Default Response From f16d31a452222c0864e5274559483621f7088bf0 Mon Sep 17 00:00:00 2001 From: mkarmah Date: Sun, 9 Jun 2024 21:06:34 +0000 Subject: [PATCH 05/56] updated guide --- .../guides/connect-sonar-project-to-service.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/code-quality-security/sonarqube/guides/connect-sonar-project-to-service.md b/docs/build-your-software-catalog/sync-data-to-catalog/code-quality-security/sonarqube/guides/connect-sonar-project-to-service.md index fff5d7aab..eee0a4bd0 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/code-quality-security/sonarqube/guides/connect-sonar-project-to-service.md +++ b/docs/build-your-software-catalog/sync-data-to-catalog/code-quality-security/sonarqube/guides/connect-sonar-project-to-service.md @@ -15,13 +15,13 @@ This guide aims to demonstrate how to connect a SonarQube project to a service i
-### [Add Topics to GitHub Repositories](https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/classifying-your-repository-with-topics#adding-topics-to-your-repository) +### Add Topics to GitHub Repositories -Tagging repositories in GitHub allows you to categorize and label your projects based on various attributes such as technology stack, business domain, team ownership, etc. In this guide, we will add a topic attribute to indicate the SonarQube project that analyzes the repository: +[Adding topics your repository](https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/classifying-your-repository-with-topics#adding-topics-to-your-repository) allows you to categorize and label your projects based on various attributes such as technology stack, business domain, team ownership, etc. In this guide, we will add a topic attribute to indicate the SonarQube project that analyzes the repository: -1. **Login to your [GitHub account](https://github.com/login)** -2. Once logged in, navigate to the repository you want to tag -3. In the top right corner of the page, to the right of "About", click the settings icon +1. **Login to your [GitHub account](https://github.com/login)**. +2. Once logged in, navigate to the repository you want to tag. +3. In the top right corner of the page, to the right of "About", click the settings icon. 4. Type the topic name (`sonarqube-my_project_key`) into the input field provided. For this guide, let's assume there is a SonarQube project identified by `my_project_key` that analyzes this repository. @@ -80,7 +80,7 @@ Under the `resources` key, modify the mapping for the `service` kind by using th :::tip JQ explanation -The JQ below selects all tags that start with the keyword `port`. It then removes "port-" from each tag, leaving only the part that comes after it. It then selects the first match, which is equivalent to the service in Port. +The JQ below selects all topics that start with the keyword `port`. It then removes "port-" from each topic, leaving only the part that comes after it. It then selects the first match, which is equivalent to the service in Port. ```yaml project: .topics | map(select(startswith("port-"))) | map(sub("port-"; ""; "g")) | .[0] @@ -98,6 +98,6 @@ By following these steps, you can seamlessly connect a `Service` with a `SonarQu More relevant guides and examples: -- [A self-service action to add tags to SonarQube project](https://docs.getport.io/actions-and-automations/setup-backend/github-workflow/examples/SonarQube/add-tags-to-sonarqube-project) +- [A self-service action to add tags to SonarQube project](https://docs.getport.io/create-self-service-experiences/setup-backend/github-workflow/examples/SonarQube/add-tags-to-sonarqube-project) - [Port's SonarQube integration](https://docs.getport.io/build-your-software-catalog/sync-data-to-catalog/code-quality-security/sonarqube) - [Integrate scorecards with Slack](https://docs.getport.io/promote-scorecards/manage-using-3rd-party-apps/slack) \ No newline at end of file From fc6277cafc0629dfd10e00d3aec71bcbbd029e80 Mon Sep 17 00:00:00 2001 From: hadar-co Date: Mon, 10 Jun 2024 10:11:52 +0300 Subject: [PATCH 06/56] bump dependencies (#1291) Co-authored-by: Hadar --- package-lock.json | 528 ++++++++++++++++++++-------------------------- package.json | 18 +- 2 files changed, 240 insertions(+), 306 deletions(-) diff --git a/package-lock.json b/package-lock.json index 0f3bf2a5d..b19c7f76a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,12 +9,12 @@ "version": "0.0.0", "dependencies": { "@docsly/react": "^1.9.1", - "@docusaurus/core": "^3.3.2", - "@docusaurus/plugin-client-redirects": "^3.3.2", - "@docusaurus/plugin-google-tag-manager": "^3.3.2", - "@docusaurus/plugin-ideal-image": "^3.3.2", - "@docusaurus/preset-classic": "^3.3.2", - "@docusaurus/theme-live-codeblock": "^3.3.2", + "@docusaurus/core": "^3.4.0", + "@docusaurus/plugin-client-redirects": "^3.4.0", + "@docusaurus/plugin-google-tag-manager": "^3.4.0", + "@docusaurus/plugin-ideal-image": "^3.4.0", + "@docusaurus/preset-classic": "^3.4.0", + "@docusaurus/theme-live-codeblock": "^3.4.0", "@easyops-cn/docusaurus-search-local": "^0.42.0", "@mdx-js/react": "^3.0.1", "@port-labs/docusaurus-plugin-openapi-docs": "^0.0.5", @@ -30,9 +30,9 @@ "react-tooltip": "^5.26.4" }, "devDependencies": { - "@docusaurus/module-type-aliases": "^3.3.2", - "@docusaurus/tsconfig": "^3.3.2", - "@docusaurus/types": "^3.3.2", + "@docusaurus/module-type-aliases": "^3.4.0", + "@docusaurus/tsconfig": "^3.4.0", + "@docusaurus/types": "^3.4.0", "husky": "^9.0.11", "pretty-quick": "^4.0.0", "typescript": "~5.4.5" @@ -42,7 +42,6 @@ "version": "1.9.3", "resolved": "https://registry.npmjs.org/@algolia/autocomplete-core/-/autocomplete-core-1.9.3.tgz", "integrity": "sha512-009HdfugtGCdC4JdXUbVJClA0q0zh24yyePn+KUGk3rP7j8FEe/m5Yo/z65gn6nP/cM39PxpzqKrL7A6fP6PPw==", - "license": "MIT", "dependencies": { "@algolia/autocomplete-plugin-algolia-insights": "1.9.3", "@algolia/autocomplete-shared": "1.9.3" @@ -52,7 +51,6 @@ "version": "1.9.3", "resolved": "https://registry.npmjs.org/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.9.3.tgz", "integrity": "sha512-a/yTUkcO/Vyy+JffmAnTWbr4/90cLzw+CC3bRbhnULr/EM0fGNvM13oQQ14f2moLMcVDyAx/leczLlAOovhSZg==", - "license": "MIT", "dependencies": { "@algolia/autocomplete-shared": "1.9.3" }, @@ -64,7 +62,6 @@ "version": "1.9.3", "resolved": "https://registry.npmjs.org/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.9.3.tgz", "integrity": "sha512-d4qlt6YmrLMYy95n5TB52wtNDr6EgAIPH81dvvvW8UmuWRgxEtY0NJiPwl/h95JtG2vmRM804M0DSwMCNZlzRA==", - "license": "MIT", "dependencies": { "@algolia/autocomplete-shared": "1.9.3" }, @@ -77,7 +74,6 @@ "version": "1.9.3", "resolved": "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.9.3.tgz", "integrity": "sha512-Wnm9E4Ye6Rl6sTTqjoymD+l8DjSTHsHboVRYrKgEt8Q7UHm9nYbqhN/i0fhUYA3OAEH7WA8x3jfpnmJm3rKvaQ==", - "license": "MIT", "peerDependencies": { "@algolia/client-search": ">= 4.9.1 < 6", "algoliasearch": ">= 4.9.1 < 6" @@ -87,7 +83,6 @@ "version": "4.23.3", "resolved": "https://registry.npmjs.org/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.23.3.tgz", "integrity": "sha512-vRHXYCpPlTDE7i6UOy2xE03zHF2C8MEFjPN2v7fRbqVpcOvAUQK81x3Kc21xyb5aSIpYCjWCZbYZuz8Glyzyyg==", - "license": "MIT", "dependencies": { "@algolia/cache-common": "4.23.3" } @@ -95,14 +90,12 @@ "node_modules/@algolia/cache-common": { "version": "4.23.3", "resolved": "https://registry.npmjs.org/@algolia/cache-common/-/cache-common-4.23.3.tgz", - "integrity": "sha512-h9XcNI6lxYStaw32pHpB1TMm0RuxphF+Ik4o7tcQiodEdpKK+wKufY6QXtba7t3k8eseirEMVB83uFFF3Nu54A==", - "license": "MIT" + "integrity": "sha512-h9XcNI6lxYStaw32pHpB1TMm0RuxphF+Ik4o7tcQiodEdpKK+wKufY6QXtba7t3k8eseirEMVB83uFFF3Nu54A==" }, "node_modules/@algolia/cache-in-memory": { "version": "4.23.3", "resolved": "https://registry.npmjs.org/@algolia/cache-in-memory/-/cache-in-memory-4.23.3.tgz", "integrity": "sha512-yvpbuUXg/+0rbcagxNT7un0eo3czx2Uf0y4eiR4z4SD7SiptwYTpbuS0IHxcLHG3lq22ukx1T6Kjtk/rT+mqNg==", - "license": "MIT", "dependencies": { "@algolia/cache-common": "4.23.3" } @@ -111,7 +104,6 @@ "version": "4.23.3", "resolved": "https://registry.npmjs.org/@algolia/client-account/-/client-account-4.23.3.tgz", "integrity": "sha512-hpa6S5d7iQmretHHF40QGq6hz0anWEHGlULcTIT9tbUssWUriN9AUXIFQ8Ei4w9azD0hc1rUok9/DeQQobhQMA==", - "license": "MIT", "dependencies": { "@algolia/client-common": "4.23.3", "@algolia/client-search": "4.23.3", @@ -122,7 +114,6 @@ "version": "4.23.3", "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-4.23.3.tgz", "integrity": "sha512-LBsEARGS9cj8VkTAVEZphjxTjMVCci+zIIiRhpFun9jGDUlS1XmhCW7CTrnaWeIuCQS/2iPyRqSy1nXPjcBLRA==", - "license": "MIT", "dependencies": { "@algolia/client-common": "4.23.3", "@algolia/client-search": "4.23.3", @@ -134,7 +125,6 @@ "version": "4.23.3", "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.23.3.tgz", "integrity": "sha512-l6EiPxdAlg8CYhroqS5ybfIczsGUIAC47slLPOMDeKSVXYG1n0qGiz4RjAHLw2aD0xzh2EXZ7aRguPfz7UKDKw==", - "license": "MIT", "dependencies": { "@algolia/requester-common": "4.23.3", "@algolia/transporter": "4.23.3" @@ -144,7 +134,6 @@ "version": "4.23.3", "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-4.23.3.tgz", "integrity": "sha512-3E3yF3Ocr1tB/xOZiuC3doHQBQ2zu2MPTYZ0d4lpfWads2WTKG7ZzmGnsHmm63RflvDeLK/UVx7j2b3QuwKQ2g==", - "license": "MIT", "dependencies": { "@algolia/client-common": "4.23.3", "@algolia/requester-common": "4.23.3", @@ -155,7 +144,6 @@ "version": "4.23.3", "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.23.3.tgz", "integrity": "sha512-P4VAKFHqU0wx9O+q29Q8YVuaowaZ5EM77rxfmGnkHUJggh28useXQdopokgwMeYw2XUht49WX5RcTQ40rZIabw==", - "license": "MIT", "dependencies": { "@algolia/client-common": "4.23.3", "@algolia/requester-common": "4.23.3", @@ -165,20 +153,17 @@ "node_modules/@algolia/events": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/@algolia/events/-/events-4.0.1.tgz", - "integrity": "sha512-FQzvOCgoFXAbf5Y6mYozw2aj5KCJoA3m4heImceldzPSMbdyS4atVjJzXKMsfX3wnZTFYwkkt8/z8UesLHlSBQ==", - "license": "MIT" + "integrity": "sha512-FQzvOCgoFXAbf5Y6mYozw2aj5KCJoA3m4heImceldzPSMbdyS4atVjJzXKMsfX3wnZTFYwkkt8/z8UesLHlSBQ==" }, "node_modules/@algolia/logger-common": { "version": "4.23.3", "resolved": "https://registry.npmjs.org/@algolia/logger-common/-/logger-common-4.23.3.tgz", - "integrity": "sha512-y9kBtmJwiZ9ZZ+1Ek66P0M68mHQzKRxkW5kAAXYN/rdzgDN0d2COsViEFufxJ0pb45K4FRcfC7+33YB4BLrZ+g==", - "license": "MIT" + "integrity": "sha512-y9kBtmJwiZ9ZZ+1Ek66P0M68mHQzKRxkW5kAAXYN/rdzgDN0d2COsViEFufxJ0pb45K4FRcfC7+33YB4BLrZ+g==" }, "node_modules/@algolia/logger-console": { "version": "4.23.3", "resolved": "https://registry.npmjs.org/@algolia/logger-console/-/logger-console-4.23.3.tgz", "integrity": "sha512-8xoiseoWDKuCVnWP8jHthgaeobDLolh00KJAdMe9XPrWPuf1by732jSpgy2BlsLTaT9m32pHI8CRfrOqQzHv3A==", - "license": "MIT", "dependencies": { "@algolia/logger-common": "4.23.3" } @@ -187,7 +172,6 @@ "version": "4.23.3", "resolved": "https://registry.npmjs.org/@algolia/recommend/-/recommend-4.23.3.tgz", "integrity": "sha512-9fK4nXZF0bFkdcLBRDexsnGzVmu4TSYZqxdpgBW2tEyfuSSY54D4qSRkLmNkrrz4YFvdh2GM1gA8vSsnZPR73w==", - "license": "MIT", "dependencies": { "@algolia/cache-browser-local-storage": "4.23.3", "@algolia/cache-common": "4.23.3", @@ -206,7 +190,6 @@ "version": "4.23.3", "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.23.3.tgz", "integrity": "sha512-jDWGIQ96BhXbmONAQsasIpTYWslyjkiGu0Quydjlowe+ciqySpiDUrJHERIRfELE5+wFc7hc1Q5hqjGoV7yghw==", - "license": "MIT", "dependencies": { "@algolia/requester-common": "4.23.3" } @@ -214,14 +197,12 @@ "node_modules/@algolia/requester-common": { "version": "4.23.3", "resolved": "https://registry.npmjs.org/@algolia/requester-common/-/requester-common-4.23.3.tgz", - "integrity": "sha512-xloIdr/bedtYEGcXCiF2muajyvRhwop4cMZo+K2qzNht0CMzlRkm8YsDdj5IaBhshqfgmBb3rTg4sL4/PpvLYw==", - "license": "MIT" + "integrity": "sha512-xloIdr/bedtYEGcXCiF2muajyvRhwop4cMZo+K2qzNht0CMzlRkm8YsDdj5IaBhshqfgmBb3rTg4sL4/PpvLYw==" }, "node_modules/@algolia/requester-node-http": { "version": "4.23.3", "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.23.3.tgz", "integrity": "sha512-zgu++8Uj03IWDEJM3fuNl34s746JnZOWn1Uz5taV1dFyJhVM/kTNw9Ik7YJWiUNHJQXcaD8IXD1eCb0nq/aByA==", - "license": "MIT", "dependencies": { "@algolia/requester-common": "4.23.3" } @@ -230,7 +211,6 @@ "version": "4.23.3", "resolved": "https://registry.npmjs.org/@algolia/transporter/-/transporter-4.23.3.tgz", "integrity": "sha512-Wjl5gttqnf/gQKJA+dafnD0Y6Yw97yvfY8R9h0dQltX1GXTgNs1zWgvtWW0tHl1EgMdhAyw189uWiZMnL3QebQ==", - "license": "MIT", "dependencies": { "@algolia/cache-common": "4.23.3", "@algolia/logger-common": "4.23.3", @@ -2323,14 +2303,12 @@ "node_modules/@docsearch/css": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/@docsearch/css/-/css-3.6.0.tgz", - "integrity": "sha512-+sbxb71sWre+PwDK7X2T8+bhS6clcVMLwBPznX45Qu6opJcgRjAp7gYSDzVFp187J+feSj5dNBN1mJoi6ckkUQ==", - "license": "MIT" + "integrity": "sha512-+sbxb71sWre+PwDK7X2T8+bhS6clcVMLwBPznX45Qu6opJcgRjAp7gYSDzVFp187J+feSj5dNBN1mJoi6ckkUQ==" }, "node_modules/@docsearch/react": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/@docsearch/react/-/react-3.6.0.tgz", "integrity": "sha512-HUFut4ztcVNmqy9gp/wxNbC7pTOHhgVVkHVGCACTuLhUKUhKAF9KYHJtMiLUJxEqiFLQiuri1fWF8zqwM/cu1w==", - "license": "MIT", "dependencies": { "@algolia/autocomplete-core": "1.9.3", "@algolia/autocomplete-preset-algolia": "1.9.3", @@ -2386,10 +2364,9 @@ } }, "node_modules/@docusaurus/core": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/@docusaurus/core/-/core-3.3.2.tgz", - "integrity": "sha512-PzKMydKI3IU1LmeZQDi+ut5RSuilbXnA8QdowGeJEgU8EJjmx3rBHNT1LxQxOVqNEwpWi/csLwd9bn7rUjggPA==", - "license": "MIT", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@docusaurus/core/-/core-3.4.0.tgz", + "integrity": "sha512-g+0wwmN2UJsBqy2fQRQ6fhXruoEa62JDeEa5d8IdTJlMoaDaEDfHh7WjwGRn4opuTQWpjAwP/fbcgyHKlE+64w==", "dependencies": { "@babel/core": "^7.23.3", "@babel/generator": "^7.23.3", @@ -2401,12 +2378,12 @@ "@babel/runtime": "^7.22.6", "@babel/runtime-corejs3": "^7.22.6", "@babel/traverse": "^7.22.8", - "@docusaurus/cssnano-preset": "3.3.2", - "@docusaurus/logger": "3.3.2", - "@docusaurus/mdx-loader": "3.3.2", - "@docusaurus/utils": "3.3.2", - "@docusaurus/utils-common": "3.3.2", - "@docusaurus/utils-validation": "3.3.2", + "@docusaurus/cssnano-preset": "3.4.0", + "@docusaurus/logger": "3.4.0", + "@docusaurus/mdx-loader": "3.4.0", + "@docusaurus/utils": "3.4.0", + "@docusaurus/utils-common": "3.4.0", + "@docusaurus/utils-validation": "3.4.0", "autoprefixer": "^10.4.14", "babel-loader": "^9.1.3", "babel-plugin-dynamic-import-node": "^2.3.3", @@ -2472,10 +2449,9 @@ } }, "node_modules/@docusaurus/cssnano-preset": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-3.3.2.tgz", - "integrity": "sha512-+5+epLk/Rp4vFML4zmyTATNc3Is+buMAL6dNjrMWahdJCJlMWMPd/8YfU+2PA57t8mlSbhLJ7vAZVy54cd1vRQ==", - "license": "MIT", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-3.4.0.tgz", + "integrity": "sha512-qwLFSz6v/pZHy/UP32IrprmH5ORce86BGtN0eBtG75PpzQJAzp9gefspox+s8IEOr0oZKuQ/nhzZ3xwyc3jYJQ==", "dependencies": { "cssnano-preset-advanced": "^6.1.2", "postcss": "^8.4.38", @@ -2487,10 +2463,9 @@ } }, "node_modules/@docusaurus/logger": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/@docusaurus/logger/-/logger-3.3.2.tgz", - "integrity": "sha512-Ldu38GJ4P8g4guN7d7pyCOJ7qQugG7RVyaxrK8OnxuTlaImvQw33aDRwaX2eNmX8YK6v+//Z502F4sOZbHHCHQ==", - "license": "MIT", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@docusaurus/logger/-/logger-3.4.0.tgz", + "integrity": "sha512-bZwkX+9SJ8lB9kVRkXw+xvHYSMGG4bpYHKGXeXFvyVc79NMeeBSGgzd4TQLHH+DYeOJoCdl8flrFJVxlZ0wo/Q==", "dependencies": { "chalk": "^4.1.2", "tslib": "^2.6.0" @@ -2500,12 +2475,11 @@ } }, "node_modules/@docusaurus/lqip-loader": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/@docusaurus/lqip-loader/-/lqip-loader-3.3.2.tgz", - "integrity": "sha512-NLn4uhvPixtt7OP9udIg1hoWg2lCu/kiGbE4bJhj6n8q/2pP22hImMpiUufed1RalfurD+aH+1UA0iHZ18tFFw==", - "license": "MIT", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@docusaurus/lqip-loader/-/lqip-loader-3.4.0.tgz", + "integrity": "sha512-F//Gjqcz925zLL1l3Y3XOtQvn927GBIr9ZouvzWF4jHNKuuHBqzOPSADF5O/cT3Vq1ucPWooyhPBxYcvSGF4SA==", "dependencies": { - "@docusaurus/logger": "3.3.2", + "@docusaurus/logger": "3.4.0", "file-loader": "^6.2.0", "lodash": "^4.17.21", "sharp": "^0.32.3", @@ -2516,14 +2490,13 @@ } }, "node_modules/@docusaurus/mdx-loader": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-3.3.2.tgz", - "integrity": "sha512-AFRxj/aOk3/mfYDPxE3wTbrjeayVRvNSZP7mgMuUlrb2UlPRbSVAFX1k2RbgAJrnTSwMgb92m2BhJgYRfptN3g==", - "license": "MIT", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-3.4.0.tgz", + "integrity": "sha512-kSSbrrk4nTjf4d+wtBA9H+FGauf2gCax89kV8SUSJu3qaTdSIKdWERlngsiHaCFgZ7laTJ8a67UFf+xlFPtuTw==", "dependencies": { - "@docusaurus/logger": "3.3.2", - "@docusaurus/utils": "3.3.2", - "@docusaurus/utils-validation": "3.3.2", + "@docusaurus/logger": "3.4.0", + "@docusaurus/utils": "3.4.0", + "@docusaurus/utils-validation": "3.4.0", "@mdx-js/mdx": "^3.0.0", "@slorber/remark-comment": "^1.0.0", "escape-html": "^1.0.3", @@ -2555,12 +2528,11 @@ } }, "node_modules/@docusaurus/module-type-aliases": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/@docusaurus/module-type-aliases/-/module-type-aliases-3.3.2.tgz", - "integrity": "sha512-b/XB0TBJah5yKb4LYuJT4buFvL0MGAb0+vJDrJtlYMguRtsEBkf2nWl5xP7h4Dlw6ol0hsHrCYzJ50kNIOEclw==", - "license": "MIT", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@docusaurus/module-type-aliases/-/module-type-aliases-3.4.0.tgz", + "integrity": "sha512-A1AyS8WF5Bkjnb8s+guTDuYmUiwJzNrtchebBHpc0gz0PyHJNMaybUlSrmJjHVcGrya0LKI4YcR3lBDQfXRYLw==", "dependencies": { - "@docusaurus/types": "3.3.2", + "@docusaurus/types": "3.4.0", "@types/history": "^4.7.11", "@types/react": "*", "@types/react-router-config": "*", @@ -2574,16 +2546,15 @@ } }, "node_modules/@docusaurus/plugin-client-redirects": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-client-redirects/-/plugin-client-redirects-3.3.2.tgz", - "integrity": "sha512-W8ueb5PaQ06oanatL+CzE3GjqeRBTzv3MSFqEQlBa8BqLyOomc1uHsWgieE3glHsckU4mUZ6sHnOfesAtYnnew==", - "license": "MIT", - "dependencies": { - "@docusaurus/core": "3.3.2", - "@docusaurus/logger": "3.3.2", - "@docusaurus/utils": "3.3.2", - "@docusaurus/utils-common": "3.3.2", - "@docusaurus/utils-validation": "3.3.2", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-client-redirects/-/plugin-client-redirects-3.4.0.tgz", + "integrity": "sha512-Pr8kyh/+OsmYCvdZhc60jy/FnrY6flD2TEAhl4rJxeVFxnvvRgEhoaIVX8q9MuJmaQoh6frPk94pjs7/6YgBDQ==", + "dependencies": { + "@docusaurus/core": "3.4.0", + "@docusaurus/logger": "3.4.0", + "@docusaurus/utils": "3.4.0", + "@docusaurus/utils-common": "3.4.0", + "@docusaurus/utils-validation": "3.4.0", "eta": "^2.2.0", "fs-extra": "^11.1.1", "lodash": "^4.17.21", @@ -2598,18 +2569,17 @@ } }, "node_modules/@docusaurus/plugin-content-blog": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-blog/-/plugin-content-blog-3.3.2.tgz", - "integrity": "sha512-fJU+dmqp231LnwDJv+BHVWft8pcUS2xVPZdeYH6/ibH1s2wQ/sLcmUrGWyIv/Gq9Ptj8XWjRPMghlxghuPPoxg==", - "license": "MIT", - "dependencies": { - "@docusaurus/core": "3.3.2", - "@docusaurus/logger": "3.3.2", - "@docusaurus/mdx-loader": "3.3.2", - "@docusaurus/types": "3.3.2", - "@docusaurus/utils": "3.3.2", - "@docusaurus/utils-common": "3.3.2", - "@docusaurus/utils-validation": "3.3.2", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-blog/-/plugin-content-blog-3.4.0.tgz", + "integrity": "sha512-vv6ZAj78ibR5Jh7XBUT4ndIjmlAxkijM3Sx5MAAzC1gyv0vupDQNhzuFg1USQmQVj3P5I6bquk12etPV3LJ+Xw==", + "dependencies": { + "@docusaurus/core": "3.4.0", + "@docusaurus/logger": "3.4.0", + "@docusaurus/mdx-loader": "3.4.0", + "@docusaurus/types": "3.4.0", + "@docusaurus/utils": "3.4.0", + "@docusaurus/utils-common": "3.4.0", + "@docusaurus/utils-validation": "3.4.0", "cheerio": "^1.0.0-rc.12", "feed": "^4.2.2", "fs-extra": "^11.1.1", @@ -2630,19 +2600,18 @@ } }, "node_modules/@docusaurus/plugin-content-docs": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-docs/-/plugin-content-docs-3.3.2.tgz", - "integrity": "sha512-Dm1ri2VlGATTN3VGk1ZRqdRXWa1UlFubjaEL6JaxaK7IIFqN/Esjpl+Xw10R33loHcRww/H76VdEeYayaL76eg==", - "license": "MIT", - "dependencies": { - "@docusaurus/core": "3.3.2", - "@docusaurus/logger": "3.3.2", - "@docusaurus/mdx-loader": "3.3.2", - "@docusaurus/module-type-aliases": "3.3.2", - "@docusaurus/types": "3.3.2", - "@docusaurus/utils": "3.3.2", - "@docusaurus/utils-common": "3.3.2", - "@docusaurus/utils-validation": "3.3.2", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-docs/-/plugin-content-docs-3.4.0.tgz", + "integrity": "sha512-HkUCZffhBo7ocYheD9oZvMcDloRnGhBMOZRyVcAQRFmZPmNqSyISlXA1tQCIxW+r478fty97XXAGjNYzBjpCsg==", + "dependencies": { + "@docusaurus/core": "3.4.0", + "@docusaurus/logger": "3.4.0", + "@docusaurus/mdx-loader": "3.4.0", + "@docusaurus/module-type-aliases": "3.4.0", + "@docusaurus/types": "3.4.0", + "@docusaurus/utils": "3.4.0", + "@docusaurus/utils-common": "3.4.0", + "@docusaurus/utils-validation": "3.4.0", "@types/react-router-config": "^5.0.7", "combine-promises": "^1.1.0", "fs-extra": "^11.1.1", @@ -2661,16 +2630,15 @@ } }, "node_modules/@docusaurus/plugin-content-pages": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-pages/-/plugin-content-pages-3.3.2.tgz", - "integrity": "sha512-EKc9fQn5H2+OcGER8x1aR+7URtAGWySUgULfqE/M14+rIisdrBstuEZ4lUPDRrSIexOVClML82h2fDS+GSb8Ew==", - "license": "MIT", - "dependencies": { - "@docusaurus/core": "3.3.2", - "@docusaurus/mdx-loader": "3.3.2", - "@docusaurus/types": "3.3.2", - "@docusaurus/utils": "3.3.2", - "@docusaurus/utils-validation": "3.3.2", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-pages/-/plugin-content-pages-3.4.0.tgz", + "integrity": "sha512-h2+VN/0JjpR8fIkDEAoadNjfR3oLzB+v1qSXbIAKjQ46JAHx3X22n9nqS+BWSQnTnp1AjkjSvZyJMekmcwxzxg==", + "dependencies": { + "@docusaurus/core": "3.4.0", + "@docusaurus/mdx-loader": "3.4.0", + "@docusaurus/types": "3.4.0", + "@docusaurus/utils": "3.4.0", + "@docusaurus/utils-validation": "3.4.0", "fs-extra": "^11.1.1", "tslib": "^2.6.0", "webpack": "^5.88.1" @@ -2684,14 +2652,13 @@ } }, "node_modules/@docusaurus/plugin-debug": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-debug/-/plugin-debug-3.3.2.tgz", - "integrity": "sha512-oBIBmwtaB+YS0XlmZ3gCO+cMbsGvIYuAKkAopoCh0arVjtlyPbejzPrHuCoRHB9G7abjNZw7zoONOR8+8LM5+Q==", - "license": "MIT", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-debug/-/plugin-debug-3.4.0.tgz", + "integrity": "sha512-uV7FDUNXGyDSD3PwUaf5YijX91T5/H9SX4ErEcshzwgzWwBtK37nUWPU3ZLJfeTavX3fycTOqk9TglpOLaWkCg==", "dependencies": { - "@docusaurus/core": "3.3.2", - "@docusaurus/types": "3.3.2", - "@docusaurus/utils": "3.3.2", + "@docusaurus/core": "3.4.0", + "@docusaurus/types": "3.4.0", + "@docusaurus/utils": "3.4.0", "fs-extra": "^11.1.1", "react-json-view-lite": "^1.2.0", "tslib": "^2.6.0" @@ -2705,14 +2672,13 @@ } }, "node_modules/@docusaurus/plugin-google-analytics": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-3.3.2.tgz", - "integrity": "sha512-jXhrEIhYPSClMBK6/IA8qf1/FBoxqGXZvg7EuBax9HaK9+kL3L0TJIlatd8jQJOMtds8mKw806TOCc3rtEad1A==", - "license": "MIT", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-3.4.0.tgz", + "integrity": "sha512-mCArluxEGi3cmYHqsgpGGt3IyLCrFBxPsxNZ56Mpur0xSlInnIHoeLDH7FvVVcPJRPSQ9/MfRqLsainRw+BojA==", "dependencies": { - "@docusaurus/core": "3.3.2", - "@docusaurus/types": "3.3.2", - "@docusaurus/utils-validation": "3.3.2", + "@docusaurus/core": "3.4.0", + "@docusaurus/types": "3.4.0", + "@docusaurus/utils-validation": "3.4.0", "tslib": "^2.6.0" }, "engines": { @@ -2724,14 +2690,13 @@ } }, "node_modules/@docusaurus/plugin-google-gtag": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-3.3.2.tgz", - "integrity": "sha512-vcrKOHGbIDjVnNMrfbNpRQR1x6Jvcrb48kVzpBAOsKbj9rXZm/idjVAXRaewwobHdOrJkfWS/UJoxzK8wyLRBQ==", - "license": "MIT", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-3.4.0.tgz", + "integrity": "sha512-Dsgg6PLAqzZw5wZ4QjUYc8Z2KqJqXxHxq3vIoyoBWiLEEfigIs7wHR+oiWUQy3Zk9MIk6JTYj7tMoQU0Jm3nqA==", "dependencies": { - "@docusaurus/core": "3.3.2", - "@docusaurus/types": "3.3.2", - "@docusaurus/utils-validation": "3.3.2", + "@docusaurus/core": "3.4.0", + "@docusaurus/types": "3.4.0", + "@docusaurus/utils-validation": "3.4.0", "@types/gtag.js": "^0.0.12", "tslib": "^2.6.0" }, @@ -2744,14 +2709,13 @@ } }, "node_modules/@docusaurus/plugin-google-tag-manager": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-tag-manager/-/plugin-google-tag-manager-3.3.2.tgz", - "integrity": "sha512-ldkR58Fdeks0vC+HQ+L+bGFSJsotQsipXD+iKXQFvkOfmPIV6QbHRd7IIcm5b6UtwOiK33PylNS++gjyLUmaGw==", - "license": "MIT", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-tag-manager/-/plugin-google-tag-manager-3.4.0.tgz", + "integrity": "sha512-O9tX1BTwxIhgXpOLpFDueYA9DWk69WCbDRrjYoMQtFHSkTyE7RhNgyjSPREUWJb9i+YUg3OrsvrBYRl64FCPCQ==", "dependencies": { - "@docusaurus/core": "3.3.2", - "@docusaurus/types": "3.3.2", - "@docusaurus/utils-validation": "3.3.2", + "@docusaurus/core": "3.4.0", + "@docusaurus/types": "3.4.0", + "@docusaurus/utils-validation": "3.4.0", "tslib": "^2.6.0" }, "engines": { @@ -2763,17 +2727,16 @@ } }, "node_modules/@docusaurus/plugin-ideal-image": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-ideal-image/-/plugin-ideal-image-3.3.2.tgz", - "integrity": "sha512-1CBovuQ7dnbPGK6aZ43tBU0K0EG0PR6T9GlalzyvZP6Zcx7AMpZjVcQZ+P2EIybtd/YoMUXvMiwfgJyx+5+haQ==", - "license": "MIT", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-ideal-image/-/plugin-ideal-image-3.4.0.tgz", + "integrity": "sha512-s8N/PRiv1R66UY+WX/2E9a+GjkRooXVcf0VJNEYA3yZ6c24Path15ivjmdMtKaSo/6OXYbejGlA4DJZ5TPLkCQ==", "dependencies": { - "@docusaurus/core": "3.3.2", - "@docusaurus/lqip-loader": "3.3.2", + "@docusaurus/core": "3.4.0", + "@docusaurus/lqip-loader": "3.4.0", "@docusaurus/responsive-loader": "^1.7.0", - "@docusaurus/theme-translations": "3.3.2", - "@docusaurus/types": "3.3.2", - "@docusaurus/utils-validation": "3.3.2", + "@docusaurus/theme-translations": "3.4.0", + "@docusaurus/types": "3.4.0", + "@docusaurus/utils-validation": "3.4.0", "@slorber/react-ideal-image": "^0.0.12", "react-waypoint": "^10.3.0", "sharp": "^0.32.3", @@ -2795,17 +2758,16 @@ } }, "node_modules/@docusaurus/plugin-sitemap": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-sitemap/-/plugin-sitemap-3.3.2.tgz", - "integrity": "sha512-/ZI1+bwZBhAgC30inBsHe3qY9LOZS+79fRGkNdTcGHRMcdAp6Vw2pCd1gzlxd/xU+HXsNP6cLmTOrggmRp3Ujg==", - "license": "MIT", - "dependencies": { - "@docusaurus/core": "3.3.2", - "@docusaurus/logger": "3.3.2", - "@docusaurus/types": "3.3.2", - "@docusaurus/utils": "3.3.2", - "@docusaurus/utils-common": "3.3.2", - "@docusaurus/utils-validation": "3.3.2", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-sitemap/-/plugin-sitemap-3.4.0.tgz", + "integrity": "sha512-+0VDvx9SmNrFNgwPoeoCha+tRoAjopwT0+pYO1xAbyLcewXSemq+eLxEa46Q1/aoOaJQ0qqHELuQM7iS2gp33Q==", + "dependencies": { + "@docusaurus/core": "3.4.0", + "@docusaurus/logger": "3.4.0", + "@docusaurus/types": "3.4.0", + "@docusaurus/utils": "3.4.0", + "@docusaurus/utils-common": "3.4.0", + "@docusaurus/utils-validation": "3.4.0", "fs-extra": "^11.1.1", "sitemap": "^7.1.1", "tslib": "^2.6.0" @@ -2819,24 +2781,23 @@ } }, "node_modules/@docusaurus/preset-classic": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/@docusaurus/preset-classic/-/preset-classic-3.3.2.tgz", - "integrity": "sha512-1SDS7YIUN1Pg3BmD6TOTjhB7RSBHJRpgIRKx9TpxqyDrJ92sqtZhomDc6UYoMMLQNF2wHFZZVGFjxJhw2VpL+Q==", - "license": "MIT", - "dependencies": { - "@docusaurus/core": "3.3.2", - "@docusaurus/plugin-content-blog": "3.3.2", - "@docusaurus/plugin-content-docs": "3.3.2", - "@docusaurus/plugin-content-pages": "3.3.2", - "@docusaurus/plugin-debug": "3.3.2", - "@docusaurus/plugin-google-analytics": "3.3.2", - "@docusaurus/plugin-google-gtag": "3.3.2", - "@docusaurus/plugin-google-tag-manager": "3.3.2", - "@docusaurus/plugin-sitemap": "3.3.2", - "@docusaurus/theme-classic": "3.3.2", - "@docusaurus/theme-common": "3.3.2", - "@docusaurus/theme-search-algolia": "3.3.2", - "@docusaurus/types": "3.3.2" + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@docusaurus/preset-classic/-/preset-classic-3.4.0.tgz", + "integrity": "sha512-Ohj6KB7siKqZaQhNJVMBBUzT3Nnp6eTKqO+FXO3qu/n1hJl3YLwVKTWBg28LF7MWrKu46UuYavwMRxud0VyqHg==", + "dependencies": { + "@docusaurus/core": "3.4.0", + "@docusaurus/plugin-content-blog": "3.4.0", + "@docusaurus/plugin-content-docs": "3.4.0", + "@docusaurus/plugin-content-pages": "3.4.0", + "@docusaurus/plugin-debug": "3.4.0", + "@docusaurus/plugin-google-analytics": "3.4.0", + "@docusaurus/plugin-google-gtag": "3.4.0", + "@docusaurus/plugin-google-tag-manager": "3.4.0", + "@docusaurus/plugin-sitemap": "3.4.0", + "@docusaurus/theme-classic": "3.4.0", + "@docusaurus/theme-common": "3.4.0", + "@docusaurus/theme-search-algolia": "3.4.0", + "@docusaurus/types": "3.4.0" }, "engines": { "node": ">=18.0" @@ -2871,23 +2832,22 @@ } }, "node_modules/@docusaurus/theme-classic": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-classic/-/theme-classic-3.3.2.tgz", - "integrity": "sha512-gepHFcsluIkPb4Im9ukkiO4lXrai671wzS3cKQkY9BXQgdVwsdPf/KS0Vs4Xlb0F10fTz+T3gNjkxNEgSN9M0A==", - "license": "MIT", - "dependencies": { - "@docusaurus/core": "3.3.2", - "@docusaurus/mdx-loader": "3.3.2", - "@docusaurus/module-type-aliases": "3.3.2", - "@docusaurus/plugin-content-blog": "3.3.2", - "@docusaurus/plugin-content-docs": "3.3.2", - "@docusaurus/plugin-content-pages": "3.3.2", - "@docusaurus/theme-common": "3.3.2", - "@docusaurus/theme-translations": "3.3.2", - "@docusaurus/types": "3.3.2", - "@docusaurus/utils": "3.3.2", - "@docusaurus/utils-common": "3.3.2", - "@docusaurus/utils-validation": "3.3.2", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-classic/-/theme-classic-3.4.0.tgz", + "integrity": "sha512-0IPtmxsBYv2adr1GnZRdMkEQt1YW6tpzrUPj02YxNpvJ5+ju4E13J5tB4nfdaen/tfR1hmpSPlTFPvTf4kwy8Q==", + "dependencies": { + "@docusaurus/core": "3.4.0", + "@docusaurus/mdx-loader": "3.4.0", + "@docusaurus/module-type-aliases": "3.4.0", + "@docusaurus/plugin-content-blog": "3.4.0", + "@docusaurus/plugin-content-docs": "3.4.0", + "@docusaurus/plugin-content-pages": "3.4.0", + "@docusaurus/theme-common": "3.4.0", + "@docusaurus/theme-translations": "3.4.0", + "@docusaurus/types": "3.4.0", + "@docusaurus/utils": "3.4.0", + "@docusaurus/utils-common": "3.4.0", + "@docusaurus/utils-validation": "3.4.0", "@mdx-js/react": "^3.0.0", "clsx": "^2.0.0", "copy-text-to-clipboard": "^3.2.0", @@ -2911,18 +2871,17 @@ } }, "node_modules/@docusaurus/theme-common": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-common/-/theme-common-3.3.2.tgz", - "integrity": "sha512-kXqSaL/sQqo4uAMQ4fHnvRZrH45Xz2OdJ3ABXDS7YVGPSDTBC8cLebFrRR4YF9EowUHto1UC/EIklJZQMG/usA==", - "license": "MIT", - "dependencies": { - "@docusaurus/mdx-loader": "3.3.2", - "@docusaurus/module-type-aliases": "3.3.2", - "@docusaurus/plugin-content-blog": "3.3.2", - "@docusaurus/plugin-content-docs": "3.3.2", - "@docusaurus/plugin-content-pages": "3.3.2", - "@docusaurus/utils": "3.3.2", - "@docusaurus/utils-common": "3.3.2", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-common/-/theme-common-3.4.0.tgz", + "integrity": "sha512-0A27alXuv7ZdCg28oPE8nH/Iz73/IUejVaCazqu9elS4ypjiLhK3KfzdSQBnL/g7YfHSlymZKdiOHEo8fJ0qMA==", + "dependencies": { + "@docusaurus/mdx-loader": "3.4.0", + "@docusaurus/module-type-aliases": "3.4.0", + "@docusaurus/plugin-content-blog": "3.4.0", + "@docusaurus/plugin-content-docs": "3.4.0", + "@docusaurus/plugin-content-pages": "3.4.0", + "@docusaurus/utils": "3.4.0", + "@docusaurus/utils-common": "3.4.0", "@types/history": "^4.7.11", "@types/react": "*", "@types/react-router-config": "*", @@ -2941,15 +2900,14 @@ } }, "node_modules/@docusaurus/theme-live-codeblock": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-live-codeblock/-/theme-live-codeblock-3.3.2.tgz", - "integrity": "sha512-04ZyMVKOuWFwvmkx+pR4vq9IiaKf753pfxFWLp5FCGuPS9YWzkxg8ZifhobftAY+3uey6BcwfS84ewNvbOwoQA==", - "license": "MIT", - "dependencies": { - "@docusaurus/core": "3.3.2", - "@docusaurus/theme-common": "3.3.2", - "@docusaurus/theme-translations": "3.3.2", - "@docusaurus/utils-validation": "3.3.2", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-live-codeblock/-/theme-live-codeblock-3.4.0.tgz", + "integrity": "sha512-UvsYhN6aTQiQlhY6cd0I4ckNbyZ/pQVKtKNRw3ojr+SPXYqSyXTpFzcuTUYcglKFVz1IK7LeeFymGFnsfkCWmw==", + "dependencies": { + "@docusaurus/core": "3.4.0", + "@docusaurus/theme-common": "3.4.0", + "@docusaurus/theme-translations": "3.4.0", + "@docusaurus/utils-validation": "3.4.0", "@philpl/buble": "^0.19.7", "clsx": "^2.0.0", "fs-extra": "^11.1.1", @@ -2965,19 +2923,18 @@ } }, "node_modules/@docusaurus/theme-search-algolia": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-search-algolia/-/theme-search-algolia-3.3.2.tgz", - "integrity": "sha512-qLkfCl29VNBnF1MWiL9IyOQaHxUvicZp69hISyq/xMsNvFKHFOaOfk9xezYod2Q9xx3xxUh9t/QPigIei2tX4w==", - "license": "MIT", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-search-algolia/-/theme-search-algolia-3.4.0.tgz", + "integrity": "sha512-aiHFx7OCw4Wck1z6IoShVdUWIjntC8FHCw9c5dR8r3q4Ynh+zkS8y2eFFunN/DL6RXPzpnvKCg3vhLQYJDmT9Q==", "dependencies": { "@docsearch/react": "^3.5.2", - "@docusaurus/core": "3.3.2", - "@docusaurus/logger": "3.3.2", - "@docusaurus/plugin-content-docs": "3.3.2", - "@docusaurus/theme-common": "3.3.2", - "@docusaurus/theme-translations": "3.3.2", - "@docusaurus/utils": "3.3.2", - "@docusaurus/utils-validation": "3.3.2", + "@docusaurus/core": "3.4.0", + "@docusaurus/logger": "3.4.0", + "@docusaurus/plugin-content-docs": "3.4.0", + "@docusaurus/theme-common": "3.4.0", + "@docusaurus/theme-translations": "3.4.0", + "@docusaurus/utils": "3.4.0", + "@docusaurus/utils-validation": "3.4.0", "algoliasearch": "^4.18.0", "algoliasearch-helper": "^3.13.3", "clsx": "^2.0.0", @@ -2996,10 +2953,9 @@ } }, "node_modules/@docusaurus/theme-translations": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-translations/-/theme-translations-3.3.2.tgz", - "integrity": "sha512-bPuiUG7Z8sNpGuTdGnmKl/oIPeTwKr0AXLGu9KaP6+UFfRZiyWbWE87ti97RrevB2ffojEdvchNujparR3jEZQ==", - "license": "MIT", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-translations/-/theme-translations-3.4.0.tgz", + "integrity": "sha512-zSxCSpmQCCdQU5Q4CnX/ID8CSUUI3fvmq4hU/GNP/XoAWtXo9SAVnM3TzpU8Gb//H3WCsT8mJcTfyOk3d9ftNg==", "dependencies": { "fs-extra": "^11.1.1", "tslib": "^2.6.0" @@ -3009,17 +2965,15 @@ } }, "node_modules/@docusaurus/tsconfig": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/@docusaurus/tsconfig/-/tsconfig-3.3.2.tgz", - "integrity": "sha512-2MQXkLoWqgOSiqFojNEq8iPtFBHGQqd1b/SQMoe+v3GgHmk/L6YTTO/hMcHhWb1hTFmbkei++IajSfD3RlZKvw==", - "dev": true, - "license": "MIT" + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@docusaurus/tsconfig/-/tsconfig-3.4.0.tgz", + "integrity": "sha512-0qENiJ+TRaeTzcg4olrnh0BQ7eCxTgbYWBnWUeQDc84UYkt/T3pDNnm3SiQkqPb+YQ1qtYFlC0RriAElclo8Dg==", + "dev": true }, "node_modules/@docusaurus/types": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-3.3.2.tgz", - "integrity": "sha512-5p201S7AZhliRxTU7uMKtSsoC8mgPA9bs9b5NQg1IRdRxJfflursXNVsgc3PcMqiUTul/v1s3k3rXXFlRE890w==", - "license": "MIT", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-3.4.0.tgz", + "integrity": "sha512-4jcDO8kXi5Cf9TcyikB/yKmz14f2RZ2qTRerbHAsS+5InE9ZgSLBNLsewtFTcTOXSVcbU3FoGOzcNWAmU1TR0A==", "dependencies": { "@mdx-js/mdx": "^3.0.0", "@types/history": "^4.7.11", @@ -3037,13 +2991,12 @@ } }, "node_modules/@docusaurus/utils": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-3.3.2.tgz", - "integrity": "sha512-f4YMnBVymtkSxONv4Y8js3Gez9IgHX+Lcg6YRMOjVbq8sgCcdYK1lf6SObAuz5qB/mxiSK7tW0M9aaiIaUSUJg==", - "license": "MIT", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-3.4.0.tgz", + "integrity": "sha512-fRwnu3L3nnWaXOgs88BVBmG1yGjcQqZNHG+vInhEa2Sz2oQB+ZjbEMO5Rh9ePFpZ0YDiDUhpaVjwmS+AU2F14g==", "dependencies": { - "@docusaurus/logger": "3.3.2", - "@docusaurus/utils-common": "3.3.2", + "@docusaurus/logger": "3.4.0", + "@docusaurus/utils-common": "3.4.0", "@svgr/webpack": "^8.1.0", "escape-string-regexp": "^4.0.0", "file-loader": "^6.2.0", @@ -3060,6 +3013,7 @@ "shelljs": "^0.8.5", "tslib": "^2.6.0", "url-loader": "^4.1.1", + "utility-types": "^3.10.0", "webpack": "^5.88.1" }, "engines": { @@ -3075,10 +3029,9 @@ } }, "node_modules/@docusaurus/utils-common": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-3.3.2.tgz", - "integrity": "sha512-QWFTLEkPYsejJsLStgtmetMFIA3pM8EPexcZ4WZ7b++gO5jGVH7zsipREnCHzk6+eDgeaXfkR6UPaTt86bp8Og==", - "license": "MIT", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-3.4.0.tgz", + "integrity": "sha512-NVx54Wr4rCEKsjOH5QEVvxIqVvm+9kh7q8aYTU5WzUU9/Hctd6aTrcZ3G0Id4zYJ+AeaG5K5qHA4CY5Kcm2iyQ==", "dependencies": { "tslib": "^2.6.0" }, @@ -3095,16 +3048,17 @@ } }, "node_modules/@docusaurus/utils-validation": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-3.3.2.tgz", - "integrity": "sha512-itDgFs5+cbW9REuC7NdXals4V6++KifgVMzoGOOOSIifBQw+8ULhy86u5e1lnptVL0sv8oAjq2alO7I40GR7pA==", - "license": "MIT", - "dependencies": { - "@docusaurus/logger": "3.3.2", - "@docusaurus/utils": "3.3.2", - "@docusaurus/utils-common": "3.3.2", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-3.4.0.tgz", + "integrity": "sha512-hYQ9fM+AXYVTWxJOT1EuNaRnrR2WGpRdLDQG07O8UOpsvCPWUVOeo26Rbm0JWY2sGLfzAb+tvJ62yF+8F+TV0g==", + "dependencies": { + "@docusaurus/logger": "3.4.0", + "@docusaurus/utils": "3.4.0", + "@docusaurus/utils-common": "3.4.0", + "fs-extra": "^11.2.0", "joi": "^17.9.2", "js-yaml": "^4.1.0", + "lodash": "^4.17.21", "tslib": "^2.6.0" }, "engines": { @@ -4800,8 +4754,7 @@ "node_modules/@types/gtag.js": { "version": "0.0.12", "resolved": "https://registry.npmjs.org/@types/gtag.js/-/gtag.js-0.0.12.tgz", - "integrity": "sha512-YQV9bUsemkzG81Ea295/nF/5GijnD2Af7QhEofh7xu+kvCN6RdodgNwwGWXB5GMI3NoyvQo0odNctoH/qLMIpg==", - "license": "MIT" + "integrity": "sha512-YQV9bUsemkzG81Ea295/nF/5GijnD2Af7QhEofh7xu+kvCN6RdodgNwwGWXB5GMI3NoyvQo0odNctoH/qLMIpg==" }, "node_modules/@types/hast": { "version": "3.0.2", @@ -5031,7 +4984,6 @@ "version": "1.2.7", "resolved": "https://registry.npmjs.org/@types/sax/-/sax-1.2.7.tgz", "integrity": "sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A==", - "license": "MIT", "dependencies": { "@types/node": "*" } @@ -5443,7 +5395,6 @@ "version": "4.23.3", "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-4.23.3.tgz", "integrity": "sha512-Le/3YgNvjW9zxIQMRhUHuhiUjAlKY/zsdZpfq4dlLqg6mEm0nL6yk+7f2hDOtLpxsgE4jSzDmvHL7nXdBp5feg==", - "license": "MIT", "dependencies": { "@algolia/cache-browser-local-storage": "4.23.3", "@algolia/cache-common": "4.23.3", @@ -5463,10 +5414,9 @@ } }, "node_modules/algoliasearch-helper": { - "version": "3.19.0", - "resolved": "https://registry.npmjs.org/algoliasearch-helper/-/algoliasearch-helper-3.19.0.tgz", - "integrity": "sha512-AaSb5DZDMZmDQyIy6lf4aL0OZGgyIdqvLIIvSuVQOIOqfhrYSY7TvotIFI2x0Q3cP3xUpTd7lI1astUC4aXBJw==", - "license": "MIT", + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/algoliasearch-helper/-/algoliasearch-helper-3.21.0.tgz", + "integrity": "sha512-hjVOrL15I3Y3K8xG0icwG1/tWE+MocqBrhW6uVBWpU+/kVEMK0BnM2xdssj6mZM61eJ4iRxHR0djEI3ENOpR8w==", "dependencies": { "@algolia/events": "^4.0.1" }, @@ -5561,8 +5511,7 @@ "node_modules/arg": { "version": "5.0.2", "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", - "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", - "license": "MIT" + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==" }, "node_modules/argparse": { "version": "2.0.1", @@ -5657,7 +5606,6 @@ "url": "https://github.com/sponsors/ai" } ], - "license": "MIT", "dependencies": { "browserslist": "^4.23.0", "caniuse-lite": "^1.0.30001599", @@ -7352,7 +7300,6 @@ "version": "6.1.2", "resolved": "https://registry.npmjs.org/cssnano-preset-advanced/-/cssnano-preset-advanced-6.1.2.tgz", "integrity": "sha512-Nhao7eD8ph2DoHolEzQs5CfRpiEP0xa1HBdnFZ82kvqdmbwVBUr2r1QuQ4t1pi+D1ZpqpcO4T+wy/7RxzJ/WPQ==", - "license": "MIT", "dependencies": { "autoprefixer": "^10.4.19", "browserslist": "^4.23.0", @@ -9099,7 +9046,6 @@ "version": "4.3.7", "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", - "license": "MIT", "engines": { "node": "*" }, @@ -9124,10 +9070,9 @@ "license": "MIT" }, "node_modules/fs-extra": { - "version": "11.1.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.1.1.tgz", - "integrity": "sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==", - "license": "MIT", + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", + "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", @@ -14011,7 +13956,6 @@ "version": "0.1.2", "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", - "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -15045,7 +14989,6 @@ "version": "6.0.5", "resolved": "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-6.0.5.tgz", "integrity": "sha512-wHalBlRHkaNnNwfC8z+ppX57VhvS+HWgjW508esjdaEYr3Mx7Gnn2xA4R/CKf5+Z9S5qsqC+Uzh4ueENWwCVUA==", - "license": "MIT", "dependencies": { "postcss-selector-parser": "^6.0.16" }, @@ -15082,7 +15025,6 @@ "version": "6.0.3", "resolved": "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-6.0.3.tgz", "integrity": "sha512-1oIoAsODUs6IHQZkLQGO15uGEbK3EAl5wi9SS8hs45VgsxQfMnxvt+L+zIr7ifZFIH14cfAeVe2uCTa+SPRa3g==", - "license": "MIT", "dependencies": { "cssnano-utils": "^4.0.2", "postcss-value-parser": "^4.2.0" @@ -15404,7 +15346,6 @@ "version": "6.0.3", "resolved": "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-6.0.3.tgz", "integrity": "sha512-G3yCqZDpsNPoQgbDUy3T0E6hqOQ5xigUtBQyrmq3tn2GxlyiL0yyl7H+T8ulQR6kOcHJ9t7/9H4/R2tv8tJbMA==", - "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -15463,7 +15404,6 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/postcss-sort-media-queries/-/postcss-sort-media-queries-5.2.0.tgz", "integrity": "sha512-AZ5fDMLD8SldlAYlvi8NIqo0+Z8xnXU2ia0jxmuhxAU+Lqt9K+AlmLNJ/zWEnE9x+Zx3qL3+1K20ATgNOr3fAA==", - "license": "MIT", "dependencies": { "sort-css-media-queries": "2.2.0" }, @@ -15515,7 +15455,6 @@ "version": "6.0.2", "resolved": "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-6.0.2.tgz", "integrity": "sha512-5BxW9l1evPB/4ZIc+2GobEBoKC+h8gPGCMi+jxsYvd2x0mjq7wazk6DrP71pStqxE9Foxh5TVnonbWpFZzXaYg==", - "license": "MIT", "engines": { "node": "^14 || ^16 || >=18.0" }, @@ -16290,7 +16229,6 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/react-json-view-lite/-/react-json-view-lite-1.4.0.tgz", "integrity": "sha512-wh6F6uJyYAmQ4fK0e8dSQMEWuvTs2Wr3el3sLD9bambX1+pSWUVXIz1RFaoy3TI1mZ0FqdpKq9YgbgTTgyrmXA==", - "license": "MIT", "engines": { "node": ">=14" }, @@ -17919,10 +17857,9 @@ } }, "node_modules/search-insights": { - "version": "2.13.0", - "resolved": "https://registry.npmjs.org/search-insights/-/search-insights-2.13.0.tgz", - "integrity": "sha512-Orrsjf9trHHxFRuo9/rzm0KIWmgzE8RMlZMzuhZOJ01Rnz3D0YBAe+V6473t6/H6c7irs6Lt48brULAiRWb3Vw==", - "license": "MIT", + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/search-insights/-/search-insights-2.14.0.tgz", + "integrity": "sha512-OLN6MsPMCghDOqlCtsIsYgtsC0pnwVTyT9Mu6A3ewOj1DxvzZF6COrn2g86E/c05xbktB0XN04m/t1Z+n+fTGw==", "peer": true }, "node_modules/section-matter": { @@ -18478,10 +18415,9 @@ "license": "MIT" }, "node_modules/sitemap": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/sitemap/-/sitemap-7.1.1.tgz", - "integrity": "sha512-mK3aFtjz4VdJN0igpIJrinf3EO8U8mxOPsTBzSsy06UtjZQJ3YY3o3Xa7zSc5nMqcMrRwlChHZ18Kxg0caiPBg==", - "license": "MIT", + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/sitemap/-/sitemap-7.1.2.tgz", + "integrity": "sha512-ARCqzHJ0p4gWt+j7NlU5eDlIO9+Rkr/JhPFZKKQ1l5GCus7rJH4UdrlVAh0xC/gDS/Qir2UMxqYNHtsKr2rpCw==", "dependencies": { "@types/node": "^17.0.5", "@types/sax": "^1.2.1", @@ -18499,8 +18435,7 @@ "node_modules/sitemap/node_modules/@types/node": { "version": "17.0.45", "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.45.tgz", - "integrity": "sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==", - "license": "MIT" + "integrity": "sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==" }, "node_modules/skin-tone": { "version": "2.0.0", @@ -18557,7 +18492,6 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/sort-css-media-queries/-/sort-css-media-queries-2.2.0.tgz", "integrity": "sha512-0xtkGhWCC9MGt/EzgnvbbbKhqWjl1+/rncmhTh5qCpbYguXh6S/qwePfv/JQ8jePXXmqingylxoC49pCkSPIbA==", - "license": "MIT", "engines": { "node": ">= 6.3.0" } diff --git a/package.json b/package.json index 8410a0ca0..b720e8dd4 100644 --- a/package.json +++ b/package.json @@ -17,12 +17,12 @@ }, "dependencies": { "@docsly/react": "^1.9.1", - "@docusaurus/core": "^3.3.2", - "@docusaurus/plugin-client-redirects": "^3.3.2", - "@docusaurus/plugin-google-tag-manager": "^3.3.2", - "@docusaurus/plugin-ideal-image": "^3.3.2", - "@docusaurus/preset-classic": "^3.3.2", - "@docusaurus/theme-live-codeblock": "^3.3.2", + "@docusaurus/core": "^3.4.0", + "@docusaurus/plugin-client-redirects": "^3.4.0", + "@docusaurus/plugin-google-tag-manager": "^3.4.0", + "@docusaurus/plugin-ideal-image": "^3.4.0", + "@docusaurus/preset-classic": "^3.4.0", + "@docusaurus/theme-live-codeblock": "^3.4.0", "@easyops-cn/docusaurus-search-local": "^0.42.0", "@mdx-js/react": "^3.0.1", "@port-labs/docusaurus-plugin-openapi-docs": "^0.0.5", @@ -38,9 +38,9 @@ "react-tooltip": "^5.26.4" }, "devDependencies": { - "@docusaurus/module-type-aliases": "^3.3.2", - "@docusaurus/tsconfig": "^3.3.2", - "@docusaurus/types": "^3.3.2", + "@docusaurus/module-type-aliases": "^3.4.0", + "@docusaurus/tsconfig": "^3.4.0", + "@docusaurus/types": "^3.4.0", "husky": "^9.0.11", "pretty-quick": "^4.0.0", "typescript": "~5.4.5" From bee9b53cc8c2cfb54e111367daa42d3f3bd0d0ee Mon Sep 17 00:00:00 2001 From: hadar-co Date: Mon, 10 Jun 2024 12:21:46 +0300 Subject: [PATCH 07/56] fix routes with misleading names (#1292) * fix routes with misleading names * fix routes with misleading names --------- Co-authored-by: Hadar --- ...ard.api.mdx => change-a-scorecard.api.mdx} | 10 +- ...ards.api.mdx => change-scorecards.api.mdx} | 10 +- ...int.api.mdx => create-a-scorecard.api.mdx} | 10 +- ...ard.api.mdx => delete-a-scorecard.api.mdx} | 10 +- ...delete-all-entities-of-a-blueprint.api.mdx | 108 ++++++++- docs/api-reference/delete-an-entity.api.mdx | 112 ++++++++- .../get-a-blueprints-entity-count.api.mdx | 79 ++++++- .../get-a-blueprints-scorecards.api.mdx | 8 +- ...recard.api.mdx => get-a-scorecard.api.mdx} | 10 +- ...rds.api.mdx => get-all-scorecards.api.mdx} | 10 +- docs/api-reference/search-entities.api.mdx | 54 ++++- docs/api-reference/sidebar.ts | 12 +- static/spectmp.yaml | 216 +++++++++++++++++- 13 files changed, 590 insertions(+), 59 deletions(-) rename docs/api-reference/{change-a-blueprints-scorecard.api.mdx => change-a-scorecard.api.mdx} (95%) rename docs/api-reference/{change-a-blueprints-scorecards.api.mdx => change-scorecards.api.mdx} (95%) rename docs/api-reference/{create-a-scorecard-for-a-blueprint.api.mdx => create-a-scorecard.api.mdx} (96%) rename docs/api-reference/{delete-a-blueprints-scorecard.api.mdx => delete-a-scorecard.api.mdx} (72%) rename docs/api-reference/{get-a-blueprints-scorecard.api.mdx => get-a-scorecard.api.mdx} (72%) rename docs/api-reference/{get-all-scoreboards.api.mdx => get-all-scorecards.api.mdx} (68%) diff --git a/docs/api-reference/change-a-blueprints-scorecard.api.mdx b/docs/api-reference/change-a-scorecard.api.mdx similarity index 95% rename from docs/api-reference/change-a-blueprints-scorecard.api.mdx rename to docs/api-reference/change-a-scorecard.api.mdx index 69f0a845a..dd91b2051 100644 --- a/docs/api-reference/change-a-blueprints-scorecard.api.mdx +++ b/docs/api-reference/change-a-scorecard.api.mdx @@ -1,11 +1,11 @@ --- -id: change-a-blueprints-scorecard -title: "Change a blueprint's scorecard" +id: change-a-scorecard +title: "Change a scorecard" description: "This route allows you to modify a specific scorecard. A scorecard is a set of rules that define the quality of a blueprint.

To learn more about scorecards, check out the [documentation](https://docs.getport.io/promote-scorecards/)." -sidebar_label: "Change a blueprint's scorecard" +sidebar_label: "Change a scorecard" hide_title: true hide_table_of_contents: true -api: eJztWFtv2zYU/isEN2ANZlvJ3mo0xdyuGIo9LEjSl7luQUvHMRtKVEnKrmLov+8c6u5LY2cd9tAlgEFR5375zrE3PAIbGpk6qRM+5rdLaZnRmQMmlNJry3KdMadZrCO5yJlgNoVQLmTIbKgNhMJEIzZpHxjyIxE4phfMZAosc0vhWAQLmQCegX3OhJIuJwLB5iqD1MjEjV7MTfDSf9xqpkCYBJUatGOO5rQK7ICFSwjvGd2SuGmkwyyGxAnyYfZs6Vxqx0GA13Z0By7Vxo2kDlKjY+1g2EoKzkZ8wJ24s3w85TfNPZ8NuIHPGVj3Skc5H294qBOHKugo0lTJ0CsLPlmK2oZbNCkWdHJ5ChhHPf8EoUPpqDUF4yRYeisjFILRA9OhtQ79v0Pa7VQAS2DNWh6KGHncRt6Hi7QI58AQ14fpZPiXGD6cD5//+nE0fo9/weVw9vOPvEBXpVNwvGZPfkgpiltI5XqeNF735U0Spv1ZqLoyphjQSNKdPSljP7R8Z1SWpQmMIkQxLmttLZVic2CwEioTDiI2zw8FrpeeUMdzmQin96YHkiymQhFJhE9IM8MYtPZ0WIQxIkeaWCZvHcT46mLAZXnCAkryPxcoaDdsVHTSQERaKstIDB28UQNOHgEp3mWuksuvQfniZOhNKoykEu2LNhXFyaKvKpsYxCl+Nr4fYfpxJn9d7j67Z8WsKIo+XSeNvQRRvjwkURZ2S37q351WjsQyBAWEP1SRW1C3W3BbFdIUxbfFjV3MIEMfg4tLQosnYEUPJzqKii3ix2RNWOeZLbTZI1DBCtRxZk097Wn5bM5Dp51QQy9iGAoVZmXtne0NaA0Nv2tF2HAj1Qqo+F4ZnTz4puI4Tkz+eKb/awjaafWDKPI/QP0LALVF2On72pi6BeqKKqWLqJQh1FWnnBZCWThCYgmK23Y6k0FBYGFEDIgX1hfMzqpTFSdSSuo8xJYlikyQh17W/fSxp/gYxGpXSlpB1yJxNPDDpUju2sbbtvZU+5r183T7Gla2Xmr7NHtx0bQQZgbXYR/cOa69hPHTWeF3UJtiWZTA8Mv5+e7Y+g0WIlOOXVeUnDKIyVrqiFzNXAn2S3wIVhdBY7INNvs8L4IOFm725a7gZLFZ1dWQGQRjXiOsSGUHYHnXvRtKS+lJ7WSLVan8A/I2KZMMHTDyoe4ln7cliAi5yEHauq/b/fzNFxGn5azqzskWNesubi7axbULtxWqduEUPWywosPfNPeYXzbA1Km0TYsEJ3El2pWFMXhMrbRvCIm2uR5R23B1NqHp0VHrl15zXU3kevY1c+67Da2PrkwW2pd4PZmwJ9jk6i1Zh81TCroYnRMupdq6WPgFqeqA1x41ul+Pf7ItwGznovP19Lv8Al+iiIMvLkiVQLTAmHpg2lTgN+WrCyRs4Q8fxgegv5VORHvnF8IaIr4juZvNXFh4Z1RR0HVV/NMZ1aCRYk65x0qPpKVz1Izkg/l7dl1NiDP2D8bi3pDUaJvknRbB4z3khyY19cA3tP1JI/MJvuxNrW/LaopQTkrS16X1w1sS2Ira+ZGHZlkzWK/e3VI5Vb8NYWcRixFrGvD4Oebv8d/jQ7OW+/sNV+haJu6IvhTrl7eMirQ7Du/9OKwOnTW97+/2nCw9os/OLttneYEQxHDYvmzIyzcHGaqA1dQUfdoT/wZuLwn3 +api: eJztWEtvGzcQ/isE20OMSlq7twpxUCUNiqCHGrZzqaIG1O7IYsxdbkiulLWw/70z3LceleSm6CG1AYHLHQ7n8c03I214BDY0MnVSJ3zM75fSMqMzB0wopdeW5TpjTrNYR3KRM8FsCqFcyJDZUBsIhYlGbNI+MDyPQuCYXjCTKbDMLYVjESxkArgG9jkTSrqcBASbqwxSIxM3ejk3wSv/ca+ZAmESvNSgHXM0p73ADli4hPCR0S6pm0Y6zGJInCAfZi+WzqV2HAS4bUcP4FJt3EjqIDU61g6GrabgYsQH3IkHy8dTftfs89mAG/icgXWvdZTz8YaHOnF4BS1FmioZ+suCT5aituEWTYoFrVyeAsZRzz9B6FA73pqCcRIsvZURKsHogenIWof+P6DsdiqAJbBm7RmKGHncRt6Hi24RzoGhU39OJ8M/xPDpcvjTzx9H4w/4F1wPZz98zwt0VToFp9/sxQ9diuoWUrmeJ43XfX2ThGm/FqpGxhQDGknas2dl7Lv23AXBsjSBUYQoxiXW1lIpNgcGK6Ey4SBi8/xQ4HrpCXU8l4lwem96IMliAopIInxCmRnGoLWnc0QYI3KUiWXyzkGMr64GXJYrBFCS/75ARbthI9BJAxHdUllGamjhjRpw8gjo4t3DVXL5LSgPTobepMJIgmhftakkzlZ9U9nEIE7xs/H9BNNPM/nv9e6ze1bMiqLoy3XS2EsQ5ctTEmVhF/JT/+48ONKRISgg/iFEblHdLuC2ENKA4uvyxi5nkKHH6OKa2OIZXNHjic5FxZbwMV0T1nlmC232KFSwAnWaWVMve14+m/XQaSfU0KsYhkKFWYm9i70BranhV62IG+6kWgGB77XRyZMvKo7txOTHM/1fU9BOqR9kkf8J6l8gqC3BTt3XxtQlUCOq1C6iUodQNx04LYSycILGkhS37XQmg4LIwogYkC+sB8zOqFOBEyUlVR5yyxJVJniGXtb19LF38SmM1Y6UNIKuReKo4YdLkTy0hbdt7bn2NePn+fY1R9l6qe3z7MVB00KYGRyHfXDnOPYSx09nhZ9BbYqwKInhx8vL3bb1CyxEphy7rSQ5ZRCTtdQRuZq5kuyX+BCsroLGZBts9nleBB0u3OzLXcHJYrOq0ZAZJGNeM6xIZYdgede9O0pL6UntZMtVqfwN8jYpkwwdMPKpriWftyWICE+RgzR137bz+dsvIk7LXtXtky1r1lXcbLSDa5duK1bt0il62HBF53xT3GN+3RBTB2mblgnOOpVoVwJjcOxaad8SE22fOnJtc6ozCU1Pjlofes121ZHr3tf0uW82tD66MlloD/G6M2FNsMnNO7IOi6dUdDW6JF5KtXWx8ANSVQFvPGvQF+m6Brfj3/lK+k1+aS+Zw8EXF6RKIENgHD0ZbSrCm/LVFQq2lIcP4wN032onob09C6kMWd6R3s1mLiy8N6ooaLsC/HRGuDNSzCnfiO5IWlpHTRs+mL8Xt1VXuGD/oBXuDUnNsEneKQtcPkJ+qDsT7r+i7c9qk8/wZW9qfSlWnYNyUoq+Ka0f3pPCVtXODzvUv5pmevP+nuBU/R6ElUVHjFhTU8fPMf+A/54TmlHc72+4Qtcy8UDypVo/sGUE0m4LfPQtsFp0RvO+v9u9sfSIPjvza//IS6Qdhg32VSNevjl4oApYLU3Rp9nwLyDxBWg= sidebar_class_name: "put api-method" info_path: api-reference-temp/port-api custom_edit_url: null @@ -28,7 +28,7 @@ import TabItem from "@theme/TabItem"; diff --git a/docs/api-reference/change-a-blueprints-scorecards.api.mdx b/docs/api-reference/change-scorecards.api.mdx similarity index 95% rename from docs/api-reference/change-a-blueprints-scorecards.api.mdx rename to docs/api-reference/change-scorecards.api.mdx index 808ef837e..66a5c3447 100644 --- a/docs/api-reference/change-a-blueprints-scorecards.api.mdx +++ b/docs/api-reference/change-scorecards.api.mdx @@ -1,11 +1,11 @@ --- -id: change-a-blueprints-scorecards -title: "Change a blueprint's scorecards" +id: change-scorecards +title: "Change scorecards" description: "This route allows you to modify one or more scorecards of a given blueprint. A scorecard is a set of rules that define the quality of a blueprint.

To learn more about scorecards, check out the [documentation](https://docs.getport.io/promote-scorecards/)." -sidebar_label: "Change a blueprint's scorecards" +sidebar_label: "Change scorecards" hide_title: true hide_table_of_contents: true -api: eJztWG1v2zYQ/isEN2ANFlvJvs1oirldMRT7sCBJv8z1Clo6W2woUSUpu4qh/7476t0vtQP0W5sAikTdHe8e3j13ypZHYEMjMyd1yif8IZaWGZ07YEIpvbGs0DlzmiU6ksuC6RSYNvhkgNkQr6EwkWV6yQRbyTWkbKFyyIxM3ZhNOxGGZgWz4EjU5Aosc7FwLIKlRJMuBvY5F0q6orLVWXm5MMErf3nQTIEwabW7WKCXPR8uWRhD+MholczNIh3mCaROUGjzF7FzmZ0EAS7b8Qpcpo0bSx1kRifawaizFFyM+SV3YmX5ZMbv23U+v+QGPudg3WsdFXyy5aFOHW5BtyLLlAz9ZsEnS2BuuUWXEkF3rsgA4RXGiAKND0Gfpsy/oNDJ9R6wiHyeRcJBhQOqSgeJ7ZnUi08QOnyBgWRgnAT/Vkbol1xKMD1Z6xDS1d7+D7hnJ7/nRbt1JpwDQxr/zaajf8Xo6Wr0+x8fx5MP+BPcjOa//sxLRE46Beft6kWPbYimllK5QQRttHsIan8vVJNkMzybSNKafdbh/9TpXRD8lQuM0CFsq7TdSKXYAhishcrxdCK2KI6BNjiWUCcLmQqnDx4LpHlCOSfSCJ9QZo4YdP4cSKREpu+qhLjupYZIi3+WaGgftvps+G3lVcHQoUwYSQlbZbc0EJEPtd+0Cd14ly85xQvk1nHTd6B8FRw3bWqJZ5tuvYYk877XyJzh+nkuf93uIb/n5bwsy6Fc75AHx0en6bnvJCNQbcy86PNyl1RGoIB4j9J3h2L3s/ObsMkRXrghWjhBCuVO5AfeK1iD+lq1/KUVlcu9VGsgxF8bnT75TOJI1qY4Hd6Pqvyuq3JHsJfsjTNNFjYZ5XVkdCBfcV1ElWmhbntZthTKwhkbVQRB7pMtPCqRAFaX9YmzN1B0ZSKp/rASY7SRog4+tUPUx8FO5zT/VpVtYm17zOHnwY3AF9gbw1ikq2406WJzJocSxyULYW5wqPPOL3B4IwKZzUs/SdkM4a8K8LerK/oz9OxPWIpcOXZXS3pwEYxYRxRq7irqifEhWF8Hrcs22B6KvAw6puTkmlk3sOYGCYY3RCsy2eNZ3o/jnvCvXG6i6Yo/k39D0aE/zdFTI5+a5PQHFIOIUIsioSHxrhsn334RSUZ5PxvSbcdDTV20C9101Cewmqf6BIUm2+rr6bflMuE3ban3cmrb1daztFLtqhS4PLWttG+ptne1TmzbavUa6vmoDZOsXa7bTNNN2s7x3UJLeU8U125Pz+lS+5RvqB9rhE1v35GzWEyV3evxFRFSpq1LhO/pdUW88XTR/7r7xbJBUe7MAu3n1Y/v0u67tGIbB19ckCmBrIJYewLb1mw44+trFOz4EB8mR3qBHXzdItU70t9uF8LCe6PKkpbrWpjNKSWNFIuapiJp6T5qm9vR43txV7eGC/YN+81BKBo2ToteBeHtIxTHWqLnkZqZKa5K9E3l/eiBDHam9r7zqS7arnT7/oGgr/89gMlJKkZsqDvidcI/4K8vuXZ29OtbrjC0XKxIvjLrR4mcDrTfYh59i6lverPkMN7d3lNFRNfewDVUeYllzLCBvWrFqzdHFWrAGmlCn6aW/wHCjV3u +api: eJztWN1v2zYQ/1cIbg8NFlvJ3mY0xdyuGIo9LEjcl7leQUtniw0lqiRlVzH0v/eO+vZH4wB9axNAkai7492Pd787ZccjsKGRmZM65RM+i6VlRucOmFBKby0rdM6cZomO5KpgOgWmDT4ZYDbEayhMZJleMcHWcgMpW6ocMiNTN2bTToShWcEsOBI1uQLLXCwci2Al0aSLgX3OhZKuqGx1Vl4uTfDKX2aaKRAmrXYXS/Sy58MlC2MIHxitkrl5pMM8gdQJCm3xInYus5MgwGU7XoPLtHFjqYPM6EQ7GHWWgosxv+ROrC2fzPl9u84Xl9zA5xyse62jgk92PNSpwy3oVmSZkqHfLPhkCcwdt+hSIujOFRkgvMIYUaDxIejTlPkXFDq53gMWkc+zSDiocEBV6SCxPZN6+QlChy8wkAyMk+Dfygj9kisJpidrHUK6Pth/hnt28gdetFtnwjkwpPH/fDr6T4wer0Z//PlxPPmAP8HNaPHbr7xE5KRTcN6uXvTUhmhqJZUbRNBGe4Cg9vdCNUk2x7OJJK3ZZx3+L53eBcFfucAIHcK2StutVIotgcFGqBxPJ2LL4hRog2MJdbKUqXD66LFAmieUcyKN8AllFohB58+RREpk+q5KiOteaoi0+HeFhg5hq8+G31ZeFQwdyoSRlLBVdksDEflQ+02b0I13+ZJTvEBunTZ9B8pXwWnTppZ4tunWa0gy73uNzBmun+fyt+0e83tRLsqyHMr1DnlwfHSanvueZASqjbkXfV7uksoIFBDvUfruUexhdn4XNjnBCzdEC0+QQrkX+ZH3CjagvlUtf2tF5XIv1QYI8ddGp48+kziStSmeDu9nVf7QVbkn2Ev2xpkmC5uM8joyOpKvuC6iyrRQt70sWwll4YyNKoIg98kWHpVIAKvL+sQ5GCi6MpFUf1iJMdpIUQef2iHq42Cnc5p/q8q2sbY95vDz4FbgC+yNYSzSdTeadLE5k0OJ45KFMDc41Hnnlzi8EYHMF6WfpGyG8FcF+PvVFf0ZevYXrESuHLurJT24CEasIwo1dxX1xPgQbK6D1mUb7I5FXgYdU3JyzWwaWHODBMMbohWZ7PEs78dxT/hXLjfRdMWfyX+g6NCf5uipkY9NcvoDikFEqEWR0JB4142Tb7+IJKO8nw/ptuOhpi7ahW466hNYzVN9gkKTbfX19NtymfCbttR7ObXrautZWql2VQpcPrWttG+ptve1nti21eo11PNRGyZZu1y3maabtJ3jh4WW8p4ort2entOV9infUD/WCJveviNnsZgqu9fjKyKkTFuXCN/T64p44+mCDcpwr/u3H1Q/v0S7L9GKXxx8cUGmBPIIouspa1fz35xvrlGwY0B8mJxgfzv4nkVyd6S/2y2FhfdGlSUt19k/X1ASGimWNTFF0tJ91Lazk8f34q5uBhfsO3aYo1A0/JsWvZrB2wcoTjVBzxw1F1NcleibyvvRjAx2pg6+7KkS2j50+35G0Nf/EMDkJBUjttQP8TrhH/DXF1k7Lfr1HVcYWi7WJF+Z9cNDTgfabyoPvqnUN73pcRjvfrepIqJrb8QaqrzEwmXYsl614tWbkwo1YI00oU9zylfVs1je sidebar_class_name: "put api-method" info_path: api-reference-temp/port-api custom_edit_url: null @@ -28,7 +28,7 @@ import TabItem from "@theme/TabItem"; diff --git a/docs/api-reference/create-a-scorecard-for-a-blueprint.api.mdx b/docs/api-reference/create-a-scorecard.api.mdx similarity index 96% rename from docs/api-reference/create-a-scorecard-for-a-blueprint.api.mdx rename to docs/api-reference/create-a-scorecard.api.mdx index 87172c2f1..080c5df36 100644 --- a/docs/api-reference/create-a-scorecard-for-a-blueprint.api.mdx +++ b/docs/api-reference/create-a-scorecard.api.mdx @@ -1,11 +1,11 @@ --- -id: create-a-scorecard-for-a-blueprint -title: "Create a scorecard for a blueprint" +id: create-a-scorecard +title: "Create a scorecard" description: "This route allows you to create a scorecard for a given blueprint. A scorecard is a set of rules that define the quality of a blueprint.

To learn more about scorecards, check out the [documentation](https://docs.getport.io/promote-scorecards/)." -sidebar_label: "Create a scorecard for a blueprint" +sidebar_label: "Create a scorecard" hide_title: true hide_table_of_contents: true -api: eJztWFFv2zYQ/isEt4cGs62k2Mu8pljaFUOxhwZJ9jLXK2jpbLOhRJWknCiG/vvuKImSZbtJgO1hWBPAoOjj3fG7u+9O3vIEbGxk7qTO+JTfrKVlRhcOmFBK31lW6oI5zWIDgjaZjbWBWJiELbXB55XcQMYWqoDcyMxN2EVPBJXhCXBML5kpFFjm1sKxBJYyA1wD+1IIJV1JAqKn5dXCRK/9x41mCoTJWIpKmVigb50BO2LxGuJbRrukbpbouEghc4IuNH+xdi630yjCbTtZgcu1cROpo9zoVDsYd5qikwkfcSdWlk9n/Drs8/mIG/hSgHVvdFLy6ZbHOnNogpYiz5WMvbHosyUIt9yiS6mglStzQFD14jPEDrWj1RyMk2DpW5mgErmUYHqy1uH9VyQrnANDMflrdjH+U4wfTsc//fJpMv2If9H5eP7D9yi1G70LVmQSXWWdah8lQibctMaWV3hZ6RQcsj3MCQwViVKQjqhaSuV27hHuPPAwY9qvhWrzYoZwJpL27LPi9V137oQytHaB0cUJ4TrT7qRSbAEMNkIVmMAJW5QH7zAMTqzThcyE0weDsw9QJ0++FBbY3RrrorGLp7zVzuVgFrIipYwTWYJPaG6OcHZyPevCGFEeMd6Kk/H2rsFEKrP3DlLUdTbisl5h6mblhyVa3g9Zkxf8skakpMvlwkjK77oYpIGEnG4wI69o4eEacbIPdI/jqq9A+aI5rto0Es9WHbyGNPe+N9g8wfWnufx1vYf8nlfzqqp25XoJthNvCr+nSorRfqhn/rvnFQodGYMC4kWqlQEF75fCIOFCyvwLfHZOdObJ7DghVYOcP/C9gg2oQ2bb8vpNK6qva6k2QIi/MTp78JnEkTBN+fj1vs4Izy/jb1X5n6rKgWAv2Vtn2ixsM6rWLpJah1CXvXRaCmXhCRprJhj66UwBFZWUESlgVVmfMHtzR1cekuoOK3CNKjM8g09h1vq0Y3ifcXqzRNP/w1E/HN4JXGDbMUXWG8xo7gh8MvAcJyoLcWFw7vOOL3C+I9KYzSs/bNkcIa+L7uXp6T4P/gpLUSjHrhpJwgvuXZQrIbOf2f1Y5HKMZW5R/Pzl5PTgUNaCQ8j++CQrJIlwr3VCYGrralZb41O0OYsCKjbaHgK3ijp0OCFgNm3kCoPcxVtKR+97jM77cF3TLWpkWtA6Xsnl71B2Ab4o0FUjH9q89zmwBpHgKboKjatX3WD77l6kec2+fSLvGK6tuLDRzXx9amwYsE99eMNQ173zoRCn/DyQSC9rt13VPutUpl2daKPHzEr7jlhjeOoRs+FUr1XPnozabpKF7aaBtX0q9KT/LbQeXZkttU/xtotgTbCLy/fkXV3fuHmGFU5siBWZCj8eNBXw9tg7ayjPYTx673bfXoVrWumYlUD2TLVtaG/GN2co2BEfPkyP9BW780K9JvbE89vtQlj4w6iqou0m62dzSj4jxYKCjimeSEvrJPTNo0F7cdW0mhP2D/WugzC0lJuVvTrB5S2Ux1qrz+eGfulOtejb2vPxDSnsVO39rEBNIPSeyw/XN4R783NEqhM6Y8QdtVr8nPKP+O8rKwyffn/LlchWhViRfK3XjygFRbPfSG59I2kWvWF098LDDlNfiT57E9vukVdYvAzb1OsgXn9z9ECDWCtN8NM09DdnX4KN +api: eJztWN9v2zYQ/lcIbg8NZltJsZd5TbG0K4ZiDw2S7GWuV9DS2WZDiSpJOVEM/e+7oyRKlu0mAbaHYU0Ag6KP9+Pj3Xcnb3kCNjYyd1JnfMpv1tIyowsHTCil7ywrdcGcZrEBQZvMxtpALEzCltrg80puIGMLVUBuZOYm7KIngsrwBDiml8wUCixza+FYAkuZAa6BfSmEkq4kAdHT8mphotf+40YzBcJkLEWlTCzQt86AHbF4DfEto11SN0t0XKSQOUEBzV+sncvtNIpw205W4HJt3ETqKDc61Q7GnaboZMJH3ImV5dMZvw77fD7iBr4UYN0bnZR8uuWxzhyaoKXIcyVjbyz6bAnCLbfoUipo5cocEFS9+AyxQ+1oNQfjJFj6ViaoRC4lmJ6sdRj/imSFc2DoTv6aXYz/FOOH0/FPv3yaTD/iX3Q+nv/wPUrt3t4FKzKJrrJOtb8lQiZEWmPLKwxWOgWHbA9zAq+KROmSjqhaSuV24ggxDzzMmPZrodq8mCGciaQ9+6z7+q47d0IZWrvAKHBCuM60O6kUWwCDjVAFJnDCFuXBGIaXE+t0ITPh9MHL2QeokydfCgvsbo110djFU95q53IwC1mRUsaJLMEnNDdHODu5nnVhjCiPGG/FyXgbazCRyuy9gxR1nY24rFeYuln5YYmW96+syQt+WSNSUnC5MJLyuy4GaSAhpxvMyCtaeLhGnOwDxXFc9RUoXzTHVZtG4tmqg9eQ5t73BpsnuP40l7+u95Df82peVdWuXC/Bdu6brt9TJd3R/lXP/HfPKxQ6MgYFxItUKwMK3i+FQcKFlPkX+Oyc6MyT2XFCqgY5f+B7BRtQh8y25fWbVlRf11JtgBB/Y3T24DOJI2Ga8vHwvs4Izy/jb1X5n6rKgWAv2Vtn2ixsM6rWLpJah1CXvXRaCmXhCRprJhj66UwBFZWUESlgVVmfMHtzR1cekuoOK3CNKjM8g09h1vq0Y3ifcXqzRNP/w1E/HN4JXGDbMUXWG8xo7gh8MvAcJyoLcWFw7vOOL3C+I9KYzSs/bNkcIa+L7uXp6T4P/gpLUSjHrhpJwgvuXZQrIbOf2f1Y5HKMZW5R/Pzl5PTgUNaCQ8j++CQrJIlwr3VCYGrralZb41O0OYsCKjbaHgK3ijp0OCFgNu3NFQa5i7eUjt73GJ334bqmKGpkWtA6Xsnl71B2F3xRoKtGPrR573NgDSLBUxQKjatX3WD77l6kec2+fSLvGK6tuLDRzXx9amwYsE99GGGo6975UIhTfh5IpJe1265qn3Uq065OtNFjZqV9R6wxPPWI2XCq16pnT0ZtN8nCdtPA2j4VetL/FlqPrsyW2qd420WwJtjF5Xvyrq5v3DzDCic2xIpMhR8Pmgp4u/fOOsS/9y737dW3ppGOSQlUz0zbhuZmfHOGgh3R4cP0SB+xOy/Qa2JLPL/dLoSFP4yqKtpusnw2p2QzUizokjGlE2lpnYQ+efTSXlw1reWE/UO96iAMLcVmZa8ucHkL5bFW6vO3oVuKqRZ9W3s+viGFnaq9nxGI9EOvufxwfUO4Nz8/pDqhM0bcUWvFzyn/iP++ksKw6fe3XIlsVYgVydd6/UhS0G32G8etbxzNojd87gY87Ch1SPTZm9B2j7zCYmXYll4H8fqbowcaxFppgp+mn78BDDx8sA== sidebar_class_name: "post api-method" info_path: api-reference-temp/port-api custom_edit_url: null @@ -28,7 +28,7 @@ import TabItem from "@theme/TabItem"; diff --git a/docs/api-reference/delete-a-blueprints-scorecard.api.mdx b/docs/api-reference/delete-a-scorecard.api.mdx similarity index 72% rename from docs/api-reference/delete-a-blueprints-scorecard.api.mdx rename to docs/api-reference/delete-a-scorecard.api.mdx index b03441971..1469d0533 100644 --- a/docs/api-reference/delete-a-blueprints-scorecard.api.mdx +++ b/docs/api-reference/delete-a-scorecard.api.mdx @@ -1,11 +1,11 @@ --- -id: delete-a-blueprints-scorecard -title: "Delete a blueprint's scorecard" +id: delete-a-scorecard +title: "Delete a scorecard" description: "This route allows you to delete a specific scorecard. A scorecard is a set of rules that define the quality of a blueprint.

To learn more about scorecards, check out the [documentation](https://docs.getport.io/promote-scorecards/)." -sidebar_label: "Delete a blueprint's scorecard" +sidebar_label: "Delete a scorecard" hide_title: true hide_table_of_contents: true -api: eJzlVE1rGzEQ/StClybgepMelxAwOIfSHkKSnowp8u7YKyKvFGnk1F32v3dmP92wKSTtrRdbK83ne2+mkjmEzGuH2pYylQ+FDsLbiCCUMfY5iKONAq3IwQBfiuAg01udiZBZD5ny+Vwsxg9B/mQEKOxW+GggCCwUkv9Wl0BnEE9RGY1HNlBiYyI4r0ucX218ct38PFhhQPlS7CmoUBsqZ0wQZiIrIHsUfMvhVrnN4h5KVNzD+qxAdCFNEroO8x2gsx7n2ibO271F+DhGSs7nciZR7YJMV/J+uJfrmXTKqz117PmtkoFy7pVMK4lHBwRUQCp6J+uZ1IybU1hQrJJ8+LEP9V3nVBjBBZ5eX0INYnxmNLibEUgG/lmVOKLfQkSBPDxF7SGXKfoI9eyt9Q2gv72+wVU8Fza8r16CN0AWPYmgAXdDZFMB6WrNTx6Cs2WAwN18urjgv98rW8JWRYPirrOUNbVJZBWWMsg2t5y1PacyOVwmQ9Uhqaaar5MTVVRT9NWSi/aHXhDRG4rda005fSI1edrhPTPTNtP3OZBEbl/gOPKyiNSD1z8bJcuOugJUTl51Q+XWNu4aDdvfUj6xuP1MplxYi87l/IJpdzbgXpVs3kVf9iM8IPAhjPy95L+SmS2R2v9Pt0LLEMIPTJxRxARh2pBedcJaycMlGY7Soo/0lckao7PR5HogydBAIcetqo0K8M2buubrpwieB4WOB+W12jD3JMFcBz6T5rfKBPgDf2d33QCei7/YOpOQ9EouWcYHRe3TFx0fSdevLELeV/+w9ndtpHf0MkltvT5dPcubrzcPN+ShIivkdM4fmznvDszeZLKXC6DNzL8M2qTLFc2/oC1yPZi3L686dPukt+bW13Vd/wJkmc72 +api: eJzlVE1v2zAM/SuCTi2QxemORlGgQHoYtkPRdqcgGBSbqYUolipR6TLD/32kP9PCHdBut10SWeLXe49kJXMImdcOtS1lKh8KHYS3EUEoY+xzEEcbBVqRgwG+FMFBprc6EyGzHjLl87m4Hj8E+ZMRoLBb4aOBILBQSP5bXQKdQTxFZTQe2UCJjYngvC5xfrnxyVXz82CFAeVLsaegQm2onDFBmImsgGwn+JbDrXKbxT2UqBjD+qxAdCFNEroO80dAZz3OtU2ct3uL8GmMlJzP5UyiegwyXcn74V6uZ9Ipr/aE2PNbJQPl3CuZVhKPDoiogFT0o6xnUjNvTmFBsUry4cc+1A+dU2FEF3h6fU01iPGZ2WA0I5FM/LMqcWS/pYgCeXiK2kMuU/QR6tl76xtIf399g6t4Lmz4WL1Eb4AsemqChtwNiU0FpKs1P3kIzpYBAqP5vFjw38vKlrBV0aC46yxlTTBJrMJSBtnmlrMWcyqTw0UyVB2Sagp8nZx0RTUlXy25aH/oGyJ6Q7H7XlNOn7SaPEV4z8q0YHqcg0jk9hWOoy7XkTB4/avpZNlJV4DKyatupNzaxl2jYftbyieub7+QKRfWsnMxX7Dszgbcq5LNu+jLYYR7fK81r2RmSyTI/+kmaFVB+ImJM4rYJx4boauumVbycEGGYzvRR/rGNI3R2WhyJVCb0BAhx62qjQrw3Zu65uunCJ6Hg44H5bXasN7UdrkOfKY+3yoT4A/6nd11Q3cu/mLTTFLSd2/JrXtQBJ++6LijXn5j+fGO+oe1f2gLfQDLpLT1+nTdLG++3TzckIeK3CGns71rZrs7sHqTyV4PfZuZf5m0SZdLmnlBm+NqMG9f3nTodkhvzdDXdV3/BiRdymc= sidebar_class_name: "delete api-method" info_path: api-reference-temp/port-api custom_edit_url: null @@ -28,7 +28,7 @@ import TabItem from "@theme/TabItem"; diff --git a/docs/api-reference/delete-all-entities-of-a-blueprint.api.mdx b/docs/api-reference/delete-all-entities-of-a-blueprint.api.mdx index fc56c07db..c128d635c 100644 --- a/docs/api-reference/delete-all-entities-of-a-blueprint.api.mdx +++ b/docs/api-reference/delete-all-entities-of-a-blueprint.api.mdx @@ -5,7 +5,7 @@ description: "This route allows you to delete all entities of a specific bluepri sidebar_label: "Delete all entities of a blueprint" hide_title: true hide_table_of_contents: true -api: eJzlVctu2zAQ/BWCuSSAZSU9GkGAAPEhaA9B6x4Kw4gpamURoUWFpOy4hv69u3pZNqy0RXtqL0r42p2dmV3veQxOWpV7ZTI+4bNUOWZN4YEJrc3WsZ0pmDcsBg31JoPMK6/AMZMwwVwOUiVKskgXkFuVeaYyemWZM4nfCgtMCi+0WY1vIxveVZ+ZYRqEzdja4LmIMGMXd8RkCvKF0Z5Pgc1jI4s1ngoCubhMvc/dJAxx241X4HNj/ViZMCqUjgPKHLSZgyZz6HaZDGJcBN50mxdtxqsxH3EvVo5P5nzabPLFiOfCijXWbelkzx0CWws+2XO/ywHpch4LXvFyxBWx91qA3WGoDB/h0hbZs4pxbeG1UBZiPkmEdjA6If0bUixFxnJrNipGOtiyfrok5oVzRiqB5BMZtQ7xQYSt8mlfhrmQFJZhhGGqpAUMGDjQCX7sRkkI4C0HqyCT4EILiQbpgzpWgMBWFpwLL/wO6w3a5ESmyNpbmPGqlhgJOUNWZAxqng2xVVf23Nno57w9JmzpbQHLEVKDvpXkzq3CD97uLEus9bzpqej3YJ5omgufHkB2gVAdYiFRYI+AEp5TnDNEcLhObXOMaZsaBwdFqeO2Ave7tmvhoiMdyMIqv6v8GGELYf7JfEFHqFBuMofOxWI+XF/Tn2MgD415XCFRZZcUWu/GvMRS0eSpiTsV+Kiue8LDzU3YIXXh/hwBZYjEd6bgBNJu2p4prMYwrRFFrno+PKroCwlRg2/r6jTBZx+h55X7AuFa9b2aCLxRKgUR46uyUi4x1XPlNd1/wnzs/ukRrxKwmo2b8TWpnBvn12hLvN5EfxiadX1vHjG759JkHi//5yO0VsvDmw9zLVTV65UB9o2f5nxzgxcPjsLFZKCpjkyFRsEu8RRhv4+Eg69WlyVt12OErBYrJyI9NC76Gv17E3eA/Bfsmt4P0UYg1bhRTb5fp+uPB+276M4M/gPOBS2sIqC/qfHl52YoX7G/NYAHymiHVLbrQ2/LO+vuctEfug/TT9PZlCxfUJP0x95LNfaaf4iAs8lO52Gdmb4k9NkntzgOGQ7Vu+56fTL4oBmv7W0qfVGW5Q9S6522 +api: eJzlVl1vIjcU/SuW92UjAZOk2xeURooUKq1aqas2+1ARBMbjYawM9qztgaWI/95z5xsW0lat1FX7MjCea99zz7kf3vNYeel0HrQ1fMyfUu2Zs0VQTGSZ3Xq2swULlsUqU9UiUybooJVnNmGC+VxJnWjJllmhcqdNYNrQLse8TcJWOMWkCCKzq9Hd0kX35ePJskwJZ9ja4rtYwmN77oDJVMkXRmshVWwaW1ms8VUQyNnbNITcj6MIy360UiG3Loy0jZaFzuIheR42noe158jvjBzGeBkG2y6+aTxejfiAB7HyfDzlk3qRzwY8F06sEbejL3vuAWwt+HjPwy5XoMsHBLzihwHXxN6nQrkdjjLYhFdXmLmO8e7Up0I7FfNxIjKvBiek/wqKpTAsd3ajY9DBFtXWBTEvvLdSC5BPZFQ6xJ0IWx3SvgxTIelYhhMuUyWdwoFDr7IED7fRUg3V51w5rYxUPnIqyZQMw+qsIYCtnPI+ehN2iHfYOCcyhWms4PGqkhiEnCFraS00N5fYqiKbt2n0x7y9T9giuEItBqAGeSspO7caD1i3KUus9XIzUNCvwTzRNBch7UC2B0EdYiHRyh0BJTynOJ+AoDOnsjnGtE2tV52iVHFbgfW27Bq4yEivZOF02JX5uEQJwf94OqNPUCi3xiNzEczt9TX9HANpUrvNIl9IyO2TIst2FPG762++3PWTUQ3mxFJTAD1MOWcdWoAEHAQ+fjbP5i6IZabu6Y/Dk7G7kN5PyPAuwr9m5bE7vV7HjzvaFt8v1tp7OJojKcu/iGwBu7i1oKqJLTM2sFRsFOsZEnN4Taxbl7BJHuUpYIvlso2M2PfWsaRw+O7ARxA6Q+fJkaHQQlp0GxmqNibitTa163NIU+HnscqVIYlPQJL0pbA7gCTea7NO7ZCKwNaFD2zZVTfaEzguS1uHEUO3RKRkOWAF4D03xdK5/Y4S75mfwIwaRSpx330t4kK0eWILEx+z9dAvCgqeYNVdMWaLroYWKBBfSl+e8mrUt7dfS9TabESm43mdjl9mShsqTSpIrqoY1yLIiotqMlct67Wgvz1X/f9W0BifRmTz0tOJ3oY1nysgLY7LwSE6TOTUxu3I4IOqSY95tLmJ2gzy0f5ctz5EmBLtBOPUUd2mGfCFy3BMMzVFrntD86j9/kISVJ22acLtAMG2H1RvsD0UgOv0b2Xf4fVYSZWIsetQjpnEltt1yMj+A/yxhw/vYUrAKvFuRtckbG59WGOGwrw+/fHSxaw/SI8SYc+pvcH4f37fq9QK6nOI8kzosnDKBNjX+TTlmxsYdhmFl/GFG8BRUiFRMNIDnbDfLzFQPrrscKDl6s5DqRZrTzl94W7T1+i/dz28QP4LqqZ3a0azLMiovKb9ebr+9q3wVXRnbqkdzhm9OE1A/6LGb3+ub5BX7J+6LV4Io2lSZteH3oR3NrsPs37TfZz8OHmaUMoXVCT9tvdStr36DxFw1tlpP6w805OEPrvlDu2Qoanet+bVl4sb6vbaWFPos8Ph8DtcKEWE sidebar_class_name: "delete api-method" info_path: api-reference-temp/port-api custom_edit_url: null @@ -117,7 +117,111 @@ This route allows you to delete all entities of a specific blueprint in your sof
- Deleted successfully. + Entities deleted successfully + + +
+ +
+
+
+ + + One of the following errors occurred: + + + + + + + + + + + + + + +
ErrorDescription
`missing_permissions`You do not have permissions to perform the requested operation. For further details, please contact your admin
`has_dependents`The entity has dependent entities that must be deleted along with it. To do that, use "delete_dependents=true"
+ + + +
+ +
+
+
+ + + One of the following errors occurred: + + + + + + + + + + +
ErrorDescription
`not_found`A blueprint with the provided `identifier` was not found
+ + + +
+ +
+
+
+ + + One of the following errors occurred: + + + + + + + + + + +
ErrorDescription
`invalid_request`The provided data does not match the route schema
+ + + +
+ +
+
+
+ + + One of the following errors occurred: + + + + + + + + + + +
ErrorDescription
`internal_error`An internal error occurred
+
diff --git a/docs/api-reference/delete-an-entity.api.mdx b/docs/api-reference/delete-an-entity.api.mdx index 4ec8aa865..10bcc7e4e 100644 --- a/docs/api-reference/delete-an-entity.api.mdx +++ b/docs/api-reference/delete-an-entity.api.mdx @@ -5,7 +5,7 @@ description: "This route allows you to delete a specific entity in your software sidebar_label: "Delete an entity" hide_title: true hide_table_of_contents: true -api: eJzlVU1v2zgQ/SsEe2kAy0p6FIoCAZJD0R6KNntYGEZDUSOLCE2qJOXUFfTf+6gP20nsbZtFL+1FNjlDzrz3ZoYtL8hLp+qgrOEZv6mUZ842gZjQ2t57trUNC5YVpCluMl+TVKWSjExQYcuUiS6OeVuGe+GISRGEtqv569ylb/rPjWWahDNsbWEXOa4fTivyMyYrkncs7oWK2KKwslnDKmJGy5dVCLXP0hTbfr6iUFsX5sqmeaN0kcTIyRQ5GSOnfmtkUmCRBLvbfDFFPJvzGQ9i5Xm24NfjJl/OeC2cWAOki5aWeyS2FjxredjWBG5yawHD4HRBpWh04FkptKduxlXk7ktDbgurwS1YDox9LqgmUyC4h8nRl0Y5KngWXEOzR+S/Ldlt3L+dgQroICEBu1f4IMxeAqwnLLCGCqI40j1fUanI4uBajBoNUvBudgSUD06ZFT+BwTXmsyoeJN5Dfpz5vygSKQyrnd2oIpbJ7XD0NmYkvLdSCeT+NLcJwa6sFkL2SHD+tPrSEa5LPOkSH7dRkhL6WpNTZCT51FGpSYZkuCtBWitH3qcvwhZok4m+WB/CTF6IePYLVNUiVHumBjRAHP+UitwP1b4BF3t3ZsuenZGV2HX3woR96z07s1w3VMMe/n9yu6sOU81JW7PyyHRKEb3kSTYO1r6TcjQ/YmaLZTRBiNoaj54DgFfn5/HnYfCrsUJ8IyGmLxutt3PeAR7as7LFrrn4bMCa8XRzke6y82l7DHSXTrqn7RO5Oh6Tdpup+xunce1Uf6JWB+X3AOGnKMYAZsK50wXH3tFBO102SN+pb32v8lGtikSBU12vXmn74yro6P8B8djlh7dwjYkN7FzMz6PStfVhjWkE9/H2q3E+mFEZ/kjUlktrAmx/05wfhAj0NaS1FiAc1PXatmPpLPjmAo774sEiO9Ez09XR5WnDoygqiBKvbNtcePrH6a6L28NUjWVVKC9yfWqOHir08uPYoGfsN78LJ1i6Q+Uef8U2AvTA1g+jn0f0pz0S/8nb7uXck7WMC6ciW8+vhee9GidSncaU2R4mOkF4WuG/pvcPs/655+RZuR9t4G55+IRcXb+/vrnGCdHEOXA4tO/6oT3+iVIdDfZ4mg+R4zfydPTIawxzhifhzc59sJw8MD4Ok3eEvuy67jsHBx9q +api: eJzlV11v2zYU/SsE+9IAtpVk3YuRBSgQDyg2YMWWPgyJYdMiZRGRSZWknHqG//vOFSXZju20TTGs2F5kibzkPfee++U1l8qnTpdBW8OH/DbXnjlbBcVEUdhHz1a2YsEyqQpFi8yXKtWZTpkyQYcV04ZEHPM2C4/CKZaKIAo7H1zNXHJdP24tK5Rwhi0s9sUM18fTWvkeS3OVPjBaC7lid9Km1QK7ghCNX+chlH6YJFj2g7kKpXVhoG0yq3Qh+6S532ruN5oTvzJpX+KjH2y3+KrVeDbgPR7E3PPhHR81i3zc46VwYgEjHe2suQewheDDNQ+rUsE3M2thhsFpqTJRFYEPM1F4telxTb77WCm3wq7BLfiMHptIVSojodxjy6mPlXZK8mFwleo9cf67jE1pfdqDK8BDCgrYo8YDarYU4Lu1BbshBylOFbW/iCnyYhSVDUeRCr7pHTHKB6fNnJ+wwVVmouUe8Nrkp8j/RJCkwrDS2aWWFCbTeHRKiIT3NtUC2A+xtRZ0YXUn0toSnD/NfuoUrut7VWR4uKVOVV99KpXTyqTKJ05lhUpDP97VB6y5U94nr8IK1vZb91F8CNNKQePZV7iqFCHfeipaA4vpJdPKfZbtW/hiK85sVnun8Qpl3aMwYZt6L0Y2KypVYj98O7juql2oM1VYM/dA2kJELnmVVg67dSbNkPzQObwb0xaIKK3xyDkYcHl+Tj/7ykfx4jZQfJWCU59VRbEiG9+c/3B45jejWpSZpcoFhzDlnHWe2RRgYOrw3tybqyBmhbqmF4cnY1chvx6R4FWCt3blZnt7s44ft3dMXk8X2nsomiDy6lfYNYWc7CQoMaRlxgaWi6ViO4JELT4z6xY1bCJEeTLYYrlO5wH72TqWVQ77Dv4IQheomCXKkEehtaiSaYjlV8iFNo3qY0hz4XdK0T7I2y2ZEGOd2LbMhFwEtqh8ANsdL4J4j/mrw4ChyktbS/ZYBXj3hxXwJwq1e/4EZtIyEsl9872QC9Imma2M3PfWW7NXughUU/Ykm25zZor89TXx9R3PUHNKz066fYOmfe9eXn4v3tVmKQotJ03YH0ZkZyp1coSWijYuREijL+KYEovhc0b/eKzG/FtGY7wwopjUmg7iqt2OQDocp42DdZhYciu7eYP3Yvkf8mR5kXQR5JP1sT6wSdoUT9YHHWzDqY67ZTsQVa7AtW1LFqXe6ch7Rf8PoiTW97b0d60Kx35ROxPG2wrwnf6rrne8aWC5EhKnNnVDy2x9XIeC5N9DH3v7/h1ECVgk82JwTkSX1ocFBjSIN7ffNCNTm7L8SZ9bcyqi2Ps/jb6RiKA+haQshK5zpOZ23YTOHV9eQHAbPPgYnhgj2qtJ5HAGQlDkIIWuXK9naFofXLHZ0HIcNCmspPYUzydGy12GXv/ezCxn7B8elU946QGRe3ywRy2rSL6ez77cov/a3Pys37o/E1tnjenDafLWy2PhZYP0CahtmTKrXaCtCYcR/nV8fxb1l03YL8J+NIE3490WcjP6dXQ7wglRUR3YLdoPddFuXoiqo8qeVvOomZ7kp6NHrlDMGVrCdSced04eaJpDK02mjzebzd80rutr sidebar_class_name: "delete api-method" info_path: api-reference-temp/port-api custom_edit_url: null @@ -122,7 +122,115 @@ This route allows you to delete a specific entity in your software catalog.
- Deleted successfully. + Entity deleted successfully + + +
+ +
+ +
+ + + One of the following errors occurred: + + + + + + + + + + + + + + +
ErrorDescription
`missing_permissions`You do not have permissions to perform the requested operation. For further details, please contact your admin
`has_dependents`The entity has dependent entities that must be deleted along with it. To do that, use "delete_dependents=true"
+ + + +
+ +
+
+
+ + + One of the following errors occurred: + + + + + + + + + + + + + + +
ErrorDescription
`not_found`An entity with the provided `identifier` was not found
`not_found`A blueprint with the provided `identifier` was not found
+ + + +
+ +
+
+
+ + + One of the following errors occurred: + + + + + + + + + + +
ErrorDescription
`invalid_request`The provided data does not match the route schema
+ + + +
+ +
+
+
+ + + One of the following errors occurred: + + + + + + + + + + +
ErrorDescription
`internal_error`An internal error occurred
+
diff --git a/docs/api-reference/get-a-blueprints-entity-count.api.mdx b/docs/api-reference/get-a-blueprints-entity-count.api.mdx index b2801ae7b..9f0295890 100644 --- a/docs/api-reference/get-a-blueprints-entity-count.api.mdx +++ b/docs/api-reference/get-a-blueprints-entity-count.api.mdx @@ -5,7 +5,7 @@ description: "This route allows you to count the number of entities in a specifi sidebar_label: "Get a blueprint's entity count" hide_title: true hide_table_of_contents: true -api: eJztVE1v2zAM/SuEdlgLOHG7ozEUKLCiGHYpuu4UBINs07FQx3IlKllm+L+P9FfSrrntuIujD1J8fI8vrcrRZ840ZGytEvVUGg/OBkLQVWX3Hg42AFnIbKgJqESowzZFB7YArMmQQQ+mBg2+wcwUJoO0Ctg4w+F8zukOvC1orx1CpklXdrP8nLr4pv88WahQuxq2lu91yqXndyPISsyeQc6k8iq3WdjyrRa064uSqPFJHPOxX26QGutoaWycBlPlC6m8mCovxsqxP9TZIufNgux8+GGqeLlUkSK98SpZqbvxUK0j1Wint0jo5KZVnoFttUpaRYcGmTdP3PBGdZEyQmOjqeSXas7h3UzIT5NLpcKg41uHL8E4zFVCLmD0lxIIx3ChWyg4crsvrcejBCLTXotEo1YDx6pj8B6z4Awdeugps83lk9Varhz6xtaem+RePl1dyc9rHF+w0KEieBwjVcdNMhWlZeCKWVfR0G6i4t11PAP0cfte3108QV70MJXAc7uJ2OAqfmgSVjfmRNdXvXwXBQbYU0ezGJz2DQ9H/m8Do3Xmdz82apSoRJ1zVtdLVtg+3VAl8Q9cD24fvnKoABt4uF5eibyN9bTVtYSPr98j8fTPvX70gygHmPp7xWerMlsTR/w322C2QTLCXxQ3lWZpmOR+CtpxrFZqd82Bx8HiTXLGUm9mi+eFXULyRtum2uMPV3WdHL8EdOIHXu60MzoV4Xn+cuNlzaNd6Mq/NeWpeBePo30v4R9Z9QwZ01DXMtE7za/yjpfPPOJn/lu69alH7++eOFwHIfPUI8+9R8aFNP9upbfmGcrKt4vOpHxm7wA78GYOH27OJoxenKKl73XXdX8AH1FSfg== +api: eJztVU1v2zAM/SuEdlgLJHFbdBcjCFBgRTHssGLtTm2QKjZTC3UkT6LTZYH/+0h/JWmbnQZsh11sSaRIPpKP2qgUQ+JNQcZZFavbzATwriQEnefuOcDalUAOEldaAsoQbLmcowe3ALRkyGAAY0FDKDAxC5PAPC+x8IbV+ZyvewhuQc/aIySadO4eR+O5jyb159ZBjtpbWDqW6zm77u0OIMkweQI5E893qUvKJUu1RDs9yoiKEEcRH4fRI1LhPI2Mi+alydOheB52noet5yisbTJMeTMk1x++6zwej9RAkX4MKr5Tl+2hmg5Uob1eIqEXyUYFDmypVbxRtC6Q8xaIAT+qaqCMpLHQlLEly3d41ydkZlLxtDDoWerxe2k8piomX+LgVSUQtuqSbknBNrfPmQu4LYGU6VlLidpaNTlWFQcfMCm9oXUd+pyzze7ju6mIPIbC2cAgGcvZyYn89uO4KZMEQxBo5yfnr+VfLHbBLZy0DOcB0HvnA7iEHTPC+N7e2zHpeY4TWXj+Aowpm1yK4jjiVXfycWu9Peef37uWTh6so9mCYaYPLE3784vdBBnK6rAK71acyRQetvl84GQFYCtQW2mNdJ6iLtQa9dnZv4La2JXOTTqTzsFA+9hvd6FKh0PqsMG41JQ0uWio3bTv70B/eKsV/hZopp3V+az29KLeFjpxE0gfx2FwjI6ZnDnmneKhoQYNW2MVrU6jvn1CtHmLtlXUMW5Ys0wJu/yqmwulz9lQN5d0YXbG0h4Vb6QCDes6QvazhK99xvV2fFyUHK03P+upp9oJk6FO+VZVT5yFq68bykX/mv3BxfUnVpXAmtqdjk6kroULtNRW1FvrV0g8vHus70MzU9bQ4dvrgY1KHCecBf/fivqtaEpG+IOiItemJk/dBZu2re7U6pQVt43Fm/jAi/Cit7hfeMiT2Nhs5jrgN59XlRwz/b2Mc16utDfS23X/pSbImlt7ofPw8k3ZLd7R1/b1OYY/9NIcSEbX1FY6msdXKTtePnGLH3gaq+kuR68ub1ldl5LMXY481RxpFwL+TU8vydO4lW81OHBlzNwBZuCkV28kBy+0XOy0Bfe0qqpfLHdJKA== sidebar_class_name: "get api-method" info_path: api-reference-temp/port-api custom_edit_url: null @@ -88,7 +88,82 @@ This route allows you to count the number of entities in a specific blueprint in
- Default Response + Success + + +
+ +
+ +
+ + + One of the following errors occurred: + + + + + + + + + + +
ErrorDescription
`not_found`A blueprint with the provided `identifier` was not found
+ + + +
+ +
+
+
+ + + One of the following errors occurred: + + + + + + + + + + +
ErrorDescription
`invalid_request`The provided data does not match the route schema
+ + + +
+ +
+
+
+ + + One of the following errors occurred: + + + + + + + + + + +
ErrorDescription
`internal_error`An internal error occurred
+
diff --git a/docs/api-reference/get-a-blueprints-scorecards.api.mdx b/docs/api-reference/get-a-blueprints-scorecards.api.mdx index fe94e226c..82eec91d0 100644 --- a/docs/api-reference/get-a-blueprints-scorecards.api.mdx +++ b/docs/api-reference/get-a-blueprints-scorecards.api.mdx @@ -1,11 +1,11 @@ --- id: get-a-blueprints-scorecards -title: "Get a blueprints' scorecards" +title: "Get a blueprint's scorecards" description: "This route allows you to fetch all scorecards for a given blueprint. A scorecard is a set of rules that define the quality of a blueprint.

To learn more about scorecards, check out the [documentation](https://docs.getport.io/promote-scorecards/)." -sidebar_label: "Get a blueprints' scorecards" +sidebar_label: "Get a blueprint's scorecards" hide_title: true hide_table_of_contents: true -api: eJztVE1v2zAM/SuELmuBLG53NIoCBTYUwy5F252KYGBsOhbqWK5EpcsM//eRtpM4RdPTjrs4+iCpx/f40pqcQuZtw9bVJjWPpQ3gXWQCrCr3GmDrIrCDgjgr9QxC5jxl6PMAhfOAsLIbqmFZRWq8rXkON4cYkHIIgRhcAT5WFIBLZMipsDXJmuAlYmV5qwE4qXK19Ml1/3l0UBH6GtZSFHAp6CYgZpCVlD2Dnmq5p9xlcU01o7a0OCuZm5AmiRyH+Yq4cZ7n1iWNd2vH9PlQKTmfm5lhXAWTPpmH/blZzEyDHtfE5PWuNUHeXKNJW8PbhoS3wAJ6ZbqZsUpjg1xKrVpyZLdv6pfNBZgtLHm5fcs8weFa2dBu9qnwWrpAU/JVmFeUm506A2VS2NNLtJ5yk7KP1An8QFn0QnIPfilkCgDp0RPmaZg0qrGeQuPqQEHb+3JxoT/HUL9SgbFiuB8jTSd9CzulkyeNcGxmAwOpSTaXyb6HkLTvUdElEwiK1W92PEdfSZGdhNjYiYJm2tiDCjJA3rW310bSftD2IMdNFKTe/ukHxIyKlUKFZHW9goXr0y1XGn8n78HN3XcJVWADB5fzC1W7cYHXWGv4WP1WZn0yx+ETHHV3xGRrMlez8PDfeeq8QS6m35w0FYosQnA/Ae04Tk9mcymBB3Jlk55wVzjyr5iHNb9tlxjop6+6To9fInk1hSw36C0uVXCZu9wGXcs4F1gF+kC2s/vRbOfwDx38LhW7ca51ljcodWUny2cZ7hN/Mt1i6szbb48SjlGpnLrjuXfHuND2333prW2GZ/XbzU6kXIlrQLx3vQ8fbk4mjC7cRWvfi67r/gKgUlKa +api: eJztVE1v2zAM/SuELmuBLG53NIoCBTYUwy5F252KYGBsOhbqWK5EpcsM//eRtpM4RdPTjrs4+iApvvf40pqcQuZtw9bVJjWPpQ3gXWQCrCr3GmDrIrCDgjgr9QxC5jxl6PMAhfOAsLIbqmFZRWq8rXkON4cYkHIIgRhcAT5WFIBLZMipsDXJmuAlYmV5qwE4qXK19Ml1/3l0UBH6GtZSFHAp3U2amEFWUvYMeqrlnnKXxTXVjAppcVYyNyFNEjkO8xVx4zzPrUsa79aO6fOhUnI+NzPDuAomfTIP+3OzmJkGPa6Jyetda4K8uUaTtoa3DQlvgaXplelmxiqNDXIptWrJkd0e1C+bS2O2sOTl9i3zBIdrZUPR7FPhtXSBpuSrMK8oNzt1BsqksKeXaD3lJmUfqZP2A2XRC8l980shUxoQjJ4wT8MEqMZ6Co2rAwWF9+XiQn+OW/1KBcaK4X6MNJ3gFnZKJ08a4djMBgZSk2wukz2GkLTvUdElkxa0V7/Z8Rx9JUV2EmJjJwqaKbAHFWRoeQdvr42k/aDtQY6bKJ16+6cfEDMqVgoVktX1ChauT7dcafydvAc3d98lVBsbOLicX6jajQu8xlrDx+q3MuuTOf4U4AjdEZOtyVzNwsN/56nzBrmYfnPSVCiyCMH9BLTjOD2ZzaUEHgZKNukJd4Uj/4p5WPPbdomBfvqq6/T4JZJXU8hyg97iUgWXuctt0LWMc4FVoA9kO7sfzXYO/9DB71KxG+daZ3mDUld2snyW4T7xJ9Mtps68/fYo4RiVyqk7nnt3jAuF/+5Lb20zPKvfbnYi5UpcA+K96334cHMyYXThLlpxL7qu+wugBlKa sidebar_class_name: "get api-method" info_path: api-reference-temp/port-api custom_edit_url: null @@ -28,7 +28,7 @@ import TabItem from "@theme/TabItem"; diff --git a/docs/api-reference/get-a-blueprints-scorecard.api.mdx b/docs/api-reference/get-a-scorecard.api.mdx similarity index 72% rename from docs/api-reference/get-a-blueprints-scorecard.api.mdx rename to docs/api-reference/get-a-scorecard.api.mdx index f4f83b622..6aaf7b310 100644 --- a/docs/api-reference/get-a-blueprints-scorecard.api.mdx +++ b/docs/api-reference/get-a-scorecard.api.mdx @@ -1,11 +1,11 @@ --- -id: get-a-blueprints-scorecard -title: "Get a blueprint's scorecard" +id: get-a-scorecard +title: "Get a scorecard" description: "This route allows you to fetch a specific scorecard. A scorecard is a set of rules that define the quality of a blueprint.

To learn more about scorecards, check out the [documentation](https://docs.getport.io/promote-scorecards/)." -sidebar_label: "Get a blueprint's scorecard" +sidebar_label: "Get a scorecard" hide_title: true hide_table_of_contents: true -api: eJzlVE1r20AQ/SvDXpqAazk9ihAItITSS0jSUzBlLY2iJbJW3p116gr9985IsqQGpRDTWy/2anc+33sztUrRJ85UZGypYvWQGw/OBkLQRWFfPBxsALKQISU5aPAVJiYzCfjEOky0S5dwPX4Au7MREtgMXCjQA+WaIMXMlMhnhF3QhaGDGGjYFAErZ0paXm5cdNX+PFgoULsSthwU9IarGRP4BSQ5Js8gtxLuMbVJ2GJJWlpYn+VElY+jiK/98gmpso6WxkaVs1tL+HGMFJ0v1UKRfvIqflT3w71aL1Slnd4ioZO3WnnOudUqrhUdKmScPHHRT6pZKCOwVZpyjlWyjzweQ/0wKRfGcKHj19dII4zPgoZ0MwIpuL/okgbwO4Q4jsNdMA5TFZML2CzeW96A+fvLG1zhJbf+pHIZXI9JcCyBFtoNU835mQGHOo39hAaxdegrW3r00t2n1Ur+/qz0M2Y6FAR3vaVquG3mLrecUrEC1KIDIFbR/iIaWvBRPYdEE00UUs9R2Shpwe2P4giu4NhH3enKTGSnpv3eC01dJ8euB8bY7RseRpKuAzfgzK9W1arnMWeE2Ktpec1s626oEPtbzgfXt1/ZVArroLlYrkQDlfW01aWY99FveEAnw/fBj0y+VkKtElsS9/5/boeOHcKfFFWFZhYYz5bwuhfVo9pfsOEoK/6I3xixibjZaHZNsFx4skji1vVGe/zuiqaR611AJyPDx712Rm+Ed5ZfarycWeyZLjz+hb6zu34Uz+H07TOLyFHEpSh4r7l7/uLjM0v6jX0oe+sfln7KZjqhlVlim/V049x8eWBzHUQc0/F+bse7Pwhxs5lez32XVn4FsFmXSx574OVxNZh3L2869GvkaC19r5um+Q3rvc+K +api: eJzlVE1r20AQ/SvDnhJwLbtHEQKBllB6CUl6CqaspVG0RNYqu7NOXaH/3hlJlpSgFGJ668Ve7c7ne2+mVin6xJmKjC1VrO5z48HZQAi6KOyLh4MNQBYypCQHDb7CxGQmAZ9Yh4l26RKuxg9gdzZCApuBCwV6oFwTpJiZEvmM8Bx0YeggBhq2RcDKmZKWF1sXXbY/9xYK1K6EHQcFveVqxgR+AUmOyRPIrYR7SG0SdliSlhY2ZzlR5eMo4mu/fESqrKOlsVHl7M4SfhojRedLtVCkH72KH9TdcK82C1Vpp3dI6OStVp5z7rSKa0WHChknT1z0o2oWyghslaacY5XsI4/HUD9NyoUxXOj49S3SCOOzoCHdjEAK7i+6pAH8DiGO4/A5GIepiskFbBYfLW/A/OPlDa7wklt/UrkMrsckOJZAC+2Wqeb8zIBDncZ+QoPYOvSVLT166e7zaiV/ryv9gpkOBcFtb6kabpu5yy2nVKwAtegAiFW0X0dDCz6q55BooolC6jkqGyUtuP1RHMEVHPuoO12ZiezUtN87oanr5Nj1wBi7fcfDSNJV4Aac+d2qWvU85owQezUtr5lt3Q0VYn/D+eDq5hubSmEdNOvlSjRQWU87XYp5H/2aB1SP7L1lv1aJLYn7/T83QscI4S+KqkIz8oxhS3LdC+lB7ddsOEqJP+J3xmoiaDaaXQ0sEZ4mkrh1vdUef7iiaeT6OaCTMeHjXjujt8I1Sy41Xs4s8EwXHv9C39ltP37ncPrGmUXkKNxSVLvX3D1/8fGJZfzODpRd9Q9LP2UbndDKLLHNZrplrr/es7kOIo7pSD+1I90fhLjZTG9nvUsrvwLYrMsFjzrwwrgczLuXdx361XG0lr43TdP8AadDyvs= sidebar_class_name: "get api-method" info_path: api-reference-temp/port-api custom_edit_url: null @@ -28,7 +28,7 @@ import TabItem from "@theme/TabItem"; diff --git a/docs/api-reference/get-all-scoreboards.api.mdx b/docs/api-reference/get-all-scorecards.api.mdx similarity index 68% rename from docs/api-reference/get-all-scoreboards.api.mdx rename to docs/api-reference/get-all-scorecards.api.mdx index 8a3110054..ef2769e45 100644 --- a/docs/api-reference/get-all-scoreboards.api.mdx +++ b/docs/api-reference/get-all-scorecards.api.mdx @@ -1,11 +1,11 @@ --- -id: get-all-scoreboards -title: "Get all scoreboards" +id: get-all-scorecards +title: "Get all scorecards" description: "This route allows you to fetch all scorecards in your Port organization.

To learn more about scorecards, check out the [documentation](https://docs.getport.io/promote-scorecards/)." -sidebar_label: "Get all scoreboards" +sidebar_label: "Get all scorecards" hide_title: true hide_table_of_contents: true -api: eJzdUsFu2zAM/RVBpxXw7GTHoChQYEMx9FKs2SnIQbaZWKgtaRTtLTP07yMdp3WA9gd2kS3y8emRj6OuIVZoA1nv9EZvGxsV+p5Ambb1v6M6+V6RVwegqpGYipVHqAzWUVknaVRPHkl5PBpn/xphym9LLO6mY+tVCwad6rhMmZK5FxSZqhqoXpREqQG1q33Vd+Bootl/aohC3BQFh2N+BAr8Um59EdB3nuDzG1Nxk+tMkzlGvdnp59e43mc6QtWjpRNnRl2yGkABIZh6ExfIxFiEGLyLwDSj/rJayed6Rl/hYPqW1I8ZqVPKdAfU+JqzLJJ1BEMNX4phXSweECU4AMZJSI8tQy4dmmAXDeq0kP3MM+rOgi7iR02nAFzOZY9wYmZnOrnf96wDZxs4bEVxw41ylei07uCnckut4Cfr7p++M1SEnTtc5yvN2OAjdcYJfGZ/AHrbgdLPTV2NZ9SVd8QO/g/bdJ4xwR8qQmt4ljyVybZxdninh7XYerVuDc9NUuNYmgg/sU1Jwr96QFlB/h0MWlOKAbv9cnkevm2ZzfRCvbT4ZbJ4/pHduaScxAfT9u95P4GnM2UflNyy9YoX6O4Vfs58WDCv0gUtI9mnlP4BgTF6lA== +api: eJzdUsFu2zAM/RVBpxXw7GTHoChQYEMx9FKs2SnIQbaZWKgtaRTlLTP87yMdp3OG9gd2sS3y8fnpPQ66hlihDWS90xu9bWxU6BOBMm3rf0Z18kmRVwegqpGaipVHqAzWUVknbVRPHkl5PBpnfxthym9LLO6mx9arFgw61fGYMiVzLygyVTVQvSipUgNqV/sqdeBootl/aIhC3BQFl2N+BAr8p9z6IqDvPMHHv0zFTa4zTeYY9Wann1/rep/pCFVCSyfuDLpkNYACQjD1Ji6QI2MRYvAuAtMM+tNqJa9rjz7DwaSW1LcZqccx0x1Q42vuskjWEQw1fCj6dbH4gSjBHjBOQhK2DLnc0AS7uKAeF7Kf2aPuLOgiftB0CsDjPPYIJ2Z2ppPzfWIdOMfAZSuKG74oT4lO6w5+GrfUCn6K7v7pK0NF2PmG63ylGRt8pM44gc/sD0D/7ADPXbkz6Mo74gD/h2U6W0zwi4rQGraSTZlSG+aAd7pfS6pX29awbdIahtJE+I7tOEr5RwKUDeTP3qA1pfi/2y935+HLltlMEuplwi9TwvOHrM6l5aTemza9Ff0Enp5j9s7ILSeveH/uXuHnzrsD8yZd0GLJfhzHP9jDeiY= sidebar_class_name: "get api-method" info_path: api-reference-temp/port-api custom_edit_url: null @@ -28,7 +28,7 @@ import TabItem from "@theme/TabItem"; diff --git a/docs/api-reference/search-entities.api.mdx b/docs/api-reference/search-entities.api.mdx index 14c1b6aa0..c92658e58 100644 --- a/docs/api-reference/search-entities.api.mdx +++ b/docs/api-reference/search-entities.api.mdx @@ -5,7 +5,7 @@ description: "This route allows you to search for entities in your software cata sidebar_label: "Search entities" hide_title: true hide_table_of_contents: true -api: eJztWG1v2zYQ/isEB2wLYFlO1haoURTI1gzoBjRBkn1ZEjSUdLbZUKJGUklUw/99dxQly3GceF32kmEI4JgU7/jc23Mnz7kTU8vHZ/ygcNJJsPxiwDOwqZGlk7rgY346k5YZXTlgQil9Y1mtK+Y0syBMOmMTbRgEaSYLemqY1RN3IwywVDih9JQlwkLGdMEEm8prKFDaMT1hplJgh28SE7/1H6eaKdRbsFyjtEjw3k77gKUzSK8Y7bkZsLNMp1WOTwVBvfh25lxpx3GM23Y4BVdq44ZSx0klVRYRrqjFFQVcsa2LNMpwETndbX7V3rjTQ/Yj2ulBZeCEVDaAO8JLvrGtM3JIZ6KQNh80lg2YKNDsEoxw2lgW4UFowAeJr9lvFZiabWlLIxWh1sjLxTtDPuAGcGHd9zqr+XjOU104VEVfRVkqmXql8SdLAZ1zi27MBX1zdQkYYp18gtShntIQVJ8HXk2eyIKA0wqKKqdMwavxJO7dkykY706GUqSy4PODDO5Fmi8QMi17GIQxokbF0kHu90VRH07wwnWUZK00kBGagJgkWy/j12uhKiCAIsskoRPqqGfaRCgLA44xVqT4Q5UnYNgxIkJkf/197wTW0sbbtlJx4owspo2SPwDwMet6Ep2eba06yEtX/0mzjkH5VL3PsDVrBjzBfyU6wn2RZSdNGWxrX3M8GHixWCxWL+gVS5vcD2u+o8GZCnCjFEbk4MBYn/prpZpojfxYcKq9iaiUa7Vh5VANelLApwVqwSXcpqrK4GMqVFqhbyH72Kvx/v3B2tWKfj9hlwTscsDOlirYUsWXkW5aWadz+RkijB1MjY+5jZG2JnJa4UFPyLnOQCHhuaqMukjHy7vjFhEKR21Q4x12I5ViCbBge8YmRueeglpa71joHgev8VDYt77i+GKDo2XhL3vcpfvYAukKan4+j+0S35kHWLOfTg4/PGU7I+KP0IAqdejdnSE7LFRNNyI9Bwyt0wy62xToNOzknrXBlhgbGHY9EG5FXioYs8s5O+91jGEbgvcZmTGRYM754JzL3nJx+aRODxF+Fk6ndoj+1Xkunesn5dN7GHnHQloZtMqTSIIzAxgiKQMiG0M36tHJ9nrv9r3RiP6tOu9dQzTsOJz04UCOmml0Ny+19ZODcDNcxde7cas/zCqc0JjrltEqo/Bc62ZRyp6XV6B7vm1gtQYs86WUP0MvEfYrRGPkZ88FPCTLDI1FKUJLsThezkgHjYNJYRhDEFjX8Lq0axvNeERJ+8DzOado4oO90d6LaPQqGr0+3X05Hn03frE3fPV671c86vRDzxeP3NBVwr3HaHfZCzdLr/eb+d1uuFZ7A44DXC5cvxovfD1OtD8d2iPNwWz/6D3dirFuUmd3OKJZj3IkF372DAE7aYbfLhXvFGxvhP3//eMZvH+ElHFwiw1aCSw/jLqv9HlghjN+vYsHewEP7IAVPyMKwRPzOUXpF6MWC9puyJ5KM5NWJGoTu/eT5b89sGxw9BXUW4x6LRd4ttjeo/+C1vmPzisP+nw59T1f7/59g8k26bviygtaGEm+RB6grhN6OpFCI/ZD48rolDQvZdd+9iBd3cxydHhySq+P4ecSqlvcNeKGOiR+jvk5/vk3aF/oflCg/TlXophWYkrnG700XoiKKK4/nVz56SR86f2GIYq6h/Lu2NKYRJ+919lVkTfYYhnOPm+7482TjQLBY8uMbV5efwfNng89 +api: eJztWG1v2zYQ/isEB2wLYFlOkBaYEQTI1gzoBjRBk31ZEiS0dLbZUqRGUklcw/+9dxQly3Gcel22rsNgQJZI3vvdcyfNuRcTx4cX/Fh76SU4ftXjObjMytJLo/mQn0+lY9ZUHphQytw5NjMV84Y5EDabsrGxDCI1k5p2LXNm7O+EBZYJL5SZsJFwkDOjmWATeQsaqT0zY2YrBa5/MLLpYbicG6aQr2aFQWoxQrkt9x7LppC9Z7Tmp8AucpNVBe4KUvXq+6n3pRumKS67/gR8aazvS5OOKqnyhPRKGr2SqFfqZjpLcnxIvGkXv2kk7nQ0+xntDErl4IVULip3ikK+c40zCsimQktX9GrLekxoNLsEK7yxjiV4EGrlI8W37I8K7IxtaUtNlSDXJNClO33e4xbwwfkfTT7jwznPjPbIim5FWSqZBabpO0cBnXOHbiwE3flZCRhiM3oHmUc+pSVVQx4ENsVIalKcnkBXBWUKisaTuPZIpmC8WxpKkcpByA8yuBNpvkCV6bGjg7BWzJCx9FCEdaFnJ2MUuK4lWSst5KRN1JgoGy/j7a1QFZCCIs8laSfUace0sVAOehxjrIjxm6oYgWVvUSPU7O+X90pgLW2UthWLM2+lntRM/oSCn7KuQ9Hy2daq46L0s79o1ltQIVUfM2zNmh4f4V+JjvCfZdlZXQbb2lcfjwZeLRaLVQGdYmmS+2nODzh4WwEulMKKAjxYF1J/rVRHxiA+ak61NxaV8g03rByqwQAKuKuRCz7CfaaqHK4zobIKfQv5dafGu/KjtasV/XrMbkixmx67WLJgSxafB7pZ5bwp5AdIMHYwsSHmLkXYGstJhQcDIBcmB4WA56syaSOdLmWnjUZInDRBTXfYnVSKjYBF23M2tqYIENTAeotCjzh4DYfiugsVxxcbHC11EPZplx5hCyQR1PxCHrulfhdBwRn75ezkzXO2MwL+BA2oMo/e3emzE61mJBHhOerQOM2iu61Gp2EnD6gNrsTYQL/tgXAvilLBkN3M2WWnY/SbELzOyYyxBHvJe5dcdh4XN8/q9Bjhr8Lp1A7Rv6YopPfdpHx+DyPuOMgqi1YFEBnhzACWQMqCyIfQjnp0shEf3L43GNDfqvPOqiwD56hp7+/tre+faCC/ki1jQxMidSawluYdk6EeGJfhpb7UB16MFBzSjcUrYwd+enhMBw9SvGtWXi25x3X8sytk+eGN1BhImV/H0ecGz+TtLk0i6KxbSeVPkcHxCmOujWeF8Dh1BceHmbbOxUjdCEobTcnoF4855UsZjZ0Bm8l1kLRqM+Z4s10r0uqx2Ti0DpvN1GDd8NK4MAIKP8Wn9HY3bRIlDp2c0sreNq2psgrPNfUiStkpl5UcDI2zzq8mE5eFX8pfoVPRRxVqY+WHAOo8Vv0UsxapSFsqqrfLYfe4rhRiGOdJVKydXFr8aCaG4YDQ54n9OaeyxI29wd5+MniZ7A7OBz8Md/eH+y/7e7svfsej3jy1v/iEhBbSHj1Gq8uhZjP1+uAwfzjWrIFoj+MkjtnfhdWrAKxjE07HOYdeaNjR6WuSirGu0323P6BSoBwpRHiJiAE7q99iWkx5gLydd5H/XyS/ghfJmDIe7nHSUkIGAAyVPo/IcMFvd/FgJ+ARHbDipwQheGI+pyj9ZtViQct116bSzKUj7NnQprvJ8t+ePDc4+j3MtpjZGywIaLG9R/8FM9AXHTyf9PlyfP96vfvPTZjbpO+KK6/owUryJeIAdZ3Y0wkUarKfalcm58R5Sbv2/Yp4tTPL6cnZOX0HiN+9qG5x1Yo76pB4HfJL/IVPIaHQw6BA63OuhJ5UYkLna740XoiKIK47nbwP00m86XyMEnrW0fLh2FKbRNfOd4lVkgNssQxnn8P2eL2zkSB6bJmx9VeIj84Mr0c= sidebar_class_name: "post api-method" info_path: api-reference-temp/port-api custom_edit_url: null @@ -680,7 +680,57 @@ This route allows you to search for entities in your software catalog based on a
- Default Response + Success + + +
+ +
+ +
+ + + One of the following errors occurred: + + + + + + + + + + +
ErrorDescription
`invalid_request`The provided data does not match the route schema
+ + + +
+ +
+
+
+ + + One of the following errors occurred: + + + + + + + + + + +
ErrorDescription
`internal_error`An internal error occurred
+
diff --git a/docs/api-reference/sidebar.ts b/docs/api-reference/sidebar.ts index 990574f4e..10d9cb7fd 100644 --- a/docs/api-reference/sidebar.ts +++ b/docs/api-reference/sidebar.ts @@ -314,13 +314,13 @@ const sidebar: SidebarsConfig = { items: [ { type: "doc", - id: "api-reference/create-a-scorecard-for-a-blueprint", + id: "api-reference/create-a-scorecard", label: "Create a scorecard for a blueprint", className: "api-method post", }, { type: "doc", - id: "api-reference/change-a-blueprints-scorecards", + id: "api-reference/change-scorecards", label: "Change a blueprints' scorecards", className: "api-method put", }, @@ -332,25 +332,25 @@ const sidebar: SidebarsConfig = { }, { type: "doc", - id: "api-reference/change-a-blueprints-scorecard", + id: "api-reference/change-a-scorecard", label: "Change a blueprint's scorecard", className: "api-method put", }, { type: "doc", - id: "api-reference/get-a-blueprints-scorecard", + id: "api-reference/get-a-scorecard", label: "Get a blueprint's scorecard", className: "api-method get", }, { type: "doc", - id: "api-reference/delete-a-blueprints-scorecard", + id: "api-reference/delete-a-scorecard", label: "Delete a blueprint's scorecard", className: "api-method delete", }, { type: "doc", - id: "api-reference/get-all-scoreboards", + id: "api-reference/get-all-scorecards", label: "Get all scoreboards", className: "api-method get", }, diff --git a/static/spectmp.yaml b/static/spectmp.yaml index bae5ae014..6870494fe 100644 --- a/static/spectmp.yaml +++ b/static/spectmp.yaml @@ -3744,7 +3744,7 @@ paths: - bearer: [] responses: '200': - description: Deleted successfully. + description: Entity deleted successfully # content: # application/json: # schema: @@ -3757,6 +3757,70 @@ paths: # additionalProperties: false # required: # - ok + '403': + description: | + One of the following errors occurred: + + + + + + + + + + + + + + +
ErrorDescription
`missing_permissions`You do not have permissions to perform the requested operation. For further details, please contact your admin
`has_dependents`The entity has dependent entities that must be deleted along with it. To do that, use "delete_dependents=true"
+ '404': + description: | + One of the following errors occurred: + + + + + + + + + + + + + + +
ErrorDescription
`not_found`An entity with the provided `identifier` was not found
`not_found`A blueprint with the provided `identifier` was not found
+ '422': + description: | + One of the following errors occurred: + + + + + + + + + + +
ErrorDescription
`invalid_request`The provided data does not match the route schema
+ '500': + description: | + One of the following errors occurred: + + + + + + + + + + +
ErrorDescription
`internal_error`An internal error occurred
'/v1/blueprints/{blueprint_identifier}/entities-count': get: summary: Get a blueprint's entity count @@ -3774,7 +3838,49 @@ paths: - bearer: [] responses: '200': - description: Default Response + description: Success + '404': + description: | + One of the following errors occurred: + + + + + + + + + + +
ErrorDescription
`not_found`A blueprint with the provided `identifier` was not found
+ '422': + description: | + One of the following errors occurred: + + + + + + + + + + +
ErrorDescription
`invalid_request`The provided data does not match the route schema
+ '500': + description: | + One of the following errors occurred: + + + + + + + + + + +
ErrorDescription
`internal_error`An internal error occurred
'/v1/blueprints/{blueprint_identifier}/all-entities': delete: summary: Delete all entities of a blueprint @@ -3804,7 +3910,67 @@ paths: - bearer: [] responses: '200': - description: Deleted successfully. + description: Entities deleted successfully + '403': + description: | + One of the following errors occurred: + + + + + + + + + + + + + + +
ErrorDescription
`missing_permissions`You do not have permissions to perform the requested operation. For further details, please contact your admin
`has_dependents`The entity has dependent entities that must be deleted along with it. To do that, use "delete_dependents=true"
+ '404': + description: | + One of the following errors occurred: + + + + + + + + + + +
ErrorDescription
`not_found`A blueprint with the provided `identifier` was not found
+ '422': + description: | + One of the following errors occurred: + + + + + + + + + + +
ErrorDescription
`invalid_request`The provided data does not match the route schema
+ '500': + description: | + One of the following errors occurred: + + + + + + + + + + +
ErrorDescription
`internal_error`An internal error occurred
/v1/entities/search: post: summary: Search entities @@ -4040,7 +4206,35 @@ paths: - 'read:entities' responses: '200': - description: Default Response + description: Success + '422': + description: | + One of the following errors occurred: + + + + + + + + + + +
ErrorDescription
`invalid_request`The provided data does not match the route schema
+ '500': + description: | + One of the following errors occurred: + + + + + + + + + + +
ErrorDescription
`internal_error`An internal error occurred
# /v1/entities/aggregate: # post: # summary: Aggregate entities @@ -6808,7 +7002,7 @@ paths: description: Default Response '/v1/blueprints/{blueprint_identifier}/scorecards': post: - summary: Create a scorecard for a blueprint + summary: Create a scorecard description: This route allows you to create a scorecard for a given blueprint. A scorecard is a set of rules that define the quality of a blueprint.

To learn more about scorecards, check out the [documentation](https://docs.getport.io/promote-scorecards/). tags: - Scorecards @@ -7082,7 +7276,7 @@ paths: '400': description: Default Response put: - summary: Change a blueprint's scorecards + summary: Change scorecards description: This route allows you to modify one or more scorecards of a given blueprint. A scorecard is a set of rules that define the quality of a blueprint.

To learn more about scorecards, check out the [documentation](https://docs.getport.io/promote-scorecards/). tags: - Scorecards @@ -7353,7 +7547,7 @@ paths: '200': description: Default Response get: - summary: Get a blueprints' scorecards + summary: Get a blueprint's scorecards description: This route allows you to fetch all scorecards for a given blueprint. A scorecard is a set of rules that define the quality of a blueprint.

To learn more about scorecards, check out the [documentation](https://docs.getport.io/promote-scorecards/). tags: - Scorecards @@ -7372,7 +7566,7 @@ paths: description: Default Response '/v1/blueprints/{blueprint_identifier}/scorecards/{scorecard_identifier}': put: - summary: Change a blueprint's scorecard + summary: Change a scorecard description: This route allows you to modify a specific scorecard. A scorecard is a set of rules that define the quality of a blueprint.

To learn more about scorecards, check out the [documentation](https://docs.getport.io/promote-scorecards/). tags: - Scorecards @@ -7655,7 +7849,7 @@ paths: '200': description: Default Response get: - summary: Get a blueprint's scorecard + summary: Get a scorecard description: This route allows you to fetch a specific scorecard. A scorecard is a set of rules that define the quality of a blueprint.

To learn more about scorecards, check out the [documentation](https://docs.getport.io/promote-scorecards/). tags: - Scorecards @@ -7679,7 +7873,7 @@ paths: '200': description: Default Response delete: - summary: Delete a blueprint's scorecard + summary: Delete a scorecard description: This route allows you to delete a specific scorecard. A scorecard is a set of rules that define the quality of a blueprint.

To learn more about scorecards, check out the [documentation](https://docs.getport.io/promote-scorecards/). tags: - Scorecards @@ -7703,7 +7897,7 @@ paths: description: Default Response /v1/scorecards: get: - summary: Get all scoreboards + summary: Get all scorecards description: This route allows you to fetch all scorecards in your Port organization.

To learn more about scorecards, check out the [documentation](https://docs.getport.io/promote-scorecards/). tags: - Scorecards From 7f698e388ab53b1ecaf919c924d5f6b66554a8d9 Mon Sep 17 00:00:00 2001 From: hadar-co Date: Tue, 11 Jun 2024 10:24:12 +0300 Subject: [PATCH 08/56] remove misleading link (#1297) Co-authored-by: Hadar --- docs/search-and-query/global-search.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/search-and-query/global-search.md b/docs/search-and-query/global-search.md index 5567163f8..8c5c829b2 100644 --- a/docs/search-and-query/global-search.md +++ b/docs/search-and-query/global-search.md @@ -12,7 +12,7 @@ In the top right corner of your [portal](https://app.getport.io/), you can find

-The search bar uses an [Opensearch query](https://opensearch.org/docs/latest/query-dsl/full-text/match-bool-prefix/), and allows you to search for entities in your software catalog. +The search bar allows you to search for entities in your software catalog. You can search for entities by their title, description, or any other [property](/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/). From 0265c6d79f7253d19e6d70d1f26d6223efe5d791 Mon Sep 17 00:00:00 2001 From: lordsarcastic Date: Tue, 11 Jun 2024 13:20:34 +0100 Subject: [PATCH 09/56] PORT-8556 | Updated docs for secondary on call (#1288) Co-authored-by: lord-sarcastic <> --- .../incident-management/pagerduty.md | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/incident-management/pagerduty.md b/docs/build-your-software-catalog/sync-data-to-catalog/incident-management/pagerduty.md index 5476044e6..1373c5aa1 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/incident-management/pagerduty.md +++ b/docs/build-your-software-catalog/sync-data-to-catalog/incident-management/pagerduty.md @@ -647,6 +647,11 @@ resources: "type": "string", "format": "user" }, + "secondaryOncall": { + "title": "Secondary On Call", + "type": "string", + "format": "user" + }, "escalationLevels": { "title": "Escalation Levels", "type": "number" @@ -693,7 +698,8 @@ resources: properties: status: .status url: .html_url - oncall: .__oncall_user[] | select(.escalation_level == 1) | .user.email + oncall: .__oncall_user | sort_by(.escalation_level) | .[0].user.email + secondaryOncall: .__oncall_user | sort_by(.escalation_level) | .[1].user.email escalationLevels: .__oncall_user | map(.escalation_level) | unique | length meanSecondsToResolve: .__analytics.mean_seconds_to_resolve meanSecondsToFirstAck: .__analytics.mean_seconds_to_first_ack @@ -944,7 +950,8 @@ To enrich your PagerDuty service entities with analytics data, follow the steps properties: status: .status url: .html_url - oncall: "[.__oncall_user[].user.email]" + oncall: .__oncall_user | sort_by(.escalation_level) | .[0].user.email + secondaryOncall: .__oncall_user | sort_by(.escalation_level) | .[1].user.email ``` 3. Establish a mapping between the analytics properties and the service analytics data response. Following a convention, the aggregated result of the PagerDuty service analytics API is saved to the `__analytics` key and merged with the response of the service API. Consequently, users can access specific metrics such as the mean seconds to resolve by referencing `__analytics.mean_seconds_to_resolve`. @@ -965,7 +972,8 @@ To enrich your PagerDuty service entities with analytics data, follow the steps properties: status: .status url: .html_url - oncall: "[.__oncall_user[].user.email]" + oncall: .__oncall_user | sort_by(.escalation_level) | .[0].user.email + secondaryOncall: .__oncall_user | sort_by(.escalation_level) | .[1].user.email # highlight-next-line meanSecondsToResolve: .__analytics.mean_seconds_to_resolve ``` @@ -990,7 +998,8 @@ To enrich your PagerDuty service entities with analytics data, follow the steps properties: status: .status url: .html_url - oncall: "[.__oncall_user[].user.email]" + oncall: .__oncall_user | sort_by(.escalation_level) | .[0].user.email + secondaryOncall: .__oncall_user | sort_by(.escalation_level) | .[1].user.email meanSecondsToResolve: .__analytics.mean_seconds_to_resolve meanSecondsToFirstAck: .__analytics.mean_seconds_to_first_ack meanSecondsToEngage: .__analytics.mean_seconds_to_engage @@ -1620,6 +1629,7 @@ The combination of the sample payload and the Ocean configuration generates the "status": "active", "url": "https://getport-io.pagerduty.com/service-directory/PGAAJBE", "oncall": "devops-port@pager-demo.com", + "secondaryOncall": null, "escalationLevels": 1, "meanSecondsToResolve": 0, "meanSecondsToFirstAck": 0, From 8fcd14a7c6c3d9e52e539a0b8e73e54a415244e6 Mon Sep 17 00:00:00 2001 From: Aidan O'Connor <156127749+aidan-port@users.noreply.github.com> Date: Tue, 11 Jun 2024 09:24:47 -0400 Subject: [PATCH 10/56] removing trailing commas from backend example (#1295) Co-authored-by: hadar-co --- docs/guides-and-tutorials/scaffold-a-new-service.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/guides-and-tutorials/scaffold-a-new-service.md b/docs/guides-and-tutorials/scaffold-a-new-service.md index 4956145d8..9529deb56 100644 --- a/docs/guides-and-tutorials/scaffold-a-new-service.md +++ b/docs/guides-and-tutorials/scaffold-a-new-service.md @@ -80,9 +80,9 @@ Fill out the form with your values: ```json showLineNumbers { "port_context": { - "runId": "{{ .run.id }}", + "runId": "{{ .run.id }}" }, - "service_name": "{{ .inputs.service_name }}", + "service_name": "{{ .inputs.service_name }}" } ``` From 3e59946cbe6a8959a7645dc970d224197f25068f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 11 Jun 2024 16:32:07 +0300 Subject: [PATCH 11/56] Bump @easyops-cn/docusaurus-search-local from 0.42.0 to 0.44.0 (#1296) Bumps [@easyops-cn/docusaurus-search-local](https://github.com/easyops-cn/docusaurus-search-local/tree/HEAD/packages/docusaurus-search-local) from 0.42.0 to 0.44.0. - [Release notes](https://github.com/easyops-cn/docusaurus-search-local/releases) - [Commits](https://github.com/easyops-cn/docusaurus-search-local/commits/v0.44.0/packages/docusaurus-search-local) --- updated-dependencies: - dependency-name: "@easyops-cn/docusaurus-search-local" dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: hadar-co --- package-lock.json | 8 +- package.json | 2 +- yarn.lock | 2710 ++++++++++++++++++++++++++++++++++++++++----- 3 files changed, 2442 insertions(+), 278 deletions(-) diff --git a/package-lock.json b/package-lock.json index b19c7f76a..a0f70880d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15,7 +15,7 @@ "@docusaurus/plugin-ideal-image": "^3.4.0", "@docusaurus/preset-classic": "^3.4.0", "@docusaurus/theme-live-codeblock": "^3.4.0", - "@easyops-cn/docusaurus-search-local": "^0.42.0", + "@easyops-cn/docusaurus-search-local": "^0.44.0", "@mdx-js/react": "^3.0.1", "@port-labs/docusaurus-plugin-openapi-docs": "^0.0.5", "@port-labs/docusaurus-theme-openapi-docs": "^0.0.5", @@ -3076,9 +3076,9 @@ } }, "node_modules/@easyops-cn/docusaurus-search-local": { - "version": "0.42.0", - "resolved": "https://registry.npmjs.org/@easyops-cn/docusaurus-search-local/-/docusaurus-search-local-0.42.0.tgz", - "integrity": "sha512-05G151YgZrNmV3GkO6/B+nYb8fwdyBMhJTSzZViifTJQ1b0IgCmugUval4udkBlGeUL8LN/otORiMhwUMSos5A==", + "version": "0.44.0", + "resolved": "https://registry.npmjs.org/@easyops-cn/docusaurus-search-local/-/docusaurus-search-local-0.44.0.tgz", + "integrity": "sha512-sgLpvkRtYuEGvd4peYQW2oInI4JkcQfxo7HgEnkhcxn9kxDY5laA8DiCx9qMKAkM9cMed9e8IsLk5gBeDh8Rqw==", "dependencies": { "@docusaurus/plugin-content-docs": "^2 || ^3", "@docusaurus/theme-translations": "^2 || ^3", diff --git a/package.json b/package.json index b720e8dd4..638af911e 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,7 @@ "@docusaurus/plugin-ideal-image": "^3.4.0", "@docusaurus/preset-classic": "^3.4.0", "@docusaurus/theme-live-codeblock": "^3.4.0", - "@easyops-cn/docusaurus-search-local": "^0.42.0", + "@easyops-cn/docusaurus-search-local": "^0.44.0", "@mdx-js/react": "^3.0.1", "@port-labs/docusaurus-plugin-openapi-docs": "^0.0.5", "@port-labs/docusaurus-theme-openapi-docs": "^0.0.5", diff --git a/yarn.lock b/yarn.lock index e5857f55d..f53f6fa85 100644 --- a/yarn.lock +++ b/yarn.lock @@ -163,6 +163,15 @@ "@jridgewell/gen-mapping" "^0.3.0" "@jridgewell/trace-mapping" "^0.3.9" +"@apidevtools/json-schema-ref-parser@^11.5.4": + version "11.6.4" + resolved "https://registry.yarnpkg.com/@apidevtools/json-schema-ref-parser/-/json-schema-ref-parser-11.6.4.tgz#0f3e02302f646471d621a8850e6a346d63c8ebd4" + integrity sha512-9K6xOqeevacvweLGik6LnZCb1fBtCOSIWQs8d096XGeqoLKC33UVMGz9+77Gw44KvbH4pKcQPWo4ZpxkXYj05w== + dependencies: + "@jsdevtools/ono" "^7.1.3" + "@types/json-schema" "^7.0.15" + js-yaml "^4.1.0" + "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.16.0", "@babel/code-frame@^7.22.13", "@babel/code-frame@^7.23.5", "@babel/code-frame@^7.8.3": version "7.23.5" resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz" @@ -1160,6 +1169,13 @@ dependencies: regenerator-runtime "^0.14.0" +"@babel/runtime@^7.15.4", "@babel/runtime@^7.9.2": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.24.7.tgz#f4f0d5530e8dbdf59b3451b9b3e594b6ba082e12" + integrity sha512-UwgBRMjJP+xv857DCngvqXI3Iq6J4v0wXmwc6sapg+zyhbwmQX67LUEFrkK5tbyJ30jGuG3ZvWpBiB9LCy1kWw== + dependencies: + regenerator-runtime "^0.14.0" + "@babel/template@^7.22.15", "@babel/template@^7.22.5": version "7.22.15" resolved "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz" @@ -1231,10 +1247,10 @@ react-hot-toast "^2.4.0" swr "^2.1.0" -"@docusaurus/core@3.3.2", "@docusaurus/core@^3.3.2": - version "3.3.2" - resolved "https://registry.npmjs.org/@docusaurus/core/-/core-3.3.2.tgz" - integrity sha512-PzKMydKI3IU1LmeZQDi+ut5RSuilbXnA8QdowGeJEgU8EJjmx3rBHNT1LxQxOVqNEwpWi/csLwd9bn7rUjggPA== +"@docusaurus/core@3.4.0", "@docusaurus/core@^3.4.0": + version "3.4.0" + resolved "https://registry.yarnpkg.com/@docusaurus/core/-/core-3.4.0.tgz#bdbf1af4b2f25d1bf4a5b62ec6137d84c821cb3c" + integrity sha512-g+0wwmN2UJsBqy2fQRQ6fhXruoEa62JDeEa5d8IdTJlMoaDaEDfHh7WjwGRn4opuTQWpjAwP/fbcgyHKlE+64w== dependencies: "@babel/core" "^7.23.3" "@babel/generator" "^7.23.3" @@ -1246,12 +1262,12 @@ "@babel/runtime" "^7.22.6" "@babel/runtime-corejs3" "^7.22.6" "@babel/traverse" "^7.22.8" - "@docusaurus/cssnano-preset" "3.3.2" - "@docusaurus/logger" "3.3.2" - "@docusaurus/mdx-loader" "3.3.2" - "@docusaurus/utils" "3.3.2" - "@docusaurus/utils-common" "3.3.2" - "@docusaurus/utils-validation" "3.3.2" + "@docusaurus/cssnano-preset" "3.4.0" + "@docusaurus/logger" "3.4.0" + "@docusaurus/mdx-loader" "3.4.0" + "@docusaurus/utils" "3.4.0" + "@docusaurus/utils-common" "3.4.0" + "@docusaurus/utils-validation" "3.4.0" autoprefixer "^10.4.14" babel-loader "^9.1.3" babel-plugin-dynamic-import-node "^2.3.3" @@ -1305,43 +1321,43 @@ webpack-merge "^5.9.0" webpackbar "^5.0.2" -"@docusaurus/cssnano-preset@3.3.2": - version "3.3.2" - resolved "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-3.3.2.tgz" - integrity sha512-+5+epLk/Rp4vFML4zmyTATNc3Is+buMAL6dNjrMWahdJCJlMWMPd/8YfU+2PA57t8mlSbhLJ7vAZVy54cd1vRQ== +"@docusaurus/cssnano-preset@3.4.0": + version "3.4.0" + resolved "https://registry.yarnpkg.com/@docusaurus/cssnano-preset/-/cssnano-preset-3.4.0.tgz#dc7922b3bbeabcefc9b60d0161680d81cf72c368" + integrity sha512-qwLFSz6v/pZHy/UP32IrprmH5ORce86BGtN0eBtG75PpzQJAzp9gefspox+s8IEOr0oZKuQ/nhzZ3xwyc3jYJQ== dependencies: cssnano-preset-advanced "^6.1.2" postcss "^8.4.38" postcss-sort-media-queries "^5.2.0" tslib "^2.6.0" -"@docusaurus/logger@3.3.2": - version "3.3.2" - resolved "https://registry.npmjs.org/@docusaurus/logger/-/logger-3.3.2.tgz" - integrity sha512-Ldu38GJ4P8g4guN7d7pyCOJ7qQugG7RVyaxrK8OnxuTlaImvQw33aDRwaX2eNmX8YK6v+//Z502F4sOZbHHCHQ== +"@docusaurus/logger@3.4.0": + version "3.4.0" + resolved "https://registry.yarnpkg.com/@docusaurus/logger/-/logger-3.4.0.tgz#8b0ac05c7f3dac2009066e2f964dee8209a77403" + integrity sha512-bZwkX+9SJ8lB9kVRkXw+xvHYSMGG4bpYHKGXeXFvyVc79NMeeBSGgzd4TQLHH+DYeOJoCdl8flrFJVxlZ0wo/Q== dependencies: chalk "^4.1.2" tslib "^2.6.0" -"@docusaurus/lqip-loader@3.3.2": - version "3.3.2" - resolved "https://registry.npmjs.org/@docusaurus/lqip-loader/-/lqip-loader-3.3.2.tgz" - integrity sha512-NLn4uhvPixtt7OP9udIg1hoWg2lCu/kiGbE4bJhj6n8q/2pP22hImMpiUufed1RalfurD+aH+1UA0iHZ18tFFw== +"@docusaurus/lqip-loader@3.4.0": + version "3.4.0" + resolved "https://registry.yarnpkg.com/@docusaurus/lqip-loader/-/lqip-loader-3.4.0.tgz#e1a52f0380b2eccf5c1536afeb9a054f998e883d" + integrity sha512-F//Gjqcz925zLL1l3Y3XOtQvn927GBIr9ZouvzWF4jHNKuuHBqzOPSADF5O/cT3Vq1ucPWooyhPBxYcvSGF4SA== dependencies: - "@docusaurus/logger" "3.3.2" + "@docusaurus/logger" "3.4.0" file-loader "^6.2.0" lodash "^4.17.21" sharp "^0.32.3" tslib "^2.6.0" -"@docusaurus/mdx-loader@3.3.2": - version "3.3.2" - resolved "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-3.3.2.tgz" - integrity sha512-AFRxj/aOk3/mfYDPxE3wTbrjeayVRvNSZP7mgMuUlrb2UlPRbSVAFX1k2RbgAJrnTSwMgb92m2BhJgYRfptN3g== +"@docusaurus/mdx-loader@3.4.0": + version "3.4.0" + resolved "https://registry.yarnpkg.com/@docusaurus/mdx-loader/-/mdx-loader-3.4.0.tgz#483d7ab57928fdbb5c8bd1678098721a930fc5f6" + integrity sha512-kSSbrrk4nTjf4d+wtBA9H+FGauf2gCax89kV8SUSJu3qaTdSIKdWERlngsiHaCFgZ7laTJ8a67UFf+xlFPtuTw== dependencies: - "@docusaurus/logger" "3.3.2" - "@docusaurus/utils" "3.3.2" - "@docusaurus/utils-validation" "3.3.2" + "@docusaurus/logger" "3.4.0" + "@docusaurus/utils" "3.4.0" + "@docusaurus/utils-validation" "3.4.0" "@mdx-js/mdx" "^3.0.0" "@slorber/remark-comment" "^1.0.0" escape-html "^1.0.3" @@ -1364,12 +1380,12 @@ vfile "^6.0.1" webpack "^5.88.1" -"@docusaurus/module-type-aliases@3.3.2", "@docusaurus/module-type-aliases@^3.3.2": - version "3.3.2" - resolved "https://registry.npmjs.org/@docusaurus/module-type-aliases/-/module-type-aliases-3.3.2.tgz" - integrity sha512-b/XB0TBJah5yKb4LYuJT4buFvL0MGAb0+vJDrJtlYMguRtsEBkf2nWl5xP7h4Dlw6ol0hsHrCYzJ50kNIOEclw== +"@docusaurus/module-type-aliases@3.4.0", "@docusaurus/module-type-aliases@^3.4.0": + version "3.4.0" + resolved "https://registry.yarnpkg.com/@docusaurus/module-type-aliases/-/module-type-aliases-3.4.0.tgz#2653bde58fc1aa3dbc626a6c08cfb63a37ae1bb8" + integrity sha512-A1AyS8WF5Bkjnb8s+guTDuYmUiwJzNrtchebBHpc0gz0PyHJNMaybUlSrmJjHVcGrya0LKI4YcR3lBDQfXRYLw== dependencies: - "@docusaurus/types" "3.3.2" + "@docusaurus/types" "3.4.0" "@types/history" "^4.7.11" "@types/react" "*" "@types/react-router-config" "*" @@ -1377,33 +1393,33 @@ react-helmet-async "*" react-loadable "npm:@docusaurus/react-loadable@6.0.0" -"@docusaurus/plugin-client-redirects@^3.3.2": - version "3.3.2" - resolved "https://registry.npmjs.org/@docusaurus/plugin-client-redirects/-/plugin-client-redirects-3.3.2.tgz" - integrity sha512-W8ueb5PaQ06oanatL+CzE3GjqeRBTzv3MSFqEQlBa8BqLyOomc1uHsWgieE3glHsckU4mUZ6sHnOfesAtYnnew== - dependencies: - "@docusaurus/core" "3.3.2" - "@docusaurus/logger" "3.3.2" - "@docusaurus/utils" "3.3.2" - "@docusaurus/utils-common" "3.3.2" - "@docusaurus/utils-validation" "3.3.2" +"@docusaurus/plugin-client-redirects@^3.4.0": + version "3.4.0" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-client-redirects/-/plugin-client-redirects-3.4.0.tgz#10eafc9adcf3f9be7cc33d77e816040dc7a8d368" + integrity sha512-Pr8kyh/+OsmYCvdZhc60jy/FnrY6flD2TEAhl4rJxeVFxnvvRgEhoaIVX8q9MuJmaQoh6frPk94pjs7/6YgBDQ== + dependencies: + "@docusaurus/core" "3.4.0" + "@docusaurus/logger" "3.4.0" + "@docusaurus/utils" "3.4.0" + "@docusaurus/utils-common" "3.4.0" + "@docusaurus/utils-validation" "3.4.0" eta "^2.2.0" fs-extra "^11.1.1" lodash "^4.17.21" tslib "^2.6.0" -"@docusaurus/plugin-content-blog@3.3.2": - version "3.3.2" - resolved "https://registry.npmjs.org/@docusaurus/plugin-content-blog/-/plugin-content-blog-3.3.2.tgz" - integrity sha512-fJU+dmqp231LnwDJv+BHVWft8pcUS2xVPZdeYH6/ibH1s2wQ/sLcmUrGWyIv/Gq9Ptj8XWjRPMghlxghuPPoxg== - dependencies: - "@docusaurus/core" "3.3.2" - "@docusaurus/logger" "3.3.2" - "@docusaurus/mdx-loader" "3.3.2" - "@docusaurus/types" "3.3.2" - "@docusaurus/utils" "3.3.2" - "@docusaurus/utils-common" "3.3.2" - "@docusaurus/utils-validation" "3.3.2" +"@docusaurus/plugin-content-blog@3.4.0": + version "3.4.0" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-content-blog/-/plugin-content-blog-3.4.0.tgz#6373632fdbababbda73a13c4a08f907d7de8f007" + integrity sha512-vv6ZAj78ibR5Jh7XBUT4ndIjmlAxkijM3Sx5MAAzC1gyv0vupDQNhzuFg1USQmQVj3P5I6bquk12etPV3LJ+Xw== + dependencies: + "@docusaurus/core" "3.4.0" + "@docusaurus/logger" "3.4.0" + "@docusaurus/mdx-loader" "3.4.0" + "@docusaurus/types" "3.4.0" + "@docusaurus/utils" "3.4.0" + "@docusaurus/utils-common" "3.4.0" + "@docusaurus/utils-validation" "3.4.0" cheerio "^1.0.0-rc.12" feed "^4.2.2" fs-extra "^11.1.1" @@ -1415,19 +1431,19 @@ utility-types "^3.10.0" webpack "^5.88.1" -"@docusaurus/plugin-content-docs@3.3.2", "@docusaurus/plugin-content-docs@^2 || ^3": - version "3.3.2" - resolved "https://registry.npmjs.org/@docusaurus/plugin-content-docs/-/plugin-content-docs-3.3.2.tgz" - integrity sha512-Dm1ri2VlGATTN3VGk1ZRqdRXWa1UlFubjaEL6JaxaK7IIFqN/Esjpl+Xw10R33loHcRww/H76VdEeYayaL76eg== - dependencies: - "@docusaurus/core" "3.3.2" - "@docusaurus/logger" "3.3.2" - "@docusaurus/mdx-loader" "3.3.2" - "@docusaurus/module-type-aliases" "3.3.2" - "@docusaurus/types" "3.3.2" - "@docusaurus/utils" "3.3.2" - "@docusaurus/utils-common" "3.3.2" - "@docusaurus/utils-validation" "3.3.2" +"@docusaurus/plugin-content-docs@3.4.0", "@docusaurus/plugin-content-docs@^2 || ^3", "@docusaurus/plugin-content-docs@^3.0.1": + version "3.4.0" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-content-docs/-/plugin-content-docs-3.4.0.tgz#3088973f72169a2a6d533afccec7153c8720d332" + integrity sha512-HkUCZffhBo7ocYheD9oZvMcDloRnGhBMOZRyVcAQRFmZPmNqSyISlXA1tQCIxW+r478fty97XXAGjNYzBjpCsg== + dependencies: + "@docusaurus/core" "3.4.0" + "@docusaurus/logger" "3.4.0" + "@docusaurus/mdx-loader" "3.4.0" + "@docusaurus/module-type-aliases" "3.4.0" + "@docusaurus/types" "3.4.0" + "@docusaurus/utils" "3.4.0" + "@docusaurus/utils-common" "3.4.0" + "@docusaurus/utils-validation" "3.4.0" "@types/react-router-config" "^5.0.7" combine-promises "^1.1.0" fs-extra "^11.1.1" @@ -1437,113 +1453,113 @@ utility-types "^3.10.0" webpack "^5.88.1" -"@docusaurus/plugin-content-pages@3.3.2": - version "3.3.2" - resolved "https://registry.npmjs.org/@docusaurus/plugin-content-pages/-/plugin-content-pages-3.3.2.tgz" - integrity sha512-EKc9fQn5H2+OcGER8x1aR+7URtAGWySUgULfqE/M14+rIisdrBstuEZ4lUPDRrSIexOVClML82h2fDS+GSb8Ew== - dependencies: - "@docusaurus/core" "3.3.2" - "@docusaurus/mdx-loader" "3.3.2" - "@docusaurus/types" "3.3.2" - "@docusaurus/utils" "3.3.2" - "@docusaurus/utils-validation" "3.3.2" +"@docusaurus/plugin-content-pages@3.4.0": + version "3.4.0" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-content-pages/-/plugin-content-pages-3.4.0.tgz#1846172ca0355c7d32a67ef8377750ce02bbb8ad" + integrity sha512-h2+VN/0JjpR8fIkDEAoadNjfR3oLzB+v1qSXbIAKjQ46JAHx3X22n9nqS+BWSQnTnp1AjkjSvZyJMekmcwxzxg== + dependencies: + "@docusaurus/core" "3.4.0" + "@docusaurus/mdx-loader" "3.4.0" + "@docusaurus/types" "3.4.0" + "@docusaurus/utils" "3.4.0" + "@docusaurus/utils-validation" "3.4.0" fs-extra "^11.1.1" tslib "^2.6.0" webpack "^5.88.1" -"@docusaurus/plugin-debug@3.3.2": - version "3.3.2" - resolved "https://registry.npmjs.org/@docusaurus/plugin-debug/-/plugin-debug-3.3.2.tgz" - integrity sha512-oBIBmwtaB+YS0XlmZ3gCO+cMbsGvIYuAKkAopoCh0arVjtlyPbejzPrHuCoRHB9G7abjNZw7zoONOR8+8LM5+Q== +"@docusaurus/plugin-debug@3.4.0": + version "3.4.0" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-debug/-/plugin-debug-3.4.0.tgz#74e4ec5686fa314c26f3ac150bacadbba7f06948" + integrity sha512-uV7FDUNXGyDSD3PwUaf5YijX91T5/H9SX4ErEcshzwgzWwBtK37nUWPU3ZLJfeTavX3fycTOqk9TglpOLaWkCg== dependencies: - "@docusaurus/core" "3.3.2" - "@docusaurus/types" "3.3.2" - "@docusaurus/utils" "3.3.2" + "@docusaurus/core" "3.4.0" + "@docusaurus/types" "3.4.0" + "@docusaurus/utils" "3.4.0" fs-extra "^11.1.1" react-json-view-lite "^1.2.0" tslib "^2.6.0" -"@docusaurus/plugin-google-analytics@3.3.2": - version "3.3.2" - resolved "https://registry.npmjs.org/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-3.3.2.tgz" - integrity sha512-jXhrEIhYPSClMBK6/IA8qf1/FBoxqGXZvg7EuBax9HaK9+kL3L0TJIlatd8jQJOMtds8mKw806TOCc3rtEad1A== +"@docusaurus/plugin-google-analytics@3.4.0": + version "3.4.0" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-3.4.0.tgz#5f59fc25329a59decc231936f6f9fb5663da3c55" + integrity sha512-mCArluxEGi3cmYHqsgpGGt3IyLCrFBxPsxNZ56Mpur0xSlInnIHoeLDH7FvVVcPJRPSQ9/MfRqLsainRw+BojA== dependencies: - "@docusaurus/core" "3.3.2" - "@docusaurus/types" "3.3.2" - "@docusaurus/utils-validation" "3.3.2" + "@docusaurus/core" "3.4.0" + "@docusaurus/types" "3.4.0" + "@docusaurus/utils-validation" "3.4.0" tslib "^2.6.0" -"@docusaurus/plugin-google-gtag@3.3.2": - version "3.3.2" - resolved "https://registry.npmjs.org/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-3.3.2.tgz" - integrity sha512-vcrKOHGbIDjVnNMrfbNpRQR1x6Jvcrb48kVzpBAOsKbj9rXZm/idjVAXRaewwobHdOrJkfWS/UJoxzK8wyLRBQ== +"@docusaurus/plugin-google-gtag@3.4.0": + version "3.4.0" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-3.4.0.tgz#42489ac5fe1c83b5523ceedd5ef74f9aa8bc251b" + integrity sha512-Dsgg6PLAqzZw5wZ4QjUYc8Z2KqJqXxHxq3vIoyoBWiLEEfigIs7wHR+oiWUQy3Zk9MIk6JTYj7tMoQU0Jm3nqA== dependencies: - "@docusaurus/core" "3.3.2" - "@docusaurus/types" "3.3.2" - "@docusaurus/utils-validation" "3.3.2" + "@docusaurus/core" "3.4.0" + "@docusaurus/types" "3.4.0" + "@docusaurus/utils-validation" "3.4.0" "@types/gtag.js" "^0.0.12" tslib "^2.6.0" -"@docusaurus/plugin-google-tag-manager@3.3.2", "@docusaurus/plugin-google-tag-manager@^3.3.2": - version "3.3.2" - resolved "https://registry.npmjs.org/@docusaurus/plugin-google-tag-manager/-/plugin-google-tag-manager-3.3.2.tgz" - integrity sha512-ldkR58Fdeks0vC+HQ+L+bGFSJsotQsipXD+iKXQFvkOfmPIV6QbHRd7IIcm5b6UtwOiK33PylNS++gjyLUmaGw== +"@docusaurus/plugin-google-tag-manager@3.4.0", "@docusaurus/plugin-google-tag-manager@^3.4.0": + version "3.4.0" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-google-tag-manager/-/plugin-google-tag-manager-3.4.0.tgz#cebb03a5ffa1e70b37d95601442babea251329ff" + integrity sha512-O9tX1BTwxIhgXpOLpFDueYA9DWk69WCbDRrjYoMQtFHSkTyE7RhNgyjSPREUWJb9i+YUg3OrsvrBYRl64FCPCQ== dependencies: - "@docusaurus/core" "3.3.2" - "@docusaurus/types" "3.3.2" - "@docusaurus/utils-validation" "3.3.2" + "@docusaurus/core" "3.4.0" + "@docusaurus/types" "3.4.0" + "@docusaurus/utils-validation" "3.4.0" tslib "^2.6.0" -"@docusaurus/plugin-ideal-image@^3.3.2": - version "3.3.2" - resolved "https://registry.npmjs.org/@docusaurus/plugin-ideal-image/-/plugin-ideal-image-3.3.2.tgz" - integrity sha512-1CBovuQ7dnbPGK6aZ43tBU0K0EG0PR6T9GlalzyvZP6Zcx7AMpZjVcQZ+P2EIybtd/YoMUXvMiwfgJyx+5+haQ== +"@docusaurus/plugin-ideal-image@^3.4.0": + version "3.4.0" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-ideal-image/-/plugin-ideal-image-3.4.0.tgz#e75bd81dbedd8a1041a9edaed24f88d016a0643e" + integrity sha512-s8N/PRiv1R66UY+WX/2E9a+GjkRooXVcf0VJNEYA3yZ6c24Path15ivjmdMtKaSo/6OXYbejGlA4DJZ5TPLkCQ== dependencies: - "@docusaurus/core" "3.3.2" - "@docusaurus/lqip-loader" "3.3.2" + "@docusaurus/core" "3.4.0" + "@docusaurus/lqip-loader" "3.4.0" "@docusaurus/responsive-loader" "^1.7.0" - "@docusaurus/theme-translations" "3.3.2" - "@docusaurus/types" "3.3.2" - "@docusaurus/utils-validation" "3.3.2" + "@docusaurus/theme-translations" "3.4.0" + "@docusaurus/types" "3.4.0" + "@docusaurus/utils-validation" "3.4.0" "@slorber/react-ideal-image" "^0.0.12" react-waypoint "^10.3.0" sharp "^0.32.3" tslib "^2.6.0" webpack "^5.88.1" -"@docusaurus/plugin-sitemap@3.3.2": - version "3.3.2" - resolved "https://registry.npmjs.org/@docusaurus/plugin-sitemap/-/plugin-sitemap-3.3.2.tgz" - integrity sha512-/ZI1+bwZBhAgC30inBsHe3qY9LOZS+79fRGkNdTcGHRMcdAp6Vw2pCd1gzlxd/xU+HXsNP6cLmTOrggmRp3Ujg== - dependencies: - "@docusaurus/core" "3.3.2" - "@docusaurus/logger" "3.3.2" - "@docusaurus/types" "3.3.2" - "@docusaurus/utils" "3.3.2" - "@docusaurus/utils-common" "3.3.2" - "@docusaurus/utils-validation" "3.3.2" +"@docusaurus/plugin-sitemap@3.4.0": + version "3.4.0" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-sitemap/-/plugin-sitemap-3.4.0.tgz#b091d64d1e3c6c872050189999580187537bcbc6" + integrity sha512-+0VDvx9SmNrFNgwPoeoCha+tRoAjopwT0+pYO1xAbyLcewXSemq+eLxEa46Q1/aoOaJQ0qqHELuQM7iS2gp33Q== + dependencies: + "@docusaurus/core" "3.4.0" + "@docusaurus/logger" "3.4.0" + "@docusaurus/types" "3.4.0" + "@docusaurus/utils" "3.4.0" + "@docusaurus/utils-common" "3.4.0" + "@docusaurus/utils-validation" "3.4.0" fs-extra "^11.1.1" sitemap "^7.1.1" tslib "^2.6.0" -"@docusaurus/preset-classic@^3.3.2": - version "3.3.2" - resolved "https://registry.npmjs.org/@docusaurus/preset-classic/-/preset-classic-3.3.2.tgz" - integrity sha512-1SDS7YIUN1Pg3BmD6TOTjhB7RSBHJRpgIRKx9TpxqyDrJ92sqtZhomDc6UYoMMLQNF2wHFZZVGFjxJhw2VpL+Q== - dependencies: - "@docusaurus/core" "3.3.2" - "@docusaurus/plugin-content-blog" "3.3.2" - "@docusaurus/plugin-content-docs" "3.3.2" - "@docusaurus/plugin-content-pages" "3.3.2" - "@docusaurus/plugin-debug" "3.3.2" - "@docusaurus/plugin-google-analytics" "3.3.2" - "@docusaurus/plugin-google-gtag" "3.3.2" - "@docusaurus/plugin-google-tag-manager" "3.3.2" - "@docusaurus/plugin-sitemap" "3.3.2" - "@docusaurus/theme-classic" "3.3.2" - "@docusaurus/theme-common" "3.3.2" - "@docusaurus/theme-search-algolia" "3.3.2" - "@docusaurus/types" "3.3.2" +"@docusaurus/preset-classic@^3.4.0": + version "3.4.0" + resolved "https://registry.yarnpkg.com/@docusaurus/preset-classic/-/preset-classic-3.4.0.tgz#6082a32fbb465b0cb2c2a50ebfc277cff2c0f139" + integrity sha512-Ohj6KB7siKqZaQhNJVMBBUzT3Nnp6eTKqO+FXO3qu/n1hJl3YLwVKTWBg28LF7MWrKu46UuYavwMRxud0VyqHg== + dependencies: + "@docusaurus/core" "3.4.0" + "@docusaurus/plugin-content-blog" "3.4.0" + "@docusaurus/plugin-content-docs" "3.4.0" + "@docusaurus/plugin-content-pages" "3.4.0" + "@docusaurus/plugin-debug" "3.4.0" + "@docusaurus/plugin-google-analytics" "3.4.0" + "@docusaurus/plugin-google-gtag" "3.4.0" + "@docusaurus/plugin-google-tag-manager" "3.4.0" + "@docusaurus/plugin-sitemap" "3.4.0" + "@docusaurus/theme-classic" "3.4.0" + "@docusaurus/theme-common" "3.4.0" + "@docusaurus/theme-search-algolia" "3.4.0" + "@docusaurus/types" "3.4.0" "@docusaurus/responsive-loader@^1.7.0": version "1.7.0" @@ -1552,23 +1568,23 @@ dependencies: loader-utils "^2.0.0" -"@docusaurus/theme-classic@3.3.2": - version "3.3.2" - resolved "https://registry.npmjs.org/@docusaurus/theme-classic/-/theme-classic-3.3.2.tgz" - integrity sha512-gepHFcsluIkPb4Im9ukkiO4lXrai671wzS3cKQkY9BXQgdVwsdPf/KS0Vs4Xlb0F10fTz+T3gNjkxNEgSN9M0A== - dependencies: - "@docusaurus/core" "3.3.2" - "@docusaurus/mdx-loader" "3.3.2" - "@docusaurus/module-type-aliases" "3.3.2" - "@docusaurus/plugin-content-blog" "3.3.2" - "@docusaurus/plugin-content-docs" "3.3.2" - "@docusaurus/plugin-content-pages" "3.3.2" - "@docusaurus/theme-common" "3.3.2" - "@docusaurus/theme-translations" "3.3.2" - "@docusaurus/types" "3.3.2" - "@docusaurus/utils" "3.3.2" - "@docusaurus/utils-common" "3.3.2" - "@docusaurus/utils-validation" "3.3.2" +"@docusaurus/theme-classic@3.4.0": + version "3.4.0" + resolved "https://registry.yarnpkg.com/@docusaurus/theme-classic/-/theme-classic-3.4.0.tgz#1b0f48edec3e3ec8927843554b9f11e5927b0e52" + integrity sha512-0IPtmxsBYv2adr1GnZRdMkEQt1YW6tpzrUPj02YxNpvJ5+ju4E13J5tB4nfdaen/tfR1hmpSPlTFPvTf4kwy8Q== + dependencies: + "@docusaurus/core" "3.4.0" + "@docusaurus/mdx-loader" "3.4.0" + "@docusaurus/module-type-aliases" "3.4.0" + "@docusaurus/plugin-content-blog" "3.4.0" + "@docusaurus/plugin-content-docs" "3.4.0" + "@docusaurus/plugin-content-pages" "3.4.0" + "@docusaurus/theme-common" "3.4.0" + "@docusaurus/theme-translations" "3.4.0" + "@docusaurus/types" "3.4.0" + "@docusaurus/utils" "3.4.0" + "@docusaurus/utils-common" "3.4.0" + "@docusaurus/utils-validation" "3.4.0" "@mdx-js/react" "^3.0.0" clsx "^2.0.0" copy-text-to-clipboard "^3.2.0" @@ -1583,18 +1599,18 @@ tslib "^2.6.0" utility-types "^3.10.0" -"@docusaurus/theme-common@3.3.2": - version "3.3.2" - resolved "https://registry.npmjs.org/@docusaurus/theme-common/-/theme-common-3.3.2.tgz" - integrity sha512-kXqSaL/sQqo4uAMQ4fHnvRZrH45Xz2OdJ3ABXDS7YVGPSDTBC8cLebFrRR4YF9EowUHto1UC/EIklJZQMG/usA== - dependencies: - "@docusaurus/mdx-loader" "3.3.2" - "@docusaurus/module-type-aliases" "3.3.2" - "@docusaurus/plugin-content-blog" "3.3.2" - "@docusaurus/plugin-content-docs" "3.3.2" - "@docusaurus/plugin-content-pages" "3.3.2" - "@docusaurus/utils" "3.3.2" - "@docusaurus/utils-common" "3.3.2" +"@docusaurus/theme-common@3.4.0", "@docusaurus/theme-common@^3.0.1": + version "3.4.0" + resolved "https://registry.yarnpkg.com/@docusaurus/theme-common/-/theme-common-3.4.0.tgz#01f2b728de6cb57f6443f52fc30675cf12a5d49f" + integrity sha512-0A27alXuv7ZdCg28oPE8nH/Iz73/IUejVaCazqu9elS4ypjiLhK3KfzdSQBnL/g7YfHSlymZKdiOHEo8fJ0qMA== + dependencies: + "@docusaurus/mdx-loader" "3.4.0" + "@docusaurus/module-type-aliases" "3.4.0" + "@docusaurus/plugin-content-blog" "3.4.0" + "@docusaurus/plugin-content-docs" "3.4.0" + "@docusaurus/plugin-content-pages" "3.4.0" + "@docusaurus/utils" "3.4.0" + "@docusaurus/utils-common" "3.4.0" "@types/history" "^4.7.11" "@types/react" "*" "@types/react-router-config" "*" @@ -1604,34 +1620,34 @@ tslib "^2.6.0" utility-types "^3.10.0" -"@docusaurus/theme-live-codeblock@^3.3.2": - version "3.3.2" - resolved "https://registry.npmjs.org/@docusaurus/theme-live-codeblock/-/theme-live-codeblock-3.3.2.tgz" - integrity sha512-04ZyMVKOuWFwvmkx+pR4vq9IiaKf753pfxFWLp5FCGuPS9YWzkxg8ZifhobftAY+3uey6BcwfS84ewNvbOwoQA== +"@docusaurus/theme-live-codeblock@^3.4.0": + version "3.4.0" + resolved "https://registry.yarnpkg.com/@docusaurus/theme-live-codeblock/-/theme-live-codeblock-3.4.0.tgz#1de96234eea796a031f9455169e7f75151c3d9e4" + integrity sha512-UvsYhN6aTQiQlhY6cd0I4ckNbyZ/pQVKtKNRw3ojr+SPXYqSyXTpFzcuTUYcglKFVz1IK7LeeFymGFnsfkCWmw== dependencies: - "@docusaurus/core" "3.3.2" - "@docusaurus/theme-common" "3.3.2" - "@docusaurus/theme-translations" "3.3.2" - "@docusaurus/utils-validation" "3.3.2" + "@docusaurus/core" "3.4.0" + "@docusaurus/theme-common" "3.4.0" + "@docusaurus/theme-translations" "3.4.0" + "@docusaurus/utils-validation" "3.4.0" "@philpl/buble" "^0.19.7" clsx "^2.0.0" fs-extra "^11.1.1" react-live "^4.1.6" tslib "^2.6.0" -"@docusaurus/theme-search-algolia@3.3.2": - version "3.3.2" - resolved "https://registry.npmjs.org/@docusaurus/theme-search-algolia/-/theme-search-algolia-3.3.2.tgz" - integrity sha512-qLkfCl29VNBnF1MWiL9IyOQaHxUvicZp69hISyq/xMsNvFKHFOaOfk9xezYod2Q9xx3xxUh9t/QPigIei2tX4w== +"@docusaurus/theme-search-algolia@3.4.0": + version "3.4.0" + resolved "https://registry.yarnpkg.com/@docusaurus/theme-search-algolia/-/theme-search-algolia-3.4.0.tgz#c499bad71d668df0d0f15b0e5e33e2fc4e330fcc" + integrity sha512-aiHFx7OCw4Wck1z6IoShVdUWIjntC8FHCw9c5dR8r3q4Ynh+zkS8y2eFFunN/DL6RXPzpnvKCg3vhLQYJDmT9Q== dependencies: "@docsearch/react" "^3.5.2" - "@docusaurus/core" "3.3.2" - "@docusaurus/logger" "3.3.2" - "@docusaurus/plugin-content-docs" "3.3.2" - "@docusaurus/theme-common" "3.3.2" - "@docusaurus/theme-translations" "3.3.2" - "@docusaurus/utils" "3.3.2" - "@docusaurus/utils-validation" "3.3.2" + "@docusaurus/core" "3.4.0" + "@docusaurus/logger" "3.4.0" + "@docusaurus/plugin-content-docs" "3.4.0" + "@docusaurus/theme-common" "3.4.0" + "@docusaurus/theme-translations" "3.4.0" + "@docusaurus/utils" "3.4.0" + "@docusaurus/utils-validation" "3.4.0" algoliasearch "^4.18.0" algoliasearch-helper "^3.13.3" clsx "^2.0.0" @@ -1641,23 +1657,23 @@ tslib "^2.6.0" utility-types "^3.10.0" -"@docusaurus/theme-translations@3.3.2", "@docusaurus/theme-translations@^2 || ^3": - version "3.3.2" - resolved "https://registry.npmjs.org/@docusaurus/theme-translations/-/theme-translations-3.3.2.tgz" - integrity sha512-bPuiUG7Z8sNpGuTdGnmKl/oIPeTwKr0AXLGu9KaP6+UFfRZiyWbWE87ti97RrevB2ffojEdvchNujparR3jEZQ== +"@docusaurus/theme-translations@3.4.0", "@docusaurus/theme-translations@^2 || ^3": + version "3.4.0" + resolved "https://registry.yarnpkg.com/@docusaurus/theme-translations/-/theme-translations-3.4.0.tgz#e6355d01352886c67e38e848b2542582ea3070af" + integrity sha512-zSxCSpmQCCdQU5Q4CnX/ID8CSUUI3fvmq4hU/GNP/XoAWtXo9SAVnM3TzpU8Gb//H3WCsT8mJcTfyOk3d9ftNg== dependencies: fs-extra "^11.1.1" tslib "^2.6.0" -"@docusaurus/tsconfig@^3.3.2": - version "3.3.2" - resolved "https://registry.npmjs.org/@docusaurus/tsconfig/-/tsconfig-3.3.2.tgz" - integrity sha512-2MQXkLoWqgOSiqFojNEq8iPtFBHGQqd1b/SQMoe+v3GgHmk/L6YTTO/hMcHhWb1hTFmbkei++IajSfD3RlZKvw== +"@docusaurus/tsconfig@^3.4.0": + version "3.4.0" + resolved "https://registry.yarnpkg.com/@docusaurus/tsconfig/-/tsconfig-3.4.0.tgz#2b6ea208e580facc6e3330433e9b4321ef0eb3f5" + integrity sha512-0qENiJ+TRaeTzcg4olrnh0BQ7eCxTgbYWBnWUeQDc84UYkt/T3pDNnm3SiQkqPb+YQ1qtYFlC0RriAElclo8Dg== -"@docusaurus/types@3.3.2", "@docusaurus/types@^3.3.2": - version "3.3.2" - resolved "https://registry.npmjs.org/@docusaurus/types/-/types-3.3.2.tgz" - integrity sha512-5p201S7AZhliRxTU7uMKtSsoC8mgPA9bs9b5NQg1IRdRxJfflursXNVsgc3PcMqiUTul/v1s3k3rXXFlRE890w== +"@docusaurus/types@3.4.0", "@docusaurus/types@^3.4.0": + version "3.4.0" + resolved "https://registry.yarnpkg.com/@docusaurus/types/-/types-3.4.0.tgz#237c3f737e9db3f7c1a5935a3ef48d6eadde8292" + integrity sha512-4jcDO8kXi5Cf9TcyikB/yKmz14f2RZ2qTRerbHAsS+5InE9ZgSLBNLsewtFTcTOXSVcbU3FoGOzcNWAmU1TR0A== dependencies: "@mdx-js/mdx" "^3.0.0" "@types/history" "^4.7.11" @@ -1669,32 +1685,34 @@ webpack "^5.88.1" webpack-merge "^5.9.0" -"@docusaurus/utils-common@3.3.2", "@docusaurus/utils-common@^2 || ^3": - version "3.3.2" - resolved "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-3.3.2.tgz" - integrity sha512-QWFTLEkPYsejJsLStgtmetMFIA3pM8EPexcZ4WZ7b++gO5jGVH7zsipREnCHzk6+eDgeaXfkR6UPaTt86bp8Og== +"@docusaurus/utils-common@3.4.0", "@docusaurus/utils-common@^2 || ^3": + version "3.4.0" + resolved "https://registry.yarnpkg.com/@docusaurus/utils-common/-/utils-common-3.4.0.tgz#2a43fefd35b85ab9fcc6833187e66c15f8bfbbc6" + integrity sha512-NVx54Wr4rCEKsjOH5QEVvxIqVvm+9kh7q8aYTU5WzUU9/Hctd6aTrcZ3G0Id4zYJ+AeaG5K5qHA4CY5Kcm2iyQ== dependencies: tslib "^2.6.0" -"@docusaurus/utils-validation@3.3.2", "@docusaurus/utils-validation@^2 || ^3": - version "3.3.2" - resolved "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-3.3.2.tgz" - integrity sha512-itDgFs5+cbW9REuC7NdXals4V6++KifgVMzoGOOOSIifBQw+8ULhy86u5e1lnptVL0sv8oAjq2alO7I40GR7pA== +"@docusaurus/utils-validation@3.4.0", "@docusaurus/utils-validation@^2 || ^3", "@docusaurus/utils-validation@^3.0.1": + version "3.4.0" + resolved "https://registry.yarnpkg.com/@docusaurus/utils-validation/-/utils-validation-3.4.0.tgz#0176f6e503ff45f4390ec2ecb69550f55e0b5eb7" + integrity sha512-hYQ9fM+AXYVTWxJOT1EuNaRnrR2WGpRdLDQG07O8UOpsvCPWUVOeo26Rbm0JWY2sGLfzAb+tvJ62yF+8F+TV0g== dependencies: - "@docusaurus/logger" "3.3.2" - "@docusaurus/utils" "3.3.2" - "@docusaurus/utils-common" "3.3.2" + "@docusaurus/logger" "3.4.0" + "@docusaurus/utils" "3.4.0" + "@docusaurus/utils-common" "3.4.0" + fs-extra "^11.2.0" joi "^17.9.2" js-yaml "^4.1.0" + lodash "^4.17.21" tslib "^2.6.0" -"@docusaurus/utils@3.3.2", "@docusaurus/utils@^2 || ^3": - version "3.3.2" - resolved "https://registry.npmjs.org/@docusaurus/utils/-/utils-3.3.2.tgz" - integrity sha512-f4YMnBVymtkSxONv4Y8js3Gez9IgHX+Lcg6YRMOjVbq8sgCcdYK1lf6SObAuz5qB/mxiSK7tW0M9aaiIaUSUJg== +"@docusaurus/utils@3.4.0", "@docusaurus/utils@^2 || ^3", "@docusaurus/utils@^3.0.1": + version "3.4.0" + resolved "https://registry.yarnpkg.com/@docusaurus/utils/-/utils-3.4.0.tgz#c508e20627b7a55e2b541e4a28c95e0637d6a204" + integrity sha512-fRwnu3L3nnWaXOgs88BVBmG1yGjcQqZNHG+vInhEa2Sz2oQB+ZjbEMO5Rh9ePFpZ0YDiDUhpaVjwmS+AU2F14g== dependencies: - "@docusaurus/logger" "3.3.2" - "@docusaurus/utils-common" "3.3.2" + "@docusaurus/logger" "3.4.0" + "@docusaurus/utils-common" "3.4.0" "@svgr/webpack" "^8.1.0" escape-string-regexp "^4.0.0" file-loader "^6.2.0" @@ -1711,6 +1729,7 @@ shelljs "^0.8.5" tslib "^2.6.0" url-loader "^4.1.1" + utility-types "^3.10.0" webpack "^5.88.1" "@easyops-cn/autocomplete.js@^0.38.1": @@ -1721,10 +1740,10 @@ cssesc "^3.0.0" immediate "^3.2.3" -"@easyops-cn/docusaurus-search-local@^0.42.0": - version "0.42.0" - resolved "https://registry.yarnpkg.com/@easyops-cn/docusaurus-search-local/-/docusaurus-search-local-0.42.0.tgz#2e79d60cbe96c00eed3a47dae54443394d0ebbee" - integrity sha512-05G151YgZrNmV3GkO6/B+nYb8fwdyBMhJTSzZViifTJQ1b0IgCmugUval4udkBlGeUL8LN/otORiMhwUMSos5A== +"@easyops-cn/docusaurus-search-local@^0.44.0": + version "0.44.0" + resolved "https://registry.yarnpkg.com/@easyops-cn/docusaurus-search-local/-/docusaurus-search-local-0.44.0.tgz#8f5ef8e68971223a69ecfd4956bf834319ccdeba" + integrity sha512-sgLpvkRtYuEGvd4peYQW2oInI4JkcQfxo7HgEnkhcxn9kxDY5laA8DiCx9qMKAkM9cMed9e8IsLk5gBeDh8Rqw== dependencies: "@docusaurus/plugin-content-docs" "^2 || ^3" "@docusaurus/theme-translations" "^2 || ^3" @@ -1743,6 +1762,11 @@ mark.js "^8.11.1" tslib "^2.4.0" +"@exodus/schemasafe@^1.0.0-rc.2": + version "1.3.0" + resolved "https://registry.yarnpkg.com/@exodus/schemasafe/-/schemasafe-1.3.0.tgz#731656abe21e8e769a7f70a4d833e6312fe59b7f" + integrity sha512-5Aap/GaRupgNx/feGBwLLTVv8OQFfv3pq2lPRzPg9R+IOBnDgghTGW7l7EuVXOvg5cc/xSAlRW8rBrjIC3Nvqw== + "@floating-ui/core@^1.0.0": version "1.6.1" resolved "https://registry.npmjs.org/@floating-ui/core/-/core-1.6.1.tgz" @@ -1780,6 +1804,11 @@ resolved "https://registry.npmjs.org/@heroicons/react/-/react-2.0.18.tgz" integrity sha512-7TyMjRrZZMBPa+/5Y8lN0iyvUU/01PeMGX2+RE7cQWpEUIcb4QotzUObFkJDejj/HUH4qjP/eQ0gzzKs2f+6Yw== +"@hookform/error-message@^2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@hookform/error-message/-/error-message-2.0.1.tgz#6a37419106e13664ad6a29c9dae699ae6cd276b8" + integrity sha512-U410sAr92xgxT1idlu9WWOVjndxLdgPUHEB8Schr27C9eh7/xUnITWpCMF93s+lGiG++D4JnbSnrb5A21AdSNg== + "@isaacs/cliui@^8.0.2": version "8.0.2" resolved "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz" @@ -1851,6 +1880,19 @@ "@jridgewell/resolve-uri" "^3.1.0" "@jridgewell/sourcemap-codec" "^1.4.14" +"@jridgewell/trace-mapping@^0.3.20": + version "0.3.25" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz#15f190e98895f3fc23276ee14bc76b675c2e50f0" + integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ== + dependencies: + "@jridgewell/resolve-uri" "^3.1.0" + "@jridgewell/sourcemap-codec" "^1.4.14" + +"@jsdevtools/ono@^7.1.3": + version "7.1.3" + resolved "https://registry.yarnpkg.com/@jsdevtools/ono/-/ono-7.1.3.tgz#9df03bbd7c696a5c58885c34aa06da41c8543796" + integrity sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg== + "@leichtgewicht/ip-codec@^2.0.1": version "2.0.4" resolved "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz" @@ -1997,6 +2039,49 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" +"@paloaltonetworks/openapi-to-postmanv2@3.1.0-hotfix.1": + version "3.1.0-hotfix.1" + resolved "https://registry.yarnpkg.com/@paloaltonetworks/openapi-to-postmanv2/-/openapi-to-postmanv2-3.1.0-hotfix.1.tgz#4baf401d2e94ba86d888e6011a4c45d824e88114" + integrity sha512-0bdaPCEyQbnUo4xpOu7EzxXXkDx4BAXqc8QSbVBlzlVB5KoTLJiKKB4c3fa4BXbK+3u/OqfLbeNCebc2EC8ngA== + dependencies: + "@paloaltonetworks/postman-collection" "^4.1.0" + ajv "8.1.0" + ajv-formats "2.1.1" + async "3.2.1" + commander "2.20.3" + js-yaml "3.14.1" + json-schema-merge-allof "0.8.1" + lodash "4.17.21" + oas-resolver-browser "2.5.2" + path-browserify "1.0.1" + yaml "1.10.2" + +"@paloaltonetworks/postman-code-generators@1.1.15-patch.2": + version "1.1.15-patch.2" + resolved "https://registry.yarnpkg.com/@paloaltonetworks/postman-code-generators/-/postman-code-generators-1.1.15-patch.2.tgz#012051485269a2da6bd9a6b60031ddbc53e5e363" + integrity sha512-tRnAKtV4M8wLxcVnAx6ZCjCqbrR1xiqJNQkf1A71K8UxEP3N/+EspT82N5c0555w02oYFk21ViHuzuhm4gaGLw== + dependencies: + "@paloaltonetworks/postman-collection" "^4.1.0" + async "^3.2.4" + path "^0.12.7" + shelljs "^0.8.5" + +"@paloaltonetworks/postman-collection@^4.1.0": + version "4.1.1" + resolved "https://registry.yarnpkg.com/@paloaltonetworks/postman-collection/-/postman-collection-4.1.1.tgz#b2130bc8d7396ea8e6a6b2e4642a6b224b41e1e1" + integrity sha512-9JHHkkD8Xb4rvdKob7TDPRfqfmdG3KU0aO5gJyyjvMFbOVysam5I0d8/9HPOuJXWkUHGo3Sn+ov2Fcm2bnJ52Q== + dependencies: + file-type "3.9.0" + http-reasons "0.1.0" + iconv-lite "0.6.3" + liquid-json "0.3.1" + lodash "4.17.21" + mime-format "2.0.1" + mime-types "2.1.34" + postman-url-encoder "3.0.5" + semver "7.3.5" + uuid "8.3.2" + "@philpl/buble@^0.19.7": version "0.19.7" resolved "https://registry.npmjs.org/@philpl/buble/-/buble-0.19.7.tgz" @@ -2043,6 +2128,102 @@ resolved "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.23.tgz" integrity sha512-C16M+IYz0rgRhWZdCmK+h58JMv8vijAA61gmz2rspCSwKwzBebpdcsiUmwrtJRdphuY30i6BSLEOP8ppbNLyLg== +"@port-labs/docusaurus-plugin-openapi-docs@^0.0.5": + version "0.0.5" + resolved "https://registry.yarnpkg.com/@port-labs/docusaurus-plugin-openapi-docs/-/docusaurus-plugin-openapi-docs-0.0.5.tgz#964bba817e248e1023da8cb3e773d1e402d7bf09" + integrity sha512-RE598oV0IBeiA8vNpkOOklTiBbj4hlq+tXbBHNWBPDO99vnLmpa/91CeBq0MS1mYf4AEgQaHvJJGGXs3wPn/eQ== + dependencies: + "@apidevtools/json-schema-ref-parser" "^11.5.4" + "@docusaurus/plugin-content-docs" "^3.0.1" + "@docusaurus/utils" "^3.0.1" + "@docusaurus/utils-validation" "^3.0.1" + "@paloaltonetworks/openapi-to-postmanv2" "3.1.0-hotfix.1" + "@paloaltonetworks/postman-collection" "^4.1.0" + "@redocly/openapi-core" "^1.10.5" + chalk "^4.1.2" + clsx "^1.1.1" + fs-extra "^9.0.1" + json-pointer "^0.6.2" + json-schema-merge-allof "^0.8.1" + json5 "^2.2.3" + lodash "^4.17.20" + mustache "^4.2.0" + slugify "^1.6.5" + swagger2openapi "^7.0.8" + xml-formatter "^2.6.1" + +"@port-labs/docusaurus-theme-openapi-docs@^0.0.5": + version "0.0.5" + resolved "https://registry.yarnpkg.com/@port-labs/docusaurus-theme-openapi-docs/-/docusaurus-theme-openapi-docs-0.0.5.tgz#bbb6ff626cb77ff9111b705454f5830531234088" + integrity sha512-rFkxyyzV5jpcMhuEWJb6IJKHgi62pnwkG87rF+IDu7r/p1Gsj69E32A87qs66EYLEZQq9lFMXf23knTtNn9Q3g== + dependencies: + "@docusaurus/theme-common" "^3.0.1" + "@hookform/error-message" "^2.0.1" + "@paloaltonetworks/postman-code-generators" "1.1.15-patch.2" + "@paloaltonetworks/postman-collection" "^4.1.0" + "@port-labs/docusaurus-plugin-openapi-docs" "^0.0.5" + "@reduxjs/toolkit" "^1.7.1" + clsx "^1.1.1" + copy-text-to-clipboard "^3.1.0" + crypto-js "^4.1.1" + docusaurus-plugin-sass "^0.2.3" + file-saver "^2.0.5" + lodash "^4.17.20" + node-polyfill-webpack-plugin "^2.0.1" + prism-react-renderer "^2.3.0" + react-hook-form "^7.43.8" + react-live "^4.0.0" + react-magic-dropzone "^1.0.1" + react-markdown "^8.0.1" + react-modal "^3.15.1" + react-redux "^7.2.0" + rehype-raw "^6.1.1" + sass "^1.58.1" + sass-loader "^13.3.2" + webpack "^5.61.0" + xml-formatter "^2.6.1" + +"@redocly/ajv@^8.11.0": + version "8.11.0" + resolved "https://registry.yarnpkg.com/@redocly/ajv/-/ajv-8.11.0.tgz#2fad322888dc0113af026e08fceb3e71aae495ae" + integrity sha512-9GWx27t7xWhDIR02PA18nzBdLcKQRgc46xNQvjFkrYk4UOmvKhJ/dawwiX0cCOeetN5LcaaiqQbVOWYK62SGHw== + dependencies: + fast-deep-equal "^3.1.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + uri-js "^4.2.2" + +"@redocly/config@^0.5.0": + version "0.5.0" + resolved "https://registry.yarnpkg.com/@redocly/config/-/config-0.5.0.tgz#3ba2585f10d7039b85d7604d0e17f4d091d424c2" + integrity sha512-oA1ezWPT2tSV9CLk0FtZlViaFKtp+id3iAVeKBme1DdP4xUCdxEdP8umB21iLKdc6leRd5uGa+T5Ox4nHBAXWg== + +"@redocly/openapi-core@^1.10.5": + version "1.14.0" + resolved "https://registry.yarnpkg.com/@redocly/openapi-core/-/openapi-core-1.14.0.tgz#74f9daf95f835563d458ce02644f0ad0cd519211" + integrity sha512-sraF4PGVcc6t6CaYw5raO/GWeOaa6UjcEvH/+Qm7zp+q/fbWAMwbj+1QzaNvpMspCwF+xW6TddDcnXrCDmqYVA== + dependencies: + "@redocly/ajv" "^8.11.0" + "@redocly/config" "^0.5.0" + colorette "^1.2.0" + js-levenshtein "^1.1.6" + js-yaml "^4.1.0" + lodash.isequal "^4.5.0" + minimatch "^5.0.1" + node-fetch "^2.6.1" + pluralize "^8.0.0" + yaml-ast-parser "0.0.43" + +"@reduxjs/toolkit@^1.7.1": + version "1.9.7" + resolved "https://registry.yarnpkg.com/@reduxjs/toolkit/-/toolkit-1.9.7.tgz#7fc07c0b0ebec52043f8cb43510cf346405f78a6" + integrity sha512-t7v8ZPxhhKgOKtU+uyJT13lu4vL7az5aFi4IdoDs/eS548edn2M8Ik9h8fxgvMjGoAUVFSt6ZC1P5cWmQ014QQ== + dependencies: + immer "^9.0.21" + redux "^4.2.1" + redux-thunk "^2.4.2" + reselect "^4.1.8" + "@sideway/address@^4.1.3": version "4.1.4" resolved "https://registry.npmjs.org/@sideway/address/-/address-4.1.4.tgz" @@ -2284,6 +2465,11 @@ resolved "https://registry.npmjs.org/@types/estree/-/estree-1.0.4.tgz" integrity sha512-2JwWnHK9H+wUZNorf2Zr6ves96WHoWDJIftkcxPKsS7Djta6Zu519LarhRNljPXkpsZR2ZMwNCPeW7omW07BJw== +"@types/estree@^1.0.5": + version "1.0.5" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.5.tgz#a6ce3e556e00fd9895dd872dd172ad0d4bd687f4" + integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw== + "@types/express-serve-static-core@*", "@types/express-serve-static-core@^4.17.33": version "4.17.39" resolved "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.39.tgz" @@ -2309,6 +2495,13 @@ resolved "https://registry.npmjs.org/@types/gtag.js/-/gtag.js-0.0.12.tgz" integrity sha512-YQV9bUsemkzG81Ea295/nF/5GijnD2Af7QhEofh7xu+kvCN6RdodgNwwGWXB5GMI3NoyvQo0odNctoH/qLMIpg== +"@types/hast@^2.0.0": + version "2.3.10" + resolved "https://registry.yarnpkg.com/@types/hast/-/hast-2.3.10.tgz#5c9d9e0b304bbb8879b857225c5ebab2d81d7643" + integrity sha512-McWspRw8xx8J9HurkVBfYj0xKoE25tOFlHGdx4MJ5xORQrMGZNqJhVQWaIbm6Oyla5kYOXtDiopzKRJzEOkwJw== + dependencies: + "@types/unist" "^2" + "@types/hast@^3.0.0": version "3.0.2" resolved "https://registry.npmjs.org/@types/hast/-/hast-3.0.2.tgz" @@ -2321,6 +2514,14 @@ resolved "https://registry.npmjs.org/@types/history/-/history-4.7.11.tgz" integrity sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA== +"@types/hoist-non-react-statics@^3.3.0": + version "3.3.5" + resolved "https://registry.yarnpkg.com/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.5.tgz#dab7867ef789d87e2b4b0003c9d65c49cc44a494" + integrity sha512-SbcrWzkKBw2cdwRTwQAswfpB9g9LJWfjtUeW/jvNwbhC8cpmmNYVePa+ncbUe0rGTQ7G3Ff6mYUN2VMfLVr+Sg== + dependencies: + "@types/react" "*" + hoist-non-react-statics "^3.3.0" + "@types/html-minifier-terser@^6.0.0": version "6.1.0" resolved "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz" @@ -2367,6 +2568,18 @@ resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.14.tgz" integrity sha512-U3PUjAudAdJBeC2pgN8uTIKgxrb4nlDF3SF0++EldXQvQBGkpFZMSnwQiIoDU77tv45VgNkl/L4ouD+rEomujw== +"@types/json-schema@^7.0.15": + version "7.0.15" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841" + integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== + +"@types/mdast@^3.0.0": + version "3.0.15" + resolved "https://registry.yarnpkg.com/@types/mdast/-/mdast-3.0.15.tgz#49c524a263f30ffa28b71ae282f813ed000ab9f5" + integrity sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ== + dependencies: + "@types/unist" "^2" + "@types/mdast@^4.0.0", "@types/mdast@^4.0.2": version "4.0.2" resolved "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.2.tgz" @@ -2413,6 +2626,11 @@ resolved "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.1.tgz" integrity sha512-3YmXzzPAdOTVljVMkTMBdBEvlOLg2cDQaDhnnhT3nT9uDbnJzjWhKlzb+desT12Y7tGqaN6d+AbozcKzyL36Ng== +"@types/parse5@^6.0.0": + version "6.0.3" + resolved "https://registry.yarnpkg.com/@types/parse5/-/parse5-6.0.3.tgz#705bb349e789efa06f43f128cef51240753424cb" + integrity sha512-SuT16Q1K51EAVPz1K29DJ/sXjhSQ0zjvsypYJ6tlwVsRV9jwW5Adq2ch8Dq8kDBCkYnELS7N7VNCSB5nC56t/g== + "@types/prismjs@^1.26.0": version "1.26.2" resolved "https://registry.npmjs.org/@types/prismjs/-/prismjs-1.26.2.tgz" @@ -2423,6 +2641,11 @@ resolved "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.9.tgz" integrity sha512-n1yyPsugYNSmHgxDFjicaI2+gCNjsBck8UX9kuofAKlc0h1bL+20oSF72KeNaW2DUlesbEVCFgyV2dPGTiY42g== +"@types/prop-types@^15.0.0": + version "15.7.12" + resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.12.tgz#12bb1e2be27293c1406acb6af1c3f3a1481d98c6" + integrity sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q== + "@types/qs@*": version "6.9.9" resolved "https://registry.npmjs.org/@types/qs/-/qs-6.9.9.tgz" @@ -2433,6 +2656,16 @@ resolved "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.6.tgz" integrity sha512-+0autS93xyXizIYiyL02FCY8N+KkKPhILhcUSA276HxzreZ16kl+cmwvV2qAM/PuCCwPXzOXOWhiPcw20uSFcA== +"@types/react-redux@^7.1.20": + version "7.1.33" + resolved "https://registry.yarnpkg.com/@types/react-redux/-/react-redux-7.1.33.tgz#53c5564f03f1ded90904e3c90f77e4bd4dc20b15" + integrity sha512-NF8m5AjWCkert+fosDsN3hAlHzpjSiXlVy9EgQEmLoBhaNXbmyeGs/aj5dQzKuF+/q+S7JQagorGDW8pJ28Hmg== + dependencies: + "@types/hoist-non-react-statics" "^3.3.0" + "@types/react" "*" + hoist-non-react-statics "^3.3.0" + redux "^4.0.0" + "@types/react-router-config@*", "@types/react-router-config@^5.0.7": version "5.0.9" resolved "https://registry.npmjs.org/@types/react-router-config/-/react-router-config-5.0.9.tgz" @@ -2521,6 +2754,11 @@ resolved "https://registry.npmjs.org/@types/unist/-/unist-3.0.1.tgz" integrity sha512-ue/hDUpPjC85m+PM9OQDMZr3LywT+CT6mPsQq8OJtCLiERkGRcQUFvu9XASF5XWqyZFXbf15lvb3JFJ4dRLWPg== +"@types/unist@^2": + version "2.0.10" + resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.10.tgz#04ffa7f406ab628f7f7e97ca23e290cd8ab15efc" + integrity sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA== + "@types/unist@^2.0.0": version "2.0.9" resolved "https://registry.npmjs.org/@types/unist/-/unist-2.0.9.tgz" @@ -2558,6 +2796,14 @@ "@webassemblyjs/helper-numbers" "1.11.6" "@webassemblyjs/helper-wasm-bytecode" "1.11.6" +"@webassemblyjs/ast@1.12.1", "@webassemblyjs/ast@^1.12.1": + version "1.12.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.12.1.tgz#bb16a0e8b1914f979f45864c23819cc3e3f0d4bb" + integrity sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg== + dependencies: + "@webassemblyjs/helper-numbers" "1.11.6" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + "@webassemblyjs/floating-point-hex-parser@1.11.6": version "1.11.6" resolved "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz" @@ -2573,6 +2819,11 @@ resolved "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz" integrity sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA== +"@webassemblyjs/helper-buffer@1.12.1": + version "1.12.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz#6df20d272ea5439bf20ab3492b7fb70e9bfcb3f6" + integrity sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw== + "@webassemblyjs/helper-numbers@1.11.6": version "1.11.6" resolved "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz" @@ -2597,6 +2848,16 @@ "@webassemblyjs/helper-wasm-bytecode" "1.11.6" "@webassemblyjs/wasm-gen" "1.11.6" +"@webassemblyjs/helper-wasm-section@1.12.1": + version "1.12.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz#3da623233ae1a60409b509a52ade9bc22a37f7bf" + integrity sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g== + dependencies: + "@webassemblyjs/ast" "1.12.1" + "@webassemblyjs/helper-buffer" "1.12.1" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + "@webassemblyjs/wasm-gen" "1.12.1" + "@webassemblyjs/ieee754@1.11.6": version "1.11.6" resolved "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz" @@ -2630,6 +2891,20 @@ "@webassemblyjs/wasm-parser" "1.11.6" "@webassemblyjs/wast-printer" "1.11.6" +"@webassemblyjs/wasm-edit@^1.12.1": + version "1.12.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz#9f9f3ff52a14c980939be0ef9d5df9ebc678ae3b" + integrity sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g== + dependencies: + "@webassemblyjs/ast" "1.12.1" + "@webassemblyjs/helper-buffer" "1.12.1" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + "@webassemblyjs/helper-wasm-section" "1.12.1" + "@webassemblyjs/wasm-gen" "1.12.1" + "@webassemblyjs/wasm-opt" "1.12.1" + "@webassemblyjs/wasm-parser" "1.12.1" + "@webassemblyjs/wast-printer" "1.12.1" + "@webassemblyjs/wasm-gen@1.11.6": version "1.11.6" resolved "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz" @@ -2641,6 +2916,17 @@ "@webassemblyjs/leb128" "1.11.6" "@webassemblyjs/utf8" "1.11.6" +"@webassemblyjs/wasm-gen@1.12.1": + version "1.12.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz#a6520601da1b5700448273666a71ad0a45d78547" + integrity sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w== + dependencies: + "@webassemblyjs/ast" "1.12.1" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + "@webassemblyjs/ieee754" "1.11.6" + "@webassemblyjs/leb128" "1.11.6" + "@webassemblyjs/utf8" "1.11.6" + "@webassemblyjs/wasm-opt@1.11.6": version "1.11.6" resolved "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz" @@ -2651,6 +2937,16 @@ "@webassemblyjs/wasm-gen" "1.11.6" "@webassemblyjs/wasm-parser" "1.11.6" +"@webassemblyjs/wasm-opt@1.12.1": + version "1.12.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz#9e6e81475dfcfb62dab574ac2dda38226c232bc5" + integrity sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg== + dependencies: + "@webassemblyjs/ast" "1.12.1" + "@webassemblyjs/helper-buffer" "1.12.1" + "@webassemblyjs/wasm-gen" "1.12.1" + "@webassemblyjs/wasm-parser" "1.12.1" + "@webassemblyjs/wasm-parser@1.11.6", "@webassemblyjs/wasm-parser@^1.11.5": version "1.11.6" resolved "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz" @@ -2663,6 +2959,18 @@ "@webassemblyjs/leb128" "1.11.6" "@webassemblyjs/utf8" "1.11.6" +"@webassemblyjs/wasm-parser@1.12.1", "@webassemblyjs/wasm-parser@^1.12.1": + version "1.12.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz#c47acb90e6f083391e3fa61d113650eea1e95937" + integrity sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ== + dependencies: + "@webassemblyjs/ast" "1.12.1" + "@webassemblyjs/helper-api-error" "1.11.6" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + "@webassemblyjs/ieee754" "1.11.6" + "@webassemblyjs/leb128" "1.11.6" + "@webassemblyjs/utf8" "1.11.6" + "@webassemblyjs/wast-printer@1.11.6": version "1.11.6" resolved "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz" @@ -2671,6 +2979,14 @@ "@webassemblyjs/ast" "1.11.6" "@xtuc/long" "4.2.2" +"@webassemblyjs/wast-printer@1.12.1": + version "1.12.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz#bcecf661d7d1abdaf989d8341a4833e33e2b31ac" + integrity sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA== + dependencies: + "@webassemblyjs/ast" "1.12.1" + "@xtuc/long" "4.2.2" + "@xtuc/ieee754@^1.2.0": version "1.2.0" resolved "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz" @@ -2681,6 +2997,13 @@ resolved "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz" integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== +abort-controller@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/abort-controller/-/abort-controller-3.0.0.tgz#eaf54d53b62bae4138e809ca225c8439a6efb392" + integrity sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg== + dependencies: + event-target-shim "^5.0.0" + accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.8: version "1.3.8" resolved "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz" @@ -2737,7 +3060,7 @@ aggregate-error@^3.0.0: clean-stack "^2.0.0" indent-string "^4.0.0" -ajv-formats@^2.1.1: +ajv-formats@2.1.1, ajv-formats@^2.1.1: version "2.1.1" resolved "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz" integrity sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA== @@ -2756,6 +3079,16 @@ ajv-keywords@^5.1.0: dependencies: fast-deep-equal "^3.1.3" +ajv@8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.1.0.tgz#45d5d3d36c7cdd808930cc3e603cf6200dbeb736" + integrity sha512-B/Sk2Ix7A36fs/ZkuGLIR86EdjbgR6fsAcbx9lOP/QBSXujDNbVmIS/U4Itz5k8fPFDeVZl/zQ/gJW4Jrq6XjQ== + dependencies: + fast-deep-equal "^3.1.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + uri-js "^4.2.2" + ajv@^6.12.2, ajv@^6.12.5: version "6.12.6" resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" @@ -2890,11 +3223,41 @@ array-union@^2.1.0: resolved "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz" integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== +asn1.js@^4.10.1: + version "4.10.1" + resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.10.1.tgz#b9c2bf5805f1e64aadeed6df3a2bfafb5a73f5a0" + integrity sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw== + dependencies: + bn.js "^4.0.0" + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + +assert@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/assert/-/assert-2.1.0.tgz#6d92a238d05dc02e7427c881fb8be81c8448b2dd" + integrity sha512-eLHpSK/Y4nhMJ07gDaAzoX/XAKS8PSaojml3M0DM4JpV1LAi5JOJ/p6H/XWrl8L+DzVEvVCW1z3vWAaB9oTsQw== + dependencies: + call-bind "^1.0.2" + is-nan "^1.3.2" + object-is "^1.1.5" + object.assign "^4.1.4" + util "^0.12.5" + astring@^1.8.0: version "1.8.6" resolved "https://registry.npmjs.org/astring/-/astring-1.8.6.tgz" integrity sha512-ISvCdHdlTDlH5IpxQJIex7BWBywFWgjJSVdwst+/iQCoEYnyOaQ95+X1JGshuBjGp6nxKUy1jMgE3zPqN7fQdg== +async@3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/async/-/async-3.2.1.tgz#d3274ec66d107a47476a4c49136aacdb00665fc8" + integrity sha512-XdD5lRO/87udXCMC9meWdYiR+Nq6ZjUfXidViUZGu2F1MO4T3XwZ1et0hb2++BgLfhyJwy44BGB/yx80ABx8hg== + +async@^3.2.4: + version "3.2.5" + resolved "https://registry.yarnpkg.com/async/-/async-3.2.5.tgz#ebd52a8fdaf7a2289a24df399f8d8485c8a46b66" + integrity sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg== + at-least-node@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz" @@ -2912,6 +3275,13 @@ autoprefixer@^10.4.14, autoprefixer@^10.4.19: picocolors "^1.0.0" postcss-value-parser "^4.2.0" +available-typed-arrays@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz#a5cc375d6a03c2efc87a553f3e0b1522def14846" + integrity sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ== + dependencies: + possible-typed-array-names "^1.0.0" + b4a@^1.6.4: version "1.6.4" resolved "https://registry.npmjs.org/b4a/-/b4a-1.6.4.tgz" @@ -2995,6 +3365,16 @@ bl@^4.0.3: inherits "^2.0.4" readable-stream "^3.4.0" +bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.11.9: + version "4.12.0" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" + integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== + +bn.js@^5.0.0, bn.js@^5.2.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.1.tgz#0bc527a6a0d18d0aa8d5b0538ce4a77dccfa7b70" + integrity sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ== + body-parser@1.20.2: version "1.20.2" resolved "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz" @@ -3078,6 +3458,73 @@ braces@^3.0.2, braces@~3.0.2: dependencies: fill-range "^7.0.1" +brorand@^1.0.1, brorand@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" + integrity sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w== + +browserify-aes@^1.0.4, browserify-aes@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" + integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA== + dependencies: + buffer-xor "^1.0.3" + cipher-base "^1.0.0" + create-hash "^1.1.0" + evp_bytestokey "^1.0.3" + inherits "^2.0.1" + safe-buffer "^5.0.1" + +browserify-cipher@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0" + integrity sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w== + dependencies: + browserify-aes "^1.0.4" + browserify-des "^1.0.0" + evp_bytestokey "^1.0.0" + +browserify-des@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c" + integrity sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A== + dependencies: + cipher-base "^1.0.1" + des.js "^1.0.0" + inherits "^2.0.1" + safe-buffer "^5.1.2" + +browserify-rsa@^4.0.0, browserify-rsa@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.1.0.tgz#b2fd06b5b75ae297f7ce2dc651f918f5be158c8d" + integrity sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog== + dependencies: + bn.js "^5.0.0" + randombytes "^2.0.1" + +browserify-sign@^4.0.0: + version "4.2.3" + resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.2.3.tgz#7afe4c01ec7ee59a89a558a4b75bd85ae62d4208" + integrity sha512-JWCZW6SKhfhjJxO8Tyiiy+XYB7cqd2S5/+WeYHsKdNKFlCBhKbblba1A/HN/90YwtxKc8tCErjffZl++UNmGiw== + dependencies: + bn.js "^5.2.1" + browserify-rsa "^4.1.0" + create-hash "^1.2.0" + create-hmac "^1.1.7" + elliptic "^6.5.5" + hash-base "~3.0" + inherits "^2.0.4" + parse-asn1 "^5.1.7" + readable-stream "^2.3.8" + safe-buffer "^5.2.1" + +browserify-zlib@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f" + integrity sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA== + dependencies: + pako "~1.0.5" + browserslist@^4.0.0, browserslist@^4.14.5, browserslist@^4.18.1, browserslist@^4.21.9, browserslist@^4.22.1, browserslist@^4.23.0: version "4.23.0" resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz" @@ -3088,11 +3535,26 @@ browserslist@^4.0.0, browserslist@^4.14.5, browserslist@^4.18.1, browserslist@^4 node-releases "^2.0.14" update-browserslist-db "^1.0.13" +browserslist@^4.21.10: + version "4.23.1" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.23.1.tgz#ce4af0534b3d37db5c1a4ca98b9080f985041e96" + integrity sha512-TUfofFo/KsK/bWZ9TWQ5O26tsWW4Uhmt8IYklbnUa70udB6P2wA7w7o4PY4muaEPBQaAX+CEnmmIA41NVHtPVw== + dependencies: + caniuse-lite "^1.0.30001629" + electron-to-chromium "^1.4.796" + node-releases "^2.0.14" + update-browserslist-db "^1.0.16" + buffer-from@^1.0.0: version "1.1.2" resolved "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz" integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== +buffer-xor@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" + integrity sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ== + buffer@^5.5.0: version "5.7.1" resolved "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz" @@ -3101,6 +3563,19 @@ buffer@^5.5.0: base64-js "^1.3.1" ieee754 "^1.1.13" +buffer@^6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6" + integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA== + dependencies: + base64-js "^1.3.1" + ieee754 "^1.2.1" + +builtin-status-codes@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" + integrity sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ== + bytes@3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz" @@ -3129,7 +3604,7 @@ cacheable-request@^10.2.8: normalize-url "^8.0.0" responselike "^3.0.0" -call-bind@^1.0.2, call-bind@^1.0.7: +call-bind@^1.0.0, call-bind@^1.0.2, call-bind@^1.0.5, call-bind@^1.0.7: version "1.0.7" resolved "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz" integrity sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w== @@ -3140,6 +3615,11 @@ call-bind@^1.0.2, call-bind@^1.0.7: get-intrinsic "^1.2.4" set-function-length "^1.2.1" +call-me-maybe@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/call-me-maybe/-/call-me-maybe-1.0.2.tgz#03f964f19522ba643b1b0693acb9152fe2074baa" + integrity sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ== + callsites@^3.0.0: version "3.1.0" resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" @@ -3153,6 +3633,11 @@ camel-case@^4.1.2: pascal-case "^3.1.2" tslib "^2.0.3" +camelcase@^5.0.0: + version "5.3.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" + integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== + camelcase@^6.2.0: version "6.3.0" resolved "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz" @@ -3178,6 +3663,11 @@ caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001587, caniuse-lite@^1.0.30001599: resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001617.tgz" integrity sha512-mLyjzNI9I+Pix8zwcrpxEbGlfqOkF9kM3ptzmKNw5tizSyYwMe+nGLTqMK9cO+0E+Bh6TsBxNAaHWEM8xwSsmA== +caniuse-lite@^1.0.30001629: + version "1.0.30001632" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001632.tgz#964207b7cba5851701afb4c8afaf1448db3884b6" + integrity sha512-udx3o7yHJfUxMLkGohMlVHCvFvWmirKh9JAH/d7WOLPetlH+LTL5cocMZ0t7oZx/mdlOWXti97xLZWc8uURRHg== + ccount@^2.0.0: version "2.0.1" resolved "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz" @@ -3230,6 +3720,11 @@ character-reference-invalid@^2.0.0: resolved "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz" integrity sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw== +charset@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/charset/-/charset-1.0.1.tgz#8d59546c355be61049a8fa9164747793319852bd" + integrity sha512-6dVyOOYjpfFcL1Y4qChrAoQLRHvj2ziyhcm0QJlhOcAhykL/k1kTUPbeo+87MNRTRdk2OIIsIXbuF3x2wi5EXg== + cheerio-select@^2.1.0: version "2.1.0" resolved "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz" @@ -3255,6 +3750,21 @@ cheerio@^1.0.0-rc.12, cheerio@^1.0.0-rc.3: parse5 "^7.0.0" parse5-htmlparser2-tree-adapter "^7.0.0" +"chokidar@>=3.0.0 <4.0.0": + version "3.6.0" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.6.0.tgz#197c6cc669ef2a8dc5e7b4d97ee4e092c3eb0d5b" + integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw== + 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" + chokidar@^3.4.2, chokidar@^3.5.3: version "3.5.3" resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz" @@ -3285,6 +3795,14 @@ ci-info@^3.2.0: resolved "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz" integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== +cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" + integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q== + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + classnames@^2.3.0: version "2.3.2" resolved "https://registry.npmjs.org/classnames/-/classnames-2.3.2.tgz" @@ -3321,6 +3839,24 @@ client-only@^0.0.1: resolved "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz" integrity sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA== +cliui@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" + integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^6.2.0" + +cliui@^8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-8.0.1.tgz#0c04b075db02cbfe60dc8e6cf2f5486b1a3608aa" + integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.1" + wrap-ansi "^7.0.0" + clone-deep@^4.0.1: version "4.0.1" resolved "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz" @@ -3390,6 +3926,11 @@ colord@^2.9.3: resolved "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz" integrity sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw== +colorette@^1.2.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.4.0.tgz#5190fbb87276259a86ad700bff2c6d6faa3fca40" + integrity sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g== + colorette@^2.0.10: version "2.0.20" resolved "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz" @@ -3405,16 +3946,16 @@ comma-separated-tokens@^2.0.0: resolved "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz" integrity sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg== +commander@2.20.3, 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@^10.0.0: version "10.0.1" resolved "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz" integrity sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug== -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.0.0: version "4.1.1" resolved "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz" @@ -3460,6 +4001,25 @@ compression@^1.7.4: safe-buffer "5.1.2" vary "~1.1.2" +compute-gcd@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/compute-gcd/-/compute-gcd-1.2.1.tgz#34d639f3825625e1357ce81f0e456a6249d8c77f" + integrity sha512-TwMbxBNz0l71+8Sc4czv13h4kEqnchV9igQZBi6QUaz09dnz13juGnnaWWJTRsP3brxOoxeB4SA2WELLw1hCtg== + dependencies: + validate.io-array "^1.0.3" + validate.io-function "^1.0.2" + validate.io-integer-array "^1.0.0" + +compute-lcm@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/compute-lcm/-/compute-lcm-1.1.2.tgz#9107c66b9dca28cefb22b4ab4545caac4034af23" + integrity sha512-OFNPdQAXnQhDSKioX8/XYT6sdUlXwpeMjfd6ApxMJfyZ4GxmLR1xvMERctlYhlHwIiz6CSpBc2+qYKjHGZw4TQ== + dependencies: + compute-gcd "^1.2.1" + validate.io-array "^1.0.3" + validate.io-function "^1.0.2" + validate.io-integer-array "^1.0.0" + concat-map@0.0.1: version "0.0.1" resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" @@ -3494,11 +4054,21 @@ consola@^2.15.3: resolved "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz" integrity sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw== +console-browserify@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.2.0.tgz#67063cef57ceb6cf4993a2ab3a55840ae8c49336" + integrity sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA== + "consolidated-events@^1.1.0 || ^2.0.0": version "2.0.2" resolved "https://registry.npmjs.org/consolidated-events/-/consolidated-events-2.0.2.tgz" integrity sha512-2/uRVMdRypf5z/TW/ncD/66l75P5hH2vM/GR8Jf8HLc2xnfJtmina6F6du8+v4Z2vTrMo7jC+W1tmEEuuELgkQ== +constants-browserify@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" + integrity sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ== + content-disposition@0.5.2: version "0.5.2" resolved "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz" @@ -3531,7 +4101,7 @@ cookie@0.6.0: resolved "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz" integrity sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw== -copy-text-to-clipboard@^3.2.0: +copy-text-to-clipboard@^3.1.0, copy-text-to-clipboard@^3.2.0: version "3.2.0" resolved "https://registry.npmjs.org/copy-text-to-clipboard/-/copy-text-to-clipboard-3.2.0.tgz" integrity sha512-RnJFp1XR/LOBDckxTib5Qjr/PMfkatD0MUCQgdpqS8MdKiNUzBjAQBEN6oUy+jW7LI93BBG3DtMB2KOOKpGs2Q== @@ -3591,6 +4161,37 @@ cosmiconfig@^8.1.3, cosmiconfig@^8.2.0: parse-json "^5.2.0" path-type "^4.0.0" +create-ecdh@^4.0.0: + version "4.0.4" + resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.4.tgz#d6e7f4bffa66736085a0762fd3a632684dabcc4e" + integrity sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A== + dependencies: + bn.js "^4.1.0" + elliptic "^6.5.3" + +create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" + integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== + dependencies: + cipher-base "^1.0.1" + inherits "^2.0.1" + md5.js "^1.3.4" + ripemd160 "^2.0.1" + sha.js "^2.4.0" + +create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7: + version "1.1.7" + resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" + integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== + dependencies: + cipher-base "^1.0.3" + create-hash "^1.1.0" + inherits "^2.0.1" + ripemd160 "^2.0.0" + safe-buffer "^5.0.1" + sha.js "^2.4.8" + cross-spawn@^7.0.0, cross-spawn@^7.0.3: version "7.0.3" resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" @@ -3600,6 +4201,28 @@ cross-spawn@^7.0.0, cross-spawn@^7.0.3: shebang-command "^2.0.0" which "^2.0.1" +crypto-browserify@^3.12.0: + version "3.12.0" + resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" + integrity sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg== + dependencies: + browserify-cipher "^1.0.0" + browserify-sign "^4.0.0" + create-ecdh "^4.0.0" + create-hash "^1.1.0" + create-hmac "^1.1.0" + diffie-hellman "^5.0.0" + inherits "^2.0.1" + pbkdf2 "^3.0.3" + public-encrypt "^4.0.0" + randombytes "^2.0.0" + randomfill "^1.0.3" + +crypto-js@^4.1.1: + version "4.2.0" + resolved "https://registry.yarnpkg.com/crypto-js/-/crypto-js-4.2.0.tgz#4d931639ecdfd12ff80e8186dba6af2c2e856631" + integrity sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q== + crypto-random-string@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-4.0.0.tgz" @@ -3779,6 +4402,11 @@ debug@4, debug@^4.0.0, debug@^4.1.0, debug@^4.1.1, debug@^4.2.0: dependencies: ms "2.1.2" +decamelize@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== + decode-named-character-reference@^1.0.0: version "1.0.2" resolved "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz" @@ -3829,7 +4457,7 @@ define-lazy-prop@^2.0.0: resolved "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz" integrity sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og== -define-properties@^1.1.4: +define-properties@^1.1.3, define-properties@^1.1.4, define-properties@^1.2.1: version "1.2.1" resolved "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz" integrity sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg== @@ -3867,6 +4495,14 @@ dequal@^2.0.0: resolved "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz" integrity sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA== +des.js@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.1.0.tgz#1d37f5766f3bbff4ee9638e871a8768c173b81da" + integrity sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg== + dependencies: + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + destroy@1.2.0: version "1.2.0" resolved "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz" @@ -3905,10 +4541,24 @@ devlop@^1.0.0, devlop@^1.1.0: dependencies: dequal "^2.0.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== +diff@^5.0.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/diff/-/diff-5.2.0.tgz#26ded047cd1179b78b9537d5ef725503ce1ae531" + integrity sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A== + +diffie-hellman@^5.0.0: + version "5.0.3" + resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" + integrity sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg== + dependencies: + bn.js "^4.1.0" + miller-rabin "^4.0.0" + randombytes "^2.0.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" @@ -3937,6 +4587,13 @@ docusaurus-plugin-image-zoom@^2.0.0: medium-zoom "^1.0.8" validate-peer-dependencies "^2.2.0" +docusaurus-plugin-sass@^0.2.3: + version "0.2.5" + resolved "https://registry.yarnpkg.com/docusaurus-plugin-sass/-/docusaurus-plugin-sass-0.2.5.tgz#6bfb8a227ac6265be685dcbc24ba1989e27b8005" + integrity sha512-Z+D0fLFUKcFpM+bqSUmqKIU+vO+YF1xoEQh5hoFreg2eMf722+siwXDD+sqtwU8E4MvVpuvsQfaHwODNlxJAEg== + dependencies: + sass-loader "^10.1.1" + dom-converter@^0.2.0: version "0.2.0" resolved "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz" @@ -3962,6 +4619,11 @@ dom-serializer@^2.0.0: domhandler "^5.0.2" entities "^4.2.0" +domain-browser@^4.22.0: + version "4.23.0" + resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-4.23.0.tgz#427ebb91efcb070f05cffdfb8a4e9a6c25f8c94b" + integrity sha512-ArzcM/II1wCCujdCNyQjXrAFwS4mrLh4C7DZWlaI8mdh7h3BfKdNd3bKXITfl2PT9FtfQqaGvhi1vPRQPimjGA== + domelementtype@^2.0.1, domelementtype@^2.2.0, domelementtype@^2.3.0: version "2.3.0" resolved "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz" @@ -4034,6 +4696,24 @@ electron-to-chromium@^1.4.668: resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.761.tgz" integrity sha512-PIbxpiJGx6Bb8dQaonNc6CGTRlVntdLg/2nMa1YhnrwYOORY9a3ZgGN0UQYE6lAcj/lkyduJN7BPt/JiY+jAQQ== +electron-to-chromium@^1.4.796: + version "1.4.798" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.798.tgz#6a3fcab2edc1e66e3883466f6b4b8944323c0164" + integrity sha512-by9J2CiM9KPGj9qfp5U4FcPSbXJG7FNzqnYaY4WLzX+v2PHieVGmnsA4dxfpGE3QEC7JofpPZmn7Vn1B9NR2+Q== + +elliptic@^6.5.3, elliptic@^6.5.5: + version "6.5.5" + resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.5.tgz#c715e09f78b6923977610d4c2346d6ce22e6dded" + integrity sha512-7EjbcmUm17NQFu4Pmgmq2olYMj8nwMnpcddByChSUjArp8F5DQWcIcpriwO4ZToLNAJig0yiyjswfyGNje/ixw== + dependencies: + bn.js "^4.11.9" + brorand "^1.1.0" + hash.js "^1.0.0" + hmac-drbg "^1.0.1" + inherits "^2.0.4" + minimalistic-assert "^1.0.1" + minimalistic-crypto-utils "^1.0.1" + emoji-regex@^8.0.0: version "8.0.0" resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" @@ -4079,6 +4759,14 @@ enhanced-resolve@^5.15.0: graceful-fs "^4.2.4" tapable "^2.2.0" +enhanced-resolve@^5.16.0: + version "5.17.0" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.17.0.tgz#d037603789dd9555b89aaec7eb78845c49089bc5" + integrity sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA== + dependencies: + graceful-fs "^4.2.4" + tapable "^2.2.0" + entities@^2.0.0: version "2.2.0" resolved "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz" @@ -4113,11 +4801,21 @@ es-module-lexer@^1.2.1: resolved "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.1.tgz" integrity sha512-JUFAyicQV9mXc3YRxPnDlrfBKpqt6hUYzz9/boprUJHs4e4KVr3XwOF70doO6gwXUor6EWZJAyWAfKki84t20Q== +es6-promise@^3.2.1: + version "3.3.1" + resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-3.3.1.tgz#a08cdde84ccdbf34d027a1451bc91d4bcd28a613" + integrity sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg== + escalade@^3.1.1: version "3.1.1" resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz" integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== +escalade@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.2.tgz#54076e9ab29ea5bf3d8f1ed62acffbb88272df27" + integrity sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA== + escape-goat@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/escape-goat/-/escape-goat-4.0.0.tgz" @@ -4250,16 +4948,29 @@ eval@^0.1.8: "@types/node" "*" require-like ">= 0.1.1" +event-target-shim@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/event-target-shim/-/event-target-shim-5.0.1.tgz#5d4d3ebdf9583d63a5333ce2deb7480ab2b05789" + integrity sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ== + eventemitter3@^4.0.0: version "4.0.7" resolved "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz" integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== -events@^3.2.0: +events@^3.2.0, events@^3.3.0: version "3.3.0" resolved "https://registry.npmjs.org/events/-/events-3.3.0.tgz" integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== +evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" + integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA== + dependencies: + md5.js "^1.3.4" + safe-buffer "^5.1.1" + execa@^5.0.0, execa@^5.1.1: version "5.1.1" resolved "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz" @@ -4275,6 +4986,11 @@ execa@^5.0.0, execa@^5.1.1: signal-exit "^3.0.3" strip-final-newline "^2.0.0" +exenv@^1.2.0: + version "1.2.2" + resolved "https://registry.yarnpkg.com/exenv/-/exenv-1.2.2.tgz#2ae78e85d9894158670b03d47bec1f03bd91bb9d" + integrity sha512-Z+ktTxTwv9ILfgKCk32OX3n/doe+OcLTRtqK9pcL+JsP3J1/VW8Uvl4ZjLlKqeW4rzK4oesDOGMEMRIZqtP4Iw== + expand-template@^2.0.3: version "2.0.3" resolved "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz" @@ -4355,6 +5071,11 @@ fast-json-stable-stringify@^2.0.0: resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== +fast-safe-stringify@^2.0.7: + version "2.1.1" + resolved "https://registry.yarnpkg.com/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz#c406a83b6e70d9e35ce3b30a81141df30aeba884" + integrity sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA== + 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" @@ -4398,6 +5119,16 @@ file-loader@^6.2.0: loader-utils "^2.0.0" schema-utils "^3.0.0" +file-saver@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/file-saver/-/file-saver-2.0.5.tgz#d61cfe2ce059f414d899e9dd6d4107ee25670c38" + integrity sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA== + +file-type@3.9.0: + version "3.9.0" + resolved "https://registry.yarnpkg.com/file-type/-/file-type-3.9.0.tgz#257a078384d1db8087bc449d107d52a52672b9e9" + integrity sha512-RLoqTXE8/vPmMuTI88DAzhMYC99I8BWv7zYP4A1puo5HIjEJ5EX48ighy4ZyKMG9EDXxBgW6e++cn7d1xuFghA== + filesize@^8.0.6: version "8.0.7" resolved "https://registry.npmjs.org/filesize/-/filesize-8.0.7.tgz" @@ -4410,6 +5141,11 @@ fill-range@^7.0.1: dependencies: to-regex-range "^5.0.1" +filter-obj@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/filter-obj/-/filter-obj-2.0.2.tgz#fff662368e505d69826abb113f0f6a98f56e9d5f" + integrity sha512-lO3ttPjHZRfjMcxWKb1j1eDhTFsu4meeR3lnMcnBFhk6RuLhvEiuALu2TlfL310ph4lCYYwgF/ElIjdP739tdg== + finalhandler@1.2.0: version "1.2.0" resolved "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz" @@ -4438,6 +5174,14 @@ find-up@^3.0.0: dependencies: locate-path "^3.0.0" +find-up@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" + integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== + dependencies: + locate-path "^5.0.0" + path-exists "^4.0.0" + find-up@^5.0.0: version "5.0.0" resolved "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz" @@ -4464,6 +5208,18 @@ follow-redirects@^1.0.0: resolved "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz" integrity sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA== +for-each@^0.3.3: + version "0.3.3" + resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" + integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== + dependencies: + is-callable "^1.1.3" + +foreach@^2.0.4: + version "2.0.6" + resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.6.tgz#87bcc8a1a0e74000ff2bf9802110708cfb02eb6e" + integrity sha512-k6GAGDyqLe9JaebCsFCoudPPWfihKu8pylYXRlqP1J7ms39iPoTtk2fviNglIeQEwdh0bQeKJ01ZPyuyQvKzwg== + foreground-child@^3.1.0: version "3.1.1" resolved "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz" @@ -4530,16 +5286,16 @@ fs-extra@^10.0.0: jsonfile "^6.0.1" universalify "^2.0.0" -fs-extra@^11.1.1: - version "11.1.1" - resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-11.1.1.tgz" - integrity sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ== +fs-extra@^11.1.1, fs-extra@^11.2.0: + version "11.2.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.2.0.tgz#e70e17dfad64232287d01929399e0ea7c86b0e5b" + integrity sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw== dependencies: graceful-fs "^4.2.0" jsonfile "^6.0.1" universalify "^2.0.0" -fs-extra@^9.0.0: +fs-extra@^9.0.0, fs-extra@^9.0.1: version "9.1.0" resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz" integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== @@ -4574,6 +5330,11 @@ gensync@^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, get-caller-file@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" + integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== + get-intrinsic@^1.1.3, get-intrinsic@^1.2.4: version "1.2.4" resolved "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz" @@ -4732,7 +5493,7 @@ graceful-fs@4.2.10: resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz" integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== -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, graceful-fs@^4.2.6, graceful-fs@^4.2.9: +graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.11, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9: version "4.2.11" resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz" integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== @@ -4786,11 +5547,43 @@ has-symbols@^1.0.3: resolved "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz" integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== +has-tostringtag@^1.0.0, has-tostringtag@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz#2cdc42d40bef2e5b4eeab7c01a73c54ce7ab5abc" + integrity sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw== + dependencies: + has-symbols "^1.0.3" + has-yarn@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/has-yarn/-/has-yarn-3.0.0.tgz" integrity sha512-IrsVwUHhEULx3R8f/aA8AHuEzAorplsab/v8HBzEiIukwq5i/EC+xmOW+HfP1OaDP+2JkgT1yILHN2O3UFIbcA== +hash-base@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33" + integrity sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA== + dependencies: + inherits "^2.0.4" + readable-stream "^3.6.0" + safe-buffer "^5.2.0" + +hash-base@~3.0: + version "3.0.4" + resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.0.4.tgz#5fc8686847ecd73499403319a6b0a3f3f6ae4918" + integrity sha512-EeeoJKjTyt868liAlVmcv2ZsUfGHlE3Q+BICOXcZiwN3osr5Q/zFGYmTJpoIzuaSTAwndFy+GqhEwlU4L3j4Ow== + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +hash.js@^1.0.0, hash.js@^1.0.3: + version "1.1.7" + resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" + integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== + dependencies: + inherits "^2.0.3" + minimalistic-assert "^1.0.1" + hasown@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz" @@ -4798,6 +5591,19 @@ hasown@^2.0.0: dependencies: function-bind "^1.1.2" +hast-util-from-parse5@^7.0.0: + version "7.1.2" + resolved "https://registry.yarnpkg.com/hast-util-from-parse5/-/hast-util-from-parse5-7.1.2.tgz#aecfef73e3ceafdfa4550716443e4eb7b02e22b0" + integrity sha512-Nz7FfPBuljzsN3tCQ4kCBKqdNhQE2l0Tn+X1ubgKBPRoiDIu1mL08Cfw4k7q71+Duyaw7DXDN+VTAp4Vh3oCOw== + dependencies: + "@types/hast" "^2.0.0" + "@types/unist" "^2.0.0" + hastscript "^7.0.0" + property-information "^6.0.0" + vfile "^5.0.0" + vfile-location "^4.0.0" + web-namespaces "^2.0.0" + hast-util-from-parse5@^8.0.0: version "8.0.1" resolved "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-8.0.1.tgz" @@ -4812,6 +5618,13 @@ hast-util-from-parse5@^8.0.0: vfile-location "^5.0.0" web-namespaces "^2.0.0" +hast-util-parse-selector@^3.0.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/hast-util-parse-selector/-/hast-util-parse-selector-3.1.1.tgz#25ab00ae9e75cbc62cf7a901f68a247eade659e2" + integrity sha512-jdlwBjEexy1oGz0aJ2f4GKMaVKkA9jwjr4MjAAI22E5fM/TXVZHuS5OpONtdeIkRKqAaryQ2E9xNQxijoThSZA== + dependencies: + "@types/hast" "^2.0.0" + hast-util-parse-selector@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-4.0.0.tgz" @@ -4819,6 +5632,23 @@ hast-util-parse-selector@^4.0.0: dependencies: "@types/hast" "^3.0.0" +hast-util-raw@^7.2.0: + version "7.2.3" + resolved "https://registry.yarnpkg.com/hast-util-raw/-/hast-util-raw-7.2.3.tgz#dcb5b22a22073436dbdc4aa09660a644f4991d99" + integrity sha512-RujVQfVsOrxzPOPSzZFiwofMArbQke6DJjnFfceiEbFh7S05CbPt0cYN+A5YeD3pso0JQk6O1aHBnx9+Pm2uqg== + dependencies: + "@types/hast" "^2.0.0" + "@types/parse5" "^6.0.0" + hast-util-from-parse5 "^7.0.0" + hast-util-to-parse5 "^7.0.0" + html-void-elements "^2.0.0" + parse5 "^6.0.0" + unist-util-position "^4.0.0" + unist-util-visit "^4.0.0" + vfile "^5.0.0" + web-namespaces "^2.0.0" + zwitch "^2.0.0" + hast-util-raw@^9.0.0: version "9.0.1" resolved "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-9.0.1.tgz" @@ -4875,6 +5705,18 @@ hast-util-to-jsx-runtime@^2.0.0: unist-util-position "^5.0.0" vfile-message "^4.0.0" +hast-util-to-parse5@^7.0.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/hast-util-to-parse5/-/hast-util-to-parse5-7.1.0.tgz#c49391bf8f151973e0c9adcd116b561e8daf29f3" + integrity sha512-YNRgAJkH2Jky5ySkIqFXTQiaqcAtJyVE+D5lkN6CdtOqrnkLfGYYrEcKuHOJZlp+MwjSwuD3fZuawI+sic/RBw== + dependencies: + "@types/hast" "^2.0.0" + comma-separated-tokens "^2.0.0" + property-information "^6.0.0" + space-separated-tokens "^2.0.0" + web-namespaces "^2.0.0" + zwitch "^2.0.0" + hast-util-to-parse5@^8.0.0: version "8.0.0" resolved "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-8.0.0.tgz" @@ -4888,6 +5730,11 @@ hast-util-to-parse5@^8.0.0: web-namespaces "^2.0.0" zwitch "^2.0.0" +hast-util-whitespace@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/hast-util-whitespace/-/hast-util-whitespace-2.0.1.tgz#0ec64e257e6fc216c7d14c8a1b74d27d650b4557" + integrity sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng== + hast-util-whitespace@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz" @@ -4895,6 +5742,17 @@ hast-util-whitespace@^3.0.0: dependencies: "@types/hast" "^3.0.0" +hastscript@^7.0.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/hastscript/-/hastscript-7.2.0.tgz#0eafb7afb153d047077fa2a833dc9b7ec604d10b" + integrity sha512-TtYPq24IldU8iKoJQqvZOuhi5CyCQRAbvDOX0x1eW6rsHSxa/1i2CCiptNTotGHJ3VoHRGmqiv6/D3q113ikkw== + dependencies: + "@types/hast" "^2.0.0" + comma-separated-tokens "^2.0.0" + hast-util-parse-selector "^3.0.0" + property-information "^6.0.0" + space-separated-tokens "^2.0.0" + hastscript@^8.0.0: version "8.0.0" resolved "https://registry.npmjs.org/hastscript/-/hastscript-8.0.0.tgz" @@ -4923,7 +5781,16 @@ history@^4.9.0: tiny-warning "^1.0.0" value-equal "^1.0.1" -hoist-non-react-statics@^3.1.0: +hmac-drbg@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" + integrity sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg== + dependencies: + hash.js "^1.0.3" + minimalistic-assert "^1.0.0" + minimalistic-crypto-utils "^1.0.1" + +hoist-non-react-statics@^3.1.0, hoist-non-react-statics@^3.3.0, hoist-non-react-statics@^3.3.2: 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== @@ -4976,6 +5843,11 @@ html-tags@^3.3.1: resolved "https://registry.npmjs.org/html-tags/-/html-tags-3.3.1.tgz" integrity sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ== +html-void-elements@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/html-void-elements/-/html-void-elements-2.0.1.tgz#29459b8b05c200b6c5ee98743c41b979d577549f" + integrity sha512-0quDb7s97CfemeJAnW9wC0hw78MtW7NU3hqtCD75g2vFlDLt36llsYD7uB7SUzojLMP24N5IatXf7ylGXiGG9A== + html-void-elements@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/html-void-elements/-/html-void-elements-3.0.0.tgz" @@ -5068,6 +5940,16 @@ http-proxy@^1.18.1: follow-redirects "^1.0.0" requires-port "^1.0.0" +http-reasons@0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/http-reasons/-/http-reasons-0.1.0.tgz#a953ca670078669dde142ce899401b9d6e85d3b4" + integrity sha512-P6kYh0lKZ+y29T2Gqz+RlC9WBLhKe8kDmcJ+A+611jFfxdPsbMRQ5aNmFRM3lENqFkK+HTTL+tlQviAiv0AbLQ== + +http2-client@^1.2.5: + version "1.3.5" + resolved "https://registry.yarnpkg.com/http2-client/-/http2-client-1.3.5.tgz#20c9dc909e3cc98284dd20af2432c524086df181" + integrity sha512-EC2utToWl4RKfs5zd36Mxq7nzHHBuomZboI0yYL6Y0RmBgT7Sgkq4rQ0ezFTYoIsSs7Tm9SJe+o2FcAg6GBhGA== + http2-wrapper@^2.1.10: version "2.2.0" resolved "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-2.2.0.tgz" @@ -5076,6 +5958,11 @@ http2-wrapper@^2.1.10: quick-lru "^5.1.1" resolve-alpn "^1.2.0" +https-browserify@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" + integrity sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg== + human-signals@^2.1.0: version "2.1.0" resolved "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz" @@ -5093,12 +5980,19 @@ iconv-lite@0.4.24: dependencies: safer-buffer ">= 2.1.2 < 3" +iconv-lite@0.6.3: + version "0.6.3" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" + integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== + dependencies: + safer-buffer ">= 2.1.2 < 3.0.0" + 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== -ieee754@^1.1.13: +ieee754@^1.1.13, ieee754@^1.2.1: version "1.2.1" resolved "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz" integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== @@ -5120,11 +6014,16 @@ immediate@^3.2.3: resolved "https://registry.npmjs.org/immediate/-/immediate-3.3.0.tgz" integrity sha512-HR7EVodfFUdQCTIeySw+WDRFJlPcLOJbXfwwZ7Oom6tjsvZ3bOkCDJHehQC3nxJrv7+f9XecwazynjU8e4Vw3Q== -immer@^9.0.7: +immer@^9.0.21, immer@^9.0.7: version "9.0.21" resolved "https://registry.npmjs.org/immer/-/immer-9.0.21.tgz" integrity sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA== +immutable@^4.0.0: + version "4.3.6" + resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.3.6.tgz#6a05f7858213238e587fb83586ffa3b4b27f0447" + integrity sha512-Ju0+lEMyzMVZarkTn/gqRpdqd5dOPaz1mCZ0SH3JV6iFw81PldE/PEB1hWVEA288HPt4WXW8O7AWxB10M+03QQ== + import-fresh@^3.1.0, import-fresh@^3.3.0: version "3.3.0" resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz" @@ -5161,7 +6060,7 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3: +inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3, inherits@~2.0.4: version "2.0.4" resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== @@ -5221,6 +6120,14 @@ is-alphanumerical@^2.0.0: is-alphabetical "^2.0.0" is-decimal "^2.0.0" +is-arguments@^1.0.4: + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b" + integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^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" @@ -5238,6 +6145,16 @@ is-binary-path@~2.1.0: dependencies: binary-extensions "^2.0.0" +is-buffer@^2.0.0: + version "2.0.5" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.5.tgz#ebc252e400d22ff8d77fa09888821a24a658c191" + integrity sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ== + +is-callable@^1.1.3: + version "1.2.7" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" + integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== + is-ci@^3.0.1: version "3.0.1" resolved "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz" @@ -5277,6 +6194,13 @@ is-fullwidth-code-point@^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-generator-function@^1.0.7: + version "1.0.10" + resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.0.10.tgz#f1558baf1ac17e0deea7c0415c438351ff2b3c72" + integrity sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A== + dependencies: + has-tostringtag "^1.0.0" + is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: version "4.0.3" resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz" @@ -5297,6 +6221,14 @@ is-installed-globally@^0.4.0: global-dirs "^3.0.0" is-path-inside "^3.0.2" +is-nan@^1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/is-nan/-/is-nan-1.3.2.tgz#043a54adea31748b55b6cd4e09aadafa69bd9e1d" + integrity sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w== + dependencies: + call-bind "^1.0.0" + define-properties "^1.1.3" + is-npm@^6.0.0: version "6.0.0" resolved "https://registry.npmjs.org/is-npm/-/is-npm-6.0.0.tgz" @@ -5371,6 +6303,13 @@ is-stream@^2.0.0: resolved "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz" integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== +is-typed-array@^1.1.3: + version "1.1.13" + resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.13.tgz#d6c5ca56df62334959322d7d7dd1cca50debe229" + integrity sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw== + dependencies: + which-typed-array "^1.1.14" + is-typedarray@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz" @@ -5464,12 +6403,17 @@ joi@^17.9.2: "@sideway/formula" "^3.0.1" "@sideway/pinpoint" "^2.0.0" +js-levenshtein@^1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/js-levenshtein/-/js-levenshtein-1.1.6.tgz#c6cee58eb3550372df8deb85fad5ce66ce01d59d" + integrity sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g== + "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: +js-yaml@3.14.1, 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== @@ -5504,6 +6448,29 @@ json-parse-even-better-errors@^2.3.0, json-parse-even-better-errors@^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-pointer@^0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/json-pointer/-/json-pointer-0.6.2.tgz#f97bd7550be5e9ea901f8c9264c9d436a22a93cd" + integrity sha512-vLWcKbOaXlO+jvRy4qNd+TI1QUPZzfJj1tpJ3vAXDych5XJf93ftpUKe5pKCrzyIIwgBJcOcCVRUfqQP25afBw== + dependencies: + foreach "^2.0.4" + +json-schema-compare@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/json-schema-compare/-/json-schema-compare-0.2.2.tgz#dd601508335a90c7f4cfadb6b2e397225c908e56" + integrity sha512-c4WYmDKyJXhs7WWvAWm3uIYnfyWFoIp+JEoX34rctVvEkMYCPGhXtvmFFXiffBbxfZsvQ0RNnV5H7GvDF5HCqQ== + dependencies: + lodash "^4.17.4" + +json-schema-merge-allof@0.8.1, json-schema-merge-allof@^0.8.1: + version "0.8.1" + resolved "https://registry.yarnpkg.com/json-schema-merge-allof/-/json-schema-merge-allof-0.8.1.tgz#ed2828cdd958616ff74f932830a26291789eaaf2" + integrity sha512-CTUKmIlPJbsWfzRRnOXz+0MjIqvnleIXwFTzz+t9T86HnYX/Rozria6ZVGLktAU9e+NygNljveP+yxqtQp/Q4w== + dependencies: + compute-lcm "^1.1.2" + json-schema-compare "^0.2.2" + lodash "^4.17.20" + 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" @@ -5552,6 +6519,16 @@ kleur@^3.0.3: resolved "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz" integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== +kleur@^4.0.3: + version "4.1.5" + resolved "https://registry.yarnpkg.com/kleur/-/kleur-4.1.5.tgz#95106101795f7050c6c650f350c683febddb1780" + integrity sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ== + +klona@^2.0.4: + version "2.0.6" + resolved "https://registry.yarnpkg.com/klona/-/klona-2.0.6.tgz#85bffbf819c03b2f53270412420a4555ef882e22" + integrity sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA== + latest-version@^7.0.0: version "7.0.0" resolved "https://registry.npmjs.org/latest-version/-/latest-version-7.0.0.tgz" @@ -5582,6 +6559,11 @@ lines-and-columns@^1.1.6: resolved "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz" integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== +liquid-json@0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/liquid-json/-/liquid-json-0.3.1.tgz#9155a18136d8a6b2615e5f16f9a2448ab6b50eea" + integrity sha512-wUayTU8MS827Dam6MxgD72Ui+KOSF+u/eIqpatOtjnvgJ0+mnDq33uC2M7J0tPK+upe/DpUAuK4JUU89iBoNKQ== + loader-runner@^4.2.0: version "4.3.0" resolved "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz" @@ -5609,6 +6591,13 @@ locate-path@^3.0.0: p-locate "^3.0.0" path-exists "^3.0.0" +locate-path@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" + integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== + dependencies: + p-locate "^4.1.0" + locate-path@^6.0.0: version "6.0.0" resolved "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz" @@ -5643,6 +6632,11 @@ lodash.invokemap@^4.6.0: resolved "https://registry.npmjs.org/lodash.invokemap/-/lodash.invokemap-4.6.0.tgz" integrity sha512-CfkycNtMqgUlfjfdh2BhKO/ZXrP8ePOX5lEU/g0R3ItJcnuxWDwokMGKx1hWcfOikmyOVx6X9IwWnDGlgKl61w== +lodash.isequal@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" + integrity sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ== + lodash.memoize@^4.1.2: version "4.1.2" resolved "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz" @@ -5663,7 +6657,7 @@ lodash.uniqby@^4.7.0: resolved "https://registry.npmjs.org/lodash.uniqby/-/lodash.uniqby-4.7.0.tgz" integrity sha512-e/zcLx6CSbmaEgFHCA7BnoQKyCtKMxnuWrJygbwPs/AIn+IMKl66L8/s+wBUn5LRw2pZx3bUHibiV1b6aTWIww== -lodash@^4.17.20, lodash@^4.17.21: +lodash@4.17.21, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.4: version "4.17.21" resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -5743,6 +6737,24 @@ markdown-table@^3.0.0: resolved "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.3.tgz" integrity sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw== +md5.js@^1.3.4: + version "1.3.5" + resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" + integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg== + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + safe-buffer "^5.1.2" + +mdast-util-definitions@^5.0.0: + version "5.1.2" + resolved "https://registry.yarnpkg.com/mdast-util-definitions/-/mdast-util-definitions-5.1.2.tgz#9910abb60ac5d7115d6819b57ae0bcef07a3f7a7" + integrity sha512-8SVPMuHqlPME/z3gqVwWY4zVXn8lqKv/pAhC57FuJ40ImXyBpmO5ukh98zB2v7Blql2FiHjHv9LVztSIqjY+MA== + dependencies: + "@types/mdast" "^3.0.0" + "@types/unist" "^2.0.0" + unist-util-visit "^4.0.0" + mdast-util-directive@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/mdast-util-directive/-/mdast-util-directive-3.0.0.tgz" @@ -5767,6 +6779,24 @@ mdast-util-find-and-replace@^3.0.0, mdast-util-find-and-replace@^3.0.1: unist-util-is "^6.0.0" unist-util-visit-parents "^6.0.0" +mdast-util-from-markdown@^1.0.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/mdast-util-from-markdown/-/mdast-util-from-markdown-1.3.1.tgz#9421a5a247f10d31d2faed2a30df5ec89ceafcf0" + integrity sha512-4xTO/M8c82qBcnQc1tgpNtubGUW/Y1tBQ1B0i5CtSoelOLKFYlElIr3bvgREYYO5iRqbMY1YuqZng0GVOI8Qww== + dependencies: + "@types/mdast" "^3.0.0" + "@types/unist" "^2.0.0" + decode-named-character-reference "^1.0.0" + mdast-util-to-string "^3.1.0" + micromark "^3.0.0" + micromark-util-decode-numeric-character-reference "^1.0.0" + micromark-util-decode-string "^1.0.0" + micromark-util-normalize-identifier "^1.0.0" + micromark-util-symbol "^1.0.0" + micromark-util-types "^1.0.0" + unist-util-stringify-position "^3.0.0" + uvu "^0.5.0" + mdast-util-from-markdown@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.0.tgz" @@ -5924,6 +6954,20 @@ mdast-util-phrasing@^4.0.0: "@types/mdast" "^4.0.0" unist-util-is "^6.0.0" +mdast-util-to-hast@^12.1.0: + version "12.3.0" + resolved "https://registry.yarnpkg.com/mdast-util-to-hast/-/mdast-util-to-hast-12.3.0.tgz#045d2825fb04374e59970f5b3f279b5700f6fb49" + integrity sha512-pits93r8PhnIoU4Vy9bjW39M2jJ6/tdHyja9rrot9uujkN7UTU9SDnE6WNJz/IGyQk3XHX6yNNtrBH6cQzm8Hw== + dependencies: + "@types/hast" "^2.0.0" + "@types/mdast" "^3.0.0" + mdast-util-definitions "^5.0.0" + micromark-util-sanitize-uri "^1.1.0" + trim-lines "^3.0.0" + unist-util-generated "^2.0.0" + unist-util-position "^4.0.0" + unist-util-visit "^4.0.0" + mdast-util-to-hast@^13.0.0: version "13.0.2" resolved "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.0.2.tgz" @@ -5952,6 +6996,13 @@ mdast-util-to-markdown@^2.0.0: unist-util-visit "^5.0.0" zwitch "^2.0.0" +mdast-util-to-string@^3.1.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/mdast-util-to-string/-/mdast-util-to-string-3.2.0.tgz#66f7bb6324756741c5f47a53557f0cbf16b6f789" + integrity sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg== + dependencies: + "@types/mdast" "^3.0.0" + mdast-util-to-string@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz" @@ -6006,6 +7057,28 @@ methods@~1.1.2: resolved "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz" integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== +micromark-core-commonmark@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/micromark-core-commonmark/-/micromark-core-commonmark-1.1.0.tgz#1386628df59946b2d39fb2edfd10f3e8e0a75bb8" + integrity sha512-BgHO1aRbolh2hcrzL2d1La37V0Aoz73ymF8rAcKnohLy93titmv62E0gP8Hrx9PKcKrqCZ1BbLGbP3bEhoXYlw== + dependencies: + decode-named-character-reference "^1.0.0" + micromark-factory-destination "^1.0.0" + micromark-factory-label "^1.0.0" + micromark-factory-space "^1.0.0" + micromark-factory-title "^1.0.0" + micromark-factory-whitespace "^1.0.0" + micromark-util-character "^1.0.0" + micromark-util-chunked "^1.0.0" + micromark-util-classify-character "^1.0.0" + micromark-util-html-tag-name "^1.0.0" + micromark-util-normalize-identifier "^1.0.0" + micromark-util-resolve-all "^1.0.0" + micromark-util-subtokenize "^1.0.0" + micromark-util-symbol "^1.0.0" + micromark-util-types "^1.0.1" + uvu "^0.5.0" + micromark-core-commonmark@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.0.tgz" @@ -6196,6 +7269,15 @@ micromark-extension-mdxjs@^3.0.0: micromark-util-combine-extensions "^2.0.0" micromark-util-types "^2.0.0" +micromark-factory-destination@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/micromark-factory-destination/-/micromark-factory-destination-1.1.0.tgz#eb815957d83e6d44479b3df640f010edad667b9f" + integrity sha512-XaNDROBgx9SgSChd69pjiGKbV+nfHGDPVYFs5dOoDd7ZnMAE+Cuu91BCpsY8RT2NP9vo/B8pds2VQNCLiu0zhg== + dependencies: + micromark-util-character "^1.0.0" + micromark-util-symbol "^1.0.0" + micromark-util-types "^1.0.0" + micromark-factory-destination@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.0.tgz" @@ -6205,6 +7287,16 @@ micromark-factory-destination@^2.0.0: micromark-util-symbol "^2.0.0" micromark-util-types "^2.0.0" +micromark-factory-label@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/micromark-factory-label/-/micromark-factory-label-1.1.0.tgz#cc95d5478269085cfa2a7282b3de26eb2e2dec68" + integrity sha512-OLtyez4vZo/1NjxGhcpDSbHQ+m0IIGnT8BoPamh+7jVlzLJBH98zzuCoUeMxvM6WsNeh8wx8cKvqLiPHEACn0w== + dependencies: + micromark-util-character "^1.0.0" + micromark-util-symbol "^1.0.0" + micromark-util-types "^1.0.0" + uvu "^0.5.0" + micromark-factory-label@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.0.tgz" @@ -6245,6 +7337,16 @@ micromark-factory-space@^2.0.0: micromark-util-character "^2.0.0" micromark-util-types "^2.0.0" +micromark-factory-title@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/micromark-factory-title/-/micromark-factory-title-1.1.0.tgz#dd0fe951d7a0ac71bdc5ee13e5d1465ad7f50ea1" + integrity sha512-J7n9R3vMmgjDOCY8NPw55jiyaQnH5kBdV2/UXCtZIpnHH3P6nHUKaH7XXEYuWwx/xUJcawa8plLBEjMPU24HzQ== + dependencies: + micromark-factory-space "^1.0.0" + micromark-util-character "^1.0.0" + micromark-util-symbol "^1.0.0" + micromark-util-types "^1.0.0" + micromark-factory-title@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.0.tgz" @@ -6255,6 +7357,16 @@ micromark-factory-title@^2.0.0: micromark-util-symbol "^2.0.0" micromark-util-types "^2.0.0" +micromark-factory-whitespace@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/micromark-factory-whitespace/-/micromark-factory-whitespace-1.1.0.tgz#798fb7489f4c8abafa7ca77eed6b5745853c9705" + integrity sha512-v2WlmiymVSp5oMg+1Q0N1Lxmt6pMhIHD457whWM7/GUlEks1hI9xj5w3zbc4uuMKXGisksZk8DzP2UyGbGqNsQ== + dependencies: + micromark-factory-space "^1.0.0" + micromark-util-character "^1.0.0" + micromark-util-symbol "^1.0.0" + micromark-util-types "^1.0.0" + micromark-factory-whitespace@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.0.tgz" @@ -6281,6 +7393,13 @@ micromark-util-character@^2.0.0: micromark-util-symbol "^2.0.0" micromark-util-types "^2.0.0" +micromark-util-chunked@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/micromark-util-chunked/-/micromark-util-chunked-1.1.0.tgz#37a24d33333c8c69a74ba12a14651fd9ea8a368b" + integrity sha512-Ye01HXpkZPNcV6FiyoW2fGZDUw4Yc7vT0E9Sad83+bEDiCJ1uXu0S3mr8WLpsz3HaG3x2q0HM6CTuPdcZcluFQ== + dependencies: + micromark-util-symbol "^1.0.0" + micromark-util-chunked@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.0.tgz" @@ -6288,6 +7407,15 @@ micromark-util-chunked@^2.0.0: dependencies: micromark-util-symbol "^2.0.0" +micromark-util-classify-character@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/micromark-util-classify-character/-/micromark-util-classify-character-1.1.0.tgz#6a7f8c8838e8a120c8e3c4f2ae97a2bff9190e9d" + integrity sha512-SL0wLxtKSnklKSUplok1WQFoGhUdWYKggKUiqhX+Swala+BtptGCu5iPRc+xvzJ4PXE/hwM3FNXsfEVgoZsWbw== + dependencies: + micromark-util-character "^1.0.0" + micromark-util-symbol "^1.0.0" + micromark-util-types "^1.0.0" + micromark-util-classify-character@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.0.tgz" @@ -6297,6 +7425,14 @@ micromark-util-classify-character@^2.0.0: micromark-util-symbol "^2.0.0" micromark-util-types "^2.0.0" +micromark-util-combine-extensions@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/micromark-util-combine-extensions/-/micromark-util-combine-extensions-1.1.0.tgz#192e2b3d6567660a85f735e54d8ea6e3952dbe84" + integrity sha512-Q20sp4mfNf9yEqDL50WwuWZHUrCO4fEyeDCnMGmG5Pr0Cz15Uo7KBs6jq+dq0EgX4DPwwrh9m0X+zPV1ypFvUA== + dependencies: + micromark-util-chunked "^1.0.0" + micromark-util-types "^1.0.0" + micromark-util-combine-extensions@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.0.tgz" @@ -6305,6 +7441,13 @@ micromark-util-combine-extensions@^2.0.0: micromark-util-chunked "^2.0.0" micromark-util-types "^2.0.0" +micromark-util-decode-numeric-character-reference@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-1.1.0.tgz#b1e6e17009b1f20bc652a521309c5f22c85eb1c6" + integrity sha512-m9V0ExGv0jB1OT21mrWcuf4QhP46pH1KkfWy9ZEezqHKAxkj4mPCy3nIH1rkbdMlChLHX531eOrymlwyZIf2iw== + dependencies: + micromark-util-symbol "^1.0.0" + micromark-util-decode-numeric-character-reference@^2.0.0: version "2.0.1" resolved "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.1.tgz" @@ -6312,6 +7455,16 @@ micromark-util-decode-numeric-character-reference@^2.0.0: dependencies: micromark-util-symbol "^2.0.0" +micromark-util-decode-string@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/micromark-util-decode-string/-/micromark-util-decode-string-1.1.0.tgz#dc12b078cba7a3ff690d0203f95b5d5537f2809c" + integrity sha512-YphLGCK8gM1tG1bd54azwyrQRjCFcmgj2S2GoJDNnh4vYtnL38JS8M4gpxzOPNyHdNEpheyWXCTnnTDY3N+NVQ== + dependencies: + decode-named-character-reference "^1.0.0" + micromark-util-character "^1.0.0" + micromark-util-decode-numeric-character-reference "^1.0.0" + micromark-util-symbol "^1.0.0" + micromark-util-decode-string@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.0.tgz" @@ -6322,6 +7475,11 @@ micromark-util-decode-string@^2.0.0: micromark-util-decode-numeric-character-reference "^2.0.0" micromark-util-symbol "^2.0.0" +micromark-util-encode@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/micromark-util-encode/-/micromark-util-encode-1.1.0.tgz#92e4f565fd4ccb19e0dcae1afab9a173bbeb19a5" + integrity sha512-EuEzTWSTAj9PA5GOAs992GzNh2dGQO52UvAbtSOMvXTxv3Criqb6IOzJUBCmEqrrXSblJIJBbFFv6zPxpreiJw== + micromark-util-encode@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.0.tgz" @@ -6341,11 +7499,23 @@ micromark-util-events-to-acorn@^2.0.0: micromark-util-types "^2.0.0" vfile-message "^4.0.0" +micromark-util-html-tag-name@^1.0.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/micromark-util-html-tag-name/-/micromark-util-html-tag-name-1.2.0.tgz#48fd7a25826f29d2f71479d3b4e83e94829b3588" + integrity sha512-VTQzcuQgFUD7yYztuQFKXT49KghjtETQ+Wv/zUjGSGBioZnkA4P1XXZPT1FHeJA6RwRXSF47yvJ1tsJdoxwO+Q== + micromark-util-html-tag-name@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.0.tgz" integrity sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw== +micromark-util-normalize-identifier@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-1.1.0.tgz#7a73f824eb9f10d442b4d7f120fecb9b38ebf8b7" + integrity sha512-N+w5vhqrBihhjdpM8+5Xsxy71QWqGn7HYNUvch71iV2PM7+E3uWGox1Qp90loa1ephtCxG2ftRV/Conitc6P2Q== + dependencies: + micromark-util-symbol "^1.0.0" + micromark-util-normalize-identifier@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.0.tgz" @@ -6353,6 +7523,13 @@ micromark-util-normalize-identifier@^2.0.0: dependencies: micromark-util-symbol "^2.0.0" +micromark-util-resolve-all@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/micromark-util-resolve-all/-/micromark-util-resolve-all-1.1.0.tgz#4652a591ee8c8fa06714c9b54cd6c8e693671188" + integrity sha512-b/G6BTMSg+bX+xVCshPTPyAu2tmA0E4X98NSR7eIbeC6ycCqCeE7wjfDIgzEbkzdEVJXRtOG4FbEm/uGbCRouA== + dependencies: + micromark-util-types "^1.0.0" + micromark-util-resolve-all@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.0.tgz" @@ -6360,6 +7537,15 @@ micromark-util-resolve-all@^2.0.0: dependencies: micromark-util-types "^2.0.0" +micromark-util-sanitize-uri@^1.0.0, micromark-util-sanitize-uri@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-1.2.0.tgz#613f738e4400c6eedbc53590c67b197e30d7f90d" + integrity sha512-QO4GXv0XZfWey4pYFndLUKEAktKkG5kZTdUNaTAkzbuJxn2tNBOr+QtxR2XpWaMhbImT2dPzyLrPXLlPhph34A== + dependencies: + micromark-util-character "^1.0.0" + micromark-util-encode "^1.0.0" + micromark-util-symbol "^1.0.0" + micromark-util-sanitize-uri@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.0.tgz" @@ -6369,6 +7555,16 @@ micromark-util-sanitize-uri@^2.0.0: micromark-util-encode "^2.0.0" micromark-util-symbol "^2.0.0" +micromark-util-subtokenize@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/micromark-util-subtokenize/-/micromark-util-subtokenize-1.1.0.tgz#941c74f93a93eaf687b9054aeb94642b0e92edb1" + integrity sha512-kUQHyzRoxvZO2PuLzMt2P/dwVsTiivCK8icYTeR+3WgbuPqfHgPPy7nFKbeqRivBvn/3N3GBiNC+JRTMSxEC7A== + dependencies: + micromark-util-chunked "^1.0.0" + micromark-util-symbol "^1.0.0" + micromark-util-types "^1.0.0" + uvu "^0.5.0" + micromark-util-subtokenize@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.0.0.tgz" @@ -6389,7 +7585,7 @@ micromark-util-symbol@^2.0.0: resolved "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz" integrity sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw== -micromark-util-types@^1.0.0: +micromark-util-types@^1.0.0, micromark-util-types@^1.0.1: version "1.1.0" resolved "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-1.1.0.tgz" integrity sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg== @@ -6399,6 +7595,29 @@ micromark-util-types@^2.0.0: resolved "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.0.tgz" integrity sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w== +micromark@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/micromark/-/micromark-3.2.0.tgz#1af9fef3f995ea1ea4ac9c7e2f19c48fd5c006e9" + integrity sha512-uD66tJj54JLYq0De10AhWycZWGQNUvDI55xPgk2sQM5kn1JYlhbCMTtEeT27+vAhW2FBQxLlOmS3pmA7/2z4aA== + dependencies: + "@types/debug" "^4.0.0" + debug "^4.0.0" + decode-named-character-reference "^1.0.0" + micromark-core-commonmark "^1.0.1" + micromark-factory-space "^1.0.0" + micromark-util-character "^1.0.0" + micromark-util-chunked "^1.0.0" + micromark-util-combine-extensions "^1.0.0" + micromark-util-decode-numeric-character-reference "^1.0.0" + micromark-util-encode "^1.0.0" + micromark-util-normalize-identifier "^1.0.0" + micromark-util-resolve-all "^1.0.0" + micromark-util-sanitize-uri "^1.0.0" + micromark-util-subtokenize "^1.0.0" + micromark-util-symbol "^1.0.0" + micromark-util-types "^1.0.1" + uvu "^0.5.0" + micromark@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/micromark/-/micromark-4.0.0.tgz" @@ -6430,6 +7649,19 @@ micromatch@^4.0.2, micromatch@^4.0.4, micromatch@^4.0.5: braces "^3.0.2" picomatch "^2.3.1" +miller-rabin@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" + integrity sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA== + dependencies: + bn.js "^4.0.0" + brorand "^1.0.1" + +mime-db@1.51.0: + version "1.51.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.51.0.tgz#d9ff62451859b18342d960850dc3cfb77e63fb0c" + integrity sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g== + mime-db@1.52.0, "mime-db@>= 1.43.0 < 2": version "1.52.0" resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz" @@ -6440,6 +7672,13 @@ mime-db@~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-format@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/mime-format/-/mime-format-2.0.1.tgz#1274876d58bc803332427a515f5f7036e07b9413" + integrity sha512-XxU3ngPbEnrYnNbIX+lYSaYg0M01v6p2ntd2YaFksTu0vayaw5OJvbdRyWs07EYRlLED5qadUZ+xo+XhOvFhwg== + dependencies: + charset "^1.0.0" + mime-types@2.1.18, mime-types@~2.1.17: version "2.1.18" resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz" @@ -6447,6 +7686,13 @@ mime-types@2.1.18, mime-types@~2.1.17: dependencies: mime-db "~1.33.0" +mime-types@2.1.34: + version "2.1.34" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.34.tgz#5a712f9ec1503511a945803640fafe09d3793c24" + integrity sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A== + dependencies: + mime-db "1.51.0" + mime-types@^2.1.27, mime-types@^2.1.31, mime-types@~2.1.24, mime-types@~2.1.34: version "2.1.35" resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz" @@ -6481,11 +7727,16 @@ mini-css-extract-plugin@^2.7.6: dependencies: schema-utils "^4.0.0" -minimalistic-assert@^1.0.0: +minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: version "1.0.1" resolved "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz" integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== +minimalistic-crypto-utils@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" + integrity sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg== + minimatch@3.1.2, minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1: version "3.1.2" resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" @@ -6493,6 +7744,13 @@ minimatch@3.1.2, minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1: dependencies: brace-expansion "^1.1.7" +minimatch@^5.0.1: + version "5.1.6" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.6.tgz#1cfcb8cf5522ea69952cd2af95ae09477f122a96" + integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g== + dependencies: + brace-expansion "^2.0.1" + minimatch@^9.0.1: version "9.0.4" resolved "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz" @@ -6515,9 +7773,9 @@ mkdirp-classic@^0.5.2, mkdirp-classic@^0.5.3: resolved "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz" integrity sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A== -mri@^1.2.0: +mri@^1.1.0, mri@^1.2.0: version "1.2.0" - resolved "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz" + resolved "https://registry.yarnpkg.com/mri/-/mri-1.2.0.tgz#6721480fec2a11a4889861115a48b6cbe7cc8f0b" integrity sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA== mrmime@^1.0.0: @@ -6548,6 +7806,11 @@ multicast-dns@^7.2.5: dns-packet "^5.2.2" thunky "^1.0.2" +mustache@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/mustache/-/mustache-4.2.0.tgz#e5892324d60a12ec9c2a73359edca52972bf6f64" + integrity sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ== + mz@^2.7.0: version "2.7.0" resolved "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz" @@ -6607,11 +7870,63 @@ node-emoji@^2.1.0: emojilib "^2.4.0" skin-tone "^2.0.0" +node-fetch-h2@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/node-fetch-h2/-/node-fetch-h2-2.3.0.tgz#c6188325f9bd3d834020bf0f2d6dc17ced2241ac" + integrity sha512-ofRW94Ab0T4AOh5Fk8t0h8OBWrmjb0SSB20xh1H8YnPV9EJ+f5AMoYSUQ2zgJ4Iq2HAK0I2l5/Nequ8YzFS3Hg== + dependencies: + http2-client "^1.2.5" + +node-fetch@^2.6.1: + version "2.7.0" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.7.0.tgz#d0f0fa6e3e2dc1d27efcd8ad99d550bda94d187d" + integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== + dependencies: + whatwg-url "^5.0.0" + node-forge@^1: version "1.3.1" resolved "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz" integrity sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA== +node-polyfill-webpack-plugin@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/node-polyfill-webpack-plugin/-/node-polyfill-webpack-plugin-2.0.1.tgz#141d86f177103a8517c71d99b7c6a46edbb1bb58" + integrity sha512-ZUMiCnZkP1LF0Th2caY6J/eKKoA0TefpoVa68m/LQU1I/mE8rGt4fNYGgNuCcK+aG8P8P43nbeJ2RqJMOL/Y1A== + dependencies: + assert "^2.0.0" + browserify-zlib "^0.2.0" + buffer "^6.0.3" + console-browserify "^1.2.0" + constants-browserify "^1.0.0" + crypto-browserify "^3.12.0" + domain-browser "^4.22.0" + events "^3.3.0" + filter-obj "^2.0.2" + https-browserify "^1.0.0" + os-browserify "^0.3.0" + path-browserify "^1.0.1" + process "^0.11.10" + punycode "^2.1.1" + querystring-es3 "^0.2.1" + readable-stream "^4.0.0" + stream-browserify "^3.0.0" + stream-http "^3.2.0" + string_decoder "^1.3.0" + timers-browserify "^2.0.12" + tty-browserify "^0.0.1" + type-fest "^2.14.0" + url "^0.11.0" + util "^0.12.4" + vm-browserify "^1.1.2" + +node-readfiles@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/node-readfiles/-/node-readfiles-0.2.0.tgz#dbbd4af12134e2e635c245ef93ffcf6f60673a5d" + integrity sha512-SU00ZarexNlE4Rjdm83vglt5Y9yiQ+XI1XpflWlb7q7UTN1JUItm69xMeiQCTxtTfnzt+83T8Cx+vI2ED++VDA== + dependencies: + es6-promise "^3.2.1" + node-releases@^2.0.14: version "2.0.14" resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz" @@ -6651,6 +7966,64 @@ nth-check@^2.0.1: dependencies: boolbase "^1.0.0" +oas-kit-common@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/oas-kit-common/-/oas-kit-common-1.0.8.tgz#6d8cacf6e9097967a4c7ea8bcbcbd77018e1f535" + integrity sha512-pJTS2+T0oGIwgjGpw7sIRU8RQMcUoKCDWFLdBqKB2BNmGpbBMH2sdqAaOXUg8OzonZHU0L7vfJu1mJFEiYDWOQ== + dependencies: + fast-safe-stringify "^2.0.7" + +oas-linter@^3.2.2: + version "3.2.2" + resolved "https://registry.yarnpkg.com/oas-linter/-/oas-linter-3.2.2.tgz#ab6a33736313490659035ca6802dc4b35d48aa1e" + integrity sha512-KEGjPDVoU5K6swgo9hJVA/qYGlwfbFx+Kg2QB/kd7rzV5N8N5Mg6PlsoCMohVnQmo+pzJap/F610qTodKzecGQ== + dependencies: + "@exodus/schemasafe" "^1.0.0-rc.2" + should "^13.2.1" + yaml "^1.10.0" + +oas-resolver-browser@2.5.2: + version "2.5.2" + resolved "https://registry.yarnpkg.com/oas-resolver-browser/-/oas-resolver-browser-2.5.2.tgz#d972525a840d7a74ab1aa43e215e9531a99412ba" + integrity sha512-L3ugWyBHOpKLT+lb+pFXCOpk3byh6usis5T9u9mfu92jH5bR6YK8MA2bebUTIjY7I4415PzDeZcmcc+i7X05MA== + dependencies: + node-fetch-h2 "^2.3.0" + oas-kit-common "^1.0.8" + path-browserify "^1.0.1" + reftools "^1.1.6" + yaml "^1.10.0" + yargs "^15.3.1" + +oas-resolver@^2.5.6: + version "2.5.6" + resolved "https://registry.yarnpkg.com/oas-resolver/-/oas-resolver-2.5.6.tgz#10430569cb7daca56115c915e611ebc5515c561b" + integrity sha512-Yx5PWQNZomfEhPPOphFbZKi9W93CocQj18NlD2Pa4GWZzdZpSJvYwoiuurRI7m3SpcChrnO08hkuQDL3FGsVFQ== + dependencies: + node-fetch-h2 "^2.3.0" + oas-kit-common "^1.0.8" + reftools "^1.1.9" + yaml "^1.10.0" + yargs "^17.0.1" + +oas-schema-walker@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/oas-schema-walker/-/oas-schema-walker-1.1.5.tgz#74c3cd47b70ff8e0b19adada14455b5d3ac38a22" + integrity sha512-2yucenq1a9YPmeNExoUa9Qwrt9RFkjqaMAA1X+U7sbb0AqBeTIdMHky9SQQ6iN94bO5NW0W4TRYXerG+BdAvAQ== + +oas-validator@^5.0.8: + version "5.0.8" + resolved "https://registry.yarnpkg.com/oas-validator/-/oas-validator-5.0.8.tgz#387e90df7cafa2d3ffc83b5fb976052b87e73c28" + integrity sha512-cu20/HE5N5HKqVygs3dt94eYJfBi0TsZvPVXDhbXQHiEityDN+RROTleefoKRKKJ9dFAF2JBkDHgvWj0sjKGmw== + dependencies: + call-me-maybe "^1.0.1" + oas-kit-common "^1.0.8" + oas-linter "^3.2.2" + oas-resolver "^2.5.6" + oas-schema-walker "^1.1.5" + reftools "^1.1.9" + should "^13.2.1" + yaml "^1.10.0" + object-assign@^4.0.1, object-assign@^4.1.1: version "4.1.1" resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" @@ -6661,6 +8034,14 @@ object-inspect@^1.13.1: resolved "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz" integrity sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ== +object-is@^1.1.5: + version "1.1.6" + resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.6.tgz#1a6a53aed2dd8f7e6775ff870bea58545956ab07" + integrity sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + object-keys@^1.1.1: version "1.1.1" resolved "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz" @@ -6676,6 +8057,16 @@ object.assign@^4.1.0: has-symbols "^1.0.3" object-keys "^1.1.1" +object.assign@^4.1.4: + version "4.1.5" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.5.tgz#3a833f9ab7fdb80fc9e8d2300c803d216d8fdbb0" + integrity sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ== + dependencies: + call-bind "^1.0.5" + define-properties "^1.2.1" + has-symbols "^1.0.3" + object-keys "^1.1.1" + obuf@^1.0.0, obuf@^1.1.2: version "1.1.2" resolved "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz" @@ -6721,6 +8112,11 @@ opener@^1.5.2: resolved "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz" integrity sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A== +os-browserify@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" + integrity sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A== + os-homedir@^1.0.1: version "1.0.2" resolved "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz" @@ -6731,7 +8127,7 @@ p-cancelable@^3.0.0: resolved "https://registry.npmjs.org/p-cancelable/-/p-cancelable-3.0.0.tgz" integrity sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw== -p-limit@^2.0.0: +p-limit@^2.0.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== @@ -6759,6 +8155,13 @@ p-locate@^3.0.0: dependencies: p-limit "^2.0.0" +p-locate@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" + integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== + dependencies: + p-limit "^2.2.0" + p-locate@^5.0.0: version "5.0.0" resolved "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz" @@ -6803,6 +8206,11 @@ package-json@^8.1.0: registry-url "^6.0.0" semver "^7.3.7" +pako@~1.0.5: + version "1.0.11" + resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" + integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== + param-case@^3.0.4: version "3.0.4" resolved "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz" @@ -6818,6 +8226,18 @@ parent-module@^1.0.0: dependencies: callsites "^3.0.0" +parse-asn1@^5.0.0, parse-asn1@^5.1.7: + version "5.1.7" + resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.7.tgz#73cdaaa822125f9647165625eb45f8a051d2df06" + integrity sha512-CTM5kuWR3sx9IFamcl5ErfPl6ea/N8IYwiJ+vpeB2g+1iknv7zBl5uPwbMbRVznRVbrNY6lGuDoE5b30grmbqg== + dependencies: + asn1.js "^4.10.1" + browserify-aes "^1.2.0" + evp_bytestokey "^1.0.3" + hash-base "~3.0" + pbkdf2 "^3.1.2" + safe-buffer "^5.2.1" + parse-entities@^4.0.0: version "4.0.1" resolved "https://registry.npmjs.org/parse-entities/-/parse-entities-4.0.1.tgz" @@ -6855,6 +8275,11 @@ parse5-htmlparser2-tree-adapter@^7.0.0: domhandler "^5.0.2" parse5 "^7.0.0" +parse5@^6.0.0: + version "6.0.1" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b" + integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== + parse5@^7.0.0: version "7.1.2" resolved "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz" @@ -6875,6 +8300,11 @@ pascal-case@^3.1.2: no-case "^3.0.4" tslib "^2.0.3" +path-browserify@1.0.1, path-browserify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-1.0.1.tgz#d98454a9c3753d5790860f16f68867b9e46be1fd" + integrity sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g== + path-exists@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz" @@ -6952,6 +8382,25 @@ path-type@^4.0.0: resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== +path@^0.12.7: + version "0.12.7" + resolved "https://registry.yarnpkg.com/path/-/path-0.12.7.tgz#d4dc2a506c4ce2197eb481ebfcd5b36c0140b10f" + integrity sha512-aXXC6s+1w7otVF9UletFkFcDsJeO7lSZBPUQhtb5O0xJe8LtYhj/GxldoL09bBj9+ZmE2hNoHqQSFMN5fikh4Q== + dependencies: + process "^0.11.1" + util "^0.10.3" + +pbkdf2@^3.0.3, pbkdf2@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.2.tgz#dd822aa0887580e52f1a039dc3eda108efae3075" + integrity sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA== + dependencies: + create-hash "^1.1.2" + create-hmac "^1.1.4" + ripemd160 "^2.0.1" + safe-buffer "^5.0.1" + sha.js "^2.4.8" + periscopic@^3.0.0: version "3.1.0" resolved "https://registry.npmjs.org/periscopic/-/periscopic-3.1.0.tgz" @@ -6966,6 +8415,11 @@ picocolors@^1.0.0: resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz" integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== +picocolors@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.1.tgz#a8ad579b571952f0e5d25892de5445bcfe25aaa1" + integrity sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew== + picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3, picomatch@^2.3.1: version "2.3.1" resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" @@ -6995,6 +8449,16 @@ pkg-up@^3.1.0: dependencies: find-up "^3.0.0" +pluralize@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-8.0.0.tgz#1a6fa16a38d12a1901e0320fa017051c539ce3b1" + integrity sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA== + +possible-typed-array-names@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz#89bb63c6fada2c3e90adc4a647beeeb39cc7bf8f" + integrity sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q== + postcss-calc@^9.0.1: version "9.0.1" resolved "https://registry.npmjs.org/postcss-calc/-/postcss-calc-9.0.1.tgz" @@ -7284,6 +8748,13 @@ postcss@^8.4.21, postcss@^8.4.24, postcss@^8.4.26, postcss@^8.4.38: picocolors "^1.0.0" source-map-js "^1.2.0" +postman-url-encoder@3.0.5: + version "3.0.5" + resolved "https://registry.yarnpkg.com/postman-url-encoder/-/postman-url-encoder-3.0.5.tgz#af2efee3bb7644e2b059d8a78bc8070fae0467a5" + integrity sha512-jOrdVvzUXBC7C+9gkIkpDJ3HIxOHTIqjpQ4C1EMt1ZGeMvSEpbFCKq23DEfgsj46vMnDgyQf+1ZLp2Wm+bKSsA== + dependencies: + punycode "^2.1.1" + prebuild-install@^7.1.1: version "7.1.1" resolved "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.1.tgz" @@ -7351,6 +8822,11 @@ process-nextick-args@~2.0.0: resolved "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz" integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== +process@^0.11.1, process@^0.11.10: + version "0.11.10" + resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" + integrity sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A== + prompts@^2.4.2: version "2.4.2" resolved "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz" @@ -7386,6 +8862,18 @@ proxy-addr@~2.0.7: forwarded "0.2.0" ipaddr.js "1.9.1" +public-encrypt@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0" + integrity sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q== + dependencies: + bn.js "^4.1.0" + browserify-rsa "^4.0.0" + create-hash "^1.1.0" + parse-asn1 "^5.0.0" + randombytes "^2.0.1" + safe-buffer "^5.1.2" + pump@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz" @@ -7394,12 +8882,12 @@ pump@^3.0.0: end-of-stream "^1.1.0" once "^1.3.1" -punycode@^1.3.2: +punycode@^1.3.2, punycode@^1.4.1: version "1.4.1" resolved "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz" integrity sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ== -punycode@^2.1.0: +punycode@^2.1.0, punycode@^2.1.1: version "2.3.1" resolved "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz" integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== @@ -7418,6 +8906,18 @@ qs@6.11.0: dependencies: side-channel "^1.0.4" +qs@^6.11.2: + version "6.12.1" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.12.1.tgz#39422111ca7cbdb70425541cba20c7d7b216599a" + integrity sha512-zWmv4RSuB9r2mYQw3zxQuHWeU+42aKi1wWig/j4ele4ygELZ7PEO6MM7rim9oAQH2A5MWfsAVf/jPvTPgCbvUQ== + dependencies: + side-channel "^1.0.6" + +querystring-es3@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" + integrity sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA== + queue-microtask@^1.2.2: version "1.2.3" resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" @@ -7440,13 +8940,21 @@ quick-lru@^5.1.1: resolved "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz" integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== -randombytes@^2.1.0: +randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, 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" +randomfill@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458" + integrity sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw== + dependencies: + randombytes "^2.0.5" + safe-buffer "^5.1.0" + range-parser@1.2.0: version "1.2.0" resolved "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz" @@ -7543,6 +9051,11 @@ react-helmet-async@*, react-helmet-async@^1.3.0: react-fast-compare "^3.2.0" shallowequal "^1.1.0" +react-hook-form@^7.43.8: + version "7.51.5" + resolved "https://registry.yarnpkg.com/react-hook-form/-/react-hook-form-7.51.5.tgz#4afbfb819312db9fea23e8237a3a0d097e128b43" + integrity sha512-J2ILT5gWx1XUIJRETiA7M19iXHlG74+6O3KApzvqB/w8S5NQR7AbU8HVZrMALdmDgWpRPYiZJl0zx8Z4L2mP6Q== + react-hot-toast@^2.4.0: version "2.4.1" resolved "https://registry.npmjs.org/react-hot-toast/-/react-hot-toast-2.4.1.tgz" @@ -7560,12 +9073,27 @@ react-is@^16.13.1, react-is@^16.6.0, react-is@^16.7.0: resolved "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz" integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== +react-is@^17.0.2: + version "17.0.2" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" + integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== + +react-is@^18.0.0: + version "18.3.1" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.3.1.tgz#e83557dc12eae63a99e003a46388b1dcbb44db7e" + integrity sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg== + react-json-view-lite@^1.2.0: version "1.4.0" resolved "https://registry.npmjs.org/react-json-view-lite/-/react-json-view-lite-1.4.0.tgz" integrity sha512-wh6F6uJyYAmQ4fK0e8dSQMEWuvTs2Wr3el3sLD9bambX1+pSWUVXIz1RFaoy3TI1mZ0FqdpKq9YgbgTTgyrmXA== -react-live@^4.1.6: +react-lifecycles-compat@^3.0.0: + version "3.0.4" + resolved "https://registry.yarnpkg.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362" + integrity sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA== + +react-live@^4.0.0, react-live@^4.1.6: version "4.1.6" resolved "https://registry.npmjs.org/react-live/-/react-live-4.1.6.tgz" integrity sha512-2oq3MADi3rupqZcdoHMrV9p+Eg/92BDds278ZuoOz8d68qw6ct0xZxX89MRxeChrnFHy1XPr8BVknDJNJNdvVw== @@ -7588,6 +9116,54 @@ react-loadable-ssr-addon-v5-slorber@^1.0.1: dependencies: "@types/react" "*" +react-magic-dropzone@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/react-magic-dropzone/-/react-magic-dropzone-1.0.1.tgz#bfd25b77b57e7a04aaef0a28910563b707ee54df" + integrity sha512-0BIROPARmXHpk4AS3eWBOsewxoM5ndk2psYP/JmbCq8tz3uR2LIV1XiroZ9PKrmDRMctpW+TvsBCtWasuS8vFA== + +react-markdown@^8.0.1: + version "8.0.7" + resolved "https://registry.yarnpkg.com/react-markdown/-/react-markdown-8.0.7.tgz#c8dbd1b9ba5f1c5e7e5f2a44de465a3caafdf89b" + integrity sha512-bvWbzG4MtOU62XqBx3Xx+zB2raaFFsq4mYiAzfjXJMEz2sixgeAfraA3tvzULF02ZdOMUOKTBFFaZJDDrq+BJQ== + dependencies: + "@types/hast" "^2.0.0" + "@types/prop-types" "^15.0.0" + "@types/unist" "^2.0.0" + comma-separated-tokens "^2.0.0" + hast-util-whitespace "^2.0.0" + prop-types "^15.0.0" + property-information "^6.0.0" + react-is "^18.0.0" + remark-parse "^10.0.0" + remark-rehype "^10.0.0" + space-separated-tokens "^2.0.0" + style-to-object "^0.4.0" + unified "^10.0.0" + unist-util-visit "^4.0.0" + vfile "^5.0.0" + +react-modal@^3.15.1: + version "3.16.1" + resolved "https://registry.yarnpkg.com/react-modal/-/react-modal-3.16.1.tgz#34018528fc206561b1a5467fc3beeaddafb39b2b" + integrity sha512-VStHgI3BVcGo7OXczvnJN7yT2TWHJPDXZWyI/a0ssFNhGZWsPmB8cF0z33ewDXq4VfYMO1vXgiv/g8Nj9NDyWg== + dependencies: + exenv "^1.2.0" + prop-types "^15.7.2" + react-lifecycles-compat "^3.0.0" + warning "^4.0.3" + +react-redux@^7.2.0: + version "7.2.9" + resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-7.2.9.tgz#09488fbb9416a4efe3735b7235055442b042481d" + integrity sha512-Gx4L3uM182jEEayZfRbI/G11ZpYdNAnBs70lFVMNdHJI76XYtR+7m0MN+eAs7UHBPhWXcnFPaS+9owSCJQHNpQ== + dependencies: + "@babel/runtime" "^7.15.4" + "@types/react-redux" "^7.1.20" + hoist-non-react-statics "^3.3.2" + loose-envify "^1.4.0" + prop-types "^15.7.2" + react-is "^17.0.2" + 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" @@ -7648,7 +9224,7 @@ react@^18.3.1: dependencies: loose-envify "^1.1.0" -readable-stream@^2.0.1: +readable-stream@^2.0.1, readable-stream@^2.3.8: version "2.3.8" resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz" integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== @@ -7661,7 +9237,7 @@ readable-stream@^2.0.1: string_decoder "~1.1.1" util-deprecate "~1.0.1" -readable-stream@^3.0.6, readable-stream@^3.1.1, readable-stream@^3.4.0: +readable-stream@^3.0.6, readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.5.0, readable-stream@^3.6.0: version "3.6.2" resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz" integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== @@ -7670,6 +9246,17 @@ readable-stream@^3.0.6, readable-stream@^3.1.1, readable-stream@^3.4.0: string_decoder "^1.1.1" util-deprecate "^1.0.1" +readable-stream@^4.0.0: + version "4.5.2" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-4.5.2.tgz#9e7fc4c45099baeed934bff6eb97ba6cf2729e09" + integrity sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g== + dependencies: + abort-controller "^3.0.0" + buffer "^6.0.3" + events "^3.3.0" + process "^0.11.10" + string_decoder "^1.3.0" + readdirp@~3.6.0: version "3.6.0" resolved "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz" @@ -7696,6 +9283,23 @@ recursive-readdir@^2.2.2: dependencies: minimatch "^3.0.5" +redux-thunk@^2.4.2: + version "2.4.2" + resolved "https://registry.yarnpkg.com/redux-thunk/-/redux-thunk-2.4.2.tgz#b9d05d11994b99f7a91ea223e8b04cf0afa5ef3b" + integrity sha512-+P3TjtnP0k/FEjcBL5FZpoovtvrTNT/UXd4/sluaSyrURlSlhLSzEdfsTBW7WsKB6yPvgd7q/iZPICFjW4o57Q== + +redux@^4.0.0, redux@^4.2.1: + version "4.2.1" + resolved "https://registry.yarnpkg.com/redux/-/redux-4.2.1.tgz#c08f4306826c49b5e9dc901dee0452ea8fce6197" + integrity sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w== + dependencies: + "@babel/runtime" "^7.9.2" + +reftools@^1.1.6, reftools@^1.1.9: + version "1.1.9" + resolved "https://registry.yarnpkg.com/reftools/-/reftools-1.1.9.tgz#e16e19f662ccd4648605312c06d34e5da3a2b77e" + integrity sha512-OVede/NQE13xBQ+ob5CKd5KyeJYU2YInb1bmV4nRoOfquZPkAkxuOXicSe1PvqIuZZ4kD13sPKBbR7UFDmli6w== + regenerate-unicode-properties@^10.1.0: version "10.1.1" resolved "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz" @@ -7784,6 +9388,15 @@ regjsparser@^0.9.1: dependencies: jsesc "~0.5.0" +rehype-raw@^6.1.1: + version "6.1.1" + resolved "https://registry.yarnpkg.com/rehype-raw/-/rehype-raw-6.1.1.tgz#81bbef3793bd7abacc6bf8335879d1b6c868c9d4" + integrity sha512-d6AKtisSRtDRX4aSPsJGTfnzrX2ZkHQLE5kiUuGOeEoLpbEulFF4hj0mLPbsa+7vmguDKOVVEQdHKDSwoaIDsQ== + dependencies: + "@types/hast" "^2.0.0" + hast-util-raw "^7.2.0" + unified "^10.0.0" + rehype-raw@^7.0.0: version "7.0.0" resolved "https://registry.npmjs.org/rehype-raw/-/rehype-raw-7.0.0.tgz" @@ -7849,6 +9462,15 @@ remark-mdx@^3.0.0: mdast-util-mdx "^3.0.0" micromark-extension-mdxjs "^3.0.0" +remark-parse@^10.0.0: + version "10.0.2" + resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-10.0.2.tgz#ca241fde8751c2158933f031a4e3efbaeb8bc262" + integrity sha512-3ydxgHa/ZQzG8LvC7jTXccARYDcRld3VfcgIIFs7bI6vbRSxJJmzgLEIIoYKyrfhaY+ujuWaf/PJiMZXoiCXgw== + dependencies: + "@types/mdast" "^3.0.0" + mdast-util-from-markdown "^1.0.0" + unified "^10.0.0" + remark-parse@^11.0.0: version "11.0.0" resolved "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz" @@ -7859,6 +9481,16 @@ remark-parse@^11.0.0: micromark-util-types "^2.0.0" unified "^11.0.0" +remark-rehype@^10.0.0: + version "10.1.0" + resolved "https://registry.yarnpkg.com/remark-rehype/-/remark-rehype-10.1.0.tgz#32dc99d2034c27ecaf2e0150d22a6dcccd9a6279" + integrity sha512-EFmR5zppdBp0WQeDVZ/b66CWJipB2q2VLNFMabzDSGR66Z2fQii83G5gTBbgGEnEEA0QRussvrFHxk1HWGJskw== + dependencies: + "@types/hast" "^2.0.0" + "@types/mdast" "^3.0.0" + mdast-util-to-hast "^12.1.0" + unified "^10.0.0" + remark-rehype@^11.0.0: version "11.0.0" resolved "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.0.0.tgz" @@ -7890,6 +9522,11 @@ renderkid@^3.0.0: lodash "^4.17.21" strip-ansi "^6.0.1" +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== + require-from-string@^2.0.2: version "2.0.2" resolved "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz" @@ -7900,11 +9537,21 @@ require-from-string@^2.0.2: resolved "https://registry.npmjs.org/require-like/-/require-like-0.1.2.tgz" integrity sha512-oyrU88skkMtDdauHDuKVrgR+zuItqr6/c//FXzvmxRGMexSDc6hNvJInGW3LL46n+8b50RykrvwSUIIQH2LQ5A== +require-main-filename@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" + 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 sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ== +reselect@^4.1.8: + version "4.1.8" + resolved "https://registry.yarnpkg.com/reselect/-/reselect-4.1.8.tgz#3f5dc671ea168dccdeb3e141236f69f02eaec524" + integrity sha512-ab9EmR80F/zQTMNeneUr4cv+jSwPJgIlvEmVwLerwrWVbpLlBuls9XHzIeTFy4cegU2NHBp3va0LKOzU5qFEYQ== + resolve-alpn@^1.2.0: version "1.2.1" resolved "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz" @@ -7960,6 +9607,14 @@ rimraf@^3.0.2: dependencies: glob "^7.1.3" +ripemd160@^2.0.0, ripemd160@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" + integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + rtl-detect@^1.0.4: version "1.1.2" resolved "https://registry.npmjs.org/rtl-detect/-/rtl-detect-1.1.2.tgz" @@ -7982,21 +9637,55 @@ run-parallel@^1.1.9: dependencies: queue-microtask "^1.2.2" +sade@^1.7.3: + version "1.8.1" + resolved "https://registry.yarnpkg.com/sade/-/sade-1.8.1.tgz#0a78e81d658d394887be57d2a409bf703a3b2701" + integrity sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A== + dependencies: + mri "^1.1.0" + safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: 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.1, safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@~5.2.0: +safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@^5.2.1, 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== -"safer-buffer@>= 2.1.2 < 3": +"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0": version "2.1.2" resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== +sass-loader@^10.1.1: + version "10.5.2" + resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-10.5.2.tgz#1ca30534fff296417b853c7597ca3b0bbe8c37d0" + integrity sha512-vMUoSNOUKJILHpcNCCyD23X34gve1TS7Rjd9uXHeKqhvBG39x6XbswFDtpbTElj6XdMFezoWhkh5vtKudf2cgQ== + dependencies: + klona "^2.0.4" + loader-utils "^2.0.0" + neo-async "^2.6.2" + schema-utils "^3.0.0" + semver "^7.3.2" + +sass-loader@^13.3.2: + version "13.3.3" + resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-13.3.3.tgz#60df5e858788cffb1a3215e5b92e9cba61e7e133" + integrity sha512-mt5YN2F1MOZr3d/wBRcZxeFgwgkH44wVc2zohO2YF6JiOMkiXe4BYRZpSu2sO1g71mo/j16txzUhsKZlqjVGzA== + dependencies: + neo-async "^2.6.2" + +sass@^1.58.1: + version "1.77.4" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.77.4.tgz#92059c7bfc56b827c56eb116778d157ec017a5cd" + integrity sha512-vcF3Ckow6g939GMA4PeU7b2K/9FALXk2KF9J87txdHzXbUF9XRQRwSxcAs/fGaTnJeBFd7UoV22j3lzMLdM0Pw== + dependencies: + chokidar ">=3.0.0 <4.0.0" + immutable "^4.0.0" + source-map-js ">=0.6.2 <2.0.0" + sax@^1.2.4: version "1.3.0" resolved "https://registry.npmjs.org/sax/-/sax-1.3.0.tgz" @@ -8065,6 +9754,13 @@ semver-diff@^4.0.0: dependencies: semver "^7.3.5" +semver@7.3.5: + version "7.3.5" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" + integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== + dependencies: + lru-cache "^6.0.0" + semver@^6.3.1: version "6.3.1" resolved "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz" @@ -8140,6 +9836,11 @@ serve-static@1.15.0: parseurl "~1.3.3" send "0.18.0" +set-blocking@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw== + set-function-length@^1.2.1: version "1.2.2" resolved "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz" @@ -8152,6 +9853,11 @@ set-function-length@^1.2.1: gopd "^1.0.1" has-property-descriptors "^1.0.2" +setimmediate@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" + integrity sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA== + setprototypeof@1.1.0: version "1.1.0" resolved "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz" @@ -8162,6 +9868,14 @@ setprototypeof@1.2.0: resolved "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz" integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== +sha.js@^2.4.0, sha.js@^2.4.8: + version "2.4.11" + resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" + integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + shallow-clone@^3.0.0: version "3.0.1" resolved "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz" @@ -8214,7 +9928,51 @@ shelljs@^0.8.5: interpret "^1.0.0" rechoir "^0.6.2" -side-channel@^1.0.4: +should-equal@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/should-equal/-/should-equal-2.0.0.tgz#6072cf83047360867e68e98b09d71143d04ee0c3" + integrity sha512-ZP36TMrK9euEuWQYBig9W55WPC7uo37qzAEmbjHz4gfyuXrEUgF8cUvQVO+w+d3OMfPvSRQJ22lSm8MQJ43LTA== + dependencies: + should-type "^1.4.0" + +should-format@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/should-format/-/should-format-3.0.3.tgz#9bfc8f74fa39205c53d38c34d717303e277124f1" + integrity sha512-hZ58adtulAk0gKtua7QxevgUaXTTXxIi8t41L3zo9AHvjXO1/7sdLECuHeIN2SRtYXpNkmhoUP2pdeWgricQ+Q== + dependencies: + should-type "^1.3.0" + should-type-adaptors "^1.0.1" + +should-type-adaptors@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/should-type-adaptors/-/should-type-adaptors-1.1.0.tgz#401e7f33b5533033944d5cd8bf2b65027792e27a" + integrity sha512-JA4hdoLnN+kebEp2Vs8eBe9g7uy0zbRo+RMcU0EsNy+R+k049Ki+N5tT5Jagst2g7EAja+euFuoXFCa8vIklfA== + dependencies: + should-type "^1.3.0" + should-util "^1.0.0" + +should-type@^1.3.0, should-type@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/should-type/-/should-type-1.4.0.tgz#0756d8ce846dfd09843a6947719dfa0d4cff5cf3" + integrity sha512-MdAsTu3n25yDbIe1NeN69G4n6mUnJGtSJHygX3+oN0ZbO3DTiATnf7XnYJdGT42JCXurTb1JI0qOBR65shvhPQ== + +should-util@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/should-util/-/should-util-1.0.1.tgz#fb0d71338f532a3a149213639e2d32cbea8bcb28" + integrity sha512-oXF8tfxx5cDk8r2kYqlkUJzZpDBqVY/II2WhvU0n9Y3XYvAYRmeaf1PvvIvTgPnv4KJ+ES5M0PyDq5Jp+Ygy2g== + +should@^13.2.1: + version "13.2.3" + resolved "https://registry.yarnpkg.com/should/-/should-13.2.3.tgz#96d8e5acf3e97b49d89b51feaa5ae8d07ef58f10" + integrity sha512-ggLesLtu2xp+ZxI+ysJTmNjh2U0TsC+rQ/pfED9bUZZ4DKefP27D+7YJVVTvKsmjLpIi9jAa7itwDGkDDmt1GQ== + dependencies: + should-equal "^2.0.0" + should-format "^3.0.3" + should-type "^1.4.0" + should-type-adaptors "^1.0.1" + should-util "^1.0.0" + +side-channel@^1.0.4, side-channel@^1.0.6: version "1.0.6" resolved "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz" integrity sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA== @@ -8296,6 +10054,11 @@ slash@^4.0.0: resolved "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz" integrity sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew== +slugify@^1.6.5: + version "1.6.6" + resolved "https://registry.yarnpkg.com/slugify/-/slugify-1.6.6.tgz#2d4ac0eacb47add6af9e04d3be79319cbcc7924b" + integrity sha512-h+z7HKHYXj6wJU+AnS/+IH8Uh9fdcX1Lrhg1/VMdf9PwoBQXFcXiAdsy2tSK0P6gKwJLXp02r90ahUCqHk9rrw== + snake-case@^3.0.4: version "3.0.4" resolved "https://registry.npmjs.org/snake-case/-/snake-case-3.0.4.tgz" @@ -8318,7 +10081,7 @@ sort-css-media-queries@2.2.0: resolved "https://registry.npmjs.org/sort-css-media-queries/-/sort-css-media-queries-2.2.0.tgz" integrity sha512-0xtkGhWCC9MGt/EzgnvbbbKhqWjl1+/rncmhTh5qCpbYguXh6S/qwePfv/JQ8jePXXmqingylxoC49pCkSPIbA== -source-map-js@^1.0.1, source-map-js@^1.2.0: +"source-map-js@>=0.6.2 <2.0.0", source-map-js@^1.0.1, source-map-js@^1.2.0: version "1.2.0" resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz" integrity sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg== @@ -8399,6 +10162,24 @@ std-env@^3.0.1: resolved "https://registry.npmjs.org/std-env/-/std-env-3.4.3.tgz" integrity sha512-f9aPhy8fYBuMN+sNfakZV18U39PbalgjXG3lLB9WkaYTxijru61wb57V9wxxNthXM5Sd88ETBWi29qLAsHO52Q== +stream-browserify@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-3.0.0.tgz#22b0a2850cdf6503e73085da1fc7b7d0c2122f2f" + integrity sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA== + dependencies: + inherits "~2.0.4" + readable-stream "^3.5.0" + +stream-http@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-3.2.0.tgz#1872dfcf24cb15752677e40e5c3f9cc1926028b5" + integrity sha512-Oq1bLqisTyK3TSCXpPbT4sdeYNdmyZJv1LxpEm2vu1ZhK89kSE5YXwZc3cWk0MagGaKriBh9mCFbVGtO+vY29A== + dependencies: + builtin-status-codes "^3.0.0" + inherits "^2.0.4" + readable-stream "^3.6.0" + xtend "^4.0.2" + streamx@^2.15.0: version "2.15.2" resolved "https://registry.npmjs.org/streamx/-/streamx-2.15.2.tgz" @@ -8416,7 +10197,7 @@ streamx@^2.15.0: is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.1" -string-width@^4.1.0, string-width@^4.2.0: +string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: version "4.2.3" resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== @@ -8434,7 +10215,7 @@ string-width@^5.0.1, string-width@^5.1.2: emoji-regex "^9.2.2" strip-ansi "^7.0.1" -string_decoder@^1.1.1: +string_decoder@^1.1.1, string_decoder@^1.3.0: 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== @@ -8578,6 +10359,23 @@ svgo@^3.0.2, svgo@^3.2.0: csso "^5.0.5" picocolors "^1.0.0" +swagger2openapi@^7.0.8: + version "7.0.8" + resolved "https://registry.yarnpkg.com/swagger2openapi/-/swagger2openapi-7.0.8.tgz#12c88d5de776cb1cbba758994930f40ad0afac59" + integrity sha512-upi/0ZGkYgEcLeGieoz8gT74oWHA0E7JivX7aN9mAf+Tc7BQoRBvnIGHoPDw+f9TXTW4s6kGYCZJtauP6OYp7g== + dependencies: + call-me-maybe "^1.0.1" + node-fetch "^2.6.1" + node-fetch-h2 "^2.3.0" + node-readfiles "^0.2.0" + oas-kit-common "^1.0.8" + oas-resolver "^2.5.6" + oas-schema-walker "^1.1.5" + oas-validator "^5.0.8" + reftools "^1.1.9" + yaml "^1.10.0" + yargs "^17.0.1" + swr@^2.1.0: version "2.2.4" resolved "https://registry.npmjs.org/swr/-/swr-2.2.4.tgz" @@ -8635,6 +10433,17 @@ tar-stream@^3.1.5: fast-fifo "^1.2.0" streamx "^2.15.0" +terser-webpack-plugin@^5.3.10: + version "5.3.10" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz#904f4c9193c6fd2a03f693a2150c62a92f40d199" + integrity sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w== + dependencies: + "@jridgewell/trace-mapping" "^0.3.20" + jest-worker "^27.4.5" + schema-utils "^3.1.1" + serialize-javascript "^6.0.1" + terser "^5.26.0" + terser-webpack-plugin@^5.3.7, terser-webpack-plugin@^5.3.9: version "5.3.9" resolved "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz" @@ -8656,6 +10465,16 @@ terser@^5.10.0, terser@^5.15.1, terser@^5.16.8: commander "^2.20.0" source-map-support "~0.5.20" +terser@^5.26.0: + version "5.31.1" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.31.1.tgz#735de3c987dd671e95190e6b98cfe2f07f3cf0d4" + integrity sha512-37upzU1+viGvuFtBo9NPufCb9dwM0+l9hMxYyWfBA+fbwrPqNJAhbZ6W47bBFnZHKHTUBnMvi87434qq+qnxOg== + dependencies: + "@jridgewell/source-map" "^0.3.3" + acorn "^8.8.2" + commander "^2.20.0" + source-map-support "~0.5.20" + text-table@^0.2.0: version "0.2.0" resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" @@ -8680,6 +10499,13 @@ thunky@^1.0.2: resolved "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz" integrity sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA== +timers-browserify@^2.0.12: + version "2.0.12" + resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.12.tgz#44a45c11fbf407f34f97bccd1577c652361b00ee" + integrity sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ== + dependencies: + setimmediate "^1.0.4" + tiny-invariant@^1.0.2: version "1.3.1" resolved "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.1.tgz" @@ -8712,6 +10538,11 @@ totalist@^3.0.0: resolved "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz" integrity sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ== +tr46@~0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" + integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== + trim-lines@^3.0.0: version "3.0.1" resolved "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz" @@ -8732,6 +10563,11 @@ tslib@^2.0.3, tslib@^2.4.0, tslib@^2.6.0, tslib@^2.6.2: resolved "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz" integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== +tty-browserify@^0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.1.tgz#3f05251ee17904dfd0677546670db9651682b811" + integrity sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw== + tunnel-agent@^0.6.0: version "0.6.0" resolved "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz" @@ -8744,7 +10580,7 @@ type-fest@^1.0.1: resolved "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz" integrity sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA== -type-fest@^2.13.0, type-fest@^2.5.0: +type-fest@^2.13.0, type-fest@^2.14.0, type-fest@^2.5.0: version "2.19.0" resolved "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz" integrity sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA== @@ -8802,6 +10638,19 @@ unicode-property-aliases-ecmascript@^2.0.0: resolved "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz" integrity sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w== +unified@^10.0.0: + version "10.1.2" + resolved "https://registry.yarnpkg.com/unified/-/unified-10.1.2.tgz#b1d64e55dafe1f0b98bb6c719881103ecf6c86df" + integrity sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q== + dependencies: + "@types/unist" "^2.0.0" + bail "^2.0.0" + extend "^3.0.0" + is-buffer "^2.0.0" + is-plain-obj "^4.0.0" + trough "^2.0.0" + vfile "^5.0.0" + unified@^11.0.0, unified@^11.0.3, unified@^11.0.4: version "11.0.4" resolved "https://registry.npmjs.org/unified/-/unified-11.0.4.tgz" @@ -8822,6 +10671,18 @@ unique-string@^3.0.0: dependencies: crypto-random-string "^4.0.0" +unist-util-generated@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/unist-util-generated/-/unist-util-generated-2.0.1.tgz#e37c50af35d3ed185ac6ceacb6ca0afb28a85cae" + integrity sha512-qF72kLmPxAw0oN2fwpWIqbXAVyEqUzDHMsbtPvOudIlUzXYFIeQIuxXQCRCFh22B7cixvU0MG7m3MW8FTq/S+A== + +unist-util-is@^5.0.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-5.2.1.tgz#b74960e145c18dcb6226bc57933597f5486deae9" + integrity sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw== + dependencies: + "@types/unist" "^2.0.0" + unist-util-is@^6.0.0: version "6.0.0" resolved "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz" @@ -8836,6 +10697,13 @@ unist-util-position-from-estree@^2.0.0: dependencies: "@types/unist" "^3.0.0" +unist-util-position@^4.0.0: + version "4.0.4" + resolved "https://registry.yarnpkg.com/unist-util-position/-/unist-util-position-4.0.4.tgz#93f6d8c7d6b373d9b825844645877c127455f037" + integrity sha512-kUBE91efOWfIVBo8xzh/uZQ7p9ffYRtUbMRZBNFYwf0RK8koUMx6dGUfwylLOKmaT2cs4wSW96QoYUSXAyEtpg== + dependencies: + "@types/unist" "^2.0.0" + unist-util-position@^5.0.0: version "5.0.0" resolved "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz" @@ -8851,6 +10719,13 @@ unist-util-remove-position@^5.0.0: "@types/unist" "^3.0.0" unist-util-visit "^5.0.0" +unist-util-stringify-position@^3.0.0: + version "3.0.3" + resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz#03ad3348210c2d930772d64b489580c13a7db39d" + integrity sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg== + dependencies: + "@types/unist" "^2.0.0" + unist-util-stringify-position@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz" @@ -8858,6 +10733,14 @@ unist-util-stringify-position@^4.0.0: dependencies: "@types/unist" "^3.0.0" +unist-util-visit-parents@^5.1.1: + version "5.1.3" + resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-5.1.3.tgz#b4520811b0ca34285633785045df7a8d6776cfeb" + integrity sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg== + dependencies: + "@types/unist" "^2.0.0" + unist-util-is "^5.0.0" + unist-util-visit-parents@^6.0.0: version "6.0.1" resolved "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz" @@ -8866,6 +10749,15 @@ unist-util-visit-parents@^6.0.0: "@types/unist" "^3.0.0" unist-util-is "^6.0.0" +unist-util-visit@^4.0.0: + version "4.1.2" + resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-4.1.2.tgz#125a42d1eb876283715a3cb5cceaa531828c72e2" + integrity sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg== + dependencies: + "@types/unist" "^2.0.0" + unist-util-is "^5.0.0" + unist-util-visit-parents "^5.1.1" + unist-util-visit@^5.0.0: version "5.0.0" resolved "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz" @@ -8893,6 +10785,14 @@ update-browserslist-db@^1.0.13: escalade "^3.1.1" picocolors "^1.0.0" +update-browserslist-db@^1.0.16: + version "1.0.16" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.16.tgz#f6d489ed90fb2f07d67784eb3f53d7891f736356" + integrity sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ== + dependencies: + escalade "^3.1.2" + picocolors "^1.0.1" + update-notifier@^6.0.2: version "6.0.2" resolved "https://registry.npmjs.org/update-notifier/-/update-notifier-6.0.2.tgz" @@ -8929,6 +10829,14 @@ url-loader@^4.1.1: mime-types "^2.1.27" schema-utils "^3.0.0" +url@^0.11.0: + version "0.11.3" + resolved "https://registry.yarnpkg.com/url/-/url-0.11.3.tgz#6f495f4b935de40ce4a0a52faee8954244f3d3ad" + integrity sha512-6hxOLGfZASQK/cijlZnZJTq8OXAkt/3YGfQX45vvMYXpZoo8NdWZcY73K108Jf759lS1Bv/8wXnHDTSz17dSRw== + dependencies: + punycode "^1.4.1" + qs "^6.11.2" + use-editable@^2.3.3: version "2.3.3" resolved "https://registry.npmjs.org/use-editable/-/use-editable-2.3.3.tgz" @@ -8944,6 +10852,24 @@ util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== +util@^0.10.3: + version "0.10.4" + resolved "https://registry.yarnpkg.com/util/-/util-0.10.4.tgz#3aa0125bfe668a4672de58857d3ace27ecb76901" + integrity sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A== + dependencies: + inherits "2.0.3" + +util@^0.12.4, util@^0.12.5: + version "0.12.5" + resolved "https://registry.yarnpkg.com/util/-/util-0.12.5.tgz#5f17a6059b73db61a875668781a1c2b136bd6fbc" + integrity sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA== + dependencies: + inherits "^2.0.3" + is-arguments "^1.0.4" + is-generator-function "^1.0.7" + is-typed-array "^1.1.3" + which-typed-array "^1.1.2" + utila@~0.4: version "0.4.0" resolved "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz" @@ -8959,11 +10885,21 @@ utils-merge@1.0.1: resolved "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz" integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA== -uuid@^8.3.2: +uuid@8.3.2, uuid@^8.3.2: version "8.3.2" resolved "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz" integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== +uvu@^0.5.0: + version "0.5.6" + resolved "https://registry.yarnpkg.com/uvu/-/uvu-0.5.6.tgz#2754ca20bcb0bb59b64e9985e84d2e81058502df" + integrity sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA== + dependencies: + dequal "^2.0.0" + diff "^5.0.0" + kleur "^4.0.3" + sade "^1.7.3" + validate-peer-dependencies@^2.2.0: version "2.2.0" resolved "https://registry.npmjs.org/validate-peer-dependencies/-/validate-peer-dependencies-2.2.0.tgz" @@ -8972,6 +10908,36 @@ validate-peer-dependencies@^2.2.0: resolve-package-path "^4.0.3" semver "^7.3.8" +validate.io-array@^1.0.3: + version "1.0.6" + resolved "https://registry.yarnpkg.com/validate.io-array/-/validate.io-array-1.0.6.tgz#5b5a2cafd8f8b85abb2f886ba153f2d93a27774d" + integrity sha512-DeOy7CnPEziggrOO5CZhVKJw6S3Yi7e9e65R1Nl/RTN1vTQKnzjfvks0/8kQ40FP/dsjRAOd4hxmJ7uLa6vxkg== + +validate.io-function@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/validate.io-function/-/validate.io-function-1.0.2.tgz#343a19802ed3b1968269c780e558e93411c0bad7" + integrity sha512-LlFybRJEriSuBnUhQyG5bwglhh50EpTL2ul23MPIuR1odjO7XaMLFV8vHGwp7AZciFxtYOeiSCT5st+XSPONiQ== + +validate.io-integer-array@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/validate.io-integer-array/-/validate.io-integer-array-1.0.0.tgz#2cabde033293a6bcbe063feafe91eaf46b13a089" + integrity sha512-mTrMk/1ytQHtCY0oNO3dztafHYyGU88KL+jRxWuzfOmQb+4qqnWmI+gykvGp8usKZOM0H7keJHEbRaFiYA0VrA== + dependencies: + validate.io-array "^1.0.3" + validate.io-integer "^1.0.4" + +validate.io-integer@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/validate.io-integer/-/validate.io-integer-1.0.5.tgz#168496480b95be2247ec443f2233de4f89878068" + integrity sha512-22izsYSLojN/P6bppBqhgUDjCkr5RY2jd+N2a3DCAUey8ydvrZ/OkGvFPR7qfOpwR2LC5p4Ngzxz36g5Vgr/hQ== + dependencies: + validate.io-number "^1.0.3" + +validate.io-number@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/validate.io-number/-/validate.io-number-1.0.3.tgz#f63ffeda248bf28a67a8d48e0e3b461a1665baf8" + integrity sha512-kRAyotcbNaSYoDnXvb4MHg/0a1egJdLwS6oJ38TJY7aw9n93Fl/3blIXdyYvPOp55CNxywooG/3BcrwNrBpcSg== + value-equal@^1.0.1: version "1.0.1" resolved "https://registry.npmjs.org/value-equal/-/value-equal-1.0.1.tgz" @@ -8982,6 +10948,14 @@ vary@~1.1.2: resolved "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz" integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== +vfile-location@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/vfile-location/-/vfile-location-4.1.0.tgz#69df82fb9ef0a38d0d02b90dd84620e120050dd0" + integrity sha512-YF23YMyASIIJXpktBa4vIGLJ5Gs88UB/XePgqPmTa7cDA+JeO3yclbpheQYCHjVHBn/yePzrXuygIL+xbvRYHw== + dependencies: + "@types/unist" "^2.0.0" + vfile "^5.0.0" + vfile-location@^5.0.0: version "5.0.2" resolved "https://registry.npmjs.org/vfile-location/-/vfile-location-5.0.2.tgz" @@ -8990,6 +10964,14 @@ vfile-location@^5.0.0: "@types/unist" "^3.0.0" vfile "^6.0.0" +vfile-message@^3.0.0: + version "3.1.4" + resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-3.1.4.tgz#15a50816ae7d7c2d1fa87090a7f9f96612b59dea" + integrity sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw== + dependencies: + "@types/unist" "^2.0.0" + unist-util-stringify-position "^3.0.0" + vfile-message@^4.0.0: version "4.0.2" resolved "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.2.tgz" @@ -8998,6 +10980,16 @@ vfile-message@^4.0.0: "@types/unist" "^3.0.0" unist-util-stringify-position "^4.0.0" +vfile@^5.0.0: + version "5.3.7" + resolved "https://registry.yarnpkg.com/vfile/-/vfile-5.3.7.tgz#de0677e6683e3380fafc46544cfe603118826ab7" + integrity sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g== + dependencies: + "@types/unist" "^2.0.0" + is-buffer "^2.0.0" + unist-util-stringify-position "^3.0.0" + vfile-message "^3.0.0" + vfile@^6.0.0, vfile@^6.0.1: version "6.0.1" resolved "https://registry.npmjs.org/vfile/-/vfile-6.0.1.tgz" @@ -9007,6 +10999,18 @@ vfile@^6.0.0, vfile@^6.0.1: unist-util-stringify-position "^4.0.0" vfile-message "^4.0.0" +vm-browserify@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0" + integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ== + +warning@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/warning/-/warning-4.0.3.tgz#16e9e077eb8a86d6af7d64aa1e05fd85b4678ca3" + integrity sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w== + dependencies: + loose-envify "^1.0.0" + watchpack@^2.4.0: version "2.4.0" resolved "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz" @@ -9015,6 +11019,14 @@ watchpack@^2.4.0: glob-to-regexp "^0.4.1" graceful-fs "^4.1.2" +watchpack@^2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.4.1.tgz#29308f2cac150fa8e4c92f90e0ec954a9fed7fff" + integrity sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg== + 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" @@ -9027,6 +11039,11 @@ web-namespaces@^2.0.0: resolved "https://registry.npmjs.org/web-namespaces/-/web-namespaces-2.0.1.tgz" integrity sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ== +webidl-conversions@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" + integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== + webpack-bundle-analyzer@^4.9.0: version "4.9.1" resolved "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.9.1.tgz" @@ -9111,6 +11128,36 @@ webpack-sources@^3.2.3: resolved "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz" integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== +webpack@^5.61.0: + version "5.91.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.91.0.tgz#ffa92c1c618d18c878f06892bbdc3373c71a01d9" + integrity sha512-rzVwlLeBWHJbmgTC/8TvAcu5vpJNII+MelQpylD4jNERPwpBJOE2lEcko1zJX3QJeLjTTAnQxn/OJ8bjDzVQaw== + dependencies: + "@types/eslint-scope" "^3.7.3" + "@types/estree" "^1.0.5" + "@webassemblyjs/ast" "^1.12.1" + "@webassemblyjs/wasm-edit" "^1.12.1" + "@webassemblyjs/wasm-parser" "^1.12.1" + acorn "^8.7.1" + acorn-import-assertions "^1.9.0" + browserslist "^4.21.10" + chrome-trace-event "^1.0.2" + enhanced-resolve "^5.16.0" + es-module-lexer "^1.2.1" + eslint-scope "5.1.1" + events "^3.2.0" + glob-to-regexp "^0.4.1" + graceful-fs "^4.2.11" + json-parse-even-better-errors "^2.3.1" + loader-runner "^4.2.0" + mime-types "^2.1.27" + neo-async "^2.6.2" + schema-utils "^3.2.0" + tapable "^2.1.1" + terser-webpack-plugin "^5.3.10" + watchpack "^2.4.1" + webpack-sources "^3.2.3" + webpack@^5.88.1: version "5.89.0" resolved "https://registry.npmjs.org/webpack/-/webpack-5.89.0.tgz" @@ -9165,6 +11212,30 @@ websocket-extensions@>=0.1.1: resolved "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz" integrity sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg== +whatwg-url@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" + integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== + dependencies: + tr46 "~0.0.3" + webidl-conversions "^3.0.0" + +which-module@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.1.tgz#776b1fe35d90aebe99e8ac15eb24093389a4a409" + integrity sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ== + +which-typed-array@^1.1.14, which-typed-array@^1.1.2: + version "1.1.15" + resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.15.tgz#264859e9b11a649b388bfaaf4f767df1f779b38d" + integrity sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA== + dependencies: + available-typed-arrays "^1.0.7" + call-bind "^1.0.7" + for-each "^0.3.3" + gopd "^1.0.1" + has-tostringtag "^1.0.2" + which@^1.3.1: version "1.3.1" resolved "https://registry.npmjs.org/which/-/which-1.3.1.tgz" @@ -9200,6 +11271,24 @@ wildcard@^2.0.0: string-width "^4.1.0" strip-ansi "^6.0.0" +wrap-ansi@^6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" + integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + wrap-ansi@^8.0.1, wrap-ansi@^8.1.0: version "8.1.0" resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz" @@ -9239,6 +11328,13 @@ xdg-basedir@^5.0.1, xdg-basedir@^5.1.0: resolved "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-5.1.0.tgz" integrity sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ== +xml-formatter@^2.6.1: + version "2.6.1" + resolved "https://registry.yarnpkg.com/xml-formatter/-/xml-formatter-2.6.1.tgz#066ef3a100bd58ee3b943f0c503be63176d3d497" + integrity sha512-dOiGwoqm8y22QdTNI7A+N03tyVfBlQ0/oehAzxIZtwnFAHGeSlrfjF73YQvzSsa/Kt6+YZasKsrdu6OIpuBggw== + dependencies: + xml-parser-xo "^3.2.0" + xml-js@^1.6.11: version "1.6.11" resolved "https://registry.npmjs.org/xml-js/-/xml-js-1.6.11.tgz" @@ -9246,6 +11342,26 @@ xml-js@^1.6.11: dependencies: sax "^1.2.4" +xml-parser-xo@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/xml-parser-xo/-/xml-parser-xo-3.2.0.tgz#c633ab55cf1976d6b03ab4a6a85045093ac32b73" + integrity sha512-8LRU6cq+d7mVsoDaMhnkkt3CTtAs4153p49fRo+HIB3I1FD1o5CeXRjRH29sQevIfVJIcPjKSsPU/+Ujhq09Rg== + +xtend@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" + integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== + +y18n@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf" + integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ== + +y18n@^5.0.5: + version "5.0.8" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" + integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== + yallist@^3.0.2: version "3.1.1" resolved "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz" @@ -9256,11 +11372,59 @@ yallist@^4.0.0: resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== -yaml@^1.7.2: +yaml-ast-parser@0.0.43: + version "0.0.43" + resolved "https://registry.yarnpkg.com/yaml-ast-parser/-/yaml-ast-parser-0.0.43.tgz#e8a23e6fb4c38076ab92995c5dca33f3d3d7c9bb" + integrity sha512-2PTINUwsRqSd+s8XxKaJWQlUuEMHJQyEuh2edBbW8KNJz0SJPwUSD2zRWqezFEdN7IzAgeuYHFUCF7o8zRdZ0A== + +yaml@1.10.2, yaml@^1.10.0, yaml@^1.7.2: version "1.10.2" resolved "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz" integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== +yargs-parser@^18.1.2: + version "18.1.3" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" + integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + +yargs-parser@^21.1.1: + version "21.1.1" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" + integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== + +yargs@^15.3.1: + version "15.4.1" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" + integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A== + dependencies: + cliui "^6.0.0" + decamelize "^1.2.0" + find-up "^4.1.0" + get-caller-file "^2.0.1" + require-directory "^2.1.1" + require-main-filename "^2.0.0" + set-blocking "^2.0.0" + string-width "^4.2.0" + which-module "^2.0.0" + y18n "^4.0.0" + yargs-parser "^18.1.2" + +yargs@^17.0.1: + version "17.7.2" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.7.2.tgz#991df39aca675a192b816e1e0363f9d75d2aa269" + integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== + dependencies: + cliui "^8.0.1" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.3" + y18n "^5.0.5" + yargs-parser "^21.1.1" + yocto-queue@^0.1.0: version "0.1.0" resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz" From 507e2e1b73f56fa317d0803d8767df8222c2501f Mon Sep 17 00:00:00 2001 From: hadar-co Date: Tue, 11 Jun 2024 16:45:02 +0300 Subject: [PATCH 12/56] add examples for automations (#1298) * add examples for automations * fix broken links * fix broken links --------- Co-authored-by: Hadar --- .../self-service-actions.md | 1 - .../define-automations/define-automations.md | 6 +- .../define-automations/examples.md | 76 ++++ .../setup-backend/setup-backend.md | 4 +- ...og-listener.md => __changelog-listener.md} | 0 ...basic-change-listener-using-aws-lambda.md} | 0 ...execution-basic-runner-using-aws-lambda.md | 2 - .../setup-backend/webhook/kafka/kafka.md | 1 - .../webhook/port-execution-agent/usage.md | 1 - .../setup-backend/webhook/webhook.md | 1 - docs/api-reference/port-api.info.mdx | 6 - docs/integrations-index.md | 1 - src/css/custom.css | 2 +- yarn.lock | 401 +++++++++++------- 14 files changed, 321 insertions(+), 181 deletions(-) create mode 100644 docs/actions-and-automations/define-automations/examples.md rename docs/actions-and-automations/setup-backend/webhook/examples/{changelog-listener.md => __changelog-listener.md} (100%) rename docs/actions-and-automations/setup-backend/webhook/kafka/examples/{changelog-basic-change-listener-using-aws-lambda.md => __changelog-basic-change-listener-using-aws-lambda.md} (100%) diff --git a/archive/self-service-actions/self-service-actions.md b/archive/self-service-actions/self-service-actions.md index 4972c82dd..14dcab821 100644 --- a/archive/self-service-actions/self-service-actions.md +++ b/archive/self-service-actions/self-service-actions.md @@ -11,7 +11,6 @@ In Port, you can make your Software Catalog active by defining Self-Service Acti Port enables developer Self-Service in 2 distinct ways: - [Self-Service Actions](./self-service-actions-deep-dive/self-service-actions-deep-dive.md) - configure **Create** and **Delete** actions to provision and control the resource usage in your organization. Configure **Day-2 Operations** to keep your infrastructure up-to-date. -- [Real-time Changelog](./kafka/examples/changelog-basic-change-listener-using-aws-lambda.md) - every change that occurs in Port generates a new audit log entry. ## Getting started diff --git a/docs/actions-and-automations/define-automations/define-automations.md b/docs/actions-and-automations/define-automations/define-automations.md index 15c21d590..0f86da86f 100644 --- a/docs/actions-and-automations/define-automations/define-automations.md +++ b/docs/actions-and-automations/define-automations/define-automations.md @@ -79,4 +79,8 @@ Automations are defined in the [Automations page](https://app.getport.io/setting * Setup the [trigger](/actions-and-automations/define-automations/setup-trigger). * Define the [action](/actions-and-automations/define-automations/setup-action) that will be executed when the trigger event occurs. -3. Make sure to set the `publish` field to `true` if you want to enable the automation. When finished, click `Save`. \ No newline at end of file +3. Make sure to set the `publish` field to `true` if you want to enable the automation. When finished, click `Save`. + +## Examples + +See some examples of automation definitions [here](/actions-and-automations/define-automations/examples). \ No newline at end of file diff --git a/docs/actions-and-automations/define-automations/examples.md b/docs/actions-and-automations/define-automations/examples.md new file mode 100644 index 000000000..851b59f4d --- /dev/null +++ b/docs/actions-and-automations/define-automations/examples.md @@ -0,0 +1,76 @@ +--- +sidebar_position: 3 +title: Examples +--- + +# Examples + +This section provides examples of automation definitions in Port. + +## Example 1: Trigger a webhook when a timer property expires + +By using the `TIMER_EXPIRED` trigger type, we can run custom logic whenever a [timer property](/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/timer) expires. + +A common use case for this is to handle ephemeral environments that need to be cleaned up after a certain period of time (`TTL`). +The following configuration will cause a webhook to be triggered whenever the `ttl` property expires on an `environment` entity: + +```json showLineNumbers +{ + "identifier": "ttlEphemeralEnvironment", + "title": "Terminate ephemeral environment", + "trigger": { + "type": "automation", + "event": { + "type": "TIMER_PROPERTY_EXPIRED", + "blueprintIdentifier": "environment", + "propertyIdentifier": "ttl" + } + }, + "invocationMethod": { + "type": "WEBHOOK", + "url": "https://myWebhookUrl.com", + "body": { + "entityId": "{{ .event.context.entityIdentifier }}" + }, + }, + "publish": true +} +``` + +**Note**: The `body` field is where we define the [payload](/actions-and-automations/setup-backend/#define-the-actions-payload) when using the Webhook invocation method. In this example, we configured the id of the relevant entity to be passed to the webhook upon every execution of the automation. + +The webhook backend can terminate the environment, clean up resources, send a notification to the relevant team, and anything else that you want to happen as part of the termination process. + +## Example 2: Run a GitHub workflow when a service is created + +By using the `ENTITY_CREATED` trigger type, we can run custom logic whenever an entity of a specific type is created. + +For example, the following configuration will cause `workflow.yaml` to run whenever a new `service` is created in your catalog: +```json showLineNumbers +{ + "identifier": "serviceCreated", + "title": "Service created", + "trigger": { + "type": "automation", + "event": { + "type": "ENTITY_CREATED", + "blueprintIdentifier": "service" + } + }, + "invocationMethod": { + "type": "GITHUB", + "org": "Github-org-name", + "repo": "Github-repo-name", + "workflow": "workflow.yaml", + "workflowInputs": { + "runId": "{{ .run.id }}" + }, + "reportWorkflowStatus": true + }, + "publish": true +} +``` + +**Note**: The `workflowInputs` field is where we define the [payload](/actions-and-automations/setup-backend/#define-the-actions-payload) when using the GitHub invocation method. In this example, we configured the run id to be passed to the GitHub workflow upon every execution of the automation. + +In the `workflow.yaml` file, you can implement any logic you want to run when a new service is created, (e.g. add a property to the entity, send a Slack notification, etc.). diff --git a/docs/actions-and-automations/setup-backend/setup-backend.md b/docs/actions-and-automations/setup-backend/setup-backend.md index 1a16bb935..698341ad5 100644 --- a/docs/actions-and-automations/setup-backend/setup-backend.md +++ b/docs/actions-and-automations/setup-backend/setup-backend.md @@ -45,11 +45,11 @@ See the list of supported backends below for more information. When creating a self-service action or automation, you can construct a JSON payload that will be sent to your backend upon every execution. You can use this to send data about the action that you want your backend to have. The payload is defined using JSON, and accessing your data is done using `jq`, wrapping each expression with `{{ }}`. -For example, this payload contains a user input, and the action's run id (unique to each execution of the action): +For example, this payload contains a timestamp of the execution, and the execution's run id (unique to each execution): ```json { - "example_string_input": "{{ .inputs.example_string_input }}", + "execution_time": "{{ .trigger.at }}", "port_context": { "run_id": "{{ .run.id }}" } diff --git a/docs/actions-and-automations/setup-backend/webhook/examples/changelog-listener.md b/docs/actions-and-automations/setup-backend/webhook/examples/__changelog-listener.md similarity index 100% rename from docs/actions-and-automations/setup-backend/webhook/examples/changelog-listener.md rename to docs/actions-and-automations/setup-backend/webhook/examples/__changelog-listener.md diff --git a/docs/actions-and-automations/setup-backend/webhook/kafka/examples/changelog-basic-change-listener-using-aws-lambda.md b/docs/actions-and-automations/setup-backend/webhook/kafka/examples/__changelog-basic-change-listener-using-aws-lambda.md similarity index 100% rename from docs/actions-and-automations/setup-backend/webhook/kafka/examples/changelog-basic-change-listener-using-aws-lambda.md rename to docs/actions-and-automations/setup-backend/webhook/kafka/examples/__changelog-basic-change-listener-using-aws-lambda.md diff --git a/docs/actions-and-automations/setup-backend/webhook/kafka/examples/execution-basic-runner-using-aws-lambda.md b/docs/actions-and-automations/setup-backend/webhook/kafka/examples/execution-basic-runner-using-aws-lambda.md index 40398d1f2..23999eab6 100644 --- a/docs/actions-and-automations/setup-backend/webhook/kafka/examples/execution-basic-runner-using-aws-lambda.md +++ b/docs/actions-and-automations/setup-backend/webhook/kafka/examples/execution-basic-runner-using-aws-lambda.md @@ -872,5 +872,3 @@ When the action is finished, it will mark the action run as successful. That way ## Next steps This was a very basic example on how to react to the execution `CREATE` action. We left placeholder code for you to insert your own custom logic that fits your infrastructure. - -Now that you have an execution runner, maybe try exploring our [Change Log runner](./changelog-basic-change-listener-using-aws-lambda), so that you can react to changes in your Software Catalog. diff --git a/docs/actions-and-automations/setup-backend/webhook/kafka/kafka.md b/docs/actions-and-automations/setup-backend/webhook/kafka/kafka.md index 1f5b72e69..f8db1705b 100644 --- a/docs/actions-and-automations/setup-backend/webhook/kafka/kafka.md +++ b/docs/actions-and-automations/setup-backend/webhook/kafka/kafka.md @@ -52,4 +52,3 @@ An example flow would be: To get started with webhook Self-Service Actions, please check the sources below: - [Setting up a basic execution runner using AWS Lambda](./examples/execution-basic-runner-using-aws-lambda.md) -- [Setting up a basic change log listener using AWS Lambda](./examples/changelog-basic-change-listener-using-aws-lambda.md) diff --git a/docs/actions-and-automations/setup-backend/webhook/port-execution-agent/usage.md b/docs/actions-and-automations/setup-backend/webhook/port-execution-agent/usage.md index ebcd5d82c..81add5852 100644 --- a/docs/actions-and-automations/setup-backend/webhook/port-execution-agent/usage.md +++ b/docs/actions-and-automations/setup-backend/webhook/port-execution-agent/usage.md @@ -99,5 +99,4 @@ This configuration directs the `requests` library to use the specified CA bundle Follow one of the guides below: -- [Changelog Listener](/actions-and-automations/setup-backend/webhook/examples/changelog-listener.md) - Create a blueprint with `changelogDestination` to listen and act on changes in the software catalog. - [GitLab Pipeline Trigger](/actions-and-automations/setup-backend/gitlab-pipeline/gitlab-pipeline.md) - Create an action that triggers GitLab Pipeline execution. \ No newline at end of file diff --git a/docs/actions-and-automations/setup-backend/webhook/webhook.md b/docs/actions-and-automations/setup-backend/webhook/webhook.md index 2d619487e..1351733cf 100644 --- a/docs/actions-and-automations/setup-backend/webhook/webhook.md +++ b/docs/actions-and-automations/setup-backend/webhook/webhook.md @@ -65,7 +65,6 @@ To get started with webhook actions, check out the sources below: ### Examples - [Create an S3 bucket using Self-Service Actions](./examples/s3-using-webhook.md) -- [Webhook changelog listener](./examples/changelog-listener.md) - [Provisioning software templates using Cookiecutter](./examples/software-templates.md) ### Local setup, debugging and security validation diff --git a/docs/api-reference/port-api.info.mdx b/docs/api-reference/port-api.info.mdx index 8471dcf41..37dd59ec7 100644 --- a/docs/api-reference/port-api.info.mdx +++ b/docs/api-reference/port-api.info.mdx @@ -13,12 +13,6 @@ import SchemaTabs from "@theme/SchemaTabs"; import TabItem from "@theme/TabItem"; import Export from "@theme/ApiExplorer/Export"; - - -

diff --git a/docs/integrations-index.md b/docs/integrations-index.md index fb45bd6ad..d39d86bf6 100644 --- a/docs/integrations-index.md +++ b/docs/integrations-index.md @@ -150,7 +150,6 @@ This page contains a list of Port's available integrations, organized by the pla - [Manual approval for self-service actions](/actions-and-automations/create-self-service-experiences/set-self-service-actions-rbac/#slack) - [Scorecard notifications](/promote-scorecards/manage-using-3rd-party-apps/slack) -- [Setup a changelog listener notification](/actions-and-automations/setup-backend/webhook/examples/changelog-listener.md) - [Broadcast message to API consumers](/actions-and-automations/setup-backend/github-workflow/examples/broadcast-api-consumers-message) ## SonarQube / SonarCloud diff --git a/src/css/custom.css b/src/css/custom.css index 80d084e00..4f5269901 100644 --- a/src/css/custom.css +++ b/src/css/custom.css @@ -29,7 +29,7 @@ } .menu__list-item:last-child { - padding-bottom: 0.5rem; + padding-bottom: 0.75rem; } .menu__link { diff --git a/yarn.lock b/yarn.lock index f53f6fa85..f35c8e5d9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -84,7 +84,7 @@ "@algolia/requester-common" "4.23.3" "@algolia/transporter" "4.23.3" -"@algolia/client-search@4.23.3": +"@algolia/client-search@>= 4.9.1 < 6", "@algolia/client-search@4.23.3": version "4.23.3" resolved "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.23.3.tgz" integrity sha512-P4VAKFHqU0wx9O+q29Q8YVuaowaZ5EM77rxfmGnkHUJggh28useXQdopokgwMeYw2XUht49WX5RcTQ40rZIabw== @@ -185,7 +185,7 @@ resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.2.tgz" integrity sha512-0S9TQMmDHlqAZ2ITT95irXKfxN9bncq8ZCoJhun3nHL/lLUxd2NKBJYoNGWH7S0hz6fRQwWlAWn/ILM0C70KZQ== -"@babel/core@^7.21.3", "@babel/core@^7.23.3": +"@babel/core@^7.0.0", "@babel/core@^7.0.0-0", "@babel/core@^7.0.0-0 || ^8.0.0-0 <8.0.0", "@babel/core@^7.12.0", "@babel/core@^7.13.0", "@babel/core@^7.21.3", "@babel/core@^7.23.3", "@babel/core@^7.4.0 || ^8.0.0-0 <8.0.0": version "7.23.5" resolved "https://registry.npmjs.org/@babel/core/-/core-7.23.5.tgz" integrity sha512-Cwc2XjUrG4ilcfOw4wBAK+enbdgwAcAJCfGUItPBKR7Mjw4aEfAFYrLxeRp4jWgtNIKn3n2AlBOfwwafl+42/g== @@ -1162,7 +1162,7 @@ core-js-pure "^3.30.2" regenerator-runtime "^0.14.0" -"@babel/runtime@^7.1.2", "@babel/runtime@^7.10.3", "@babel/runtime@^7.12.13", "@babel/runtime@^7.12.5", "@babel/runtime@^7.22.6", "@babel/runtime@^7.8.4": +"@babel/runtime@^7.1.2", "@babel/runtime@^7.10.3", "@babel/runtime@^7.12.13", "@babel/runtime@^7.12.5", "@babel/runtime@^7.15.4", "@babel/runtime@^7.22.6", "@babel/runtime@^7.8.4", "@babel/runtime@^7.9.2": version "7.23.2" resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.2.tgz" integrity sha512-mM8eg4yl5D6i3lu2QKPuPH4FArvJ8KhTofbE7jwMUv9KX5mBvwPAqnV3MlyBNqdp9RyRKP6Yck8TrfYrPvX3bg== @@ -1934,71 +1934,11 @@ dependencies: "@types/mdx" "^2.0.0" -"@node-rs/jieba-android-arm-eabi@1.7.2": - version "1.7.2" - resolved "https://registry.yarnpkg.com/@node-rs/jieba-android-arm-eabi/-/jieba-android-arm-eabi-1.7.2.tgz#06d10feef9a0718b4b3f07b2d7f161c193439b96" - integrity sha512-FyDHRNSRIHOQO7S6Q4RwuGffnnnuNwaXPH7K8WqSzifEY+zFIaSPcNqrZHrnqyeXc4JiYpBIHeP+0Mkf1kIGRA== - -"@node-rs/jieba-android-arm64@1.7.2": - version "1.7.2" - resolved "https://registry.yarnpkg.com/@node-rs/jieba-android-arm64/-/jieba-android-arm64-1.7.2.tgz#10830a0d59e84faa1a52c0fea5618ef9b1d5ac03" - integrity sha512-z0UEZCGrAX/IiarhuDMsEIDZBS77UZv4SQyL/J48yrsbWKbb2lJ1vCrYxXIWqwp6auXHEu4r1O/pMriDAcEnPg== - "@node-rs/jieba-darwin-arm64@1.7.2": version "1.7.2" - resolved "https://registry.yarnpkg.com/@node-rs/jieba-darwin-arm64/-/jieba-darwin-arm64-1.7.2.tgz#70e6b9f6d3167817b8a8259c49e0aa6693fd4871" + resolved "https://registry.npmjs.org/@node-rs/jieba-darwin-arm64/-/jieba-darwin-arm64-1.7.2.tgz" integrity sha512-M2cHIWRaaOmXGKy446SH2+Y2PzREaI2oYznPbg55wYEdioUp01YS/2WRG8CaoCKEj0aUocA7MFM2vVcoIAsbQw== -"@node-rs/jieba-darwin-x64@1.7.2": - version "1.7.2" - resolved "https://registry.yarnpkg.com/@node-rs/jieba-darwin-x64/-/jieba-darwin-x64-1.7.2.tgz#bf21be9875a30a5fad4030893b3088993831e54f" - integrity sha512-euDawBU2FxB0CGTR803BA6WABsiicIrqa61z2AFFDPkJCDrauEM0jbMg3GDKLAvbaLbZ1Etu3QNN5xyroqp4Qw== - -"@node-rs/jieba-freebsd-x64@1.7.2": - version "1.7.2" - resolved "https://registry.yarnpkg.com/@node-rs/jieba-freebsd-x64/-/jieba-freebsd-x64-1.7.2.tgz#f173089e34135bca613ced7c816ad9fefc023c39" - integrity sha512-vXCaYxPb90d/xTBVG+ZZXrFLXsO2719pZSyiZCL2tey+UY28U7MOoK6394Wwmf0FCB/eRTQMCKjVIUDi+IRMUg== - -"@node-rs/jieba-linux-arm-gnueabihf@1.7.2": - version "1.7.2" - resolved "https://registry.yarnpkg.com/@node-rs/jieba-linux-arm-gnueabihf/-/jieba-linux-arm-gnueabihf-1.7.2.tgz#307923401ba49bb4e28639ab2954c4be3362f807" - integrity sha512-HTep79XlJYO3KRYZ2kJChG9HnYr1DKSQTB+HEYWKLK0ifphqybcxGNLAdH0S4dViG2ciD0+iN/refgtqZEidpw== - -"@node-rs/jieba-linux-arm64-gnu@1.7.2": - version "1.7.2" - resolved "https://registry.yarnpkg.com/@node-rs/jieba-linux-arm64-gnu/-/jieba-linux-arm64-gnu-1.7.2.tgz#3af77273d84b3e4d158ad3bfdaa23e523efb8fce" - integrity sha512-P8QJdQydOVewL1MIqYiRpI7LOfrRQag+p4/hwExe+YXH8C7DOrR8rWJD/7XNRTbpOimlHq1UN/e+ZzhxQF/cLw== - -"@node-rs/jieba-linux-arm64-musl@1.7.2": - version "1.7.2" - resolved "https://registry.yarnpkg.com/@node-rs/jieba-linux-arm64-musl/-/jieba-linux-arm64-musl-1.7.2.tgz#c6cfe6eeb163683032e6265136b8713a9b28a793" - integrity sha512-WjnN0hmDvTXb2h3hMW5VnUGkK1xaqhs+WHfMMilau55+YN+YOYALKZ0TeBY4BapClLuBx54wqwmBX+B4hAXunQ== - -"@node-rs/jieba-linux-x64-gnu@1.7.2": - version "1.7.2" - resolved "https://registry.yarnpkg.com/@node-rs/jieba-linux-x64-gnu/-/jieba-linux-x64-gnu-1.7.2.tgz#0f5ea2499a64d3f2e639b538d7ff78095fd0477a" - integrity sha512-gBXds/DwNSA6lNUxJjL6WIaNT6pnlM5juUgV/krLLkBJ8vXpOrQ07p0rrK1tnigz9b20xhsHaFRSwED1Y8zeXw== - -"@node-rs/jieba-linux-x64-musl@1.7.2": - version "1.7.2" - resolved "https://registry.yarnpkg.com/@node-rs/jieba-linux-x64-musl/-/jieba-linux-x64-musl-1.7.2.tgz#c60ea4f3f4e7202208aa61b318dd1a34f82734b5" - integrity sha512-tNVD3SMuG5zAj7+bLS2Enio3zR7BPxi3PhQtpQ+Hv83jajIcN46QQ0EdoMFz/aB+hkQ9PlLAstu+VREFegs5EA== - -"@node-rs/jieba-win32-arm64-msvc@1.7.2": - version "1.7.2" - resolved "https://registry.yarnpkg.com/@node-rs/jieba-win32-arm64-msvc/-/jieba-win32-arm64-msvc-1.7.2.tgz#3cc4a1781115d282d39d98f6e4039872c3c63c84" - integrity sha512-/e1iQ0Dh02lGPNCYTU/H3cfIsWydaGRzZ3TDj6GfWrxkWqXORL98x/VJ/C/uKLpc7GSLLd9ygyZG7SOAfKe2tA== - -"@node-rs/jieba-win32-ia32-msvc@1.7.2": - version "1.7.2" - resolved "https://registry.yarnpkg.com/@node-rs/jieba-win32-ia32-msvc/-/jieba-win32-ia32-msvc-1.7.2.tgz#574695c602be2c38cc49708b4829b5cf0574e4b6" - integrity sha512-cYjA6YUiOwtuEzWErvwMMt/RETNWQDLcmAaiHA8ohsa6c0eB0kRJlQCc683tlaczZxqroY/7C9mxgJNGvoGRbw== - -"@node-rs/jieba-win32-x64-msvc@1.7.2": - version "1.7.2" - resolved "https://registry.npmjs.org/@node-rs/jieba-win32-x64-msvc/-/jieba-win32-x64-msvc-1.7.2.tgz" - integrity sha512-2M+Um3woFF17sa8VBYQQ6E5PNMe9Kf9fdzmeDh/GzuNHXlxW4LyK9VTV8zchIv/bDNAR5Z85kfW4wASULUxvFQ== - "@node-rs/jieba@^1.6.0": version "1.7.2" resolved "https://registry.npmjs.org/@node-rs/jieba/-/jieba-1.7.2.tgz" @@ -2026,7 +1966,7 @@ "@nodelib/fs.stat" "2.0.5" run-parallel "^1.1.9" -"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": +"@nodelib/fs.stat@^2.0.2", "@nodelib/fs.stat@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== @@ -2329,7 +2269,7 @@ "@svgr/babel-plugin-transform-react-native-svg" "8.1.0" "@svgr/babel-plugin-transform-svg-component" "8.0.0" -"@svgr/core@8.1.0": +"@svgr/core@*", "@svgr/core@8.1.0": version "8.1.0" resolved "https://registry.npmjs.org/@svgr/core/-/core-8.1.0.tgz" integrity sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA== @@ -2636,7 +2576,7 @@ resolved "https://registry.npmjs.org/@types/prismjs/-/prismjs-1.26.2.tgz" integrity sha512-/r7Cp7iUIk7gts26mHXD66geUC+2Fo26TZYjQK6Nr4LDfi6lmdRmMqM0oPwfiMhUwoBAOFe8GstKi2pf6hZvwA== -"@types/prop-types@*": +"@types/prop-types@*", "@types/prop-types@^15.0.0": version "15.7.9" resolved "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.9.tgz" integrity sha512-n1yyPsugYNSmHgxDFjicaI2+gCNjsBck8UX9kuofAKlc0h1bL+20oSF72KeNaW2DUlesbEVCFgyV2dPGTiY42g== @@ -2692,7 +2632,7 @@ "@types/history" "^4.7.11" "@types/react" "*" -"@types/react@*": +"@types/react@*", "@types/react@>= 16.8.0 < 19.0.0", "@types/react@>=16": version "18.2.33" resolved "https://registry.npmjs.org/@types/react/-/react-18.2.33.tgz" integrity sha512-v+I7S+hu3PIBoVkKGpSYYpiBT1ijqEzWpzQD62/jm4K74hPpSP7FF9BnKG6+fg2+62weJYkkBWDJlZt5JO/9hg== @@ -2788,7 +2728,7 @@ resolved "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz" integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ== -"@webassemblyjs/ast@1.11.6", "@webassemblyjs/ast@^1.11.5": +"@webassemblyjs/ast@^1.11.5", "@webassemblyjs/ast@1.11.6": version "1.11.6" resolved "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz" integrity sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q== @@ -3037,12 +2977,27 @@ acorn-walk@^8.0.0: resolved "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.0.tgz" integrity sha512-FS7hV565M5l1R08MXqo8odwMTB02C2UqzB17RVgu9EyuYFBqJZ3/ZY97sQD5FewVu1UyDFc1yztUDrAwT0EypA== -acorn@^6.1.1: +acorn@^6.0.0, "acorn@^6.0.0 || ^7.0.0 || ^8.0.0", acorn@^6.1.1: version "6.4.2" resolved "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz" integrity sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ== -acorn@^8.0.0, acorn@^8.0.4, acorn@^8.7.1, acorn@^8.8.2: +acorn@^8, acorn@^8.7.1: + version "8.11.2" + resolved "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz" + integrity sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w== + +acorn@^8.0.0: + version "8.11.2" + resolved "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz" + integrity sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w== + +acorn@^8.0.4: + version "8.11.2" + resolved "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz" + integrity sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w== + +acorn@^8.8.2: version "8.11.2" resolved "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz" integrity sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w== @@ -3067,7 +3022,12 @@ ajv-formats@2.1.1, ajv-formats@^2.1.1: dependencies: ajv "^8.0.0" -ajv-keywords@^3.4.1, ajv-keywords@^3.5.2: +ajv-keywords@^3.4.1: + version "3.5.2" + resolved "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz" + integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== + +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== @@ -3099,7 +3059,7 @@ ajv@^6.12.2, ajv@^6.12.5: json-schema-traverse "^0.4.1" uri-js "^4.2.2" -ajv@^8.0.0, ajv@^8.9.0: +ajv@^8.0.0, ajv@^8.8.2, ajv@^8.9.0: version "8.12.0" resolved "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz" integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== @@ -3109,14 +3069,24 @@ ajv@^8.0.0, ajv@^8.9.0: require-from-string "^2.0.2" uri-js "^4.2.2" +ajv@8.1.0: + version "8.1.0" + resolved "https://registry.npmjs.org/ajv/-/ajv-8.1.0.tgz" + integrity sha512-B/Sk2Ix7A36fs/ZkuGLIR86EdjbgR6fsAcbx9lOP/QBSXujDNbVmIS/U4Itz5k8fPFDeVZl/zQ/gJW4Jrq6XjQ== + dependencies: + fast-deep-equal "^3.1.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + uri-js "^4.2.2" + algoliasearch-helper@^3.13.3: - version "3.19.0" - resolved "https://registry.npmjs.org/algoliasearch-helper/-/algoliasearch-helper-3.19.0.tgz" - integrity sha512-AaSb5DZDMZmDQyIy6lf4aL0OZGgyIdqvLIIvSuVQOIOqfhrYSY7TvotIFI2x0Q3cP3xUpTd7lI1astUC4aXBJw== + version "3.21.0" + resolved "https://registry.npmjs.org/algoliasearch-helper/-/algoliasearch-helper-3.21.0.tgz" + integrity sha512-hjVOrL15I3Y3K8xG0icwG1/tWE+MocqBrhW6uVBWpU+/kVEMK0BnM2xdssj6mZM61eJ4iRxHR0djEI3ENOpR8w== dependencies: "@algolia/events" "^4.0.1" -algoliasearch@^4.18.0, algoliasearch@^4.19.1: +algoliasearch@^4.18.0, algoliasearch@^4.19.1, "algoliasearch@>= 3.1 < 6", "algoliasearch@>= 4.9.1 < 6": version "4.23.3" resolved "https://registry.npmjs.org/algoliasearch/-/algoliasearch-4.23.3.tgz" integrity sha512-Le/3YgNvjW9zxIQMRhUHuhiUjAlKY/zsdZpfq4dlLqg6mEm0nL6yk+7f2hDOtLpxsgE4jSzDmvHL7nXdBp5feg== @@ -3208,16 +3178,16 @@ argparse@^2.0.1: resolved "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz" integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== -array-flatten@1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz" - integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg== - array-flatten@^2.1.2: 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 sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg== + array-union@^2.1.0: version "2.1.0" resolved "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz" @@ -3866,7 +3836,12 @@ clone-deep@^4.0.1: kind-of "^6.0.2" shallow-clone "^3.0.0" -clsx@^1.1.1, clsx@^1.2.1: +clsx@^1.1.1: + version "1.2.1" + resolved "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz" + integrity sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg== + +clsx@^1.2.1: version "1.2.1" resolved "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz" integrity sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg== @@ -3895,16 +3870,16 @@ color-convert@^2.0.1: dependencies: color-name "~1.1.4" -color-name@1.1.3: - version "1.1.3" - resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" - integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== - color-name@^1.0.0, 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 sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== + color-string@^1.9.0: version "1.9.1" resolved "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz" @@ -3976,6 +3951,11 @@ commander@^8.3.0: resolved "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz" integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww== +commander@2.20.3: + version "2.20.3" + resolved "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz" + integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== + common-path-prefix@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz" @@ -4378,7 +4358,7 @@ csso@^5.0.5: dependencies: css-tree "~2.2.0" -csstype@^3.0.2: +csstype@^3.0.10, csstype@^3.0.2: version "3.1.2" resolved "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz" integrity sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ== @@ -4388,14 +4368,14 @@ dayjs@^1.11.7: resolved "https://registry.npmjs.org/dayjs/-/dayjs-1.11.10.tgz" integrity sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ== -debug@2.6.9, debug@^2.6.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@4, debug@^4.0.0, debug@^4.1.0, debug@^4.1.1, debug@^4.2.0: +debug@^4.0.0, debug@^4.1.0, debug@^4.1.1, debug@^4.2.0, debug@4: version "4.3.4" resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== @@ -4480,16 +4460,16 @@ del@^6.1.1: rimraf "^3.0.2" slash "^3.0.0" -depd@2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz" - integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== - depd@~1.1.2: version "1.1.2" resolved "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz" integrity sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ== +depd@2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz" + integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== + dequal@^2.0.0: version "2.0.3" resolved "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz" @@ -5111,7 +5091,7 @@ feed@^4.2.2: dependencies: xml-js "^1.6.11" -file-loader@^6.2.0: +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== @@ -5317,7 +5297,7 @@ fs.realpath@^1.0.0: fsevents@~2.3.2: version "2.3.3" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" + resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz" integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== function-bind@^1.1.2: @@ -5498,6 +5478,11 @@ graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz" integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== +graceful-fs@4.2.10: + version "4.2.10" + resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz" + integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== + gray-matter@^4.0.3: version "4.0.3" resolved "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz" @@ -5894,6 +5879,16 @@ http-deceiver@^1.2.7: resolved "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz" integrity sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw== +http-errors@~1.6.2: + version "1.6.3" + resolved "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz" + integrity sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A== + dependencies: + depd "~1.1.2" + inherits "2.0.3" + setprototypeof "1.1.0" + statuses ">= 1.4.0 < 2" + http-errors@2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz" @@ -5905,16 +5900,6 @@ http-errors@2.0.0: statuses "2.0.1" toidentifier "1.0.1" -http-errors@~1.6.2: - version "1.6.3" - resolved "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz" - integrity sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A== - dependencies: - depd "~1.1.2" - inherits "2.0.3" - setprototypeof "1.1.0" - statuses ">= 1.4.0 < 2" - http-parser-js@>=0.5.1: version "0.5.8" resolved "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz" @@ -6070,16 +6055,16 @@ inherits@2.0.3: resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz" integrity sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw== -ini@2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz" - integrity sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA== - ini@^1.3.4, 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" @@ -6097,16 +6082,16 @@ invariant@^2.2.4: dependencies: loose-envify "^1.0.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== - ipaddr.js@^2.0.1: version "2.1.0" resolved "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.1.0.tgz" integrity sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ== +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-alphabetical@^2.0.0: version "2.0.1" resolved "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz" @@ -6327,16 +6312,16 @@ is-yarn-global@^0.4.0: resolved "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.4.1.tgz" integrity sha512-/kppl+R+LO5VmhYSEWARUFjodS25D68gvj8W7z0I7OWhUla5xWu8KL6CtB2V0R6yqhnRgbcaREMr4EEM6htLPQ== -isarray@0.0.1: - version "0.0.1" - resolved "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz" - integrity sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ== - isarray@~1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== +isarray@0.0.1: + version "0.0.1" + resolved "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz" + integrity sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ== + isexe@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" @@ -6428,6 +6413,14 @@ js-yaml@^4.1.0: dependencies: argparse "^2.0.1" +js-yaml@3.14.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" + jsesc@^2.5.1: version "2.5.2" resolved "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz" @@ -7700,6 +7693,20 @@ mime-types@^2.1.27, mime-types@^2.1.31, mime-types@~2.1.24, mime-types@~2.1.34: dependencies: mime-db "1.52.0" +mime-types@~2.1.34: + version "2.1.35" + resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz" + integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== + dependencies: + mime-db "1.52.0" + +mime-types@2.1.34: + version "2.1.34" + resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.34.tgz" + integrity sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A== + dependencies: + mime-db "1.51.0" + mime@1.6.0: version "1.6.0" resolved "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz" @@ -8047,7 +8054,7 @@ object-keys@^1.1.1: resolved "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz" integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== -object.assign@^4.1.0: +object.assign@^4.1.0, object.assign@^4.1.4: version "4.1.4" resolved "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz" integrity sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ== @@ -8360,6 +8367,13 @@ path-scurry@^1.10.2: lru-cache "^10.2.0" minipass "^5.0.0 || ^6.0.2 || ^7.0.0" +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" @@ -8370,13 +8384,6 @@ path-to-regexp@2.2.1: resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-2.2.1.tgz" integrity sha512-gu9bD6Ta5bwGrrU8muHzVOBFFREpp2iRkVfhBJahwJ6p6Xw20SjT0MxLnwkjOibQmGSYhiUnf2FLe7k+jcFmGQ== -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-type@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" @@ -8739,7 +8746,7 @@ postcss-zindex@^6.0.2: resolved "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-6.0.2.tgz" integrity sha512-5BxW9l1evPB/4ZIc+2GobEBoKC+h8gPGCMi+jxsYvd2x0mjq7wazk6DrP71pStqxE9Foxh5TVnonbWpFZzXaYg== -postcss@^8.4.21, postcss@^8.4.24, postcss@^8.4.26, postcss@^8.4.38: +"postcss@^7.0.0 || ^8.0.1", postcss@^8.0.9, postcss@^8.1.0, postcss@^8.2.2, postcss@^8.4.21, postcss@^8.4.23, postcss@^8.4.24, postcss@^8.4.26, postcss@^8.4.31, postcss@^8.4.38: version "8.4.38" resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz" integrity sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A== @@ -8773,10 +8780,10 @@ prebuild-install@^7.1.1: tar-fs "^2.0.0" tunnel-agent "^0.6.0" -prettier@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.3.0.tgz#d173ea0524a691d4c0b1181752f2b46724328cdf" - integrity sha512-J9odKxERhCQ10OC2yb93583f6UnYutOeiV5i0zEDS7UGTdUt0u+y8erxl3lBKvwo/JHyyoEdXjwp4dke9oyZ/g== +prettier@^3.0.0, prettier@^3.3.0: + version "3.3.1" + resolved "https://registry.npmjs.org/prettier/-/prettier-3.3.1.tgz" + integrity sha512-7CAwy5dRsxs8PHXT3twixW9/OEll8MLE0VRPCJyl7CkS6VHGPSlsVaWTiASPTyGyYRyApxlaWTzwUxVNrhcwDg== pretty-error@^4.0.0: version "4.0.0" @@ -8835,7 +8842,7 @@ prompts@^2.4.2: kleur "^3.0.3" sisteransi "^1.0.5" -prop-types@^15.0.0, prop-types@^15.6.2, prop-types@^15.7.2: +prop-types@^15.0.0, prop-types@^15.6.2, prop-types@^15.7.2, prop-types@>=15: version "15.8.1" resolved "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz" integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== @@ -8899,6 +8906,13 @@ pupa@^3.1.0: dependencies: escape-goat "^4.0.0" +qs@^6.11.2: + version "6.12.1" + resolved "https://registry.npmjs.org/qs/-/qs-6.12.1.tgz" + integrity sha512-zWmv4RSuB9r2mYQw3zxQuHWeU+42aKi1wWig/j4ele4ygELZ7PEO6MM7rim9oAQH2A5MWfsAVf/jPvTPgCbvUQ== + dependencies: + side-channel "^1.0.6" + qs@6.11.0: version "6.11.0" resolved "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz" @@ -8965,6 +8979,16 @@ range-parser@^1.2.1, range-parser@~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.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 sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A== + raw-body@2.5.2: version "2.5.2" resolved "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz" @@ -8975,7 +8999,7 @@ raw-body@2.5.2: iconv-lite "0.4.24" unpipe "1.0.0" -rc@1.2.8, rc@^1.2.7: +rc@^1.2.7, rc@1.2.8: version "1.2.8" resolved "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz" integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== @@ -9015,7 +9039,7 @@ react-dev-utils@^12.0.1: strip-ansi "^6.0.1" text-table "^0.2.0" -react-dom@^18.3.1: +react-dom@*, "react-dom@^0.14.0 || ^15.0.0 || ^16 || ^17 || ^18", "react-dom@^16.14.0 || 17 || ^18", "react-dom@^16.6.0 || ^17.0.0 || ^18.0.0", "react-dom@^16.8.4 || ^17.0.0 || ^18.0.0", react-dom@^18.0.0, react-dom@^18.3.1, "react-dom@>= 16.8.0 < 19.0.0", react-dom@>=16, react-dom@>=16.14.0, react-dom@>=16.8.0, react-dom@>=17, react-dom@>=18.0.0: version "18.3.1" resolved "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz" integrity sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw== @@ -9109,7 +9133,7 @@ react-loadable-ssr-addon-v5-slorber@^1.0.1: dependencies: "@babel/runtime" "^7.10.3" -"react-loadable@npm:@docusaurus/react-loadable@6.0.0": +react-loadable@*, "react-loadable@npm:@docusaurus/react-loadable@6.0.0": version "6.0.0" resolved "https://registry.npmjs.org/@docusaurus/react-loadable/-/react-loadable-6.0.0.tgz" integrity sha512-YMMxTUQV/QFSnbgrP3tjDzLHRg7vsbMn8e9HAa8o/1iXoiomo48b7sk/kkmWEuWNDPJVlKSJRB6Y2fHqdJk+SQ== @@ -9184,7 +9208,7 @@ react-router-dom@^5.3.4: tiny-invariant "^1.0.2" tiny-warning "^1.0.0" -react-router@5.3.4, react-router@^5.3.4: +react-router@^5.3.4, react-router@>=5, react-router@5.3.4: version "5.3.4" resolved "https://registry.npmjs.org/react-router/-/react-router-5.3.4.tgz" integrity sha512-Ys9K+ppnJah3QuaRiLxk+jDWOR1MekYQrlytiXxC1RyfbdsZkS5pvKAzCCr031xHixZwpnsYNT5xysdFHQaYsA== @@ -9207,7 +9231,7 @@ react-tooltip@^5.26.4: "@floating-ui/dom" "^1.6.1" classnames "^2.3.0" -react-waypoint@^10.3.0: +react-waypoint@^10.3.0, react-waypoint@>=9.0.2: version "10.3.0" resolved "https://registry.npmjs.org/react-waypoint/-/react-waypoint-10.3.0.tgz" integrity sha512-iF1y2c1BsoXuEGz08NoahaLFIGI9gTUAAOKip96HUmylRT6DUtpgoBPjk/Y8dfcFVmfVDvUzWjNXpZyKTOV0SQ== @@ -9217,7 +9241,7 @@ react-waypoint@^10.3.0: prop-types "^15.0.0" react-is "^17.0.1 || ^18.0.0" -react@^18.3.1: +react@*, "react@^0.14.0 || ^15.0.0 || ^16 || ^17 || ^18", "react@^15.3.0 || ^16.0.0 || ^17.0.0 || ^18.0.0", "react@^16.11.0 || ^17.0.0 || ^18.0.0", "react@^16.13.1 || ^17.0.0 || ^18.0.0", "react@^16.14.0 || ^17 || ^18", "react@^16.6.0 || ^17.0.0 || ^18.0.0", "react@^16.8.0 || ^17 || ^18", "react@^16.8.0 || ^17.0.0 || ^18.0.0", "react@^16.8.3 || ^17 || ^18", "react@^16.8.4 || ^17.0.0 || ^18.0.0", "react@^16.9.0 || ^17.0.0 || ^18", react@^18.0.0, react@^18.3.1, "react@>= 16", "react@>= 16.8.0", "react@>= 16.8.0 < 19.0.0", react@>=0.14.x, react@>=15, react@>=16, react@>=16.0.0, react@>=16.13.1, react@>=16.14.0, react@>=16.8.0, react@>=17, react@>=18.0.0: version "18.3.1" resolved "https://registry.npmjs.org/react/-/react-18.3.1.tgz" integrity sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ== @@ -9698,16 +9722,25 @@ scheduler@^0.23.2: dependencies: loose-envify "^1.1.0" -schema-utils@2.7.0: - version "2.7.0" - resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz" - integrity sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A== +schema-utils@^3.0.0: + version "3.3.0" + resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz" + integrity sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg== dependencies: - "@types/json-schema" "^7.0.4" - ajv "^6.12.2" - ajv-keywords "^3.4.1" + "@types/json-schema" "^7.0.8" + ajv "^6.12.5" + ajv-keywords "^3.5.2" + +schema-utils@^3.1.1: + version "3.3.0" + resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz" + integrity sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg== + dependencies: + "@types/json-schema" "^7.0.8" + ajv "^6.12.5" + ajv-keywords "^3.5.2" -schema-utils@^3.0.0, schema-utils@^3.1.1, schema-utils@^3.2.0: +schema-utils@^3.2.0: version "3.3.0" resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz" integrity sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg== @@ -9726,6 +9759,20 @@ schema-utils@^4.0.0, schema-utils@^4.0.1: ajv-formats "^2.1.1" ajv-keywords "^5.1.0" +schema-utils@2.7.0: + version "2.7.0" + resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz" + integrity sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A== + dependencies: + "@types/json-schema" "^7.0.4" + ajv "^6.12.2" + ajv-keywords "^3.4.1" + +"search-insights@>= 1 < 3": + version "2.14.0" + resolved "https://registry.npmjs.org/search-insights/-/search-insights-2.14.0.tgz" + integrity sha512-OLN6MsPMCghDOqlCtsIsYgtsC0pnwVTyT9Mu6A3ewOj1DxvzZF6COrn2g86E/c05xbktB0XN04m/t1Z+n+fTGw== + section-matter@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz" @@ -9773,6 +9820,13 @@ semver@^7.3.2, semver@^7.3.5, semver@^7.3.7, semver@^7.3.8, semver@^7.5.4: dependencies: lru-cache "^6.0.0" +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" + send@0.18.0: version "0.18.0" resolved "https://registry.npmjs.org/send/-/send-0.18.0.tgz" @@ -9888,7 +9942,7 @@ shallowequal@^1.1.0: resolved "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz" integrity sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ== -sharp@^0.32.3: +sharp@*, sharp@^0.32.3: version "0.32.6" resolved "https://registry.npmjs.org/sharp/-/sharp-0.32.6.tgz" integrity sha512-KyLTWwgcR9Oe4d9HwCwNM2l7+J0dUQwn/yf7S0EnTtb0eVS4RxO0eUSvxPtzT4F3SY+C4K6fqdv/DO27sJ/v/w== @@ -10028,9 +10082,9 @@ sisteransi@^1.0.5: integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== sitemap@^7.1.1: - version "7.1.1" - resolved "https://registry.npmjs.org/sitemap/-/sitemap-7.1.1.tgz" - integrity sha512-mK3aFtjz4VdJN0igpIJrinf3EO8U8mxOPsTBzSsy06UtjZQJ3YY3o3Xa7zSc5nMqcMrRwlChHZ18Kxg0caiPBg== + version "7.1.2" + resolved "https://registry.npmjs.org/sitemap/-/sitemap-7.1.2.tgz" + integrity sha512-ARCqzHJ0p4gWt+j7NlU5eDlIO9+Rkr/JhPFZKKQ1l5GCus7rJH4UdrlVAh0xC/gDS/Qir2UMxqYNHtsKr2rpCw== dependencies: "@types/node" "^17.0.5" "@types/sax" "^1.2.1" @@ -10094,7 +10148,7 @@ source-map-support@~0.5.20: buffer-from "^1.0.0" source-map "^0.6.0" -source-map@^0.6.0, source-map@~0.6.0: +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== @@ -10104,6 +10158,11 @@ source-map@^0.7.0: resolved "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz" integrity sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA== +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== + sourcemap-codec@^1.4.8: version "1.4.8" resolved "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz" @@ -10147,16 +10206,16 @@ srcset@^4.0.0: resolved "https://registry.npmjs.org/srcset/-/srcset-4.0.0.tgz" integrity sha512-wvLeHgcVHKO8Sc/H/5lkGreJQVeYMm9rlmt8PuR1xE31rIuXhuzznUUqAt8MqLhB3MqJdFzlNAfpcWnxiFUcPw== -statuses@2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz" - integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== - "statuses@>= 1.4.0 < 2": version "1.5.0" resolved "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz" integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA== +statuses@2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz" + integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== + std-env@^3.0.1: version "3.4.3" resolved "https://registry.npmjs.org/std-env/-/std-env-3.4.3.tgz" @@ -10188,6 +10247,20 @@ streamx@^2.15.0: fast-fifo "^1.1.0" queue-tick "^1.0.1" +string_decoder@^1.1.1, string_decoder@^1.3.0: + 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-cjs@npm:string-width@^4.2.0": version "4.2.3" resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" @@ -10600,7 +10673,7 @@ typedarray-to-buffer@^3.1.5: dependencies: is-typedarray "^1.0.0" -typescript@~5.4.5: +"typescript@>= 2.7", typescript@>=4.9.5, typescript@~5.4.5: version "5.4.5" resolved "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz" integrity sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ== @@ -10772,7 +10845,7 @@ universalify@^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: +unpipe@~1.0.0, unpipe@1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz" integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== @@ -11198,7 +11271,7 @@ webpackbar@^5.0.2: pretty-time "^1.1.0" std-env "^3.0.1" -websocket-driver@>=0.5.1, websocket-driver@^0.7.4: +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== From ac784827bdf335fd080b824bafab3130ff309636 Mon Sep 17 00:00:00 2001 From: Jonathan Gruber <120086501+jonathan-gruber-1@users.noreply.github.com> Date: Thu, 13 Jun 2024 10:03:51 +0300 Subject: [PATCH 13/56] small typo and hyperlink fix (#1302) Co-authored-by: Jonathan Gruber --- .../sync-data-to-catalog/terraform-cloud/terraform-cloud.md | 2 +- docs/sso-rbac/rbac-overview/rbac-overview.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/terraform-cloud/terraform-cloud.md b/docs/build-your-software-catalog/sync-data-to-catalog/terraform-cloud/terraform-cloud.md index a5993d3d7..172900fe3 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/terraform-cloud/terraform-cloud.md +++ b/docs/build-your-software-catalog/sync-data-to-catalog/terraform-cloud/terraform-cloud.md @@ -902,7 +902,7 @@ Examples of blueprints and the relevant integration configurations: ## Let's Test It -This section includes a sample response data from Terrform Cloud. In addition, it includes the entity created from the resync event based on the Ocean configuration provided in the previous section. +This section includes a sample response data from Terraform Cloud. In addition, it includes the entity created from the resync event based on the Ocean configuration provided in the previous section. ### Payload diff --git a/docs/sso-rbac/rbac-overview/rbac-overview.md b/docs/sso-rbac/rbac-overview/rbac-overview.md index 29bf6bb61..39cc80dbc 100644 --- a/docs/sso-rbac/rbac-overview/rbac-overview.md +++ b/docs/sso-rbac/rbac-overview/rbac-overview.md @@ -6,7 +6,7 @@ This page provides a comprehensive summary of all of Port's RBAC capabilities, a [2 - RBAC for Self Service Actions](#rbac-for-self-service-actions) -[3 - RBAC for operating the Port platform](#rbac-for-operating-port-platform) +[3 - RBAC for operating the Port platform](#rbac-for-operating-the-port-platform) ## Catalog RBAC & Ownership From 1be07e4761427b5b12222523d29290172cf781dc Mon Sep 17 00:00:00 2001 From: Jonathan Gruber <120086501+jonathan-gruber-1@users.noreply.github.com> Date: Thu, 13 Jun 2024 10:26:05 +0300 Subject: [PATCH 14/56] added mention for Terraform Enterprise (#1303) * added mention for Terraform Enterprise * Update docs/build-your-software-catalog/sync-data-to-catalog/terraform-cloud/terraform-cloud.md * Update docs/build-your-software-catalog/sync-data-to-catalog/terraform-cloud/terraform-cloud.md --------- Co-authored-by: Jonathan Gruber Co-authored-by: hadar-co --- .../terraform-cloud/terraform-cloud.md | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/terraform-cloud/terraform-cloud.md b/docs/build-your-software-catalog/sync-data-to-catalog/terraform-cloud/terraform-cloud.md index 172900fe3..5d84bea44 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/terraform-cloud/terraform-cloud.md +++ b/docs/build-your-software-catalog/sync-data-to-catalog/terraform-cloud/terraform-cloud.md @@ -8,7 +8,7 @@ import Tabs from "@theme/Tabs" import TabItem from "@theme/TabItem" import DockerParameters from "./\_terraform_one_time_docker_parameters.mdx" -# Terraform Cloud +# Terraform Cloud and Terraform Enterprise The Terraform Cloud Integration for Port enables seamless import and synchronization of `organizations`, `projects`, `workspaces`, `runs`, and `state versions` from your Terraform infrastructure management into Port. This integration allows you to effectively monitor and manage your Terraform Cloud workspaces and runs within the Port platform. @@ -29,6 +29,12 @@ A `State Version` represents a versioned state file in Terraform. Each state ver - Monitoring Run Statuses: Keep track of run outcomes (success, failure, etc.) and durations, providing insights into the health and performance of your infrastructure management processes. - Identify drifts between your Terraform configuration and what's effectively deployed in your Cloud. +## Terraform Enterprise (Self Hosted) + +Port supports both Terraform Cloud and Terraform Enterprise versions (self hosted). The following data model and use cases are common for both integrations. +If installing Port exporter for Terraform Enterprise, you will be required to specify your Terraform 's host URL by passing the following parameter to the installer: `integration.config.appHost` + + ## Prerequisites To install the integration, you need a Kubernetes cluster that the integration's container chart will be deployed to. @@ -57,7 +63,7 @@ Set them as you wish in the script below, then copy it and run it in your termin | `integration.eventListener.type` | The event listener type | ✅ | | `integration.config.terraformCloudHost` | Your Terraform host. For example https://app.terraform.io token | ✅ | | `integration.config.terraformCloudToken` | The Terraform cloud API token | ✅ | -| `integration.config.appHost` | Your application's host url | ❌ | +| `integration.config.appHost` | Your application's host url. Required when installing Terraform Enterprise (self hosted) | ❌ | | `scheduledResyncInterval` | The number of minutes between each resync | ❌ | | `initializePortResources` | Default true, When set to true the integration will create default blueprints and the port App config Mapping | ❌ | From d4d7d6fa42ce931f23cb2f6b98fa8e07b8224106 Mon Sep 17 00:00:00 2001 From: hadar-co Date: Thu, 13 Jun 2024 11:49:32 +0300 Subject: [PATCH 15/56] add us region to api (#1305) Co-authored-by: Hadar --- .../examples/create-azure-resource.md | 1 + .../add-a-log-to-an-action-run.api.mdx | 2 +- .../approve-an-actions-run.api.mdx | 2 +- docs/api-reference/change-a-blueprint.api.mdx | 8 +-- docs/api-reference/change-a-scorecard.api.mdx | 2 +- docs/api-reference/change-a-team.api.mdx | 2 +- docs/api-reference/change-a-webhook.api.mdx | 2 +- docs/api-reference/change-an-entity.api.mdx | 2 +- docs/api-reference/change-scorecards.api.mdx | 2 +- docs/api-reference/create-a-blueprint.api.mdx | 50 +++++++++--------- docs/api-reference/create-a-migration.api.mdx | 2 +- docs/api-reference/create-a-scorecard.api.mdx | 2 +- docs/api-reference/create-a-team.api.mdx | 2 +- docs/api-reference/create-a-webhook.api.mdx | 2 +- .../create-an-access-token.api.mdx | 2 +- docs/api-reference/create-an-action.api.mdx | 2 +- docs/api-reference/create-an-entity.api.mdx | 2 +- .../create-an-integration.api.mdx | 3 +- docs/api-reference/delete-a-blueprint.api.mdx | 2 +- docs/api-reference/delete-a-scorecard.api.mdx | 2 +- docs/api-reference/delete-a-team.api.mdx | 2 +- docs/api-reference/delete-a-user.api.mdx | 2 +- docs/api-reference/delete-a-webhook.api.mdx | 2 +- ...delete-all-entities-of-a-blueprint.api.mdx | 2 +- docs/api-reference/delete-an-entity.api.mdx | 2 +- .../delete-an-integration.api.mdx | 2 +- docs/api-reference/get-a-blueprint.api.mdx | 2 +- .../get-a-blueprints-entity-count.api.mdx | 2 +- .../get-a-blueprints-permissions.api.mdx | 2 +- .../get-a-blueprints-scorecards.api.mdx | 2 +- docs/api-reference/get-a-scorecard.api.mdx | 2 +- docs/api-reference/get-a-team.api.mdx | 2 +- docs/api-reference/get-a-user.api.mdx | 2 +- docs/api-reference/get-a-webhook.api.mdx | 2 +- docs/api-reference/get-actions.api.mdx | 2 +- .../api-reference/get-all-action-runs.api.mdx | 2 +- docs/api-reference/get-all-blueprints.api.mdx | 2 +- .../get-all-entities-of-a-blueprint.api.mdx | 2 +- .../get-all-integrations.api.mdx | 2 +- docs/api-reference/get-all-migrations.api.mdx | 2 +- docs/api-reference/get-all-scorecards.api.mdx | 2 +- ...get-all-teams-in-your-organization.api.mdx | 2 +- ...get-all-users-in-your-organization.api.mdx | 2 +- docs/api-reference/get-all-webhooks.api.mdx | 2 +- .../get-an-action-runs-details.api.mdx | 2 +- .../get-an-actions-run-logs.api.mdx | 2 +- docs/api-reference/get-an-entity.api.mdx | 2 +- docs/api-reference/get-an-integration.api.mdx | 2 +- .../get-an-integrations-audit-logs.api.mdx | 2 +- docs/api-reference/get-audit-logs.api.mdx | 2 +- ...invite-a-user-to-your-organization.api.mdx | 2 +- docs/api-reference/patch-a-blueprint.api.mdx | 50 +++++++++--------- .../patch-a-blueprints-permissions.api.mdx | 2 +- docs/api-reference/patch-a-team.api.mdx | 2 +- docs/api-reference/patch-a-user.api.mdx | 2 +- docs/api-reference/patch-a-webhook.api.mdx | 2 +- .../api-reference/patch-an-action-run.api.mdx | 2 +- docs/api-reference/patch-an-entity.api.mdx | 2 +- .../patch-an-integration.api.mdx | 2 +- .../patch-an-integrations-config.api.mdx | 2 +- docs/api-reference/port-api.info.mdx | 49 ++++++++++------- ...ename-a-blueprints-mirror-property.api.mdx | 2 +- .../rename-a-blueprints-relation.api.mdx | 2 +- .../rename-a-property-in-a-blueprint.api.mdx | 2 +- docs/api-reference/search-entities.api.mdx | 2 +- docs/search-and-query/examples.md | 5 ++ docs/search-and-query/search-and-query.md | 5 ++ static/img/openapi/switchRegion.png | Bin 0 -> 32326 bytes static/spectmp.yaml | 1 + 69 files changed, 156 insertions(+), 134 deletions(-) create mode 100644 static/img/openapi/switchRegion.png diff --git a/docs/actions-and-automations/setup-backend/azure-pipeline/examples/create-azure-resource.md b/docs/actions-and-automations/setup-backend/azure-pipeline/examples/create-azure-resource.md index 2442f4d3f..9fc22d6ad 100644 --- a/docs/actions-and-automations/setup-backend/azure-pipeline/examples/create-azure-resource.md +++ b/docs/actions-and-automations/setup-backend/azure-pipeline/examples/create-azure-resource.md @@ -313,6 +313,7 @@ jobs: sudo apt-get install -y jq displayName: Install jq + # The API call below uses the EU region. To use the US region, replace `api.getport.io` with `api.us.getport.io` - script: | accessToken=$(curl -X POST \ -H 'Content-Type: application/json' \ diff --git a/docs/api-reference/add-a-log-to-an-action-run.api.mdx b/docs/api-reference/add-a-log-to-an-action-run.api.mdx index 7a4bf5d6e..7b8134122 100644 --- a/docs/api-reference/add-a-log-to-an-action-run.api.mdx +++ b/docs/api-reference/add-a-log-to-an-action-run.api.mdx @@ -5,7 +5,7 @@ description: "This route allows you to send a log message back to Port, which wi sidebar_label: "Add a log to an action run" hide_title: true hide_table_of_contents: true -api: eJztVcFu4zYQ/RWClyaAYyU9GosF3GwKLLpAAzs5FKlRUNLY4oYWVZKy4xr+974hJVvJxtheil4KAzJFcYaPb94b7mVJvnC6CdrWciIfKu2Fs20goYyxWy92thXBCk91KZQwdiXW5L1akchV8cyf7q0LI7GtdFGJrTZG5CRK7RujdlQKXYtQIVvBOwjX1j940SB8LH5D5kLV2Mhb0XrCuuPmSNs2peIRglNUILfWtYp5fFCh9eJi/nh7ezefZz9PP395nN1dCgWYRuVkRDpYrutVzJEixh9yl32MjwcrDClXi7V1wJdj3wFKPxJFRTggT3P8U2mLdk11iAAWF1UIjZ9kGab9eEWhAQtjbbPCEWBfeTJLPNxGF3RFLw05TXVBPnO0NFSEq7TVVePsyoHQ7HIsRzKolZeTJzlNOGbAIRcj6ejPlnz4yZY7OdnLwtYBQHiomsboIkLKvnou4V56AF8rHoVdQyiqzb9iR6THZgASNPn49cTnPJIzCPHBgTiEvJUHvVcGu3xT47G4RWGhA0PLIHKj6mehl1FLtjY7sVV1eF9VqUDYmOp2zVR0FcZMV2O5OIxk2vgLF/r7qKedIrBhJwoaSOJfQA+A3cQ/o3Toqj7v0F19WuRVZak5Upn7QTGX8BAlnWhHJfPWA1gcOOz0JbiWMNEop9aEWrLe3tFMhxYrNaNsVKgAvUYM3sDRH7qU36SFVD0VrdNhF7Pm8Bc5DBeHqGLf2Non8f14fc1/r7n4REvVmiBm3cp4YqCsbMkYrI8iZigTmW1uslQyeAo+yfYJ1SEDm14yErfpj9c6yET2llWNHjhWDmHPmYeEsAd/pARhv9DuxMK0BTCn/4pWkB1RFakSUQyc/Tg7OffuRa0bQ2ecN9D5K22fZHNU1KvaLG1MqANnliwWMb3/jOV89sTqzfia1zJ9axU7RH+AspcvdMaN+OiAtyod9Jz/r4j/+IpIYgz0EjLwB9GhtlHf+84aT3Jzg4WdOdilbfybHG0bHQLVV+worN/vc+Xp0ZnDgachWccGxnCjnFY5awsuQsV4XB77zVmNXMy6xnApzkHuTVWzozbKtPyG4TMsduwwB+71naUYQfp4m/a5euAUp+Bv7kI29rF73P86f8DivLtD17aMnUxtmSA8J/J3/PBim8QbFsX5vcQFsGqT9VLe2Ihb5nrYHJ5jc+gGjPbdI77tGulI/DyMzoR8gKMFWs/H4/L05WxAx1i/mgnna+Bv355uLA== +api: eJztVcFu4zYQ/RWClyaAYyU9GosF3GwKLLpAAzs5FKlRUNLY4oYWVZKy4xr+974hJVvJOtheil4KAzJFzQzfzLw33MuSfOF0E7St5UQ+VNoLZ9tAQhljt17sbCuCFZ7qUihh7EqsyXu1IpGr4pk/3VsXRmJb6aISW22MyEmU2jdG7agUuhahQrSCTxCurX/wooH7WPyGyIWqcZC3ovUEu+PhCNs2peIVnJNXILfWtYpxfFCh9eJi/nh7ezefZz9PP395nN1dCgWYRuVkREos1/Uqxkge4w+5yz7Gx4MVhpSrxdo64Mtx7gClH4miIiTI2+z/VNqiXVMdIoDFRRVC4ydZhm0/XlFoUIWxtlnhCLCvPJklHm6jC7qil4acprognzlaGirCVTrqqnF25VDQ7HIsRzKolZeTJzlNOGbAIRcj6ejPlnz4yZY7OdnLwtYBQHipmsboIkLKvnpu4V56AF8rXoVdQ2iqzb/iRITHYQASNPn49VTPeSzOwMUHh8LB5S096Fwb7PJNj8fiFo0FDwwtg8iNqp+FXkYu2drsxFbV4TyrUoNwMNXtmkvRdRg7XY/l4jCS6eAv3Ojvo552jMCBHSloQIl/AT0Adhv/rKRDVfVxh+rqwyKuKkvNnsrcD5q5hIYo8UQ7KrluPYDFgd1OX4JrCRuNcmpN6CXz7QxnOrSw1IyyUaEC9Bo+eEON/tCl/CYsqOqpaJ0Ouxg1h77IYbk4RBb7xtY+ke/H62v+e12LT7RUrQli1lnGjIGysiVjsD6SmKFMZLa5yVLLoCnoJNsnVIcM1fSSkbhNn17rQBPZS1Y1eqBY5HjOoPWvbAapzblWKYs+wWPZ4PkL7U6VmrYA7/RfUS6yK2ZFqoQXJ8eanZ3Uffei1o2hd9Q50MIr/p+odWTdq/4tbQyoA0eWTCgxvf8Mc65PqvzN+JptucRrFadIn0DZUxxc5GF9VMlbJg/m0v/XyH98jSQyBnoJGeoH0qG3keL7Tj5PcnMDw05ArOQ2/k2O0o4qAusrVh3s9/tceXp05nDgbVDWscix3CinVc7cgtLQMV6Xx5n0LkcuZt3wuBTvQe5FVbOiNsq0/IblMyR2nEIHvg86STGC9PE2nXP1wCFOzt/clyzs44S5/3X+AOO8u2fXtozTTm25QHhO5O/44cU2qW4wivt7iUti1SbppbhxWLdc6+FweI7DoVsw2rMpvp0aKSV+8qw66/IBihYYPR+P5unLuw5dxXprLjhfFX8Dxuh6uQ== sidebar_class_name: "post api-method" info_path: api-reference-temp/port-api custom_edit_url: null diff --git a/docs/api-reference/approve-an-actions-run.api.mdx b/docs/api-reference/approve-an-actions-run.api.mdx index 1b63222a6..4c9e685da 100644 --- a/docs/api-reference/approve-an-actions-run.api.mdx +++ b/docs/api-reference/approve-an-actions-run.api.mdx @@ -5,7 +5,7 @@ description: "This route allows you to approve or decline a request to execute a sidebar_label: "Approve an action's run" hide_title: true hide_table_of_contents: true -api: eJztVdtu2zAM/RVBe1gLJHG7x6AokLUFVmzYgizbSxcMis3Eah3J0yVtFvjfR0qy6/TytD0OARRdSOkc8pDe8wJsbmTtpFZ8zOeltMxo74CJqtL3lu20Z04zUddGb4FpwwrIK6nQgBn45cE6OocHyIOXYiKny5grhQsW0oBN/qIanS1Ndh6GuWYVCKPYRht0XOKrbCOUF1VnzVb4XrzPDlheQn7HyMyVwG4KnfsNKCfoeHFUOlfbcZbhth2twdXauJHUWW5AOBhaqFY4mK3MYQgPNRgJKgebWXCHh+m9oVmKPHuTa7WSa29gGLENW2xDxNbaHo/4gDuxtnx8wyeR/8wryxcDnoL0Xhc7Pt5zvM8haJriTZXMA/zs1lL899wiyY2gmdvVgBnRy1vIHV6PryJoJ8EGO6Ttbc/OOiPVGu1A+U2AMZ3Ovny/wp3Lq4tP15+v+KIZHKb7ufOhGiast8bUFhmmA8OJWENmKA1ruQXFIpyYXN7gO6IoJHmJatrDvRKVhRgSVEVBMBORRUNejwfOeMCNWhixAQeGIvtCdBJwtJQEuBauRBYKfXBlvPopi2es5ohaFpgDuZJgmF4FHkm16BMkfy+U6+k+S6JPDJ8hxTxbLAAj3S4AXaKwweB00QQJ2BpVEjP37uSE/g4xXcJK+MqxWbIMMUTipS4irZx4BXpjnm1PsyS8DPHabB+ZNlmrTU5wzLYNmzcVurUFImrZqw/ex/6V4hthtgy6UKPbR9g9RnfiEZ2Rv4N+eUpACaJAL0JPip49av/qQWzqCvra7Un0MBr9rK50wCAd+fIpgmaT6TW6ELtofjo6IdtaW4c1SuYtxNS0uqb01lKCn77XK8r/DfBvGmAUioMHl9WVQEFgVoL29km6N3x7iobJicrIh79xV6qdglGVJSaUfPb7pbDwzVRNQ9sYckNVhtOtMFIsSRmo8kJamhddm3k1yUezVL3H7J80gxeJt2WjqGaQkacVTu+wiLre1FBPTkVDHOLhRUQ6nNMVj87PvhdUul2TmE7mFx/Qepk+NBtdhCYo7inOOI75D/zhQtcx/GgU9ve8EmrtxZrs48WhhXtKWb/+70L9pwnBfZHj08YQOdHYDF5xOcOSZthdzjvzePKqQwpZa00Rpy/IH+dOEwM= +api: eJztVd9v2jAQ/lcs72GtBKTdI6oqsRZp1aYNMbaXDk0mOYjbYGf+QcsQ//vubCcNLX3aHiek4CTf2d93991lxwuwuZG1k1rxIZ+V0jKjvQMmqko/WLbVnjnNRF0bvQGmDSsgr6RCADPwy4N19B4eIQ9RiomcNmOuFC4gpAGb4kU1uFiY7DJcZppVIIxia20wcIGnsrVQXlQtmi3xvLif7bG8hPyeEcyVwG4Lnfs1KCfo9fykdK62wyzDx3awAldr4wZSZ7kB4aBvoVrixWxkDn14rMFIUDnYzII7fJnO65uFyLM3uVZLufIG+pFbv+HWR24N9nTAe9yJleXDWz6K+qdeWT7v8ZSk97rY8uGO434OSdMSd6pkHuhnd5byv+MWRa4Frdy2BqyIXtxB7nB7PBVJOwk24FC2tx2cdUaqFeJA+XWgMZlMv3wf45Pr8dWnm89jPt/3Dsv9MvjQDSPWucfSFhmWA9OJXENlqAwruQHFIp1YXL7Hc0RRSIoS1aTDeykqCzEl6IqCaCYh8z1FPb1wxgM+qIURa3BgKLNHspOII1IS4Vq4ElUojME749VPWbxQNUPWssAayKUEw/Qy6EiuxZhg+QehXMf3WTJ9UviCKdbZYgMY6baB6AKNDQaX832wgK3RJbFy787O6O+Q0zUsha8cmyZkyCEKL3URZeWkK8gb8mxzniXjZcjXZruodJ813uREx2yatHlTYVjTIKKWnf7A3B0DeHuA6ej7SjWIUhqVbTkw8iNsnyow8qjAyN/B4zwVqQRRYBQpJNdPn/pj/CjWdQVdf3dsfJixbuWXOnCQjmL5BEmz0eQGQygDEX4+OCNsra3DPiZ4QzENtnZwvbVkgufndRr3/5D8myEZjeLg0WV1JdAQWJVgv12y9y3fnCMwBVGr+fA3bNu5dTm6ssSCUsxutxAWvplqv6fHmHJDnYjLjTBSLMgZ2AmFtLQu2lH0apFPpqnDT9k/GRhHhTdto6hnUJGnO1zeYxO182tPczs1DWmIL68i0/6MtngKfvFNodZtB8lkNLv6gOhF+hitdREGpXigPON1yH/gD290HdOPoPB8xyuhVl6sCB83DmPeU8m6/X8f+j8tiO5Rjc8HQ9REVxpHR0MusKUZTpfLFh7fvBqQUtagKeP0lfkDYywfkA== sidebar_class_name: "patch api-method" info_path: api-reference-temp/port-api custom_edit_url: null diff --git a/docs/api-reference/change-a-blueprint.api.mdx b/docs/api-reference/change-a-blueprint.api.mdx index 7a617e912..c9667ac1c 100644 --- a/docs/api-reference/change-a-blueprint.api.mdx +++ b/docs/api-reference/change-a-blueprint.api.mdx @@ -5,7 +5,7 @@ description: "This route allows you to change a specific blueprint in your Port sidebar_label: "Change a blueprint" hide_title: true hide_table_of_contents: true -api: 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 +api: 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 sidebar_class_name: "put api-method" info_path: api-reference-temp/port-api custom_edit_url: null @@ -1321,7 +1321,7 @@ This route allows you to change a specific blueprint in your Port account.
<
<
<

To anyOf
To

To oneOf
To

To

To anyOf

To

To

To

  • To

  • To
    To

    To

    To anyOf

    To

    To
    -
    < sidebar_label: "Get an action run's details" hide_title: true hide_table_of_contents: true -api: eJzdVE1P3DAQ/SuWLwUpuwGOEUJCaoWqXhClJ7SqvMlkY+GNw3gc2Eb5753JBwS0nHrrxYmdmfGb9+al0wWEHG1D1tc60/eVDQp9JFDGOf8c1MFHRV6VQHmlqAJVABnrgvKlMrUyuWQqjPX6covp1bDce+XAYK32HrnQlustAkOi8gryRyXHUvGh8HncQ01GQjYnFVETsjTl47DeATUeaW19miMYglUAV/KCrc1hBS8NoIU6h5AilA5yWo1XrRr0O4QQ0tO1TjSZXdDZg74ecdwxDr1JdGPQ7IEA5WOnAyPbG511mg4NMCGB0NY7zoc67iW/PedNe6E3faKtUPYUAQ98VnMd3rZcSrhMNMJTtAiFzkrjAvTJ5+XnWo2h6q0Uc/XbFrz/qBEoWzBdtrSAooOQ+MbvINmzqelVt1Gad5AII/Tcf4A8oqXD0P2WRQOULpnpIsOBI4liGhtfBwgC/eLsTB7vQX2F0kRH6m6K1D33xMRWni/TLKJOxu4ynbbn6YiWJeMr0m5stNcCB9tZi4iOo+dhMI1dzIJeYv8prI7Y5g5eCea0H7CQ5zoyJLR/hlHTE+0Vd8tZ/SBD6Yd0S07ib/k+dX37XUSflM30+fpMJGt8oL2pJXyqfgP03hRfwuyXjzJ2Ovc1sYr/t+tGFQheKG2cYbaZt0HYbhqHyVHTQMiMxuGRTdPPOlfMswR23dYE+IWu7+V4NJ5MSmGD2bpXpyX6kSVfWrE1LgqOYWxag1bCj6d+KtLJ3WSeU/UPDjxKyDyr9WGJdW5jIqLfLB118+1eWItC4XLYH4dhn16kwaO1P7pgvEhW+UsdTblkEyi20tVr+Pjl04TJVHO0dLrp+/4vTgM2UA== +api: eJzdU8tu2zAQ/BWClyaAbCU5CkEAAy2CopcgTU+BUdDSyiJCk8qSVOIK+vfu6uHIiXPqrRfJomeXszM7rSzA56jroJ2VmXyotBfoYgChjHEvXuxdFMGJEkJeiVCBKCAobbxwpVBWqJwrBUa7vN5getM/HpwwoNCKnUNqtKF+M6BPRF5B/iT4mDs+Fi6PO7BBMWR9VoVQ+yxN6dgvtxBqh2GpXZojqAALD6akBzY6hwW81oAabA4+RSgN5GExXLWo0W0RvE/PlzKRQW29zB7lauBxTzzkOpG1QrWDAMh/ttITs52SWSvDvgYSxAfUdkv1YOOO65tL+miu5LpLpGbJniPgns4s9aHPhlqxlolEeI4aoZBZqYyHLvm8/dSrVqF6a0Va/dYFfb/3CIQuSC5dakD2gUV807e37EXZcPBtsOaIUsAIHc3vIY+ow76ffkOmAfKUpHSRYa8Ro0jG2lkPnqlfXVzw65jUVyhVNEHcj0jZ0UwkbOXoMkkmymSYLpNpc5kObMkyuiJth0E7yXSwmbyIaAg9LYOq9WwXJKv5ERD9EWY2309WfuA/TXkwgSp/wMzCVSTaqP/06yhHaypShKq63qrS9eU6GMbf0X1idfedF2N0P5OXywu2tXY+7JRl+Nj9FsJxcL74KVPvrW5l7mwgp//vZA4uBHgNaW0UqU269d6248qMqRuXhvc49q9sTAj5XJHODGzbjfLwC03X8fEQTt6mQnu1MYc0JvKJLJ/HtVEmMo9+bRqFmuGnSz816ex+DNi5+IeUnhRk2lW7n3OdxhiF6Nbz1N1+e2DVIks4X/anftnHHzzgyd7vUzBcxE/O3smSawqBoCjdHODDP58WjKGa0Dzpuuu6vxVFQt0= sidebar_class_name: "get api-method" info_path: api-reference-temp/port-api custom_edit_url: null diff --git a/docs/api-reference/get-an-actions-run-logs.api.mdx b/docs/api-reference/get-an-actions-run-logs.api.mdx index 727dc1480..d9967cfd2 100644 --- a/docs/api-reference/get-an-actions-run-logs.api.mdx +++ b/docs/api-reference/get-an-actions-run-logs.api.mdx @@ -5,7 +5,7 @@ description: "This route allows you to fetch the logs from an action run.

  • ## Introduction - This API is documented in the **OpenAPI format** and provides programmatic access to Port and its components. - - The API describes the various routes available for use, and can be used directly from the browser by using the `Send API Request` button on the right side of each route's page. - Port is API-first, meaning that this API allows you to achieve any and all of its functionalities. - You can *read from* and *write to* your software catalog, execute & interact with your self-service actions, fetch & update your scorecards, and much more. +This API is documented in the **OpenAPI format** and provides programmatic access to Port and its components. + +The API describes the various routes available for use, and can be used directly from the browser by using the `Send API Request` button on the right side of each route's page. + +Port is API-first, meaning that this API allows you to achieve any and all of its functionalities. +You can *read from* and *write to* your software catalog, execute & interact with your self-service actions, fetch & update your scorecards, and much more. + +## Authentication + +To use the API, you need to obtain a Bearer API key from your Port application: - ## Authentication +1. Go to your [Port application](https://app.getport.io), click on the `...` button in the top right corner, and select `Credentials`. +2. Click on the `Generate API token` button, and copy the generated token. - To use the API, you need to obtain a Bearer API key from your Port application: + - 1. Go to your [Port application](https://app.getport.io), click on the `...` button in the top right corner, and select `Credentials`. - 2. Click on the `Generate API token` button, and copy the generated token. - - +## Using the API from the browser - ## Using the API from the browser +Each route in the API documentation has a `Request` panel on the right side. - Each route in the API documentation has a `Request` panel on the right side. +1. In the `bearer` field, paste the API token you obtained from your Port application. +2. Under `Parameters`, fill in your desired values. +3. Under `Body`, you can edit the request body freely and change the parameter values as you wish. - 1. In the `bearer` field, paste the API token you obtained from your Port application. - 2. Under `Parameters`, fill in your desired values. - 3. Under `Body`, you can edit the request body freely and change the parameter values as you wish. +Once you're ready, click the `Send API Request` button to execute the request, the response will be displayed below. - Once you're ready, click the `Send API Request` button to execute the request, the response will be displayed below. - - Alternatively, you can use the panel in the top right to copy a snippet in your desired language to use in your application. Note that these snippets will be updated with the values you filled in the `Request` panel. \ No newline at end of file +Alternatively, you can use the panel in the top right to copy a snippet in your desired language to use in your application. Note that these snippets will be updated with the values you filled in the `Request` panel. + +### Regions + +Port's API is available in two regions: +- Europe: `https://api.getport.io` +- United States: `https://api.us.getport.io` + +When using the API from the browser, you can switch between regions using the dropdown in the `Try it out` panel, by hovering over the `Base URL` field and clicking on `Edit`: + + \ No newline at end of file diff --git a/docs/api-reference/rename-a-blueprints-mirror-property.api.mdx b/docs/api-reference/rename-a-blueprints-mirror-property.api.mdx index bbbbe2145..8f3fdc604 100644 --- a/docs/api-reference/rename-a-blueprints-mirror-property.api.mdx +++ b/docs/api-reference/rename-a-blueprints-mirror-property.api.mdx @@ -5,7 +5,7 @@ description: "This route allows you to change the identifier of a mirror propert sidebar_label: "Rename a blueprint's mirror property" hide_title: true hide_table_of_contents: true -api: eJztVW1v0zAQ/iuWhcQmmmbjGxUgxosEQqBpjC+UMrnJtfGWxMYvLV2U/86dkyVp1yEGfKSVUts93z13z3OXiqdgEyO1k6rkE36eScuM8g6YyHO1tmyjPHOKJZkol8BcBkymUDq5kGCYWjDBCmmMMkwbpcG4DZMlHloNCdokbJ570EaWjs7RmWGnyjgmkkT50o2fzk38PDzOFctBmJIVymD0OYLoL9sRIoDkitEpgZimKvEFAhGEfHaQOaftJI7x2I6X4DQGGUsVz73M04jiRlYt3FoYiBLhRK6WceKtU4W8hggjwNIEVzZOVLmQS4+GKRpGhUohjy04r6MOT3w45iPuxNLyyZS/7GDy2Ygb+O7Bupcq3fBJxdGdQ5y0FFrnMglh4ktLBa+4xbwKQSu30YAUqPklJA69twWVYOnfEtYfQqE/igIG5tZh4CWa7xIJDK/skEWV26GrYYDCCefA0N1v05Poi4iuj6InLy6efcVPNHv0gNf1iIs0lRRB5KcDdAuRW6hrMtDCID50RIXZk10LFy0lhcKgGcYuQ068B7s3n9u59OIima4FLjqtdokRH9JAyifOeKhH90XVFOwi7H4P1m5HDMEZIEd3gUP5WEi8kW4T6jfHjsBqTKazOijLalRoI4jHR0f0s43nNSyEzx07ay0DachHptImryRrqM5wG6+O477D4qpPpI6bFOJqkHwdN9g5YTSrG4q9ydHXTf8JLQftx4cJfaKqN9hv0uoIwGvvYdPX/MQjZCOvQ6/wlpYMRIq3KCXqnrO+z978EIXOYU+fbFG7UCGkdGTKwxw6OX2H7imZpoDH4yOy1cq6QoQGbRGdhdxxsnUVe2h3id6Vx6D5/0/W+03WRhYOfrhY5wLpR1KC0qpWvVO+OkbDPg/cTLYGSFM9Ot7u4FbFqMwMWSZPVTUXFj6bvK7pGGVlqP1wuRJGijnJBZWeSkvrtB14vyD74Kxt60P2F4NrbxFuGqYkta0E+sEdLq+wfbYmKA26f4j4HjPtD3APGapnaN72OpW9sXjVQI3OyU/v4dYrlSZON/BOT85fvSWVtO9iUhweG7EmHeBzwr/iFzcq1CQMp3Be8Ry58GJJ9o3j8P7zpL3h2LoKY6tdENy9ie7OsyYnehJNe688xdHEcCg+78ybf+680JaskwLVAkH/BD/Hdsw= +api: eJztVW1v0zAQ/iuWhQQTTbPxjQoQ20ACIdA0xhdKQW5ybbwlsfFLuy7Kf+fOyZK0K4gBH2ml1HbPd8/d89yl4inYxEjtpCr5hF9k0jKjvAMm8lytLdsoz5xiSSbKJTCXAZMplE4uJBimFkywQhqjDNNGaTBuw2SJh1ZDgjYJm+cetJGlo3N0ZtiZMo6JJFG+dONncxO/CI8LxXIQpmSFMhh9jiD6y3aECCC5YnRKIKapSnyBQAQhnz3KnNN2Esd4bMdLcBqDjKWK517maURxI6sWbi0MRIlwIlfLOPHWqULeQIQRYGmCKxsnqlzIpUfDFA2jQqWQxxac11GHJz4Y8xF3Ymn5ZMpPOph8NuIGvnuw7kSlGz6pOLpziJOWQutcJiFMfGmp4BW3mFchaOU2GpACNb+ExKH3tqASLP1bwvp9KPQHUcDA3DoMvETzXSKB4ZUdsqhyO3Q1DFA44RwYuvt1ehx9FtHNYfT05bfnX/ATzR4/4HU94iJNJUUQ+dkA3ULkFuqaDLQwiA8dUWH2ZNfCRUtJoTBohrHLkBPvwe7N524uvbhIpmuBi06rXWLEhzSQ8okzHurRfVE1BfsWdr8Ha7cjhuAMkKOfgUP5WEi8kW4T6jfHjsBqTKazOijLalRoI4gnh4f0s43nFSyEzx07by0DachHptImryRrqM5wG6+O4r7D4qpPpI6bFOJqkHwdN9g5YTSrW4q9ydHXbf8JLQftx6nadw283bIZJP2RmGnyu029IwlvvoNNz8uxx7SMvAn9xFvqMhAp3qK0qcPO+158fS0KncOeXtqif6FCSOnIlIdZdXz2Ft1Twk2Rj8aHZKuVdYUITdwiOg/1wenXVfWh3RXDroQGA+L/9L3f9G1k4eDaxToXSD+SEsRWtQqf8tURGvZ54GayNWSa6tHxdpe3SkdlZsgyeaqqubDwyeR1TccoK0MtisuVMFLMSS7YDam0tE7bofgLsh+dt61/wP5iuO0twm3DlKS2lUA/uMPlFbbP1pSl9vyHiO8x9/4A95Cheobmba9T2RuL0wZqdEF+eg93Xrs0cbqheHZ8cfqGVNK+r0lxeGzEmnSAzwn/gl/cqFCTMJzCecVz5MKLJdk3jsM70pP2hmPrKoytdkFw9ya6O8+anOhJNO298gxHE8Oh+KIzb/756YW2ZJ0UqBYI+geLi4NZ sidebar_class_name: "patch api-method" info_path: api-reference-temp/port-api custom_edit_url: null diff --git a/docs/api-reference/rename-a-blueprints-relation.api.mdx b/docs/api-reference/rename-a-blueprints-relation.api.mdx index 707c0d885..ddcf840eb 100644 --- a/docs/api-reference/rename-a-blueprints-relation.api.mdx +++ b/docs/api-reference/rename-a-blueprints-relation.api.mdx @@ -5,7 +5,7 @@ description: "This route allows you to change the identifier of a relation in a sidebar_label: "Rename a blueprint's relation" hide_title: true hide_table_of_contents: true -api: eJztVd9v0zAQ/lcsC4lNNM3GG9WY2AYSEy9TKS90BbnJtfHmxsY/Wroq/zt3Tpp0o6ANeGSTUtvx3X1333eXDc/BZVYaL3XJB3xUSMesDh6YUEqvHFvrwLxmWSHKOTBfAJM5lF7OJFimZ0wwC0qQOZMl7pyBDF9mbKoCGCtLT+foxbIrbT0TWaZD6fsnU5uexsdIMwXClmyhLYadYvTO2PUwNGS3jE4p+jjXWVggghhzclB4b9wgTfHY9efgDQbpS51Og1R5QnETp2d+JSwkmfBC6XmaBef1Qt5BghFgbqMrl2a6nMl5wIs5XkwWOgeVOvDBJC2e9LDPe9yLueODMT9vYfJJj1v4FsD5c52v+WDD0Z1HnLQUxiiZxTDpjaNKb7jDvBaCVn5tAGuvpzeQefRurDZgvQRHb0tYDZsKX7aV3zFzHgHM0ewhk8DQ9AFbVMEtXzUFFE94D5aMvozPks8iuTtKXr35+voa/5LJi2e8qnpc5LkkK6GuduDNhHJQVXTBCCsWgI6oMnvSa3DiTUmhMGiBsUu0wV2Hcm8iPyfRqYsEuhK4aFXaJkaESAs5H3gboOo9FdW2Ul+fDK/tiV10Fsjvr9ChgBxkwUq/jgWcYk8Q0eNJFbXlDGq0lsTLoyP6uQ/kLcxEUJ4Nm5uRNSSk0HmdWFbUXBe4TZfHaddj6abLoEq32PF4TwHofSwPwbXLLd3BKnS7bUZh5E4v8t3cPhIDdRrbDFsy0OwDrLv6nwVEb+VdxMAbigoQOVpRdtRKw67p3n0XC6PgN01zj+6ZjqGlJxMeh9PZ1SWGoaTqmh73j+iu0c4vROzaBtkw1gDHXVvE564l/aFGdkbB/wH7yAFbC8LDd58aJZB4pCFqbNNIeMyXx3ixywM3g3t92uqY3uxv5UbKKM8CKSanm81UOPhkVVXRMWrLUjvicimsFFPSCso9l47WeTMBf0P4wbBp80P2F5Nsbz22XVNSyywF+sEdLm+xh+6NVJp8/xDxY4bbHwDeR1E1QbOm46nu9c2LGmsyIn+dp5++sjR32gl4dTa6eE+KaT7PpD6KKlYkBHwO+DX+40abWjZ4KZ5vuEIygpjT/dpx/CIG0uHu8LqNw6tZENy9CT+canVO9CSe9pqc4GBiOBpP2+v1m18aNCVrtUC1QNA/ABoTe4o= +api: eJztVW1v0zAQ/iuWhcQQTdPxjQomOkAC8WUq4wulTG5ybczc2Pilpavy37lz0qTduom3j2xSajt3vufuee6y5Tm4zErjpS75kF8W0jGrgwcmlNJrxzY6MK9ZVohyAcwXwGQOpZdzCZbpORPMghLkzmSJO2cgw5cZm6kAxsrS0zneYtmFtp6JLNOh9P0XM5uexcelZgqELdlSWww7w+ids+thaMiuGZ1S9Emus7BEBDHm9KTw3rhhmuKx6y/AGwzSlzqdBanyhOImTs/9WlhIMuGF0os0C87rpbyBBCPAwsarXJrpci4XAQ1zNEyWOgeVOvDBJC2e9Emf97gXC8eHE37ewuTTHrfwPYDz5zrf8OGW43UecdJSGKNkFsOk3xxVessd5rUUtPIbA1h7PfsGmcfbjdUGrJfg6G0J63FT4fdt5ffcnEcAC3S7zSQwdL3FFlVwx1dNAcUT3oMlp6+TUfJZJDeD5Pmrq5df8C+ZPn3Eq6rHRZ5L8hLqYg/eXCgHVUUGRlixBLyIKnMkvQYnWkoKhUELjF2iD+46lEcTuZtEpy4S6FrgolVpmxgRIi3kfOhtgKr3u6h2lbr6bXhtT+yjs0D33ocOBeQgC1b6TSzgDHuCiJ5Mq6gtZ1CjtSSeDQb0cwjkDcxFUJ6NG8vIGhJS6LxOLCtqrgvcpqvTtOuxdNtlUKU77Hh8pAD0PpaH4NrVju5gFV67a0Zh5F4vcqr8XYPgDmz28v9ILNWp7qrQEoaeH2DTcTQKmKGVNxEnb2gsQOToRRWgdht3jfn2h1gaBQ801oEk5jqGlp5ceBxgo4v3GIYSr+t+2h+QrdHOL0Xs7AbZONYJR2Jb6MeuFcZtHe2Ni/9D+BeHcC0IDz98apRA4pGGKLNtI/MJX52iYZcHboYHvdxqnd4cb/dG7ijPAimmS7fbmXDwyaqqomPUlqWWxeVKWClmpBVsiVw6WufNlHyA8JNxMwqesL+YdkfrseuaklpmJfAe3OHyGnvoYOxSj/5DxL8yAP8A8DGKqim6NR1Pda8tX9dYk0u6r7vpzpeY5k47JS9Gl6/fkWKaTzipj6KKNQkBn0P+Bf9xo00tGzSK51uukIwgFmRfXxy/moF0uD+8ruPwahYE92jCt6danRM9iaejLi9wMDEcjWetef3mXoemZK0WqBYI+icGkIgX sidebar_class_name: "patch api-method" info_path: api-reference-temp/port-api custom_edit_url: null diff --git a/docs/api-reference/rename-a-property-in-a-blueprint.api.mdx b/docs/api-reference/rename-a-property-in-a-blueprint.api.mdx index 633228e8e..4720bc814 100644 --- a/docs/api-reference/rename-a-property-in-a-blueprint.api.mdx +++ b/docs/api-reference/rename-a-property-in-a-blueprint.api.mdx @@ -5,7 +5,7 @@ description: "This route allows you to change the identifier of a property in a sidebar_label: "Rename a property in a blueprint" hide_title: true hide_table_of_contents: true -api: eJztVW1P2zAQ/iuWtQ+gNQ3s2yqGBmzSpklTxdiXlQ65ybUxpLHnl5YS5b/vzkmTtpSJvXwcSKntnO+e5+65S8lTsImR2klV8AG/yqRlRnkHTOS5Wlq2Up45xZJMFDNgLgMmUyicnEowTE2ZYNooDcatmCxwZzUk+DJhk9yDNrJwdI5eDBsq45hIEuUL1z+ZmPg0PK4Uy0GYgs2VwbATjN5dtj0MDckdo1OKPkpV4ueIQBDk8UHmnLaDOMZj25+B0xikL1U88TJPI4obWTV1S2EgSoQTuZrFibdOzeUDRBgBZia4snGiiqmceTRM0TCaqxTy2ILzOmrxxId93uNOzCwfjPh5C5OPe9zADw/Wnat0xQclR3cOcdJSaJ3LJISJby1luuQWec0FrdxKA+ZeTW4hcei9SagES28LWA6bDH8Wc9i4YB2GnuGF3RoCw0s7daLcrStVJ58iCefA0KXvo7Pom4gejqLXb2/eXONfNH75gldVj4s0leRa5MMNYFORW6gqMtDCIDB0RDnZQ6zBiZaSQmHQDGMXgQzvUO4l8phEpyuS5lLgotVnS4xKIQ2kfOCMh6r3u6jWmboJ++cBa/tgE5cB8vAULhSNhcQb6VYhdRPsA0zEYDSugp6sRl3WMnh1dEQ/20DewVT43LHLxjLUC0uRqbSmlGR1lTPcxovjuOuruOwYVHEnubjc4l7FNQNOSM1iXWNvcvS47j2h5Ubr8U1aXyjtNYM1ubYCeO0TrLqkn3kEbuRD6BPe1CUDkeItIkadc9n12Pt7Mdc57O2RrepOVQgqHRnzMIXOhh8xANGpE3ncPyJbraybi9CeDabLwP7RlGvzuKuNjbb/P0yfOUxrNTi4d7HOBVYdKxEEVjbSHfHFMRp2PHAz2BocGyMTX+12byNhlGWGBSZ/ZTkRFr6avKroGDVlqANxuRBGigkpBWWeSkvrtBl3v6j1wWXT2YfsL8bW3lSsu6WgVlkI9IM7XN5h72zNTxpz/xDxc+bZHwDeLk41xgtNj1PGa5uLGmV0RZ46H48+ozRp2nE3PLu6+EAyab6/JDk8NmJJEsDngF/jP25USEcYSuG85DmWwYsZ2deOw4fPk/g2x9VdGFfNguDupbo7x2pO9KQK7b1yggOJ4TA8bc3rN09eaFLWqoBygaB/AuMHcCg= +api: eJztVW1P2zAQ/iuWtQ+gNQ3s2yqGBmzSpklTxdiXlQ65ybUxpLHnl5YS5b/vzkmTtpSJvXwcSKntnO+ee+65S8lTsImR2klV8AG/yqRlRnkHTOS5Wlq2Up45xZJMFDNgLgMmUyicnEowTE2ZYNooDcatmCxwZzUk+DJhk9yDNrJwdI5eDBsq45hIEuUL1z+ZmPg0PK4Uy0GYgs2VwbATjN5dtj0MDckdo1OKPkpV4ueIQBDk8UHmnLaDOMZj25+B0xikL1U88TJPI4obWTV1S2EgSoQTuZrFibdOzeUDRBgBZia4snGiiqmceTRM0TCaqxTy2ILzOmrxxId93uNOzCwfjPh5C5OPe9zADw/Wnat0xQclR3cOcdJSaJ3LJISJby0xXXKLec0FrdxKA3KvJreQOPTeECrB0tsClsOG4c9iDhsXrMPQM7ywW0NgeGmnTsTdulI1+RRJOAeGLn0fnUXfRPRwFL1+e/PmGv+i8csXvKp6XKSpJNciH24Am4rcQlWRgRYGgaEj4mRPYg1OtJQUCoNmGLsIyfAO5d5EHifR6YqkuRS4aPXZJkalkAZSPnDGQ9X7XVRrpm7C/nnA2j7YxGWAPDyFC0VjIfFGulWgboJ9gEQMRuMq6Mlq1GUtg1dHR/SzDeQdTIXPHbtsLEO9sBSZSuuUkqyucobbeHEcd30Vl10GVdxJLi63cq/iOgNOSM1iXWNvcvS47j2h5UbrcaL7sYG3WzYbqX+h0tRZrgloq4Q3P8GqK8yZx+SMfAi9xJvaZSBSvEXJU3dddn34/l7MdQ57+2hLAVMVgkpHxjxMqrPhRwxAKddkH/ePyFYr6+YitHCD6TIw9GgStlzv6mdjNPwfuM8cuLUaHNy7WOcCq46VCBorG3mP+OIYDbs8cDPYGi4bYxVf7XZ4I3OUZYYFJn9lOREWvpq8qugYNWWoS3G5EEaKCSkFWyGVltZpMxJ/UeuDy6b7D9lfjLa9VKy7paBWWQj0gztc3mHvbM1Y6s1/iPg5M+8PAG8XpxrjhabHifHa5qJGGV2Rp87Ho08tTZp2JA7Pri4+kEyabzRJDo+NWJIE8Dng1/iPGxXoCEMpnJc8xzJ4MSP72nH4OHoS3+a4ugvjqlkQ3L2p7s6xOid6UoX2XjnBgcRwGJ625vWbJy80lLUqIC4Q9E9DP3y1 sidebar_class_name: "patch api-method" info_path: api-reference-temp/port-api custom_edit_url: null diff --git a/docs/api-reference/search-entities.api.mdx b/docs/api-reference/search-entities.api.mdx index c92658e58..08a5ed249 100644 --- a/docs/api-reference/search-entities.api.mdx +++ b/docs/api-reference/search-entities.api.mdx @@ -5,7 +5,7 @@ description: "This route allows you to search for entities in your software cata sidebar_label: "Search entities" hide_title: true hide_table_of_contents: true -api: eJztWG1v2zYQ/isEB2wLYFlOkBaYEQTI1gzoBjRBk31ZEiS0dLbZUqRGUklcw/+9dxQly3Gcel22rsNgQJZI3vvdcyfNuRcTx4cX/Fh76SU4ftXjObjMytJLo/mQn0+lY9ZUHphQytw5NjMV84Y5EDabsrGxDCI1k5p2LXNm7O+EBZYJL5SZsJFwkDOjmWATeQsaqT0zY2YrBa5/MLLpYbicG6aQr2aFQWoxQrkt9x7LppC9Z7Tmp8AucpNVBe4KUvXq+6n3pRumKS67/gR8aazvS5OOKqnyhPRKGr2SqFfqZjpLcnxIvGkXv2kk7nQ0+xntDErl4IVULip3ikK+c40zCsimQktX9GrLekxoNLsEK7yxjiV4EGrlI8W37I8K7IxtaUtNlSDXJNClO33e4xbwwfkfTT7jwznPjPbIim5FWSqZBabpO0cBnXOHbiwE3flZCRhiM3oHmUc+pSVVQx4ENsVIalKcnkBXBWUKisaTuPZIpmC8WxpKkcpByA8yuBNpvkCV6bGjg7BWzJCx9FCEdaFnJ2MUuK4lWSst5KRN1JgoGy/j7a1QFZCCIs8laSfUace0sVAOehxjrIjxm6oYgWVvUSPU7O+X90pgLW2UthWLM2+lntRM/oSCn7KuQ9Hy2daq46L0s79o1ltQIVUfM2zNmh4f4V+JjvCfZdlZXQbb2lcfjwZeLRaLVQGdYmmS+2nODzh4WwEulMKKAjxYF1J/rVRHxiA+ak61NxaV8g03rByqwQAKuKuRCz7CfaaqHK4zobIKfQv5dafGu/KjtasV/XrMbkixmx67WLJgSxafB7pZ5bwp5AdIMHYwsSHmLkXYGstJhQcDIBcmB4WA56syaSOdLmWnjUZInDRBTXfYnVSKjYBF23M2tqYIENTAeotCjzh4DYfiugsVxxcbHC11EPZplx5hCyQR1PxCHrulfhdBwRn75ezkzXO2MwL+BA2oMo/e3emzE61mJBHhOerQOM2iu61Gp2EnD6gNrsTYQL/tgXAvilLBkN3M2WWnY/SbELzOyYyxBHvJe5dcdh4XN8/q9Bjhr8Lp1A7Rv6YopPfdpHx+DyPuOMgqi1YFEBnhzACWQMqCyIfQjnp0shEf3L43GNDfqvPOqiwD56hp7+/tre+faCC/ki1jQxMidSawluYdk6EeGJfhpb7UB16MFBzSjcUrYwd+enhMBw9SvGtWXi25x3X8sytk+eGN1BhImV/H0ecGz+TtLk0i6KxbSeVPkcHxCmOujWeF8Dh1BceHmbbOxUjdCEobTcnoF4855UsZjZ0Bm8l1kLRqM+Z4s10r0uqx2Ti0DpvN1GDd8NK4MAIKP8Wn9HY3bRIlDp2c0sreNq2psgrPNfUiStkpl5UcDI2zzq8mE5eFX8pfoVPRRxVqY+WHAOo8Vv0UsxapSFsqqrfLYfe4rhRiGOdJVKydXFr8aCaG4YDQ54n9OaeyxI29wd5+MniZ7A7OBz8Md/eH+y/7e7svfsej3jy1v/iEhBbSHj1Gq8uhZjP1+uAwfzjWrIFoj+MkjtnfhdWrAKxjE07HOYdeaNjR6WuSirGu0323P6BSoBwpRHiJiAE7q99iWkx5gLydd5H/XyS/ghfJmDIe7nHSUkIGAAyVPo/IcMFvd/FgJ+ARHbDipwQheGI+pyj9ZtViQct116bSzKUj7NnQprvJ8t+ePDc4+j3MtpjZGywIaLG9R/8FM9AXHTyf9PlyfP96vfvPTZjbpO+KK6/owUryJeIAdZ3Y0wkUarKfalcm58R5Sbv2/Yp4tTPL6cnZOX0HiN+9qG5x1Yo76pB4HfJL/IVPIaHQw6BA63OuhJ5UYkLna740XoiKIK47nbwP00m86XyMEnrW0fLh2FKbRNfOd4lVkgNssQxnn8P2eL2zkSB6bJmx9VeIj84Mr0c= +api: eJztWG1v2zYQ/isEB2wLYFlOmq2DEQTI1gzoBjRBk31pEiS0dLbZUqRGUkldw/99dxQly3Gcel22rsNgQJZI3vvdcyfNuRcTx4cX/Fh76SU4ftXjObjMytJLo/mQn0+lY9ZUHphQytw5NjMV84Y5EDabsrGxDCI1k5p2LXNm7O+EBZYJL5SZsJFwkDOjmWATeQsaqT0zY2YrBa5/MLLpYbicG6aQr2aFQWoxQrkt9x7LppC9Y7Tmp8AucpNVBe4KUvXq26n3pRumKS67/gR8aazvS5OOKqnyhPRKGr2SqFfqZjpLcnxIvGkXv2ok7nQ0+xntDErl4IVULip3ikK+cY0zCsimQktX9GrLekxoNLsEK7yxjiV4EGrlI8XX7PcK7IxtaUtNlSDXJNClO33e4xbwwfkfTT7jwznPjPbIim5FWSqZBabpW0cBnXOHbiwE3flZCRhiM3oLmUc+pSVVQx4ENsVIalKcnkBXBWUKisaTuPZApmC8WxpKkcpByA8yuBNpvkCV6bGjg7BWzJCx9FCEdaFnJ2MUuK4lWSst5KRN1JgoGy/j7a1QFZCCIs8laSfUace0sVAOehxjrIjxq6oYgWWvUSPU7O+X90JgLW2UthWLM2+lntRM/oSCH7OuQ9Hy2daq46L0s79o1mtQIVUfMmzNmh4f4V+JjvCfZNlZXQbb2lcfjwZeLRaLVQGdYmmS+3HO9zh4WwEulMKKAjxYF1J/rVRHxiA+ak61NxaV8g03rByqwQAKuKuRCz7C+0xVOVxnQmUV+hby606Nd+VHa1cr+uWY3ZBiNz12sWTBliw+DXSzynlTyA+QYOxgYkPMXYqwNZaTCg8GQC5MDgoBz1dl0kY6XcpOG42QOGmCmu6wO6kUGwGLtudsbE0RIKiB9RaFHnDwGg7FdRcqji82OFrqIOzjLj3CFkgiqPmFPHZL/S6CgjP2y9nJq6dsZwT8CRpQZR69u9NnJ1rNSCLCc9ShcZpFd1uNTsNOHlAbXImxgX7bA+G9KEoFQ3YzZ5edjtFvQvAyJzPGEuwl711y2Xlc3Dyp02OEvwinUztE/5qikN53k/LpPYy44yCrLFoVQGSEMwNYAikLIh9CO+rRyUZ8cPveYEB/q847q7IMnKOmvb+3t75/ooH8SraMDU2I1JnAWpp3TIZ6YFyGl/pSH3gxUnBINxavjB346eExHTxI8a5ZebHkHtfxz66Q5Yc3UmMgZX4dR58bPJO3uzSJoLNuJZU/RQbHK4y5Np4VwuPUFRwfZto6FyN1IyhtNCWjv3vIKZ/LaOwM2Eyug6RVmzHHm+1akVaPzcahddhspgbrhpfGhRFQ+Ck+pbe7aZMocejklFb2tmlNlVV4rqkXUcpOuYQqXz9QuZUznTwNzbXOwSZbl+BQyl+hU/VHFWps5YcA/DwiwxQzG6nIIiq818uB+LiuJmIYZ05Uvp1uWoxpporhgHR/ZH/OqXRxY2+wt58Mvk92n50Png/3d4eD5/3BD8/e4FFvNu7vvyElH5XQwt6Dx2h1Ofhspl4fLub3R581oO1xnNaxQrrQexXAd2zC6TgL0UsPOzp9SVIxH+qS2O0PqFwojwoRXjRiwM7qN50Wd+6hc+d95f+XzS/gZTOmjIf3OI0pIQNIhmKfR/S44Le7eLAT8IggWPFTghk8MZ9TlH6zarGg5bqzU2nm0hE+bWjl3WT5b0+nGxz9DmZbzPUNFgS02N6j/4I56bMOp4/6fDnif7ne/eem0G3Sd8WVV/RgJfkScYC6TuzpBAo12U+1K5Nz4rykXfvGRbzaueb05OycvhXEb2NUt7hqxR11SLwO+SX+wueSUOhhUKD1OVdCTyoxofM1XxovREUQ151O3oXpJN50PlgJPetoeX9sqU2ia+fbxSrJAbZYhrPPYXu83tlIED22zNj6S8UfNi271w== sidebar_class_name: "post api-method" info_path: api-reference-temp/port-api custom_edit_url: null diff --git a/docs/search-and-query/examples.md b/docs/search-and-query/examples.md index f51f9e643..642736886 100644 --- a/docs/search-and-query/examples.md +++ b/docs/search-and-query/examples.md @@ -9,6 +9,11 @@ import TabItem from "@theme/TabItem" The following examples provide a foundation to begin using the search route. Remember that you can always change the content of the `rules` array to the search query that fits your search. +:::info United States region +The examples below use the EU region API. +If you wish to use the US region API, replace `https://api.getport.io` with `https://api.us.getport.io`. +::: + entities. Each search request is represented by a JSON object, as shown in the following example: diff --git a/static/img/openapi/switchRegion.png b/static/img/openapi/switchRegion.png new file mode 100644 index 0000000000000000000000000000000000000000..cced5665cc51312869b775130ea4570dc5633f17 GIT binary patch literal 32326 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 R{g?LdQ_!BbNx3u&0(lL7|W8ya2v?^~qt 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 Date: Thu, 13 Jun 2024 14:30:35 +0300 Subject: [PATCH 16/56] Bump braces from 3.0.2 to 3.0.3 (#1299) Bumps [braces](https://github.com/micromatch/braces) from 3.0.2 to 3.0.3. - [Changelog](https://github.com/micromatch/braces/blob/master/CHANGELOG.md) - [Commits](https://github.com/micromatch/braces/compare/3.0.2...3.0.3) --- updated-dependencies: - dependency-name: braces dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: hadar-co --- package-lock.json | 18 +-- yarn.lock | 401 +++++++++++++++++++--------------------------- 2 files changed, 171 insertions(+), 248 deletions(-) diff --git a/package-lock.json b/package-lock.json index a0f70880d..a0a8bfd2c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5895,12 +5895,11 @@ } }, "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "license": "MIT", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dependencies": { - "fill-range": "^7.0.1" + "fill-range": "^7.1.1" }, "engines": { "node": ">=8" @@ -8731,10 +8730,9 @@ } }, "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==", - "license": "MIT", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dependencies": { "to-regex-range": "^5.0.1" }, @@ -10519,7 +10517,6 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "license": "MIT", "engines": { "node": ">=0.12.0" } @@ -19343,7 +19340,6 @@ "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==", - "license": "MIT", "dependencies": { "is-number": "^7.0.0" }, diff --git a/yarn.lock b/yarn.lock index f35c8e5d9..f467de571 100644 --- a/yarn.lock +++ b/yarn.lock @@ -84,7 +84,7 @@ "@algolia/requester-common" "4.23.3" "@algolia/transporter" "4.23.3" -"@algolia/client-search@>= 4.9.1 < 6", "@algolia/client-search@4.23.3": +"@algolia/client-search@4.23.3": version "4.23.3" resolved "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.23.3.tgz" integrity sha512-P4VAKFHqU0wx9O+q29Q8YVuaowaZ5EM77rxfmGnkHUJggh28useXQdopokgwMeYw2XUht49WX5RcTQ40rZIabw== @@ -185,7 +185,7 @@ resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.2.tgz" integrity sha512-0S9TQMmDHlqAZ2ITT95irXKfxN9bncq8ZCoJhun3nHL/lLUxd2NKBJYoNGWH7S0hz6fRQwWlAWn/ILM0C70KZQ== -"@babel/core@^7.0.0", "@babel/core@^7.0.0-0", "@babel/core@^7.0.0-0 || ^8.0.0-0 <8.0.0", "@babel/core@^7.12.0", "@babel/core@^7.13.0", "@babel/core@^7.21.3", "@babel/core@^7.23.3", "@babel/core@^7.4.0 || ^8.0.0-0 <8.0.0": +"@babel/core@^7.21.3", "@babel/core@^7.23.3": version "7.23.5" resolved "https://registry.npmjs.org/@babel/core/-/core-7.23.5.tgz" integrity sha512-Cwc2XjUrG4ilcfOw4wBAK+enbdgwAcAJCfGUItPBKR7Mjw4aEfAFYrLxeRp4jWgtNIKn3n2AlBOfwwafl+42/g== @@ -1162,7 +1162,7 @@ core-js-pure "^3.30.2" regenerator-runtime "^0.14.0" -"@babel/runtime@^7.1.2", "@babel/runtime@^7.10.3", "@babel/runtime@^7.12.13", "@babel/runtime@^7.12.5", "@babel/runtime@^7.15.4", "@babel/runtime@^7.22.6", "@babel/runtime@^7.8.4", "@babel/runtime@^7.9.2": +"@babel/runtime@^7.1.2", "@babel/runtime@^7.10.3", "@babel/runtime@^7.12.13", "@babel/runtime@^7.12.5", "@babel/runtime@^7.22.6", "@babel/runtime@^7.8.4": version "7.23.2" resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.2.tgz" integrity sha512-mM8eg4yl5D6i3lu2QKPuPH4FArvJ8KhTofbE7jwMUv9KX5mBvwPAqnV3MlyBNqdp9RyRKP6Yck8TrfYrPvX3bg== @@ -1934,11 +1934,71 @@ dependencies: "@types/mdx" "^2.0.0" +"@node-rs/jieba-android-arm-eabi@1.7.2": + version "1.7.2" + resolved "https://registry.yarnpkg.com/@node-rs/jieba-android-arm-eabi/-/jieba-android-arm-eabi-1.7.2.tgz#06d10feef9a0718b4b3f07b2d7f161c193439b96" + integrity sha512-FyDHRNSRIHOQO7S6Q4RwuGffnnnuNwaXPH7K8WqSzifEY+zFIaSPcNqrZHrnqyeXc4JiYpBIHeP+0Mkf1kIGRA== + +"@node-rs/jieba-android-arm64@1.7.2": + version "1.7.2" + resolved "https://registry.yarnpkg.com/@node-rs/jieba-android-arm64/-/jieba-android-arm64-1.7.2.tgz#10830a0d59e84faa1a52c0fea5618ef9b1d5ac03" + integrity sha512-z0UEZCGrAX/IiarhuDMsEIDZBS77UZv4SQyL/J48yrsbWKbb2lJ1vCrYxXIWqwp6auXHEu4r1O/pMriDAcEnPg== + "@node-rs/jieba-darwin-arm64@1.7.2": version "1.7.2" resolved "https://registry.npmjs.org/@node-rs/jieba-darwin-arm64/-/jieba-darwin-arm64-1.7.2.tgz" integrity sha512-M2cHIWRaaOmXGKy446SH2+Y2PzREaI2oYznPbg55wYEdioUp01YS/2WRG8CaoCKEj0aUocA7MFM2vVcoIAsbQw== +"@node-rs/jieba-darwin-x64@1.7.2": + version "1.7.2" + resolved "https://registry.yarnpkg.com/@node-rs/jieba-darwin-x64/-/jieba-darwin-x64-1.7.2.tgz#bf21be9875a30a5fad4030893b3088993831e54f" + integrity sha512-euDawBU2FxB0CGTR803BA6WABsiicIrqa61z2AFFDPkJCDrauEM0jbMg3GDKLAvbaLbZ1Etu3QNN5xyroqp4Qw== + +"@node-rs/jieba-freebsd-x64@1.7.2": + version "1.7.2" + resolved "https://registry.yarnpkg.com/@node-rs/jieba-freebsd-x64/-/jieba-freebsd-x64-1.7.2.tgz#f173089e34135bca613ced7c816ad9fefc023c39" + integrity sha512-vXCaYxPb90d/xTBVG+ZZXrFLXsO2719pZSyiZCL2tey+UY28U7MOoK6394Wwmf0FCB/eRTQMCKjVIUDi+IRMUg== + +"@node-rs/jieba-linux-arm-gnueabihf@1.7.2": + version "1.7.2" + resolved "https://registry.yarnpkg.com/@node-rs/jieba-linux-arm-gnueabihf/-/jieba-linux-arm-gnueabihf-1.7.2.tgz#307923401ba49bb4e28639ab2954c4be3362f807" + integrity sha512-HTep79XlJYO3KRYZ2kJChG9HnYr1DKSQTB+HEYWKLK0ifphqybcxGNLAdH0S4dViG2ciD0+iN/refgtqZEidpw== + +"@node-rs/jieba-linux-arm64-gnu@1.7.2": + version "1.7.2" + resolved "https://registry.yarnpkg.com/@node-rs/jieba-linux-arm64-gnu/-/jieba-linux-arm64-gnu-1.7.2.tgz#3af77273d84b3e4d158ad3bfdaa23e523efb8fce" + integrity sha512-P8QJdQydOVewL1MIqYiRpI7LOfrRQag+p4/hwExe+YXH8C7DOrR8rWJD/7XNRTbpOimlHq1UN/e+ZzhxQF/cLw== + +"@node-rs/jieba-linux-arm64-musl@1.7.2": + version "1.7.2" + resolved "https://registry.yarnpkg.com/@node-rs/jieba-linux-arm64-musl/-/jieba-linux-arm64-musl-1.7.2.tgz#c6cfe6eeb163683032e6265136b8713a9b28a793" + integrity sha512-WjnN0hmDvTXb2h3hMW5VnUGkK1xaqhs+WHfMMilau55+YN+YOYALKZ0TeBY4BapClLuBx54wqwmBX+B4hAXunQ== + +"@node-rs/jieba-linux-x64-gnu@1.7.2": + version "1.7.2" + resolved "https://registry.yarnpkg.com/@node-rs/jieba-linux-x64-gnu/-/jieba-linux-x64-gnu-1.7.2.tgz#0f5ea2499a64d3f2e639b538d7ff78095fd0477a" + integrity sha512-gBXds/DwNSA6lNUxJjL6WIaNT6pnlM5juUgV/krLLkBJ8vXpOrQ07p0rrK1tnigz9b20xhsHaFRSwED1Y8zeXw== + +"@node-rs/jieba-linux-x64-musl@1.7.2": + version "1.7.2" + resolved "https://registry.yarnpkg.com/@node-rs/jieba-linux-x64-musl/-/jieba-linux-x64-musl-1.7.2.tgz#c60ea4f3f4e7202208aa61b318dd1a34f82734b5" + integrity sha512-tNVD3SMuG5zAj7+bLS2Enio3zR7BPxi3PhQtpQ+Hv83jajIcN46QQ0EdoMFz/aB+hkQ9PlLAstu+VREFegs5EA== + +"@node-rs/jieba-win32-arm64-msvc@1.7.2": + version "1.7.2" + resolved "https://registry.yarnpkg.com/@node-rs/jieba-win32-arm64-msvc/-/jieba-win32-arm64-msvc-1.7.2.tgz#3cc4a1781115d282d39d98f6e4039872c3c63c84" + integrity sha512-/e1iQ0Dh02lGPNCYTU/H3cfIsWydaGRzZ3TDj6GfWrxkWqXORL98x/VJ/C/uKLpc7GSLLd9ygyZG7SOAfKe2tA== + +"@node-rs/jieba-win32-ia32-msvc@1.7.2": + version "1.7.2" + resolved "https://registry.yarnpkg.com/@node-rs/jieba-win32-ia32-msvc/-/jieba-win32-ia32-msvc-1.7.2.tgz#574695c602be2c38cc49708b4829b5cf0574e4b6" + integrity sha512-cYjA6YUiOwtuEzWErvwMMt/RETNWQDLcmAaiHA8ohsa6c0eB0kRJlQCc683tlaczZxqroY/7C9mxgJNGvoGRbw== + +"@node-rs/jieba-win32-x64-msvc@1.7.2": + version "1.7.2" + resolved "https://registry.yarnpkg.com/@node-rs/jieba-win32-x64-msvc/-/jieba-win32-x64-msvc-1.7.2.tgz#847b23c6e2cb255e095d990c78b678fa73e518a6" + integrity sha512-2M+Um3woFF17sa8VBYQQ6E5PNMe9Kf9fdzmeDh/GzuNHXlxW4LyK9VTV8zchIv/bDNAR5Z85kfW4wASULUxvFQ== + "@node-rs/jieba@^1.6.0": version "1.7.2" resolved "https://registry.npmjs.org/@node-rs/jieba/-/jieba-1.7.2.tgz" @@ -1966,7 +2026,7 @@ "@nodelib/fs.stat" "2.0.5" run-parallel "^1.1.9" -"@nodelib/fs.stat@^2.0.2", "@nodelib/fs.stat@2.0.5": +"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": version "2.0.5" resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== @@ -2269,7 +2329,7 @@ "@svgr/babel-plugin-transform-react-native-svg" "8.1.0" "@svgr/babel-plugin-transform-svg-component" "8.0.0" -"@svgr/core@*", "@svgr/core@8.1.0": +"@svgr/core@8.1.0": version "8.1.0" resolved "https://registry.npmjs.org/@svgr/core/-/core-8.1.0.tgz" integrity sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA== @@ -2576,7 +2636,7 @@ resolved "https://registry.npmjs.org/@types/prismjs/-/prismjs-1.26.2.tgz" integrity sha512-/r7Cp7iUIk7gts26mHXD66geUC+2Fo26TZYjQK6Nr4LDfi6lmdRmMqM0oPwfiMhUwoBAOFe8GstKi2pf6hZvwA== -"@types/prop-types@*", "@types/prop-types@^15.0.0": +"@types/prop-types@*": version "15.7.9" resolved "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.9.tgz" integrity sha512-n1yyPsugYNSmHgxDFjicaI2+gCNjsBck8UX9kuofAKlc0h1bL+20oSF72KeNaW2DUlesbEVCFgyV2dPGTiY42g== @@ -2632,7 +2692,7 @@ "@types/history" "^4.7.11" "@types/react" "*" -"@types/react@*", "@types/react@>= 16.8.0 < 19.0.0", "@types/react@>=16": +"@types/react@*": version "18.2.33" resolved "https://registry.npmjs.org/@types/react/-/react-18.2.33.tgz" integrity sha512-v+I7S+hu3PIBoVkKGpSYYpiBT1ijqEzWpzQD62/jm4K74hPpSP7FF9BnKG6+fg2+62weJYkkBWDJlZt5JO/9hg== @@ -2728,7 +2788,7 @@ resolved "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz" integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ== -"@webassemblyjs/ast@^1.11.5", "@webassemblyjs/ast@1.11.6": +"@webassemblyjs/ast@1.11.6", "@webassemblyjs/ast@^1.11.5": version "1.11.6" resolved "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz" integrity sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q== @@ -2977,27 +3037,12 @@ acorn-walk@^8.0.0: resolved "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.0.tgz" integrity sha512-FS7hV565M5l1R08MXqo8odwMTB02C2UqzB17RVgu9EyuYFBqJZ3/ZY97sQD5FewVu1UyDFc1yztUDrAwT0EypA== -acorn@^6.0.0, "acorn@^6.0.0 || ^7.0.0 || ^8.0.0", acorn@^6.1.1: +acorn@^6.1.1: version "6.4.2" resolved "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz" integrity sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ== -acorn@^8, acorn@^8.7.1: - version "8.11.2" - resolved "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz" - integrity sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w== - -acorn@^8.0.0: - version "8.11.2" - resolved "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz" - integrity sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w== - -acorn@^8.0.4: - version "8.11.2" - resolved "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz" - integrity sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w== - -acorn@^8.8.2: +acorn@^8.0.0, acorn@^8.0.4, acorn@^8.7.1, acorn@^8.8.2: version "8.11.2" resolved "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz" integrity sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w== @@ -3022,12 +3067,7 @@ ajv-formats@2.1.1, ajv-formats@^2.1.1: dependencies: ajv "^8.0.0" -ajv-keywords@^3.4.1: - version "3.5.2" - resolved "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz" - integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== - -ajv-keywords@^3.5.2: +ajv-keywords@^3.4.1, 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== @@ -3041,7 +3081,7 @@ ajv-keywords@^5.1.0: ajv@8.1.0: version "8.1.0" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.1.0.tgz#45d5d3d36c7cdd808930cc3e603cf6200dbeb736" + resolved "https://registry.npmjs.org/ajv/-/ajv-8.1.0.tgz" integrity sha512-B/Sk2Ix7A36fs/ZkuGLIR86EdjbgR6fsAcbx9lOP/QBSXujDNbVmIS/U4Itz5k8fPFDeVZl/zQ/gJW4Jrq6XjQ== dependencies: fast-deep-equal "^3.1.1" @@ -3059,7 +3099,7 @@ ajv@^6.12.2, ajv@^6.12.5: json-schema-traverse "^0.4.1" uri-js "^4.2.2" -ajv@^8.0.0, ajv@^8.8.2, ajv@^8.9.0: +ajv@^8.0.0, ajv@^8.9.0: version "8.12.0" resolved "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz" integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== @@ -3069,16 +3109,6 @@ ajv@^8.0.0, ajv@^8.8.2, ajv@^8.9.0: require-from-string "^2.0.2" uri-js "^4.2.2" -ajv@8.1.0: - version "8.1.0" - resolved "https://registry.npmjs.org/ajv/-/ajv-8.1.0.tgz" - integrity sha512-B/Sk2Ix7A36fs/ZkuGLIR86EdjbgR6fsAcbx9lOP/QBSXujDNbVmIS/U4Itz5k8fPFDeVZl/zQ/gJW4Jrq6XjQ== - dependencies: - fast-deep-equal "^3.1.1" - json-schema-traverse "^1.0.0" - require-from-string "^2.0.2" - uri-js "^4.2.2" - algoliasearch-helper@^3.13.3: version "3.21.0" resolved "https://registry.npmjs.org/algoliasearch-helper/-/algoliasearch-helper-3.21.0.tgz" @@ -3086,7 +3116,7 @@ algoliasearch-helper@^3.13.3: dependencies: "@algolia/events" "^4.0.1" -algoliasearch@^4.18.0, algoliasearch@^4.19.1, "algoliasearch@>= 3.1 < 6", "algoliasearch@>= 4.9.1 < 6": +algoliasearch@^4.18.0, algoliasearch@^4.19.1: version "4.23.3" resolved "https://registry.npmjs.org/algoliasearch/-/algoliasearch-4.23.3.tgz" integrity sha512-Le/3YgNvjW9zxIQMRhUHuhiUjAlKY/zsdZpfq4dlLqg6mEm0nL6yk+7f2hDOtLpxsgE4jSzDmvHL7nXdBp5feg== @@ -3178,16 +3208,16 @@ argparse@^2.0.1: resolved "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz" integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== -array-flatten@^2.1.2: - 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 sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg== +array-flatten@^2.1.2: + version "2.1.2" + resolved "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz" + integrity sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ== + array-union@^2.1.0: version "2.1.0" resolved "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz" @@ -3422,11 +3452,11 @@ brace-expansion@^2.0.1: balanced-match "^1.0.0" braces@^3.0.2, 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== + version "3.0.3" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.3.tgz#490332f40919452272d55a8480adc0c441358789" + integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA== dependencies: - fill-range "^7.0.1" + fill-range "^7.1.1" brorand@^1.0.1, brorand@^1.1.0: version "1.1.0" @@ -3836,12 +3866,7 @@ clone-deep@^4.0.1: kind-of "^6.0.2" shallow-clone "^3.0.0" -clsx@^1.1.1: - version "1.2.1" - resolved "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz" - integrity sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg== - -clsx@^1.2.1: +clsx@^1.1.1, clsx@^1.2.1: version "1.2.1" resolved "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz" integrity sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg== @@ -3870,16 +3895,16 @@ color-convert@^2.0.1: dependencies: color-name "~1.1.4" -color-name@^1.0.0, 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 sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== +color-name@^1.0.0, 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-string@^1.9.0: version "1.9.1" resolved "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz" @@ -3951,11 +3976,6 @@ commander@^8.3.0: resolved "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz" integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww== -commander@2.20.3: - version "2.20.3" - resolved "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz" - integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== - common-path-prefix@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz" @@ -4358,7 +4378,7 @@ csso@^5.0.5: dependencies: css-tree "~2.2.0" -csstype@^3.0.10, csstype@^3.0.2: +csstype@^3.0.2: version "3.1.2" resolved "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz" integrity sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ== @@ -4368,14 +4388,14 @@ dayjs@^1.11.7: resolved "https://registry.npmjs.org/dayjs/-/dayjs-1.11.10.tgz" integrity sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ== -debug@^2.6.0: +debug@2.6.9, 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@^4.0.0, debug@^4.1.0, debug@^4.1.1, debug@^4.2.0, debug@4: +debug@4, debug@^4.0.0, debug@^4.1.0, debug@^4.1.1, debug@^4.2.0: version "4.3.4" resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== @@ -4460,16 +4480,16 @@ del@^6.1.1: 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 sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ== - depd@2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz" integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== +depd@~1.1.2: + version "1.1.2" + resolved "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz" + integrity sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ== + dequal@^2.0.0: version "2.0.3" resolved "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz" @@ -5091,7 +5111,7 @@ feed@^4.2.2: dependencies: xml-js "^1.6.11" -file-loader@*, file-loader@^6.2.0: +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== @@ -5114,10 +5134,10 @@ filesize@^8.0.6: resolved "https://registry.npmjs.org/filesize/-/filesize-8.0.7.tgz" integrity sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ== -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== +fill-range@^7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.1.1.tgz#44265d3cac07e3ea7dc247516380643754a05292" + integrity sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg== dependencies: to-regex-range "^5.0.1" @@ -5478,11 +5498,6 @@ graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz" integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== -graceful-fs@4.2.10: - version "4.2.10" - resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz" - integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== - gray-matter@^4.0.3: version "4.0.3" resolved "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz" @@ -5879,16 +5894,6 @@ http-deceiver@^1.2.7: resolved "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz" integrity sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw== -http-errors@~1.6.2: - version "1.6.3" - resolved "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz" - integrity sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A== - dependencies: - depd "~1.1.2" - inherits "2.0.3" - setprototypeof "1.1.0" - statuses ">= 1.4.0 < 2" - http-errors@2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz" @@ -5900,6 +5905,16 @@ http-errors@2.0.0: statuses "2.0.1" toidentifier "1.0.1" +http-errors@~1.6.2: + version "1.6.3" + resolved "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz" + integrity sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A== + dependencies: + depd "~1.1.2" + inherits "2.0.3" + setprototypeof "1.1.0" + statuses ">= 1.4.0 < 2" + http-parser-js@>=0.5.1: version "0.5.8" resolved "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz" @@ -6055,16 +6070,16 @@ inherits@2.0.3: resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz" integrity sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw== -ini@^1.3.4, 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== +ini@^1.3.4, 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== + 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" @@ -6082,16 +6097,16 @@ invariant@^2.2.4: dependencies: loose-envify "^1.0.0" -ipaddr.js@^2.0.1: - version "2.1.0" - resolved "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.1.0.tgz" - integrity sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ== - 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== +ipaddr.js@^2.0.1: + version "2.1.0" + resolved "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.1.0.tgz" + integrity sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ== + is-alphabetical@^2.0.0: version "2.0.1" resolved "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz" @@ -6312,16 +6327,16 @@ is-yarn-global@^0.4.0: resolved "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.4.1.tgz" integrity sha512-/kppl+R+LO5VmhYSEWARUFjodS25D68gvj8W7z0I7OWhUla5xWu8KL6CtB2V0R6yqhnRgbcaREMr4EEM6htLPQ== -isarray@~1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" - integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== - isarray@0.0.1: version "0.0.1" resolved "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz" integrity sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ== +isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" + integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== + isexe@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" @@ -6413,14 +6428,6 @@ js-yaml@^4.1.0: dependencies: argparse "^2.0.1" -js-yaml@3.14.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" - jsesc@^2.5.1: version "2.5.2" resolved "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz" @@ -7681,7 +7688,7 @@ mime-types@2.1.18, mime-types@~2.1.17: mime-types@2.1.34: version "2.1.34" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.34.tgz#5a712f9ec1503511a945803640fafe09d3793c24" + resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.34.tgz" integrity sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A== dependencies: mime-db "1.51.0" @@ -7693,20 +7700,6 @@ mime-types@^2.1.27, mime-types@^2.1.31, mime-types@~2.1.24, mime-types@~2.1.34: dependencies: mime-db "1.52.0" -mime-types@~2.1.34: - version "2.1.35" - resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz" - integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== - dependencies: - mime-db "1.52.0" - -mime-types@2.1.34: - version "2.1.34" - resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.34.tgz" - integrity sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A== - dependencies: - mime-db "1.51.0" - mime@1.6.0: version "1.6.0" resolved "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz" @@ -8054,7 +8047,7 @@ object-keys@^1.1.1: resolved "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz" integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== -object.assign@^4.1.0, object.assign@^4.1.4: +object.assign@^4.1.0: version "4.1.4" resolved "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz" integrity sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ== @@ -8367,13 +8360,6 @@ path-scurry@^1.10.2: lru-cache "^10.2.0" minipass "^5.0.0 || ^6.0.2 || ^7.0.0" -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" @@ -8384,6 +8370,13 @@ path-to-regexp@2.2.1: resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-2.2.1.tgz" integrity sha512-gu9bD6Ta5bwGrrU8muHzVOBFFREpp2iRkVfhBJahwJ6p6Xw20SjT0MxLnwkjOibQmGSYhiUnf2FLe7k+jcFmGQ== +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-type@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" @@ -8746,7 +8739,7 @@ postcss-zindex@^6.0.2: resolved "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-6.0.2.tgz" integrity sha512-5BxW9l1evPB/4ZIc+2GobEBoKC+h8gPGCMi+jxsYvd2x0mjq7wazk6DrP71pStqxE9Foxh5TVnonbWpFZzXaYg== -"postcss@^7.0.0 || ^8.0.1", postcss@^8.0.9, postcss@^8.1.0, postcss@^8.2.2, postcss@^8.4.21, postcss@^8.4.23, postcss@^8.4.24, postcss@^8.4.26, postcss@^8.4.31, postcss@^8.4.38: +postcss@^8.4.21, postcss@^8.4.24, postcss@^8.4.26, postcss@^8.4.38: version "8.4.38" resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz" integrity sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A== @@ -8780,7 +8773,7 @@ prebuild-install@^7.1.1: tar-fs "^2.0.0" tunnel-agent "^0.6.0" -prettier@^3.0.0, prettier@^3.3.0: +prettier@^3.3.0: version "3.3.1" resolved "https://registry.npmjs.org/prettier/-/prettier-3.3.1.tgz" integrity sha512-7CAwy5dRsxs8PHXT3twixW9/OEll8MLE0VRPCJyl7CkS6VHGPSlsVaWTiASPTyGyYRyApxlaWTzwUxVNrhcwDg== @@ -8842,7 +8835,7 @@ prompts@^2.4.2: kleur "^3.0.3" sisteransi "^1.0.5" -prop-types@^15.0.0, prop-types@^15.6.2, prop-types@^15.7.2, prop-types@>=15: +prop-types@^15.0.0, prop-types@^15.6.2, prop-types@^15.7.2: version "15.8.1" resolved "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz" integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== @@ -8906,13 +8899,6 @@ pupa@^3.1.0: dependencies: escape-goat "^4.0.0" -qs@^6.11.2: - version "6.12.1" - resolved "https://registry.npmjs.org/qs/-/qs-6.12.1.tgz" - integrity sha512-zWmv4RSuB9r2mYQw3zxQuHWeU+42aKi1wWig/j4ele4ygELZ7PEO6MM7rim9oAQH2A5MWfsAVf/jPvTPgCbvUQ== - dependencies: - side-channel "^1.0.6" - qs@6.11.0: version "6.11.0" resolved "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz" @@ -8979,16 +8965,6 @@ range-parser@^1.2.1, range-parser@~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.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 sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A== - raw-body@2.5.2: version "2.5.2" resolved "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz" @@ -8999,7 +8975,7 @@ raw-body@2.5.2: iconv-lite "0.4.24" unpipe "1.0.0" -rc@^1.2.7, rc@1.2.8: +rc@1.2.8, rc@^1.2.7: version "1.2.8" resolved "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz" integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== @@ -9039,7 +9015,7 @@ react-dev-utils@^12.0.1: strip-ansi "^6.0.1" text-table "^0.2.0" -react-dom@*, "react-dom@^0.14.0 || ^15.0.0 || ^16 || ^17 || ^18", "react-dom@^16.14.0 || 17 || ^18", "react-dom@^16.6.0 || ^17.0.0 || ^18.0.0", "react-dom@^16.8.4 || ^17.0.0 || ^18.0.0", react-dom@^18.0.0, react-dom@^18.3.1, "react-dom@>= 16.8.0 < 19.0.0", react-dom@>=16, react-dom@>=16.14.0, react-dom@>=16.8.0, react-dom@>=17, react-dom@>=18.0.0: +react-dom@^18.3.1: version "18.3.1" resolved "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz" integrity sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw== @@ -9133,7 +9109,7 @@ react-loadable-ssr-addon-v5-slorber@^1.0.1: dependencies: "@babel/runtime" "^7.10.3" -react-loadable@*, "react-loadable@npm:@docusaurus/react-loadable@6.0.0": +"react-loadable@npm:@docusaurus/react-loadable@6.0.0": version "6.0.0" resolved "https://registry.npmjs.org/@docusaurus/react-loadable/-/react-loadable-6.0.0.tgz" integrity sha512-YMMxTUQV/QFSnbgrP3tjDzLHRg7vsbMn8e9HAa8o/1iXoiomo48b7sk/kkmWEuWNDPJVlKSJRB6Y2fHqdJk+SQ== @@ -9208,7 +9184,7 @@ react-router-dom@^5.3.4: tiny-invariant "^1.0.2" tiny-warning "^1.0.0" -react-router@^5.3.4, react-router@>=5, react-router@5.3.4: +react-router@5.3.4, react-router@^5.3.4: version "5.3.4" resolved "https://registry.npmjs.org/react-router/-/react-router-5.3.4.tgz" integrity sha512-Ys9K+ppnJah3QuaRiLxk+jDWOR1MekYQrlytiXxC1RyfbdsZkS5pvKAzCCr031xHixZwpnsYNT5xysdFHQaYsA== @@ -9231,7 +9207,7 @@ react-tooltip@^5.26.4: "@floating-ui/dom" "^1.6.1" classnames "^2.3.0" -react-waypoint@^10.3.0, react-waypoint@>=9.0.2: +react-waypoint@^10.3.0: version "10.3.0" resolved "https://registry.npmjs.org/react-waypoint/-/react-waypoint-10.3.0.tgz" integrity sha512-iF1y2c1BsoXuEGz08NoahaLFIGI9gTUAAOKip96HUmylRT6DUtpgoBPjk/Y8dfcFVmfVDvUzWjNXpZyKTOV0SQ== @@ -9241,7 +9217,7 @@ react-waypoint@^10.3.0, react-waypoint@>=9.0.2: prop-types "^15.0.0" react-is "^17.0.1 || ^18.0.0" -react@*, "react@^0.14.0 || ^15.0.0 || ^16 || ^17 || ^18", "react@^15.3.0 || ^16.0.0 || ^17.0.0 || ^18.0.0", "react@^16.11.0 || ^17.0.0 || ^18.0.0", "react@^16.13.1 || ^17.0.0 || ^18.0.0", "react@^16.14.0 || ^17 || ^18", "react@^16.6.0 || ^17.0.0 || ^18.0.0", "react@^16.8.0 || ^17 || ^18", "react@^16.8.0 || ^17.0.0 || ^18.0.0", "react@^16.8.3 || ^17 || ^18", "react@^16.8.4 || ^17.0.0 || ^18.0.0", "react@^16.9.0 || ^17.0.0 || ^18", react@^18.0.0, react@^18.3.1, "react@>= 16", "react@>= 16.8.0", "react@>= 16.8.0 < 19.0.0", react@>=0.14.x, react@>=15, react@>=16, react@>=16.0.0, react@>=16.13.1, react@>=16.14.0, react@>=16.8.0, react@>=17, react@>=18.0.0: +react@^18.3.1: version "18.3.1" resolved "https://registry.npmjs.org/react/-/react-18.3.1.tgz" integrity sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ== @@ -9722,25 +9698,16 @@ scheduler@^0.23.2: dependencies: loose-envify "^1.1.0" -schema-utils@^3.0.0: - version "3.3.0" - resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz" - integrity sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg== - dependencies: - "@types/json-schema" "^7.0.8" - ajv "^6.12.5" - ajv-keywords "^3.5.2" - -schema-utils@^3.1.1: - version "3.3.0" - resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz" - integrity sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg== +schema-utils@2.7.0: + version "2.7.0" + resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz" + integrity sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A== dependencies: - "@types/json-schema" "^7.0.8" - ajv "^6.12.5" - ajv-keywords "^3.5.2" + "@types/json-schema" "^7.0.4" + ajv "^6.12.2" + ajv-keywords "^3.4.1" -schema-utils@^3.2.0: +schema-utils@^3.0.0, schema-utils@^3.1.1, schema-utils@^3.2.0: version "3.3.0" resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz" integrity sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg== @@ -9759,20 +9726,6 @@ schema-utils@^4.0.0, schema-utils@^4.0.1: ajv-formats "^2.1.1" ajv-keywords "^5.1.0" -schema-utils@2.7.0: - version "2.7.0" - resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz" - integrity sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A== - dependencies: - "@types/json-schema" "^7.0.4" - ajv "^6.12.2" - ajv-keywords "^3.4.1" - -"search-insights@>= 1 < 3": - version "2.14.0" - resolved "https://registry.npmjs.org/search-insights/-/search-insights-2.14.0.tgz" - integrity sha512-OLN6MsPMCghDOqlCtsIsYgtsC0pnwVTyT9Mu6A3ewOj1DxvzZF6COrn2g86E/c05xbktB0XN04m/t1Z+n+fTGw== - section-matter@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz" @@ -9803,7 +9756,7 @@ semver-diff@^4.0.0: semver@7.3.5: version "7.3.5" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" + resolved "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz" integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== dependencies: lru-cache "^6.0.0" @@ -9820,13 +9773,6 @@ semver@^7.3.2, semver@^7.3.5, semver@^7.3.7, semver@^7.3.8, semver@^7.5.4: dependencies: lru-cache "^6.0.0" -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" - send@0.18.0: version "0.18.0" resolved "https://registry.npmjs.org/send/-/send-0.18.0.tgz" @@ -9942,7 +9888,7 @@ shallowequal@^1.1.0: resolved "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz" integrity sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ== -sharp@*, sharp@^0.32.3: +sharp@^0.32.3: version "0.32.6" resolved "https://registry.npmjs.org/sharp/-/sharp-0.32.6.tgz" integrity sha512-KyLTWwgcR9Oe4d9HwCwNM2l7+J0dUQwn/yf7S0EnTtb0eVS4RxO0eUSvxPtzT4F3SY+C4K6fqdv/DO27sJ/v/w== @@ -10148,7 +10094,7 @@ source-map-support@~0.5.20: buffer-from "^1.0.0" source-map "^0.6.0" -source-map@^0.6.0: +source-map@^0.6.0, 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== @@ -10158,11 +10104,6 @@ source-map@^0.7.0: resolved "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz" integrity sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA== -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== - sourcemap-codec@^1.4.8: version "1.4.8" resolved "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz" @@ -10206,16 +10147,16 @@ srcset@^4.0.0: resolved "https://registry.npmjs.org/srcset/-/srcset-4.0.0.tgz" integrity sha512-wvLeHgcVHKO8Sc/H/5lkGreJQVeYMm9rlmt8PuR1xE31rIuXhuzznUUqAt8MqLhB3MqJdFzlNAfpcWnxiFUcPw== -"statuses@>= 1.4.0 < 2": - version "1.5.0" - resolved "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz" - integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA== - statuses@2.0.1: version "2.0.1" resolved "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz" integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== +"statuses@>= 1.4.0 < 2": + version "1.5.0" + resolved "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz" + integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA== + std-env@^3.0.1: version "3.4.3" resolved "https://registry.npmjs.org/std-env/-/std-env-3.4.3.tgz" @@ -10247,20 +10188,6 @@ streamx@^2.15.0: fast-fifo "^1.1.0" queue-tick "^1.0.1" -string_decoder@^1.1.1, string_decoder@^1.3.0: - 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-cjs@npm:string-width@^4.2.0": version "4.2.3" resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" @@ -10673,7 +10600,7 @@ typedarray-to-buffer@^3.1.5: dependencies: is-typedarray "^1.0.0" -"typescript@>= 2.7", typescript@>=4.9.5, typescript@~5.4.5: +typescript@~5.4.5: version "5.4.5" resolved "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz" integrity sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ== @@ -10845,7 +10772,7 @@ universalify@^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: +unpipe@1.0.0, unpipe@~1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz" integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== @@ -11271,7 +11198,7 @@ webpackbar@^5.0.2: pretty-time "^1.1.0" std-env "^3.0.1" -websocket-driver@^0.7.4, websocket-driver@>=0.5.1: +websocket-driver@>=0.5.1, websocket-driver@^0.7.4: version "0.7.4" resolved "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz" integrity sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg== From e20260d976bd4543e2fae8f8d57c2607ca29af6e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 13 Jun 2024 14:46:32 +0300 Subject: [PATCH 17/56] Bump prettier from 3.3.1 to 3.3.2 (#1300) Bumps [prettier](https://github.com/prettier/prettier) from 3.3.1 to 3.3.2. - [Release notes](https://github.com/prettier/prettier/releases) - [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md) - [Commits](https://github.com/prettier/prettier/compare/3.3.1...3.3.2) --- updated-dependencies: - dependency-name: prettier dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 8 ++++---- package.json | 2 +- yarn.lock | 8 ++++---- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/package-lock.json b/package-lock.json index a0a8bfd2c..0c04fb97c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -23,7 +23,7 @@ "clsx": "^2.1.1", "docusaurus-plugin-hotjar": "^0.0.2", "docusaurus-plugin-image-zoom": "^2.0.0", - "prettier": "^3.3.0", + "prettier": "^3.3.2", "prism-react-renderer": "^2.3.1", "react": "^18.3.1", "react-dom": "^18.3.1", @@ -15535,9 +15535,9 @@ } }, "node_modules/prettier": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.1.tgz", - "integrity": "sha512-7CAwy5dRsxs8PHXT3twixW9/OEll8MLE0VRPCJyl7CkS6VHGPSlsVaWTiASPTyGyYRyApxlaWTzwUxVNrhcwDg==", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.2.tgz", + "integrity": "sha512-rAVeHYMcv8ATV5d508CFdn+8/pHPpXeIid1DdrPwXnaAdH7cqjVbpJaT5eq4yRAFU/lsbwYwSF/n5iNrdJHPQA==", "bin": { "prettier": "bin/prettier.cjs" }, diff --git a/package.json b/package.json index 638af911e..cb06c7e40 100644 --- a/package.json +++ b/package.json @@ -31,7 +31,7 @@ "clsx": "^2.1.1", "docusaurus-plugin-hotjar": "^0.0.2", "docusaurus-plugin-image-zoom": "^2.0.0", - "prettier": "^3.3.0", + "prettier": "^3.3.2", "prism-react-renderer": "^2.3.1", "react": "^18.3.1", "react-dom": "^18.3.1", diff --git a/yarn.lock b/yarn.lock index f467de571..a2650e44c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8773,10 +8773,10 @@ prebuild-install@^7.1.1: tar-fs "^2.0.0" tunnel-agent "^0.6.0" -prettier@^3.3.0: - version "3.3.1" - resolved "https://registry.npmjs.org/prettier/-/prettier-3.3.1.tgz" - integrity sha512-7CAwy5dRsxs8PHXT3twixW9/OEll8MLE0VRPCJyl7CkS6VHGPSlsVaWTiASPTyGyYRyApxlaWTzwUxVNrhcwDg== +prettier@^3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.3.2.tgz#03ff86dc7c835f2d2559ee76876a3914cec4a90a" + integrity sha512-rAVeHYMcv8ATV5d508CFdn+8/pHPpXeIid1DdrPwXnaAdH7cqjVbpJaT5eq4yRAFU/lsbwYwSF/n5iNrdJHPQA== pretty-error@^4.0.0: version "4.0.0" From 04bd4e64ee9bf06bb3a8750c583e958078749212 Mon Sep 17 00:00:00 2001 From: Yarden Holtzer Weiss <162874501+yarden-port@users.noreply.github.com> Date: Thu, 13 Jun 2024 14:51:19 +0300 Subject: [PATCH 18/56] Create aws account gitlab docs (#1264) * added all the relevant steps --------- Co-authored-by: hadar-co --- .../examples/create-new-aws-account-gitlab.md | 344 ++++++++++++++++++ 1 file changed, 344 insertions(+) create mode 100644 docs/build-your-software-catalog/sync-data-to-catalog/cloud-providers/aws/examples/create-new-aws-account-gitlab.md diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/cloud-providers/aws/examples/create-new-aws-account-gitlab.md b/docs/build-your-software-catalog/sync-data-to-catalog/cloud-providers/aws/examples/create-new-aws-account-gitlab.md new file mode 100644 index 000000000..450535813 --- /dev/null +++ b/docs/build-your-software-catalog/sync-data-to-catalog/cloud-providers/aws/examples/create-new-aws-account-gitlab.md @@ -0,0 +1,344 @@ + +import PortTooltip from "/src/components/tooltip/tooltip.jsx" + +# Automate AWS Account Creation with GitLab + +This guide provides a step-by-step process to automate the creation of a new AWS account and associated resources using GitLab and Port. + +:::tip Prerequisites +This guide assumes you have: +- A Port account and that you have completed the [onboarding process](/quickstart). +- A GitLab account with a repository set up for CI/CD. +::: + +
    + +## Step 1: Copy Configuration Files + +First, copy the following files into your GitLab repository: + +`.gitlab-ci.yml` +
    +Click to expand + +```yaml +stages: + - prerequisites + - terraform + - port-update + +image: + name: hashicorp/terraform:light + entrypoint: + - '/usr/bin/env' + - 'PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin' + +variables: + AWS_ACCESS_KEY_ID: ${TF_USER_AWS_KEY} + AWS_SECRET_ACCESS_KEY : ${TF_USER_AWS_SECRET} + AWS_DEFAULT_REGION: ${TF_USER_AWS_REGION} + PORT_CLIENT_ID: ${PORT_CLIENT_ID} + PORT_CLIENT_SECRET: ${PORT_CLIENT_SECRET} + +before_script: + - rm -rf .terraform + - export AWS_ACCESS_KEY=${AWS_ACCESS_KEY_ID} + - export AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY} + - export AWS_DEFAULT_REGION=${AWS_DEFAULT_REGION} + - apk update + - apk add --upgrade curl jq -q + +fetch-port-access-token: + stage: prerequisites + except: + - pushes + script: + - | + echo "Getting access token from Port API" + accessToken=$(curl -X POST \ + -H 'Content-Type: application/json' \ + -d '{"clientId": "'"$PORT_CLIENT_ID"'", "clientSecret": "'"$PORT_CLIENT_SECRET"'"}' \ + -s 'https://api.getport.io/v1/auth/access_token' | jq -r '.accessToken') + + echo "ACCESS_TOKEN=$accessToken" >> data.env + cat $TRIGGER_PAYLOAD + runId=$(cat $TRIGGER_PAYLOAD | jq -r '.RUN_ID') + ACCOUNT_NAME=$(cat $TRIGGER_PAYLOAD | jq -r '.account_name') + EMAIL=$(cat $TRIGGER_PAYLOAD | jq -r '.email') + IAM_ROLE_NAME=$(cat $TRIGGER_PAYLOAD | jq -r '.role_name') + echo "RUN_ID=$runId" >> data.env + echo "ACCOUNT_NAME=$ACCOUNT_NAME" >> data.env + echo "EMAIL=$EMAIL" >> data.env + echo "IAM_ROLE_NAME=$IAM_ROLE_NAME" >> data.env + curl -X POST \ + -H 'Content-Type: application/json' \ + -H "Authorization: Bearer $accessToken" \ + -d '{"message":"🏃‍♂️ Starting action to create an AWS account"}' \ + "https://api.getport.io/v1/actions/runs/$runId/logs" + curl -X PATCH \ + -H 'Content-Type: application/json' \ + -H "Authorization: Bearer $accessToken" \ + -d '{"link":"'"$CI_PIPELINE_URL"'"}' \ + "https://api.getport.io/v1/actions/runs/$runId" + artifacts: + reports: + dotenv: data.env + +create-aws-account: + stage: terraform + needs: + - job: fetch-port-access-token + artifacts: true + script: + - echo "Creating AWS account and IAM role..." + - terraform init + - terraform apply -auto-approve -var "account_name=${ACCOUNT_NAME}" -var "email=${EMAIL}" -var "iam_role_name=${IAM_ROLE_NAME}" + +send-data-to-port: + stage: port-update + dependencies: + - fetch-port-access-token + script: + - | + curl -X POST \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $ACCESS_TOKEN" \ + -d "{\"identifier\": \"${EMAIL}\", \ + \"title\": \"${ACCOUNT_NAME}\", \ + \"properties\": { \ + \"account_name\": \"${ACCOUNT_NAME}\", \ + \"email\": \"${EMAIL}\", \ + \"iam_role_name\": \"${IAM_ROLE_NAME}\", \ + \"additional_data\": \"Your additional data here\" \ + }, \ + \"relations\": {}}" \ + "https://api.getport.io/v1/blueprints/awsAccountBlueprint/entities?run_id=$RUN_ID" + + curl -X PATCH \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $ACCESS_TOKEN" \ + -d '{"status": "SUCCESS", "message": {"run_status": "Run completed successfully!"}}' \ + "https://api.getport.io/v1/actions/runs/$RUN_ID" +``` + +
    +`main.tf` +
    +Click to expand + +```hcl +terraform { + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 4.0" + } + } +} +provider "aws" { + region = var.region +} +resource "aws_organizations_account" "account" { + name = var.name + email = var.email + role_name = var.role_name + close_on_deletion = true + lifecycle { + ignore_changes = [role_name] + } +} +``` + +
    +`variables.tf` +
    +Click to expand + +```hcl +variable "region" { + description = "AWS region where resources will be created" + type = string + default = "us-east-1" +} +variable "name" { + description = "Name of the AWS account to be created" + type = string + default = "newAccount" +} +variable "email" { + description = "Email to attach to the AWS account" + type = string + default = "example@example.com" +} +variable "role_name" { + description = "Name of the IAM role to attach" + type = string + default = "IAMRole" +} +``` + +
    +`outputs.tf` +
    +Click to expand + +```hcl +output "account_name" { + value = aws_organizations_account.account.name +} +output "email" { + value = aws_organizations_account.account.email +} +output "role_name" { + value = aws_organizations_account.account.role_name +} +``` + +
    + +These files contain the necessary Terraform and GitLab CI configurations to automate AWS account creation. + +## Step 2: Configure GitLab Secrets + +In GitLab, navigate to your project's **Settings** > **CI / CD** > **Variables** and add the required secrets. + +- PORT_CLIENT_ID +- PORT_CLIENT_SECRET +- TF_USER_AWS_KEY +- TF_USER_AWS_REGION +- TF_USER_AWS_SECRET + +These secrets are necessary for the Terraform scripts to execute correctly. + +## Step 3: Configure GitLab Webhook + +In GitLab, navigate to your project's **Settings** > **CI / CD** > **Pipeline trigger tokens** and add new token. Then in **View trigger token usage examples** you can find the Webhook URL address ander **Use webhook** + +This URL is necessary for triggering the Pipeline from the Self Service Action. + +## Step 4: Add AWS Account Blueprint in Port + +Next, create a new blueprint in Port using the `aws_account.json` file. This blueprint represents an AWS account in your software catalog. + +### Example Blueprint: `aws_account.json` + +
    +Click to expand + +```json +{ + "identifier": "awsAccountBlueprint", + "description": "This blueprint represents an AWS account in our software catalog.", + "title": "AWS account", + "icon": "AWS", + "schema": { + "properties": { + "role_name": { + "type": "string", + "title": "Role Name", + "description": "The name of the IAM role." + }, + "account_name": { + "type": "string", + "title": "Account Name", + "description": "The name for the account." + }, + "email": { + "type": "string", + "title": "Email", + "description": "The email for the account." + } + }, + "required": [ + "email", + "account_name" + ] + }, + "relations": {} +} +``` + +
    + +## Step 5: Create Self-Service Action in Port + +Create a new self-service action using the `self-service-action.json` file. This action will trigger the AWS account creation process. + +### Example Self-Service Action: `self-service-action.json` + +
    +Click to expand +:::tip Prerequisites +Make sure to change 'WEBHOOK-URL-FROM-GITLAB' into your webhook URL from gitlab. +::: + +```json +{ + "identifier": "gitlabAwsAccountBlueprint_create_an_aws_account", + "title": "Create An AWS Account with GitLab", + "icon": "AWS", + "description": "Automate the creation of a new AWS account and associated resources.", + "trigger": { + "type": "self-service", + "operation": "CREATE", + "userInputs": { + "properties": { + "account_name": { + "icon": "AWS", + "title": "Account Name", + "description": "The desired name for the new AWS account", + "type": "string" + }, + "email": { + "icon": "DefaultProperty", + "title": "Email", + "description": "The email address associated with the new AWS account", + "type": "string", + "pattern": "^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$" + }, + "iam_role_name": { + "title": "IAM Role Name", + "description": "The name of the IAM role to be created for management purposes", + "type": "string" + } + }, + "required": [ + "account_name", + "email" + ], + "order": [ + "account_name", + "email", + "iam_role_name" + ] + }, + "blueprintIdentifier": "awsAccountBlueprint" + }, + "invocationMethod": { + "type": "WEBHOOK", + "url": "WEBHOOK-URL-FROM-GITLAB", + "method": "POST", + "headers": { + "RUN_ID": "{{ .run.id }}" + }, + "body": { + "RUN_ID": "{{ .run.id }}", + "account_name": "{{ .inputs."account_name" }}", + "email": "{{ .inputs."email" }}", + "iam_role_name": "{{ .inputs."iam_role_name" }}" + } + }, + "requiredApproval": false, + "publish": true +} +``` + +
    + +## Include the Run ID + +Ensure that you include the RUN_ID in the body of the webhook, as illustrated in the example above. This ID is crucial for tracking the execution of the self-service action. + +## Conclusion + +By following these steps, you can automate the creation of new AWS accounts using GitLab CI/CD and Port self-service actions. From 55132b4409ed3eb4dd59221c56b78bf6165fa33a Mon Sep 17 00:00:00 2001 From: Matan Heled Date: Thu, 6 Jun 2024 16:53:33 +0300 Subject: [PATCH 19/56] created intorduction + start of blueprints --- ...ate-slack-channel-for-reported-incident.md | 274 ++++++++++++++++++ 1 file changed, 274 insertions(+) create mode 100644 docs/guides-and-tutorials/create-slack-channel-for-reported-incident.md diff --git a/docs/guides-and-tutorials/create-slack-channel-for-reported-incident.md b/docs/guides-and-tutorials/create-slack-channel-for-reported-incident.md new file mode 100644 index 000000000..22ad56729 --- /dev/null +++ b/docs/guides-and-tutorials/create-slack-channel-for-reported-incident.md @@ -0,0 +1,274 @@ +--- +sidebar_position: 12 +tags: + - Automations + - Pagerduty + - Slack + - Incident + - Github +--- + +import PortTooltip from "/src/components/tooltip/tooltip.jsx" + +# Automating incident managment + +## Overview + +Solving incidents efficiently is a crucial part of any production-ready environment. When managing an incident, there are a base concepts which are important to keep: +- **Real time notifications** - When an incident has been created, either by an alert or manually, it is important that a push notification will be sent the the relvant authoritizes as soon as possible. This can be in the form of a Slack message, email or any other form of communication. +- **Documentation** - When there is an ongoing incident, it is important that different personas across the organization will be aware of it. Hence, it is important to document the incident in relevant places, for example as a Port entity, a Github issue or even a Jira issue +- **Visibility** - While troubleshooting, it is important to provide information both to all relevant personas in the organization. An ideal place to manage an incident would be a group chat with the relevant people. + + + +In this guide, we will be using Port's [Automations] capabilities to automate incident management. To do so we will create an automation which will be triggered when a Pagerduty incident entity is created in Port. This automation will: +- Create a Slack channel for managing the incident and providing a place to troubleshoot. +- Send a breif message regarding the incident in the Slack channel for visibility. +- Create a Github issue for documenting the incident. + + +## Prerequisites +- Install Port's [Github app](https://github.com/apps/getport-io) in your Github organization. +- Install Port's [Pagerduty integration](../build-your-software-catalog/sync-data-to-catalog/incident-management/pagerduty.md) for real-tiome incident ingestion to Port. This integration will in turn trigger our automation when a new incident is created in Pagerduty. +- [Ingest Github issues](../build-your-software-catalog/sync-data-to-catalog/git/github/examples/resource-mapping-examples.md#mapping-repositories-and-issues) using Port's Github app. +- Prepare your Port organization's `Client ID` and `Client Secret`. To find you Port credentials, click [here](https://docs.getport.io/build-your-software-catalog/custom-integration/api/#find-your-port-credentials). +- In your GitHub organization, create a new repository called `port-actions`. You will use this repository to maintain your GitHub workflows, and other dependency files. + + +## Data Model +For this guide, we will be making a few modifications to our pre-existing blueprints in order to support our use-case: + + +
    + `Pagerduty Incidents` blueprint + + Add the following property: + + ```json showLineNumbers + "slack_channel": { + "type": "string", + "title": "The Slack Channel opened for troubleshooting this incident", + "icon": "Slack", + "format": "url" + } + ``` + + Add the following relation: + + ```json showLineNumbers + "service": { + "title": "Service", + "description": "The service this incident is related to", + "target": "service", + "required": false, + "many": false + } + ``` +
    + + +

    + +

    + +## Installations - optional +If you guide includes any installation, either integrations or any 3rd pary application, inser this section. +Add a short explanation that we will be using X,Y,Z in this guide. + +EXAMPLE: +In this guide we will be installing Port's Jira integration, and also set up Port's Github app. +
    + Installing Port's Jira integration + +We will be using Port's Jira issue to connect our Jira data to our Github data. +To install Port's Jira integration, run the fo + +```bash showLineNumbers title="Installation command" + +``` +
    + +## Actions - Optional +If your guide includes setting up Port actions and action backends, insert this section. +Provide a short explanation on why we need the Port actions. + + +EXAMPLE: +We want to be able to do X from Port. To do so, we will need to create some actions in our Port organization, and set up some action backends. + +### Actions backend - +Provide a small summary of the backend you are planning to use. +For each action backend you create (for example, different workflows, pipelines, URL trigger link etc...), provide a short explanation, with a codeblock of the action logic. + +If there are any dependencies for the actions, for example template files, also define them here with a short example, and the file in a codeblock. + +EXAMPLE: +Create the following files your `XXXXXXXXX` repository, in the correct path as it appears in the filename: + +
    + `Do X,Y,Z` GitHub workflow + +This workflow is responsible for Doing X,Y,Z + +```yaml showLineNumbers title=".github/workflows/do-x-y-z.yaml" +name: Do X, Y, Z +on: + workflow_dispatch: + inputs: + port_payload: + type: string + required: true + description: The Port Payload for triggering this action + +jobs: + do-x: + name: Do X + runs-on: ubuntu-latest + steps: + - run: | + echo "Doing X" + do-x: + name: Do Y + runs-on: ubuntu-latest + steps: + - run: | + echo "Doing X" + do-x: + name: Do Z + runs-on: ubuntu-latest + steps: + - run: | + echo "Doing X" +``` +
    + +
    + `...` template file + + This file will act as a template for .... + + + ```json showLineNumbers title=".github/templates/X_template.yaml" + { + "key": "value" + } + + ``` + +
    + +### Creating the Port actions +This section should be an explanation of how to create the Port actions using the UI. +It should provide short explanations for each Port action, and the JSON definition for it. + +EXAMPLE: +After creating our backend in ..., we need to create the Port actions to trigger the workflows we created. +We will create the Port actions using the Port UI. + +:::tip Creating actions with JSON +Don't know how to create Port actions using JSONs in the Port UI? +Click [here](/docs/create-self-service-experiences/setup-ui-for-action/?configure=ui#configuring-actions-in-port)! +::: + +Let's create the Port actions to tirgger the workflows we just created: +
    + `...` Port action + + This is a `DAY-2` action on the `...` blueprint, for doing .... + + ```json showLineNumbers + { + "identifier": "cool_action", + "title": "Cool Action", + "icon": "Unlock", + "userInputs": { + "properties": { + "inputA": { + "title": "InputA", + "type": "string" + }, + "required": [], + "order": [] + }, + "invocationMethod": { + "type": "GITHUB", + "org": "", + "repo": "", + "workflow": "....yaml", + "omitUserInputs": true, + "omitPayload": false, + "reportWorkflowStatus": true + }, + "trigger": "DAY-2", + "description": "....", + "requiredApproval": false + } + ``` +
    + +## Final touches +In this section, everything is set up and ready to use. We just need to create a few entities or copy-pase some configuration for an integration. + + +EXAMPLE: +Now after evething is set up, we just need to create a few entities. + +### Defining entities for the usecase +We will be using entities from blueprint `X` to handle our ..... Navigate to the [X](https://app.getport.io/X) catalog page to create some entities. + + +

    + +

    + +We are all set! + +### Using the use-case +After the use-case setup is complete, we want to instruct the reader how to use the use-case. This include running the actions, updating entities, aquiring data regarding his entities etc... + +EXAMPLE: +Now that we finished setting up our Port environment, and our action backends, we are ready to do X,Y,Z. + +#### Doing X +Let's start by ruuning action ... + +Click on the `...` at the top right of the entity screen -> click `RUN ACTION` -> choose an `INPUT` -> click `Execute`. + +This will trigger a new action run which will appear in the right action runs bar. Click on the action run to navigate to the run page. + +When the Port action run will end, you will get action logs which will show you info regarding: +- A +- B +- C + +The actoin will also create a new `X` entity which you can see in the [X](https://app.getport.io/X) catalog page. + +Click the link the the action logs to do reach X. + +You have now achieved your goal! + + +

    + +

    + + +## Summary +Provide a short summary of what was achieved in the guide. + +EXAMPLE: +That's it! You are all set up to do X,Y,Z using Port!🚀 + +Feel free to further experiment with the use-case by doing X,Y,Z. + +See the [Next Steps](#next-steps) section to understand how to take this guide one step further with your Port environment. + +## Next Steps +Provide ideas for extra steps for this use-case. It doesn't have to be technical, but just pointers for interesting extentions of this guide. + +Some examples: +- How can this guide be connected to a standart Port account +- Provide more ways to ingest data to the catalog +- Add interesting properties +- Create dashboards to view 1,2,3 + From 1fae82801bec32aeb1ebe550cf67893b1fb93c63 Mon Sep 17 00:00:00 2001 From: Matan Heled Date: Mon, 10 Jun 2024 09:06:56 +0300 Subject: [PATCH 20/56] added relations --- .../create-slack-channel-for-reported-incident.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/docs/guides-and-tutorials/create-slack-channel-for-reported-incident.md b/docs/guides-and-tutorials/create-slack-channel-for-reported-incident.md index 22ad56729..d5335839c 100644 --- a/docs/guides-and-tutorials/create-slack-channel-for-reported-incident.md +++ b/docs/guides-and-tutorials/create-slack-channel-for-reported-incident.md @@ -53,7 +53,7 @@ For this guide, we will be making a few modifications to our pre-existing bluepr } ``` - Add the following relation: + Add the following relations: ```json showLineNumbers "service": { @@ -62,6 +62,12 @@ For this guide, we will be making a few modifications to our pre-existing bluepr "target": "service", "required": false, "many": false + }, + "issue": { + "target": "githubIssue", + "many": false, + "required": false, + "description": "The issue created for documenting this incident" } ``` From ec9df45c1fdc4238aa06c89b6cdceda5b8b7b742 Mon Sep 17 00:00:00 2001 From: Matan Heled Date: Mon, 10 Jun 2024 09:28:57 +0300 Subject: [PATCH 21/56] fix --- .../create-slack-channel-for-reported-incident.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/docs/guides-and-tutorials/create-slack-channel-for-reported-incident.md b/docs/guides-and-tutorials/create-slack-channel-for-reported-incident.md index d5335839c..1511b6759 100644 --- a/docs/guides-and-tutorials/create-slack-channel-for-reported-incident.md +++ b/docs/guides-and-tutorials/create-slack-channel-for-reported-incident.md @@ -19,9 +19,8 @@ Solving incidents efficiently is a crucial part of any production-ready environm - **Documentation** - When there is an ongoing incident, it is important that different personas across the organization will be aware of it. Hence, it is important to document the incident in relevant places, for example as a Port entity, a Github issue or even a Jira issue - **Visibility** - While troubleshooting, it is important to provide information both to all relevant personas in the organization. An ideal place to manage an incident would be a group chat with the relevant people. - -In this guide, we will be using Port's [Automations] capabilities to automate incident management. To do so we will create an automation which will be triggered when a Pagerduty incident entity is created in Port. This automation will: +In this guide, we will be using Port's [Automations](../actions-and-automations/define-automations/define-automations.md) capabilities to automate incident management. To do so we will create an automation which will be triggered when a Pagerduty incident entity is created in Port. This automation will: - Create a Slack channel for managing the incident and providing a place to troubleshoot. - Send a breif message regarding the incident in the Slack channel for visibility. - Create a Github issue for documenting the incident. @@ -72,6 +71,10 @@ For this guide, we will be making a few modifications to our pre-existing bluepr ``` +:::note +In this guide, +::: +

    From 4e0bd5e26bddaffac95c2e94be85a4376b461555 Mon Sep 17 00:00:00 2001 From: Matan Heled Date: Thu, 13 Jun 2024 14:57:20 +0300 Subject: [PATCH 22/56] added workflow and changes --- ...ate-slack-channel-for-reported-incident.md | 342 +++++++++++------- 1 file changed, 215 insertions(+), 127 deletions(-) diff --git a/docs/guides-and-tutorials/create-slack-channel-for-reported-incident.md b/docs/guides-and-tutorials/create-slack-channel-for-reported-incident.md index 1511b6759..fb6a9fb31 100644 --- a/docs/guides-and-tutorials/create-slack-channel-for-reported-incident.md +++ b/docs/guides-and-tutorials/create-slack-channel-for-reported-incident.md @@ -19,25 +19,29 @@ Solving incidents efficiently is a crucial part of any production-ready environm - **Documentation** - When there is an ongoing incident, it is important that different personas across the organization will be aware of it. Hence, it is important to document the incident in relevant places, for example as a Port entity, a Github issue or even a Jira issue - **Visibility** - While troubleshooting, it is important to provide information both to all relevant personas in the organization. An ideal place to manage an incident would be a group chat with the relevant people. - -In this guide, we will be using Port's [Automations](../actions-and-automations/define-automations/define-automations.md) capabilities to automate incident management. To do so we will create an automation which will be triggered when a Pagerduty incident entity is created in Port. This automation will: -- Create a Slack channel for managing the incident and providing a place to troubleshoot. -- Send a breif message regarding the incident in the Slack channel for visibility. -- Create a Github issue for documenting the incident. - +In this guide, we will be using Port's [Automations](../actions-and-automations/define-automations/define-automations.md) capabilities to automate incident management. ## Prerequisites - Install Port's [Github app](https://github.com/apps/getport-io) in your Github organization. - Install Port's [Pagerduty integration](../build-your-software-catalog/sync-data-to-catalog/incident-management/pagerduty.md) for real-tiome incident ingestion to Port. This integration will in turn trigger our automation when a new incident is created in Pagerduty. - [Ingest Github issues](../build-your-software-catalog/sync-data-to-catalog/git/github/examples/resource-mapping-examples.md#mapping-repositories-and-issues) using Port's Github app. - Prepare your Port organization's `Client ID` and `Client Secret`. To find you Port credentials, click [here](https://docs.getport.io/build-your-software-catalog/custom-integration/api/#find-your-port-credentials). -- In your GitHub organization, create a new repository called `port-actions`. You will use this repository to maintain your GitHub workflows, and other dependency files. - - -## Data Model +- Prepare a Github repository for maintaining your GitHub workflows, and other dependency files. In this guide we will be using `port-actions` as the repository name. +- Configure a Slack app: + 1. [Create a slack app](https://api.slack.com/start/quickstart#creating) and install it on a workspace. Save the `Bot User OAuth Token` for later use. + 2. [Add the following permissions](https://api.slack.com/quickstart#scopes) to the Slack app in **OAuth & Permissions**: + * [Create channel](https://api.slack.com/methods/conversations.create): + `channels:manage` + `groups:write` + `im:write` + `mpim:write` + * [Send a message to a channel](https://api.slack.com/methods/chat.postMessage): + `chat:write` + + +## Data model setup For this guide, we will be making a few modifications to our pre-existing blueprints in order to support our use-case: -

    `Pagerduty Incidents` blueprint @@ -72,149 +76,226 @@ For this guide, we will be making a few modifications to our pre-existing bluepr
    :::note -In this guide, +For simplicity, in this guide wil will assume that the `Service` identifier is the `PagerDuty Service` identifier, lowercased and split by `-`. + +For example, a Pagerduty incident which is part of the `My Service` Pagerduty service will be related to the `my-service` service. ::: + - -

    - -

    +## Automation setup +After we set up our data model, let's set up the Port automation. The automation will: +- Create a Slack channel for managing the incident and providing a place to troubleshoot. +- Send a breif message regarding the incident in the Slack channel for visibility. +- Create a Github issue for documenting the incident. -## Installations - optional -If you guide includes any installation, either integrations or any 3rd pary application, inser this section. -Add a short explanation that we will be using X,Y,Z in this guide. +### Automation backend +As a backend for this automation, we will create a Github Workflow and a template file. -EXAMPLE: -In this guide we will be installing Port's Jira integration, and also set up Port's Github app.
    - Installing Port's Jira integration - -We will be using Port's Jira issue to connect our Jira data to our Github data. -To install Port's Jira integration, run the fo + `Manage new incident` GitHub workflow -```bash showLineNumbers title="Installation command" +This workflow is responsible for managing a new incident. It will be triggered via Port automation. -``` -
    +```yaml showLineNumbers title=".github/workflows/handle-incident.yaml" +name: Handle Incident -## Actions - Optional -If your guide includes setting up Port actions and action backends, insert this section. -Provide a short explanation on why we need the Port actions. - - -EXAMPLE: -We want to be able to do X from Port. To do so, we will need to create some actions in our Port organization, and set up some action backends. - -### Actions backend - -Provide a small summary of the backend you are planning to use. -For each action backend you create (for example, different workflows, pipelines, URL trigger link etc...), provide a short explanation, with a codeblock of the action logic. - -If there are any dependencies for the actions, for example template files, also define them here with a short example, and the file in a codeblock. - -EXAMPLE: -Create the following files your `XXXXXXXXX` repository, in the correct path as it appears in the filename: - -
    - `Do X,Y,Z` GitHub workflow - -This workflow is responsible for Doing X,Y,Z - -```yaml showLineNumbers title=".github/workflows/do-x-y-z.yaml" -name: Do X, Y, Z on: workflow_dispatch: inputs: port_payload: - type: string + description: "Port's payload, including details for who triggered the action and general context (blueprint, run ID, etc...)." required: true - description: The Port Payload for triggering this action + +# These permissions are required for the Github issue creation +permissions: + contents: read + issues: write jobs: - do-x: - name: Do X - runs-on: ubuntu-latest - steps: - - run: | - echo "Doing X" - do-x: - name: Do Y - runs-on: ubuntu-latest - steps: - - run: | - echo "Doing X" - do-x: - name: Do Z + handle-new-incident: runs-on: ubuntu-latest + env: + PD_INCIDENT_ID: ${{ fromJson(inputs.port_payload).event.diff.after.identifier }} + PD_INCIDENT_URL: ${{ fromJson(inputs.port_payload).event.diff.after.properties.url }} + PD_INCIDENT_TITLE: ${{ fromJson(inputs.port_payload).event.diff.after.title }} + PORT_INCIDENT_URL: https://app.getport.io/pagerdutyIncidentEntity?identifier=${{ fromJson(inputs.port_payload).event.diff.after.identifier }} + steps: - - run: | - echo "Doing X" + - uses: actions/checkout@v4 + + - name: Log Github Issue Creation + uses: port-labs/port-github-action@v1 + with: + clientId: ${{ secrets.PORT_CLIENT_ID }} + clientSecret: ${{ secrets.PORT_CLIENT_SECRET }} + baseUrl: https://api.getport.io + operation: PATCH_RUN + runId: ${{ fromJson(github.event.inputs.port_payload).run.id }} + logMessage: "Creating a new Github issue for Pagerduty incident '${{ env.PD_INCIDENT_ID }}'..." + + - name: Get incident's related service + id: get-incidient-service + uses: port-labs/port-github-action@v1 + with: + clientId: ${{ secrets.PORT_CLIENT_ID }} + clientSecret: ${{ secrets.PORT_CLIENT_SECRET }} + baseUrl: https://api.getport.io + operation: GET + blueprint: pagerdutyService + identifier: ${{ fromJson(inputs.port_payload).event.diff.after.relations.pagerdutyService }} + + - name: Extract realted service + id: get-service-info + run: | + service_title=$(echo '${{ steps.get-incidient-service.outputs.entity }}' | jq -r '.title') + echo "SERVICE_TITLE=$service_title" >> $GITHUB_OUTPUT + echo "SERVICE_IDENTIFIER=$(echo $service_title | tr '[:upper:] ' '[:lower:]-') + + - name: Create Github issue + uses: dacbd/create-issue-action@main + id: create-github-issue + with: + token: ${{ secrets.GITHUB_TOKEN }} + repo: ${{ steps.get-service.info.outputs.SERVICE_IDENTIFIER }} + title: PagerDuty incident - ID {{ env.PD_INCIDENT_ID }} + labels: bug, incident, pagerduty + body: | + Pagerduty incidient issue reported. + Port Incident Entity URL: {{ env.PORT_INCIDENT_URL }}. + Pagerduty incident URL: {{ env.PD_INCIDENT_URL }}. + + - name: Log Executing Request to Open Channel + uses: port-labs/port-github-action@v1 + with: + clientId: ${{ secrets.PORT_CLIENT_ID }} + clientSecret: ${{ secrets.PORT_CLIENT_SECRET }} + baseUrl: https://api.getport.io + operation: PATCH_RUN + runId: ${{ fromJson(github.event.inputs.port_payload).run.id }} + logMessage: | + Github issue created successfully - ${{ steps.create-github-issue.outputs.html_url }} + Creating a new Slack channel for this incident... + + - name: Create Slack Channel + id: create-slack-channel + env: + CHANNEL_NAME: incident-${{ env.PD_INCIDENT_ID }} + SLACK_TOKEN: ${{ secrets.BOT_USER_OAUTH_TOKEN }} + run: | + channel_name=$(echo "${{env.CHANNEL_NAME}}" | tr '[:upper:]' '[:lower:]') + response=$(curl -s -X POST "https://slack.com/api/conversations.create" \ + -H "Authorization: Bearer ${SLACK_TOKEN}" \ + -H "Content-Type: application/json" \ + -d "{\"name\":\"$channel_name\"}") + + # Check if the channel was created successfully + ok=$(echo $response | jq -r '.ok') + + if [ "$ok" == "true" ]; then + echo "Channel '$channel_name' created successfully." + channel_id=$(echo $response | jq -r '.channel.id') + echo "SLACK_CHANNEL_ID=$channel_id" >> $GITHUB_OUTPUT + else + error=$(echo $response | jq -r '.error') + echo "Error creating channel: $error" + echo "SLACK_ERROR=$error" >> $GITHUB_OUTPUT + exit 1 + fi + + - name: Log failed Slack channel creation + if: failure() + uses: port-labs/port-github-action@v1 + with: + clientId: ${{ secrets.PORT_CLIENT_ID }} + clientSecret: ${{ secrets.PORT_CLIENT_SECRET }} + baseUrl: https://api.getport.io + operation: PATCH_RUN + runId: ${{ fromJson(github.event.inputs.port_payload).run.id }} + logMessage: "Failed to create slack channel: ${{ steps.create-slack-channel.outputs.SLACK_ERROR }} ❌" + + - name: Log successful Slack channel creation + if: success() + uses: port-labs/port-github-action@v1 + env: + SLACK_CHANNEL_URL: https://slack.com/app_redirect?channel=${{ steps.create-slack-channel.outputs.SLACK_CHANNEL_ID }} + with: + clientId: ${{ secrets.PORT_CLIENT_ID }} + clientSecret: ${{ secrets.PORT_CLIENT_SECRET }} + baseUrl: https://api.getport.io + operation: PATCH_RUN + runId: ${{ fromJson(github.event.inputs.port_payload).run.id }} + logMessage: | + Channel created successfully - ${{ env.SLACK_CHANNEL_URL }} ✅ + + - name: Send Slack Message + uses: archive/github-actions-slack@v2.9.0 + env: + SVC_ENTITY_URL: https://app.getport.io/serviceEntity?identifier=${{ steps.get-service-info.outputs.SERVICE_IDENTIFIER }} + SVC_ENTITY_TITLE: ${{ steps.get-service-info.outputs.SERVICE_TITLE }} + id: send-message + with: + slack-function: send-message + slack-bot-user-oauth-access-token: ${{ secrets.BOT_USER_OAUTH_TOKEN }} + slack-channel: ${{ steps.create-slack-channel.outputs.SLACK_CHANNEL_ID }} + slack-text: | + :rotating_light: New Incident reported - ${{ env.PD_INCIDENT_TITLE }} :rotating_light: + Urgency: `${{ fromJson(inputs.port_payload).event.diff.after.properties.urgency }}` + Service: <${{ env.SVC_ENTITY_URL }}|${{ env.SVC_ENTITY_TITLE }}> + Manage incident :point_right::skin-tone-4: <${{ env.PORT_INCIDENT_URL }}|here>! + + Please use this Slack channel to report any updates, ideas, or root-cause ideas related to this incident :thread: + + - name: Add Slack channel to Pagerduty incident + uses: port-labs/port-github-action@v1 + env: + SLACK_CHANNEL_URL: https://slack.com/app_redirect?channel=${{ steps.create-slack-channel.outputs.SLACK_CHANNEL_ID }} + with: + clientId: ${{ secrets.PORT_CLIENT_ID }} + clientSecret: ${{ secrets.PORT_CLIENT_SECRET }} + identifier: ${{ env.PD_INCIDENT_ID }} + blueprint: pagerdutyIncident + properties: | + { + "slack_channel": "${{ env.SLACK_CHANNEL_URL }}" + } + relations: | + { + "issue": "${{ steps.get-service-info.outputs.SERVICE_IDENTIFIER }}-${{ steps.create-github-issue.outputs.number }}, + "service": "${{ steps.get-service-info.outputs.SERVICE_IDENTIFIER }}" + } + + - name: Log Successful Action + if: success() + uses: port-labs/port-github-action@v1 + with: + clientId: ${{ secrets.PORT_CLIENT_ID }} + clientSecret: ${{ secrets.PORT_CLIENT_SECRET }} + baseUrl: https://api.getport.io + operation: PATCH_RUN + runId: ${{ fromJson(github.event.inputs.port_payload).run.id }} + logMessage: | + Added relevant users to the Slack channel ✅ + Done handling the new incident 💪🏻 ```
    - `...` template file - - This file will act as a template for .... - + `Github Issue` template file - ```json showLineNumbers title=".github/templates/X_template.yaml" - { - "key": "value" - } + This file will act as a template for the Github issue the workflow will create. + ```markdown showLineNumbers title=".github/ISSUE_TEMPLATE.md" +--- +title: PagerDuty incident - ID {{ env.PD_INCIDENT_ID }} +labels: bug, incident, pagerduty +--- +Pagerduty incidient issue reported. +Port Incident Entity URL: {{ env.PORT_INCIDENT_URL }} +Pagerduty incident URL: {{ env.PD_INCIDENT_URL }}. ```
    -### Creating the Port actions -This section should be an explanation of how to create the Port actions using the UI. -It should provide short explanations for each Port action, and the JSON definition for it. - -EXAMPLE: -After creating our backend in ..., we need to create the Port actions to trigger the workflows we created. -We will create the Port actions using the Port UI. - -:::tip Creating actions with JSON -Don't know how to create Port actions using JSONs in the Port UI? -Click [here](/docs/create-self-service-experiences/setup-ui-for-action/?configure=ui#configuring-actions-in-port)! -::: - -Let's create the Port actions to tirgger the workflows we just created: -
    - `...` Port action - - This is a `DAY-2` action on the `...` blueprint, for doing .... - - ```json showLineNumbers - { - "identifier": "cool_action", - "title": "Cool Action", - "icon": "Unlock", - "userInputs": { - "properties": { - "inputA": { - "title": "InputA", - "type": "string" - }, - "required": [], - "order": [] - }, - "invocationMethod": { - "type": "GITHUB", - "org": "", - "repo": "", - "workflow": "....yaml", - "omitUserInputs": true, - "omitPayload": false, - "reportWorkflowStatus": true - }, - "trigger": "DAY-2", - "description": "....", - "requiredApproval": false - } - ``` -
    - ## Final touches In this section, everything is set up and ready to use. We just need to create a few entities or copy-pase some configuration for an integration. @@ -281,3 +362,10 @@ Some examples: - Add interesting properties - Create dashboards to view 1,2,3 + * [Find a user with an email address](https://api.slack.com/methods/users.lookupByEmail): + `users:read.email` + * [Invite users to channel](https://api.slack.com/methods/conversations.invite): + `channels:write.invites` + `groups:write.invites` + `mpim:write.invites` + From 1eb3fa0c2c518e80a9335b2067ec36e4fb6cf01e Mon Sep 17 00:00:00 2001 From: Matan Heled Date: Thu, 13 Jun 2024 15:06:17 +0300 Subject: [PATCH 23/56] removed issue template --- ...reate-slack-channel-for-reported-incident.md | 17 ----------------- 1 file changed, 17 deletions(-) diff --git a/docs/guides-and-tutorials/create-slack-channel-for-reported-incident.md b/docs/guides-and-tutorials/create-slack-channel-for-reported-incident.md index fb6a9fb31..1c665ba41 100644 --- a/docs/guides-and-tutorials/create-slack-channel-for-reported-incident.md +++ b/docs/guides-and-tutorials/create-slack-channel-for-reported-incident.md @@ -279,23 +279,6 @@ jobs: ``` -
    - `Github Issue` template file - - This file will act as a template for the Github issue the workflow will create. - - ```markdown showLineNumbers title=".github/ISSUE_TEMPLATE.md" ---- -title: PagerDuty incident - ID {{ env.PD_INCIDENT_ID }} -labels: bug, incident, pagerduty ---- -Pagerduty incidient issue reported. -Port Incident Entity URL: {{ env.PORT_INCIDENT_URL }} -Pagerduty incident URL: {{ env.PD_INCIDENT_URL }}. - ``` - -
    - ## Final touches In this section, everything is set up and ready to use. We just need to create a few entities or copy-pase some configuration for an integration. From 468d37299659e369edb982749cc52ca9fd0f7d6a Mon Sep 17 00:00:00 2001 From: Matan Heled Date: Thu, 13 Jun 2024 16:59:10 +0300 Subject: [PATCH 24/56] added manual creation for github issue --- ...ate-slack-channel-for-reported-incident.md | 46 ++++++++----------- 1 file changed, 20 insertions(+), 26 deletions(-) diff --git a/docs/guides-and-tutorials/create-slack-channel-for-reported-incident.md b/docs/guides-and-tutorials/create-slack-channel-for-reported-incident.md index 1c665ba41..00ccb29d1 100644 --- a/docs/guides-and-tutorials/create-slack-channel-for-reported-incident.md +++ b/docs/guides-and-tutorials/create-slack-channel-for-reported-incident.md @@ -76,12 +76,11 @@ For this guide, we will be making a few modifications to our pre-existing bluepr :::note -For simplicity, in this guide wil will assume that the `Service` identifier is the `PagerDuty Service` identifier, lowercased and split by `-`. +For simplicity, in this guide we will assume that the Github `Service` entity identifier is the `PagerDuty Service` identifier, lowercased and split by `-`. -For example, a Pagerduty incident which is part of the `My Service` Pagerduty service will be related to the `my-service` service. +For example, a Pagerduty incident which is part of the `My Service` Pagerduty service will be related to the `my-service` Github service. ::: - ## Automation setup After we set up our data model, let's set up the Port automation. The automation will: - Create a Slack channel for managing the incident and providing a place to troubleshoot. @@ -89,10 +88,10 @@ After we set up our data model, let's set up the Port automation. The automation - Create a Github issue for documenting the incident. ### Automation backend -As a backend for this automation, we will create a Github Workflow and a template file. +As a backend for this automation, we will create a Github Workflow.
    - `Manage new incident` GitHub workflow + `Handle incident` GitHub workflow This workflow is responsible for managing a new incident. It will be triggered via Port automation. @@ -144,6 +143,7 @@ jobs: blueprint: pagerdutyService identifier: ${{ fromJson(inputs.port_payload).event.diff.after.relations.pagerdutyService }} + # The Github Service entity identifier is defined as Pagerduty title lowercased and split by '-' - name: Extract realted service id: get-service-info run: | @@ -164,6 +164,15 @@ jobs: Port Incident Entity URL: {{ env.PORT_INCIDENT_URL }}. Pagerduty incident URL: {{ env.PD_INCIDENT_URL }}. + - name: Report Github issue to Port + uses: port-labs/port-github-action@v1 + with: + clientId: ${{ secrets.PORT_CLIENT_ID }} + clientSecret: ${{ secrets.PORT_CLIENT_SECRET }} + identifier: ${{ steps.get-service-info.outputs.SERVICE_IDENTIFIER }}-${{ steps.create-github-issue.outputs.number }} + blueprint: githubIssue + properties: {} + - name: Log Executing Request to Open Channel uses: port-labs/port-github-action@v1 with: @@ -182,9 +191,9 @@ jobs: CHANNEL_NAME: incident-${{ env.PD_INCIDENT_ID }} SLACK_TOKEN: ${{ secrets.BOT_USER_OAUTH_TOKEN }} run: | - channel_name=$(echo "${{env.CHANNEL_NAME}}" | tr '[:upper:]' '[:lower:]') + channel_name=$(echo "${{ env.CHANNEL_NAME }}" | tr '[:upper:]' '[:lower:]') response=$(curl -s -X POST "https://slack.com/api/conversations.create" \ - -H "Authorization: Bearer ${SLACK_TOKEN}" \ + -H "Authorization: Bearer ${{ env.SLACK_TOKEN }}" \ -H "Content-Type: application/json" \ -d "{\"name\":\"$channel_name\"}") @@ -245,7 +254,7 @@ jobs: Please use this Slack channel to report any updates, ideas, or root-cause ideas related to this incident :thread: - - name: Add Slack channel to Pagerduty incident + - name: Update incident entity with new information uses: port-labs/port-github-action@v1 env: SLACK_CHANNEL_URL: https://slack.com/app_redirect?channel=${{ steps.create-slack-channel.outputs.SLACK_CHANNEL_ID }} @@ -279,25 +288,10 @@ jobs: ```
    -## Final touches -In this section, everything is set up and ready to use. We just need to create a few entities or copy-pase some configuration for an integration. - - -EXAMPLE: -Now after evething is set up, we just need to create a few entities. - -### Defining entities for the usecase -We will be using entities from blueprint `X` to handle our ..... Navigate to the [X](https://app.getport.io/X) catalog page to create some entities. - - -

    - -

    - -We are all set! +### Automation trigger +After setting up the automation backend, we need to set up the Port automation. -### Using the use-case -After the use-case setup is complete, we want to instruct the reader how to use the use-case. This include running the actions, updating entities, aquiring data regarding his entities etc... +### Testing the automation flow EXAMPLE: Now that we finished setting up our Port environment, and our action backends, we are ready to do X,Y,Z. From b49c187ce828fd0ef250ecfd792917cc4ffdba98 Mon Sep 17 00:00:00 2001 From: Mor Paz Date: Fri, 14 Jun 2024 02:19:35 +0300 Subject: [PATCH 25/56] PORT-8647 update integration installation docs to include api base url parameter (#1308) * Update all guides in guides section to include region note and examples * Add region tip to all software catalog docs --- .../examples/create-azure-resource.md | 11 +- .../examples/AWS/create-an-ec2-instance.md | 2 +- .../AWS/create-eks-cluster-and-deploy-app.md | 2 +- .../AWS/deploy-cloudformation-template.md | 9 +- .../examples/AWS/push-image-to-ecr.md | 2 +- .../terraform-plan-and-apply-aws-resource.md | 16 +- .../examples/Azure/create-azure-resource.md | 12 +- .../examples/Azure/tag-azure-resource.md | 2 +- .../argocd/rollback-argocd-deployment.md | 2 +- .../examples/create-github-secret.md | 1 + .../kubernetes/change-replica-count.md | 2 +- .../examples/kubernetes/manage-clusters.md | 4 +- .../examples/promote-to-production.md | 1 + .../examples/deploy-azure-resource.md | 9 + .../custom-integration/api/api.md | 5 + .../ci-cd/azure-pipelines/azure-pipelines.md | 3 + .../api/ci-cd/azure-pipelines/examples.md | 3 + .../circleci-workflow/circleci-workflow.md | 3 + .../api/ci-cd/circleci-workflow/examples.md | 3 + .../api/ci-cd/github-workflow/examples.md | 16 +- .../ci-cd/github-workflow/github-workflow.md | 10 + .../api/ci-cd/gitlab-pipelines/examples.md | 3 + .../gitlab-pipelines/gitlab-pipelines.md | 3 + .../api/ci-cd/jenkins-deployment/examples.md | 3 + .../jenkins-deployment/jenkins-deployment.md | 3 + .../iac/pulumi/_pulumi_provider_base.mdx | 4 + .../terraform/_terraform_provider_base.mdx | 5 + .../iac/terraform/examples/create-dev-env.md | 10 + .../iac/terraform/examples/s3-bucket.md | 10 + .../custom-integration/webhook/webhook.md | 3 + .../Iac/terraform-managed-blueprint.md | 5 + .../_datadog_one_time_docker_parameters.mdx | 1 + .../_newrelic-docker-parameters.mdx | 1 + .../_sentry-docker-parameters.mdx | 1 + .../apm-alerting/datadog.md | 18 +- .../apm-alerting/dynatrace.md | 23 +- .../apm-alerting/newrelic.md | 18 +- .../apm-alerting/sentry.md | 16 +- .../sync-data-to-catalog/argocd/argocd.md | 20 +- .../_kubecost-docker-parameters.mdx | 1 + .../_opencost-docker-parameters.mdx | 1 + .../cloud-cost/kubecost.md | 18 +- .../cloud-cost/opencost.md | 18 +- .../aws/aws-exporter/_category_.json | 2 +- .../aws/aws-exporter/examples/_category_.json | 4 + .../aws/aws-exporter/installation.md | 2 +- .../aws/examples/_category_.json | 4 + .../cloud-providers/aws/installation.md | 4 + .../azure/_azure_docker_params.mdx | 1 + .../cloud-providers/azure/installation.md | 31 +- .../gcp/examples/_category_.json | 4 + .../_docker-parameters.mdx | 1 + .../_wiz-docker-parameters.mdx | 1 + .../code-quality-security/snyk/snyk.md | 22 +- .../sonarqube/sonarqube.md | 18 +- .../code-quality-security/wiz.md | 19 +- .../_kafka_one_time_docker_params.mdx | 1 + .../event-processing/kafka.md | 18 +- ...aunchdarkly_one_time_docker_parameters.mdx | 1 + .../feature-management/launchdarkly.md | 19 +- ...azuredevops_one_time_docker_parameters.mdx | 1 + .../git/azure-devops/installation.md | 13 +- .../_gitlab_one_time_docker_parameters.mdx | 1 + .../git/gitlab/installation.md | 22 +- .../_firehydrant_docker_params.mdx | 1 + .../_opsgenie_docker_params.mdx | 1 + .../_pagerduty_docker_params.mdx | 1 + .../_servicenow_docker_parameters.mdx | 1 + .../incident-management/firehydrant.md | 18 +- .../incident-management/opsgenie.md | 18 +- .../incident-management/pagerduty.md | 19 +- .../incident-management/servicenow.md | 19 +- .../jenkins/_jenkins-docker-parameters.mdx | 1 + .../sync-data-to-catalog/jenkins/jenkins.md | 17 +- .../kubernetes/kubernetes.md | 11 +- .../jira/_jira_one_time_docker_parameters.mdx | 1 + .../project-management/jira/jira.md | 18 +- .../_linear_one_time_docker_parameters.mdx | 1 + .../project-management/linear/linear.md | 18 +- .../_terraform_one_time_docker_parameters.mdx | 1 + .../terraform-cloud/terraform-cloud.md | 19 +- ...t_region_parameter_explanation_template.md | 8 + .../create-cloud-resource-using-iac.md | 5 + .../ensure-production-readiness.md | 4 + .../iam-permissions-guide.md | 11 +- ...developers-enrich-services-using-gitops.md | 8 +- .../manage-resources-using-k8s-crds.md | 3 + .../service-lock-github-workflow.md | 4 + .../setup-slack-reminders.md | 5 + .../visualize-service-argocd-runtime.md | 7 + .../visualize-service-k8s-runtime.md | 3 + yarn.lock | 11441 ---------------- 92 files changed, 650 insertions(+), 11506 deletions(-) create mode 100644 docs/build-your-software-catalog/sync-data-to-catalog/cloud-providers/aws/aws-exporter/examples/_category_.json create mode 100644 docs/build-your-software-catalog/sync-data-to-catalog/cloud-providers/aws/examples/_category_.json create mode 100644 docs/build-your-software-catalog/sync-data-to-catalog/cloud-providers/gcp/examples/_category_.json create mode 100644 docs/generalTemplates/_port_region_parameter_explanation_template.md delete mode 100644 yarn.lock diff --git a/docs/actions-and-automations/setup-backend/azure-pipeline/examples/create-azure-resource.md b/docs/actions-and-automations/setup-backend/azure-pipeline/examples/create-azure-resource.md index 9fc22d6ad..81bd372b9 100644 --- a/docs/actions-and-automations/setup-backend/azure-pipeline/examples/create-azure-resource.md +++ b/docs/actions-and-automations/setup-backend/azure-pipeline/examples/create-azure-resource.md @@ -3,6 +3,7 @@ sidebar_position: 3 --- import PortTooltip from "/src/components/tooltip/tooltip.jsx"; +import PortApiRegionTip from "/docs/generalTemplates/_port_region_parameter_explanation_template.md" # Create Azure Resource with Terraform @@ -181,6 +182,7 @@ provider "azurerm" { provider "port" { client_id = var.port_client_id secret = var.port_client_secret + base_url = var.base_url } resource "azurerm_storage_account" "storage_account" { @@ -253,8 +255,15 @@ variable "port_client_secret" { type = string description = "The Port client secret" } + +variable "base_url" { + type = string + description = "The Port API URL" +} ``` + +
    @@ -268,7 +277,7 @@ output "endpoint_url" {
    -5. Create an Azure pipeline: +1. Create an Azure pipeline:
    diff --git a/docs/actions-and-automations/setup-backend/github-workflow/examples/AWS/create-an-ec2-instance.md b/docs/actions-and-automations/setup-backend/github-workflow/examples/AWS/create-an-ec2-instance.md index 3f5b99797..b96e21fe5 100644 --- a/docs/actions-and-automations/setup-backend/github-workflow/examples/AWS/create-an-ec2-instance.md +++ b/docs/actions-and-automations/setup-backend/github-workflow/examples/AWS/create-an-ec2-instance.md @@ -295,7 +295,7 @@ jobs: provision-ec2: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: actions/setup-node@v3 with: node-version: '14' diff --git a/docs/actions-and-automations/setup-backend/github-workflow/examples/AWS/create-eks-cluster-and-deploy-app.md b/docs/actions-and-automations/setup-backend/github-workflow/examples/AWS/create-eks-cluster-and-deploy-app.md index e73ab93db..e1ce392cf 100644 --- a/docs/actions-and-automations/setup-backend/github-workflow/examples/AWS/create-eks-cluster-and-deploy-app.md +++ b/docs/actions-and-automations/setup-backend/github-workflow/examples/AWS/create-eks-cluster-and-deploy-app.md @@ -177,7 +177,7 @@ jobs: steps: - name: Checkout code - uses: actions/checkout@v2 + uses: actions/checkout@v4 - name: Create a log message (apply) if: ${{ github.event.inputs.action == 'apply' }} diff --git a/docs/actions-and-automations/setup-backend/github-workflow/examples/AWS/deploy-cloudformation-template.md b/docs/actions-and-automations/setup-backend/github-workflow/examples/AWS/deploy-cloudformation-template.md index afa4b3a7c..a4a5a1e14 100644 --- a/docs/actions-and-automations/setup-backend/github-workflow/examples/AWS/deploy-cloudformation-template.md +++ b/docs/actions-and-automations/setup-backend/github-workflow/examples/AWS/deploy-cloudformation-template.md @@ -700,7 +700,7 @@ jobs: deploy-cloudformation-template: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Configure AWS Credentials 🔒 id: aws-credentials @@ -741,6 +741,7 @@ jobs: relations: '{}' clientId: ${{ secrets.PORT_CLIENT_ID }} clientSecret: ${{ secrets.PORT_CLIENT_SECRET }} + baseUrl: https://api.getport.io operation: UPSERT runId: ${{fromJson(inputs.port_context).runId}} ``` @@ -775,7 +776,7 @@ jobs: deploy-cloudformation-template: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Configure AWS Credentials 🔒 id: aws-credentials @@ -810,6 +811,7 @@ jobs: relations: '{}' clientId: ${{ secrets.PORT_CLIENT_ID }} clientSecret: ${{ secrets.PORT_CLIENT_SECRET }} + baseUrl: https://api.getport.io operation: UPSERT runId: ${{fromJson(inputs.port_context).runId}} ``` @@ -860,7 +862,7 @@ jobs: deploy-cloudformation-template: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Set Up Python uses: actions/setup-python@v2 @@ -918,6 +920,7 @@ jobs: relations: '{}' clientId: ${{ secrets.PORT_CLIENT_ID }} clientSecret: ${{ secrets.PORT_CLIENT_SECRET }} + baseUrl: https://api.getport.io operation: UPSERT runId: ${{fromJson(inputs.port_context).runId}} ``` diff --git a/docs/actions-and-automations/setup-backend/github-workflow/examples/AWS/push-image-to-ecr.md b/docs/actions-and-automations/setup-backend/github-workflow/examples/AWS/push-image-to-ecr.md index 0a0240267..618a51e4d 100644 --- a/docs/actions-and-automations/setup-backend/github-workflow/examples/AWS/push-image-to-ecr.md +++ b/docs/actions-and-automations/setup-backend/github-workflow/examples/AWS/push-image-to-ecr.md @@ -97,7 +97,7 @@ jobs: shell: bash - name: Checkout repository - uses: actions/checkout@v2 + uses: actions/checkout@v4 with: repository: ${{ env.REPO_OWNER }}/${{ env.REPO_NAME }} diff --git a/docs/actions-and-automations/setup-backend/github-workflow/examples/AWS/terraform-plan-and-apply-aws-resource.md b/docs/actions-and-automations/setup-backend/github-workflow/examples/AWS/terraform-plan-and-apply-aws-resource.md index e002dccb7..92e035c6b 100644 --- a/docs/actions-and-automations/setup-backend/github-workflow/examples/AWS/terraform-plan-and-apply-aws-resource.md +++ b/docs/actions-and-automations/setup-backend/github-workflow/examples/AWS/terraform-plan-and-apply-aws-resource.md @@ -3,6 +3,7 @@ sidebar_position: 6 --- import PortTooltip from "/src/components/tooltip/tooltip.jsx"; +import PortApiRegionTip from "/docs/generalTemplates/_port_region_parameter_explanation_template.md" # Provision Cloud Resource using Terraform Plan and Apply @@ -308,7 +309,7 @@ jobs: plan-and-request-approval-for-bucket: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Log starting of s3 bucket creation uses: port-labs/port-github-action@v1 @@ -368,6 +369,7 @@ jobs: with: clientId: ${{ secrets.PORT_CLIENT_ID }} clientSecret: ${{ secrets.PORT_CLIENT_SECRET }} + baseUrl: https://api.getport.io operation: PATCH_RUN runId: ${{fromJson(inputs.port_context).runId}} logMessage: | @@ -380,6 +382,7 @@ jobs: with: clientId: ${{ secrets.PORT_CLIENT_ID }} clientSecret: ${{ secrets.PORT_CLIENT_SECRET }} + baseUrl: https://api.getport.io operation: PATCH_RUN runId: ${{fromJson(inputs.port_context).runId}} logMessage: | @@ -392,6 +395,7 @@ jobs: with: clientId: ${{ secrets.PORT_CLIENT_ID }} clientSecret: ${{ secrets.PORT_CLIENT_SECRET }} + baseUrl: https://api.getport.io operation: CREATE_RUN icon: GithubActions blueprint: service @@ -409,6 +413,7 @@ jobs: with: clientId: ${{ secrets.PORT_CLIENT_ID }} clientSecret: ${{ secrets.PORT_CLIENT_SECRET }} + baseUrl: https://api.getport.io operation: PATCH_RUN runId: ${{fromJson(inputs.port_context).runId}} logMessage: | @@ -420,6 +425,7 @@ jobs: with: clientId: ${{ secrets.PORT_CLIENT_ID }} clientSecret: ${{ secrets.PORT_CLIENT_SECRET }} + baseUrl: https://api.getport.io operation: PATCH_RUN runId: ${{fromJson(inputs.port_context).runId}} logMessage: | @@ -456,13 +462,14 @@ jobs: apply-and-provision-resource: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Log starting of cloud resource creation uses: port-labs/port-github-action@v1 with: clientId: ${{ secrets.PORT_CLIENT_ID }} clientSecret: ${{ secrets.PORT_CLIENT_SECRET }} + baseUrl: https://api.getport.io operation: PATCH_RUN runId: ${{fromJson(inputs.port_context).runId}} logMessage: | @@ -518,6 +525,7 @@ jobs: with: clientId: ${{ secrets.PORT_CLIENT_ID }} clientSecret: ${{ secrets.PORT_CLIENT_SECRET }} + baseUrl: https://api.getport.io operation: PATCH_RUN runId: ${{fromJson(inputs.port_context).runId}} logMessage: | @@ -533,6 +541,7 @@ jobs: with: clientId: ${{ secrets.PORT_CLIENT_ID }} clientSecret: ${{ secrets.PORT_CLIENT_SECRET }} + baseUrl: https://api.getport.io operation: UPSERT identifier: ${{ fromJson(inputs.tf_plan_output).variables.bucket_name.value }} blueprint: cloudResource @@ -551,12 +560,15 @@ jobs: with: clientId: ${{ secrets.PORT_CLIENT_ID }} clientSecret: ${{ secrets.PORT_CLIENT_SECRET }} + baseUrl: https://api.getport.io operation: PATCH_RUN runId: ${{fromJson(inputs.port_context).runId}} logMessage: | cloud resource could not be provisioned ``` + +

    diff --git a/docs/actions-and-automations/setup-backend/github-workflow/examples/Azure/create-azure-resource.md b/docs/actions-and-automations/setup-backend/github-workflow/examples/Azure/create-azure-resource.md index 2c360950b..8098fa93c 100644 --- a/docs/actions-and-automations/setup-backend/github-workflow/examples/Azure/create-azure-resource.md +++ b/docs/actions-and-automations/setup-backend/github-workflow/examples/Azure/create-azure-resource.md @@ -3,6 +3,7 @@ sidebar_position: 1 --- import PortTooltip from "/src/components/tooltip/tooltip.jsx"; +import PortApiRegionTip from "/docs/generalTemplates/_port_region_parameter_explanation_template.md" # Deploy Azure Resource using Terraform @@ -213,6 +214,7 @@ provider "azurerm" { provider "port" { client_id = var.port_client_id secret = var.port_client_secret + base_url = var.base_url } resource "azurerm_storage_account" "storage_account" { @@ -285,8 +287,16 @@ variable "port_client_secret" { type = string description = "The Port client secret" } + +variable "base_url" { + type = string + description = "The Port API URL" +} + ``` + +
    @@ -342,7 +352,7 @@ jobs: steps: - name: Checkout the repository to the runner - uses: actions/checkout@v2 + uses: actions/checkout@v4 - name: Setup Terraform with specified version on the runner uses: hashicorp/setup-terraform@v2 diff --git a/docs/actions-and-automations/setup-backend/github-workflow/examples/Azure/tag-azure-resource.md b/docs/actions-and-automations/setup-backend/github-workflow/examples/Azure/tag-azure-resource.md index 9c9013be1..32a848045 100644 --- a/docs/actions-and-automations/setup-backend/github-workflow/examples/Azure/tag-azure-resource.md +++ b/docs/actions-and-automations/setup-backend/github-workflow/examples/Azure/tag-azure-resource.md @@ -278,7 +278,7 @@ jobs: Starting a GitHub workflow to tag the Azure resource: ${{ fromJson(inputs.port_context).entity.identifier }} ... ⛴️ - name: Checkout the repository to the runner - uses: actions/checkout@v2 + uses: actions/checkout@v4 - name: Setup Terraform with specified version on the runner uses: hashicorp/setup-terraform@v2 diff --git a/docs/actions-and-automations/setup-backend/github-workflow/examples/argocd/rollback-argocd-deployment.md b/docs/actions-and-automations/setup-backend/github-workflow/examples/argocd/rollback-argocd-deployment.md index 8065cbccc..62867d9c9 100644 --- a/docs/actions-and-automations/setup-backend/github-workflow/examples/argocd/rollback-argocd-deployment.md +++ b/docs/actions-and-automations/setup-backend/github-workflow/examples/argocd/rollback-argocd-deployment.md @@ -327,7 +327,7 @@ jobs: runId: ${{fromJson(inputs.port_context).runId}} logMessage: "About to rollback deployment image in argocd..." - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Create PR id: create-pr uses: fjogeleit/yaml-update-action@main diff --git a/docs/actions-and-automations/setup-backend/github-workflow/examples/create-github-secret.md b/docs/actions-and-automations/setup-backend/github-workflow/examples/create-github-secret.md index 905c18935..0bd299cd1 100644 --- a/docs/actions-and-automations/setup-backend/github-workflow/examples/create-github-secret.md +++ b/docs/actions-and-automations/setup-backend/github-workflow/examples/create-github-secret.md @@ -174,6 +174,7 @@ jobs: relations: "{}" clientId: ${{ secrets.PORT_CLIENT_ID }} clientSecret: ${{ secrets.PORT_CLIENT_SECRET }} + baseUrl: https://api.getport.io operation: UPSERT runId: ${{ fromJson(inputs.port_context).runId }} diff --git a/docs/actions-and-automations/setup-backend/github-workflow/examples/kubernetes/change-replica-count.md b/docs/actions-and-automations/setup-backend/github-workflow/examples/kubernetes/change-replica-count.md index a4168926e..b1b2be524 100644 --- a/docs/actions-and-automations/setup-backend/github-workflow/examples/kubernetes/change-replica-count.md +++ b/docs/actions-and-automations/setup-backend/github-workflow/examples/kubernetes/change-replica-count.md @@ -267,7 +267,7 @@ jobs: runId: ${{fromJson(github.event.inputs.port_payload).context.runId}} logMessage: "About to change replica count in deployment manifest..." - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Create PR id: create-pr uses: fjogeleit/yaml-update-action@main diff --git a/docs/actions-and-automations/setup-backend/github-workflow/examples/kubernetes/manage-clusters.md b/docs/actions-and-automations/setup-backend/github-workflow/examples/kubernetes/manage-clusters.md index f962fb989..8fcced4c3 100644 --- a/docs/actions-and-automations/setup-backend/github-workflow/examples/kubernetes/manage-clusters.md +++ b/docs/actions-and-automations/setup-backend/github-workflow/examples/kubernetes/manage-clusters.md @@ -262,7 +262,7 @@ jobs: deploy-app: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: persist-credentials: false fetch-depth: 0 @@ -325,7 +325,7 @@ jobs: deploy-app: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: persist-credentials: false fetch-depth: 0 diff --git a/docs/actions-and-automations/setup-backend/github-workflow/examples/promote-to-production.md b/docs/actions-and-automations/setup-backend/github-workflow/examples/promote-to-production.md index 88ed2960f..98b6c112d 100644 --- a/docs/actions-and-automations/setup-backend/github-workflow/examples/promote-to-production.md +++ b/docs/actions-and-automations/setup-backend/github-workflow/examples/promote-to-production.md @@ -530,6 +530,7 @@ jobs: with: clientId: ${{ secrets.PORT_CLIENT_ID }} clientSecret: ${{ secrets.PORT_CLIENT_SECRET }} + baseUrl: https://api.getport.io operation: UPSERT identifier: ${{ fromJson(inputs.production_runtime).identifier }} blueprint: running_service diff --git a/docs/actions-and-automations/setup-backend/jenkins-pipeline/examples/deploy-azure-resource.md b/docs/actions-and-automations/setup-backend/jenkins-pipeline/examples/deploy-azure-resource.md index a2221152e..a62aa8448 100644 --- a/docs/actions-and-automations/setup-backend/jenkins-pipeline/examples/deploy-azure-resource.md +++ b/docs/actions-and-automations/setup-backend/jenkins-pipeline/examples/deploy-azure-resource.md @@ -3,6 +3,7 @@ sidebar_position: 4 --- import PortTooltip from "/src/components/tooltip/tooltip.jsx" +import PortApiRegionTip from "/docs/generalTemplates/_port_region_parameter_explanation_template.md" # Deploy resource in Azure Cloud with Terraform @@ -199,6 +200,7 @@ Follow these steps to get started: provider "port" { client_id = var.port_client_id secret = var.port_client_secret + base_url = var.base_url } resource "azurerm_storage_account" "storage_account" { @@ -271,8 +273,15 @@ Follow these steps to get started: type = string description = "The Port client secret" } + + variable "base_url" { + type = string + description = "The Port API URL" +} ``` + +
    diff --git a/docs/build-your-software-catalog/custom-integration/api/api.md b/docs/build-your-software-catalog/custom-integration/api/api.md index 9ba941960..c3d60f728 100644 --- a/docs/build-your-software-catalog/custom-integration/api/api.md +++ b/docs/build-your-software-catalog/custom-integration/api/api.md @@ -3,6 +3,7 @@ sidebar_position: 1 --- import FindCredentials from "./\_template_docs/\_find_credentials.mdx"; +import PortApiRegionTip from "/docs/generalTemplates/_port_region_parameter_explanation_template.md" import Tabs from "@theme/Tabs"; import TabItem from "@theme/TabItem"; @@ -127,6 +128,8 @@ access_token=$(curl --location --request POST 'https://api.getport.io/v1/auth/ac + + ## Ingest data via API Since Port is API-first it is possible to create and update entities using simple REST calls from any platform you use. @@ -1074,3 +1077,5 @@ It is also possible to delete all entities using Port's web UI: + + \ No newline at end of file diff --git a/docs/build-your-software-catalog/custom-integration/api/ci-cd/azure-pipelines/azure-pipelines.md b/docs/build-your-software-catalog/custom-integration/api/ci-cd/azure-pipelines/azure-pipelines.md index dc53b1228..211ba63dc 100644 --- a/docs/build-your-software-catalog/custom-integration/api/ci-cd/azure-pipelines/azure-pipelines.md +++ b/docs/build-your-software-catalog/custom-integration/api/ci-cd/azure-pipelines/azure-pipelines.md @@ -4,6 +4,7 @@ sidebar_position: 1 import Tabs from "@theme/Tabs" import TabItem from "@theme/TabItem" +import PortApiRegionTip from "/docs/generalTemplates/_port_region_parameter_explanation_template.md" # Azure Pipelines @@ -156,6 +157,8 @@ print(json.dumps(get_response.json(), indent=4)) + + ## Examples Refer to the [examples](./examples.md) page for practical examples of working with Port using Azure Pipelines. diff --git a/docs/build-your-software-catalog/custom-integration/api/ci-cd/azure-pipelines/examples.md b/docs/build-your-software-catalog/custom-integration/api/ci-cd/azure-pipelines/examples.md index 6e18b184a..fff519b6c 100644 --- a/docs/build-your-software-catalog/custom-integration/api/ci-cd/azure-pipelines/examples.md +++ b/docs/build-your-software-catalog/custom-integration/api/ci-cd/azure-pipelines/examples.md @@ -1,5 +1,6 @@ import ExampleImageBlueprint from "../\_ci_example_image_blueprint.mdx"; import ExampleCiJobBlueprint from "../\_ci_example_ci_job_blueprint.mdx"; +import PortApiRegionTip from "/docs/generalTemplates/_port_region_parameter_explanation_template.md" # Examples @@ -54,6 +55,8 @@ entity_json = { create_response = requests.post(f'{API_URL}/blueprints/{blueprint_id}/entities?upsert=true&create_missing_related_entities=true', json=entity_json, headers=headers) ``` + + :::note Please notice that you have also created the `image` relation, and added a related image entity called `example-image`. This is the artifact of the ciJob, and you will update it later. The creation was done using the `create_missing_related_entities=true` flag in the API url, allowing the relation to be created even though the `example-image` entity doesn't exist yet. diff --git a/docs/build-your-software-catalog/custom-integration/api/ci-cd/circleci-workflow/circleci-workflow.md b/docs/build-your-software-catalog/custom-integration/api/ci-cd/circleci-workflow/circleci-workflow.md index e34d8b48a..c131b8ebc 100644 --- a/docs/build-your-software-catalog/custom-integration/api/ci-cd/circleci-workflow/circleci-workflow.md +++ b/docs/build-your-software-catalog/custom-integration/api/ci-cd/circleci-workflow/circleci-workflow.md @@ -4,6 +4,7 @@ sidebar_position: 1 import Tabs from "@theme/Tabs" import TabItem from "@theme/TabItem" +import PortApiRegionTip from "/docs/generalTemplates/_port_region_parameter_explanation_template.md" # CircleCI workflows @@ -171,6 +172,8 @@ print(json.dumps(get_response.json(), indent=4)) + + ## Examples Refer to the [examples](./examples.md) page for practical examples of working with Port using CircleCI. diff --git a/docs/build-your-software-catalog/custom-integration/api/ci-cd/circleci-workflow/examples.md b/docs/build-your-software-catalog/custom-integration/api/ci-cd/circleci-workflow/examples.md index b9b452e33..032928885 100644 --- a/docs/build-your-software-catalog/custom-integration/api/ci-cd/circleci-workflow/examples.md +++ b/docs/build-your-software-catalog/custom-integration/api/ci-cd/circleci-workflow/examples.md @@ -1,5 +1,6 @@ import ExampleImageBlueprint from "../\_ci_example_image_blueprint.mdx"; import ExampleCiJobBlueprint from "../\_ci_example_ci_job_blueprint.mdx"; +import PortApiRegionTip from "/docs/generalTemplates/_port_region_parameter_explanation_template.md" # Examples @@ -54,6 +55,8 @@ entity_json = { create_response = requests.post(f'{API_URL}/blueprints/{blueprint_id}/entities?upsert=true&create_missing_related_entities=true', json=entity_json, headers=headers) ``` + + :::note Please notice that you have also created the `image` relation, and added a related image entity called `example-image`. This is the artifact of the ciJob, and you will update it later. The creation was done using the `create_missing_related_entities=true` flag in the API url, allowing the relation to be created even though the `example-image` entity doesn't exist yet. diff --git a/docs/build-your-software-catalog/custom-integration/api/ci-cd/github-workflow/examples.md b/docs/build-your-software-catalog/custom-integration/api/ci-cd/github-workflow/examples.md index 54bfc8558..e7e1583d3 100644 --- a/docs/build-your-software-catalog/custom-integration/api/ci-cd/github-workflow/examples.md +++ b/docs/build-your-software-catalog/custom-integration/api/ci-cd/github-workflow/examples.md @@ -5,6 +5,7 @@ sidebar_position: 1 import ExampleImageBlueprint from "../\_ci_example_image_blueprint.mdx"; import ExampleCiJobBlueprint from "../\_ci_example_ci_job_blueprint.mdx"; import ExampleCiAction from "../\_ci_example_action.mdx"; +import PortApiRegionTip from "/docs/generalTemplates/_port_region_parameter_explanation_template.md" # Examples @@ -23,6 +24,7 @@ After creating the blueprints, you can add the following snippet to your GitHub with: clientId: ${{ secrets.CLIENT_ID }} clientSecret: ${{ secrets.CLIENT_SECRET }} + baseUrl: https://api.getport.io operation: UPSERT identifier: new-cijob-run icon: GithubActions @@ -36,6 +38,8 @@ After creating the blueprints, you can add the following snippet to your GitHub } ``` + + :::tip For security reasons it is recommended to save the `CLIENT_ID` and `CLIENT_SECRET` as [GitHub Secrets](https://docs.github.com/en/actions/security-guides/encrypted-secrets), and access them as shown in the example above. ::: @@ -57,6 +61,7 @@ get-entity: with: clientId: ${{ secrets.CLIENT_ID }} clientSecret: ${{ secrets.CLIENT_SECRET }} + baseUrl: https://api.getport.io operation: GET identifier: new-cijob-run blueprint: ciJob @@ -68,6 +73,8 @@ use-entity: - run: echo '${{needs.get-entity.outputs.entity}}' | jq .properties.triggeredBy ``` + + The first job `get-entity`, uses the GitHub action to get the `new-cijob-run` entity. The second job `use-entity`, uses the output from the first job, and prints the `triggeredBy` property of the entity. @@ -82,6 +89,7 @@ Add the following snippet to your GitHub workflow `yml` file: with: clientId: ${{ secrets.CLIENT_ID }} clientSecret: ${{ secrets.CLIENT_SECRET }} + baseUrl: https://api.getport.io operation: UPSERT identifier: example-image title: Example Image @@ -100,6 +108,8 @@ Add the following snippet to your GitHub workflow `yml` file: } ``` + + All that’s left is to map the new `image` entity to the `ciJob` , thus making it possible to know which image was created by the ciJob. ```yaml @@ -107,6 +117,7 @@ All that’s left is to map the new `image` entity to the `ciJob` , thus making with: clientId: ${{ secrets.CLIENT_ID }} clientSecret: ${{ secrets.CLIENT_SECRET }} + baseUrl: https://api.getport.io operation: UPSERT identifier: new-cijob-run icon: GithubActions @@ -142,6 +153,7 @@ To update the new self-service action run, add the following snippet to your Git with: clientId: ${{ secrets.CLIENT_ID }} clientSecret: ${{ secrets.CLIENT_SECRET }} + baseUrl: https://api.getport.io operation: PATCH_RUN runId: ${{ env.PORT_RUN_ID }} icon: GithubActions @@ -149,6 +161,8 @@ To update the new self-service action run, add the following snippet to your Git logMessage: "Deployment completed successfully" ``` + + :::tip The example above shows how to update the status and add a new log message to the action run, but it is also possible to update just a specific field of an action run. @@ -157,4 +171,4 @@ For example it is possible to trigger the GitHub action and just update the log, Note that once a Port action run has a status, it can no longer be updated and changes made to the catalog can no longer be tied to that action, so it is considered a best practice to update the status of an action only when it has finished performing all of its catalog changes and logic ::: -That's it! The action status and logs are updated in Port. +That's it! The action status and logs are updated in Port. \ No newline at end of file diff --git a/docs/build-your-software-catalog/custom-integration/api/ci-cd/github-workflow/github-workflow.md b/docs/build-your-software-catalog/custom-integration/api/ci-cd/github-workflow/github-workflow.md index b9cdc22c3..2c9f4bd5d 100644 --- a/docs/build-your-software-catalog/custom-integration/api/ci-cd/github-workflow/github-workflow.md +++ b/docs/build-your-software-catalog/custom-integration/api/ci-cd/github-workflow/github-workflow.md @@ -4,6 +4,7 @@ sidebar_position: 1 import Tabs from "@theme/Tabs" import TabItem from "@theme/TabItem" +import PortApiRegionTip from "/docs/generalTemplates/_port_region_parameter_explanation_template.md" # GitHub Workflow @@ -69,6 +70,7 @@ Port's GitHub action supports the following methods: with: clientId: ${{ secrets.CLIENT_ID }} clientSecret: ${{ secrets.CLIENT_SECRET }} + baseUrl: https://api.getport.io # highlight-next-line operation: UPSERT identifier: myEntity @@ -94,6 +96,7 @@ Port's GitHub action supports the following methods: with: clientId: ${{ secrets.CLIENT_ID }} clientSecret: ${{ secrets.CLIENT_SECRET }} + baseUrl: https://api.getport.io # highlight-next-line operation: BULK_UPSERT runId: myRunId @@ -138,6 +141,7 @@ get-entity: with: clientId: ${{ secrets.CLIENT_ID }} clientSecret: ${{ secrets.CLIENT_SECRET }} + baseUrl: https://api.getport.io # highlight-next-line operation: GET identifier: myEntity @@ -164,6 +168,7 @@ search-entities: with: clientId: ${{ secrets.CLIENT_ID }} clientSecret: ${{ secrets.CLIENT_SECRET }} + baseUrl: https://api.getport.io # highlight-next-line operation: SEARCH query: |- @@ -193,6 +198,7 @@ use-entities: with: clientId: ${{ secrets.CLIENT_ID }} clientSecret: ${{ secrets.CLIENT_SECRET }} + baseUrl: https://api.getport.io # highlight-next-line operation: DELETE identifier: myEntity @@ -208,6 +214,7 @@ use-entities: with: clientId: ${{ secrets.CLIENT_ID }} clientSecret: ${{ secrets.CLIENT_SECRET }} + baseUrl: https://api.getport.io operation: PATCH_RUN runId: myRunId status: "SUCCESS" @@ -225,6 +232,7 @@ use-entities: with: clientId: ${{ secrets.CLIENT_ID }} clientSecret: ${{ secrets.CLIENT_SECRET }} + baseUrl: https://api.getport.io # highlight-next-line operation: CREATE_RUN icon: GithubActions @@ -242,6 +250,8 @@ use-entities: + + ## Examples Refer to the [examples](./examples.md) page for practical examples of Port's GitHub action. diff --git a/docs/build-your-software-catalog/custom-integration/api/ci-cd/gitlab-pipelines/examples.md b/docs/build-your-software-catalog/custom-integration/api/ci-cd/gitlab-pipelines/examples.md index fd86e451c..c143a4a8c 100644 --- a/docs/build-your-software-catalog/custom-integration/api/ci-cd/gitlab-pipelines/examples.md +++ b/docs/build-your-software-catalog/custom-integration/api/ci-cd/gitlab-pipelines/examples.md @@ -1,5 +1,6 @@ import ExampleImageBlueprint from "../\_ci_example_image_blueprint.mdx"; import ExampleCiJobBlueprint from "../\_ci_example_ci_job_blueprint.mdx"; +import PortApiRegionTip from "/docs/generalTemplates/_port_region_parameter_explanation_template.md" # Examples @@ -54,6 +55,8 @@ entity_json = { create_response = requests.post(f'{API_URL}/blueprints/{blueprint_id}/entities?upsert=true&create_missing_related_entities=true', json=entity_json, headers=headers) ``` + + :::note Please notice that you have also created the `image` relation, and added a related image entity called `example-image`. This is the artifact of the ciJob, and you will update it later. The creation was done using the `create_missing_related_entities=true` flag in the API url, allowing the relation to be created even though the `example-image` entity doesn't exist yet. diff --git a/docs/build-your-software-catalog/custom-integration/api/ci-cd/gitlab-pipelines/gitlab-pipelines.md b/docs/build-your-software-catalog/custom-integration/api/ci-cd/gitlab-pipelines/gitlab-pipelines.md index 0a9bdb469..d197c8052 100644 --- a/docs/build-your-software-catalog/custom-integration/api/ci-cd/gitlab-pipelines/gitlab-pipelines.md +++ b/docs/build-your-software-catalog/custom-integration/api/ci-cd/gitlab-pipelines/gitlab-pipelines.md @@ -4,6 +4,7 @@ sidebar_position: 1 import Tabs from "@theme/Tabs" import TabItem from "@theme/TabItem" +import PortApiRegionTip from "/docs/generalTemplates/_port_region_parameter_explanation_template.md" # Gitlab CI Pipelines @@ -171,6 +172,8 @@ print(json.dumps(get_response.json(), indent=4)) + + ## Examples Refer to the [examples](./examples.md) page for practical examples of working with Port using Gitlab CI Pipelines. diff --git a/docs/build-your-software-catalog/custom-integration/api/ci-cd/jenkins-deployment/examples.md b/docs/build-your-software-catalog/custom-integration/api/ci-cd/jenkins-deployment/examples.md index 3efdcfb21..e384024c3 100644 --- a/docs/build-your-software-catalog/custom-integration/api/ci-cd/jenkins-deployment/examples.md +++ b/docs/build-your-software-catalog/custom-integration/api/ci-cd/jenkins-deployment/examples.md @@ -1,5 +1,6 @@ import ExampleImageBlueprint from "../\_ci_example_image_blueprint.mdx"; import ExampleCiJobBlueprint from "../\_ci_example_ci_job_blueprint.mdx"; +import PortApiRegionTip from "/docs/generalTemplates/_port_region_parameter_explanation_template.md" # Examples @@ -53,6 +54,8 @@ wrap([$class: 'BuildUser']) { ] ``` + + :::note Please notice that you have also created the `image` relation, and added a related image entity called `example-image`. This is the artifact of the ciJob, and you will update it later. The creation was done using the `create_missing_related_entities=true` flag in the API url, allowing the relation to be created even though the `example-image` entity doesn't exist yet. diff --git a/docs/build-your-software-catalog/custom-integration/api/ci-cd/jenkins-deployment/jenkins-deployment.md b/docs/build-your-software-catalog/custom-integration/api/ci-cd/jenkins-deployment/jenkins-deployment.md index 944cd499e..a58cedef8 100644 --- a/docs/build-your-software-catalog/custom-integration/api/ci-cd/jenkins-deployment/jenkins-deployment.md +++ b/docs/build-your-software-catalog/custom-integration/api/ci-cd/jenkins-deployment/jenkins-deployment.md @@ -4,6 +4,7 @@ sidebar_position: 1 import Tabs from "@theme/Tabs" import TabItem from "@theme/TabItem" +import PortApiRegionTip from "/docs/generalTemplates/_port_region_parameter_explanation_template.md" # Jenkins Deployment @@ -177,6 +178,8 @@ import groovy.json.JsonSlurperClassic + + ## Examples Refer to the [examples](./examples.md) page for practical examples for using Port with Jenkins. diff --git a/docs/build-your-software-catalog/custom-integration/iac/pulumi/_pulumi_provider_base.mdx b/docs/build-your-software-catalog/custom-integration/iac/pulumi/_pulumi_provider_base.mdx index 6531aaf23..0839efbee 100644 --- a/docs/build-your-software-catalog/custom-integration/iac/pulumi/_pulumi_provider_base.mdx +++ b/docs/build-your-software-catalog/custom-integration/iac/pulumi/_pulumi_provider_base.mdx @@ -1,6 +1,7 @@ import Tabs from "@theme/Tabs"; import TabItem from "@theme/TabItem"; import FindCredentials from "/docs/build-your-software-catalog/custom-integration/api/_template_docs/_find_credentials_collapsed.mdx"; +import PortApiRegionTip from "/docs/generalTemplates/_port_region_parameter_explanation_template.md" :::note Prerequisites To install and use Port's Pulumi provider, you will need to install the [Pulumi CLI](https://www.pulumi.com/docs/get-started/install/) @@ -58,4 +59,7 @@ Please make sure to configure the clientId and secret to Port using the commands ```bash showLineNumbers pulumi config set port:clientId pulumi config set port:secret --secret +pulumi config set port:baseUrl ``` + + \ No newline at end of file diff --git a/docs/build-your-software-catalog/custom-integration/iac/terraform/_terraform_provider_base.mdx b/docs/build-your-software-catalog/custom-integration/iac/terraform/_terraform_provider_base.mdx index 3941e00d6..94bb4933f 100644 --- a/docs/build-your-software-catalog/custom-integration/iac/terraform/_terraform_provider_base.mdx +++ b/docs/build-your-software-catalog/custom-integration/iac/terraform/_terraform_provider_base.mdx @@ -1,3 +1,5 @@ +import PortApiRegionTip from "/docs/generalTemplates/_port_region_parameter_explanation_template.md" + :::note Prerequisites To install and use Port's Terraform provider, you will need to install the [Terraform CLI](https://learn.hashicorp.com/tutorials/terraform/install-cli) ::: @@ -17,9 +19,12 @@ terraform { provider "port" { client_id = "{YOUR CLIENT ID}" # or set the environment variable PORT_CLIENT_ID secret = "{YOUR CLIENT SECRET}" # or set the environment variable PORT_CLIENT_SECRET + base_url = "https://api.getport.io" } ``` + + Then run the following command to install the provider in your Terraform workspace: ```shell showLineNumbers diff --git a/docs/build-your-software-catalog/custom-integration/iac/terraform/examples/create-dev-env.md b/docs/build-your-software-catalog/custom-integration/iac/terraform/examples/create-dev-env.md index 4c2de9498..d36b47e17 100644 --- a/docs/build-your-software-catalog/custom-integration/iac/terraform/examples/create-dev-env.md +++ b/docs/build-your-software-catalog/custom-integration/iac/terraform/examples/create-dev-env.md @@ -6,6 +6,7 @@ description: Manage a developer environment and reflect it in Port import Tabs from "@theme/Tabs"; import TabItem from "@theme/TabItem"; +import PortApiRegionTip from "/docs/generalTemplates/_port_region_parameter_explanation_template.md" # Manage a Developer Environment Lifecycle @@ -83,6 +84,7 @@ terraform { provider "port" { client_id = "YOUR_CLIENT_ID" # or set the environment variable PORT_CLIENT_ID secret = "YOUR_CLIENT_SECRET" # or set the environment variable PORT_CLIENT_SECRET + base_url = "https://api.getport.io" } resource "port_blueprint" "developer_environment" { @@ -118,6 +120,8 @@ resource "port_blueprint" "developer_environment" { } ``` + + @@ -146,6 +150,7 @@ provider "aws" { provider "port" { client_id = "YOUR_CLIENT_ID" # or set the environment variable PORT_CLIENT_ID secret = "YOUR_CLIENT_SECRET" # or set the environment variable PORT_CLIENT_SECRET + base_url = "https://api.getport.io" } resource "aws_s3_bucket" "port_terraform_example_dev_env_bucket" { @@ -239,6 +244,8 @@ resource "port_entity" "dev_env" { ``` + +
    To use this example yourself, simply replace the placeholders for `access_key`, `secret_key`, `client_id` and `secret` and then run the following commands to setup your new backend, create the new infrastructure and update the software catalog: @@ -277,9 +284,12 @@ provider "aws" { provider "port" { client_id = "YOUR_CLIENT_ID" # or set the environment variable PORT_CLIENT_ID secret = "YOUR_CLIENT_SECRET" # or set the environment variable PORT_CLIENT_SECRET + base_url = "https://api.getport.io" } ``` + + ## Defining the AWS resources This part includes defining the following AWS resources: diff --git a/docs/build-your-software-catalog/custom-integration/iac/terraform/examples/s3-bucket.md b/docs/build-your-software-catalog/custom-integration/iac/terraform/examples/s3-bucket.md index 8810ca81d..09874c1e4 100644 --- a/docs/build-your-software-catalog/custom-integration/iac/terraform/examples/s3-bucket.md +++ b/docs/build-your-software-catalog/custom-integration/iac/terraform/examples/s3-bucket.md @@ -6,6 +6,7 @@ description: Manage an S3 bucket lifecycle and reflect it in Port import Tabs from "@theme/Tabs"; import TabItem from "@theme/TabItem"; +import PortApiRegionTip from "/docs/generalTemplates/_port_region_parameter_explanation_template.md" # Manage an S3 Bucket Lifecycle @@ -60,6 +61,7 @@ terraform { provider "port" { client_id = "YOUR_CLIENT_ID" # or set the environment variable PORT_CLIENT_ID secret = "YOUR_CLIENT_SECRET" # or set the environment variable PORT_CLIENT_SECRET + base_url = "https://api.getport.io" } resource "port_blueprint" "s3_bucket" { @@ -78,6 +80,8 @@ resource "port_blueprint" "s3_bucket" { } ``` + +
    @@ -106,6 +110,7 @@ provider "aws" { provider "port" { client_id = "YOUR_CLIENT_ID" # or set the environment variable PORT_CLIENT_ID secret = "YOUR_CLIENT_SECRET" # or set the environment variable PORT_CLIENT_SECRET + base_url = "https://api.getport.io" } resource "aws_s3_bucket" "port-terraform-example-bucket" { @@ -134,6 +139,8 @@ resource "port_entity" "s3_bucket" { } ``` + + To use this example yourself, simply replace the placeholders for `access_key`, `secret_key`, `client_id` and `secret` and then run the following commands to setup your new backend, create the new infrastructure and update the software catalog: @@ -172,9 +179,12 @@ provider "aws" { provider "port" { client_id = "YOUR_CLIENT_ID" # or set the environment variable PORT_CLIENT_ID secret = "YOUR_CLIENT_SECRET" # or set the environment variable PORT_CLIENT_SECRET + base_url = "https://api.getport.io" } ``` + + ## Defining the S3 bucket and bucket ACLs This part includes defining the S3 bucket and attaching an ACL policy: diff --git a/docs/build-your-software-catalog/custom-integration/webhook/webhook.md b/docs/build-your-software-catalog/custom-integration/webhook/webhook.md index aecda5ed6..09f3b171f 100644 --- a/docs/build-your-software-catalog/custom-integration/webhook/webhook.md +++ b/docs/build-your-software-catalog/custom-integration/webhook/webhook.md @@ -6,6 +6,7 @@ import Image from "@theme/IdealImage"; import WebhookArchitecture from '/static/img/build-your-software-catalog/sync-data-to-catalog/webhook/webhook-architecture.png'; import ExampleGithubPRWebhook from './examples/resources/github/\_example_github_pr_configuration.mdx'; import PortTooltip from "/src/components/tooltip/tooltip.jsx" +import PortApiRegionTip from "/docs/generalTemplates/_port_region_parameter_explanation_template.md" By using Port's generic webhook integration you can ingest data into the software catalog from any source or service that provides outgoing webhooks, even if Port doesn't provide a native integration for that source. @@ -627,6 +628,8 @@ After creating and configuring your custom webhook, go to your 3rd party provide - For content type, select `application/json` (if applicable); - In case the `secret` value is generated by your 3rd party, be sure to go back and [update](?operation=update#configuring-webhook-endpoints) your [security configuration](#security-configuration) with the secret value. + + ## Examples Refer to the [examples](./examples/examples.md) page for practical configurations and their corresponding blueprint definitions. diff --git a/docs/build-your-software-catalog/customize-integrations/configure-data-model/Iac/terraform-managed-blueprint.md b/docs/build-your-software-catalog/customize-integrations/configure-data-model/Iac/terraform-managed-blueprint.md index e351529a1..62af26cf4 100644 --- a/docs/build-your-software-catalog/customize-integrations/configure-data-model/Iac/terraform-managed-blueprint.md +++ b/docs/build-your-software-catalog/customize-integrations/configure-data-model/Iac/terraform-managed-blueprint.md @@ -4,6 +4,8 @@ title: Terraform description: Comprehensive blueprint with properties, relations and mirror properties --- +import PortApiRegionTip from "/docs/generalTemplates/_port_region_parameter_explanation_template.md" + # Terraform-Managed Blueprint Example This example includes a complete [blueprint](/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/setup-blueprint.md) resource definition in Terraform, which includes: @@ -29,6 +31,7 @@ terraform { provider "port" { client_id = "PORT_CLIENT_ID" # or set the env var PORT_CLIENT_ID secret = "PORT_CLIENT_SECRET" # or set the env var PORT_CLIENT_SECRET + base_url = "https://api.getport.io" } resource "port_blueprint" "myBlueprint" { @@ -159,3 +162,5 @@ resource "port_blueprint" "other" { } } ``` + + \ No newline at end of file diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/apm-alerting/_datadog_one_time_docker_parameters.mdx b/docs/build-your-software-catalog/sync-data-to-catalog/apm-alerting/_datadog_one_time_docker_parameters.mdx index 58d6aaf7d..e2493e8ab 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/apm-alerting/_datadog_one_time_docker_parameters.mdx +++ b/docs/build-your-software-catalog/sync-data-to-catalog/apm-alerting/_datadog_one_time_docker_parameters.mdx @@ -6,5 +6,6 @@ | `OCEAN__INTEGRATION__CONFIG__DATADOG_WEBHOOK_TOKEN` | Datadog webhook token. Learn [more](https://docs.datadoghq.com/integrations/webhooks/#setup) | | ❌ | | `OCEAN__PORT__CLIENT_ID` | Your Port client ([How to get the credentials](https://docs.getport.io/build-your-software-catalog/custom-integration/api/#find-your-port-credentials)) id | | ✅ | | `OCEAN__PORT__CLIENT_SECRET` | Your Port client ([How to get the credentials](https://docs.getport.io/build-your-software-catalog/custom-integration/api/#find-your-port-credentials)) secret | | ✅ | +| `OCEAN__PORT__BASE_URL` | Your Port API URL - `https://api.getport.io` for EU, `https://api.us.getport.io` for US | | ✅ | | `OCEAN__INITIALIZE_PORT_RESOURCES` | Default true, When set to true the integration will create default blueprints and the port App config Mapping. Read more about [initializePortResources](https://ocean.getport.io/develop-an-integration/integration-configuration/#initializeportresources---initialize-port-resources) | | ❌ | | `OCEAN__INTEGRATION__IDENTIFIER` | The identifier of the integration that will be installed | | ❌ | diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/apm-alerting/_newrelic-docker-parameters.mdx b/docs/build-your-software-catalog/sync-data-to-catalog/apm-alerting/_newrelic-docker-parameters.mdx index b206f6b77..3a11cce26 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/apm-alerting/_newrelic-docker-parameters.mdx +++ b/docs/build-your-software-catalog/sync-data-to-catalog/apm-alerting/_newrelic-docker-parameters.mdx @@ -6,3 +6,4 @@ | `OCEAN__INTEGRATION__IDENTIFIER` | Change the identifier to describe your integration, if not set will use the default one | ❌ | | `OCEAN__PORT__CLIENT_ID` | Your port client id | ✅ | | `OCEAN__PORT__CLIENT_SECRET` | Your port client secret | ✅ | +| `OCEAN__PORT__BASE_URL` | Your Port API URL - `https://api.getport.io` for EU, `https://api.us.getport.io` for US | ✅ | diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/apm-alerting/_sentry-docker-parameters.mdx b/docs/build-your-software-catalog/sync-data-to-catalog/apm-alerting/_sentry-docker-parameters.mdx index ab14fc00e..d1855b83a 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/apm-alerting/_sentry-docker-parameters.mdx +++ b/docs/build-your-software-catalog/sync-data-to-catalog/apm-alerting/_sentry-docker-parameters.mdx @@ -7,3 +7,4 @@ | `OCEAN__INTEGRATION__IDENTIFIER` | Change the identifier to describe your integration, if not set will use the default one | ❌ | | `OCEAN__PORT__CLIENT_ID` | Your port client id | ✅ | | `OCEAN__PORT__CLIENT_SECRET` | Your port client secret | ✅ | +| `OCEAN__PORT__BASE_URL` | Your Port API URL - `https://api.getport.io` for EU, `https://api.us.getport.io` for US | ✅ | diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/apm-alerting/datadog.md b/docs/build-your-software-catalog/sync-data-to-catalog/apm-alerting/datadog.md index 0926676a1..7115f3b79 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/apm-alerting/datadog.md +++ b/docs/build-your-software-catalog/sync-data-to-catalog/apm-alerting/datadog.md @@ -6,6 +6,7 @@ import AzurePremise from "/docs/build-your-software-catalog/sync-data-to-catalog import HelmParameters from "/docs/build-your-software-catalog/sync-data-to-catalog/templates/\_ocean-advanced-parameters-helm.mdx" import DockerParameters from "./\_datadog_one_time_docker_parameters.mdx" import AdvancedConfig from '/docs/generalTemplates/\_ocean_advanced_configuration_note.md' +import PortApiRegionTip from "/docs/generalTemplates/_port_region_parameter_explanation_template.md" # Datadog @@ -38,6 +39,7 @@ Set them as you wish in the script below, then copy it and run it in your termin | ---------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------- | -------- | | `port.clientId` | Your port [client id](https://docs.getport.io/build-your-software-catalog/custom-integration/api/#find-your-port-credentials) | | ✅ | | `port.clientSecret` | Your port [client secret](https://docs.getport.io/build-your-software-catalog/custom-integration/api/#find-your-port-credentials) | | ✅ | +| `port.baseUrl` | Your Port API URL - `https://api.getport.io` for EU, `https://api.us.getport.io` for US | | ✅ | | `integration.secrets.datadogApiKey` | Datadog API key, docs can be found [here](https://docs.datadoghq.com/account_management/api-app-keys/#add-an-api-key-or-client-token) | | ✅ | | `integration.secrets.datadogApplicationKey` | Datadog application key, docs can be found [here](https://docs.datadoghq.com/account_management/api-app-keys/#add-application-keys) | | ✅ | | `integration.config.datadogBaseUrl` | The base Datadog host. Defaults to https://api.datadoghq.com. If in EU, use https://api.datadoghq.eu | | ✅ | @@ -57,6 +59,7 @@ helm repo add --force-update port-labs https://port-labs.github.io/helm-charts helm upgrade --install my-datadog-integration port-labs/port-ocean \ --set port.clientId="PORT_CLIENT_ID" \ --set port.clientSecret="PORT_CLIENT_SECRET" \ + --set port.baseUrl="https://api.getport.io" \ --set initializePortResources=true \ --set scheduledResyncInterval=60 \ --set integration.identifier="my-datadog-integration" \ @@ -67,6 +70,8 @@ helm upgrade --install my-datadog-integration port-labs/port-ocean \ --set integration.secrets.datadogApplicationKey="" ``` + + To install the integration using ArgoCD, follow these steps: @@ -130,6 +135,8 @@ spec: value: YOUR_PORT_CLIENT_ID - name: port.clientSecret value: YOUR_PORT_CLIENT_SECRET + - name: port.baseUrl + value: https://api.getport.io - repoURL: YOUR_GIT_REPO_URL // highlight-end targetRevision: main @@ -142,10 +149,12 @@ spec: - CreateNamespace=true ``` + +
    -3. Apply your application manifest with `kubectl`: +1. Apply your application manifest with `kubectl`: ```bash kubectl apply -f my-ocean-datadog-integration.yaml @@ -172,6 +181,7 @@ Make sure to configure the following [Github Secrets](https://docs.github.com/en |----------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------|----------| | `port_client_id` | Your Port client ([How to get the credentials](https://docs.getport.io/build-your-software-catalog/custom-integration/api/#find-your-port-credentials)) id | | ✅ | | `port_client_secret` | Your Port client ([How to get the credentials](https://docs.getport.io/build-your-software-catalog/custom-integration/api/#find-your-port-credentials)) secret | | ✅ | +| `port_base_url` | Your Port API URL - `https://api.getport.io` for EU, `https://api.us.getport.io` for US | | ✅ | | `config -> datadog_base_url` | US: https://api.datadoghq.com EU: https://api.datadoghq.eu | | ✅ | | `config -> datadog_api_key` | Datadog API key, docs can be found [here](https://docs.datadoghq.com/account_management/api-app-keys/#add-an-api-key-or-client-token) | | ✅ | | `config -> datadog_application_key` | Datadog application key, docs can be found [here](https://docs.datadoghq.com/account_management/api-app-keys/#add-application-keys) | | ✅ | @@ -209,6 +219,7 @@ jobs: type: 'datadog' port_client_id: ${{ secrets.OCEAN__PORT__CLIENT_ID }} port_client_secret: ${{ secrets.OCEAN__PORT__CLIENT_SECRET }} + port_base_url: https://api.getport.io config: | datadog_base_url: https://api.datadoghq.com datadog_api_key: ${{ secrets.DATADOG_API_KEY }} @@ -263,6 +274,7 @@ pipeline { -e OCEAN__INTEGRATION__CONFIG__DATADOG_BASE_URL=$OCEAN__INTEGRATION__CONFIG__DATADOG_BASE_URL \ -e OCEAN__PORT__CLIENT_ID=$OCEAN__PORT__CLIENT_ID \ -e OCEAN__PORT__CLIENT_SECRET=$OCEAN__PORT__CLIENT_SECRET \ + -e OCEAN__PORT__BASE_URL='https://api.getport.io' \ $image_name exit $? @@ -313,6 +325,7 @@ steps: -e OCEAN__INTEGRATION__CONFIG__DATADOG_BASE_URL=$(OCEAN__INTEGRATION__CONFIG__DATADOG_BASE_URL) \ -e OCEAN__PORT__CLIENT_ID=$(OCEAN__PORT__CLIENT_ID) \ -e OCEAN__PORT__CLIENT_SECRET=$(OCEAN__PORT__CLIENT_SECRET) \ + -e OCEAN__PORT__BASE_URL='https://api.getport.io' \ $image_name exit $? @@ -366,6 +379,7 @@ ingest_data: -e OCEAN__INTEGRATION__CONFIG__DATADOG_BASE_URL=$OCEAN__INTEGRATION__CONFIG__DATADOG_BASE_URL \ -e OCEAN__PORT__CLIENT_ID=$OCEAN__PORT__CLIENT_ID \ -e OCEAN__PORT__CLIENT_SECRET=$OCEAN__PORT__CLIENT_SECRET \ + -e OCEAN__PORT__BASE_URL='https://api.getport.io' \ $IMAGE_NAME rules: # Run only when changes are made to the main branch @@ -376,6 +390,8 @@ ingest_data: + +
    diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/apm-alerting/dynatrace.md b/docs/build-your-software-catalog/sync-data-to-catalog/apm-alerting/dynatrace.md index cd1fe915a..971c587d3 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/apm-alerting/dynatrace.md +++ b/docs/build-your-software-catalog/sync-data-to-catalog/apm-alerting/dynatrace.md @@ -1,6 +1,7 @@ import Tabs from "@theme/Tabs" import TabItem from "@theme/TabItem" import AzurePremise from "../templates/\_ocean_azure_premise.mdx" +import PortApiRegionTip from "/docs/generalTemplates/_port_region_parameter_explanation_template.md" # Dynatrace @@ -28,6 +29,7 @@ Set them as you wish in the script below, then copy it and run it in your termin | ------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | -------- | | `port.clientId` | Your port [client id](https://docs.getport.io/build-your-software-catalog/custom-integration/api/#find-your-port-credentials) | ✅ | | `port.clientSecret` | Your port [client secret](https://docs.getport.io/build-your-software-catalog/custom-integration/api/#find-your-port-credentials) | ✅ | +| `port.baseUrl` | Your Port API URL - `https://api.getport.io` for EU, `https://api.us.getport.io` for US | ✅ | | `integration.identifier` | Change the identifier to describe your integration | ✅ | | `integration.type` | The integration type | ✅ | | `integration.eventListener.type` | The event listener type | ✅ | @@ -48,6 +50,7 @@ helm repo add --force-update port-labs https://port-labs.github.io/helm-charts helm upgrade --install my-dynatrace-integration port-labs/port-ocean \ --set port.clientId="CLIENT_ID" \ --set port.clientSecret="CLIENT_SECRET" \ + --set port.baseUrl="https://api.getport.io" \ --set initializePortResources=true \ --set scheduledResyncInterval=60 \ --set integration.identifier="my-dynatrace-integration" \ @@ -56,6 +59,8 @@ helm upgrade --install my-dynatrace-integration port-labs/port-ocean \ --set integration.secrets.dynatraceApiKey="" \ --set integration.config.dynatraceHostUrl="" ``` + + To install the integration using ArgoCD, follow these steps: @@ -117,6 +122,8 @@ spec: value: YOUR_PORT_CLIENT_ID - name: port.clientSecret value: YOUR_PORT_CLIENT_SECRET + - name: port.baseUrl + value: https://api.getport.io - repoURL: YOUR_GIT_REPO_URL // highlight-end targetRevision: main @@ -129,10 +136,12 @@ spec: - CreateNamespace=true ``` + +
    -3. Apply your application manifest with `kubectl`: +1. Apply your application manifest with `kubectl`: ```bash kubectl apply -f my-ocean-dynatrace-integration.yaml ``` @@ -160,6 +169,7 @@ Make sure to configure the following [Github Secrets](https://docs.github.com/en | `OCEAN__INTEGRATION__IDENTIFIER` | Change the identifier to describe your integration, if not set will use the default one | ❌ | | `OCEAN__PORT__CLIENT_ID` | Your port client id | ✅ | | `OCEAN__PORT__CLIENT_SECRET` | Your port client secret | ✅ | +| `OCEAN__PORT__BASE_URL` | Your Port API URL - `https://api.getport.io` for EU, `https://api.us.getport.io` for US | ✅ |
    @@ -184,6 +194,7 @@ jobs: type: 'dynatrace' port_client_id: ${{ secrets.OCEAN__PORT__CLIENT_ID }} port_client_secret: ${{ secrets.OCEAN__PORT__CLIENT_SECRET }} + port_base_url: https://api.getport.io config: | dynatrace_api_key: ${{ secrets.OCEAN__INTEGRATION__CONFIG__DYNATRACE_API_KEY }} dynatrace_host_url: ${{ secrets.OCEAN__INTEGRATION__CONFIG__DYNATRACE_HOST_URL }} @@ -212,6 +223,7 @@ of `Secret Text` type: | `OCEAN__INTEGRATION__IDENTIFIER` | Change the identifier to describe your integration, if not set will use the default one | ❌ | | `OCEAN__PORT__CLIENT_ID` | Your port client id | ✅ | | `OCEAN__PORT__CLIENT_SECRET` | Your port client secret | ✅ | +| `OCEAN__PORT__BASE_URL` | Your Port API URL - `https://api.getport.io` for EU, `https://api.us.getport.io` for US | ✅ |
    @@ -244,6 +256,7 @@ pipeline { -e OCEAN__INTEGRATION__CONFIG__DYNATRACE_HOST_URL=$OCEAN__INTEGRATION__CONFIG__DYNATRACE_HOST_URL \ -e OCEAN__PORT__CLIENT_ID=$OCEAN__PORT__CLIENT_ID \ -e OCEAN__PORT__CLIENT_SECRET=$OCEAN__PORT__CLIENT_SECRET \ + -e OCEAN__PORT__BASE_URL='https://api.getport.io' \ $image_name exit $? @@ -269,6 +282,7 @@ pipeline { | `OCEAN__INTEGRATION__IDENTIFIER` | Change the identifier to describe your integration, if not set will use the default one | ❌ | | `OCEAN__PORT__CLIENT_ID` | Your port client id | ✅ | | `OCEAN__PORT__CLIENT_SECRET` | Your port client secret | ✅ | +| `OCEAN__PORT__BASE_URL` | Your Port API URL - `https://api.getport.io` for EU, `https://api.us.getport.io` for US | ✅ |
    @@ -301,6 +315,7 @@ steps: -e OCEAN__INTEGRATION__CONFIG__DYNATRACE_HOST_URL=$(OCEAN__INTEGRATION__CONFIG__DYNATRACE_HOST_URL) \ -e OCEAN__PORT__CLIENT_ID=$(OCEAN__PORT__CLIENT_ID) \ -e OCEAN__PORT__CLIENT_SECRET=$(OCEAN__PORT__CLIENT_SECRET) \ + -e OCEAN__PORT__BASE_URL='https://api.getport.io' \ $image_name exit $? @@ -328,8 +343,7 @@ Make sure to [configure the following GitLab variables](https://docs.gitlab.com/ | `OCEAN__INTEGRATION__IDENTIFIER` | Change the identifier to describe your integration, if not set will use the default one | ❌ | | `OCEAN__PORT__CLIENT_ID` | Your port client id | ✅ | | `OCEAN__PORT__CLIENT_SECRET` | Your port client secret | ✅ | - - +| `OCEAN__PORT__BASE_URL` | Your Port API URL - `https://api.getport.io` for EU, `https://api.us.getport.io` for US | ✅ |
    @@ -365,6 +379,7 @@ ingest_data: -e OCEAN__INTEGRATION__CONFIG__DYNATRACE_HOST_URL=$OCEAN__INTEGRATION__CONFIG__DYNATRACE_HOST_URL \ -e OCEAN__PORT__CLIENT_ID=$OCEAN__PORT__CLIENT_ID \ -e OCEAN__PORT__CLIENT_SECRET=$OCEAN__PORT__CLIENT_SECRET \ + -e OCEAN__PORT__BASE_URL='https://api.getport.io' \ $IMAGE_NAME rules: # Run only when changes are made to the main branch @@ -374,6 +389,8 @@ ingest_data:
    + + diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/apm-alerting/newrelic.md b/docs/build-your-software-catalog/sync-data-to-catalog/apm-alerting/newrelic.md index 1ddbe6c51..ed1f3f880 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/apm-alerting/newrelic.md +++ b/docs/build-your-software-catalog/sync-data-to-catalog/apm-alerting/newrelic.md @@ -4,6 +4,7 @@ import Prerequisites from "../templates/\_ocean_helm_prerequisites_block.mdx" import DockerParameters from "./\_newrelic-docker-parameters.mdx" import AzurePremise from "../templates/\_ocean_azure_premise.mdx" import AdvancedConfig from '../../../generalTemplates/_ocean_advanced_configuration_note.md' +import PortApiRegionTip from "/docs/generalTemplates/_port_region_parameter_explanation_template.md" # New Relic @@ -38,6 +39,7 @@ Set them as you wish in the script below, then copy it and run it in your termin | --------------------------------------- | ------------------------------------------------------------------------------------------------------------- | -------- | | `port.clientId` | Your port client id | ✅ | | `port.clientSecret` | Your port client secret | ✅ | +| `port.baseUrl` | Your Port API URL - `https://api.getport.io` for EU, `https://api.us.getport.io` for US | ✅ | | `integration.identifier` | Change the identifier to describe your integration | ✅ | | `integration.type` | The integration type | ✅ | | `integration.eventListener.type` | The event listener type | ✅ | @@ -68,6 +70,7 @@ helm repo add --force-update port-labs https://port-labs.github.io/helm-charts helm upgrade --install my-newrelic-integration port-labs/port-ocean \ --set port.clientId="PORT_CLIENT_ID" \ --set port.clientSecret="PORT_CLIENT_SECRET" \ + --set port.baseUrl="https://api.getport.io" \ --set initializePortResources=true \ --set scheduledResyncInterval=120 \ --set integration.identifier="my-newrelic-integration" \ @@ -76,6 +79,9 @@ helm upgrade --install my-newrelic-integration port-labs/port-ocean \ --set integration.secrets.newRelicAPIKey="" \ --set integration.secrets.newRelicAccountID="" ``` + + + To install the integration using ArgoCD, follow these steps: @@ -156,6 +162,8 @@ spec: value: YOUR_PORT_CLIENT_ID - name: port.clientSecret value: YOUR_PORT_CLIENT_SECRET + - name: port.baseUrl + value: https://api.getport.io - repoURL: YOUR_GIT_REPO_URL // highlight-end targetRevision: main @@ -168,10 +176,12 @@ spec: - CreateNamespace=true ``` + +
    -3. Apply your application manifest with `kubectl`: +1. Apply your application manifest with `kubectl`: ```bash kubectl apply -f my-ocean-newrelic-integration.yaml ``` @@ -220,6 +230,7 @@ jobs: type: 'newrelic' port_client_id: ${{ secrets.OCEAN__PORT__CLIENT_ID }} port_client_secret: ${{ secrets.OCEAN__PORT__CLIENT_SECRET }} + port_base_url: https://api.getport.io config: | new_relic_api_key: ${{ secrets.OCEAN__INTEGRATION__CONFIG__NEW_RELIC_API_KEY }} new_relic_account_id: ${{ secrets.OCEAN__INTEGRATION__CONFIG__NEW_RELIC_ACCOUNT_ID }} @@ -275,6 +286,7 @@ pipeline { -e OCEAN__INTEGRATION__CONFIG__NEW_RELIC_ACCOUNT_ID=$OCEAN__INTEGRATION__CONFIG__NEW_RELIC_ACCOUNT_ID \ -e OCEAN__PORT__CLIENT_ID=$OCEAN__PORT__CLIENT_ID \ -e OCEAN__PORT__CLIENT_SECRET=$OCEAN__PORT__CLIENT_SECRET \ + -e OCEAN__PORT__BASE_URL='https://api.getport.io' \ $image_name exit $? @@ -324,6 +336,7 @@ steps: -e OCEAN__INTEGRATION__CONFIG__NEW_RELIC_ACCOUNT_ID=$(OCEAN__INTEGRATION__CONFIG__NEW_RELIC_ACCOUNT_ID) \ -e OCEAN__PORT__CLIENT_ID=$(OCEAN__PORT__CLIENT_ID) \ -e OCEAN__PORT__CLIENT_SECRET=$(OCEAN__PORT__CLIENT_SECRET) \ + -e OCEAN__PORT__BASE_URL='https://api.getport.io' \ $image_name exit $? @@ -377,6 +390,7 @@ ingest_data: -e OCEAN__INTEGRATION__CONFIG__NEW_RELIC_ACCOUNT_ID=$OCEAN__INTEGRATION__CONFIG__NEW_RELIC_ACCOUNT_ID \ -e OCEAN__PORT__CLIENT_ID=$OCEAN__PORT__CLIENT_ID \ -e OCEAN__PORT__CLIENT_SECRET=$OCEAN__PORT__CLIENT_SECRET \ + -e OCEAN__PORT__BASE_URL='https://api.getport.io' \ $IMAGE_NAME rules: # Run only when changes are made to the main branch @@ -386,6 +400,8 @@ ingest_data:
    + + diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/apm-alerting/sentry.md b/docs/build-your-software-catalog/sync-data-to-catalog/apm-alerting/sentry.md index b508f93ca..ad01fd3d5 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/apm-alerting/sentry.md +++ b/docs/build-your-software-catalog/sync-data-to-catalog/apm-alerting/sentry.md @@ -8,6 +8,7 @@ import SentryCommentsBlueprint from "/docs/build-your-software-catalog/custom-in import SentryCommentsConfiguration from "/docs/build-your-software-catalog/custom-integration/webhook/examples/resources/sentry/\_example_sentry_comment_webhook_configuration.mdx" import SentryIssuesBluePrint from "/docs/build-your-software-catalog/custom-integration/webhook/examples/resources/sentry/\_example_sentry_issue_event_blueprint.mdx" import SentryIssuesConfiguration from "/docs/build-your-software-catalog/custom-integration/webhook/examples/resources/sentry/\_example_sentry_issue_event_webhook_configuration.mdx" +import PortApiRegionTip from "/docs/generalTemplates/_port_region_parameter_explanation_template.md" # Sentry @@ -44,6 +45,7 @@ Set them as you wish in the script below, then copy it and run it in your termin | --------------------------------------- | ------------------------------------------------------------------------------------------------------------- | -------- | | `port.clientId` | Your port client id | ✅ | | `port.clientSecret` | Your port client secret | ✅ | +| `port.baseUrl` | Your Port API URL - `https://api.getport.io` for EU, `https://api.us.getport.io` for US | ✅ | | `integration.identifier` | Change the identifier to describe your integration | ✅ | | `integration.type` | The integration type | ✅ | | `integration.eventListener.type` | The event listener type | ✅ | @@ -65,6 +67,7 @@ helm repo add --force-update port-labs https://port-labs.github.io/helm-charts helm upgrade --install my-sentry-integration port-labs/port-ocean \ --set port.clientId="PORT_CLIENT_ID" \ --set port.clientSecret="PORT_CLIENT_SECRET" \ + --set port.baseUrl="https://api.getport.io" \ --set initializePortResources=true \ --set integration.identifier="my-sentry-integration" \ --set integration.type="sentry" \ @@ -73,6 +76,8 @@ helm upgrade --install my-sentry-integration port-labs/port-ocean \ --set integration.secrets.sentryToken="string" \ --set integration.config.sentryOrganization="string" ``` + + To install the integration using ArgoCD, follow these steps: @@ -135,6 +140,8 @@ spec: value: YOUR_PORT_CLIENT_ID - name: port.clientSecret value: YOUR_PORT_CLIENT_SECRET + - name: port.baseUrl + value: https://api.getport.io - repoURL: YOUR_GIT_REPO_URL // highlight-end targetRevision: main @@ -147,10 +154,12 @@ spec: - CreateNamespace=true ``` + +
    -3. Apply your application manifest with `kubectl`: +1. Apply your application manifest with `kubectl`: ```bash kubectl apply -f my-ocean-sentry-integration.yaml ``` @@ -194,6 +203,7 @@ jobs: type: 'sentry' port_client_id: ${{ secrets.OCEAN__PORT__CLIENT_ID }} port_client_secret: ${{ secrets.OCEAN__PORT__CLIENT_SECRET }} + port_base_url: https://api.getport.io config: | sentry_token: ${{ secrets.OCEAN__INTEGRATION__CONFIG__SENTRY_TOKEN }} sentry_host: ${{ secrets.OCEAN__INTEGRATION__CONFIG__SENTRY_HOST }} @@ -247,6 +257,7 @@ pipeline { -e OCEAN__INTEGRATION__CONFIG__SENTRY_ORGANIZATION=$OCEAN__INTEGRATION__CONFIG__SENTRY_ORGANIZATION \ -e OCEAN__PORT__CLIENT_ID=$OCEAN__PORT__CLIENT_ID \ -e OCEAN__PORT__CLIENT_SECRET=$OCEAN__PORT__CLIENT_SECRET \ + -e OCEAN__PORT__BASE_URL='https://api.getport.io' \ $image_name exit $? @@ -298,6 +309,7 @@ steps: -e OCEAN__INTEGRATION__CONFIG__SENTRY_ORGANIZATION=$(OCEAN__INTEGRATION__CONFIG__SENTRY_ORGANIZATION) \ -e OCEAN__PORT__CLIENT_ID=$(OCEAN__PORT__CLIENT_ID) \ -e OCEAN__PORT__CLIENT_SECRET=$(OCEAN__PORT__CLIENT_SECRET) \ + -e OCEAN__PORT__BASE_URL='https://api.getport.io' \ $image_name exit $? @@ -352,6 +364,7 @@ ingest_data: -e OCEAN__INTEGRATION__CONFIG__SENTRY_ORGANIZATION=$OCEAN__INTEGRATION__CONFIG__SENTRY_ORGANIZATION \ -e OCEAN__PORT__CLIENT_ID=$OCEAN__PORT__CLIENT_ID \ -e OCEAN__PORT__CLIENT_SECRET=$OCEAN__PORT__CLIENT_SECRET \ + -e OCEAN__PORT__BASE_URL='https://api.getport.io' \ $IMAGE_NAME rules: # Run only when changes are made to the main branch @@ -361,6 +374,7 @@ ingest_data:
    + diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/argocd/argocd.md b/docs/build-your-software-catalog/sync-data-to-catalog/argocd/argocd.md index 8ba971db2..88307a24a 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/argocd/argocd.md +++ b/docs/build-your-software-catalog/sync-data-to-catalog/argocd/argocd.md @@ -7,6 +7,7 @@ import EventBlueprint from '/docs/build-your-software-catalog/custom-integration import ArgoCDWebhookConfig from '/docs/build-your-software-catalog/custom-integration/webhook/examples/resources/argocd/\_example_webhook_configuration.mdx' import ArgoCDEventWebhookConfig from '/docs/build-your-software-catalog/custom-integration/webhook/examples/resources/argocd/\_example_events_webhook_config.mdx' import ArgoCDEventManifest from '/docs/build-your-software-catalog/custom-integration/webhook/examples/resources/argocd/\_example_events_manifest.mdx' +import PortApiRegionTip from "/docs/generalTemplates/_port_region_parameter_explanation_template.md" # ArgoCD @@ -34,6 +35,7 @@ Set them as you wish in the script below, then copy it and run it in your termin | -------------------------------- | ------------------------------------------------------------------------------------------------------------- | -------- | | `port.clientId` | Your port client id | ✅ | | `port.clientSecret` | Your port client secret | ✅ | +| `port.baseUrl` | Your Port API URL - `https://api.getport.io` for EU, `https://api.us.getport.io` for US | ✅ | | `integration.identifier` | Change the identifier to describe your integration | ✅ | | `integration.type` | The integration type | ✅ | | `integration.eventListener.type` | The event listener type | ✅ | @@ -54,6 +56,7 @@ helm repo add --force-update port-labs https://port-labs.github.io/helm-charts helm upgrade --install my-argocd-integration port-labs/port-ocean \ --set port.clientId="CLIENT_ID" \ --set port.clientSecret="CLIENT_SECRET" \ + --set port.baseUrl="https://api.getport.io" \ --set initializePortResources=true \ --set scheduledResyncInterval=60 \ --set integration.identifier="my-argocd-integration" \ @@ -62,6 +65,8 @@ helm upgrade --install my-argocd-integration port-labs/port-ocean \ --set integration.secrets.token="" \ --set integration.config.serverUrl="" ``` + + @@ -123,6 +128,8 @@ spec: value: YOUR_PORT_CLIENT_ID - name: port.clientSecret value: YOUR_PORT_CLIENT_SECRET + - name: port.baseUrl + value: https://api.geport.io - repoURL: YOUR_GIT_REPO_URL // highlight-end targetRevision: main @@ -135,10 +142,12 @@ spec: - CreateNamespace=true ``` + +
    -3. Apply your application manifest with `kubectl`: +1. Apply your application manifest with `kubectl`: ```bash kubectl apply -f my-ocean-argocd-integration.yaml ``` @@ -166,6 +175,7 @@ Make sure to configure the following [Github Secrets](https://docs.github.com/en | `OCEAN__INTEGRATION__IDENTIFIER` | Change the identifier to describe your integration, if not set will use the default one | ❌ | | `OCEAN__PORT__CLIENT_ID` | Your port client id | ✅ | | `OCEAN__PORT__CLIENT_SECRET` | Your port client secret | ✅ | +| `OCEAN__PORT__BASE_URL` | Your Port API URL - `https://api.getport.io` for EU, `https://api.us.getport.io` for US | ✅ |
    @@ -189,6 +199,7 @@ jobs: type: 'argocd' port_client_id: ${{ secrets.OCEAN__PORT__CLIENT_ID }} port_client_secret: ${{ secrets.OCEAN__PORT__CLIENT_SECRET }} + port_base_url: https://api.getport.io config: | token: ${{ secrets.OCEAN__INTEGRATION__CONFIG__TOKEN }} server_url: ${{ OCEAN__INTEGRATION__CONFIG__SERVER_URL }} @@ -217,6 +228,7 @@ of `Secret Text` type: | `OCEAN__INTEGRATION__IDENTIFIER` | Change the identifier to describe your integration, if not set will use the default one | ❌ | | `OCEAN__PORT__CLIENT_ID` | Your port client id | ✅ | | `OCEAN__PORT__CLIENT_SECRET` | Your port client secret | ✅ | +| `OCEAN__PORT__BASE_URL` | Your Port API URL - `https://api.getport.io` for EU, `https://api.us.getport.io` for US | ✅ |
    @@ -248,6 +260,7 @@ pipeline { -e OCEAN__INTEGRATION__CONFIG__SERVER_URL=$OCEAN__INTEGRATION__CONFIG__SERVER_URL \ -e OCEAN__PORT__CLIENT_ID=$OCEAN__PORT__CLIENT_ID \ -e OCEAN__PORT__CLIENT_SECRET=$OCEAN__PORT__CLIENT_SECRET \ + -e OCEAN__PORT__BASE_URL='https://api.getport.io' \ $image_name exit $? @@ -279,6 +292,7 @@ Make sure to [configure the following GitLab variables](https://docs.gitlab.com/ | `OCEAN__INTEGRATION__IDENTIFIER` | Change the identifier to describe your integration, if not set will use the default one | ❌ | | `OCEAN__PORT__CLIENT_ID` | Your port client id | ✅ | | `OCEAN__PORT__CLIENT_SECRET` | Your port client secret | ✅ | +| `OCEAN__PORT__BASE_URL` | Your Port API URL - `https://api.getport.io` for EU, `https://api.us.getport.io` for US | ✅ |
    @@ -313,6 +327,7 @@ ingest_data: -e OCEAN__INTEGRATION__CONFIG__SERVER_URL=$OCEAN__INTEGRATION__CONFIG__SERVER_URL \ -e OCEAN__PORT__CLIENT_ID=$OCEAN__PORT__CLIENT_ID \ -e OCEAN__PORT__CLIENT_SECRET=$OCEAN__PORT__CLIENT_SECRET \ + -e OCEAN__PORT__BASE_URL='https://api.getport.io' \ $IMAGE_NAME rules: # Run only when changes are made to the main branch @@ -321,6 +336,9 @@ ingest_data:
    + + + diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/cloud-cost/_kubecost-docker-parameters.mdx b/docs/build-your-software-catalog/sync-data-to-catalog/cloud-cost/_kubecost-docker-parameters.mdx index 8a3c30599..46a65abe5 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/cloud-cost/_kubecost-docker-parameters.mdx +++ b/docs/build-your-software-catalog/sync-data-to-catalog/cloud-cost/_kubecost-docker-parameters.mdx @@ -6,3 +6,4 @@ | `OCEAN__INTEGRATION__IDENTIFIER` | Change the identifier to describe your integration, if not set will use the default one | ❌ | | `OCEAN__PORT__CLIENT_ID` | Your port client id ([How to get the credentials](https://docs.getport.io/build-your-software-catalog/custom-integration/api/#find-your-port-credentials)) | ✅ | | `OCEAN__PORT__CLIENT_SECRET` | Your port client secret ([How to get the credentials](https://docs.getport.io/build-your-software-catalog/custom-integration/api/#find-your-port-credentials)) | ✅ | +| `OCEAN__PORT__BASE_URL` | Your Port API URL - `https://api.getport.io` for EU, `https://api.us.getport.io` for US | ✅ | diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/cloud-cost/_opencost-docker-parameters.mdx b/docs/build-your-software-catalog/sync-data-to-catalog/cloud-cost/_opencost-docker-parameters.mdx index 7c309138c..165664b7a 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/cloud-cost/_opencost-docker-parameters.mdx +++ b/docs/build-your-software-catalog/sync-data-to-catalog/cloud-cost/_opencost-docker-parameters.mdx @@ -5,3 +5,4 @@ | `OCEAN__INTEGRATION__IDENTIFIER` | Change the identifier to describe your integration, if not set will use the default one | ❌ | | `OCEAN__PORT__CLIENT_ID` | Your port client id ([How to get the credentials](https://docs.getport.io/build-your-software-catalog/custom-integration/api/#find-your-port-credentials)) | ✅ | | `OCEAN__PORT__CLIENT_SECRET` | Your port client secret ([How to get the credentials](https://docs.getport.io/build-your-software-catalog/custom-integration/api/#find-your-port-credentials)) | ✅ | +| `OCEAN__PORT__BASE_URL` | Your Port API URL - `https://api.getport.io` for EU, `https://api.us.getport.io` for US | ✅ | diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/cloud-cost/kubecost.md b/docs/build-your-software-catalog/sync-data-to-catalog/cloud-cost/kubecost.md index f9848543d..e7c0ae4e6 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/cloud-cost/kubecost.md +++ b/docs/build-your-software-catalog/sync-data-to-catalog/cloud-cost/kubecost.md @@ -4,6 +4,7 @@ import Prerequisites from "../templates/\_ocean_helm_prerequisites_block.mdx" import AzurePremise from "../templates/\_ocean_azure_premise.mdx" import DockerParameters from "./\_kubecost-docker-parameters.mdx" import AdvancedConfig from '../../../generalTemplates/_ocean_advanced_configuration_note.md' +import PortApiRegionTip from "/docs/generalTemplates/_port_region_parameter_explanation_template.md" # Kubecost @@ -34,6 +35,7 @@ Set them as you wish in the script below, then copy it and run it in your termin | --------------------------------- | ------------------------------------------------------------------------------------------------------------- | -------- | | `port.clientId` | Your port client id | ✅ | | `port.clientSecret` | Your port client secret | ✅ | +| `port.baseUrl` | Your Port API URL - `https://api.getport.io` for EU, `https://api.us.getport.io` for US | ✅ | | `integration.identifier` | Change the identifier to describe your integration | ✅ | | `integration.type` | The integration type | ✅ | | `integration.eventListener.type` | The event listener type | ✅ | @@ -54,6 +56,7 @@ helm repo add --force-update port-labs https://port-labs.github.io/helm-charts helm upgrade --install my-kubecost-integration port-labs/port-ocean \ --set port.clientId="CLIENT_ID" \ --set port.clientSecret="CLIENT_SECRET" \ + --set port.baseUrl="https://api.getport.io" \ --set initializePortResources=true \ --set scheduledResyncInterval=60 \ --set integration.identifier="my-kubecost-integration" \ @@ -61,6 +64,9 @@ helm upgrade --install my-kubecost-integration port-labs/port-ocean \ --set integration.eventListener.type="POLLING" \ --set integration.config.kubecostHost="https://kubecostInstance:9090" ``` + + + To install the integration using ArgoCD, follow these steps: @@ -118,6 +124,8 @@ spec: value: YOUR_PORT_CLIENT_ID - name: port.clientSecret value: YOUR_PORT_CLIENT_SECRET + - name: port.baseUrl + value: https://api.getport.io - repoURL: YOUR_GIT_REPO_URL // highlight-end targetRevision: main @@ -130,10 +138,12 @@ spec: - CreateNamespace=true ``` + +
    -3. Apply your application manifest with `kubectl`: +1. Apply your application manifest with `kubectl`: ```bash kubectl apply -f my-ocean-kubecost-integration.yaml ``` @@ -177,6 +187,7 @@ jobs: type: 'kubecost' port_client_id: ${{ secrets.OCEAN__PORT__CLIENT_ID }} port_client_secret: ${{ secrets.OCEAN__PORT__CLIENT_SECRET }} + port_base_url: https://api.getport.io config: | kubecost_host: ${{ secrets.OCEAN__INTEGRATION__CONFIG__KUBECOST_HOST }} ``` @@ -226,6 +237,7 @@ pipeline { -e OCEAN__INTEGRATION__CONFIG__KUBECOST_HOST=$OCEAN__INTEGRATION__CONFIG__KUBECOST_HOST \ -e OCEAN__PORT__CLIENT_ID=$OCEAN__PORT__CLIENT_ID \ -e OCEAN__PORT__CLIENT_SECRET=$OCEAN__PORT__CLIENT_SECRET \ + -e OCEAN__PORT__BASE_URL='https://api.getport.io' \ $image_name exit $? @@ -275,6 +287,7 @@ steps: -e OCEAN__INTEGRATION__CONFIG__KUBECOST_HOST=$(OCEAN__INTEGRATION__CONFIG__KUBECOST_HOST) \ -e OCEAN__PORT__CLIENT_ID=$(OCEAN__PORT__CLIENT_ID) \ -e OCEAN__PORT__CLIENT_SECRET=$(OCEAN__PORT__CLIENT_SECRET) \ + -e OCEAN__PORT__BASE_URL='https://api.getport.io' \ $image_name exit $? @@ -325,6 +338,7 @@ ingest_data: -e OCEAN__INTEGRATION__CONFIG__KUBECOST_HOST=$OCEAN__INTEGRATION__CONFIG__KUBECOST_HOST \ -e OCEAN__PORT__CLIENT_ID=$OCEAN__PORT__CLIENT_ID \ -e OCEAN__PORT__CLIENT_SECRET=$OCEAN__PORT__CLIENT_SECRET \ + -e OCEAN__PORT__BASE_URL='https://api.getport.io' \ $IMAGE_NAME rules: # Run only when changes are made to the main branch @@ -334,6 +348,8 @@ ingest_data:
    + + diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/cloud-cost/opencost.md b/docs/build-your-software-catalog/sync-data-to-catalog/cloud-cost/opencost.md index fcb2b2891..781d8acf2 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/cloud-cost/opencost.md +++ b/docs/build-your-software-catalog/sync-data-to-catalog/cloud-cost/opencost.md @@ -4,6 +4,7 @@ import Prerequisites from "../templates/\_ocean_helm_prerequisites_block.mdx" import AzurePremise from "../templates/\_ocean_azure_premise.mdx" import DockerParameters from "./\_opencost-docker-parameters.mdx" import AdvancedConfig from '../../../generalTemplates/_ocean_advanced_configuration_note.md' +import PortApiRegionTip from "/docs/generalTemplates/_port_region_parameter_explanation_template.md" # OpenCost @@ -34,6 +35,7 @@ Set them as you wish in the script below, then copy it and run it in your termin | --------------------------------- | ------------------------------------------------------------------------------------------------------------- | -------- | | `port.clientId` | Your port client id | ✅ | | `port.clientSecret` | Your port client secret | ✅ | +| `port.baseUrl` | Your Port API URL - `https://api.getport.io` for EU, `https://api.us.getport.io` for US | ✅ | | `integration.identifier` | Change the identifier to describe your integration | ✅ | | `integration.type` | The integration type | ✅ | | `integration.eventListener.type` | The event listener type | ✅ | @@ -53,12 +55,16 @@ helm repo add --force-update port-labs https://port-labs.github.io/helm-charts helm upgrade --install my-opencost-integration port-labs/port-ocean \ --set port.clientId="CLIENT_ID" \ --set port.clientSecret="CLIENT_SECRET" \ + --set port.baseUrl="https://api.getport.io" \ --set initializePortResources=true \ --set integration.identifier="my-opencost-integration" \ --set integration.type="opencost" \ --set integration.eventListener.type="POLLING" \ --set integration.config.opencostHost="https://myOpenCostInstance:9003" ``` + + + To install the integration using ArgoCD, follow these steps: @@ -116,6 +122,8 @@ spec: value: YOUR_PORT_CLIENT_ID - name: port.clientSecret value: YOUR_PORT_CLIENT_SECRET + - name: port.baseUrl + value: https://api.getport.io - repoURL: YOUR_GIT_REPO_URL // highlight-end targetRevision: main @@ -128,10 +136,12 @@ spec: - CreateNamespace=true ``` + +
    -3. Apply your application manifest with `kubectl`: +1. Apply your application manifest with `kubectl`: ```bash kubectl apply -f my-ocean-opencost-integration.yaml ``` @@ -175,6 +185,7 @@ jobs: type: 'opencost' port_client_id: ${{ secrets.OCEAN__PORT__CLIENT_ID }} port_client_secret: ${{ secrets.OCEAN__PORT__CLIENT_SECRET }} + port_base_url: https://api.getport.io config: | opencost_host: ${{ secrets.OCEAN__INTEGRATION__CONFIG__OPENCOST_HOST }} ``` @@ -224,6 +235,7 @@ pipeline { -e OCEAN__INTEGRATION__CONFIG__OPENCOST_HOST=$OCEAN__INTEGRATION__CONFIG__OPENCOST_HOST \ -e OCEAN__PORT__CLIENT_ID=$OCEAN__PORT__CLIENT_ID \ -e OCEAN__PORT__CLIENT_SECRET=$OCEAN__PORT__CLIENT_SECRET \ + -e OCEAN__PORT__BASE_URL='https://api.getport.io' \ $image_name exit $? @@ -273,6 +285,7 @@ steps: -e OCEAN__INTEGRATION__CONFIG__OPENCOST_HOST=$(OCEAN__INTEGRATION__CONFIG__OPENCOST_HOST) \ -e OCEAN__PORT__CLIENT_ID=$(OCEAN__PORT__CLIENT_ID) \ -e OCEAN__PORT__CLIENT_SECRET=$(OCEAN__PORT__CLIENT_SECRET) \ + -e OCEAN__PORT__BASE_URL='https://api.getport.io' \ $image_name exit $? @@ -323,6 +336,7 @@ ingest_data: -e OCEAN__INTEGRATION__CONFIG__OPENCOST_HOST=$OCEAN__INTEGRATION__CONFIG__OPENCOST_HOST \ -e OCEAN__PORT__CLIENT_ID=$OCEAN__PORT__CLIENT_ID \ -e OCEAN__PORT__CLIENT_SECRET=$OCEAN__PORT__CLIENT_SECRET \ + -e OCEAN__PORT__BASE_URL='https://api.getport.io' \ $IMAGE_NAME rules: # Run only when changes are made to the main branch @@ -332,6 +346,8 @@ ingest_data:
    + + diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/cloud-providers/aws/aws-exporter/_category_.json b/docs/build-your-software-catalog/sync-data-to-catalog/cloud-providers/aws/aws-exporter/_category_.json index 964770f5c..6d3edd0ff 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/cloud-providers/aws/aws-exporter/_category_.json +++ b/docs/build-your-software-catalog/sync-data-to-catalog/cloud-providers/aws/aws-exporter/_category_.json @@ -1,4 +1,4 @@ { "label": "AWS Exporter (outdated)", - "position": 8 + "position": 3 } diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/cloud-providers/aws/aws-exporter/examples/_category_.json b/docs/build-your-software-catalog/sync-data-to-catalog/cloud-providers/aws/aws-exporter/examples/_category_.json new file mode 100644 index 000000000..4810441a0 --- /dev/null +++ b/docs/build-your-software-catalog/sync-data-to-catalog/cloud-providers/aws/aws-exporter/examples/_category_.json @@ -0,0 +1,4 @@ +{ + "label": "Examples", + "position": 2 +} diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/cloud-providers/aws/aws-exporter/installation.md b/docs/build-your-software-catalog/sync-data-to-catalog/cloud-providers/aws/aws-exporter/installation.md index ebf94905e..21433caa1 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/cloud-providers/aws/aws-exporter/installation.md +++ b/docs/build-your-software-catalog/sync-data-to-catalog/cloud-providers/aws/aws-exporter/installation.md @@ -1,5 +1,5 @@ --- -sidebar_position: 2 +sidebar_position: 1 --- import FindCredentials from "/docs/build-your-software-catalog/custom-integration/api/\_template_docs/\_find_credentials_collapsed.mdx"; diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/cloud-providers/aws/examples/_category_.json b/docs/build-your-software-catalog/sync-data-to-catalog/cloud-providers/aws/examples/_category_.json new file mode 100644 index 000000000..4810441a0 --- /dev/null +++ b/docs/build-your-software-catalog/sync-data-to-catalog/cloud-providers/aws/examples/_category_.json @@ -0,0 +1,4 @@ +{ + "label": "Examples", + "position": 2 +} diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/cloud-providers/aws/installation.md b/docs/build-your-software-catalog/sync-data-to-catalog/cloud-providers/aws/installation.md index c3d6a4b12..1657b8f9d 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/cloud-providers/aws/installation.md +++ b/docs/build-your-software-catalog/sync-data-to-catalog/cloud-providers/aws/installation.md @@ -51,10 +51,12 @@ In order to successfully deploy the AWS integration, it's crucial to ensure that 3. Add the following environment variables to the ECS Task Definition:
    Environment Variables + | Variable | Description | | --- | --- | | `OCEAN__PORT__CLIENT_ID` | [The client ID of the Port integration](https://docs.getport.io/configuration-methods/#:~:text=To%20get%20your%20Port%20API,API). | | `OCEAN__PORT__CLIENT_SECRET` | [The client secret of the Port integration](https://docs.getport.io/configuration-methods/#:~:text=To%20get%20your%20Port%20API,API). | +| `OCEAN__PORT__BASE_URL` | Your Port API URL - `https://api.getport.io` for EU, `https://api.us.getport.io` for US | | `OCEAN__INTEGRATION__CONFIG__LIVE_EVENTS_API_KEY` | (Optional) AWS API Key for custom events, used to validate the event source for real-time event updates. | | `OCEAN__INTEGRATION__CONFIG__ORGANIZATION_ROLE_ARN` | [(Optional) AWS Organization Role ARN, in case the account the integration is installed on is not the root account, used to read organization accounts for multi-account access](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_introduction.html). | | `OCEAN__INTEGRATION__CONFIG__ACCOUNT_READ_ROLE_NAME` | [(Optional) AWS Account Read Role Name, the role name used to read the account in which the integration is not installed on, used for multi-account access.](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html). | @@ -75,10 +77,12 @@ In order to successfully deploy the AWS integration, it's crucial to ensure that
    Environment Variables + | Variable | Description | | --- | --- | | `OCEAN__PORT__CLIENT_ID` | [The client ID of the Port integration](https://docs.getport.io/configuration-methods/#:~:text=To%20get%20your%20Port%20API,API). | | `OCEAN__PORT__CLIENT_SECRET` | [The client secret of the Port integration](https://docs.getport.io/configuration-methods/#:~:text=To%20get%20your%20Port%20API,API). | +| `OCEAN__PORT__BASE_URL` | Your Port API URL - `https://api.getport.io` for EU, `https://api.us.getport.io` for US | | `OCEAN__INTEGRATION__CONFIG__AWS_ACCESS_KEY_ID` | [The AWS Access Key ID of the IAM user](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_create.html). | | `OCEAN__INTEGRATION__CONFIG__AWS_SECRET_ACCESS_KEY` | [The AWS Secret Access Key of the IAM user](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_create.html). | | `OCEAN__INTEGRATION__CONFIG__LIVE_EVENTS_API_KEY` | (Optional) AWS API Key for custom events, used to validate the event source for real-time event updates. | diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/cloud-providers/azure/_azure_docker_params.mdx b/docs/build-your-software-catalog/sync-data-to-catalog/cloud-providers/azure/_azure_docker_params.mdx index 6f95a2e93..6febcae1a 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/cloud-providers/azure/_azure_docker_params.mdx +++ b/docs/build-your-software-catalog/sync-data-to-catalog/cloud-providers/azure/_azure_docker_params.mdx @@ -2,6 +2,7 @@ | ------------------------------------- | ------------------------------------------------------------------------------------------------------------------ | -------- | | `OCEAN__PORT__CLIENT_ID` | Your port client id | ✅ | | `OCEAN__PORT__CLIENT_SECRET` | Your port client secret | ✅ | +| `OCEAN__PORT__BASE_URL` | Your Port API URL - `https://api.getport.io` for EU, `https://api.us.getport.io` for US | ✅ | | `OCEAN__SECRET__AZURE_CLIENT_ID` | Your Azure client ID | ✅ | | `OCEAN__SECRET__AZURE_CLIENT_SECRET` | Your Azure client secret | ✅ | | `OCEAN__SECRET__AZURE_TENANT_ID` | Your Azure tenant ID | ✅ | diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/cloud-providers/azure/installation.md b/docs/build-your-software-catalog/sync-data-to-catalog/cloud-providers/azure/installation.md index f144840f3..a16c4b3d8 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/cloud-providers/azure/installation.md +++ b/docs/build-your-software-catalog/sync-data-to-catalog/cloud-providers/azure/installation.md @@ -8,6 +8,7 @@ import Prerequisites from "../../templates/\_ocean_helm_prerequisites_block.mdx" import AzurePremise from "../../templates/\_ocean_azure_premise.mdx" import DockerParameters from "./\_azure_docker_params.mdx" import HelmParameters from "../../templates/\_ocean-advanced-parameters-helm.mdx" +import PortApiRegionTip from "/docs/generalTemplates/_port_region_parameter_explanation_template.md" # Installation @@ -146,6 +147,7 @@ Set them as you wish in the script below, then copy it and run it in your termin | ---------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------- | -------- | | `port.clientId` | Your port [client id](https://docs.getport.io/build-your-software-catalog/custom-integration/api/#find-your-port-credentials) | | ✅ | | `port.clientSecret` | Your port [client secret](https://docs.getport.io/build-your-software-catalog/custom-integration/api/#find-your-port-credentials) | | ✅ | +| `port.baseUrl` | Your Port API URL - `https://api.getport.io` for EU, `https://api.us.getport.io` for US | | ✅ | | `integration.config.appHost` | The host of the Port Ocean app. Used to set up the integration endpoint as the target for webhooks | https://my-ocean-integration.com | ❌ | @@ -186,20 +188,23 @@ helm repo add --force-update port-labs https://port-labs.github.io/helm-charts helm upgrade --install my-azure-integration port-labs/port-ocean \ --set port.clientId="PORT_CLIENT_ID" \ --set port.clientSecret="PORT_CLIENT_SECRET" \ + --set port.baseUrl="https://api.getport.io" \ --set initializePortResources=true \ --set scheduledResyncInterval=60 \ --set integration.identifier="my-azure-integration" \ --set integration.type="azure" \ --set integration.eventListener.type="POLLING" \ - --set "extraEnv[0].name=AZURE_CLIENT_ID" \ - --set "extraEnv[0].value=xxxx-your-client-id-xxxxx" \ - --set "extraEnv[1].name=AZURE_CLIENT_SECRET" \ - --set "extraEnv[1].value=xxxxxxx-your-client-secret-xxxx" \ - --set "extraEnv[2].name=AZURE_TENANT_ID" \ - --set "extraEnv[2].value=xxxx-your-tenant-id-xxxxx" \ - --set "extraEnv[3].name=AZURE_SUBSCRIPTION_ID" \ - --set "extraEnv[3].value=xxxx-your-subscription-id-xxxxx" + --set "extraEnv[0].name=AZURE_CLIENT_ID" \ + --set "extraEnv[0].value=xxxx-your-client-id-xxxxx" \ + --set "extraEnv[1].name=AZURE_CLIENT_SECRET" \ + --set "extraEnv[1].value=xxxxxxx-your-client-secret-xxxx" \ + --set "extraEnv[2].name=AZURE_TENANT_ID" \ + --set "extraEnv[2].value=xxxx-your-tenant-id-xxxxx" \ + --set "extraEnv[3].name=AZURE_SUBSCRIPTION_ID" \ + --set "extraEnv[3].value=xxxx-your-subscription-id-xxxxx" ``` + + @@ -265,6 +270,8 @@ spec: value: YOUR_PORT_CLIENT_ID - name: port.clientSecret value: YOUR_PORT_CLIENT_SECRET + - name: port.baseUrl + value: https://api.getport.io - repoURL: YOUR_GIT_REPO_URL // highlight-end targetRevision: main @@ -276,11 +283,12 @@ spec: syncOptions: - CreateNamespace=true ``` +

    -3. Apply your application manifest with `kubectl`: +1. Apply your application manifest with `kubectl`: ```bash kubectl apply -f my-ocean-azure-integration.yaml @@ -333,6 +341,7 @@ jobs: identifier: "my-azure-integration" port_client_id: ${{ secrets.OCEAN__PORT_CLIENT_ID }} port_client_secret: ${{ secrets.OCEAN__PORT_CLIENT_SECRET }} + port_base_url: https://api.getport.io ``` @@ -381,6 +390,7 @@ pipeline { -e OCEAN__INITIALIZE_PORT_RESOURCES=true \ -e OCEAN__PORT__CLIENT_ID=$OCEAN__PORT__CLIENT_ID \ -e OCEAN__PORT__CLIENT_SECRET=$OCEAN__PORT__CLIENT_SECRET \ + -e OCEAN__PORT__BASE_URL='https://api.getport.io' \ -e AZURE_CLIENT_ID=$OCEAN__SECRET__AZURE_CLIENT_ID \ -e AZURE_CLIENT_SECRET=$OCEAN__SECRET__AZURE_CLIENT_SECRET \ -e AZURE_TENANT_ID=$OCEAN__SECRET__AZURE_TENANT_ID \ @@ -430,6 +440,7 @@ steps: -e OCEAN__INITIALIZE_PORT_RESOURCES=true \ -e OCEAN__PORT__CLIENT_ID=$(OCEAN__PORT__CLIENT_ID) \ -e OCEAN__PORT__CLIENT_SECRET=$(OCEAN__PORT__CLIENT_SECRET) \ + -e OCEAN__PORT__BASE_URL='https://api.getport.io' \ -e AZURE_CLIENT_ID=$(OCEAN__SECRET__AZURE_CLIENT_ID) \ -e AZURE_CLIENT_SECRET=$(OCEAN__SECRET__AZURE_CLIENT_SECRET) \ -e AZURE_TENANT_ID=$(OCEAN__SECRET__AZURE_TENANT_ID) \ @@ -443,6 +454,8 @@ steps: + + diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/cloud-providers/gcp/examples/_category_.json b/docs/build-your-software-catalog/sync-data-to-catalog/cloud-providers/gcp/examples/_category_.json new file mode 100644 index 000000000..4810441a0 --- /dev/null +++ b/docs/build-your-software-catalog/sync-data-to-catalog/cloud-providers/gcp/examples/_category_.json @@ -0,0 +1,4 @@ +{ + "label": "Examples", + "position": 2 +} diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/code-quality-security/_docker-parameters.mdx b/docs/build-your-software-catalog/sync-data-to-catalog/code-quality-security/_docker-parameters.mdx index a81f5cda2..0a556b01c 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/code-quality-security/_docker-parameters.mdx +++ b/docs/build-your-software-catalog/sync-data-to-catalog/code-quality-security/_docker-parameters.mdx @@ -6,5 +6,6 @@ | `OCEAN__INTEGRATION__CONFIG__SONAR_URL` | Required if using **On-Prem**, Your SonarQube instance URL | ❌ | | `OCEAN__PORT__CLIENT_ID` | Your port client id ([How to get the credentials](https://docs.getport.io/build-your-software-catalog/custom-integration/api/#find-your-port-credentials)) | ✅ | | `OCEAN__PORT__CLIENT_SECRET` | Your port client secret ([How to get the credentials](https://docs.getport.io/build-your-software-catalog/custom-integration/api/#find-your-port-credentials)) | ✅ | +| `OCEAN__PORT__BASE_URL` | Your Port API URL - `https://api.getport.io` for EU, `https://api.us.getport.io` for US | ✅ | | `OCEAN__INITIALIZE_PORT_RESOURCES` | Default true, When set to true the integration will create default blueprints and the port App config Mapping. Read more about [initializePortResources](https://ocean.getport.io/develop-an-integration/integration-configuration/#initializeportresources---initialize-port-resources) | ❌ | | `OCEAN__INTEGRATION__IDENTIFIER` | The identifier of the integration that will be installed | ✅ | diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/code-quality-security/_wiz-docker-parameters.mdx b/docs/build-your-software-catalog/sync-data-to-catalog/code-quality-security/_wiz-docker-parameters.mdx index 26de5577c..4093e6164 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/code-quality-security/_wiz-docker-parameters.mdx +++ b/docs/build-your-software-catalog/sync-data-to-catalog/code-quality-security/_wiz-docker-parameters.mdx @@ -9,3 +9,4 @@ | `OCEAN__INTEGRATION__IDENTIFIER` | Provide a unique identifier for your integration. If not provided, the default identifier will be used. | ❌ | | `OCEAN__PORT__CLIENT_ID` | Your port client id ([Get the credentials](https://docs.getport.io/build-your-software-catalog/custom-integration/api/#find-your-port-credentials)) | ✅ | | `OCEAN__PORT__CLIENT_SECRET` | Your port client secret ([Get the credentials](https://docs.getport.io/build-your-software-catalog/custom-integration/api/#find-your-port-credentials)) | ✅ | +| `OCEAN__PORT__BASE_URL` | Your Port API URL - `https://api.getport.io` for EU, `https://api.us.getport.io` for US | ✅ | diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/code-quality-security/snyk/snyk.md b/docs/build-your-software-catalog/sync-data-to-catalog/code-quality-security/snyk/snyk.md index db06d61b7..693c640ae 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/code-quality-security/snyk/snyk.md +++ b/docs/build-your-software-catalog/sync-data-to-catalog/code-quality-security/snyk/snyk.md @@ -4,6 +4,7 @@ import Prerequisites from "../../templates/\_ocean_helm_prerequisites_block.mdx" import AdvancedConfig from '../../../../generalTemplates/\_ocean_advanced_configuration_note.md' import SnykBlueprint from "/docs/build-your-software-catalog/custom-integration/webhook/examples/resources/snyk/\_example_snyk_vulnerability_blueprint.mdx"; import SnykConfiguration from "/docs/build-your-software-catalog/custom-integration/webhook/examples/resources/snyk/\_example_snyk_vulnerability_webhook_configuration.mdx"; +import PortApiRegionTip from "/docs/generalTemplates/_port_region_parameter_explanation_template.md" # Snyk @@ -37,6 +38,7 @@ Set them as you wish in the script below, then copy it and run it in your termin | ----------------------------------- | ------------------------------------------------------------------------------------------------------------------ | -------- | | `port.clientId` | Your Port client id | ✅ | | `port.clientSecret` | Your Port client secret | ✅ | +| `port.baseUrl` | Your Port API URL - `https://api.getport.io` for EU, `https://api.us.getport.io` for US | ✅ | | `integration.identifier` | Change the identifier to describe your integration | ✅ | | `integration.type` | The integration type | ✅ | | `integration.eventListener.type` | The event listener type | ✅ | @@ -72,6 +74,7 @@ helm repo add --force-update port-labs https://port-labs.github.io/helm-charts helm upgrade --install my-snyk-integration port-labs/port-ocean \ --set port.clientId="PORT_CLIENT_ID" \ --set port.clientSecret="PORT_CLIENT_SECRET" \ + --set port.baseUrl="https://api.getport.io" \ --set initializePortResources=true \ --set scheduledResyncInterval=120 \ --set integration.identifier="my-snyk-integration" \ @@ -79,6 +82,8 @@ helm upgrade --install my-snyk-integration port-labs/port-ocean \ --set integration.eventListener.type="POLLING" \ --set integration.secrets.token="SNYK_TOKEN" ``` + + To install the integration using ArgoCD, follow these steps: @@ -185,6 +190,8 @@ spec: value: YOUR_PORT_CLIENT_ID - name: port.clientSecret value: YOUR_PORT_CLIENT_SECRET + - name: port.baseUrl + value: https://api.getport.io - repoURL: YOUR_GIT_REPO_URL // highlight-end targetRevision: main @@ -197,10 +204,12 @@ spec: - CreateNamespace=true ``` + +

    -3. Apply your application manifest with `kubectl`: +1. Apply your application manifest with `kubectl`: ```bash kubectl apply -f my-ocean-snyk-integration.yaml ``` @@ -241,6 +250,7 @@ Make sure to configure the following [Github Secrets](https://docs.github.com/en | `OCEAN__INTEGRATION__IDENTIFIER` | Change the identifier to describe your integration, if not set will use the default one | ❌ | | `OCEAN__PORT__CLIENT_ID` | Your port client id | ✅ | | `OCEAN__PORT__CLIENT_SECRET` | Your port client secret | ✅ | +| `OCEAN__PORT__BASE_URL` | Your Port API URL - `https://api.getport.io` for EU, `https://api.us.getport.io` for US | ✅ |
    @@ -264,6 +274,7 @@ jobs: type: 'snyk' port_client_id: ${{ secrets.OCEAN__PORT__CLIENT_ID }} port_client_secret: ${{ secrets.OCEAN__PORT__CLIENT_SECRET }} + port_base_url: https://api.getport.io config: | token: ${{ secrets.OCEAN__INTEGRATION__CONFIG__TOKEN }} ``` @@ -293,6 +304,7 @@ of `Secret Text` type: | `OCEAN__INTEGRATION__IDENTIFIER` | Change the identifier to describe your integration, if not set will use the default one | ❌ | | `OCEAN__PORT__CLIENT_ID` | Your port client id ([How to get the credentials](https://docs.getport.io/build-your-software-catalog/custom-integration/api/#find-your-port-credentials)) | ✅ | | `OCEAN__PORT__CLIENT_SECRET` | Your port client ([How to get the credentials](https://docs.getport.io/build-your-software-catalog/custom-integration/api/#find-your-port-credentials)) secret | ✅ | +| `OCEAN__PORT__BASE_URL` | Your Port API URL - `https://api.getport.io` for EU, `https://api.us.getport.io` for US | ✅ |
    @@ -322,6 +334,7 @@ pipeline { -e OCEAN__INTEGRATION__CONFIG__TOKEN=$OCEAN__INTEGRATION__CONFIG__TOKEN \ -e OCEAN__PORT__CLIENT_ID=$OCEAN__PORT__CLIENT_ID \ -e OCEAN__PORT__CLIENT_SECRET=$OCEAN__PORT__CLIENT_SECRET \ + -e OCEAN__PORT__BASE_URL='https://api.getport.io' \ $image_name exit $? @@ -359,6 +372,7 @@ Make sure to configure the following variables using [Azure Devops variable grou | `OCEAN__INTEGRATION__IDENTIFIER` | Change the identifier to describe your integration, if not set will use the default one | ❌ | | `OCEAN__PORT__CLIENT_ID` | Your port client id ([How to get the credentials](https://docs.getport.io/build-your-software-catalog/custom-integration/api/#find-your-port-credentials)) | ✅ | | `OCEAN__PORT__CLIENT_SECRET` | Your port client ([How to get the credentials](https://docs.getport.io/build-your-software-catalog/custom-integration/api/#find-your-port-credentials)) secret | ✅ | +| `OCEAN__PORT__BASE_URL` | Your Port API URL - `https://api.getport.io` for EU, `https://api.us.getport.io` for US | ✅ |
    @@ -390,6 +404,7 @@ steps: -e OCEAN__INTEGRATION__CONFIG__TOKEN=$(OCEAN__INTEGRATION__CONFIG__TOKEN) \ -e OCEAN__PORT__CLIENT_ID=$(OCEAN__PORT__CLIENT_ID) \ -e OCEAN__PORT__CLIENT_SECRET=$(OCEAN__PORT__CLIENT_SECRET) \ + -e OCEAN__PORT__BASE_URL='https://api.getport.io' \ $image_name exit $? @@ -417,6 +432,7 @@ Make sure to [configure the following GitLab variables](https://docs.gitlab.com/ | `OCEAN__INTEGRATION__IDENTIFIER` | Change the identifier to describe your integration, if not set will use the default one | ❌ | | `OCEAN__PORT__CLIENT_ID` | Your port client id ([How to get the credentials](https://docs.getport.io/build-your-software-catalog/custom-integration/api/#find-your-port-credentials)) | ✅ | | `OCEAN__PORT__CLIENT_SECRET` | Your port client ([How to get the credentials](https://docs.getport.io/build-your-software-catalog/custom-integration/api/#find-your-port-credentials)) secret | ✅ | +| `OCEAN__PORT__BASE_URL` | Your Port API URL - `https://api.getport.io` for EU, `https://api.us.getport.io` for US | ✅ |
    @@ -451,6 +467,7 @@ ingest_data: -e OCEAN__INTEGRATION__CONFIG__TOKEN=$OCEAN__INTEGRATION__CONFIG__TOKEN \ -e OCEAN__PORT__CLIENT_ID=$OCEAN__PORT__CLIENT_ID \ -e OCEAN__PORT__CLIENT_SECRET=$OCEAN__PORT__CLIENT_SECRET \ + -e OCEAN__PORT__BASE_URL='https://api.getport.io' \ $IMAGE_NAME rules: # Run only when changes are made to the main branch @@ -459,6 +476,9 @@ ingest_data: + + + diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/code-quality-security/sonarqube/sonarqube.md b/docs/build-your-software-catalog/sync-data-to-catalog/code-quality-security/sonarqube/sonarqube.md index ddf5c9cc9..c14a9ddd0 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/code-quality-security/sonarqube/sonarqube.md +++ b/docs/build-your-software-catalog/sync-data-to-catalog/code-quality-security/sonarqube/sonarqube.md @@ -9,6 +9,7 @@ import SupportedResources from "../\_supported-resources.mdx" import AdvancedConfig from '../../../../generalTemplates/\_ocean_advanced_configuration_note.md' import SonarcloudAnalysisBlueprint from "/docs/build-your-software-catalog/custom-integration/webhook/examples/resources/sonarqube/\_example_sonarcloud_analysis_blueprint.mdx"; import SonarcloudAnalysisConfiguration from "/docs/build-your-software-catalog/custom-integration/webhook/examples/resources/sonarqube/\_example_sonarcloud_analysis_configuration.mdx"; +import PortApiRegionTip from "/docs/generalTemplates/_port_region_parameter_explanation_template.md" # SonarQube @@ -43,6 +44,7 @@ Set them as you wish in the script below, then copy it and run it in your termin | ---------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------- | -------- | | `port.clientId` | Your port client id ([How to get the credentials](https://docs.getport.io/build-your-software-catalog/custom-integration/api/#find-your-port-credentials)) | | ✅ | | `port.clientSecret` | Your port client secret ([How to get the credentials](https://docs.getport.io/build-your-software-catalog/custom-integration/api/#find-your-port-credentials)) | | ✅ | +| `port.baseUrl` | Your Port API URL - `https://api.getport.io` for EU, `https://api.us.getport.io` for US | | ✅ | | `integration.secrets.sonarApiToken` | The [SonarQube API token](https://docs.sonarsource.com/sonarqube/9.8/user-guide/user-account/generating-and-using-tokens/#generating-a-token) | | ✅ | | `integration.config.sonarOrganizationId` | The SonarQube [organization Key](https://docs.sonarsource.com/sonarcloud/appendices/project-information/#project-and-organization-keys) (Not required when using on-prem sonarqube instance) | myOrganization | ✅ | | `integration.config.sonarIsOnPremise` | A boolean value indicating whether the SonarQube instance is on-premise. The default value is `false` | false | ✅ | @@ -62,6 +64,7 @@ helm repo add --force-update port-labs https://port-labs.github.io/helm-charts helm upgrade --install my-sonarqube-integration port-labs/port-ocean \ --set port.clientId="PORT_CLIENT_ID" \ --set port.clientSecret="PORT_CLIENT_SECRET" \ + --set port.baseUrl="https://api.getport.io" \ --set initializePortResources=true \ --set scheduledResyncInterval=120 \ --set integration.identifier="my-sonarqube-integration" \ @@ -71,6 +74,9 @@ helm upgrade --install my-sonarqube-integration port-labs/port-ocean \ --set integration.secrets.sonarApiToken="" \ --set integration.config.sonarOrganizationId="" ``` + + + To install the integration using ArgoCD, follow these steps: @@ -133,6 +139,8 @@ spec: value: YOUR_PORT_CLIENT_ID - name: port.clientSecret value: YOUR_PORT_CLIENT_SECRET + - name: port.baseUrl + value: https://api.getport.io - repoURL: YOUR_GIT_REPO_URL // highlight-end targetRevision: main @@ -145,10 +153,12 @@ spec: - CreateNamespace=true ``` + +
    -3. Apply your application manifest with `kubectl`: +1. Apply your application manifest with `kubectl`: ```bash kubectl apply -f my-ocean-sonarqube-integration.yaml ``` @@ -195,6 +205,7 @@ jobs: type: 'sonarqube' port_client_id: ${{ secrets.OCEAN__PORT__CLIENT_ID }} port_client_secret: ${{ secrets.OCEAN__PORT__CLIENT_SECRET }} + port_base_url: https://api.getport.io config: | sonar_api_token: ${{ secrets.OCEAN__INTEGRATION__CONFIG__SONAR_API_TOKEN }} sonar_organization_id: ${{ secrets.OCEAN__INTEGRATION__CONFIG__SONAR_ORGANIZATION_ID }} @@ -251,6 +262,7 @@ pipeline { -e OCEAN__INTEGRATION__CONFIG__SONAR_IS_ON_PREMISE=$OCEAN__INTEGRATION__CONFIG__SONAR_IS_ON_PREMISE \ -e OCEAN__PORT__CLIENT_ID=$OCEAN__PORT__CLIENT_ID \ -e OCEAN__PORT__CLIENT_SECRET=$OCEAN__PORT__CLIENT_SECRET \ + -e OCEAN__PORT__BASE_URL='https://api.getport.io' \ $image_name exit $? @@ -313,6 +325,7 @@ steps: -e OCEAN__INTEGRATION__CONFIG__SONAR_URL=$(OCEAN__INTEGRATION__CONFIG__SONAR_URL) \ -e OCEAN__PORT__CLIENT_ID=$(OCEAN__PORT__CLIENT_ID) \ -e OCEAN__PORT__CLIENT_SECRET=$(OCEAN__PORT__CLIENT_SECRET) \ + -e OCEAN__PORT__BASE_URL='https://api.getport.io' \ $image_name exit $? @@ -366,6 +379,7 @@ ingest_data: -e OCEAN__INTEGRATION__CONFIG__SONAR_IS_ON_PREMISE=$OCEAN__INTEGRATION__CONFIG__SONAR_IS_ON_PREMISE \ -e OCEAN__PORT__CLIENT_ID=$OCEAN__PORT__CLIENT_ID \ -e OCEAN__PORT__CLIENT_SECRET=$OCEAN__PORT__CLIENT_SECRET \ + -e OCEAN__PORT__BASE_URL='https://api.getport.io' \ $IMAGE_NAME rules: # Run only when changes are made to the main branch @@ -375,6 +389,8 @@ ingest_data:
    + + diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/code-quality-security/wiz.md b/docs/build-your-software-catalog/sync-data-to-catalog/code-quality-security/wiz.md index f85deea7e..23d3e8d10 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/code-quality-security/wiz.md +++ b/docs/build-your-software-catalog/sync-data-to-catalog/code-quality-security/wiz.md @@ -7,6 +7,7 @@ import AdvancedConfig from '../../../generalTemplates/_ocean_advanced_configurat import WizBlueprint from "/docs/build-your-software-catalog/custom-integration/webhook/examples/resources/wiz/\_example_wiz_issue_blueprint.mdx"; import WizConfiguration from "/docs/build-your-software-catalog/custom-integration/webhook/examples/resources/wiz/\_example_wiz_issue_webhook_configuration.mdx"; import FindCredentials from "/docs/build-your-software-catalog/custom-integration/api/_template_docs/_find_credentials.mdx"; +import PortApiRegionTip from "/docs/generalTemplates/_port_region_parameter_explanation_template.md" # Wiz @@ -81,7 +82,7 @@ You must create a service account in Wiz to generate the Client ID and Client Se
    -
    +
    ## Installation @@ -100,6 +101,7 @@ Set them as you wish in the script below, then copy it and run it in your termin | ----------------------------------- | ------------------------------------------------------------------------------------------------------------------ | -------- | | `port.clientId` | Your port client id ([Get the credentials](https://docs.getport.io/build-your-software-catalog/custom-integration/api/#find-your-port-credentials)) | ✅ | | `port.clientSecret` | Your port client secret ([Get the credentials](https://docs.getport.io/build-your-software-catalog/custom-integration/api/#find-your-port-credentials)) | ✅ | +| `port.baseUrl` | Your Port API URL - `https://api.getport.io` for EU, `https://api.us.getport.io` for US | ✅ | | `integration.identifier` | Change the identifier to describe your integration | ✅ | | `integration.type` | The integration type | ✅ | | `integration.eventListener.type` | The event listener type | ✅ | @@ -124,6 +126,7 @@ helm repo add --force-update port-labs https://port-labs.github.io/helm-charts helm upgrade --install my-wiz-integration port-labs/port-ocean \ --set port.clientId="PORT_CLIENT_ID" \ --set port.clientSecret="PORT_CLIENT_SECRET" \ + --set port.baseUrl="https://api.getport.io" \ --set initializePortResources=true \ --set scheduledResyncInterval=120 \ --set integration.identifier="my-wiz-integration" \ @@ -131,9 +134,11 @@ helm upgrade --install my-wiz-integration port-labs/port-ocean \ --set integration.eventListener.type="POLLING" \ --set integration.secrets.wizClientId="WIZ_CLIENT_ID" \ --set integration.secrets.wizClientSecret="WIZ_CLIENT_SECRET" \ - --set integration.secrets.wizApiUrl="WIZ_API_URL" \ + --set integration.secrets.wizApiUrl="WIZ_API_URL" \ --set integration.config.wizTokenUrl="WIZ_TOKEN_URL" ``` + + To install the integration using ArgoCD, follow these steps: @@ -199,6 +204,8 @@ spec: value: YOUR_PORT_CLIENT_ID - name: port.clientSecret value: YOUR_PORT_CLIENT_SECRET + - name: port.baseUrl + value: https://api.getport.io - repoURL: YOUR_GIT_REPO_URL // highlight-end targetRevision: main @@ -214,7 +221,7 @@ spec:
    -3. Apply your application manifest with `kubectl`: +1. Apply your application manifest with `kubectl`: ```bash kubectl apply -f my-ocean-wiz-integration.yaml ``` @@ -258,6 +265,7 @@ jobs: type: 'wiz' port_client_id: ${{ secrets.OCEAN__PORT__CLIENT_ID }} port_client_secret: ${{ secrets.OCEAN__PORT__CLIENT_SECRET }} + port_base_url: https://api.getport.io config: | wiz_client_id: ${{ secrets.OCEAN__INTEGRATION__CONFIG__WIZ_CLIENT_ID }} wiz_client_secret: ${{ secrets.OCEAN__INTEGRATION__CONFIG__WIZ_CLIENT_SECRET }} @@ -317,6 +325,7 @@ pipeline { -e OCEAN__INTEGRATION__CONFIG__WIZ_TOKEN_URL=$OCEAN__INTEGRATION__CONFIG__WIZ_TOKEN_URL \ -e OCEAN__PORT__CLIENT_ID=$OCEAN__PORT__CLIENT_ID \ -e OCEAN__PORT__CLIENT_SECRET=$OCEAN__PORT__CLIENT_SECRET \ + -e OCEAN__PORT__BASE_URL='https://api.getport.io' \ $image_name exit $? @@ -369,6 +378,7 @@ steps: -e OCEAN__INTEGRATION__CONFIG__WIZ_TOKEN_URL=$(OCEAN__INTEGRATION__CONFIG__WIZ_TOKEN_URL) \ -e OCEAN__PORT__CLIENT_ID=$(OCEAN__PORT__CLIENT_ID) \ -e OCEAN__PORT__CLIENT_SECRET=$(OCEAN__PORT__CLIENT_SECRET) \ + -e OCEAN__PORT__BASE_URL='https://api.getport.io' \ $image_name exit $? @@ -422,6 +432,7 @@ ingest_data: -e OCEAN__INTEGRATION__CONFIG__WIZ_TOKEN_URL=$OCEAN__INTEGRATION__CONFIG__WIZ_TOKEN_URL \ -e OCEAN__PORT__CLIENT_ID=$OCEAN__PORT__CLIENT_ID \ -e OCEAN__PORT__CLIENT_SECRET=$OCEAN__PORT__CLIENT_SECRET \ + -e OCEAN__PORT__BASE_URL='https://api.getport.io' \ $IMAGE_NAME rules: # Run only when changes are made to the main branch @@ -430,6 +441,8 @@ ingest_data:
    + + diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/event-processing/_kafka_one_time_docker_params.mdx b/docs/build-your-software-catalog/sync-data-to-catalog/event-processing/_kafka_one_time_docker_params.mdx index af672f59c..6337c8e21 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/event-processing/_kafka_one_time_docker_params.mdx +++ b/docs/build-your-software-catalog/sync-data-to-catalog/event-processing/_kafka_one_time_docker_params.mdx @@ -3,5 +3,6 @@ | `OCEAN__INTEGRATION__CONFIG__CLUSTER_CONF_MAPPING` | Mapping of Kafka cluster names to Kafka client config | | ✅ | `OCEAN__PORT__CLIENT_ID` | Your Port client ([How to get the credentials](https://docs.getport.io/build-your-software-catalog/custom-integration/api/#find-your-port-credentials)) id | | ✅ | | `OCEAN__PORT__CLIENT_SECRET` | Your Port client ([How to get the credentials](https://docs.getport.io/build-your-software-catalog/custom-integration/api/#find-your-port-credentials)) secret | | ✅ | +| `OCEAN__PORT__BASE_URL` | Your Port API URL - `https://api.getport.io` for EU, `https://api.us.getport.io` for US | | ✅ | | `OCEAN__INITIALIZE_PORT_RESOURCES` | Default true, When set to true the integration will create default blueprints and the port App config Mapping. Read more about [initializePortResources](https://ocean.getport.io/develop-an-integration/integration-configuration/#initializeportresources---initialize-port-resources) | | ❌ | | `OCEAN__INTEGRATION__IDENTIFIER` | The identifier of the integration that will be installed | | ❌ | \ No newline at end of file diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/event-processing/kafka.md b/docs/build-your-software-catalog/sync-data-to-catalog/event-processing/kafka.md index f924c6e48..b5e9df0c7 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/event-processing/kafka.md +++ b/docs/build-your-software-catalog/sync-data-to-catalog/event-processing/kafka.md @@ -5,6 +5,7 @@ import AdvancedConfig from '../../../generalTemplates/_ocean_advanced_configurat import AzurePremise from "../templates/\_ocean_azure_premise.mdx" import DockerParameters from "./\_kafka_one_time_docker_params.mdx" import HelmParameters from "../templates/\_ocean-advanced-parameters-helm.mdx" +import PortApiRegionTip from "/docs/generalTemplates/_port_region_parameter_explanation_template.md" # Kafka @@ -38,6 +39,7 @@ Set them as you wish in the script below, then copy it and run it in your termin | ---------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------- | -------- | | `port.clientId` | Your port [client id](https://docs.getport.io/build-your-software-catalog/custom-integration/api/#find-your-port-credentials) | | ✅ | | `port.clientSecret` | Your port [client secret](https://docs.getport.io/build-your-software-catalog/custom-integration/api/#find-your-port-credentials) | | ✅ | +| `port.baseUrl` | Your Port API URL - `https://api.getport.io` for EU, `https://api.us.getport.io` for US | | ✅ | | `integration.secrets.clusterConfMapping` | The Mapping of Kafka cluster names to Kafka client config | | ✅ | @@ -54,6 +56,7 @@ helm repo add --force-update port-labs https://port-labs.github.io/helm-charts helm upgrade --install kafka port-labs/port-ocean \ --set port.clientId="PORT_CLIENT_ID" \ --set port.clientSecret="PORT_CLIENT_SECRET" \ + --set port.baseUrl="https://api.getport.io" \ --set initializePortResources=true \ --set scheduledResyncInterval=60 \ --set integration.identifier="my-kafka-integration" \ @@ -61,6 +64,9 @@ helm upgrade --install kafka port-labs/port-ocean \ --set integration.eventListener.type="POLLING" \ --set-json integration.secrets.clusterConfMapping='{"local": {"bootstrap.servers": "localhost:9092"}}' ``` + + + To install the integration using ArgoCD, follow these steps: @@ -118,6 +124,8 @@ spec: value: YOUR_PORT_CLIENT_ID - name: port.clientSecret value: YOUR_PORT_CLIENT_SECRET + - name: port.baseUrl + value: https://api.getport.io - repoURL: YOUR_GIT_REPO_URL // highlight-end targetRevision: main @@ -130,10 +138,12 @@ spec: - CreateNamespace=true ``` + +
    -3. Apply your application manifest with `kubectl`: +1. Apply your application manifest with `kubectl`: ```bash kubectl apply -f my-ocean-kafka-integration.yaml ``` @@ -178,6 +188,7 @@ jobs: type: 'kafka' port_client_id: ${{ secrets.OCEAN__PORT__CLIENT_ID }} port_client_secret: ${{ secrets.OCEAN__PORT__CLIENT_SECRET }} + port_base_url: https://api.getport.io config: | cluster_conf_mapping: ${{ secrets.OCEAN__INTEGRATION__CONFIG__CLUSTER_CONF_MAPPING }} ``` @@ -225,6 +236,7 @@ pipeline { -e OCEAN__INTEGRATION__CONFIG__CLUSTER_CONF_MAPPING=$OCEAN__INTEGRATION__CONFIG__CLUSTER_CONF_MAPPING \ -e OCEAN__PORT__CLIENT_ID=$OCEAN__PORT__CLIENT_ID \ -e OCEAN__PORT__CLIENT_SECRET=$OCEAN__PORT__CLIENT_SECRET \ + -e OCEAN__PORT__BASE_URL='https://api.getport.io' \ $image_name exit $? @@ -274,6 +286,7 @@ steps: -e OCEAN__INTEGRATION__CONFIG__CLUSTER_CONF_MAPPING=$(OCEAN__INTEGRATION__CONFIG__CLUSTER_CONF_MAPPING) \ -e OCEAN__PORT__CLIENT_ID=$(OCEAN__PORT__CLIENT_ID) \ -e OCEAN__PORT__CLIENT_SECRET=$(OCEAN__PORT__CLIENT_SECRET) \ + -e OCEAN__PORT__BASE_URL='https://api.getport.io' \ $image_name exit $? @@ -325,6 +338,7 @@ ingest_data: -e OCEAN__INTEGRATION__CONFIG__CLUSTER_CONF_MAPPING=$OCEAN__INTEGRATION__CONFIG__CLUSTER_CONF_MAPPING \ -e OCEAN__PORT__CLIENT_ID=$OCEAN__PORT__CLIENT_ID \ -e OCEAN__PORT__CLIENT_SECRET=$OCEAN__PORT__CLIENT_SECRET \ + -e OCEAN__PORT__BASE_URL='https://api.getport.io' \ $IMAGE_NAME rules: # Run only when changes are made to the main branch @@ -334,6 +348,8 @@ ingest_data:
    + + diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/feature-management/_launchdarkly_one_time_docker_parameters.mdx b/docs/build-your-software-catalog/sync-data-to-catalog/feature-management/_launchdarkly_one_time_docker_parameters.mdx index a0a1091d9..edbd95c4d 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/feature-management/_launchdarkly_one_time_docker_parameters.mdx +++ b/docs/build-your-software-catalog/sync-data-to-catalog/feature-management/_launchdarkly_one_time_docker_parameters.mdx @@ -7,3 +7,4 @@ | `OCEAN__INTEGRATION__IDENTIFIER` | Change the identifier to describe your integration, if not set will use the default one | ❌ | | `OCEAN__PORT__CLIENT_ID` | Your Port client id | ✅ | | `OCEAN__PORT__CLIENT_SECRET` | Your Port client secret | ✅ | +| `OCEAN__PORT__BASE_URL` | Your Port API URL - `https://api.getport.io` for EU, `https://api.us.getport.io` for US | ✅ | diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/feature-management/launchdarkly.md b/docs/build-your-software-catalog/sync-data-to-catalog/feature-management/launchdarkly.md index 7412e9f8b..f0d5ff0e7 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/feature-management/launchdarkly.md +++ b/docs/build-your-software-catalog/sync-data-to-catalog/feature-management/launchdarkly.md @@ -7,6 +7,7 @@ description: LaunchDarkly integration in Port import Tabs from "@theme/Tabs" import TabItem from "@theme/TabItem" import DockerParameters from "./\_launchdarkly_one_time_docker_parameters.mdx" +import PortApiRegionTip from "/docs/generalTemplates/_port_region_parameter_explanation_template.md" # LaunchDarkly @@ -49,6 +50,7 @@ Set them as you wish in the script below, then copy it and run it in your termin | ---------------------------------------- | ------------------------------------------------------------------------------------------------------------- | -------- | | `port.clientId` | Your Port client id | ✅ | | `port.clientSecret` | Your Port client secret | ✅ | +| `port.baseUrl` | Your Port API URL - `https://api.getport.io` for EU, `https://api.us.getport.io` for US | ✅ | | `integration.identifier` | Change the identifier to describe your integration | ✅ | | `integration.type` | The integration type | ✅ | | `integration.eventListener.type` | The event listener type | ✅ | @@ -69,13 +71,17 @@ helm repo add --force-update port-labs https://port-labs.github.io/helm-charts helm upgrade --install launchdarkly port-labs/port-ocean \ --set port.clientId="PORT_CLIENT_ID" \ --set port.clientSecret="PORT_CLIENT_SECRET" \ + --set port.baseUrl="https://api.getport.io" \ --set initializePortResources=true \ --set integration.identifier="my-launchdarkly-integration" \ --set integration.type="launchdarkly" \ --set integration.eventListener.type="POLLING" \ - --set integration.secrets.launchdarklyHost="string" \ + --set integration.secrets.launchdarklyHost="string" \ --set integration.secrets.launchdarklyToken="string" \ ``` + + + To install the integration using ArgoCD, follow these steps: @@ -135,6 +141,8 @@ spec: value: YOUR_PORT_CLIENT_ID - name: port.clientSecret value: YOUR_PORT_CLIENT_SECRET + - name: port.baseUrl + value: https://api.getport.io - repoURL: YOUR_GIT_REPO_URL // highlight-end targetRevision: main @@ -147,10 +155,12 @@ spec: - CreateNamespace=true ``` + +
    -3. Apply your application manifest with `kubectl`: +1. Apply your application manifest with `kubectl`: ```bash kubectl apply -f my-ocean-launchdarkly-integration.yaml ``` @@ -193,6 +203,7 @@ jobs: type: "launchdarkly" port_client_id: ${{ secrets.OCEAN__PORT__CLIENT_ID }} port_client_secret: ${{ secrets.OCEAN__PORT__CLIENT_SECRET }} + port_base_url: https://api.getport.io config: | launchdarkly_host: ${{ secrets.OCEAN__INTEGRATION__CONFIG__LAUNCHDARKLY_HOST }} launchdarkly_token: ${{ secrets.OCEAN__INTEGRATION__CONFIG__LAUNCHDARKLY_TOKEN }} @@ -243,6 +254,7 @@ pipeline { -e OCEAN__INTEGRATION__CONFIG__LAUNCHDARKLY_TOKEN=$OCEAN__INTEGRATION__CONFIG__LAUNCHDARKLY_TOKEN \ -e OCEAN__PORT__CLIENT_ID=$OCEAN__PORT__CLIENT_ID \ -e OCEAN__PORT__CLIENT_SECRET=$OCEAN__PORT__CLIENT_SECRET \ + -e OCEAN__PORT__BASE_URL='https://api.getport.io' \ $image_name exit $? @@ -300,6 +312,7 @@ ingest_data: -e OCEAN__INTEGRATION__CONFIG__LAUNCHDARKLY_TOKEN=$OCEAN__INTEGRATION__CONFIG__LAUNCHDARKLY_TOKEN \ -e OCEAN__PORT__CLIENT_ID=$OCEAN__PORT__CLIENT_ID \ -e OCEAN__PORT__CLIENT_SECRET=$OCEAN__PORT__CLIENT_SECRET \ + -e OCEAN__PORT__BASE_URL='https://api.getport.io' \ $IMAGE_NAME rules: # Run only when changes are made to the main branch @@ -310,6 +323,8 @@ ingest_data:
    + + diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/_azuredevops_one_time_docker_parameters.mdx b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/_azuredevops_one_time_docker_parameters.mdx index 821c0fed7..81757a360 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/_azuredevops_one_time_docker_parameters.mdx +++ b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/_azuredevops_one_time_docker_parameters.mdx @@ -4,5 +4,6 @@ | `OCEAN__INTEGRATION__CONFIG__ORGANIZATION_URL` | The URL of your Azure DevOps instance | | ✅ | | `OCEAN__PORT__CLIENT_ID` | Your Port client ([How to get the credentials](https://docs.getport.io/build-your-software-catalog/custom-integration/api/#find-your-port-credentials)) id | | ✅ | | `OCEAN__PORT__CLIENT_SECRET` | Your Port client ([How to get the credentials](https://docs.getport.io/build-your-software-catalog/custom-integration/api/#find-your-port-credentials)) secret | | ✅ | +| `OCEAN__PORT__BASE_URL` | Your Port API URL - `https://api.getport.io` for EU, `https://api.us.getport.io` for US | | ✅ | | `OCEAN__INITIALIZE_PORT_RESOURCES` | Default true, When set to true the integration will create default blueprints and the port App config Mapping. Read more about [initializePortResources](https://ocean.getport.io/develop-an-integration/integration-configuration/#initializeportresources---initialize-port-resources) | | ❌ | | `OCEAN__INTEGRATION__IDENTIFIER` | The identifier of the integration that will be installed | | ❌ | diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/installation.md b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/installation.md index f89bbefbf..4f6ca7408 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/installation.md +++ b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/installation.md @@ -7,6 +7,7 @@ import TabItem from "@theme/TabItem" import HelmParameters from "../../templates/\_ocean-advanced-parameters-helm.mdx" import DockerParameters from "./\_azuredevops_one_time_docker_parameters.mdx" import AdvancedConfig from '../../../../generalTemplates/_ocean_advanced_configuration_note.md' +import PortApiRegionTip from "/docs/generalTemplates/_port_region_parameter_explanation_template.md" # Installation @@ -61,6 +62,7 @@ Set them as you wish in the script below, then copy it and run it in your termin | ---------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | -------------------------------- | -------- | | `port.clientId` | Your port [client id](https://docs.getport.io/build-your-software-catalog/custom-integration/api/#find-your-port-credentials) | | ✅ | | `port.clientSecret` | Your port [client secret](https://docs.getport.io/build-your-software-catalog/custom-integration/api/#find-your-port-credentials) | | ✅ | +| `port.baseUrl` | Your Port API URL - `https://api.getport.io` for EU, `https://api.us.getport.io` for US | | ✅ | | `integration.secrets.personalAccessToken` | The [personal access token](#tokenmapping) used to query authenticate with your Azure Devops account | | ✅ | | `integration.secrets.organizationUrl` | The URL of your Azure DevOps organization | https://dev.azure.com/organizationName | ✅ | | `integration.config.appHost` | The host of the Port Ocean app. Used to set up the integration endpoint as the target for webhooks created in Azure DevOps | https://my-ocean-integration.com | ❌ | @@ -88,6 +90,8 @@ helm upgrade --install my-azure-devops-integration port-labs/port-ocean \ --set integration.secrets.personalAccessToken="Enter value here" ``` + + To install the integration using ArgoCD, follow these steps: @@ -147,6 +151,8 @@ spec: value: YOUR_PORT_CLIENT_ID - name: port.clientSecret value: YOUR_PORT_CLIENT_SECRET + - name: port.baseUrl + value: https://api.getport.io - repoURL: YOUR_GIT_REPO_URL // highlight-end targetRevision: main @@ -159,10 +165,12 @@ spec: - CreateNamespace=true ``` + +
    -3. Apply your application manifest with `kubectl`: +1. Apply your application manifest with `kubectl`: ```bash kubectl apply -f my-ocean-azure-devops-integration.yaml ``` @@ -215,6 +223,7 @@ steps: -e OCEAN__INTEGRATION__CONFIG__ORGANIZATION_URL=${OCEAN__INTEGRATION__CONFIG__ORGANIZATION_URL} \ -e OCEAN__PORT__CLIENT_ID=${OCEAN__PORT__CLIENT_ID} \ -e OCEAN__PORT__CLIENT_SECRET=${OCEAN__PORT__CLIENT_SECRET} \ + -e OCEAN__PORT__BASE_URL='https://api.getport.io' \ $image_name exit $? @@ -222,6 +231,8 @@ steps: ``` + +
    diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/git/gitlab/_gitlab_one_time_docker_parameters.mdx b/docs/build-your-software-catalog/sync-data-to-catalog/git/gitlab/_gitlab_one_time_docker_parameters.mdx index c63b13b86..f0b5448ca 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/git/gitlab/_gitlab_one_time_docker_parameters.mdx +++ b/docs/build-your-software-catalog/sync-data-to-catalog/git/gitlab/_gitlab_one_time_docker_parameters.mdx @@ -3,6 +3,7 @@ | `OCEAN__INTEGRATION__CONFIG__TOKEN_MAPPING` | The [token mapping](#tokenmapping) configuration used to query GitLab | | ✅ | | `OCEAN__PORT__CLIENT_ID` | Your Port client ([How to get the credentials](https://docs.getport.io/build-your-software-catalog/custom-integration/api/#find-your-port-credentials)) id | | ✅ | | `OCEAN__PORT__CLIENT_SECRET` | Your Port client ([How to get the credentials](https://docs.getport.io/build-your-software-catalog/custom-integration/api/#find-your-port-credentials)) secret | | ✅ | +| `OCEAN__PORT__BASE_URL` | Your Port API URL - `https://api.getport.io` for EU, `https://api.us.getport.io` for US | | ✅ | | `OCEAN__INITIALIZE_PORT_RESOURCES` | Default true, When set to true the integration will create default blueprints and the port App config Mapping. Read more about [initializePortResources](https://ocean.getport.io/develop-an-integration/integration-configuration/#initializeportresources---initialize-port-resources) | | ❌ | | `OCEAN__INTEGRATION__CONFIG__GITLAB_HOST` | (for self-hosted GitLab) the URL of your GitLab instance | | ❌ | | `OCEAN__INTEGRATION__IDENTIFIER` | The identifier of the integration that will be installed | | ❌ | diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/git/gitlab/installation.md b/docs/build-your-software-catalog/sync-data-to-catalog/git/gitlab/installation.md index 3bb1636d8..a57265c72 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/git/gitlab/installation.md +++ b/docs/build-your-software-catalog/sync-data-to-catalog/git/gitlab/installation.md @@ -6,7 +6,8 @@ import Tabs from "@theme/Tabs" import TabItem from "@theme/TabItem" import HelmParameters from "../../templates/\_ocean-advanced-parameters-helm.mdx" import DockerParameters from "./\_gitlab_one_time_docker_parameters.mdx" -import AdvancedConfig from '../../../../generalTemplates/_ocean_advanced_configuration_note.md' +import AdvancedConfig from '/docs/generalTemplates/_ocean_advanced_configuration_note.md' +import PortApiRegionTip from "/docs/generalTemplates/_port_region_parameter_explanation_template.md" # Installation @@ -215,8 +216,9 @@ Set them as you wish in the script below, then copy it and run it in your termin | Parameter | Description | Example | Required | | ---------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | -------------------------------- | -------- | -| `port.clientId` | Your port [client id](https://docs.getport.io/build-your-software-catalog/custom-integration/api/#find-your-port-credentials) | | ✅ | -| `port.clientSecret` | Your port [client secret](https://docs.getport.io/build-your-software-catalog/custom-integration/api/#find-your-port-credentials) | | ✅ | +| `port.clientId` | Your Port [client id](https://docs.getport.io/build-your-software-catalog/custom-integration/api/#find-your-port-credentials) | | ✅ | +| `port.clientSecret` | Your Port [client secret](https://docs.getport.io/build-your-software-catalog/custom-integration/api/#find-your-port-credentials) | | ✅ | +| `port.baseUrl` | Your Port API URL - `https://api.getport.io` for EU, `https://api.us.getport.io` for US | | ✅ | | `integration.secrets.tokenMapping` | The [token mapping](#tokenmapping) configuration used to query GitLab | | ✅ | | `integration.config.appHost` | The host of the Port Ocean app. Used to set up the integration endpoint as the target for webhooks created in GitLab | https://my-ocean-integration.com | ❌ | | `integration.config.gitlabHost` | (for self-hosted GitLab) the URL of your GitLab instance | https://my-gitlab.com | ❌ | @@ -244,6 +246,8 @@ helm upgrade --install my-gitlab-integration port-labs/port-ocean \ --set integration.secrets.tokenMapping="\{\"TOKEN\": [\"GROUP_NAME/**\"]\}" ``` + + It is also possible to get Port's UI to generate your installation command for you, Port will inject values such as your Port client ID and client secret directly into the command, making it easier to get started. Follow these steps to setup the integration through Port's UI: @@ -317,6 +321,8 @@ spec: value: YOUR_PORT_CLIENT_ID - name: port.clientSecret value: YOUR_PORT_CLIENT_SECRET + - name: port.baseUrl + value: https://api.getport.io - repoURL: YOUR_GIT_REPO_URL // highlight-end targetRevision: main @@ -329,10 +335,12 @@ spec: - CreateNamespace=true ``` + +
    -3. Apply your application manifest with `kubectl`: +1. Apply your application manifest with `kubectl`: ```bash kubectl apply -f my-ocean-gitlab-integration.yaml ``` @@ -388,11 +396,14 @@ deploy_gitlab: -e OCEAN__INTEGRATION__CONFIG__TOKEN_MAPPING="$OCEAN__INTEGRATION__CONFIG__TOKEN_MAPPING" \ -e OCEAN__PORT__CLIENT_ID=$OCEAN__PORT__CLIENT_ID \ -e OCEAN__PORT__CLIENT_SECRET=$OCEAN__PORT__CLIENT_SECRET \ + -e OCEAN__PORT__BASE_URL='https://api.getport.io' \ $image_name only: - main ``` + + :::note When saving the `OCEAN__INTEGRATION__CONFIG__TOKEN_MAPPING` variable, be sure to save it **as-is**, for example given the following token mapping: @@ -451,6 +462,7 @@ pipeline { -e OCEAN__INTEGRATION__CONFIG__TOKEN_MAPPING="$OCEAN__INTEGRATION__CONFIG__TOKEN_MAPPING" \ -e OCEAN__PORT__CLIENT_ID=$OCEAN__PORT__CLIENT_ID \ -e OCEAN__PORT__CLIENT_SECRET=$OCEAN__PORT__CLIENT_SECRET \ + -e OCEAN__PORT__BASE_URL='https://api.getport.io' \ $image_name exit $? @@ -463,6 +475,8 @@ pipeline { } ``` + + diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/incident-management/_firehydrant_docker_params.mdx b/docs/build-your-software-catalog/sync-data-to-catalog/incident-management/_firehydrant_docker_params.mdx index 4e7602a61..4a7ffd54d 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/incident-management/_firehydrant_docker_params.mdx +++ b/docs/build-your-software-catalog/sync-data-to-catalog/incident-management/_firehydrant_docker_params.mdx @@ -6,3 +6,4 @@ | `OCEAN__INTEGRATION__IDENTIFIER` | Change the identifier to describe your integration, if not set will use the default one | ❌ | | `OCEAN__PORT__CLIENT_ID` | Your port client id | ✅ | | `OCEAN__PORT__CLIENT_SECRET` | Your port client secret | ✅ | +| `OCEAN__PORT__BASE_URL` | Your Port API URL - `https://api.getport.io` for EU, `https://api.us.getport.io` for US | ✅ | diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/incident-management/_opsgenie_docker_params.mdx b/docs/build-your-software-catalog/sync-data-to-catalog/incident-management/_opsgenie_docker_params.mdx index 1fad58d99..f99b37376 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/incident-management/_opsgenie_docker_params.mdx +++ b/docs/build-your-software-catalog/sync-data-to-catalog/incident-management/_opsgenie_docker_params.mdx @@ -6,3 +6,4 @@ | `OCEAN__INTEGRATION__IDENTIFIER` | Change the identifier to describe your integration, if not set will use the default one | ❌ | | `OCEAN__PORT__CLIENT_ID` | Your port client id | ✅ | | `OCEAN__PORT__CLIENT_SECRET` | Your port client secret | ✅ | +| `OCEAN__PORT__BASE_URL` | Your Port API URL - `https://api.getport.io` for EU, `https://api.us.getport.io` for US | ✅ | diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/incident-management/_pagerduty_docker_params.mdx b/docs/build-your-software-catalog/sync-data-to-catalog/incident-management/_pagerduty_docker_params.mdx index c7283be9d..4be720aeb 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/incident-management/_pagerduty_docker_params.mdx +++ b/docs/build-your-software-catalog/sync-data-to-catalog/incident-management/_pagerduty_docker_params.mdx @@ -6,3 +6,4 @@ | `OCEAN__INTEGRATION__IDENTIFIER` | Change the identifier to describe your integration, if not set will use the default one | ❌ | | `OCEAN__PORT__CLIENT_ID` | Your port client id | ✅ | | `OCEAN__PORT__CLIENT_SECRET` | Your port client secret | ✅ | +| `OCEAN__PORT__BASE_URL` | Your Port API URL - `https://api.getport.io` for EU, `https://api.us.getport.io` for US | ✅ | diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/incident-management/_servicenow_docker_parameters.mdx b/docs/build-your-software-catalog/sync-data-to-catalog/incident-management/_servicenow_docker_parameters.mdx index 0f43f028e..d3cba4b15 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/incident-management/_servicenow_docker_parameters.mdx +++ b/docs/build-your-software-catalog/sync-data-to-catalog/incident-management/_servicenow_docker_parameters.mdx @@ -7,3 +7,4 @@ | `OCEAN__INTEGRATION__IDENTIFIER` | Change the identifier to describe your integration, if not set will use the default one | ❌ | | `OCEAN__PORT__CLIENT_ID` | Your Port client id ([How to get the credentials](https://docs.getport.io/build-your-software-catalog/custom-integration/api/#find-your-port-credentials)) | ✅ | | `OCEAN__PORT__CLIENT_SECRET` | Your Port client secret ([How to get the credentials](https://docs.getport.io/build-your-software-catalog/custom-integration/api/#find-your-port-credentials)) | ✅ | +| `OCEAN__PORT__BASE_URL` | Your Port API URL - `https://api.getport.io` for EU, `https://api.us.getport.io` for US | ✅ | diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/incident-management/firehydrant.md b/docs/build-your-software-catalog/sync-data-to-catalog/incident-management/firehydrant.md index 37ee412f1..bac63527c 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/incident-management/firehydrant.md +++ b/docs/build-your-software-catalog/sync-data-to-catalog/incident-management/firehydrant.md @@ -8,6 +8,7 @@ import Prerequisites from "../templates/\_ocean_helm_prerequisites_block.mdx" import AzurePremise from "../templates/\_ocean_azure_premise.mdx" import DockerParameters from "./\_firehydrant_docker_params.mdx" import AdvancedConfig from '../../../generalTemplates/_ocean_advanced_configuration_note.md' +import PortApiRegionTip from "/docs/generalTemplates/_port_region_parameter_explanation_template.md" # FireHydrant @@ -39,6 +40,7 @@ Set them as you wish in the script below, then copy it and run it in your termin | -------------------------------- | ------------------------------------------------------------------------------------------------------------------------- | -------- | | `port.clientId` | Your port client id | ✅ | | `port.clientSecret` | Your port client secret | ✅ | +| `port.baseUrl` | Your Port API URL - `https://api.getport.io` for EU, `https://api.us.getport.io` for US | ✅ | | `integration.identifier` | Change the identifier to describe your integration | ✅ | | `integration.type` | The integration type | ✅ | | `integration.eventListener.type` | The event listener type | ✅ | @@ -60,6 +62,7 @@ helm repo add --force-update port-labs https://port-labs.github.io/helm-charts helm upgrade --install my-firehydrant-integration port-labs/port-ocean \ --set port.clientId="CLIENT_ID" \ --set port.clientSecret="CLIENT_SECRET" \ + --set port.baseUrl="https://api.getport.io" \ --set initializePortResources=true \ --set integration.identifier="my-firehydrant-integration" \ --set integration.type="firehydrant" \ @@ -67,6 +70,8 @@ helm upgrade --install my-firehydrant-integration port-labs/port-ocean \ --set integration.config.apiUrl="https://api.firehydrant.io" \ --set integration.secrets.token="" ``` + + @@ -128,6 +133,8 @@ spec: value: YOUR_PORT_CLIENT_ID - name: port.clientSecret value: YOUR_PORT_CLIENT_SECRET + - name: port.baseUrl + value: https://api.getport.io - repoURL: YOUR_GIT_REPO_URL // highlight-end targetRevision: main @@ -139,11 +146,12 @@ spec: syncOptions: - CreateNamespace=true ``` +
    -3. Apply your application manifest with `kubectl`: +1. Apply your application manifest with `kubectl`: ```bash kubectl apply -f my-ocean-firehydrant-integration.yaml ``` @@ -187,7 +195,8 @@ jobs: with: type: 'firehydrant' port_client_id: ${{ secrets.OCEAN__PORT__CLIENT_ID }} - port_client_secret: ${{ secrets.OCEAN__PORT__CLIENT_SECRET }} + port_client_secret: ${{ secrets.OCEAN__PORT__CLIENT_SECRET }} + port_base_url: https://api.getport.io config: | config_token: ${{ secrets.OCEAN__INTEGRATION__CONFIG__TOKEN }} ``` @@ -237,6 +246,7 @@ pipeline { -e OCEAN__INTEGRATION__CONFIG__TOKEN=$OCEAN__INTEGRATION__CONFIG__TOKEN \ -e OCEAN__PORT__CLIENT_ID=$OCEAN__PORT__CLIENT_ID \ -e OCEAN__PORT__CLIENT_SECRET=$OCEAN__PORT__CLIENT_SECRET \ + -e OCEAN__PORT__BASE_URL='https://api.getport.io' \ $image_name exit $? @@ -286,6 +296,7 @@ steps: -e OCEAN__INTEGRATION__CONFIG__TOKEN=$(OCEAN__INTEGRATION__CONFIG__TOKEN) \ -e OCEAN__PORT__CLIENT_ID=$(OCEAN__PORT__CLIENT_ID) \ -e OCEAN__PORT__CLIENT_SECRET=$(OCEAN__PORT__CLIENT_SECRET) \ + -e OCEAN__PORT__BASE_URL='https://api.getport.io' \ $image_name exit $? @@ -339,6 +350,7 @@ ingest_data: -e OCEAN__INTEGRATION__CONFIG__API_URL=$OCEAN__INTEGRATION__CONFIG__API_URL \ -e OCEAN__PORT__CLIENT_ID=$OCEAN__PORT__CLIENT_ID \ -e OCEAN__PORT__CLIENT_SECRET=$OCEAN__PORT__CLIENT_SECRET \ + -e OCEAN__PORT__BASE_URL='https://api.getport.io' \ $IMAGE_NAME rules: # Run only when changes are made to the main branch @@ -349,6 +361,8 @@ ingest_data: + +
    diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/incident-management/opsgenie.md b/docs/build-your-software-catalog/sync-data-to-catalog/incident-management/opsgenie.md index 065a48d0c..7d0c1fa80 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/incident-management/opsgenie.md +++ b/docs/build-your-software-catalog/sync-data-to-catalog/incident-management/opsgenie.md @@ -10,6 +10,7 @@ import DockerParameters from "./\_opsgenie_docker_params.mdx" import AdvancedConfig from '../../../generalTemplates/_ocean_advanced_configuration_note.md' import OpsGenieAlertBlueprint from "/docs/build-your-software-catalog/custom-integration/webhook/examples/resources/opsgenie/\_example_opsgenie_alert_blueprint.mdx"; import OpsGenieAlertConfiguration from "/docs/build-your-software-catalog/custom-integration/webhook/examples/resources/opsgenie/\_example_opsgenie_alert_configuration.mdx"; +import PortApiRegionTip from "/docs/generalTemplates/_port_region_parameter_explanation_template.md" # Opsgenie @@ -41,6 +42,7 @@ Set them as you wish in the script below, then copy it and run it in your termin | -------------------------------- | ------------------------------------------------------------------------------------------------------------- | -------- | | `port.clientId` | Your port client id | ✅ | | `port.clientSecret` | Your port client secret | ✅ | +| `port.baseUrl` | Your Port API URL - `https://api.getport.io` for EU, `https://api.us.getport.io` for US | ✅ | | `integration.identifier` | Change the identifier to describe your integration | ✅ | | `integration.type` | The integration type | ✅ | | `integration.eventListener.type` | The event listener type | ✅ | @@ -60,6 +62,7 @@ helm repo add --force-update port-labs https://port-labs.github.io/helm-charts helm upgrade --install my-opsgenie-integration port-labs/port-ocean \ --set port.clientId="CLIENT_ID" \ --set port.clientSecret="CLIENT_SECRET" \ + --set port.baseUrl="https://api.getport.io" \ --set initializePortResources=true \ --set integration.identifier="my-opsgenie-integration" \ --set integration.type="opsgenie" \ @@ -67,6 +70,8 @@ helm upgrade --install my-opsgenie-integration port-labs/port-ocean \ --set integration.secrets.apiToken="API_TOKEN" \ --set integration.config.apiUrl="https://api.opsgenie.com" ``` + + @@ -128,6 +133,8 @@ spec: value: YOUR_PORT_CLIENT_ID - name: port.clientSecret value: YOUR_PORT_CLIENT_SECRET + - name: port.baseUrl + value: https://api.getport.io - repoURL: YOUR_GIT_REPO_URL // highlight-end targetRevision: main @@ -140,10 +147,12 @@ spec: - CreateNamespace=true ``` + +
    -3. Apply your application manifest with `kubectl`: +1. Apply your application manifest with `kubectl`: ```bash kubectl apply -f my-ocean-opsgenie-integration.yaml ``` @@ -187,6 +196,7 @@ jobs: type: 'opsgenie' port_client_id: ${{ secrets.OCEAN__PORT__CLIENT_ID }} port_client_secret: ${{ secrets.OCEAN__PORT__CLIENT_SECRET }} + port_base_url: https://api.getport.io config: | api_token: ${{ secrets.OCEAN__INTEGRATION__CONFIG__API_TOKEN }} api_url: ${{ secrets.OCEAN__INTEGRATION__CONFIG__API_URL }} @@ -239,6 +249,7 @@ pipeline { -e OCEAN__INTEGRATION__CONFIG__API_URL=$OCEAN__INTEGRATION__CONFIG__API_URL \ -e OCEAN__PORT__CLIENT_ID=$OCEAN__PORT__CLIENT_ID \ -e OCEAN__PORT__CLIENT_SECRET=$OCEAN__PORT__CLIENT_SECRET \ + -e OCEAN__PORT__BASE_URL='https://api.getport.io' \ $image_name exit $? @@ -288,6 +299,7 @@ steps: -e OCEAN__INTEGRATION__CONFIG__API_URL=$(OCEAN__INTEGRATION__CONFIG__API_URL) \ -e OCEAN__PORT__CLIENT_ID=$(OCEAN__PORT__CLIENT_ID) \ -e OCEAN__PORT__CLIENT_SECRET=$(OCEAN__PORT__CLIENT_SECRET) \ + -e OCEAN__PORT__BASE_URL='https://api.getport.io' \ $image_name exit $? @@ -340,6 +352,7 @@ ingest_data: -e OCEAN__INTEGRATION__CONFIG__API_URL=$OCEAN__INTEGRATION__CONFIG__API_URL \ -e OCEAN__PORT__CLIENT_ID=$OCEAN__PORT__CLIENT_ID \ -e OCEAN__PORT__CLIENT_SECRET=$OCEAN__PORT__CLIENT_SECRET \ + -e OCEAN__PORT__BASE_URL='https://api.getport.io' \ $IMAGE_NAME rules: # Run only when changes are made to the main branch @@ -348,6 +361,9 @@ ingest_data:
    + + + diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/incident-management/pagerduty.md b/docs/build-your-software-catalog/sync-data-to-catalog/incident-management/pagerduty.md index 1373c5aa1..9bf95e6b3 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/incident-management/pagerduty.md +++ b/docs/build-your-software-catalog/sync-data-to-catalog/incident-management/pagerduty.md @@ -13,6 +13,7 @@ import PagerDutyIncidentBlueprint from "/docs/build-your-software-catalog/custom import PagerDutyWebhookConfig from "/docs/build-your-software-catalog/custom-integration/webhook/examples/resources/pagerduty/\_example_pagerduty_webhook_config.mdx" import PagerDutyWebhookHistory from "/docs/build-your-software-catalog/custom-integration/webhook/examples/resources/pagerduty/\_example_pagerduty_webhook_history_config.mdx" import PagerDutyScript from "/docs/build-your-software-catalog/custom-integration/webhook/examples/resources/pagerduty/\_example_pagerduty_shell_history_config.mdx" +import PortApiRegionTip from "/docs/generalTemplates/_port_region_parameter_explanation_template.md" # PagerDuty @@ -44,6 +45,7 @@ Set them as you wish in the script below, then copy it and run it in your termin | -------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | -------- | | `port.clientId` | Your port client id | ✅ | | `port.clientSecret` | Your port client secret | ✅ | +| `port.baseUrl` | Your Port API URL - `https://api.getport.io` for EU, `https://api.us.getport.io` for US | ✅ | | `integration.identifier` | Change the identifier to describe your integration | ✅ | | `integration.type` | The integration type | ✅ | | `integration.eventListener.type` | The event listener type | ✅ | @@ -65,6 +67,7 @@ helm repo add --force-update port-labs https://port-labs.github.io/helm-charts helm upgrade --install my-pagerduty-integration port-labs/port-ocean \ --set port.clientId="PORT_CLIENT_ID" \ --set port.clientSecret="PORT_CLIENT_SECRET" \ + --set port.baseUrl="https://api.getport.io" \ --set initializePortResources=true \ --set scheduledResyncInterval=120 \ --set integration.identifier="my-pagerduty-integration" \ @@ -73,6 +76,7 @@ helm upgrade --install my-pagerduty-integration port-labs/port-ocean \ --set integration.secrets.token="string" \ --set integration.config.apiUrl="string" ``` + @@ -134,6 +138,8 @@ spec: value: YOUR_PORT_CLIENT_ID - name: port.clientSecret value: YOUR_PORT_CLIENT_SECRET + - name: port.baseUrl + value: https://api.getport.io - repoURL: YOUR_GIT_REPO_URL // highlight-end targetRevision: main @@ -146,10 +152,11 @@ spec: - CreateNamespace=true ``` +
    -3. Apply your application manifest with `kubectl`: +1. Apply your application manifest with `kubectl`: ```bash kubectl apply -f my-ocean-pagerduty-integration.yaml ``` @@ -193,6 +200,7 @@ jobs: type: 'pagerduty' port_client_id: ${{ secrets.OCEAN__PORT__CLIENT_ID }} port_client_secret: ${{ secrets.OCEAN__PORT__CLIENT_SECRET }} + port_base_url: https://api.getport.io config: | token: ${{ secrets.OCEAN__INTEGRATION__CONFIG__TOKEN }} api_url: ${{ secrets.OCEAN__INTEGRATION__CONFIG__API_URL }} @@ -200,11 +208,13 @@ jobs:
    + This pipeline will run the PagerDuty integration once and then exit, this is useful for **scheduled** ingestion of data. :::tip Your Jenkins agent should be able to run docker commands. ::: + :::warning If you want the integration to update Port in real time using webhooks you should use the [Real Time & Always On](?installation-methods=real-time-always-on#installation) installation option. @@ -214,6 +224,7 @@ Make sure to configure the following [Jenkins Credentials](https://www.jenkins.i of `Secret Text` type: +
    Here is an example for `Jenkinsfile` groovy pipeline file: @@ -244,6 +255,7 @@ pipeline { -e OCEAN__INTEGRATION__CONFIG__API_URL=$OCEAN__INTEGRATION__CONFIG__API_URL \ -e OCEAN__PORT__CLIENT_ID=$OCEAN__PORT__CLIENT_ID \ -e OCEAN__PORT__CLIENT_SECRET=$OCEAN__PORT__CLIENT_SECRET \ + -e OCEAN__PORT__BASE_URL='https://api.getport.io' \ $image_name exit $? @@ -293,6 +305,7 @@ steps: -e OCEAN__INTEGRATION__CONFIG__API_URL=$(OCEAN__INTEGRATION__CONFIG__API_URL) \ -e OCEAN__PORT__CLIENT_ID=$(OCEAN__PORT__CLIENT_ID) \ -e OCEAN__PORT__CLIENT_SECRET=$(OCEAN__PORT__CLIENT_SECRET) \ + -e OCEAN__PORT__BASE_URL='https://api.getport.io' \ $image_name exit $? @@ -345,6 +358,7 @@ ingest_data: -e OCEAN__INTEGRATION__CONFIG__API_URL=$OCEAN__INTEGRATION__CONFIG__API_URL \ -e OCEAN__PORT__CLIENT_ID=$OCEAN__PORT__CLIENT_ID \ -e OCEAN__PORT__CLIENT_SECRET=$OCEAN__PORT__CLIENT_SECRET \ + -e OCEAN__PORT__BASE_URL='https://api.getport.io' \ $IMAGE_NAME rules: # Run only when changes are made to the main branch @@ -353,6 +367,9 @@ ingest_data:
    + + + diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/incident-management/servicenow.md b/docs/build-your-software-catalog/sync-data-to-catalog/incident-management/servicenow.md index 631ec47c4..4e0a679d2 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/incident-management/servicenow.md +++ b/docs/build-your-software-catalog/sync-data-to-catalog/incident-management/servicenow.md @@ -9,6 +9,7 @@ import AzurePremise from "../templates/\_ocean_azure_premise.mdx" import DockerParameters from "./\_servicenow_docker_parameters.mdx" import HelmParameters from "../templates/\_ocean-advanced-parameters-helm.mdx" import AdvancedConfig from '../../../generalTemplates/_ocean_advanced_configuration_note.md' +import PortApiRegionTip from "/docs/generalTemplates/_port_region_parameter_explanation_template.md" # ServiceNow @@ -43,6 +44,7 @@ Set them as you wish in the script below, then copy it and run it in your termin | ---------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------- | | `port.clientId` | Your Port client id ([How to get the credentials](https://docs.getport.io/build-your-software-catalog/custom-integration/api/#find-your-port-credentials)) | ✅ | | `port.clientSecret` | Your Port client secret ([How to get the credentials](https://docs.getport.io/build-your-software-catalog/custom-integration/api/#find-your-port-credentials)) | ✅ | +| `port.baseUrl` | Your Port API URL - `https://api.getport.io` for EU, `https://api.us.getport.io` for US | ✅ | | `integration.identifier` | Change the identifier to describe your integration | ✅ | | `integration.config.servicenowUsername` | The ServiceNow account username | ✅ | | `integration.secrets.servicenowPassword` | The ServiceNow account password | ✅ | @@ -62,14 +64,17 @@ helm repo add --force-update port-labs https://port-labs.github.io/helm-charts helm upgrade --install my-servicenow-integration port-labs/port-ocean \ --set port.clientId="CLIENT_ID" \ --set port.clientSecret="CLIENT_SECRET" \ + --set port.baseUrl="https://api.getport.io" \ --set initializePortResources=true \ --set integration.identifier="my-servicenow-integration" \ --set integration.type="servicenow" \ --set integration.eventListener.type="POLLING" \ --set integration.config.servicenowUsername="" \ --set integration.secrets.servicenowPassword="" \ - --set integration.config.servicenowUrl="" + --set integration.config.servicenowUrl="" ``` + + To install the integration using ArgoCD, follow these steps: @@ -132,6 +137,8 @@ spec: value: YOUR_PORT_CLIENT_ID - name: port.clientSecret value: YOUR_PORT_CLIENT_SECRET + - name: port.baseUrl + value: https://api.getport.io - repoURL: YOUR_GIT_REPO_URL // highlight-end targetRevision: main @@ -144,10 +151,12 @@ spec: - CreateNamespace=true ``` + +
    -3. Apply your application manifest with `kubectl`: +1. Apply your application manifest with `kubectl`: ```bash kubectl apply -f my-ocean-servicenow-integration.yaml ``` @@ -192,6 +201,7 @@ jobs: type: 'servicenow' port_client_id: ${{ secrets.OCEAN__PORT__CLIENT_ID }} port_client_secret: ${{ secrets.OCEAN__PORT__CLIENT_SECRET }} + port_base_url: https://api.getport.io config: | servicenow_username: ${{ secrets.OCEAN__INTEGRATION__CONFIG__SERVICENOW_USERNAME }} servicenow_password: ${{ secrets.OCEAN__INTEGRATION__CONFIG__SERVICENOW_PASSWORD }} @@ -247,6 +257,7 @@ pipeline { -e OCEAN__INTEGRATION__CONFIG__SERVICENOW_URL=$OCEAN__INTEGRATION__CONFIG__SERVICENOW_URL \ -e OCEAN__PORT__CLIENT_ID=$OCEAN__PORT__CLIENT_ID \ -e OCEAN__PORT__CLIENT_SECRET=$OCEAN__PORT__CLIENT_SECRET \ + -e OCEAN__PORT__BASE_URL='https://api.getport.io' \ $image_name exit $? @@ -297,6 +308,7 @@ steps: -e OCEAN__INTEGRATION__CONFIG__SERVICENOW_URL=$(OCEAN__INTEGRATION__CONFIG__SERVICENOW_URL) \ -e OCEAN__PORT__CLIENT_ID=$(OCEAN__PORT__CLIENT_ID) \ -e OCEAN__PORT__CLIENT_SECRET=$(OCEAN__PORT__CLIENT_SECRET) \ + -e OCEAN__PORT__BASE_URL='https://api.getport.io' \ $image_name exit $? @@ -350,6 +362,7 @@ ingest_data: -e OCEAN__INTEGRATION__CONFIG__SERVICENOW_URL=$OCEAN__INTEGRATION__CONFIG__SERVICENOW_URL \ -e OCEAN__PORT__CLIENT_ID=$OCEAN__PORT__CLIENT_ID \ -e OCEAN__PORT__CLIENT_SECRET=$OCEAN__PORT__CLIENT_SECRET \ + -e OCEAN__PORT__BASE_URL='https://api.getport.io' \ $IMAGE_NAME rules: # Run only when changes are made to the main branch @@ -359,6 +372,8 @@ ingest_data:
    + + diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/jenkins/_jenkins-docker-parameters.mdx b/docs/build-your-software-catalog/sync-data-to-catalog/jenkins/_jenkins-docker-parameters.mdx index 3134fc5cd..f672eeddc 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/jenkins/_jenkins-docker-parameters.mdx +++ b/docs/build-your-software-catalog/sync-data-to-catalog/jenkins/_jenkins-docker-parameters.mdx @@ -7,3 +7,4 @@ | `OCEAN__INTEGRATION__IDENTIFIER` | Provide a unique identifier for your integration. If not provided, the default identifier will be used. | ❌ | | `OCEAN__PORT__CLIENT_ID` | Your port client id ([Get the credentials](https://docs.getport.io/build-your-software-catalog/custom-integration/api/#find-your-port-credentials)) | ✅ | | `OCEAN__PORT__CLIENT_SECRET` | Your port client secret ([Get the credentials](https://docs.getport.io/build-your-software-catalog/custom-integration/api/#find-your-port-credentials)) | ✅ | +| `OCEAN__PORT__BASE_URL` | Your Port API URL - `https://api.getport.io` for EU, `https://api.us.getport.io` for US | ✅ | diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/jenkins/jenkins.md b/docs/build-your-software-catalog/sync-data-to-catalog/jenkins/jenkins.md index dcede52d5..fb9c232a9 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/jenkins/jenkins.md +++ b/docs/build-your-software-catalog/sync-data-to-catalog/jenkins/jenkins.md @@ -8,6 +8,7 @@ import Prerequisites from "../templates/\_ocean_helm_prerequisites_block.mdx" import AzurePremise from "../templates/\_ocean_azure_premise.mdx" import DockerParameters from "./\_jenkins-docker-parameters.mdx" import AdvancedConfig from '../../../generalTemplates/_ocean_advanced_configuration_note.md' +import PortApiRegionTip from "/docs/generalTemplates/_port_region_parameter_explanation_template.md" # Jenkins @@ -56,6 +57,7 @@ Set them as you wish in the script below, then copy it and run it in your termin | ----------------------------------- | ------------------------------------------------------------------------------------------------------------------ | -------- | | `port.clientId` | Your port client id ([Get the credentials](https://docs.getport.io/build-your-software-catalog/custom-integration/api/#find-your-port-credentials)) | ✅ | | `port.clientSecret` | Your port client secret ([Get the credentials](https://docs.getport.io/build-your-software-catalog/custom-integration/api/#find-your-port-credentials)) | ✅ | +| `port.baseUrl` | Your Port API URL - `https://api.getport.io` for EU, `https://api.us.getport.io` for US | ✅ | | `integration.identifier` | Change the identifier to describe your integration | ✅ | | `integration.type` | The integration type | ✅ | | `integration.eventListener.type` | The event listener type | ✅ | @@ -78,6 +80,7 @@ helm repo add --force-update port-labs https://port-labs.github.io/helm-charts helm upgrade --install my-jenkins-integration port-labs/port-ocean \ --set port.clientId="PORT_CLIENT_ID" \ --set port.clientSecret="PORT_CLIENT_SECRET" \ + --set port.baseUrl="https://api.getport.io" \ --set initializePortResources=true \ --set scheduledResyncInterval=120 \ --set integration.identifier="my-jenkins-integration" \ @@ -87,6 +90,7 @@ helm upgrade --install my-jenkins-integration port-labs/port-ocean \ --set integration.secrets.jenkinsToken="JENKINS_TOKEN" \ --set integration.config.jenkinsHost="JENKINS_HOST" ``` + @@ -151,6 +155,8 @@ spec: value: YOUR_PORT_CLIENT_ID - name: port.clientSecret value: YOUR_PORT_CLIENT_SECRET + - name: port.baseUrl + value: https://api.getport.io - repoURL: YOUR_GIT_REPO_URL // highlight-end targetRevision: main @@ -163,10 +169,12 @@ spec: - CreateNamespace=true ``` + +
    -3. Apply your application manifest with `kubectl`: +1. Apply your application manifest with `kubectl`: ```bash kubectl apply -f my-ocean-jenkins-integration.yaml ``` @@ -209,6 +217,7 @@ jobs: type: 'jenkins' port_client_id: ${{ secrets.OCEAN__PORT__CLIENT_ID }} port_client_secret: ${{ secrets.OCEAN__PORT__CLIENT_SECRET }} + port_base_url: https://api.getport.io config: | jenkins_host: ${{ secrets.OCEAN__INTEGRATION__CONFIG__JENKINS_HOST }} jenkins_user: ${{ secrets.OCEAN__INTEGRATION__CONFIG__JENKINS_USER }} @@ -263,6 +272,7 @@ pipeline { -e OCEAN__INTEGRATION__CONFIG__JENKINS_HOST=$OCEAN__INTEGRATION__CONFIG__JENKINS_HOST \ -e OCEAN__PORT__CLIENT_ID=$OCEAN__PORT__CLIENT_ID \ -e OCEAN__PORT__CLIENT_SECRET=$OCEAN__PORT__CLIENT_SECRET \ + -e OCEAN__PORT__BASE_URL='https://api.getport.io' \ $image_name exit $? @@ -311,6 +321,7 @@ steps: -e OCEAN__INTEGRATION__CONFIG__JENKINS_HOST=$(OCEAN__INTEGRATION__CONFIG__JENKINS_HOST) \ -e OCEAN__PORT__CLIENT_ID=$(OCEAN__PORT__CLIENT_ID) \ -e OCEAN__PORT__CLIENT_SECRET=$(OCEAN__PORT__CLIENT_SECRET) \ + -e OCEAN__PORT__BASE_URL='https://api.getport.io' \ $image_name exit $? @@ -365,6 +376,7 @@ ingest_data: -e OCEAN__INTEGRATION__CONFIG__JENKINS_HOST=$OCEAN__INTEGRATION__CONFIG__JENKINS_HOST \ -e OCEAN__PORT__CLIENT_ID=$OCEAN__PORT__CLIENT_ID \ -e OCEAN__PORT__CLIENT_SECRET=$OCEAN__PORT__CLIENT_SECRET \ + -e OCEAN__PORT__BASE_URL='https://api.getport.io' \ $IMAGE_NAME rules: # Run only when changes are made to the main branch @@ -374,6 +386,9 @@ ingest_data:
    + + + diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/kubernetes/kubernetes.md b/docs/build-your-software-catalog/sync-data-to-catalog/kubernetes/kubernetes.md index ea19a4476..4af54c27e 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/kubernetes/kubernetes.md +++ b/docs/build-your-software-catalog/sync-data-to-catalog/kubernetes/kubernetes.md @@ -8,6 +8,7 @@ import TabItem from "@theme/TabItem" import KubernetesIllustration from "/static/img/build-your-software-catalog/sync-data-to-catalog/kubernetes/k8s-exporter-illustration.png"; import KubernetesEtl from "/static/img/build-your-software-catalog/sync-data-to-catalog/kubernetes/k8s-etl.png"; import FindCredentials from "/docs/build-your-software-catalog/custom-integration/api/\_template_docs/\_find_credentials_collapsed.mdx"; +import PortApiRegionTip from "/docs/generalTemplates/_port_region_parameter_explanation_template.md" # Kubernetes @@ -191,12 +192,16 @@ Choose one of the following installation methods: ```bash showLineNumbers helm upgrade --install my-port-k8s-exporter port-labs/port-k8s-exporter \ --create-namespace --namespace port-k8s-exporter \ - --set secret.secrets.portClientId=YOUR_PORT_CLIENT_ID --set secret.secrets.portClientSecret=YOUR_PORT_CLIENT_SECRET \ + --set secret.secrets.portClientId=YOUR_PORT_CLIENT_ID \ + --set secret.secrets.portClientSecret=YOUR_PORT_CLIENT_SECRET \ + --set portBaseUrl='https://api.getport.io' \ --set stateKey="k8s-exporter" \ --set eventListener.type="POLLING" \ --set "extraEnv[0].name"="CLUSTER_NAME" \ --set "extraEnv[0].value"=YOUR_PORT_CLUSTER_NAME ``` + + @@ -239,6 +244,8 @@ Choose one of the following installation methods: - name: secret.secrets.portClientSecret // highlight-next-line value: YOUR_PORT_CLIENT_SECRET + - name: portBaseUrl + value: https://api.getport.io - name: stateKey // highlight-next-line value: YOUR_CLUSTER_NAME @@ -259,6 +266,8 @@ Choose one of the following installation methods: - CreateNamespace=true ``` + +
    diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/project-management/jira/_jira_one_time_docker_parameters.mdx b/docs/build-your-software-catalog/sync-data-to-catalog/project-management/jira/_jira_one_time_docker_parameters.mdx index 971cdaf98..2e86a88bf 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/project-management/jira/_jira_one_time_docker_parameters.mdx +++ b/docs/build-your-software-catalog/sync-data-to-catalog/project-management/jira/_jira_one_time_docker_parameters.mdx @@ -5,5 +5,6 @@ | `OCEAN__INTEGRATION__CONFIG__ATLASSIAN_USER_TOKEN` | [Jira API token](https://support.atlassian.com/atlassian-account/docs/manage-api-tokens-for-your-atlassian-account/) generated by the user | | ✅ | | `OCEAN__PORT__CLIENT_ID` | Your Port client ([How to get the credentials](https://docs.getport.io/build-your-software-catalog/custom-integration/api/#find-your-port-credentials)) id | | ✅ | | `OCEAN__PORT__CLIENT_SECRET` | Your Port client ([How to get the credentials](https://docs.getport.io/build-your-software-catalog/custom-integration/api/#find-your-port-credentials)) secret | | ✅ | +| `OCEAN__PORT__BASE_URL` | Your Port API URL - `https://api.getport.io` for EU, `https://api.us.getport.io` for US | | ✅ | | `OCEAN__INITIALIZE_PORT_RESOURCES` | Default true, When set to true the integration will create default blueprints and the port App config Mapping. Read more about [initializePortResources](https://ocean.getport.io/develop-an-integration/integration-configuration/#initializeportresources---initialize-port-resources) | | ❌ | | `OCEAN__INTEGRATION__IDENTIFIER` | The identifier of the integration that will be installed | | ❌ | diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/project-management/jira/jira.md b/docs/build-your-software-catalog/sync-data-to-catalog/project-management/jira/jira.md index 49359c1a3..aebb44492 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/project-management/jira/jira.md +++ b/docs/build-your-software-catalog/sync-data-to-catalog/project-management/jira/jira.md @@ -12,6 +12,7 @@ import JiraProjectBlueprint from "/docs/build-your-software-catalog/custom-integ import JiraWebhookConfiguration from "/docs/build-your-software-catalog/custom-integration/webhook/examples/resources/jira-server/\_example_jira_webhook_configuration.mdx"; import JiraIssueConfigurationPython from "/docs/build-your-software-catalog/custom-integration/webhook/examples/resources/jira/\_example_jira_issue_configuration_python.mdx" import JiraServerConfigurationPython from "/docs/build-your-software-catalog/custom-integration/webhook/examples/resources/jira-server/\_example_jira_server_configuration_python.mdx"; +import PortApiRegionTip from "/docs/generalTemplates/_port_region_parameter_explanation_template.md" # Jira @@ -48,6 +49,7 @@ Set them as you wish in the script below, then copy it and run it in your termin | ---------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------- | -------- | | `port.clientId` | Your port [client id](https://docs.getport.io/build-your-software-catalog/custom-integration/api/#find-your-port-credentials) | | ✅ | | `port.clientSecret` | Your port [client secret](https://docs.getport.io/build-your-software-catalog/custom-integration/api/#find-your-port-credentials) | | ✅ | +| `port.baseUrl` | Your Port API URL - `https://api.getport.io` for EU, `https://api.us.getport.io` for US | | ✅ | | `integration.secrets.atlassianUserEmail` | The email of the user used to query Jira | user@example.com | ✅ | | `integration.secrets.atlassianUserToken` | [Jira API token](https://support.atlassian.com/atlassian-account/docs/manage-api-tokens-for-your-atlassian-account/) generated by the user | | ✅ | | `integration.config.jiraHost` | The URL of your Jira | https://example.atlassian.net | ✅ | @@ -66,6 +68,7 @@ helm repo add --force-update port-labs https://port-labs.github.io/helm-charts helm upgrade --install my-jira-integration port-labs/port-ocean \ --set port.clientId="PORT_CLIENT_ID" \ --set port.clientSecret="PORT_CLIENT_SECRET" \ + --set port.baseUrl="https://api.getport.io" \ --set initializePortResources=true \ --set scheduledResyncInterval=120 \ --set integration.identifier="my-jira-integration" \ @@ -76,6 +79,8 @@ helm upgrade --install my-jira-integration port-labs/port-ocean \ --set integration.secrets.atlassianUserToken="string" ``` + +
    To install the integration using ArgoCD, follow these steps: @@ -142,6 +147,8 @@ spec: value: YOUR_PORT_CLIENT_ID - name: port.clientSecret value: YOUR_PORT_CLIENT_SECRET + - name: port.baseUrl + value: https://api.getport.io - repoURL: YOUR_GIT_REPO_URL // highlight-end targetRevision: main @@ -154,10 +161,12 @@ spec: - CreateNamespace=true ``` + +
    -3. Apply your application manifest with `kubectl`: +1. Apply your application manifest with `kubectl`: ```bash kubectl apply -f my-ocean-jira-integration.yaml @@ -184,6 +193,7 @@ Make sure to configure the following [Github Secrets](https://docs.github.com/en |----------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------|----------| | `port_client_id` | Your Port client ([How to get the credentials](https://docs.getport.io/build-your-software-catalog/custom-integration/api/#find-your-port-credentials)) id | | ✅ | | `port_client_secret` | Your Port client ([How to get the credentials](https://docs.getport.io/build-your-software-catalog/custom-integration/api/#find-your-port-credentials)) secret | | ✅ | +| `port_base_url` | Your Port API URL - `https://api.getport.io` for EU, `https://api.us.getport.io` for US | | ✅ | | `config -> jira_host` | The URL of your Jira | https://example.atlassian.net | ✅ | | `config -> atlassian_user_email` | The email of the user used to query Jira | user@example.com | ✅ | | `config -> atlassian_user_token` | [Jira API token](https://support.atlassian.com/atlassian-account/docs/manage-api-tokens-for-your-atlassian-account/) generated by the user | | ✅ | @@ -220,6 +230,7 @@ jobs: type: 'jira' port_client_id: ${{ secrets.OCEAN__PORT__CLIENT_ID }} port_client_secret: ${{ secrets.OCEAN__PORT__CLIENT_SECRET }} + port_base_url: https://api.getport.io config: | jira_host: ${{ secrets.OCEAN__INTEGRATION__CONFIG__JIRA_HOST }} atlassian_user_email: ${{ secrets.OCEAN__INTEGRATION__CONFIG__ATLASSIAN_USER_EMAIL }} @@ -274,6 +285,7 @@ pipeline { -e OCEAN__INTEGRATION__CONFIG__ATLASSIAN_USER_TOKEN=$OCEAN__INTEGRATION__CONFIG__ATLASSIAN_USER_TOKEN \ -e OCEAN__PORT__CLIENT_ID=$OCEAN__PORT__CLIENT_ID \ -e OCEAN__PORT__CLIENT_SECRET=$OCEAN__PORT__CLIENT_SECRET \ + -e OCEAN__PORT__BASE_URL='https://api.getport.io' \ $image_name exit $? @@ -323,6 +335,7 @@ steps: -e OCEAN__INTEGRATION__CONFIG__ATLASSIAN_USER_TOKEN=$(OCEAN__INTEGRATION__CONFIG__ATLASSIAN_USER_TOKEN) \ -e OCEAN__PORT__CLIENT_ID=$(OCEAN__PORT__CLIENT_ID) \ -e OCEAN__PORT__CLIENT_SECRET=$(OCEAN__PORT__CLIENT_SECRET) \ + -e OCEAN__PORT__BASE_URL='https://api.getport.io' \ $image_name exit $? @@ -376,6 +389,7 @@ ingest_data: -e OCEAN__INTEGRATION__CONFIG__ATLASSIAN_USER_TOKEN=$OCEAN__INTEGRATION__CONFIG__ATLASSIAN_USER_TOKEN \ -e OCEAN__PORT__CLIENT_ID=$OCEAN__PORT__CLIENT_ID \ -e OCEAN__PORT__CLIENT_SECRET=$OCEAN__PORT__CLIENT_SECRET \ + -e OCEAN__PORT__BASE_URL='https://api.getport.io' \ $IMAGE_NAME rules: # Run only when changes are made to the main branch @@ -391,6 +405,8 @@ ingest_data: + + ## Ingesting Jira objects diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/project-management/linear/_linear_one_time_docker_parameters.mdx b/docs/build-your-software-catalog/sync-data-to-catalog/project-management/linear/_linear_one_time_docker_parameters.mdx index 9681dfb56..a9d6183ae 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/project-management/linear/_linear_one_time_docker_parameters.mdx +++ b/docs/build-your-software-catalog/sync-data-to-catalog/project-management/linear/_linear_one_time_docker_parameters.mdx @@ -3,5 +3,6 @@ | `OCEAN__INTEGRATION__CONFIG__LINEAR_API_KEY` | Linear API key used to query the Linear GraphQL API | | ✅ | | `OCEAN__PORT__CLIENT_ID` | Your Port client ([How to get the credentials](https://docs.getport.io/build-your-software-catalog/custom-integration/api/#find-your-port-credentials)) id | | ✅ | | `OCEAN__PORT__CLIENT_SECRET` | Your Port client ([How to get the credentials](https://docs.getport.io/build-your-software-catalog/custom-integration/api/#find-your-port-credentials)) secret | | ✅ | +| `OCEAN__PORT__BASE_URL` | Your Port API URL - `https://api.getport.io` for EU, `https://api.us.getport.io` for US | | ✅ | | `OCEAN__INITIALIZE_PORT_RESOURCES` | Default true, When set to true the integration will create default blueprints and the port App config Mapping. Read more about [initializePortResources](https://ocean.getport.io/develop-an-integration/integration-configuration/#initializeportresources---initialize-port-resources) | | ❌ | | `OCEAN__INTEGRATION__IDENTIFIER` | The identifier of the integration that will be installed | | ❌ | diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/project-management/linear/linear.md b/docs/build-your-software-catalog/sync-data-to-catalog/project-management/linear/linear.md index bf20f4bc1..5542520dd 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/project-management/linear/linear.md +++ b/docs/build-your-software-catalog/sync-data-to-catalog/project-management/linear/linear.md @@ -8,6 +8,7 @@ import DockerParameters from "./\_linear_one_time_docker_parameters.mdx" import AdvancedConfig from '/docs/generalTemplates/\_ocean_advanced_configuration_note.md' import LinearIssueBlueprint from "/docs/build-your-software-catalog/custom-integration/webhook/examples/resources/linear/\_example_linear_issue_blueprint.mdx" import LinearIssueConfiguration from "/docs/build-your-software-catalog/custom-integration/webhook/examples/resources/linear/\_example_linear_issue_configuration.mdx" +import PortApiRegionTip from "/docs/generalTemplates/_port_region_parameter_explanation_template.md" # Linear @@ -40,6 +41,7 @@ Set them as you wish in the script below, then copy it and run it in your termin | ---------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------- | -------- | | `port.clientId` | Your port [client id](https://docs.getport.io/build-your-software-catalog/custom-integration/api/#find-your-port-credentials) | | ✅ | | `port.clientSecret` | Your port [client secret](https://docs.getport.io/build-your-software-catalog/custom-integration/api/#find-your-port-credentials) | | ✅ | +| `port.baseUrl` | Your Port API URL - `https://api.getport.io` for EU, `https://api.us.getport.io` for US | | ✅ | | `integration.secrets.linearApiKey` | Linear [API key](https://developers.linear.app/docs/graphql/working-with-the-graphql-api#personal-api-keys) used to query the Linear GraphQL API | | ✅ | | `integration.config.appHost` | The host of the Port Ocean app. Used to set up the integration endpoint as the target for webhooks created in Linear | https://my-ocean-integration.com | ❌ | @@ -56,6 +58,7 @@ helm repo add --force-update port-labs https://port-labs.github.io/helm-charts helm upgrade --install my-linear-integration port-labs/port-ocean \ --set port.clientId="PORT_CLIENT_ID" \ --set port.clientSecret="PORT_CLIENT_SECRET" \ + --set port.baseUrl="https://api.getport.io" \ --set initializePortResources=true \ --set scheduledResyncInterval=120 \ --set integration.identifier="my-linear-integration" \ @@ -64,6 +67,8 @@ helm upgrade --install my-linear-integration port-labs/port-ocean \ --set integration.secrets.linearApiKey="string" ``` + +
    To install the integration using ArgoCD, follow these steps: @@ -126,6 +131,8 @@ spec: value: YOUR_PORT_CLIENT_ID - name: port.clientSecret value: YOUR_PORT_CLIENT_SECRET + - name: port.baseUrl + value: https://api.getport.io - repoURL: YOUR_GIT_REPO_URL // highlight-end targetRevision: main @@ -138,10 +145,12 @@ spec: - CreateNamespace=true ``` + +
    -3. Apply your application manifest with `kubectl`: +1. Apply your application manifest with `kubectl`: ```bash kubectl apply -f my-ocean-linear-integration.yaml @@ -168,6 +177,7 @@ Make sure to configure the following [Github Secrets](https://docs.github.com/en |----------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------|----------| | `port_client_id` | Your Port client ([How to get the credentials](https://docs.getport.io/build-your-software-catalog/custom-integration/api/#find-your-port-credentials)) id | | ✅ | | `port_client_secret` | Your Port client ([How to get the credentials](https://docs.getport.io/build-your-software-catalog/custom-integration/api/#find-your-port-credentials)) secret | | ✅ | +| `port_base_url` | Your Port API URL - `https://api.getport.io` for EU, `https://api.us.getport.io` for US | | ✅ | | `config -> linear_api_key` | Linear [API key](https://developers.linear.app/docs/graphql/working-with-the-graphql-api#personal-api-keys) used to query the Linear GraphQL API | | ✅ | | `initialize_port_resources` | Default true, When set to true the integration will create default blueprints and the port App config Mapping. Read more about [initializePortResources](https://ocean.getport.io/develop-an-integration/integration-configuration/#initializeportresources---initialize-port-resources) | | ❌ | | `identifier` | The identifier of the integration that will be installed | | ❌ | @@ -202,6 +212,7 @@ jobs: type: 'linear' port_client_id: ${{ secrets.OCEAN__PORT__CLIENT_ID }} port_client_secret: ${{ secrets.OCEAN__PORT__CLIENT_SECRET }} + port_base_url: https://api.getport.io config: | linear_api_key: ${{ secrets.OCEAN__INTEGRATION__CONFIG__LINEAR_API_KEY }} ``` @@ -250,6 +261,7 @@ pipeline { -e OCEAN__INTEGRATION__CONFIG__LINEAR_API_KEY=$OCEAN__INTEGRATION__CONFIG__LINEAR_API_KEY \ -e OCEAN__PORT__CLIENT_ID=$OCEAN__PORT__CLIENT_ID \ -e OCEAN__PORT__CLIENT_SECRET=$OCEAN__PORT__CLIENT_SECRET \ + -e OCEAN__PORT__BASE_URL='https://api.getport.io' \ $image_name exit $? @@ -297,6 +309,7 @@ steps: -e OCEAN__INTEGRATION__CONFIG__LINEAR_API_KEY=$(OCEAN__INTEGRATION__CONFIG__LINEAR_API_KEY) \ -e OCEAN__PORT__CLIENT_ID=$(OCEAN__PORT__CLIENT_ID) \ -e OCEAN__PORT__CLIENT_SECRET=$(OCEAN__PORT__CLIENT_SECRET) \ + -e OCEAN__PORT__BASE_URL='https://api.getport.io' \ $image_name exit $? @@ -348,6 +361,7 @@ ingest_data: -e OCEAN__INTEGRATION__CONFIG__LINEAR_API_KEY=$OCEAN__INTEGRATION__CONFIG__LINEAR_API_KEY \ -e OCEAN__PORT__CLIENT_ID=$OCEAN__PORT__CLIENT_ID \ -e OCEAN__PORT__CLIENT_SECRET=$OCEAN__PORT__CLIENT_SECRET \ + -e OCEAN__PORT__BASE_URL='https://api.getport.io' \ $IMAGE_NAME rules: # Run only when changes are made to the main branch @@ -358,6 +372,8 @@ ingest_data: + +
    diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/terraform-cloud/_terraform_one_time_docker_parameters.mdx b/docs/build-your-software-catalog/sync-data-to-catalog/terraform-cloud/_terraform_one_time_docker_parameters.mdx index 99bdb69f9..ac051d989 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/terraform-cloud/_terraform_one_time_docker_parameters.mdx +++ b/docs/build-your-software-catalog/sync-data-to-catalog/terraform-cloud/_terraform_one_time_docker_parameters.mdx @@ -7,3 +7,4 @@ | `OCEAN__INTEGRATION__IDENTIFIER` | Change the identifier to describe your integration, if not set will use the default one | ❌ | | `OCEAN__PORT__CLIENT_ID` | Your Port client id | ✅ | | `OCEAN__PORT__CLIENT_SECRET` | Your Port client secret | ✅ | +| `OCEAN__PORT__BASE_URL` | Your Port API URL - `https://api.getport.io` for EU, `https://api.us.getport.io` for US | ✅ | diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/terraform-cloud/terraform-cloud.md b/docs/build-your-software-catalog/sync-data-to-catalog/terraform-cloud/terraform-cloud.md index 5d84bea44..c2fcf4a63 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/terraform-cloud/terraform-cloud.md +++ b/docs/build-your-software-catalog/sync-data-to-catalog/terraform-cloud/terraform-cloud.md @@ -7,6 +7,7 @@ description: Terraform integration in Port import Tabs from "@theme/Tabs" import TabItem from "@theme/TabItem" import DockerParameters from "./\_terraform_one_time_docker_parameters.mdx" +import PortApiRegionTip from "/docs/generalTemplates/_port_region_parameter_explanation_template.md" # Terraform Cloud and Terraform Enterprise @@ -58,6 +59,7 @@ Set them as you wish in the script below, then copy it and run it in your termin | ---------------------------------------- | ------------------------------------------------------------------------------------------------------------- | -------- | | `port.clientId` | Your Port client id | ✅ | | `port.clientSecret` | Your Port client secret | ✅ | +| `port.baseUrl` | Your Port API URL - `https://api.getport.io` for EU, `https://api.us.getport.io` for US | ✅ | | `integration.identifier` | Change the identifier to describe your integration | ✅ | | `integration.type` | The integration type | ✅ | | `integration.eventListener.type` | The event listener type | ✅ | @@ -78,13 +80,16 @@ helm repo add --force-update port-labs https://port-labs.github.io/helm-charts helm upgrade --install terraform port-labs/port-ocean \ --set port.clientId="PORT_CLIENT_ID" \ --set port.clientSecret="PORT_CLIENT_SECRET" \ + --set port.baseUrl="https://api.getport.io" \ --set initializePortResources=true \ --set integration.identifier="my-terraform-cloud-integration" \ --set integration.type="terraform-cloud" \ --set integration.eventListener.type="POLLING" \ - --set integration.secrets.terraformCloudHost="string" \ + --set integration.secrets.terraformCloudHost="string" \ --set integration.secrets.terraformCloudToken="string" ``` + + To install the integration using ArgoCD, follow these steps: @@ -144,6 +149,8 @@ spec: value: YOUR_PORT_CLIENT_ID - name: port.clientSecret value: YOUR_PORT_CLIENT_SECRET + - name: port.baseUrl + value: https://api.getport.io - repoURL: YOUR_GIT_REPO_URL // highlight-end targetRevision: main @@ -156,10 +163,12 @@ spec: - CreateNamespace=true ``` + +
    -3. Apply your application manifest with `kubectl`: +1. Apply your application manifest with `kubectl`: ```bash kubectl apply -f my-ocean-terraform-cloud-integration.yaml ``` @@ -202,6 +211,7 @@ jobs: type: "terraform-cloud" port_client_id: ${{ secrets.OCEAN__PORT__CLIENT_ID }} port_client_secret: ${{ secrets.OCEAN__PORT__CLIENT_SECRET }} + port_base_url: https://api.getport.io config: | terraform_cloud_host: ${{ secrets.OCEAN__INTEGRATION__CONFIG__TERRAFORM_CLOUD_HOST }} terraform_cloud_token: ${{ secrets.OCEAN__INTEGRATION__CONFIG__TERRAFORM_CLOUD_TOKEN }} @@ -252,6 +262,7 @@ pipeline { -e OCEAN__INTEGRATION__CONFIG__TERRAFORM_COUD_TOKEN=$OCEAN__INTEGRATION__CONFIG__TERRAFORM_CLOUD_TOKEN \ -e OCEAN__PORT__CLIENT_ID=$OCEAN__PORT__CLIENT_ID \ -e OCEAN__PORT__CLIENT_SECRET=$OCEAN__PORT__CLIENT_SECRET \ + -e OCEAN__PORT__BASE_URL='https://api.getport.io' \ $image_name exit $? @@ -310,6 +321,7 @@ ingest_data: -e OCEAN__INTEGRATION__CONFIG__TERRAFORM_CLOUD_TOKEN=$OCEAN__INTEGRATION__CONFIG__TERRAFORM_CLOUD_TOKEN \ -e OCEAN__PORT__CLIENT_ID=$OCEAN__PORT__CLIENT_ID \ -e OCEAN__PORT__CLIENT_SECRET=$OCEAN__PORT__CLIENT_SECRET \ + -e OCEAN__PORT__BASE_URL='https://api.getport.io' \ $IMAGE_NAME rules: # Run only when changes are made to the main branch @@ -319,6 +331,9 @@ ingest_data:
    + + + diff --git a/docs/generalTemplates/_port_region_parameter_explanation_template.md b/docs/generalTemplates/_port_region_parameter_explanation_template.md new file mode 100644 index 000000000..a78d537f5 --- /dev/null +++ b/docs/generalTemplates/_port_region_parameter_explanation_template.md @@ -0,0 +1,8 @@ +:::tip Selecting a Port API URL by account region +The `baseUrl`, `port_region`, `port.baseUrl`, `portBaseUrl`, `port_base_url` and `OCEAN__PORT__BASE_URL` parameters are used to select which instance or Port API will be used. + +Port exposes two API instances, one for the EU region of Port, and one for the US region of Port. + +- If you use the EU region of Port, available at [https://app.getport.io](https://app.getport.io), your Port API URL is [`https://api.getport.io`](https://api.getport.io) +- If you use the US region of Port, available at [https://app.us.getport.io](https://app.getport.io), your Port API URL is [`https://api.us.getport.io`](https://api.us.getport.io) +::: \ No newline at end of file diff --git a/docs/guides-and-tutorials/create-cloud-resource-using-iac.md b/docs/guides-and-tutorials/create-cloud-resource-using-iac.md index b4a2b26d5..1e071490f 100644 --- a/docs/guides-and-tutorials/create-cloud-resource-using-iac.md +++ b/docs/guides-and-tutorials/create-cloud-resource-using-iac.md @@ -5,6 +5,7 @@ sidebar_position: 3 import Tabs from "@theme/Tabs" import TabItem from "@theme/TabItem" import PortTooltip from "/src/components/tooltip/tooltip.jsx" +import PortApiRegionTip from "/docs/generalTemplates/_port_region_parameter_explanation_template.md" # Create cloud resources using IaC @@ -275,6 +276,7 @@ jobs: } clientId: ${{ secrets.PORT_CLIENT_ID }} clientSecret: ${{ secrets.PORT_CLIENT_SECRET }} + baseUrl: https://api.getport.io operation: UPSERT runId: ${{ fromJson(inputs.port_context).runId }} - name: Create a log message @@ -282,6 +284,7 @@ jobs: with: clientId: ${{ secrets.PORT_CLIENT_ID }} clientSecret: ${{ secrets.PORT_CLIENT_SECRET }} + baseUrl: https://api.getport.io operation: PATCH_RUN runId: ${{ fromJson(inputs.port_context).runId }} logMessage: Pull request created successfully for "${{ inputs.name }}" 🚀 @@ -696,6 +699,8 @@ pipeline { + + 1. We will now create a simple `.tf` file that will serve as a template for our new resource: - In your source repository (`port-actions` for example), create a file named `cloudResource.tf` under `/templates/` (it's path should be `/templates/cloudResource.tf`). diff --git a/docs/guides-and-tutorials/ensure-production-readiness.md b/docs/guides-and-tutorials/ensure-production-readiness.md index 583f75e30..a66b4059d 100644 --- a/docs/guides-and-tutorials/ensure-production-readiness.md +++ b/docs/guides-and-tutorials/ensure-production-readiness.md @@ -6,6 +6,7 @@ title: Ensure production readiness import Tabs from "@theme/Tabs" import TabItem from "@theme/TabItem" import PortTooltip from "/src/components/tooltip/tooltip.jsx" +import PortApiRegionTip from "/docs/generalTemplates/_port_region_parameter_explanation_template.md" # Ensure production readiness @@ -102,6 +103,7 @@ helm repo add port-labs https://port-labs.github.io/helm-charts helm upgrade --install my-pagerduty-integration port-labs/port-ocean \ --set port.clientId="CLIENT_ID" \ # REPLACE VALUE --set port.clientSecret="CLIENT_SECRET" \ # REPLACE VALUE + --set port.baseUrl="https://api.getport.io" \ --set initializePortResources=true \ --set integration.identifier="my-pagerduty-integration" \ --set integration.type="pagerduty" \ @@ -110,6 +112,8 @@ helm upgrade --install my-pagerduty-integration port-labs/port-ocean \ --set integration.config.apiUrl="https://api.pagerduty.com" ``` + + Great! Now that the integration is installed, we should see some new components in Port: diff --git a/docs/guides-and-tutorials/iam-permissions-guide.md b/docs/guides-and-tutorials/iam-permissions-guide.md index 699915cc2..82197e54e 100644 --- a/docs/guides-and-tutorials/iam-permissions-guide.md +++ b/docs/guides-and-tutorials/iam-permissions-guide.md @@ -8,6 +8,7 @@ tags: --- import PortTooltip from "/src/components/tooltip/tooltip.jsx" +import PortApiRegionTip from "/docs/generalTemplates/_port_region_parameter_explanation_template.md" # IAM Permission Management @@ -259,7 +260,7 @@ jobs: env: POLICY_NAME: Permission-${{github.run_id}} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: persist-credentials: true - name: Configure AWS Credentials @@ -296,6 +297,7 @@ jobs: with: clientId: ${{ secrets.PORT_CLIENT_ID }} clientSecret: ${{ secrets.PORT_CLIENT_SECRET }} + baseUrl: https://api.getport.io identifier: ${{ env.POLICY_NAME }} title: ${{ env.POLICY_NAME }} blueprint: provisioned_permissions @@ -316,6 +318,7 @@ jobs: with: clientId: ${{ secrets.PORT_CLIENT_ID }} clientSecret: ${{ secrets.PORT_CLIENT_SECRET }} + baseUrl: https://api.getport.io operation: PATCH_RUN status: "SUCCESS" runId: ${{ fromJson(inputs.port_context).runId}} @@ -352,7 +355,7 @@ jobs: env: POLICY_ARN: ${{ fromJson(inputs.port_context).entity.properties.policy_arn }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: persist-credentials: true - name: Configure AWS Credentials @@ -375,6 +378,7 @@ jobs: with: clientId: ${{ secrets.PORT_CLIENT_ID }} clientSecret: ${{ secrets.PORT_CLIENT_SECRET }} + baseUrl: https://api.getport.io identifier: ${{ fromJson(inputs.port_context).entity.identifier }} operation: DELETE blueprint: provisioned_permissions @@ -382,6 +386,7 @@ jobs: with: clientId: ${{ secrets.PORT_CLIENT_ID }} clientSecret: ${{ secrets.PORT_CLIENT_SECRET }} + baseUrl: https://api.getport.io operation: PATCH_RUN runId: ${{ fromJson(inputs.port_context).runId}} logMessage: | @@ -391,6 +396,8 @@ jobs: + +
    `IAM policy JSON` template file diff --git a/docs/guides-and-tutorials/let-developers-enrich-services-using-gitops.md b/docs/guides-and-tutorials/let-developers-enrich-services-using-gitops.md index cf6d0aae4..7942ff4ae 100644 --- a/docs/guides-and-tutorials/let-developers-enrich-services-using-gitops.md +++ b/docs/guides-and-tutorials/let-developers-enrich-services-using-gitops.md @@ -7,6 +7,7 @@ import Tabs from "@theme/Tabs" import TabItem from "@theme/TabItem" import PortTooltip from "/src/components/tooltip/tooltip.jsx" import FindCredentials from "/docs/build-your-software-catalog/custom-integration/api/\_template_docs/\_find_credentials_collapsed.mdx"; +import PortApiRegionTip from "/docs/generalTemplates/_port_region_parameter_explanation_template.md" # Let developers enrich services using Gitops @@ -430,9 +431,9 @@ jobs: runs-on: ubuntu-latest steps: # Checkout the workflow's repository - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 # Checkout the service's repository - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: repository: "${{ github.repository_owner }}/${{ fromJson(inputs.port_context).entity }}" path: ./targetRepo @@ -466,6 +467,7 @@ jobs: with: clientId: ${{ secrets.PORT_CLIENT_ID }} clientSecret: ${{ secrets.PORT_CLIENT_SECRET }} + baseUrl: https://api.getport.io operation: PATCH_RUN runId: ${{ fromJson(inputs.port_context).runId }} logMessage: Pull request to add port.yml created successfully for service "${{ fromJson(inputs.port_context).entity }}" 🚀 @@ -715,6 +717,8 @@ pipeline { + + --- The action is ready to be executed 🚀 diff --git a/docs/guides-and-tutorials/manage-resources-using-k8s-crds.md b/docs/guides-and-tutorials/manage-resources-using-k8s-crds.md index 8da76dfa4..9763cc83c 100644 --- a/docs/guides-and-tutorials/manage-resources-using-k8s-crds.md +++ b/docs/guides-and-tutorials/manage-resources-using-k8s-crds.md @@ -4,6 +4,7 @@ title: Manage resources using Kubernetes CRDs --- import PortTooltip from "/src/components/tooltip/tooltip.jsx" +import PortApiRegionTip from "/docs/generalTemplates/_port_region_parameter_explanation_template.md" # Manage resources using Kubernetes CRDs @@ -60,6 +61,7 @@ helm upgrade --install my-port-k8s-exporter port-labs/port-k8s-exporter \ --create-namespace --namespace port-k8s-exporter \ --set secret.secrets.portClientId=YOUR_PORT_CLIENT_ID \ --set secret.secrets.portClientSecret=YOUR_PORT_CLIENT_SECRET \ + --set portBaseUrl='https://api.getport.io' \ --set stateKey="k8s-exporter" \ # highlight-next-line --set createDefaultResources=false \ @@ -68,6 +70,7 @@ helm upgrade --install my-port-k8s-exporter port-labs/port-k8s-exporter \ --set "extraEnv[0].value"=YOUR_PORT_CLUSTER_NAME ``` + After installing the k8s exporter [update the `crdsToDiscover` configuration](/build-your-software-catalog/sync-data-to-catalog/kubernetes/kubernetes.md#updating-exporter-configuration) with the following value: diff --git a/docs/guides-and-tutorials/service-lock-github-workflow.md b/docs/guides-and-tutorials/service-lock-github-workflow.md index 01239734f..06cc4c09f 100644 --- a/docs/guides-and-tutorials/service-lock-github-workflow.md +++ b/docs/guides-and-tutorials/service-lock-github-workflow.md @@ -6,6 +6,7 @@ sidebar_label: Lock service deployment import Tabs from "@theme/Tabs" import TabItem from "@theme/TabItem" import PortTooltip from "/src/components/tooltip/tooltip.jsx" +import PortApiRegionTip from "/docs/generalTemplates/_port_region_parameter_explanation_template.md" # Lock service deployment @@ -189,6 +190,7 @@ jobs: with: clientId: ${{ secrets.PORT_CLIENT_ID }} clientSecret: ${{ secrets.PORT_CLIENT_SECRET }} + baseUrl: https://api.getport.io identifier: notification-service blueprint: service operation: GET @@ -210,6 +212,8 @@ jobs: - name: Run deployment run: echo "Service in production is not locked, continuing deployment" ``` + +
    :::tip Secure your credentials diff --git a/docs/guides-and-tutorials/setup-slack-reminders.md b/docs/guides-and-tutorials/setup-slack-reminders.md index ea2302a64..f3c37f88c 100644 --- a/docs/guides-and-tutorials/setup-slack-reminders.md +++ b/docs/guides-and-tutorials/setup-slack-reminders.md @@ -6,6 +6,7 @@ title: Send Slack reminders for scorecards import Tabs from "@theme/Tabs" import TabItem from "@theme/TabItem" import PortTooltip from "/src/components/tooltip/tooltip.jsx" +import PortApiRegionTip from "/docs/generalTemplates/_port_region_parameter_explanation_template.md" # Slack reminders for scorecards @@ -171,6 +172,7 @@ jobs: operation_kind: scorecard_reminder port_client_id: ${{ secrets.PORT_CLIENT_ID }} port_client_secret: ${{ secrets.PORT_CLIENT_SECRET }} + port_region: eu slack_webhook_url: ${{ secrets.SLACK_WEBHOOK_URL }} blueprint: service scorecard: ProductionReadiness @@ -180,6 +182,7 @@ jobs: with: clientId: ${{ secrets.PORT_CLIENT_ID }} clientSecret: ${{ secrets.PORT_CLIENT_SECRET }} + baseUrl: https://api.getport.io operation: PATCH_RUN runId: ${{ inputs.run_id }} logMessage: | @@ -308,6 +311,8 @@ variables: + + All done! The action is ready to be used 🚀 ### Execute the action diff --git a/docs/guides-and-tutorials/visualize-service-argocd-runtime.md b/docs/guides-and-tutorials/visualize-service-argocd-runtime.md index 6b252f53a..ed0cc20c1 100644 --- a/docs/guides-and-tutorials/visualize-service-argocd-runtime.md +++ b/docs/guides-and-tutorials/visualize-service-argocd-runtime.md @@ -6,6 +6,7 @@ sidebar_label: Visualize services' k8s runtime using ArgoCD import Tabs from "@theme/Tabs" import TabItem from "@theme/TabItem" import PortTooltip from "/src/components/tooltip/tooltip.jsx" +import PortApiRegionTip from "/docs/generalTemplates/_port_region_parameter_explanation_template.md" # Visualize your services' Kubernetes runtime using ArgoCD @@ -67,6 +68,9 @@ helm upgrade --install argocd port-labs/port-ocean \ --set integration.secrets.token="YOUR_ARGOCD_TOKEN" \ --set integration.config.serverUrl="YOUR_ARGOCD_SERVER_URL" ``` + + + @@ -129,6 +133,8 @@ spec: value: YOUR_PORT_CLIENT_ID - name: port.clientSecret value: YOUR_PORT_CLIENT_SECRET + - name: port.baseUrl + value: https://api.getport.io - repoURL: YOUR_GIT_REPO_URL // highlight-end targetRevision: main @@ -141,6 +147,7 @@ spec: - CreateNamespace=true ``` +
    diff --git a/docs/guides-and-tutorials/visualize-service-k8s-runtime.md b/docs/guides-and-tutorials/visualize-service-k8s-runtime.md index 5497e3835..702fd67f5 100644 --- a/docs/guides-and-tutorials/visualize-service-k8s-runtime.md +++ b/docs/guides-and-tutorials/visualize-service-k8s-runtime.md @@ -6,6 +6,7 @@ sidebar_label: Visualize services' k8s runtime import Tabs from "@theme/Tabs" import TabItem from "@theme/TabItem" import PortTooltip from "/src/components/tooltip/tooltip.jsx" +import PortApiRegionTip from "/docs/generalTemplates/_port_region_parameter_explanation_template.md" # Visualize your services' k8s runtime @@ -56,6 +57,8 @@ helm upgrade --install my-cluster port-labs/port-k8s-exporter \ --set "extraEnv[0].value"="my-cluster" ``` + + #### What does the exporter do? After installation, the exporter will: diff --git a/yarn.lock b/yarn.lock deleted file mode 100644 index a2650e44c..000000000 --- a/yarn.lock +++ /dev/null @@ -1,11441 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@algolia/autocomplete-core@1.9.3": - version "1.9.3" - resolved "https://registry.npmjs.org/@algolia/autocomplete-core/-/autocomplete-core-1.9.3.tgz" - integrity sha512-009HdfugtGCdC4JdXUbVJClA0q0zh24yyePn+KUGk3rP7j8FEe/m5Yo/z65gn6nP/cM39PxpzqKrL7A6fP6PPw== - dependencies: - "@algolia/autocomplete-plugin-algolia-insights" "1.9.3" - "@algolia/autocomplete-shared" "1.9.3" - -"@algolia/autocomplete-plugin-algolia-insights@1.9.3": - version "1.9.3" - resolved "https://registry.npmjs.org/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.9.3.tgz" - integrity sha512-a/yTUkcO/Vyy+JffmAnTWbr4/90cLzw+CC3bRbhnULr/EM0fGNvM13oQQ14f2moLMcVDyAx/leczLlAOovhSZg== - dependencies: - "@algolia/autocomplete-shared" "1.9.3" - -"@algolia/autocomplete-preset-algolia@1.9.3": - version "1.9.3" - resolved "https://registry.npmjs.org/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.9.3.tgz" - integrity sha512-d4qlt6YmrLMYy95n5TB52wtNDr6EgAIPH81dvvvW8UmuWRgxEtY0NJiPwl/h95JtG2vmRM804M0DSwMCNZlzRA== - dependencies: - "@algolia/autocomplete-shared" "1.9.3" - -"@algolia/autocomplete-shared@1.9.3": - version "1.9.3" - resolved "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.9.3.tgz" - integrity sha512-Wnm9E4Ye6Rl6sTTqjoymD+l8DjSTHsHboVRYrKgEt8Q7UHm9nYbqhN/i0fhUYA3OAEH7WA8x3jfpnmJm3rKvaQ== - -"@algolia/cache-browser-local-storage@4.23.3": - version "4.23.3" - resolved "https://registry.npmjs.org/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.23.3.tgz" - integrity sha512-vRHXYCpPlTDE7i6UOy2xE03zHF2C8MEFjPN2v7fRbqVpcOvAUQK81x3Kc21xyb5aSIpYCjWCZbYZuz8Glyzyyg== - dependencies: - "@algolia/cache-common" "4.23.3" - -"@algolia/cache-common@4.23.3": - version "4.23.3" - resolved "https://registry.npmjs.org/@algolia/cache-common/-/cache-common-4.23.3.tgz" - integrity sha512-h9XcNI6lxYStaw32pHpB1TMm0RuxphF+Ik4o7tcQiodEdpKK+wKufY6QXtba7t3k8eseirEMVB83uFFF3Nu54A== - -"@algolia/cache-in-memory@4.23.3": - version "4.23.3" - resolved "https://registry.npmjs.org/@algolia/cache-in-memory/-/cache-in-memory-4.23.3.tgz" - integrity sha512-yvpbuUXg/+0rbcagxNT7un0eo3czx2Uf0y4eiR4z4SD7SiptwYTpbuS0IHxcLHG3lq22ukx1T6Kjtk/rT+mqNg== - dependencies: - "@algolia/cache-common" "4.23.3" - -"@algolia/client-account@4.23.3": - version "4.23.3" - resolved "https://registry.npmjs.org/@algolia/client-account/-/client-account-4.23.3.tgz" - integrity sha512-hpa6S5d7iQmretHHF40QGq6hz0anWEHGlULcTIT9tbUssWUriN9AUXIFQ8Ei4w9azD0hc1rUok9/DeQQobhQMA== - dependencies: - "@algolia/client-common" "4.23.3" - "@algolia/client-search" "4.23.3" - "@algolia/transporter" "4.23.3" - -"@algolia/client-analytics@4.23.3": - version "4.23.3" - resolved "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-4.23.3.tgz" - integrity sha512-LBsEARGS9cj8VkTAVEZphjxTjMVCci+zIIiRhpFun9jGDUlS1XmhCW7CTrnaWeIuCQS/2iPyRqSy1nXPjcBLRA== - dependencies: - "@algolia/client-common" "4.23.3" - "@algolia/client-search" "4.23.3" - "@algolia/requester-common" "4.23.3" - "@algolia/transporter" "4.23.3" - -"@algolia/client-common@4.23.3": - version "4.23.3" - resolved "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.23.3.tgz" - integrity sha512-l6EiPxdAlg8CYhroqS5ybfIczsGUIAC47slLPOMDeKSVXYG1n0qGiz4RjAHLw2aD0xzh2EXZ7aRguPfz7UKDKw== - dependencies: - "@algolia/requester-common" "4.23.3" - "@algolia/transporter" "4.23.3" - -"@algolia/client-personalization@4.23.3": - version "4.23.3" - resolved "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-4.23.3.tgz" - integrity sha512-3E3yF3Ocr1tB/xOZiuC3doHQBQ2zu2MPTYZ0d4lpfWads2WTKG7ZzmGnsHmm63RflvDeLK/UVx7j2b3QuwKQ2g== - dependencies: - "@algolia/client-common" "4.23.3" - "@algolia/requester-common" "4.23.3" - "@algolia/transporter" "4.23.3" - -"@algolia/client-search@4.23.3": - version "4.23.3" - resolved "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.23.3.tgz" - integrity sha512-P4VAKFHqU0wx9O+q29Q8YVuaowaZ5EM77rxfmGnkHUJggh28useXQdopokgwMeYw2XUht49WX5RcTQ40rZIabw== - dependencies: - "@algolia/client-common" "4.23.3" - "@algolia/requester-common" "4.23.3" - "@algolia/transporter" "4.23.3" - -"@algolia/events@^4.0.1": - version "4.0.1" - resolved "https://registry.npmjs.org/@algolia/events/-/events-4.0.1.tgz" - integrity sha512-FQzvOCgoFXAbf5Y6mYozw2aj5KCJoA3m4heImceldzPSMbdyS4atVjJzXKMsfX3wnZTFYwkkt8/z8UesLHlSBQ== - -"@algolia/logger-common@4.23.3": - version "4.23.3" - resolved "https://registry.npmjs.org/@algolia/logger-common/-/logger-common-4.23.3.tgz" - integrity sha512-y9kBtmJwiZ9ZZ+1Ek66P0M68mHQzKRxkW5kAAXYN/rdzgDN0d2COsViEFufxJ0pb45K4FRcfC7+33YB4BLrZ+g== - -"@algolia/logger-console@4.23.3": - version "4.23.3" - resolved "https://registry.npmjs.org/@algolia/logger-console/-/logger-console-4.23.3.tgz" - integrity sha512-8xoiseoWDKuCVnWP8jHthgaeobDLolh00KJAdMe9XPrWPuf1by732jSpgy2BlsLTaT9m32pHI8CRfrOqQzHv3A== - dependencies: - "@algolia/logger-common" "4.23.3" - -"@algolia/recommend@4.23.3": - version "4.23.3" - resolved "https://registry.npmjs.org/@algolia/recommend/-/recommend-4.23.3.tgz" - integrity sha512-9fK4nXZF0bFkdcLBRDexsnGzVmu4TSYZqxdpgBW2tEyfuSSY54D4qSRkLmNkrrz4YFvdh2GM1gA8vSsnZPR73w== - dependencies: - "@algolia/cache-browser-local-storage" "4.23.3" - "@algolia/cache-common" "4.23.3" - "@algolia/cache-in-memory" "4.23.3" - "@algolia/client-common" "4.23.3" - "@algolia/client-search" "4.23.3" - "@algolia/logger-common" "4.23.3" - "@algolia/logger-console" "4.23.3" - "@algolia/requester-browser-xhr" "4.23.3" - "@algolia/requester-common" "4.23.3" - "@algolia/requester-node-http" "4.23.3" - "@algolia/transporter" "4.23.3" - -"@algolia/requester-browser-xhr@4.23.3": - version "4.23.3" - resolved "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.23.3.tgz" - integrity sha512-jDWGIQ96BhXbmONAQsasIpTYWslyjkiGu0Quydjlowe+ciqySpiDUrJHERIRfELE5+wFc7hc1Q5hqjGoV7yghw== - dependencies: - "@algolia/requester-common" "4.23.3" - -"@algolia/requester-common@4.23.3": - version "4.23.3" - resolved "https://registry.npmjs.org/@algolia/requester-common/-/requester-common-4.23.3.tgz" - integrity sha512-xloIdr/bedtYEGcXCiF2muajyvRhwop4cMZo+K2qzNht0CMzlRkm8YsDdj5IaBhshqfgmBb3rTg4sL4/PpvLYw== - -"@algolia/requester-node-http@4.23.3": - version "4.23.3" - resolved "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.23.3.tgz" - integrity sha512-zgu++8Uj03IWDEJM3fuNl34s746JnZOWn1Uz5taV1dFyJhVM/kTNw9Ik7YJWiUNHJQXcaD8IXD1eCb0nq/aByA== - dependencies: - "@algolia/requester-common" "4.23.3" - -"@algolia/transporter@4.23.3": - version "4.23.3" - resolved "https://registry.npmjs.org/@algolia/transporter/-/transporter-4.23.3.tgz" - integrity sha512-Wjl5gttqnf/gQKJA+dafnD0Y6Yw97yvfY8R9h0dQltX1GXTgNs1zWgvtWW0tHl1EgMdhAyw189uWiZMnL3QebQ== - dependencies: - "@algolia/cache-common" "4.23.3" - "@algolia/logger-common" "4.23.3" - "@algolia/requester-common" "4.23.3" - -"@ampproject/remapping@^2.2.0": - version "2.2.1" - resolved "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz" - integrity sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg== - dependencies: - "@jridgewell/gen-mapping" "^0.3.0" - "@jridgewell/trace-mapping" "^0.3.9" - -"@apidevtools/json-schema-ref-parser@^11.5.4": - version "11.6.4" - resolved "https://registry.yarnpkg.com/@apidevtools/json-schema-ref-parser/-/json-schema-ref-parser-11.6.4.tgz#0f3e02302f646471d621a8850e6a346d63c8ebd4" - integrity sha512-9K6xOqeevacvweLGik6LnZCb1fBtCOSIWQs8d096XGeqoLKC33UVMGz9+77Gw44KvbH4pKcQPWo4ZpxkXYj05w== - dependencies: - "@jsdevtools/ono" "^7.1.3" - "@types/json-schema" "^7.0.15" - js-yaml "^4.1.0" - -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.16.0", "@babel/code-frame@^7.22.13", "@babel/code-frame@^7.23.5", "@babel/code-frame@^7.8.3": - version "7.23.5" - resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz" - integrity sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA== - dependencies: - "@babel/highlight" "^7.23.4" - chalk "^2.4.2" - -"@babel/compat-data@^7.22.6", "@babel/compat-data@^7.22.9", "@babel/compat-data@^7.23.2": - version "7.23.2" - resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.2.tgz" - integrity sha512-0S9TQMmDHlqAZ2ITT95irXKfxN9bncq8ZCoJhun3nHL/lLUxd2NKBJYoNGWH7S0hz6fRQwWlAWn/ILM0C70KZQ== - -"@babel/core@^7.21.3", "@babel/core@^7.23.3": - version "7.23.5" - resolved "https://registry.npmjs.org/@babel/core/-/core-7.23.5.tgz" - integrity sha512-Cwc2XjUrG4ilcfOw4wBAK+enbdgwAcAJCfGUItPBKR7Mjw4aEfAFYrLxeRp4jWgtNIKn3n2AlBOfwwafl+42/g== - dependencies: - "@ampproject/remapping" "^2.2.0" - "@babel/code-frame" "^7.23.5" - "@babel/generator" "^7.23.5" - "@babel/helper-compilation-targets" "^7.22.15" - "@babel/helper-module-transforms" "^7.23.3" - "@babel/helpers" "^7.23.5" - "@babel/parser" "^7.23.5" - "@babel/template" "^7.22.15" - "@babel/traverse" "^7.23.5" - "@babel/types" "^7.23.5" - convert-source-map "^2.0.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.2.3" - semver "^6.3.1" - -"@babel/generator@^7.23.3", "@babel/generator@^7.23.5": - version "7.23.5" - resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.23.5.tgz" - integrity sha512-BPssCHrBD+0YrxviOa3QzpqwhNIXKEtOa2jQrm4FlmkC2apYgRnQcmPWiGZDlGxiNtltnUFolMe8497Esry+jA== - dependencies: - "@babel/types" "^7.23.5" - "@jridgewell/gen-mapping" "^0.3.2" - "@jridgewell/trace-mapping" "^0.3.17" - jsesc "^2.5.1" - -"@babel/helper-annotate-as-pure@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz" - integrity sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-builder-binary-assignment-operator-visitor@^7.22.5": - version "7.22.15" - resolved "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz" - integrity sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw== - dependencies: - "@babel/types" "^7.22.15" - -"@babel/helper-compilation-targets@^7.22.15", "@babel/helper-compilation-targets@^7.22.5", "@babel/helper-compilation-targets@^7.22.6": - version "7.22.15" - resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.15.tgz" - integrity sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw== - dependencies: - "@babel/compat-data" "^7.22.9" - "@babel/helper-validator-option" "^7.22.15" - browserslist "^4.21.9" - lru-cache "^5.1.1" - semver "^6.3.1" - -"@babel/helper-create-class-features-plugin@^7.22.11", "@babel/helper-create-class-features-plugin@^7.22.15", "@babel/helper-create-class-features-plugin@^7.22.5": - version "7.22.15" - resolved "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.15.tgz" - integrity sha512-jKkwA59IXcvSaiK2UN45kKwSC9o+KuoXsBDvHvU/7BecYIp8GQ2UwrVvFgJASUT+hBnwJx6MhvMCuMzwZZ7jlg== - dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-environment-visitor" "^7.22.5" - "@babel/helper-function-name" "^7.22.5" - "@babel/helper-member-expression-to-functions" "^7.22.15" - "@babel/helper-optimise-call-expression" "^7.22.5" - "@babel/helper-replace-supers" "^7.22.9" - "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" - "@babel/helper-split-export-declaration" "^7.22.6" - semver "^6.3.1" - -"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.22.5": - version "7.22.15" - resolved "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz" - integrity sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w== - dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - regexpu-core "^5.3.1" - semver "^6.3.1" - -"@babel/helper-define-polyfill-provider@^0.4.3": - version "0.4.3" - resolved "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.3.tgz" - integrity sha512-WBrLmuPP47n7PNwsZ57pqam6G/RGo1vw/87b0Blc53tZNGZ4x7YvZ6HgQe2vo1W/FR20OgjeZuGXzudPiXHFug== - dependencies: - "@babel/helper-compilation-targets" "^7.22.6" - "@babel/helper-plugin-utils" "^7.22.5" - debug "^4.1.1" - lodash.debounce "^4.0.8" - resolve "^1.14.2" - -"@babel/helper-environment-visitor@^7.22.20", "@babel/helper-environment-visitor@^7.22.5": - version "7.22.20" - resolved "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz" - integrity sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA== - -"@babel/helper-function-name@^7.22.5", "@babel/helper-function-name@^7.23.0": - version "7.23.0" - resolved "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz" - integrity sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw== - dependencies: - "@babel/template" "^7.22.15" - "@babel/types" "^7.23.0" - -"@babel/helper-hoist-variables@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz" - integrity sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-member-expression-to-functions@^7.22.15": - version "7.23.0" - resolved "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz" - integrity sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA== - dependencies: - "@babel/types" "^7.23.0" - -"@babel/helper-module-imports@^7.22.15", "@babel/helper-module-imports@^7.22.5": - version "7.22.15" - resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz" - integrity sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w== - dependencies: - "@babel/types" "^7.22.15" - -"@babel/helper-module-transforms@^7.22.5", "@babel/helper-module-transforms@^7.23.0", "@babel/helper-module-transforms@^7.23.3": - version "7.23.3" - resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz" - integrity sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ== - dependencies: - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-module-imports" "^7.22.15" - "@babel/helper-simple-access" "^7.22.5" - "@babel/helper-split-export-declaration" "^7.22.6" - "@babel/helper-validator-identifier" "^7.22.20" - -"@babel/helper-optimise-call-expression@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz" - integrity sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.24.0", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": - version "7.24.5" - resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.5.tgz" - integrity sha512-xjNLDopRzW2o6ba0gKbkZq5YWEBaK3PCyTOY1K2P/O07LGMhMqlMXPxwN4S5/RhWuCobT8z0jrlKGlYmeR1OhQ== - -"@babel/helper-remap-async-to-generator@^7.22.20", "@babel/helper-remap-async-to-generator@^7.22.5": - version "7.22.20" - resolved "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz" - integrity sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw== - dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-wrap-function" "^7.22.20" - -"@babel/helper-replace-supers@^7.22.5", "@babel/helper-replace-supers@^7.22.9": - version "7.22.20" - resolved "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz" - integrity sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw== - dependencies: - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-member-expression-to-functions" "^7.22.15" - "@babel/helper-optimise-call-expression" "^7.22.5" - -"@babel/helper-simple-access@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz" - integrity sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-skip-transparent-expression-wrappers@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz" - integrity sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-split-export-declaration@^7.22.6": - version "7.22.6" - resolved "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz" - integrity sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-string-parser@^7.23.4": - version "7.23.4" - resolved "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz" - integrity sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ== - -"@babel/helper-validator-identifier@^7.22.20": - version "7.22.20" - resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz" - integrity sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A== - -"@babel/helper-validator-option@^7.22.15": - version "7.22.15" - resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.15.tgz" - integrity sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA== - -"@babel/helper-wrap-function@^7.22.20": - version "7.22.20" - resolved "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz" - integrity sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw== - dependencies: - "@babel/helper-function-name" "^7.22.5" - "@babel/template" "^7.22.15" - "@babel/types" "^7.22.19" - -"@babel/helpers@^7.23.5": - version "7.23.5" - resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.5.tgz" - integrity sha512-oO7us8FzTEsG3U6ag9MfdF1iA/7Z6dz+MtFhifZk8C8o453rGJFFWUP1t+ULM9TUIAzC9uxXEiXjOiVMyd7QPg== - dependencies: - "@babel/template" "^7.22.15" - "@babel/traverse" "^7.23.5" - "@babel/types" "^7.23.5" - -"@babel/highlight@^7.23.4": - version "7.23.4" - resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz" - integrity sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A== - dependencies: - "@babel/helper-validator-identifier" "^7.22.20" - chalk "^2.4.2" - js-tokens "^4.0.0" - -"@babel/parser@^7.22.15", "@babel/parser@^7.23.5": - version "7.23.5" - resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.23.5.tgz" - integrity sha512-hOOqoiNXrmGdFbhgCzu6GiURxUgM27Xwd/aPuu8RfHEZPBzL1Z54okAHAQjXfcQNwvrlkAmAp4SlRTZ45vlthQ== - -"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.22.15": - version "7.22.15" - resolved "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.22.15.tgz" - integrity sha512-FB9iYlz7rURmRJyXRKEnalYPPdn87H5no108cyuQQyMwlpJ2SJtpIUBI27kdTin956pz+LPypkPVPUTlxOmrsg== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.22.15": - version "7.22.15" - resolved "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.22.15.tgz" - integrity sha512-Hyph9LseGvAeeXzikV88bczhsrLrIZqDPxO+sSmAunMPaGrBGhfMWzCPYTtiW9t+HzSE2wtV8e5cc5P6r1xMDQ== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" - "@babel/plugin-transform-optional-chaining" "^7.22.15" - -"@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2": - version "7.21.0-placeholder-for-preset-env.2" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz" - integrity sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w== - -"@babel/plugin-syntax-async-generators@^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": - 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": - 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": - 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": - 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-import-assertions@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.22.5.tgz" - integrity sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-syntax-import-attributes@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.22.5.tgz" - integrity sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-syntax-import-meta@^7.10.4": - version "7.10.4" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz" - integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-json-strings@^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.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz" - integrity sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-syntax-logical-assignment-operators@^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": - 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": - 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.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": - 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": - 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": - 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": - 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.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.22.5.tgz" - integrity sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-syntax-unicode-sets-regex@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz" - integrity sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-arrow-functions@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.22.5.tgz" - integrity sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-async-generator-functions@^7.23.2": - version "7.23.2" - resolved "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.2.tgz" - integrity sha512-BBYVGxbDVHfoeXbOwcagAkOQAm9NxoTdMGfTqghu1GrvadSaw6iW3Je6IcL5PNOw8VwjxqBECXy50/iCQSY/lQ== - dependencies: - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-remap-async-to-generator" "^7.22.20" - "@babel/plugin-syntax-async-generators" "^7.8.4" - -"@babel/plugin-transform-async-to-generator@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.22.5.tgz" - integrity sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ== - dependencies: - "@babel/helper-module-imports" "^7.22.5" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-remap-async-to-generator" "^7.22.5" - -"@babel/plugin-transform-block-scoped-functions@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.22.5.tgz" - integrity sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-block-scoping@^7.23.0": - version "7.23.0" - resolved "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.0.tgz" - integrity sha512-cOsrbmIOXmf+5YbL99/S49Y3j46k/T16b9ml8bm9lP6N9US5iQ2yBK7gpui1pg0V/WMcXdkfKbTb7HXq9u+v4g== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-class-properties@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.22.5.tgz" - integrity sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.22.5" - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-class-static-block@^7.22.11": - version "7.22.11" - resolved "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.22.11.tgz" - integrity sha512-GMM8gGmqI7guS/llMFk1bJDkKfn3v3C4KHK9Yg1ey5qcHcOlKb0QvcMrgzvxo+T03/4szNh5lghY+fEC98Kq9g== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.22.11" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-class-static-block" "^7.14.5" - -"@babel/plugin-transform-classes@^7.22.15": - version "7.22.15" - resolved "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.22.15.tgz" - integrity sha512-VbbC3PGjBdE0wAWDdHM9G8Gm977pnYI0XpqMd6LrKISj8/DJXEsWqgRuTYaNE9Bv0JGhTZUzHDlMk18IpOuoqw== - dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-compilation-targets" "^7.22.15" - "@babel/helper-environment-visitor" "^7.22.5" - "@babel/helper-function-name" "^7.22.5" - "@babel/helper-optimise-call-expression" "^7.22.5" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-replace-supers" "^7.22.9" - "@babel/helper-split-export-declaration" "^7.22.6" - globals "^11.1.0" - -"@babel/plugin-transform-computed-properties@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.22.5.tgz" - integrity sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/template" "^7.22.5" - -"@babel/plugin-transform-destructuring@^7.23.0": - version "7.23.0" - resolved "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.0.tgz" - integrity sha512-vaMdgNXFkYrB+8lbgniSYWHsgqK5gjaMNcc84bMIOMRLH0L9AqYq3hwMdvnyqj1OPqea8UtjPEuS/DCenah1wg== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-dotall-regex@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.22.5.tgz" - integrity sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.22.5" - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-duplicate-keys@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.22.5.tgz" - integrity sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-dynamic-import@^7.22.11": - version "7.22.11" - resolved "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.22.11.tgz" - integrity sha512-g/21plo58sfteWjaO0ZNVb+uEOkJNjAaHhbejrnBmu011l/eNDScmkbjCC3l4FKb10ViaGU4aOkFznSu2zRHgA== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-dynamic-import" "^7.8.3" - -"@babel/plugin-transform-exponentiation-operator@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.22.5.tgz" - integrity sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g== - dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor" "^7.22.5" - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-export-namespace-from@^7.22.11": - version "7.22.11" - resolved "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.22.11.tgz" - integrity sha512-xa7aad7q7OiT8oNZ1mU7NrISjlSkVdMbNxn9IuLZyL9AJEhs1Apba3I+u5riX1dIkdptP5EKDG5XDPByWxtehw== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - -"@babel/plugin-transform-for-of@^7.22.15": - version "7.22.15" - resolved "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.22.15.tgz" - integrity sha512-me6VGeHsx30+xh9fbDLLPi0J1HzmeIIyenoOQHuw2D4m2SAU3NrspX5XxJLBpqn5yrLzrlw2Iy3RA//Bx27iOA== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-function-name@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.22.5.tgz" - integrity sha512-UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg== - dependencies: - "@babel/helper-compilation-targets" "^7.22.5" - "@babel/helper-function-name" "^7.22.5" - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-json-strings@^7.22.11": - version "7.22.11" - resolved "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.22.11.tgz" - integrity sha512-CxT5tCqpA9/jXFlme9xIBCc5RPtdDq3JpkkhgHQqtDdiTnTI0jtZ0QzXhr5DILeYifDPp2wvY2ad+7+hLMW5Pw== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-json-strings" "^7.8.3" - -"@babel/plugin-transform-literals@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.22.5.tgz" - integrity sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-logical-assignment-operators@^7.22.11": - version "7.22.11" - resolved "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.22.11.tgz" - integrity sha512-qQwRTP4+6xFCDV5k7gZBF3C31K34ut0tbEcTKxlX/0KXxm9GLcO14p570aWxFvVzx6QAfPgq7gaeIHXJC8LswQ== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" - -"@babel/plugin-transform-member-expression-literals@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.22.5.tgz" - integrity sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-modules-amd@^7.23.0": - version "7.23.0" - resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.0.tgz" - integrity sha512-xWT5gefv2HGSm4QHtgc1sYPbseOyf+FFDo2JbpE25GWl5BqTGO9IMwTYJRoIdjsF85GE+VegHxSCUt5EvoYTAw== - dependencies: - "@babel/helper-module-transforms" "^7.23.0" - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-modules-commonjs@^7.23.0": - version "7.23.0" - resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.0.tgz" - integrity sha512-32Xzss14/UVc7k9g775yMIvkVK8xwKE0DPdP5JTapr3+Z9w4tzeOuLNY6BXDQR6BdnzIlXnCGAzsk/ICHBLVWQ== - dependencies: - "@babel/helper-module-transforms" "^7.23.0" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-simple-access" "^7.22.5" - -"@babel/plugin-transform-modules-systemjs@^7.23.0": - version "7.23.0" - resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.0.tgz" - integrity sha512-qBej6ctXZD2f+DhlOC9yO47yEYgUh5CZNz/aBoH4j/3NOlRfJXJbY7xDQCqQVf9KbrqGzIWER1f23doHGrIHFg== - dependencies: - "@babel/helper-hoist-variables" "^7.22.5" - "@babel/helper-module-transforms" "^7.23.0" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-validator-identifier" "^7.22.20" - -"@babel/plugin-transform-modules-umd@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.22.5.tgz" - integrity sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ== - dependencies: - "@babel/helper-module-transforms" "^7.22.5" - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-named-capturing-groups-regex@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz" - integrity sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.22.5" - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-new-target@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.22.5.tgz" - integrity sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-nullish-coalescing-operator@^7.22.11": - version "7.22.11" - resolved "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.22.11.tgz" - integrity sha512-YZWOw4HxXrotb5xsjMJUDlLgcDXSfO9eCmdl1bgW4+/lAGdkjaEvOnQ4p5WKKdUgSzO39dgPl0pTnfxm0OAXcg== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - -"@babel/plugin-transform-numeric-separator@^7.22.11": - version "7.22.11" - resolved "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.22.11.tgz" - integrity sha512-3dzU4QGPsILdJbASKhF/V2TVP+gJya1PsueQCxIPCEcerqF21oEcrob4mzjsp2Py/1nLfF5m+xYNMDpmA8vffg== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - -"@babel/plugin-transform-object-rest-spread@^7.22.15": - version "7.22.15" - resolved "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.22.15.tgz" - integrity sha512-fEB+I1+gAmfAyxZcX1+ZUwLeAuuf8VIg67CTznZE0MqVFumWkh8xWtn58I4dxdVf080wn7gzWoF8vndOViJe9Q== - dependencies: - "@babel/compat-data" "^7.22.9" - "@babel/helper-compilation-targets" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-transform-parameters" "^7.22.15" - -"@babel/plugin-transform-object-super@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.22.5.tgz" - integrity sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-replace-supers" "^7.22.5" - -"@babel/plugin-transform-optional-catch-binding@^7.22.11": - version "7.22.11" - resolved "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.22.11.tgz" - integrity sha512-rli0WxesXUeCJnMYhzAglEjLWVDF6ahb45HuprcmQuLidBJFWjNnOzssk2kuc6e33FlLaiZhG/kUIzUMWdBKaQ== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - -"@babel/plugin-transform-optional-chaining@^7.22.15", "@babel/plugin-transform-optional-chaining@^7.23.0": - version "7.23.0" - resolved "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.0.tgz" - integrity sha512-sBBGXbLJjxTzLBF5rFWaikMnOGOk/BmK6vVByIdEggZ7Vn6CvWXZyRkkLFK6WE0IF8jSliyOkUN6SScFgzCM0g== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - -"@babel/plugin-transform-parameters@^7.22.15": - version "7.22.15" - resolved "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.22.15.tgz" - integrity sha512-hjk7qKIqhyzhhUvRT683TYQOFa/4cQKwQy7ALvTpODswN40MljzNDa0YldevS6tGbxwaEKVn502JmY0dP7qEtQ== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-private-methods@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.22.5.tgz" - integrity sha512-PPjh4gyrQnGe97JTalgRGMuU4icsZFnWkzicB/fUtzlKUqvsWBKEpPPfr5a2JiyirZkHxnAqkQMO5Z5B2kK3fA== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.22.5" - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-private-property-in-object@^7.22.11": - version "7.22.11" - resolved "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.22.11.tgz" - integrity sha512-sSCbqZDBKHetvjSwpyWzhuHkmW5RummxJBVbYLkGkaiTOWGxml7SXt0iWa03bzxFIx7wOj3g/ILRd0RcJKBeSQ== - dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-create-class-features-plugin" "^7.22.11" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-private-property-in-object" "^7.14.5" - -"@babel/plugin-transform-property-literals@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.22.5.tgz" - integrity sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-react-constant-elements@^7.21.3": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.24.1.tgz" - integrity sha512-QXp1U9x0R7tkiGB0FOk8o74jhnap0FlZ5gNkRIWdG3eP+SvMFg118e1zaWewDzgABb106QSKpVsD3Wgd8t6ifA== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/plugin-transform-react-display-name@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.22.5.tgz" - integrity sha512-PVk3WPYudRF5z4GKMEYUrLjPl38fJSKNaEOkFuoprioowGuWN6w2RKznuFNSlJx7pzzXXStPUnNSOEO0jL5EVw== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-react-jsx-development@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.22.5.tgz" - integrity sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A== - dependencies: - "@babel/plugin-transform-react-jsx" "^7.22.5" - -"@babel/plugin-transform-react-jsx@^7.22.15", "@babel/plugin-transform-react-jsx@^7.22.5": - version "7.22.15" - resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.22.15.tgz" - integrity sha512-oKckg2eZFa8771O/5vi7XeTvmM6+O9cxZu+kanTU7tD4sin5nO/G8jGJhq8Hvt2Z0kUoEDRayuZLaUlYl8QuGA== - dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-module-imports" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-jsx" "^7.22.5" - "@babel/types" "^7.22.15" - -"@babel/plugin-transform-react-pure-annotations@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.22.5.tgz" - integrity sha512-gP4k85wx09q+brArVinTXhWiyzLl9UpmGva0+mWyKxk6JZequ05x3eUcIUE+FyttPKJFRRVtAvQaJ6YF9h1ZpA== - dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-regenerator@^7.22.10": - version "7.22.10" - resolved "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.22.10.tgz" - integrity sha512-F28b1mDt8KcT5bUyJc/U9nwzw6cV+UmTeRlXYIl2TNqMMJif0Jeey9/RQ3C4NOd2zp0/TRsDns9ttj2L523rsw== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - regenerator-transform "^0.15.2" - -"@babel/plugin-transform-reserved-words@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.22.5.tgz" - integrity sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-runtime@^7.22.9": - version "7.23.2" - resolved "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.23.2.tgz" - integrity sha512-XOntj6icgzMS58jPVtQpiuF6ZFWxQiJavISGx5KGjRj+3gqZr8+N6Kx+N9BApWzgS+DOjIZfXXj0ZesenOWDyA== - dependencies: - "@babel/helper-module-imports" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" - babel-plugin-polyfill-corejs2 "^0.4.6" - babel-plugin-polyfill-corejs3 "^0.8.5" - babel-plugin-polyfill-regenerator "^0.5.3" - semver "^6.3.1" - -"@babel/plugin-transform-shorthand-properties@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.22.5.tgz" - integrity sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-spread@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.22.5.tgz" - integrity sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" - -"@babel/plugin-transform-sticky-regex@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.22.5.tgz" - integrity sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-template-literals@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.22.5.tgz" - integrity sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-typeof-symbol@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.22.5.tgz" - integrity sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-typescript@^7.22.15": - version "7.22.15" - resolved "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.22.15.tgz" - integrity sha512-1uirS0TnijxvQLnlv5wQBwOX3E1wCFX7ITv+9pBV2wKEk4K+M5tqDaoNXnTH8tjEIYHLO98MwiTWO04Ggz4XuA== - dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-create-class-features-plugin" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-typescript" "^7.22.5" - -"@babel/plugin-transform-unicode-escapes@^7.22.10": - version "7.22.10" - resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.22.10.tgz" - integrity sha512-lRfaRKGZCBqDlRU3UIFovdp9c9mEvlylmpod0/OatICsSfuQ9YFthRo1tpTkGsklEefZdqlEFdY4A2dwTb6ohg== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-unicode-property-regex@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.22.5.tgz" - integrity sha512-HCCIb+CbJIAE6sXn5CjFQXMwkCClcOfPCzTlilJ8cUatfzwHlWQkbtV0zD338u9dZskwvuOYTuuaMaA8J5EI5A== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.22.5" - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-unicode-regex@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.22.5.tgz" - integrity sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.22.5" - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-unicode-sets-regex@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.22.5.tgz" - integrity sha512-lhMfi4FC15j13eKrh3DnYHjpGj6UKQHtNKTbtc1igvAhRy4+kLhV07OpLcsN0VgDEw/MjAvJO4BdMJsHwMhzCg== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.22.5" - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/preset-env@^7.20.2", "@babel/preset-env@^7.22.9": - version "7.23.2" - resolved "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.23.2.tgz" - integrity sha512-BW3gsuDD+rvHL2VO2SjAUNTBe5YrjsTiDyqamPDWY723na3/yPQ65X5oQkFVJZ0o50/2d+svm1rkPoJeR1KxVQ== - dependencies: - "@babel/compat-data" "^7.23.2" - "@babel/helper-compilation-targets" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-validator-option" "^7.22.15" - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.22.15" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.22.15" - "@babel/plugin-proposal-private-property-in-object" "7.21.0-placeholder-for-preset-env.2" - "@babel/plugin-syntax-async-generators" "^7.8.4" - "@babel/plugin-syntax-class-properties" "^7.12.13" - "@babel/plugin-syntax-class-static-block" "^7.14.5" - "@babel/plugin-syntax-dynamic-import" "^7.8.3" - "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - "@babel/plugin-syntax-import-assertions" "^7.22.5" - "@babel/plugin-syntax-import-attributes" "^7.22.5" - "@babel/plugin-syntax-import-meta" "^7.10.4" - "@babel/plugin-syntax-json-strings" "^7.8.3" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - "@babel/plugin-syntax-private-property-in-object" "^7.14.5" - "@babel/plugin-syntax-top-level-await" "^7.14.5" - "@babel/plugin-syntax-unicode-sets-regex" "^7.18.6" - "@babel/plugin-transform-arrow-functions" "^7.22.5" - "@babel/plugin-transform-async-generator-functions" "^7.23.2" - "@babel/plugin-transform-async-to-generator" "^7.22.5" - "@babel/plugin-transform-block-scoped-functions" "^7.22.5" - "@babel/plugin-transform-block-scoping" "^7.23.0" - "@babel/plugin-transform-class-properties" "^7.22.5" - "@babel/plugin-transform-class-static-block" "^7.22.11" - "@babel/plugin-transform-classes" "^7.22.15" - "@babel/plugin-transform-computed-properties" "^7.22.5" - "@babel/plugin-transform-destructuring" "^7.23.0" - "@babel/plugin-transform-dotall-regex" "^7.22.5" - "@babel/plugin-transform-duplicate-keys" "^7.22.5" - "@babel/plugin-transform-dynamic-import" "^7.22.11" - "@babel/plugin-transform-exponentiation-operator" "^7.22.5" - "@babel/plugin-transform-export-namespace-from" "^7.22.11" - "@babel/plugin-transform-for-of" "^7.22.15" - "@babel/plugin-transform-function-name" "^7.22.5" - "@babel/plugin-transform-json-strings" "^7.22.11" - "@babel/plugin-transform-literals" "^7.22.5" - "@babel/plugin-transform-logical-assignment-operators" "^7.22.11" - "@babel/plugin-transform-member-expression-literals" "^7.22.5" - "@babel/plugin-transform-modules-amd" "^7.23.0" - "@babel/plugin-transform-modules-commonjs" "^7.23.0" - "@babel/plugin-transform-modules-systemjs" "^7.23.0" - "@babel/plugin-transform-modules-umd" "^7.22.5" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.22.5" - "@babel/plugin-transform-new-target" "^7.22.5" - "@babel/plugin-transform-nullish-coalescing-operator" "^7.22.11" - "@babel/plugin-transform-numeric-separator" "^7.22.11" - "@babel/plugin-transform-object-rest-spread" "^7.22.15" - "@babel/plugin-transform-object-super" "^7.22.5" - "@babel/plugin-transform-optional-catch-binding" "^7.22.11" - "@babel/plugin-transform-optional-chaining" "^7.23.0" - "@babel/plugin-transform-parameters" "^7.22.15" - "@babel/plugin-transform-private-methods" "^7.22.5" - "@babel/plugin-transform-private-property-in-object" "^7.22.11" - "@babel/plugin-transform-property-literals" "^7.22.5" - "@babel/plugin-transform-regenerator" "^7.22.10" - "@babel/plugin-transform-reserved-words" "^7.22.5" - "@babel/plugin-transform-shorthand-properties" "^7.22.5" - "@babel/plugin-transform-spread" "^7.22.5" - "@babel/plugin-transform-sticky-regex" "^7.22.5" - "@babel/plugin-transform-template-literals" "^7.22.5" - "@babel/plugin-transform-typeof-symbol" "^7.22.5" - "@babel/plugin-transform-unicode-escapes" "^7.22.10" - "@babel/plugin-transform-unicode-property-regex" "^7.22.5" - "@babel/plugin-transform-unicode-regex" "^7.22.5" - "@babel/plugin-transform-unicode-sets-regex" "^7.22.5" - "@babel/preset-modules" "0.1.6-no-external-plugins" - "@babel/types" "^7.23.0" - babel-plugin-polyfill-corejs2 "^0.4.6" - babel-plugin-polyfill-corejs3 "^0.8.5" - babel-plugin-polyfill-regenerator "^0.5.3" - core-js-compat "^3.31.0" - semver "^6.3.1" - -"@babel/preset-modules@0.1.6-no-external-plugins": - version "0.1.6-no-external-plugins" - resolved "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz" - integrity sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/types" "^7.4.4" - esutils "^2.0.2" - -"@babel/preset-react@^7.18.6", "@babel/preset-react@^7.22.5": - version "7.22.15" - resolved "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.22.15.tgz" - integrity sha512-Csy1IJ2uEh/PecCBXXoZGAZBeCATTuePzCSB7dLYWS0vOEj6CNpjxIhW4duWwZodBNueH7QO14WbGn8YyeuN9w== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-validator-option" "^7.22.15" - "@babel/plugin-transform-react-display-name" "^7.22.5" - "@babel/plugin-transform-react-jsx" "^7.22.15" - "@babel/plugin-transform-react-jsx-development" "^7.22.5" - "@babel/plugin-transform-react-pure-annotations" "^7.22.5" - -"@babel/preset-typescript@^7.21.0", "@babel/preset-typescript@^7.22.5": - version "7.23.2" - resolved "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.23.2.tgz" - integrity sha512-u4UJc1XsS1GhIGteM8rnGiIvf9rJpiVgMEeCnwlLA7WJPC+jcXWJAGxYmeqs5hOZD8BbAfnV5ezBOxQbb4OUxA== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-validator-option" "^7.22.15" - "@babel/plugin-syntax-jsx" "^7.22.5" - "@babel/plugin-transform-modules-commonjs" "^7.23.0" - "@babel/plugin-transform-typescript" "^7.22.15" - -"@babel/regjsgen@^0.8.0": - version "0.8.0" - resolved "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz" - integrity sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA== - -"@babel/runtime-corejs3@^7.22.6": - version "7.23.2" - resolved "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.23.2.tgz" - integrity sha512-54cIh74Z1rp4oIjsHjqN+WM4fMyCBYe+LpZ9jWm51CZ1fbH3SkAzQD/3XLoNkjbJ7YEmjobLXyvQrFypRHOrXw== - dependencies: - core-js-pure "^3.30.2" - regenerator-runtime "^0.14.0" - -"@babel/runtime@^7.1.2", "@babel/runtime@^7.10.3", "@babel/runtime@^7.12.13", "@babel/runtime@^7.12.5", "@babel/runtime@^7.22.6", "@babel/runtime@^7.8.4": - version "7.23.2" - resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.2.tgz" - integrity sha512-mM8eg4yl5D6i3lu2QKPuPH4FArvJ8KhTofbE7jwMUv9KX5mBvwPAqnV3MlyBNqdp9RyRKP6Yck8TrfYrPvX3bg== - dependencies: - regenerator-runtime "^0.14.0" - -"@babel/runtime@^7.15.4", "@babel/runtime@^7.9.2": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.24.7.tgz#f4f0d5530e8dbdf59b3451b9b3e594b6ba082e12" - integrity sha512-UwgBRMjJP+xv857DCngvqXI3Iq6J4v0wXmwc6sapg+zyhbwmQX67LUEFrkK5tbyJ30jGuG3ZvWpBiB9LCy1kWw== - dependencies: - regenerator-runtime "^0.14.0" - -"@babel/template@^7.22.15", "@babel/template@^7.22.5": - version "7.22.15" - resolved "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz" - integrity sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w== - dependencies: - "@babel/code-frame" "^7.22.13" - "@babel/parser" "^7.22.15" - "@babel/types" "^7.22.15" - -"@babel/traverse@^7.22.8", "@babel/traverse@^7.23.5": - version "7.23.5" - resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.5.tgz" - integrity sha512-czx7Xy5a6sapWWRx61m1Ke1Ra4vczu1mCTtJam5zRTBOonfdJ+S/B6HYmGYu3fJtr8GGET3si6IhgWVBhJ/m8w== - dependencies: - "@babel/code-frame" "^7.23.5" - "@babel/generator" "^7.23.5" - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-function-name" "^7.23.0" - "@babel/helper-hoist-variables" "^7.22.5" - "@babel/helper-split-export-declaration" "^7.22.6" - "@babel/parser" "^7.23.5" - "@babel/types" "^7.23.5" - debug "^4.1.0" - globals "^11.1.0" - -"@babel/types@^7.21.3", "@babel/types@^7.22.15", "@babel/types@^7.22.19", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.23.5", "@babel/types@^7.4.4": - version "7.23.5" - resolved "https://registry.npmjs.org/@babel/types/-/types-7.23.5.tgz" - integrity sha512-ON5kSOJwVO6xXVRTvOI0eOnWe7VdUcIpsovGo9U/Br4Ie4UVFQTboO2cYnDhAGU6Fp+UxSiT+pMft0SMHfuq6w== - dependencies: - "@babel/helper-string-parser" "^7.23.4" - "@babel/helper-validator-identifier" "^7.22.20" - to-fast-properties "^2.0.0" - -"@colors/colors@1.5.0": - version "1.5.0" - resolved "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz" - integrity sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ== - -"@discoveryjs/json-ext@0.5.7": - version "0.5.7" - resolved "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz" - integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== - -"@docsearch/css@3.6.0": - version "3.6.0" - resolved "https://registry.npmjs.org/@docsearch/css/-/css-3.6.0.tgz" - integrity sha512-+sbxb71sWre+PwDK7X2T8+bhS6clcVMLwBPznX45Qu6opJcgRjAp7gYSDzVFp187J+feSj5dNBN1mJoi6ckkUQ== - -"@docsearch/react@^3.5.2": - version "3.6.0" - resolved "https://registry.npmjs.org/@docsearch/react/-/react-3.6.0.tgz" - integrity sha512-HUFut4ztcVNmqy9gp/wxNbC7pTOHhgVVkHVGCACTuLhUKUhKAF9KYHJtMiLUJxEqiFLQiuri1fWF8zqwM/cu1w== - dependencies: - "@algolia/autocomplete-core" "1.9.3" - "@algolia/autocomplete-preset-algolia" "1.9.3" - "@docsearch/css" "3.6.0" - algoliasearch "^4.19.1" - -"@docsly/react@^1.9.1": - version "1.9.1" - resolved "https://registry.npmjs.org/@docsly/react/-/react-1.9.1.tgz" - integrity sha512-MzInFvAXoAC2KlouOJgdKw7TLHShKwqDCv8JbmbISnUG/h1iEqGVTnfxwPJIPBfMGnkyqB6+7Ja+khV5Gir6hg== - dependencies: - "@heroicons/react" "^2.0.18" - clsx "^1.2.1" - dayjs "^1.11.7" - react-error-boundary "^3.1.4" - react-hot-toast "^2.4.0" - swr "^2.1.0" - -"@docusaurus/core@3.4.0", "@docusaurus/core@^3.4.0": - version "3.4.0" - resolved "https://registry.yarnpkg.com/@docusaurus/core/-/core-3.4.0.tgz#bdbf1af4b2f25d1bf4a5b62ec6137d84c821cb3c" - integrity sha512-g+0wwmN2UJsBqy2fQRQ6fhXruoEa62JDeEa5d8IdTJlMoaDaEDfHh7WjwGRn4opuTQWpjAwP/fbcgyHKlE+64w== - dependencies: - "@babel/core" "^7.23.3" - "@babel/generator" "^7.23.3" - "@babel/plugin-syntax-dynamic-import" "^7.8.3" - "@babel/plugin-transform-runtime" "^7.22.9" - "@babel/preset-env" "^7.22.9" - "@babel/preset-react" "^7.22.5" - "@babel/preset-typescript" "^7.22.5" - "@babel/runtime" "^7.22.6" - "@babel/runtime-corejs3" "^7.22.6" - "@babel/traverse" "^7.22.8" - "@docusaurus/cssnano-preset" "3.4.0" - "@docusaurus/logger" "3.4.0" - "@docusaurus/mdx-loader" "3.4.0" - "@docusaurus/utils" "3.4.0" - "@docusaurus/utils-common" "3.4.0" - "@docusaurus/utils-validation" "3.4.0" - autoprefixer "^10.4.14" - babel-loader "^9.1.3" - babel-plugin-dynamic-import-node "^2.3.3" - boxen "^6.2.1" - chalk "^4.1.2" - chokidar "^3.5.3" - clean-css "^5.3.2" - cli-table3 "^0.6.3" - combine-promises "^1.1.0" - commander "^5.1.0" - copy-webpack-plugin "^11.0.0" - core-js "^3.31.1" - css-loader "^6.8.1" - css-minimizer-webpack-plugin "^5.0.1" - cssnano "^6.1.2" - del "^6.1.1" - detect-port "^1.5.1" - escape-html "^1.0.3" - eta "^2.2.0" - eval "^0.1.8" - file-loader "^6.2.0" - fs-extra "^11.1.1" - html-minifier-terser "^7.2.0" - html-tags "^3.3.1" - html-webpack-plugin "^5.5.3" - leven "^3.1.0" - lodash "^4.17.21" - mini-css-extract-plugin "^2.7.6" - p-map "^4.0.0" - postcss "^8.4.26" - postcss-loader "^7.3.3" - prompts "^2.4.2" - react-dev-utils "^12.0.1" - react-helmet-async "^1.3.0" - react-loadable "npm:@docusaurus/react-loadable@6.0.0" - react-loadable-ssr-addon-v5-slorber "^1.0.1" - react-router "^5.3.4" - react-router-config "^5.1.1" - react-router-dom "^5.3.4" - rtl-detect "^1.0.4" - semver "^7.5.4" - serve-handler "^6.1.5" - shelljs "^0.8.5" - terser-webpack-plugin "^5.3.9" - tslib "^2.6.0" - update-notifier "^6.0.2" - url-loader "^4.1.1" - webpack "^5.88.1" - webpack-bundle-analyzer "^4.9.0" - webpack-dev-server "^4.15.1" - webpack-merge "^5.9.0" - webpackbar "^5.0.2" - -"@docusaurus/cssnano-preset@3.4.0": - version "3.4.0" - resolved "https://registry.yarnpkg.com/@docusaurus/cssnano-preset/-/cssnano-preset-3.4.0.tgz#dc7922b3bbeabcefc9b60d0161680d81cf72c368" - integrity sha512-qwLFSz6v/pZHy/UP32IrprmH5ORce86BGtN0eBtG75PpzQJAzp9gefspox+s8IEOr0oZKuQ/nhzZ3xwyc3jYJQ== - dependencies: - cssnano-preset-advanced "^6.1.2" - postcss "^8.4.38" - postcss-sort-media-queries "^5.2.0" - tslib "^2.6.0" - -"@docusaurus/logger@3.4.0": - version "3.4.0" - resolved "https://registry.yarnpkg.com/@docusaurus/logger/-/logger-3.4.0.tgz#8b0ac05c7f3dac2009066e2f964dee8209a77403" - integrity sha512-bZwkX+9SJ8lB9kVRkXw+xvHYSMGG4bpYHKGXeXFvyVc79NMeeBSGgzd4TQLHH+DYeOJoCdl8flrFJVxlZ0wo/Q== - dependencies: - chalk "^4.1.2" - tslib "^2.6.0" - -"@docusaurus/lqip-loader@3.4.0": - version "3.4.0" - resolved "https://registry.yarnpkg.com/@docusaurus/lqip-loader/-/lqip-loader-3.4.0.tgz#e1a52f0380b2eccf5c1536afeb9a054f998e883d" - integrity sha512-F//Gjqcz925zLL1l3Y3XOtQvn927GBIr9ZouvzWF4jHNKuuHBqzOPSADF5O/cT3Vq1ucPWooyhPBxYcvSGF4SA== - dependencies: - "@docusaurus/logger" "3.4.0" - file-loader "^6.2.0" - lodash "^4.17.21" - sharp "^0.32.3" - tslib "^2.6.0" - -"@docusaurus/mdx-loader@3.4.0": - version "3.4.0" - resolved "https://registry.yarnpkg.com/@docusaurus/mdx-loader/-/mdx-loader-3.4.0.tgz#483d7ab57928fdbb5c8bd1678098721a930fc5f6" - integrity sha512-kSSbrrk4nTjf4d+wtBA9H+FGauf2gCax89kV8SUSJu3qaTdSIKdWERlngsiHaCFgZ7laTJ8a67UFf+xlFPtuTw== - dependencies: - "@docusaurus/logger" "3.4.0" - "@docusaurus/utils" "3.4.0" - "@docusaurus/utils-validation" "3.4.0" - "@mdx-js/mdx" "^3.0.0" - "@slorber/remark-comment" "^1.0.0" - escape-html "^1.0.3" - estree-util-value-to-estree "^3.0.1" - file-loader "^6.2.0" - fs-extra "^11.1.1" - image-size "^1.0.2" - mdast-util-mdx "^3.0.0" - mdast-util-to-string "^4.0.0" - rehype-raw "^7.0.0" - remark-directive "^3.0.0" - remark-emoji "^4.0.0" - remark-frontmatter "^5.0.0" - remark-gfm "^4.0.0" - stringify-object "^3.3.0" - tslib "^2.6.0" - unified "^11.0.3" - unist-util-visit "^5.0.0" - url-loader "^4.1.1" - vfile "^6.0.1" - webpack "^5.88.1" - -"@docusaurus/module-type-aliases@3.4.0", "@docusaurus/module-type-aliases@^3.4.0": - version "3.4.0" - resolved "https://registry.yarnpkg.com/@docusaurus/module-type-aliases/-/module-type-aliases-3.4.0.tgz#2653bde58fc1aa3dbc626a6c08cfb63a37ae1bb8" - integrity sha512-A1AyS8WF5Bkjnb8s+guTDuYmUiwJzNrtchebBHpc0gz0PyHJNMaybUlSrmJjHVcGrya0LKI4YcR3lBDQfXRYLw== - dependencies: - "@docusaurus/types" "3.4.0" - "@types/history" "^4.7.11" - "@types/react" "*" - "@types/react-router-config" "*" - "@types/react-router-dom" "*" - react-helmet-async "*" - react-loadable "npm:@docusaurus/react-loadable@6.0.0" - -"@docusaurus/plugin-client-redirects@^3.4.0": - version "3.4.0" - resolved "https://registry.yarnpkg.com/@docusaurus/plugin-client-redirects/-/plugin-client-redirects-3.4.0.tgz#10eafc9adcf3f9be7cc33d77e816040dc7a8d368" - integrity sha512-Pr8kyh/+OsmYCvdZhc60jy/FnrY6flD2TEAhl4rJxeVFxnvvRgEhoaIVX8q9MuJmaQoh6frPk94pjs7/6YgBDQ== - dependencies: - "@docusaurus/core" "3.4.0" - "@docusaurus/logger" "3.4.0" - "@docusaurus/utils" "3.4.0" - "@docusaurus/utils-common" "3.4.0" - "@docusaurus/utils-validation" "3.4.0" - eta "^2.2.0" - fs-extra "^11.1.1" - lodash "^4.17.21" - tslib "^2.6.0" - -"@docusaurus/plugin-content-blog@3.4.0": - version "3.4.0" - resolved "https://registry.yarnpkg.com/@docusaurus/plugin-content-blog/-/plugin-content-blog-3.4.0.tgz#6373632fdbababbda73a13c4a08f907d7de8f007" - integrity sha512-vv6ZAj78ibR5Jh7XBUT4ndIjmlAxkijM3Sx5MAAzC1gyv0vupDQNhzuFg1USQmQVj3P5I6bquk12etPV3LJ+Xw== - dependencies: - "@docusaurus/core" "3.4.0" - "@docusaurus/logger" "3.4.0" - "@docusaurus/mdx-loader" "3.4.0" - "@docusaurus/types" "3.4.0" - "@docusaurus/utils" "3.4.0" - "@docusaurus/utils-common" "3.4.0" - "@docusaurus/utils-validation" "3.4.0" - cheerio "^1.0.0-rc.12" - feed "^4.2.2" - fs-extra "^11.1.1" - lodash "^4.17.21" - reading-time "^1.5.0" - srcset "^4.0.0" - tslib "^2.6.0" - unist-util-visit "^5.0.0" - utility-types "^3.10.0" - webpack "^5.88.1" - -"@docusaurus/plugin-content-docs@3.4.0", "@docusaurus/plugin-content-docs@^2 || ^3", "@docusaurus/plugin-content-docs@^3.0.1": - version "3.4.0" - resolved "https://registry.yarnpkg.com/@docusaurus/plugin-content-docs/-/plugin-content-docs-3.4.0.tgz#3088973f72169a2a6d533afccec7153c8720d332" - integrity sha512-HkUCZffhBo7ocYheD9oZvMcDloRnGhBMOZRyVcAQRFmZPmNqSyISlXA1tQCIxW+r478fty97XXAGjNYzBjpCsg== - dependencies: - "@docusaurus/core" "3.4.0" - "@docusaurus/logger" "3.4.0" - "@docusaurus/mdx-loader" "3.4.0" - "@docusaurus/module-type-aliases" "3.4.0" - "@docusaurus/types" "3.4.0" - "@docusaurus/utils" "3.4.0" - "@docusaurus/utils-common" "3.4.0" - "@docusaurus/utils-validation" "3.4.0" - "@types/react-router-config" "^5.0.7" - combine-promises "^1.1.0" - fs-extra "^11.1.1" - js-yaml "^4.1.0" - lodash "^4.17.21" - tslib "^2.6.0" - utility-types "^3.10.0" - webpack "^5.88.1" - -"@docusaurus/plugin-content-pages@3.4.0": - version "3.4.0" - resolved "https://registry.yarnpkg.com/@docusaurus/plugin-content-pages/-/plugin-content-pages-3.4.0.tgz#1846172ca0355c7d32a67ef8377750ce02bbb8ad" - integrity sha512-h2+VN/0JjpR8fIkDEAoadNjfR3oLzB+v1qSXbIAKjQ46JAHx3X22n9nqS+BWSQnTnp1AjkjSvZyJMekmcwxzxg== - dependencies: - "@docusaurus/core" "3.4.0" - "@docusaurus/mdx-loader" "3.4.0" - "@docusaurus/types" "3.4.0" - "@docusaurus/utils" "3.4.0" - "@docusaurus/utils-validation" "3.4.0" - fs-extra "^11.1.1" - tslib "^2.6.0" - webpack "^5.88.1" - -"@docusaurus/plugin-debug@3.4.0": - version "3.4.0" - resolved "https://registry.yarnpkg.com/@docusaurus/plugin-debug/-/plugin-debug-3.4.0.tgz#74e4ec5686fa314c26f3ac150bacadbba7f06948" - integrity sha512-uV7FDUNXGyDSD3PwUaf5YijX91T5/H9SX4ErEcshzwgzWwBtK37nUWPU3ZLJfeTavX3fycTOqk9TglpOLaWkCg== - dependencies: - "@docusaurus/core" "3.4.0" - "@docusaurus/types" "3.4.0" - "@docusaurus/utils" "3.4.0" - fs-extra "^11.1.1" - react-json-view-lite "^1.2.0" - tslib "^2.6.0" - -"@docusaurus/plugin-google-analytics@3.4.0": - version "3.4.0" - resolved "https://registry.yarnpkg.com/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-3.4.0.tgz#5f59fc25329a59decc231936f6f9fb5663da3c55" - integrity sha512-mCArluxEGi3cmYHqsgpGGt3IyLCrFBxPsxNZ56Mpur0xSlInnIHoeLDH7FvVVcPJRPSQ9/MfRqLsainRw+BojA== - dependencies: - "@docusaurus/core" "3.4.0" - "@docusaurus/types" "3.4.0" - "@docusaurus/utils-validation" "3.4.0" - tslib "^2.6.0" - -"@docusaurus/plugin-google-gtag@3.4.0": - version "3.4.0" - resolved "https://registry.yarnpkg.com/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-3.4.0.tgz#42489ac5fe1c83b5523ceedd5ef74f9aa8bc251b" - integrity sha512-Dsgg6PLAqzZw5wZ4QjUYc8Z2KqJqXxHxq3vIoyoBWiLEEfigIs7wHR+oiWUQy3Zk9MIk6JTYj7tMoQU0Jm3nqA== - dependencies: - "@docusaurus/core" "3.4.0" - "@docusaurus/types" "3.4.0" - "@docusaurus/utils-validation" "3.4.0" - "@types/gtag.js" "^0.0.12" - tslib "^2.6.0" - -"@docusaurus/plugin-google-tag-manager@3.4.0", "@docusaurus/plugin-google-tag-manager@^3.4.0": - version "3.4.0" - resolved "https://registry.yarnpkg.com/@docusaurus/plugin-google-tag-manager/-/plugin-google-tag-manager-3.4.0.tgz#cebb03a5ffa1e70b37d95601442babea251329ff" - integrity sha512-O9tX1BTwxIhgXpOLpFDueYA9DWk69WCbDRrjYoMQtFHSkTyE7RhNgyjSPREUWJb9i+YUg3OrsvrBYRl64FCPCQ== - dependencies: - "@docusaurus/core" "3.4.0" - "@docusaurus/types" "3.4.0" - "@docusaurus/utils-validation" "3.4.0" - tslib "^2.6.0" - -"@docusaurus/plugin-ideal-image@^3.4.0": - version "3.4.0" - resolved "https://registry.yarnpkg.com/@docusaurus/plugin-ideal-image/-/plugin-ideal-image-3.4.0.tgz#e75bd81dbedd8a1041a9edaed24f88d016a0643e" - integrity sha512-s8N/PRiv1R66UY+WX/2E9a+GjkRooXVcf0VJNEYA3yZ6c24Path15ivjmdMtKaSo/6OXYbejGlA4DJZ5TPLkCQ== - dependencies: - "@docusaurus/core" "3.4.0" - "@docusaurus/lqip-loader" "3.4.0" - "@docusaurus/responsive-loader" "^1.7.0" - "@docusaurus/theme-translations" "3.4.0" - "@docusaurus/types" "3.4.0" - "@docusaurus/utils-validation" "3.4.0" - "@slorber/react-ideal-image" "^0.0.12" - react-waypoint "^10.3.0" - sharp "^0.32.3" - tslib "^2.6.0" - webpack "^5.88.1" - -"@docusaurus/plugin-sitemap@3.4.0": - version "3.4.0" - resolved "https://registry.yarnpkg.com/@docusaurus/plugin-sitemap/-/plugin-sitemap-3.4.0.tgz#b091d64d1e3c6c872050189999580187537bcbc6" - integrity sha512-+0VDvx9SmNrFNgwPoeoCha+tRoAjopwT0+pYO1xAbyLcewXSemq+eLxEa46Q1/aoOaJQ0qqHELuQM7iS2gp33Q== - dependencies: - "@docusaurus/core" "3.4.0" - "@docusaurus/logger" "3.4.0" - "@docusaurus/types" "3.4.0" - "@docusaurus/utils" "3.4.0" - "@docusaurus/utils-common" "3.4.0" - "@docusaurus/utils-validation" "3.4.0" - fs-extra "^11.1.1" - sitemap "^7.1.1" - tslib "^2.6.0" - -"@docusaurus/preset-classic@^3.4.0": - version "3.4.0" - resolved "https://registry.yarnpkg.com/@docusaurus/preset-classic/-/preset-classic-3.4.0.tgz#6082a32fbb465b0cb2c2a50ebfc277cff2c0f139" - integrity sha512-Ohj6KB7siKqZaQhNJVMBBUzT3Nnp6eTKqO+FXO3qu/n1hJl3YLwVKTWBg28LF7MWrKu46UuYavwMRxud0VyqHg== - dependencies: - "@docusaurus/core" "3.4.0" - "@docusaurus/plugin-content-blog" "3.4.0" - "@docusaurus/plugin-content-docs" "3.4.0" - "@docusaurus/plugin-content-pages" "3.4.0" - "@docusaurus/plugin-debug" "3.4.0" - "@docusaurus/plugin-google-analytics" "3.4.0" - "@docusaurus/plugin-google-gtag" "3.4.0" - "@docusaurus/plugin-google-tag-manager" "3.4.0" - "@docusaurus/plugin-sitemap" "3.4.0" - "@docusaurus/theme-classic" "3.4.0" - "@docusaurus/theme-common" "3.4.0" - "@docusaurus/theme-search-algolia" "3.4.0" - "@docusaurus/types" "3.4.0" - -"@docusaurus/responsive-loader@^1.7.0": - version "1.7.0" - resolved "https://registry.npmjs.org/@docusaurus/responsive-loader/-/responsive-loader-1.7.0.tgz" - integrity sha512-N0cWuVqTRXRvkBxeMQcy/OF2l7GN8rmni5EzR3HpwR+iU2ckYPnziceojcxvvxQ5NqZg1QfEW0tycQgHp+e+Nw== - dependencies: - loader-utils "^2.0.0" - -"@docusaurus/theme-classic@3.4.0": - version "3.4.0" - resolved "https://registry.yarnpkg.com/@docusaurus/theme-classic/-/theme-classic-3.4.0.tgz#1b0f48edec3e3ec8927843554b9f11e5927b0e52" - integrity sha512-0IPtmxsBYv2adr1GnZRdMkEQt1YW6tpzrUPj02YxNpvJ5+ju4E13J5tB4nfdaen/tfR1hmpSPlTFPvTf4kwy8Q== - dependencies: - "@docusaurus/core" "3.4.0" - "@docusaurus/mdx-loader" "3.4.0" - "@docusaurus/module-type-aliases" "3.4.0" - "@docusaurus/plugin-content-blog" "3.4.0" - "@docusaurus/plugin-content-docs" "3.4.0" - "@docusaurus/plugin-content-pages" "3.4.0" - "@docusaurus/theme-common" "3.4.0" - "@docusaurus/theme-translations" "3.4.0" - "@docusaurus/types" "3.4.0" - "@docusaurus/utils" "3.4.0" - "@docusaurus/utils-common" "3.4.0" - "@docusaurus/utils-validation" "3.4.0" - "@mdx-js/react" "^3.0.0" - clsx "^2.0.0" - copy-text-to-clipboard "^3.2.0" - infima "0.2.0-alpha.43" - lodash "^4.17.21" - nprogress "^0.2.0" - postcss "^8.4.26" - prism-react-renderer "^2.3.0" - prismjs "^1.29.0" - react-router-dom "^5.3.4" - rtlcss "^4.1.0" - tslib "^2.6.0" - utility-types "^3.10.0" - -"@docusaurus/theme-common@3.4.0", "@docusaurus/theme-common@^3.0.1": - version "3.4.0" - resolved "https://registry.yarnpkg.com/@docusaurus/theme-common/-/theme-common-3.4.0.tgz#01f2b728de6cb57f6443f52fc30675cf12a5d49f" - integrity sha512-0A27alXuv7ZdCg28oPE8nH/Iz73/IUejVaCazqu9elS4ypjiLhK3KfzdSQBnL/g7YfHSlymZKdiOHEo8fJ0qMA== - dependencies: - "@docusaurus/mdx-loader" "3.4.0" - "@docusaurus/module-type-aliases" "3.4.0" - "@docusaurus/plugin-content-blog" "3.4.0" - "@docusaurus/plugin-content-docs" "3.4.0" - "@docusaurus/plugin-content-pages" "3.4.0" - "@docusaurus/utils" "3.4.0" - "@docusaurus/utils-common" "3.4.0" - "@types/history" "^4.7.11" - "@types/react" "*" - "@types/react-router-config" "*" - clsx "^2.0.0" - parse-numeric-range "^1.3.0" - prism-react-renderer "^2.3.0" - tslib "^2.6.0" - utility-types "^3.10.0" - -"@docusaurus/theme-live-codeblock@^3.4.0": - version "3.4.0" - resolved "https://registry.yarnpkg.com/@docusaurus/theme-live-codeblock/-/theme-live-codeblock-3.4.0.tgz#1de96234eea796a031f9455169e7f75151c3d9e4" - integrity sha512-UvsYhN6aTQiQlhY6cd0I4ckNbyZ/pQVKtKNRw3ojr+SPXYqSyXTpFzcuTUYcglKFVz1IK7LeeFymGFnsfkCWmw== - dependencies: - "@docusaurus/core" "3.4.0" - "@docusaurus/theme-common" "3.4.0" - "@docusaurus/theme-translations" "3.4.0" - "@docusaurus/utils-validation" "3.4.0" - "@philpl/buble" "^0.19.7" - clsx "^2.0.0" - fs-extra "^11.1.1" - react-live "^4.1.6" - tslib "^2.6.0" - -"@docusaurus/theme-search-algolia@3.4.0": - version "3.4.0" - resolved "https://registry.yarnpkg.com/@docusaurus/theme-search-algolia/-/theme-search-algolia-3.4.0.tgz#c499bad71d668df0d0f15b0e5e33e2fc4e330fcc" - integrity sha512-aiHFx7OCw4Wck1z6IoShVdUWIjntC8FHCw9c5dR8r3q4Ynh+zkS8y2eFFunN/DL6RXPzpnvKCg3vhLQYJDmT9Q== - dependencies: - "@docsearch/react" "^3.5.2" - "@docusaurus/core" "3.4.0" - "@docusaurus/logger" "3.4.0" - "@docusaurus/plugin-content-docs" "3.4.0" - "@docusaurus/theme-common" "3.4.0" - "@docusaurus/theme-translations" "3.4.0" - "@docusaurus/utils" "3.4.0" - "@docusaurus/utils-validation" "3.4.0" - algoliasearch "^4.18.0" - algoliasearch-helper "^3.13.3" - clsx "^2.0.0" - eta "^2.2.0" - fs-extra "^11.1.1" - lodash "^4.17.21" - tslib "^2.6.0" - utility-types "^3.10.0" - -"@docusaurus/theme-translations@3.4.0", "@docusaurus/theme-translations@^2 || ^3": - version "3.4.0" - resolved "https://registry.yarnpkg.com/@docusaurus/theme-translations/-/theme-translations-3.4.0.tgz#e6355d01352886c67e38e848b2542582ea3070af" - integrity sha512-zSxCSpmQCCdQU5Q4CnX/ID8CSUUI3fvmq4hU/GNP/XoAWtXo9SAVnM3TzpU8Gb//H3WCsT8mJcTfyOk3d9ftNg== - dependencies: - fs-extra "^11.1.1" - tslib "^2.6.0" - -"@docusaurus/tsconfig@^3.4.0": - version "3.4.0" - resolved "https://registry.yarnpkg.com/@docusaurus/tsconfig/-/tsconfig-3.4.0.tgz#2b6ea208e580facc6e3330433e9b4321ef0eb3f5" - integrity sha512-0qENiJ+TRaeTzcg4olrnh0BQ7eCxTgbYWBnWUeQDc84UYkt/T3pDNnm3SiQkqPb+YQ1qtYFlC0RriAElclo8Dg== - -"@docusaurus/types@3.4.0", "@docusaurus/types@^3.4.0": - version "3.4.0" - resolved "https://registry.yarnpkg.com/@docusaurus/types/-/types-3.4.0.tgz#237c3f737e9db3f7c1a5935a3ef48d6eadde8292" - integrity sha512-4jcDO8kXi5Cf9TcyikB/yKmz14f2RZ2qTRerbHAsS+5InE9ZgSLBNLsewtFTcTOXSVcbU3FoGOzcNWAmU1TR0A== - dependencies: - "@mdx-js/mdx" "^3.0.0" - "@types/history" "^4.7.11" - "@types/react" "*" - commander "^5.1.0" - joi "^17.9.2" - react-helmet-async "^1.3.0" - utility-types "^3.10.0" - webpack "^5.88.1" - webpack-merge "^5.9.0" - -"@docusaurus/utils-common@3.4.0", "@docusaurus/utils-common@^2 || ^3": - version "3.4.0" - resolved "https://registry.yarnpkg.com/@docusaurus/utils-common/-/utils-common-3.4.0.tgz#2a43fefd35b85ab9fcc6833187e66c15f8bfbbc6" - integrity sha512-NVx54Wr4rCEKsjOH5QEVvxIqVvm+9kh7q8aYTU5WzUU9/Hctd6aTrcZ3G0Id4zYJ+AeaG5K5qHA4CY5Kcm2iyQ== - dependencies: - tslib "^2.6.0" - -"@docusaurus/utils-validation@3.4.0", "@docusaurus/utils-validation@^2 || ^3", "@docusaurus/utils-validation@^3.0.1": - version "3.4.0" - resolved "https://registry.yarnpkg.com/@docusaurus/utils-validation/-/utils-validation-3.4.0.tgz#0176f6e503ff45f4390ec2ecb69550f55e0b5eb7" - integrity sha512-hYQ9fM+AXYVTWxJOT1EuNaRnrR2WGpRdLDQG07O8UOpsvCPWUVOeo26Rbm0JWY2sGLfzAb+tvJ62yF+8F+TV0g== - dependencies: - "@docusaurus/logger" "3.4.0" - "@docusaurus/utils" "3.4.0" - "@docusaurus/utils-common" "3.4.0" - fs-extra "^11.2.0" - joi "^17.9.2" - js-yaml "^4.1.0" - lodash "^4.17.21" - tslib "^2.6.0" - -"@docusaurus/utils@3.4.0", "@docusaurus/utils@^2 || ^3", "@docusaurus/utils@^3.0.1": - version "3.4.0" - resolved "https://registry.yarnpkg.com/@docusaurus/utils/-/utils-3.4.0.tgz#c508e20627b7a55e2b541e4a28c95e0637d6a204" - integrity sha512-fRwnu3L3nnWaXOgs88BVBmG1yGjcQqZNHG+vInhEa2Sz2oQB+ZjbEMO5Rh9ePFpZ0YDiDUhpaVjwmS+AU2F14g== - dependencies: - "@docusaurus/logger" "3.4.0" - "@docusaurus/utils-common" "3.4.0" - "@svgr/webpack" "^8.1.0" - escape-string-regexp "^4.0.0" - file-loader "^6.2.0" - fs-extra "^11.1.1" - github-slugger "^1.5.0" - globby "^11.1.0" - gray-matter "^4.0.3" - jiti "^1.20.0" - js-yaml "^4.1.0" - lodash "^4.17.21" - micromatch "^4.0.5" - prompts "^2.4.2" - resolve-pathname "^3.0.0" - shelljs "^0.8.5" - tslib "^2.6.0" - url-loader "^4.1.1" - utility-types "^3.10.0" - webpack "^5.88.1" - -"@easyops-cn/autocomplete.js@^0.38.1": - version "0.38.1" - resolved "https://registry.npmjs.org/@easyops-cn/autocomplete.js/-/autocomplete.js-0.38.1.tgz" - integrity sha512-drg76jS6syilOUmVNkyo1c7ZEBPcPuK+aJA7AksM5ZIIbV57DMHCywiCr+uHyv8BE5jUTU98j/H7gVrkHrWW3Q== - dependencies: - cssesc "^3.0.0" - immediate "^3.2.3" - -"@easyops-cn/docusaurus-search-local@^0.44.0": - version "0.44.0" - resolved "https://registry.yarnpkg.com/@easyops-cn/docusaurus-search-local/-/docusaurus-search-local-0.44.0.tgz#8f5ef8e68971223a69ecfd4956bf834319ccdeba" - integrity sha512-sgLpvkRtYuEGvd4peYQW2oInI4JkcQfxo7HgEnkhcxn9kxDY5laA8DiCx9qMKAkM9cMed9e8IsLk5gBeDh8Rqw== - dependencies: - "@docusaurus/plugin-content-docs" "^2 || ^3" - "@docusaurus/theme-translations" "^2 || ^3" - "@docusaurus/utils" "^2 || ^3" - "@docusaurus/utils-common" "^2 || ^3" - "@docusaurus/utils-validation" "^2 || ^3" - "@easyops-cn/autocomplete.js" "^0.38.1" - "@node-rs/jieba" "^1.6.0" - cheerio "^1.0.0-rc.3" - clsx "^1.1.1" - debug "^4.2.0" - fs-extra "^10.0.0" - klaw-sync "^6.0.0" - lunr "^2.3.9" - lunr-languages "^1.4.0" - mark.js "^8.11.1" - tslib "^2.4.0" - -"@exodus/schemasafe@^1.0.0-rc.2": - version "1.3.0" - resolved "https://registry.yarnpkg.com/@exodus/schemasafe/-/schemasafe-1.3.0.tgz#731656abe21e8e769a7f70a4d833e6312fe59b7f" - integrity sha512-5Aap/GaRupgNx/feGBwLLTVv8OQFfv3pq2lPRzPg9R+IOBnDgghTGW7l7EuVXOvg5cc/xSAlRW8rBrjIC3Nvqw== - -"@floating-ui/core@^1.0.0": - version "1.6.1" - resolved "https://registry.npmjs.org/@floating-ui/core/-/core-1.6.1.tgz" - integrity sha512-42UH54oPZHPdRHdw6BgoBD6cg/eVTmVrFcgeRDM3jbO7uxSoipVcmcIGFcA5jmOHO5apcyvBhkSKES3fQJnu7A== - dependencies: - "@floating-ui/utils" "^0.2.0" - -"@floating-ui/dom@^1.6.1": - version "1.6.4" - resolved "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.6.4.tgz" - integrity sha512-0G8R+zOvQsAG1pg2Q99P21jiqxqGBW1iRe/iXHsBRBxnpXKFI8QwbB4x5KmYLggNO5m34IQgOIu9SCRfR/WWiQ== - dependencies: - "@floating-ui/core" "^1.0.0" - "@floating-ui/utils" "^0.2.0" - -"@floating-ui/utils@^0.2.0": - version "0.2.2" - resolved "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.2.tgz" - integrity sha512-J4yDIIthosAsRZ5CPYP/jQvUAQtlZTTD/4suA08/FEnlxqW3sKS9iAhgsa9VYLZ6vDHn/ixJgIqRQPotoBjxIw== - -"@hapi/hoek@^9.0.0": - version "9.3.0" - resolved "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz" - integrity sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ== - -"@hapi/topo@^5.0.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" - -"@heroicons/react@^2.0.18": - version "2.0.18" - resolved "https://registry.npmjs.org/@heroicons/react/-/react-2.0.18.tgz" - integrity sha512-7TyMjRrZZMBPa+/5Y8lN0iyvUU/01PeMGX2+RE7cQWpEUIcb4QotzUObFkJDejj/HUH4qjP/eQ0gzzKs2f+6Yw== - -"@hookform/error-message@^2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@hookform/error-message/-/error-message-2.0.1.tgz#6a37419106e13664ad6a29c9dae699ae6cd276b8" - integrity sha512-U410sAr92xgxT1idlu9WWOVjndxLdgPUHEB8Schr27C9eh7/xUnITWpCMF93s+lGiG++D4JnbSnrb5A21AdSNg== - -"@isaacs/cliui@^8.0.2": - version "8.0.2" - resolved "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz" - integrity sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA== - dependencies: - string-width "^5.1.2" - string-width-cjs "npm:string-width@^4.2.0" - strip-ansi "^7.0.1" - strip-ansi-cjs "npm:strip-ansi@^6.0.1" - wrap-ansi "^8.1.0" - wrap-ansi-cjs "npm:wrap-ansi@^7.0.0" - -"@jest/schemas@^29.6.3": - version "29.6.3" - resolved "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz" - integrity sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA== - dependencies: - "@sinclair/typebox" "^0.27.8" - -"@jest/types@^29.6.3": - version "29.6.3" - resolved "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz" - integrity sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw== - dependencies: - "@jest/schemas" "^29.6.3" - "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^3.0.0" - "@types/node" "*" - "@types/yargs" "^17.0.8" - chalk "^4.0.0" - -"@jridgewell/gen-mapping@^0.3.0", "@jridgewell/gen-mapping@^0.3.2": - version "0.3.3" - resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz" - integrity sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ== - dependencies: - "@jridgewell/set-array" "^1.0.1" - "@jridgewell/sourcemap-codec" "^1.4.10" - "@jridgewell/trace-mapping" "^0.3.9" - -"@jridgewell/resolve-uri@^3.1.0": - version "3.1.1" - resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz" - integrity sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA== - -"@jridgewell/set-array@^1.0.1": - version "1.1.2" - resolved "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz" - integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== - -"@jridgewell/source-map@^0.3.3": - version "0.3.5" - resolved "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz" - integrity sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ== - dependencies: - "@jridgewell/gen-mapping" "^0.3.0" - "@jridgewell/trace-mapping" "^0.3.9" - -"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14": - version "1.4.15" - resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz" - integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== - -"@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.18", "@jridgewell/trace-mapping@^0.3.9": - version "0.3.20" - resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz" - integrity sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q== - dependencies: - "@jridgewell/resolve-uri" "^3.1.0" - "@jridgewell/sourcemap-codec" "^1.4.14" - -"@jridgewell/trace-mapping@^0.3.20": - version "0.3.25" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz#15f190e98895f3fc23276ee14bc76b675c2e50f0" - integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ== - dependencies: - "@jridgewell/resolve-uri" "^3.1.0" - "@jridgewell/sourcemap-codec" "^1.4.14" - -"@jsdevtools/ono@^7.1.3": - version "7.1.3" - resolved "https://registry.yarnpkg.com/@jsdevtools/ono/-/ono-7.1.3.tgz#9df03bbd7c696a5c58885c34aa06da41c8543796" - integrity sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg== - -"@leichtgewicht/ip-codec@^2.0.1": - version "2.0.4" - resolved "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz" - integrity sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A== - -"@mdx-js/mdx@^3.0.0": - version "3.0.0" - resolved "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-3.0.0.tgz" - integrity sha512-Icm0TBKBLYqroYbNW3BPnzMGn+7mwpQOK310aZ7+fkCtiU3aqv2cdcX+nd0Ydo3wI5Rx8bX2Z2QmGb/XcAClCw== - dependencies: - "@types/estree" "^1.0.0" - "@types/estree-jsx" "^1.0.0" - "@types/hast" "^3.0.0" - "@types/mdx" "^2.0.0" - collapse-white-space "^2.0.0" - devlop "^1.0.0" - estree-util-build-jsx "^3.0.0" - estree-util-is-identifier-name "^3.0.0" - estree-util-to-js "^2.0.0" - estree-walker "^3.0.0" - hast-util-to-estree "^3.0.0" - hast-util-to-jsx-runtime "^2.0.0" - markdown-extensions "^2.0.0" - periscopic "^3.0.0" - remark-mdx "^3.0.0" - remark-parse "^11.0.0" - remark-rehype "^11.0.0" - source-map "^0.7.0" - unified "^11.0.0" - unist-util-position-from-estree "^2.0.0" - unist-util-stringify-position "^4.0.0" - unist-util-visit "^5.0.0" - vfile "^6.0.0" - -"@mdx-js/react@^3.0.0", "@mdx-js/react@^3.0.1": - version "3.0.1" - resolved "https://registry.npmjs.org/@mdx-js/react/-/react-3.0.1.tgz" - integrity sha512-9ZrPIU4MGf6et1m1ov3zKf+q9+deetI51zprKB1D/z3NOb+rUxxtEl3mCjW5wTGh6VhRdwPueh1oRzi6ezkA8A== - dependencies: - "@types/mdx" "^2.0.0" - -"@node-rs/jieba-android-arm-eabi@1.7.2": - version "1.7.2" - resolved "https://registry.yarnpkg.com/@node-rs/jieba-android-arm-eabi/-/jieba-android-arm-eabi-1.7.2.tgz#06d10feef9a0718b4b3f07b2d7f161c193439b96" - integrity sha512-FyDHRNSRIHOQO7S6Q4RwuGffnnnuNwaXPH7K8WqSzifEY+zFIaSPcNqrZHrnqyeXc4JiYpBIHeP+0Mkf1kIGRA== - -"@node-rs/jieba-android-arm64@1.7.2": - version "1.7.2" - resolved "https://registry.yarnpkg.com/@node-rs/jieba-android-arm64/-/jieba-android-arm64-1.7.2.tgz#10830a0d59e84faa1a52c0fea5618ef9b1d5ac03" - integrity sha512-z0UEZCGrAX/IiarhuDMsEIDZBS77UZv4SQyL/J48yrsbWKbb2lJ1vCrYxXIWqwp6auXHEu4r1O/pMriDAcEnPg== - -"@node-rs/jieba-darwin-arm64@1.7.2": - version "1.7.2" - resolved "https://registry.npmjs.org/@node-rs/jieba-darwin-arm64/-/jieba-darwin-arm64-1.7.2.tgz" - integrity sha512-M2cHIWRaaOmXGKy446SH2+Y2PzREaI2oYznPbg55wYEdioUp01YS/2WRG8CaoCKEj0aUocA7MFM2vVcoIAsbQw== - -"@node-rs/jieba-darwin-x64@1.7.2": - version "1.7.2" - resolved "https://registry.yarnpkg.com/@node-rs/jieba-darwin-x64/-/jieba-darwin-x64-1.7.2.tgz#bf21be9875a30a5fad4030893b3088993831e54f" - integrity sha512-euDawBU2FxB0CGTR803BA6WABsiicIrqa61z2AFFDPkJCDrauEM0jbMg3GDKLAvbaLbZ1Etu3QNN5xyroqp4Qw== - -"@node-rs/jieba-freebsd-x64@1.7.2": - version "1.7.2" - resolved "https://registry.yarnpkg.com/@node-rs/jieba-freebsd-x64/-/jieba-freebsd-x64-1.7.2.tgz#f173089e34135bca613ced7c816ad9fefc023c39" - integrity sha512-vXCaYxPb90d/xTBVG+ZZXrFLXsO2719pZSyiZCL2tey+UY28U7MOoK6394Wwmf0FCB/eRTQMCKjVIUDi+IRMUg== - -"@node-rs/jieba-linux-arm-gnueabihf@1.7.2": - version "1.7.2" - resolved "https://registry.yarnpkg.com/@node-rs/jieba-linux-arm-gnueabihf/-/jieba-linux-arm-gnueabihf-1.7.2.tgz#307923401ba49bb4e28639ab2954c4be3362f807" - integrity sha512-HTep79XlJYO3KRYZ2kJChG9HnYr1DKSQTB+HEYWKLK0ifphqybcxGNLAdH0S4dViG2ciD0+iN/refgtqZEidpw== - -"@node-rs/jieba-linux-arm64-gnu@1.7.2": - version "1.7.2" - resolved "https://registry.yarnpkg.com/@node-rs/jieba-linux-arm64-gnu/-/jieba-linux-arm64-gnu-1.7.2.tgz#3af77273d84b3e4d158ad3bfdaa23e523efb8fce" - integrity sha512-P8QJdQydOVewL1MIqYiRpI7LOfrRQag+p4/hwExe+YXH8C7DOrR8rWJD/7XNRTbpOimlHq1UN/e+ZzhxQF/cLw== - -"@node-rs/jieba-linux-arm64-musl@1.7.2": - version "1.7.2" - resolved "https://registry.yarnpkg.com/@node-rs/jieba-linux-arm64-musl/-/jieba-linux-arm64-musl-1.7.2.tgz#c6cfe6eeb163683032e6265136b8713a9b28a793" - integrity sha512-WjnN0hmDvTXb2h3hMW5VnUGkK1xaqhs+WHfMMilau55+YN+YOYALKZ0TeBY4BapClLuBx54wqwmBX+B4hAXunQ== - -"@node-rs/jieba-linux-x64-gnu@1.7.2": - version "1.7.2" - resolved "https://registry.yarnpkg.com/@node-rs/jieba-linux-x64-gnu/-/jieba-linux-x64-gnu-1.7.2.tgz#0f5ea2499a64d3f2e639b538d7ff78095fd0477a" - integrity sha512-gBXds/DwNSA6lNUxJjL6WIaNT6pnlM5juUgV/krLLkBJ8vXpOrQ07p0rrK1tnigz9b20xhsHaFRSwED1Y8zeXw== - -"@node-rs/jieba-linux-x64-musl@1.7.2": - version "1.7.2" - resolved "https://registry.yarnpkg.com/@node-rs/jieba-linux-x64-musl/-/jieba-linux-x64-musl-1.7.2.tgz#c60ea4f3f4e7202208aa61b318dd1a34f82734b5" - integrity sha512-tNVD3SMuG5zAj7+bLS2Enio3zR7BPxi3PhQtpQ+Hv83jajIcN46QQ0EdoMFz/aB+hkQ9PlLAstu+VREFegs5EA== - -"@node-rs/jieba-win32-arm64-msvc@1.7.2": - version "1.7.2" - resolved "https://registry.yarnpkg.com/@node-rs/jieba-win32-arm64-msvc/-/jieba-win32-arm64-msvc-1.7.2.tgz#3cc4a1781115d282d39d98f6e4039872c3c63c84" - integrity sha512-/e1iQ0Dh02lGPNCYTU/H3cfIsWydaGRzZ3TDj6GfWrxkWqXORL98x/VJ/C/uKLpc7GSLLd9ygyZG7SOAfKe2tA== - -"@node-rs/jieba-win32-ia32-msvc@1.7.2": - version "1.7.2" - resolved "https://registry.yarnpkg.com/@node-rs/jieba-win32-ia32-msvc/-/jieba-win32-ia32-msvc-1.7.2.tgz#574695c602be2c38cc49708b4829b5cf0574e4b6" - integrity sha512-cYjA6YUiOwtuEzWErvwMMt/RETNWQDLcmAaiHA8ohsa6c0eB0kRJlQCc683tlaczZxqroY/7C9mxgJNGvoGRbw== - -"@node-rs/jieba-win32-x64-msvc@1.7.2": - version "1.7.2" - resolved "https://registry.yarnpkg.com/@node-rs/jieba-win32-x64-msvc/-/jieba-win32-x64-msvc-1.7.2.tgz#847b23c6e2cb255e095d990c78b678fa73e518a6" - integrity sha512-2M+Um3woFF17sa8VBYQQ6E5PNMe9Kf9fdzmeDh/GzuNHXlxW4LyK9VTV8zchIv/bDNAR5Z85kfW4wASULUxvFQ== - -"@node-rs/jieba@^1.6.0": - version "1.7.2" - resolved "https://registry.npmjs.org/@node-rs/jieba/-/jieba-1.7.2.tgz" - integrity sha512-zGto08NDU+KWm670qVHYGTb0YTEJ0A97dwH3WCnnhyRYMqTbOXKC6OwTc/cjzfSJP1UDBSar9Ug9BlmWmEThWg== - optionalDependencies: - "@node-rs/jieba-android-arm-eabi" "1.7.2" - "@node-rs/jieba-android-arm64" "1.7.2" - "@node-rs/jieba-darwin-arm64" "1.7.2" - "@node-rs/jieba-darwin-x64" "1.7.2" - "@node-rs/jieba-freebsd-x64" "1.7.2" - "@node-rs/jieba-linux-arm-gnueabihf" "1.7.2" - "@node-rs/jieba-linux-arm64-gnu" "1.7.2" - "@node-rs/jieba-linux-arm64-musl" "1.7.2" - "@node-rs/jieba-linux-x64-gnu" "1.7.2" - "@node-rs/jieba-linux-x64-musl" "1.7.2" - "@node-rs/jieba-win32-arm64-msvc" "1.7.2" - "@node-rs/jieba-win32-ia32-msvc" "1.7.2" - "@node-rs/jieba-win32-x64-msvc" "1.7.2" - -"@nodelib/fs.scandir@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" - -"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": - 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": - 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" - -"@paloaltonetworks/openapi-to-postmanv2@3.1.0-hotfix.1": - version "3.1.0-hotfix.1" - resolved "https://registry.yarnpkg.com/@paloaltonetworks/openapi-to-postmanv2/-/openapi-to-postmanv2-3.1.0-hotfix.1.tgz#4baf401d2e94ba86d888e6011a4c45d824e88114" - integrity sha512-0bdaPCEyQbnUo4xpOu7EzxXXkDx4BAXqc8QSbVBlzlVB5KoTLJiKKB4c3fa4BXbK+3u/OqfLbeNCebc2EC8ngA== - dependencies: - "@paloaltonetworks/postman-collection" "^4.1.0" - ajv "8.1.0" - ajv-formats "2.1.1" - async "3.2.1" - commander "2.20.3" - js-yaml "3.14.1" - json-schema-merge-allof "0.8.1" - lodash "4.17.21" - oas-resolver-browser "2.5.2" - path-browserify "1.0.1" - yaml "1.10.2" - -"@paloaltonetworks/postman-code-generators@1.1.15-patch.2": - version "1.1.15-patch.2" - resolved "https://registry.yarnpkg.com/@paloaltonetworks/postman-code-generators/-/postman-code-generators-1.1.15-patch.2.tgz#012051485269a2da6bd9a6b60031ddbc53e5e363" - integrity sha512-tRnAKtV4M8wLxcVnAx6ZCjCqbrR1xiqJNQkf1A71K8UxEP3N/+EspT82N5c0555w02oYFk21ViHuzuhm4gaGLw== - dependencies: - "@paloaltonetworks/postman-collection" "^4.1.0" - async "^3.2.4" - path "^0.12.7" - shelljs "^0.8.5" - -"@paloaltonetworks/postman-collection@^4.1.0": - version "4.1.1" - resolved "https://registry.yarnpkg.com/@paloaltonetworks/postman-collection/-/postman-collection-4.1.1.tgz#b2130bc8d7396ea8e6a6b2e4642a6b224b41e1e1" - integrity sha512-9JHHkkD8Xb4rvdKob7TDPRfqfmdG3KU0aO5gJyyjvMFbOVysam5I0d8/9HPOuJXWkUHGo3Sn+ov2Fcm2bnJ52Q== - dependencies: - file-type "3.9.0" - http-reasons "0.1.0" - iconv-lite "0.6.3" - liquid-json "0.3.1" - lodash "4.17.21" - mime-format "2.0.1" - mime-types "2.1.34" - postman-url-encoder "3.0.5" - semver "7.3.5" - uuid "8.3.2" - -"@philpl/buble@^0.19.7": - version "0.19.7" - resolved "https://registry.npmjs.org/@philpl/buble/-/buble-0.19.7.tgz" - integrity sha512-wKTA2DxAGEW+QffRQvOhRQ0VBiYU2h2p8Yc1oBNlqSKws48/8faxqKNIuub0q4iuyTuLwtB8EkwiKwhlfV1PBA== - dependencies: - acorn "^6.1.1" - acorn-class-fields "^0.2.1" - acorn-dynamic-import "^4.0.0" - acorn-jsx "^5.0.1" - chalk "^2.4.2" - magic-string "^0.25.2" - minimist "^1.2.0" - os-homedir "^1.0.1" - regexpu-core "^4.5.4" - -"@pkgjs/parseargs@^0.11.0": - version "0.11.0" - resolved "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz" - integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== - -"@pnpm/config.env-replace@^1.1.0": - version "1.1.0" - resolved "https://registry.npmjs.org/@pnpm/config.env-replace/-/config.env-replace-1.1.0.tgz" - integrity sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w== - -"@pnpm/network.ca-file@^1.0.1": - version "1.0.2" - resolved "https://registry.npmjs.org/@pnpm/network.ca-file/-/network.ca-file-1.0.2.tgz" - integrity sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA== - dependencies: - graceful-fs "4.2.10" - -"@pnpm/npm-conf@^2.1.0": - version "2.2.2" - resolved "https://registry.npmjs.org/@pnpm/npm-conf/-/npm-conf-2.2.2.tgz" - integrity sha512-UA91GwWPhFExt3IizW6bOeY/pQ0BkuNwKjk9iQW9KqxluGCrg4VenZ0/L+2Y0+ZOtme72EVvg6v0zo3AMQRCeA== - dependencies: - "@pnpm/config.env-replace" "^1.1.0" - "@pnpm/network.ca-file" "^1.0.1" - config-chain "^1.1.11" - -"@polka/url@^1.0.0-next.20": - version "1.0.0-next.23" - resolved "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.23.tgz" - integrity sha512-C16M+IYz0rgRhWZdCmK+h58JMv8vijAA61gmz2rspCSwKwzBebpdcsiUmwrtJRdphuY30i6BSLEOP8ppbNLyLg== - -"@port-labs/docusaurus-plugin-openapi-docs@^0.0.5": - version "0.0.5" - resolved "https://registry.yarnpkg.com/@port-labs/docusaurus-plugin-openapi-docs/-/docusaurus-plugin-openapi-docs-0.0.5.tgz#964bba817e248e1023da8cb3e773d1e402d7bf09" - integrity sha512-RE598oV0IBeiA8vNpkOOklTiBbj4hlq+tXbBHNWBPDO99vnLmpa/91CeBq0MS1mYf4AEgQaHvJJGGXs3wPn/eQ== - dependencies: - "@apidevtools/json-schema-ref-parser" "^11.5.4" - "@docusaurus/plugin-content-docs" "^3.0.1" - "@docusaurus/utils" "^3.0.1" - "@docusaurus/utils-validation" "^3.0.1" - "@paloaltonetworks/openapi-to-postmanv2" "3.1.0-hotfix.1" - "@paloaltonetworks/postman-collection" "^4.1.0" - "@redocly/openapi-core" "^1.10.5" - chalk "^4.1.2" - clsx "^1.1.1" - fs-extra "^9.0.1" - json-pointer "^0.6.2" - json-schema-merge-allof "^0.8.1" - json5 "^2.2.3" - lodash "^4.17.20" - mustache "^4.2.0" - slugify "^1.6.5" - swagger2openapi "^7.0.8" - xml-formatter "^2.6.1" - -"@port-labs/docusaurus-theme-openapi-docs@^0.0.5": - version "0.0.5" - resolved "https://registry.yarnpkg.com/@port-labs/docusaurus-theme-openapi-docs/-/docusaurus-theme-openapi-docs-0.0.5.tgz#bbb6ff626cb77ff9111b705454f5830531234088" - integrity sha512-rFkxyyzV5jpcMhuEWJb6IJKHgi62pnwkG87rF+IDu7r/p1Gsj69E32A87qs66EYLEZQq9lFMXf23knTtNn9Q3g== - dependencies: - "@docusaurus/theme-common" "^3.0.1" - "@hookform/error-message" "^2.0.1" - "@paloaltonetworks/postman-code-generators" "1.1.15-patch.2" - "@paloaltonetworks/postman-collection" "^4.1.0" - "@port-labs/docusaurus-plugin-openapi-docs" "^0.0.5" - "@reduxjs/toolkit" "^1.7.1" - clsx "^1.1.1" - copy-text-to-clipboard "^3.1.0" - crypto-js "^4.1.1" - docusaurus-plugin-sass "^0.2.3" - file-saver "^2.0.5" - lodash "^4.17.20" - node-polyfill-webpack-plugin "^2.0.1" - prism-react-renderer "^2.3.0" - react-hook-form "^7.43.8" - react-live "^4.0.0" - react-magic-dropzone "^1.0.1" - react-markdown "^8.0.1" - react-modal "^3.15.1" - react-redux "^7.2.0" - rehype-raw "^6.1.1" - sass "^1.58.1" - sass-loader "^13.3.2" - webpack "^5.61.0" - xml-formatter "^2.6.1" - -"@redocly/ajv@^8.11.0": - version "8.11.0" - resolved "https://registry.yarnpkg.com/@redocly/ajv/-/ajv-8.11.0.tgz#2fad322888dc0113af026e08fceb3e71aae495ae" - integrity sha512-9GWx27t7xWhDIR02PA18nzBdLcKQRgc46xNQvjFkrYk4UOmvKhJ/dawwiX0cCOeetN5LcaaiqQbVOWYK62SGHw== - dependencies: - fast-deep-equal "^3.1.1" - json-schema-traverse "^1.0.0" - require-from-string "^2.0.2" - uri-js "^4.2.2" - -"@redocly/config@^0.5.0": - version "0.5.0" - resolved "https://registry.yarnpkg.com/@redocly/config/-/config-0.5.0.tgz#3ba2585f10d7039b85d7604d0e17f4d091d424c2" - integrity sha512-oA1ezWPT2tSV9CLk0FtZlViaFKtp+id3iAVeKBme1DdP4xUCdxEdP8umB21iLKdc6leRd5uGa+T5Ox4nHBAXWg== - -"@redocly/openapi-core@^1.10.5": - version "1.14.0" - resolved "https://registry.yarnpkg.com/@redocly/openapi-core/-/openapi-core-1.14.0.tgz#74f9daf95f835563d458ce02644f0ad0cd519211" - integrity sha512-sraF4PGVcc6t6CaYw5raO/GWeOaa6UjcEvH/+Qm7zp+q/fbWAMwbj+1QzaNvpMspCwF+xW6TddDcnXrCDmqYVA== - dependencies: - "@redocly/ajv" "^8.11.0" - "@redocly/config" "^0.5.0" - colorette "^1.2.0" - js-levenshtein "^1.1.6" - js-yaml "^4.1.0" - lodash.isequal "^4.5.0" - minimatch "^5.0.1" - node-fetch "^2.6.1" - pluralize "^8.0.0" - yaml-ast-parser "0.0.43" - -"@reduxjs/toolkit@^1.7.1": - version "1.9.7" - resolved "https://registry.yarnpkg.com/@reduxjs/toolkit/-/toolkit-1.9.7.tgz#7fc07c0b0ebec52043f8cb43510cf346405f78a6" - integrity sha512-t7v8ZPxhhKgOKtU+uyJT13lu4vL7az5aFi4IdoDs/eS548edn2M8Ik9h8fxgvMjGoAUVFSt6ZC1P5cWmQ014QQ== - dependencies: - immer "^9.0.21" - redux "^4.2.1" - redux-thunk "^2.4.2" - reselect "^4.1.8" - -"@sideway/address@^4.1.3": - version "4.1.4" - resolved "https://registry.npmjs.org/@sideway/address/-/address-4.1.4.tgz" - integrity sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw== - dependencies: - "@hapi/hoek" "^9.0.0" - -"@sideway/formula@^3.0.1": - version "3.0.1" - resolved "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz" - integrity sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg== - -"@sideway/pinpoint@^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== - -"@sinclair/typebox@^0.27.8": - version "0.27.8" - resolved "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz" - integrity sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA== - -"@sindresorhus/is@^3.1.2": - version "3.1.2" - resolved "https://registry.npmjs.org/@sindresorhus/is/-/is-3.1.2.tgz" - integrity sha512-JiX9vxoKMmu8Y3Zr2RVathBL1Cdu4Nt4MuNWemt1Nc06A0RAin9c5FArkhGsyMBWfCu4zj+9b+GxtjAnE4qqLQ== - -"@sindresorhus/is@^5.2.0": - version "5.6.0" - resolved "https://registry.npmjs.org/@sindresorhus/is/-/is-5.6.0.tgz" - integrity sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g== - -"@slorber/react-ideal-image@^0.0.12": - version "0.0.12" - resolved "https://registry.npmjs.org/@slorber/react-ideal-image/-/react-ideal-image-0.0.12.tgz" - integrity sha512-u8KiDTEkMA7/KAeA5ywg/P7YG4zuKhWtswfVZDH8R8HXgQsFcHIYU2WaQnGuK/Du7Wdj90I+SdFmajSGFRvoKA== - -"@slorber/remark-comment@^1.0.0": - version "1.0.0" - resolved "https://registry.npmjs.org/@slorber/remark-comment/-/remark-comment-1.0.0.tgz" - integrity sha512-RCE24n7jsOj1M0UPvIQCHTe7fI0sFL4S2nwKVWwHyVr/wI/H8GosgsJGyhnsZoGFnD/P2hLf1mSbrrgSLN93NA== - dependencies: - micromark-factory-space "^1.0.0" - micromark-util-character "^1.1.0" - micromark-util-symbol "^1.0.1" - -"@stackql/docusaurus-plugin-hubspot@^1.0.1": - version "1.1.0" - resolved "https://registry.npmjs.org/@stackql/docusaurus-plugin-hubspot/-/docusaurus-plugin-hubspot-1.1.0.tgz" - integrity sha512-pQIF3WkzJ0Ng8gjc3cpG72GwNu5AHc9/jIpyvOO8kYNAzSTcKDMFJGOGGSz8dG3j6M0ZZp1TciLbZod2cFpSQQ== - -"@svgr/babel-plugin-add-jsx-attribute@8.0.0": - version "8.0.0" - resolved "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-8.0.0.tgz" - integrity sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g== - -"@svgr/babel-plugin-remove-jsx-attribute@8.0.0": - version "8.0.0" - resolved "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-8.0.0.tgz" - integrity sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA== - -"@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0": - version "8.0.0" - resolved "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-8.0.0.tgz" - integrity sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA== - -"@svgr/babel-plugin-replace-jsx-attribute-value@8.0.0": - version "8.0.0" - resolved "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-8.0.0.tgz" - integrity sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ== - -"@svgr/babel-plugin-svg-dynamic-title@8.0.0": - version "8.0.0" - resolved "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-8.0.0.tgz" - integrity sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og== - -"@svgr/babel-plugin-svg-em-dimensions@8.0.0": - version "8.0.0" - resolved "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-8.0.0.tgz" - integrity sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g== - -"@svgr/babel-plugin-transform-react-native-svg@8.1.0": - version "8.1.0" - resolved "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-8.1.0.tgz" - integrity sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q== - -"@svgr/babel-plugin-transform-svg-component@8.0.0": - version "8.0.0" - resolved "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-8.0.0.tgz" - integrity sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw== - -"@svgr/babel-preset@8.1.0": - version "8.1.0" - resolved "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-8.1.0.tgz" - integrity sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug== - dependencies: - "@svgr/babel-plugin-add-jsx-attribute" "8.0.0" - "@svgr/babel-plugin-remove-jsx-attribute" "8.0.0" - "@svgr/babel-plugin-remove-jsx-empty-expression" "8.0.0" - "@svgr/babel-plugin-replace-jsx-attribute-value" "8.0.0" - "@svgr/babel-plugin-svg-dynamic-title" "8.0.0" - "@svgr/babel-plugin-svg-em-dimensions" "8.0.0" - "@svgr/babel-plugin-transform-react-native-svg" "8.1.0" - "@svgr/babel-plugin-transform-svg-component" "8.0.0" - -"@svgr/core@8.1.0": - version "8.1.0" - resolved "https://registry.npmjs.org/@svgr/core/-/core-8.1.0.tgz" - integrity sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA== - dependencies: - "@babel/core" "^7.21.3" - "@svgr/babel-preset" "8.1.0" - camelcase "^6.2.0" - cosmiconfig "^8.1.3" - snake-case "^3.0.4" - -"@svgr/hast-util-to-babel-ast@8.0.0": - version "8.0.0" - resolved "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-8.0.0.tgz" - integrity sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q== - dependencies: - "@babel/types" "^7.21.3" - entities "^4.4.0" - -"@svgr/plugin-jsx@8.1.0": - version "8.1.0" - resolved "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-8.1.0.tgz" - integrity sha512-0xiIyBsLlr8quN+WyuxooNW9RJ0Dpr8uOnH/xrCVO8GLUcwHISwj1AG0k+LFzteTkAA0GbX0kj9q6Dk70PTiPA== - dependencies: - "@babel/core" "^7.21.3" - "@svgr/babel-preset" "8.1.0" - "@svgr/hast-util-to-babel-ast" "8.0.0" - svg-parser "^2.0.4" - -"@svgr/plugin-svgo@8.1.0": - version "8.1.0" - resolved "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-8.1.0.tgz" - integrity sha512-Ywtl837OGO9pTLIN/onoWLmDQ4zFUycI1g76vuKGEz6evR/ZTJlJuz3G/fIkb6OVBJ2g0o6CGJzaEjfmEo3AHA== - dependencies: - cosmiconfig "^8.1.3" - deepmerge "^4.3.1" - svgo "^3.0.2" - -"@svgr/webpack@^8.1.0": - version "8.1.0" - resolved "https://registry.npmjs.org/@svgr/webpack/-/webpack-8.1.0.tgz" - integrity sha512-LnhVjMWyMQV9ZmeEy26maJk+8HTIbd59cH4F2MJ439k9DqejRisfFNGAPvRYlKETuh9LrImlS8aKsBgKjMA8WA== - dependencies: - "@babel/core" "^7.21.3" - "@babel/plugin-transform-react-constant-elements" "^7.21.3" - "@babel/preset-env" "^7.20.2" - "@babel/preset-react" "^7.18.6" - "@babel/preset-typescript" "^7.21.0" - "@svgr/core" "8.1.0" - "@svgr/plugin-jsx" "8.1.0" - "@svgr/plugin-svgo" "8.1.0" - -"@szmarczak/http-timer@^5.0.1": - version "5.0.1" - resolved "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-5.0.1.tgz" - integrity sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw== - dependencies: - defer-to-connect "^2.0.1" - -"@trysound/sax@0.2.0": - version "0.2.0" - resolved "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz" - integrity sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA== - -"@types/acorn@^4.0.0": - version "4.0.6" - resolved "https://registry.npmjs.org/@types/acorn/-/acorn-4.0.6.tgz" - integrity sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ== - dependencies: - "@types/estree" "*" - -"@types/body-parser@*": - version "1.19.4" - resolved "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.4.tgz" - integrity sha512-N7UDG0/xiPQa2D/XrVJXjkWbpqHCd2sBaB32ggRF2l83RhPfamgKGF8gwwqyksS95qUS5ZYF9aF+lLPRlwI2UA== - dependencies: - "@types/connect" "*" - "@types/node" "*" - -"@types/bonjour@^3.5.9": - version "3.5.12" - resolved "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.12.tgz" - integrity sha512-ky0kWSqXVxSqgqJvPIkgFkcn4C8MnRog308Ou8xBBIVo39OmUFy+jqNe0nPwLCDFxUpmT9EvT91YzOJgkDRcFg== - dependencies: - "@types/node" "*" - -"@types/connect-history-api-fallback@^1.3.5": - version "1.5.2" - resolved "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.2.tgz" - integrity sha512-gX2j9x+NzSh4zOhnRPSdPPmTepS4DfxES0AvIFv3jGv5QyeAJf6u6dY5/BAoAJU9Qq1uTvwOku8SSC2GnCRl6Q== - dependencies: - "@types/express-serve-static-core" "*" - "@types/node" "*" - -"@types/connect@*": - version "3.4.37" - resolved "https://registry.npmjs.org/@types/connect/-/connect-3.4.37.tgz" - integrity sha512-zBUSRqkfZ59OcwXon4HVxhx5oWCJmc0OtBTK05M+p0dYjgN6iTwIL2T/WbsQZrEsdnwaF9cWQ+azOnpPvIqY3Q== - dependencies: - "@types/node" "*" - -"@types/debug@^4.0.0": - version "4.1.10" - resolved "https://registry.npmjs.org/@types/debug/-/debug-4.1.10.tgz" - integrity sha512-tOSCru6s732pofZ+sMv9o4o3Zc+Sa8l3bxd/tweTQudFn06vAzb13ZX46Zi6m6EJ+RUbRTHvgQJ1gBtSgkaUYA== - dependencies: - "@types/ms" "*" - -"@types/eslint-scope@^3.7.3": - version "3.7.6" - resolved "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.6.tgz" - integrity sha512-zfM4ipmxVKWdxtDaJ3MP3pBurDXOCoyjvlpE3u6Qzrmw4BPbfm4/ambIeTk/r/J0iq/+2/xp0Fmt+gFvXJY2PQ== - dependencies: - "@types/eslint" "*" - "@types/estree" "*" - -"@types/eslint@*": - version "8.44.6" - resolved "https://registry.npmjs.org/@types/eslint/-/eslint-8.44.6.tgz" - integrity sha512-P6bY56TVmX8y9J87jHNgQh43h6VVU+6H7oN7hgvivV81K2XY8qJZ5vqPy/HdUoVIelii2kChYVzQanlswPWVFw== - dependencies: - "@types/estree" "*" - "@types/json-schema" "*" - -"@types/estree-jsx@^1.0.0": - version "1.0.2" - resolved "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-1.0.2.tgz" - integrity sha512-GNBWlGBMjiiiL5TSkvPtOteuXsiVitw5MYGY1UYlrAq0SKyczsls6sCD7TZ8fsjRsvCVxml7EbyjJezPb3DrSA== - dependencies: - "@types/estree" "*" - -"@types/estree@*", "@types/estree@^1.0.0": - version "1.0.4" - resolved "https://registry.npmjs.org/@types/estree/-/estree-1.0.4.tgz" - integrity sha512-2JwWnHK9H+wUZNorf2Zr6ves96WHoWDJIftkcxPKsS7Djta6Zu519LarhRNljPXkpsZR2ZMwNCPeW7omW07BJw== - -"@types/estree@^1.0.5": - version "1.0.5" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.5.tgz#a6ce3e556e00fd9895dd872dd172ad0d4bd687f4" - integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw== - -"@types/express-serve-static-core@*", "@types/express-serve-static-core@^4.17.33": - version "4.17.39" - resolved "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.39.tgz" - integrity sha512-BiEUfAiGCOllomsRAZOiMFP7LAnrifHpt56pc4Z7l9K6ACyN06Ns1JLMBxwkfLOjJRlSf06NwWsT7yzfpaVpyQ== - dependencies: - "@types/node" "*" - "@types/qs" "*" - "@types/range-parser" "*" - "@types/send" "*" - -"@types/express@*", "@types/express@^4.17.13": - version "4.17.20" - resolved "https://registry.npmjs.org/@types/express/-/express-4.17.20.tgz" - integrity sha512-rOaqlkgEvOW495xErXMsmyX3WKBInbhG5eqojXYi3cGUaLoRDlXa5d52fkfWZT963AZ3v2eZ4MbKE6WpDAGVsw== - dependencies: - "@types/body-parser" "*" - "@types/express-serve-static-core" "^4.17.33" - "@types/qs" "*" - "@types/serve-static" "*" - -"@types/gtag.js@^0.0.12": - version "0.0.12" - resolved "https://registry.npmjs.org/@types/gtag.js/-/gtag.js-0.0.12.tgz" - integrity sha512-YQV9bUsemkzG81Ea295/nF/5GijnD2Af7QhEofh7xu+kvCN6RdodgNwwGWXB5GMI3NoyvQo0odNctoH/qLMIpg== - -"@types/hast@^2.0.0": - version "2.3.10" - resolved "https://registry.yarnpkg.com/@types/hast/-/hast-2.3.10.tgz#5c9d9e0b304bbb8879b857225c5ebab2d81d7643" - integrity sha512-McWspRw8xx8J9HurkVBfYj0xKoE25tOFlHGdx4MJ5xORQrMGZNqJhVQWaIbm6Oyla5kYOXtDiopzKRJzEOkwJw== - dependencies: - "@types/unist" "^2" - -"@types/hast@^3.0.0": - version "3.0.2" - resolved "https://registry.npmjs.org/@types/hast/-/hast-3.0.2.tgz" - integrity sha512-B5hZHgHsXvfCoO3xgNJvBnX7N8p86TqQeGKXcokW4XXi+qY4vxxPSFYofytvVmpFxzPv7oxDQzjg5Un5m2/xiw== - dependencies: - "@types/unist" "*" - -"@types/history@^4.7.11": - version "4.7.11" - resolved "https://registry.npmjs.org/@types/history/-/history-4.7.11.tgz" - integrity sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA== - -"@types/hoist-non-react-statics@^3.3.0": - version "3.3.5" - resolved "https://registry.yarnpkg.com/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.5.tgz#dab7867ef789d87e2b4b0003c9d65c49cc44a494" - integrity sha512-SbcrWzkKBw2cdwRTwQAswfpB9g9LJWfjtUeW/jvNwbhC8cpmmNYVePa+ncbUe0rGTQ7G3Ff6mYUN2VMfLVr+Sg== - dependencies: - "@types/react" "*" - hoist-non-react-statics "^3.3.0" - -"@types/html-minifier-terser@^6.0.0": - version "6.1.0" - resolved "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz" - integrity sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg== - -"@types/http-cache-semantics@^4.0.2": - version "4.0.3" - resolved "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.3.tgz" - integrity sha512-V46MYLFp08Wf2mmaBhvgjStM3tPa+2GAdy/iqoX+noX1//zje2x4XmrIU0cAwyClATsTmahbtoQ2EwP7I5WSiA== - -"@types/http-errors@*": - version "2.0.3" - resolved "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.3.tgz" - integrity sha512-pP0P/9BnCj1OVvQR2lF41EkDG/lWWnDyA203b/4Fmi2eTyORnBtcDoKDwjWQthELrBvWkMOrvSOnZ8OVlW6tXA== - -"@types/http-proxy@^1.17.8": - version "1.17.13" - resolved "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.13.tgz" - integrity sha512-GkhdWcMNiR5QSQRYnJ+/oXzu0+7JJEPC8vkWXK351BkhjraZF+1W13CUYARUvX9+NqIU2n6YHA4iwywsc/M6Sw== - dependencies: - "@types/node" "*" - -"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0": - version "2.0.6" - resolved "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz" - integrity sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w== - -"@types/istanbul-lib-report@*": - version "3.0.3" - resolved "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz" - integrity sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA== - dependencies: - "@types/istanbul-lib-coverage" "*" - -"@types/istanbul-reports@^3.0.0": - version "3.0.4" - resolved "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz" - integrity sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ== - dependencies: - "@types/istanbul-lib-report" "*" - -"@types/json-schema@*", "@types/json-schema@^7.0.4", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": - version "7.0.14" - resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.14.tgz" - integrity sha512-U3PUjAudAdJBeC2pgN8uTIKgxrb4nlDF3SF0++EldXQvQBGkpFZMSnwQiIoDU77tv45VgNkl/L4ouD+rEomujw== - -"@types/json-schema@^7.0.15": - version "7.0.15" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841" - integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== - -"@types/mdast@^3.0.0": - version "3.0.15" - resolved "https://registry.yarnpkg.com/@types/mdast/-/mdast-3.0.15.tgz#49c524a263f30ffa28b71ae282f813ed000ab9f5" - integrity sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ== - dependencies: - "@types/unist" "^2" - -"@types/mdast@^4.0.0", "@types/mdast@^4.0.2": - version "4.0.2" - resolved "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.2.tgz" - integrity sha512-tYR83EignvhYO9iU3kDg8V28M0jqyh9zzp5GV+EO+AYnyUl3P5ltkTeJuTiFZQFz670FSb3EwT/6LQdX+UdKfw== - dependencies: - "@types/unist" "*" - -"@types/mdx@^2.0.0": - version "2.0.9" - resolved "https://registry.npmjs.org/@types/mdx/-/mdx-2.0.9.tgz" - integrity sha512-OKMdj17y8Cs+k1r0XFyp59ChSOwf8ODGtMQ4mnpfz5eFDk1aO41yN3pSKGuvVzmWAkFp37seubY1tzOVpwfWwg== - -"@types/mime@*", "@types/mime@^1": - version "1.3.4" - resolved "https://registry.npmjs.org/@types/mime/-/mime-1.3.4.tgz" - integrity sha512-1Gjee59G25MrQGk8bsNvC6fxNiRgUlGn2wlhGf95a59DrprnnHk80FIMMFG9XHMdrfsuA119ht06QPDXA1Z7tw== - -"@types/ms@*": - version "0.7.33" - resolved "https://registry.npmjs.org/@types/ms/-/ms-0.7.33.tgz" - integrity sha512-AuHIyzR5Hea7ij0P9q7vx7xu4z0C28ucwjAZC0ja7JhINyCnOw8/DnvAPQQ9TfOlCtZAmCERKQX9+o1mgQhuOQ== - -"@types/node-forge@^1.3.0": - version "1.3.8" - resolved "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.8.tgz" - integrity sha512-vGXshY9vim9CJjrpcS5raqSjEfKlJcWy2HNdgUasR66fAnVEYarrf1ULV4nfvpC1nZq/moA9qyqBcu83x+Jlrg== - dependencies: - "@types/node" "*" - -"@types/node@*": - version "20.8.10" - resolved "https://registry.npmjs.org/@types/node/-/node-20.8.10.tgz" - integrity sha512-TlgT8JntpcbmKUFzjhsyhGfP2fsiz1Mv56im6enJ905xG1DAYesxJaeSbGqQmAw8OWPdhyJGhGSQGKRNJ45u9w== - dependencies: - undici-types "~5.26.4" - -"@types/node@^17.0.5": - version "17.0.45" - resolved "https://registry.npmjs.org/@types/node/-/node-17.0.45.tgz" - integrity sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw== - -"@types/parse-json@^4.0.0": - version "4.0.1" - resolved "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.1.tgz" - integrity sha512-3YmXzzPAdOTVljVMkTMBdBEvlOLg2cDQaDhnnhT3nT9uDbnJzjWhKlzb+desT12Y7tGqaN6d+AbozcKzyL36Ng== - -"@types/parse5@^6.0.0": - version "6.0.3" - resolved "https://registry.yarnpkg.com/@types/parse5/-/parse5-6.0.3.tgz#705bb349e789efa06f43f128cef51240753424cb" - integrity sha512-SuT16Q1K51EAVPz1K29DJ/sXjhSQ0zjvsypYJ6tlwVsRV9jwW5Adq2ch8Dq8kDBCkYnELS7N7VNCSB5nC56t/g== - -"@types/prismjs@^1.26.0": - version "1.26.2" - resolved "https://registry.npmjs.org/@types/prismjs/-/prismjs-1.26.2.tgz" - integrity sha512-/r7Cp7iUIk7gts26mHXD66geUC+2Fo26TZYjQK6Nr4LDfi6lmdRmMqM0oPwfiMhUwoBAOFe8GstKi2pf6hZvwA== - -"@types/prop-types@*": - version "15.7.9" - resolved "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.9.tgz" - integrity sha512-n1yyPsugYNSmHgxDFjicaI2+gCNjsBck8UX9kuofAKlc0h1bL+20oSF72KeNaW2DUlesbEVCFgyV2dPGTiY42g== - -"@types/prop-types@^15.0.0": - version "15.7.12" - resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.12.tgz#12bb1e2be27293c1406acb6af1c3f3a1481d98c6" - integrity sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q== - -"@types/qs@*": - version "6.9.9" - resolved "https://registry.npmjs.org/@types/qs/-/qs-6.9.9.tgz" - integrity sha512-wYLxw35euwqGvTDx6zfY1vokBFnsK0HNrzc6xNHchxfO2hpuRg74GbkEW7e3sSmPvj0TjCDT1VCa6OtHXnubsg== - -"@types/range-parser@*": - version "1.2.6" - resolved "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.6.tgz" - integrity sha512-+0autS93xyXizIYiyL02FCY8N+KkKPhILhcUSA276HxzreZ16kl+cmwvV2qAM/PuCCwPXzOXOWhiPcw20uSFcA== - -"@types/react-redux@^7.1.20": - version "7.1.33" - resolved "https://registry.yarnpkg.com/@types/react-redux/-/react-redux-7.1.33.tgz#53c5564f03f1ded90904e3c90f77e4bd4dc20b15" - integrity sha512-NF8m5AjWCkert+fosDsN3hAlHzpjSiXlVy9EgQEmLoBhaNXbmyeGs/aj5dQzKuF+/q+S7JQagorGDW8pJ28Hmg== - dependencies: - "@types/hoist-non-react-statics" "^3.3.0" - "@types/react" "*" - hoist-non-react-statics "^3.3.0" - redux "^4.0.0" - -"@types/react-router-config@*", "@types/react-router-config@^5.0.7": - version "5.0.9" - resolved "https://registry.npmjs.org/@types/react-router-config/-/react-router-config-5.0.9.tgz" - integrity sha512-a7zOj9yVUtM3Ns5stoseQAAsmppNxZpXDv6tZiFV5qlRmV4W96u53on1vApBX1eRSc8mrFOiB54Hc0Pk1J8GFg== - dependencies: - "@types/history" "^4.7.11" - "@types/react" "*" - "@types/react-router" "^5.1.0" - -"@types/react-router-dom@*": - version "5.3.3" - resolved "https://registry.npmjs.org/@types/react-router-dom/-/react-router-dom-5.3.3.tgz" - integrity sha512-kpqnYK4wcdm5UaWI3fLcELopqLrHgLqNsdpHauzlQktfkHL3npOSwtj1Uz9oKBAzs7lFtVkV8j83voAz2D8fhw== - dependencies: - "@types/history" "^4.7.11" - "@types/react" "*" - "@types/react-router" "*" - -"@types/react-router@*", "@types/react-router@^5.1.0": - version "5.1.20" - resolved "https://registry.npmjs.org/@types/react-router/-/react-router-5.1.20.tgz" - integrity sha512-jGjmu/ZqS7FjSH6owMcD5qpq19+1RS9DeVRqfl1FeBMxTDQAGwlMWOcs52NDoXaNKyG3d1cYQFMs9rCrb88o9Q== - dependencies: - "@types/history" "^4.7.11" - "@types/react" "*" - -"@types/react@*": - version "18.2.33" - resolved "https://registry.npmjs.org/@types/react/-/react-18.2.33.tgz" - integrity sha512-v+I7S+hu3PIBoVkKGpSYYpiBT1ijqEzWpzQD62/jm4K74hPpSP7FF9BnKG6+fg2+62weJYkkBWDJlZt5JO/9hg== - dependencies: - "@types/prop-types" "*" - "@types/scheduler" "*" - csstype "^3.0.2" - -"@types/retry@0.12.0": - version "0.12.0" - resolved "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz" - integrity sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA== - -"@types/sax@^1.2.1": - version "1.2.7" - resolved "https://registry.npmjs.org/@types/sax/-/sax-1.2.7.tgz" - integrity sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A== - dependencies: - "@types/node" "*" - -"@types/scheduler@*": - version "0.16.5" - resolved "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.5.tgz" - integrity sha512-s/FPdYRmZR8SjLWGMCuax7r3qCWQw9QKHzXVukAuuIJkXkDRwp+Pu5LMIVFi0Fxbav35WURicYr8u1QsoybnQw== - -"@types/send@*": - version "0.17.3" - resolved "https://registry.npmjs.org/@types/send/-/send-0.17.3.tgz" - integrity sha512-/7fKxvKUoETxjFUsuFlPB9YndePpxxRAOfGC/yJdc9kTjTeP5kRCTzfnE8kPUKCeyiyIZu0YQ76s50hCedI1ug== - dependencies: - "@types/mime" "^1" - "@types/node" "*" - -"@types/serve-index@^1.9.1": - version "1.9.3" - resolved "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.3.tgz" - integrity sha512-4KG+yMEuvDPRrYq5fyVm/I2uqAJSAwZK9VSa+Zf+zUq9/oxSSvy3kkIqyL+jjStv6UCVi8/Aho0NHtB1Fwosrg== - dependencies: - "@types/express" "*" - -"@types/serve-static@*", "@types/serve-static@^1.13.10": - version "1.15.4" - resolved "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.4.tgz" - integrity sha512-aqqNfs1XTF0HDrFdlY//+SGUxmdSUbjeRXb5iaZc3x0/vMbYmdw9qvOgHWOyyLFxSSRnUuP5+724zBgfw8/WAw== - dependencies: - "@types/http-errors" "*" - "@types/mime" "*" - "@types/node" "*" - -"@types/sockjs@^0.3.33": - version "0.3.35" - resolved "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.35.tgz" - integrity sha512-tIF57KB+ZvOBpAQwSaACfEu7htponHXaFzP7RfKYgsOS0NoYnn+9+jzp7bbq4fWerizI3dTB4NfAZoyeQKWJLw== - dependencies: - "@types/node" "*" - -"@types/unist@*", "@types/unist@^3.0.0": - version "3.0.1" - resolved "https://registry.npmjs.org/@types/unist/-/unist-3.0.1.tgz" - integrity sha512-ue/hDUpPjC85m+PM9OQDMZr3LywT+CT6mPsQq8OJtCLiERkGRcQUFvu9XASF5XWqyZFXbf15lvb3JFJ4dRLWPg== - -"@types/unist@^2": - version "2.0.10" - resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.10.tgz#04ffa7f406ab628f7f7e97ca23e290cd8ab15efc" - integrity sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA== - -"@types/unist@^2.0.0": - version "2.0.9" - resolved "https://registry.npmjs.org/@types/unist/-/unist-2.0.9.tgz" - integrity sha512-zC0iXxAv1C1ERURduJueYzkzZ2zaGyc+P2c95hgkikHPr3z8EdUZOlgEQ5X0DRmwDZn+hekycQnoeiiRVrmilQ== - -"@types/ws@^8.5.5": - version "8.5.8" - resolved "https://registry.npmjs.org/@types/ws/-/ws-8.5.8.tgz" - integrity sha512-flUksGIQCnJd6sZ1l5dqCEG/ksaoAg/eUwiLAGTJQcfgvZJKF++Ta4bJA6A5aPSJmsr+xlseHn4KLgVlNnvPTg== - dependencies: - "@types/node" "*" - -"@types/yargs-parser@*": - version "21.0.3" - resolved "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz" - integrity sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ== - -"@types/yargs@^17.0.8": - version "17.0.32" - resolved "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz" - integrity sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog== - dependencies: - "@types/yargs-parser" "*" - -"@ungap/structured-clone@^1.0.0": - version "1.2.0" - resolved "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz" - integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ== - -"@webassemblyjs/ast@1.11.6", "@webassemblyjs/ast@^1.11.5": - version "1.11.6" - resolved "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz" - integrity sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q== - dependencies: - "@webassemblyjs/helper-numbers" "1.11.6" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - -"@webassemblyjs/ast@1.12.1", "@webassemblyjs/ast@^1.12.1": - version "1.12.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.12.1.tgz#bb16a0e8b1914f979f45864c23819cc3e3f0d4bb" - integrity sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg== - dependencies: - "@webassemblyjs/helper-numbers" "1.11.6" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - -"@webassemblyjs/floating-point-hex-parser@1.11.6": - version "1.11.6" - resolved "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz" - integrity sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw== - -"@webassemblyjs/helper-api-error@1.11.6": - version "1.11.6" - resolved "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz" - integrity sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q== - -"@webassemblyjs/helper-buffer@1.11.6": - version "1.11.6" - resolved "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz" - integrity sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA== - -"@webassemblyjs/helper-buffer@1.12.1": - version "1.12.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz#6df20d272ea5439bf20ab3492b7fb70e9bfcb3f6" - integrity sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw== - -"@webassemblyjs/helper-numbers@1.11.6": - version "1.11.6" - resolved "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz" - integrity sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g== - dependencies: - "@webassemblyjs/floating-point-hex-parser" "1.11.6" - "@webassemblyjs/helper-api-error" "1.11.6" - "@xtuc/long" "4.2.2" - -"@webassemblyjs/helper-wasm-bytecode@1.11.6": - version "1.11.6" - resolved "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz" - integrity sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA== - -"@webassemblyjs/helper-wasm-section@1.11.6": - version "1.11.6" - resolved "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz" - integrity sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g== - dependencies: - "@webassemblyjs/ast" "1.11.6" - "@webassemblyjs/helper-buffer" "1.11.6" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/wasm-gen" "1.11.6" - -"@webassemblyjs/helper-wasm-section@1.12.1": - version "1.12.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz#3da623233ae1a60409b509a52ade9bc22a37f7bf" - integrity sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g== - dependencies: - "@webassemblyjs/ast" "1.12.1" - "@webassemblyjs/helper-buffer" "1.12.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/wasm-gen" "1.12.1" - -"@webassemblyjs/ieee754@1.11.6": - version "1.11.6" - resolved "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz" - integrity sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg== - dependencies: - "@xtuc/ieee754" "^1.2.0" - -"@webassemblyjs/leb128@1.11.6": - version "1.11.6" - resolved "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz" - integrity sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ== - dependencies: - "@xtuc/long" "4.2.2" - -"@webassemblyjs/utf8@1.11.6": - version "1.11.6" - resolved "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz" - integrity sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA== - -"@webassemblyjs/wasm-edit@^1.11.5": - version "1.11.6" - resolved "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz" - integrity sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw== - dependencies: - "@webassemblyjs/ast" "1.11.6" - "@webassemblyjs/helper-buffer" "1.11.6" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/helper-wasm-section" "1.11.6" - "@webassemblyjs/wasm-gen" "1.11.6" - "@webassemblyjs/wasm-opt" "1.11.6" - "@webassemblyjs/wasm-parser" "1.11.6" - "@webassemblyjs/wast-printer" "1.11.6" - -"@webassemblyjs/wasm-edit@^1.12.1": - version "1.12.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz#9f9f3ff52a14c980939be0ef9d5df9ebc678ae3b" - integrity sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g== - dependencies: - "@webassemblyjs/ast" "1.12.1" - "@webassemblyjs/helper-buffer" "1.12.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/helper-wasm-section" "1.12.1" - "@webassemblyjs/wasm-gen" "1.12.1" - "@webassemblyjs/wasm-opt" "1.12.1" - "@webassemblyjs/wasm-parser" "1.12.1" - "@webassemblyjs/wast-printer" "1.12.1" - -"@webassemblyjs/wasm-gen@1.11.6": - version "1.11.6" - resolved "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz" - integrity sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA== - dependencies: - "@webassemblyjs/ast" "1.11.6" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/ieee754" "1.11.6" - "@webassemblyjs/leb128" "1.11.6" - "@webassemblyjs/utf8" "1.11.6" - -"@webassemblyjs/wasm-gen@1.12.1": - version "1.12.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz#a6520601da1b5700448273666a71ad0a45d78547" - integrity sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w== - dependencies: - "@webassemblyjs/ast" "1.12.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/ieee754" "1.11.6" - "@webassemblyjs/leb128" "1.11.6" - "@webassemblyjs/utf8" "1.11.6" - -"@webassemblyjs/wasm-opt@1.11.6": - version "1.11.6" - resolved "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz" - integrity sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g== - dependencies: - "@webassemblyjs/ast" "1.11.6" - "@webassemblyjs/helper-buffer" "1.11.6" - "@webassemblyjs/wasm-gen" "1.11.6" - "@webassemblyjs/wasm-parser" "1.11.6" - -"@webassemblyjs/wasm-opt@1.12.1": - version "1.12.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz#9e6e81475dfcfb62dab574ac2dda38226c232bc5" - integrity sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg== - dependencies: - "@webassemblyjs/ast" "1.12.1" - "@webassemblyjs/helper-buffer" "1.12.1" - "@webassemblyjs/wasm-gen" "1.12.1" - "@webassemblyjs/wasm-parser" "1.12.1" - -"@webassemblyjs/wasm-parser@1.11.6", "@webassemblyjs/wasm-parser@^1.11.5": - version "1.11.6" - resolved "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz" - integrity sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ== - dependencies: - "@webassemblyjs/ast" "1.11.6" - "@webassemblyjs/helper-api-error" "1.11.6" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/ieee754" "1.11.6" - "@webassemblyjs/leb128" "1.11.6" - "@webassemblyjs/utf8" "1.11.6" - -"@webassemblyjs/wasm-parser@1.12.1", "@webassemblyjs/wasm-parser@^1.12.1": - version "1.12.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz#c47acb90e6f083391e3fa61d113650eea1e95937" - integrity sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ== - dependencies: - "@webassemblyjs/ast" "1.12.1" - "@webassemblyjs/helper-api-error" "1.11.6" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/ieee754" "1.11.6" - "@webassemblyjs/leb128" "1.11.6" - "@webassemblyjs/utf8" "1.11.6" - -"@webassemblyjs/wast-printer@1.11.6": - version "1.11.6" - resolved "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz" - integrity sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A== - dependencies: - "@webassemblyjs/ast" "1.11.6" - "@xtuc/long" "4.2.2" - -"@webassemblyjs/wast-printer@1.12.1": - version "1.12.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz#bcecf661d7d1abdaf989d8341a4833e33e2b31ac" - integrity sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA== - dependencies: - "@webassemblyjs/ast" "1.12.1" - "@xtuc/long" "4.2.2" - -"@xtuc/ieee754@^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": - version "4.2.2" - resolved "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz" - integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== - -abort-controller@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/abort-controller/-/abort-controller-3.0.0.tgz#eaf54d53b62bae4138e809ca225c8439a6efb392" - integrity sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg== - dependencies: - event-target-shim "^5.0.0" - -accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.8: - version "1.3.8" - resolved "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz" - integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw== - dependencies: - mime-types "~2.1.34" - negotiator "0.6.3" - -acorn-class-fields@^0.2.1: - version "0.2.1" - resolved "https://registry.npmjs.org/acorn-class-fields/-/acorn-class-fields-0.2.1.tgz" - integrity sha512-US/kqTe0H8M4LN9izoL+eykVAitE68YMuYZ3sHn3i1fjniqR7oQ3SPvuMK/VT1kjOQHrx5Q88b90TtOKgAv2hQ== - -acorn-dynamic-import@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-4.0.0.tgz" - integrity sha512-d3OEjQV4ROpoflsnUA8HozoIR504TFxNivYEUi6uwz0IYhBkTDXGuWlNdMtybRt3nqVx/L6XqMt0FxkXuWKZhw== - -acorn-import-assertions@^1.9.0: - version "1.9.0" - resolved "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz" - integrity sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA== - -acorn-jsx@^5.0.0, acorn-jsx@^5.0.1: - version "5.3.2" - resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz" - integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== - -acorn-walk@^8.0.0: - version "8.3.0" - resolved "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.0.tgz" - integrity sha512-FS7hV565M5l1R08MXqo8odwMTB02C2UqzB17RVgu9EyuYFBqJZ3/ZY97sQD5FewVu1UyDFc1yztUDrAwT0EypA== - -acorn@^6.1.1: - version "6.4.2" - resolved "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz" - integrity sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ== - -acorn@^8.0.0, acorn@^8.0.4, acorn@^8.7.1, acorn@^8.8.2: - version "8.11.2" - resolved "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz" - integrity sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w== - -address@^1.0.1, address@^1.1.2: - version "1.2.2" - resolved "https://registry.npmjs.org/address/-/address-1.2.2.tgz" - integrity sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA== - -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-formats@2.1.1, ajv-formats@^2.1.1: - version "2.1.1" - resolved "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz" - integrity sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA== - dependencies: - ajv "^8.0.0" - -ajv-keywords@^3.4.1, 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-keywords@^5.1.0: - version "5.1.0" - resolved "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz" - integrity sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw== - dependencies: - fast-deep-equal "^3.1.3" - -ajv@8.1.0: - version "8.1.0" - resolved "https://registry.npmjs.org/ajv/-/ajv-8.1.0.tgz" - integrity sha512-B/Sk2Ix7A36fs/ZkuGLIR86EdjbgR6fsAcbx9lOP/QBSXujDNbVmIS/U4Itz5k8fPFDeVZl/zQ/gJW4Jrq6XjQ== - dependencies: - fast-deep-equal "^3.1.1" - json-schema-traverse "^1.0.0" - require-from-string "^2.0.2" - uri-js "^4.2.2" - -ajv@^6.12.2, ajv@^6.12.5: - 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" - -ajv@^8.0.0, ajv@^8.9.0: - version "8.12.0" - resolved "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz" - integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== - dependencies: - fast-deep-equal "^3.1.1" - json-schema-traverse "^1.0.0" - require-from-string "^2.0.2" - uri-js "^4.2.2" - -algoliasearch-helper@^3.13.3: - version "3.21.0" - resolved "https://registry.npmjs.org/algoliasearch-helper/-/algoliasearch-helper-3.21.0.tgz" - integrity sha512-hjVOrL15I3Y3K8xG0icwG1/tWE+MocqBrhW6uVBWpU+/kVEMK0BnM2xdssj6mZM61eJ4iRxHR0djEI3ENOpR8w== - dependencies: - "@algolia/events" "^4.0.1" - -algoliasearch@^4.18.0, algoliasearch@^4.19.1: - version "4.23.3" - resolved "https://registry.npmjs.org/algoliasearch/-/algoliasearch-4.23.3.tgz" - integrity sha512-Le/3YgNvjW9zxIQMRhUHuhiUjAlKY/zsdZpfq4dlLqg6mEm0nL6yk+7f2hDOtLpxsgE4jSzDmvHL7nXdBp5feg== - dependencies: - "@algolia/cache-browser-local-storage" "4.23.3" - "@algolia/cache-common" "4.23.3" - "@algolia/cache-in-memory" "4.23.3" - "@algolia/client-account" "4.23.3" - "@algolia/client-analytics" "4.23.3" - "@algolia/client-common" "4.23.3" - "@algolia/client-personalization" "4.23.3" - "@algolia/client-search" "4.23.3" - "@algolia/logger-common" "4.23.3" - "@algolia/logger-console" "4.23.3" - "@algolia/recommend" "4.23.3" - "@algolia/requester-browser-xhr" "4.23.3" - "@algolia/requester-common" "4.23.3" - "@algolia/requester-node-http" "4.23.3" - "@algolia/transporter" "4.23.3" - -ansi-align@^3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz" - integrity sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w== - dependencies: - string-width "^4.1.0" - -ansi-html-community@^0.0.8: - version "0.0.8" - resolved "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz" - integrity sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw== - -ansi-regex@^5.0.1: - version "5.0.1" - resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" - integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== - -ansi-regex@^6.0.1: - version "6.0.1" - resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz" - integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== - -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, 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" - -ansi-styles@^6.1.0: - version "6.2.1" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz" - integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== - -any-promise@^1.0.0: - version "1.3.0" - resolved "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz" - integrity sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A== - -anymatch@~3.1.2: - version "3.1.3" - resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz" - integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== - dependencies: - normalize-path "^3.0.0" - picomatch "^2.0.4" - -arg@^5.0.0: - version "5.0.2" - resolved "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz" - integrity sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg== - -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== - -array-flatten@1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz" - integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg== - -array-flatten@^2.1.2: - version "2.1.2" - resolved "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz" - integrity sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ== - -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== - -asn1.js@^4.10.1: - version "4.10.1" - resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.10.1.tgz#b9c2bf5805f1e64aadeed6df3a2bfafb5a73f5a0" - integrity sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw== - dependencies: - bn.js "^4.0.0" - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - -assert@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/assert/-/assert-2.1.0.tgz#6d92a238d05dc02e7427c881fb8be81c8448b2dd" - integrity sha512-eLHpSK/Y4nhMJ07gDaAzoX/XAKS8PSaojml3M0DM4JpV1LAi5JOJ/p6H/XWrl8L+DzVEvVCW1z3vWAaB9oTsQw== - dependencies: - call-bind "^1.0.2" - is-nan "^1.3.2" - object-is "^1.1.5" - object.assign "^4.1.4" - util "^0.12.5" - -astring@^1.8.0: - version "1.8.6" - resolved "https://registry.npmjs.org/astring/-/astring-1.8.6.tgz" - integrity sha512-ISvCdHdlTDlH5IpxQJIex7BWBywFWgjJSVdwst+/iQCoEYnyOaQ95+X1JGshuBjGp6nxKUy1jMgE3zPqN7fQdg== - -async@3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/async/-/async-3.2.1.tgz#d3274ec66d107a47476a4c49136aacdb00665fc8" - integrity sha512-XdD5lRO/87udXCMC9meWdYiR+Nq6ZjUfXidViUZGu2F1MO4T3XwZ1et0hb2++BgLfhyJwy44BGB/yx80ABx8hg== - -async@^3.2.4: - version "3.2.5" - resolved "https://registry.yarnpkg.com/async/-/async-3.2.5.tgz#ebd52a8fdaf7a2289a24df399f8d8485c8a46b66" - integrity sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg== - -at-least-node@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz" - integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== - -autoprefixer@^10.4.14, autoprefixer@^10.4.19: - version "10.4.19" - resolved "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.19.tgz" - integrity sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew== - dependencies: - browserslist "^4.23.0" - caniuse-lite "^1.0.30001599" - fraction.js "^4.3.7" - normalize-range "^0.1.2" - picocolors "^1.0.0" - postcss-value-parser "^4.2.0" - -available-typed-arrays@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz#a5cc375d6a03c2efc87a553f3e0b1522def14846" - integrity sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ== - dependencies: - possible-typed-array-names "^1.0.0" - -b4a@^1.6.4: - version "1.6.4" - resolved "https://registry.npmjs.org/b4a/-/b4a-1.6.4.tgz" - integrity sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw== - -babel-loader@^9.1.3: - version "9.1.3" - resolved "https://registry.npmjs.org/babel-loader/-/babel-loader-9.1.3.tgz" - integrity sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw== - dependencies: - find-cache-dir "^4.0.0" - schema-utils "^4.0.0" - -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" - -babel-plugin-polyfill-corejs2@^0.4.6: - version "0.4.6" - resolved "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.6.tgz" - integrity sha512-jhHiWVZIlnPbEUKSSNb9YoWcQGdlTLq7z1GHL4AjFxaoOUMuuEVJ+Y4pAaQUGOGk93YsVCKPbqbfw3m0SM6H8Q== - dependencies: - "@babel/compat-data" "^7.22.6" - "@babel/helper-define-polyfill-provider" "^0.4.3" - semver "^6.3.1" - -babel-plugin-polyfill-corejs3@^0.8.5: - version "0.8.6" - resolved "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.6.tgz" - integrity sha512-leDIc4l4tUgU7str5BWLS2h8q2N4Nf6lGZP6UrNDxdtfF2g69eJ5L0H7S8A5Ln/arfFAfHor5InAdZuIOwZdgQ== - dependencies: - "@babel/helper-define-polyfill-provider" "^0.4.3" - core-js-compat "^3.33.1" - -babel-plugin-polyfill-regenerator@^0.5.3: - version "0.5.3" - resolved "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.3.tgz" - integrity sha512-8sHeDOmXC8csczMrYEOf0UTNa4yE2SxV5JGeT/LP1n0OYVDUUFPxG9vdk2AlDlIit4t+Kf0xCtpgXPBwnn/9pw== - dependencies: - "@babel/helper-define-polyfill-provider" "^0.4.3" - -bail@^2.0.0: - version "2.0.2" - resolved "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz" - integrity sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw== - -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== - -base64-js@^1.3.1: - version "1.5.1" - resolved "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz" - integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== - -batch@0.6.1: - version "0.6.1" - resolved "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz" - integrity sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw== - -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@^2.0.0: - version "2.2.0" - resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz" - integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== - -bl@^4.0.3: - version "4.1.0" - resolved "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz" - integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== - dependencies: - buffer "^5.5.0" - inherits "^2.0.4" - readable-stream "^3.4.0" - -bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.11.9: - version "4.12.0" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" - integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== - -bn.js@^5.0.0, bn.js@^5.2.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.1.tgz#0bc527a6a0d18d0aa8d5b0538ce4a77dccfa7b70" - integrity sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ== - -body-parser@1.20.2: - version "1.20.2" - resolved "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz" - integrity sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA== - dependencies: - bytes "3.1.2" - content-type "~1.0.5" - debug "2.6.9" - depd "2.0.0" - destroy "1.2.0" - http-errors "2.0.0" - iconv-lite "0.4.24" - on-finished "2.4.1" - qs "6.11.0" - raw-body "2.5.2" - type-is "~1.6.18" - unpipe "1.0.0" - -bonjour-service@^1.0.11: - version "1.1.1" - resolved "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.1.1.tgz" - integrity sha512-Z/5lQRMOG9k7W+FkeGTNjh7htqn/2LMnfOvBZ8pynNZCM9MwkQkI3zeI4oz09uWdcgmgHugVvBqxGg4VQJ5PCg== - dependencies: - array-flatten "^2.1.2" - dns-equal "^1.0.0" - fast-deep-equal "^3.1.3" - multicast-dns "^7.2.5" - -boolbase@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz" - integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww== - -boxen@^6.2.1: - version "6.2.1" - resolved "https://registry.npmjs.org/boxen/-/boxen-6.2.1.tgz" - integrity sha512-H4PEsJXfFI/Pt8sjDWbHlQPx4zL/bvSQjcilJmaulGt5mLDorHOHpmdXAJcBcmru7PhYSp/cDMWRko4ZUMFkSw== - dependencies: - ansi-align "^3.0.1" - camelcase "^6.2.0" - chalk "^4.1.2" - cli-boxes "^3.0.0" - string-width "^5.0.1" - type-fest "^2.5.0" - widest-line "^4.0.1" - wrap-ansi "^8.0.1" - -boxen@^7.0.0: - version "7.1.1" - resolved "https://registry.npmjs.org/boxen/-/boxen-7.1.1.tgz" - integrity sha512-2hCgjEmP8YLWQ130n2FerGv7rYpfBmnmp9Uy2Le1vge6X3gZIfSmEzP5QTDElFxcvVcXlEn8Aq6MU/PZygIOog== - dependencies: - ansi-align "^3.0.1" - camelcase "^7.0.1" - chalk "^5.2.0" - cli-boxes "^3.0.0" - string-width "^5.1.2" - type-fest "^2.13.0" - widest-line "^4.0.1" - wrap-ansi "^8.1.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" - -brace-expansion@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz" - integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== - dependencies: - balanced-match "^1.0.0" - -braces@^3.0.2, braces@~3.0.2: - version "3.0.3" - resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.3.tgz#490332f40919452272d55a8480adc0c441358789" - integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA== - dependencies: - fill-range "^7.1.1" - -brorand@^1.0.1, brorand@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" - integrity sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w== - -browserify-aes@^1.0.4, browserify-aes@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" - integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA== - dependencies: - buffer-xor "^1.0.3" - cipher-base "^1.0.0" - create-hash "^1.1.0" - evp_bytestokey "^1.0.3" - inherits "^2.0.1" - safe-buffer "^5.0.1" - -browserify-cipher@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0" - integrity sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w== - dependencies: - browserify-aes "^1.0.4" - browserify-des "^1.0.0" - evp_bytestokey "^1.0.0" - -browserify-des@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c" - integrity sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A== - dependencies: - cipher-base "^1.0.1" - des.js "^1.0.0" - inherits "^2.0.1" - safe-buffer "^5.1.2" - -browserify-rsa@^4.0.0, browserify-rsa@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.1.0.tgz#b2fd06b5b75ae297f7ce2dc651f918f5be158c8d" - integrity sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog== - dependencies: - bn.js "^5.0.0" - randombytes "^2.0.1" - -browserify-sign@^4.0.0: - version "4.2.3" - resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.2.3.tgz#7afe4c01ec7ee59a89a558a4b75bd85ae62d4208" - integrity sha512-JWCZW6SKhfhjJxO8Tyiiy+XYB7cqd2S5/+WeYHsKdNKFlCBhKbblba1A/HN/90YwtxKc8tCErjffZl++UNmGiw== - dependencies: - bn.js "^5.2.1" - browserify-rsa "^4.1.0" - create-hash "^1.2.0" - create-hmac "^1.1.7" - elliptic "^6.5.5" - hash-base "~3.0" - inherits "^2.0.4" - parse-asn1 "^5.1.7" - readable-stream "^2.3.8" - safe-buffer "^5.2.1" - -browserify-zlib@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f" - integrity sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA== - dependencies: - pako "~1.0.5" - -browserslist@^4.0.0, browserslist@^4.14.5, browserslist@^4.18.1, browserslist@^4.21.9, browserslist@^4.22.1, browserslist@^4.23.0: - version "4.23.0" - resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz" - integrity sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ== - dependencies: - caniuse-lite "^1.0.30001587" - electron-to-chromium "^1.4.668" - node-releases "^2.0.14" - update-browserslist-db "^1.0.13" - -browserslist@^4.21.10: - version "4.23.1" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.23.1.tgz#ce4af0534b3d37db5c1a4ca98b9080f985041e96" - integrity sha512-TUfofFo/KsK/bWZ9TWQ5O26tsWW4Uhmt8IYklbnUa70udB6P2wA7w7o4PY4muaEPBQaAX+CEnmmIA41NVHtPVw== - dependencies: - caniuse-lite "^1.0.30001629" - electron-to-chromium "^1.4.796" - node-releases "^2.0.14" - update-browserslist-db "^1.0.16" - -buffer-from@^1.0.0: - version "1.1.2" - resolved "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz" - integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== - -buffer-xor@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" - integrity sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ== - -buffer@^5.5.0: - version "5.7.1" - resolved "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz" - integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== - dependencies: - base64-js "^1.3.1" - ieee754 "^1.1.13" - -buffer@^6.0.3: - version "6.0.3" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6" - integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA== - dependencies: - base64-js "^1.3.1" - ieee754 "^1.2.1" - -builtin-status-codes@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" - integrity sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ== - -bytes@3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz" - integrity sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw== - -bytes@3.1.2: - version "3.1.2" - resolved "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz" - integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== - -cacheable-lookup@^7.0.0: - version "7.0.0" - resolved "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-7.0.0.tgz" - integrity sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w== - -cacheable-request@^10.2.8: - version "10.2.14" - resolved "https://registry.npmjs.org/cacheable-request/-/cacheable-request-10.2.14.tgz" - integrity sha512-zkDT5WAF4hSSoUgyfg5tFIxz8XQK+25W/TLVojJTMKBaxevLBBtLxgqguAuVQB8PVW79FVjHcU+GJ9tVbDZ9mQ== - dependencies: - "@types/http-cache-semantics" "^4.0.2" - get-stream "^6.0.1" - http-cache-semantics "^4.1.1" - keyv "^4.5.3" - mimic-response "^4.0.0" - normalize-url "^8.0.0" - responselike "^3.0.0" - -call-bind@^1.0.0, call-bind@^1.0.2, call-bind@^1.0.5, call-bind@^1.0.7: - version "1.0.7" - resolved "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz" - integrity sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w== - dependencies: - es-define-property "^1.0.0" - es-errors "^1.3.0" - function-bind "^1.1.2" - get-intrinsic "^1.2.4" - set-function-length "^1.2.1" - -call-me-maybe@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/call-me-maybe/-/call-me-maybe-1.0.2.tgz#03f964f19522ba643b1b0693acb9152fe2074baa" - integrity sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ== - -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.2: - 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@^5.0.0: - version "5.3.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" - integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== - -camelcase@^6.2.0: - version "6.3.0" - resolved "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz" - integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== - -camelcase@^7.0.1: - version "7.0.1" - resolved "https://registry.npmjs.org/camelcase/-/camelcase-7.0.1.tgz" - integrity sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw== - -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.30001587, caniuse-lite@^1.0.30001599: - version "1.0.30001617" - resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001617.tgz" - integrity sha512-mLyjzNI9I+Pix8zwcrpxEbGlfqOkF9kM3ptzmKNw5tizSyYwMe+nGLTqMK9cO+0E+Bh6TsBxNAaHWEM8xwSsmA== - -caniuse-lite@^1.0.30001629: - version "1.0.30001632" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001632.tgz#964207b7cba5851701afb4c8afaf1448db3884b6" - integrity sha512-udx3o7yHJfUxMLkGohMlVHCvFvWmirKh9JAH/d7WOLPetlH+LTL5cocMZ0t7oZx/mdlOWXti97xLZWc8uURRHg== - -ccount@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz" - integrity sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg== - -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" - -chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.2: - version "4.1.2" - resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" - integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -chalk@^5.0.1, chalk@^5.2.0: - version "5.3.0" - resolved "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz" - integrity sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w== - -char-regex@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz" - integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== - -character-entities-html4@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz" - integrity sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA== - -character-entities-legacy@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz" - integrity sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ== - -character-entities@^2.0.0: - version "2.0.2" - resolved "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz" - integrity sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ== - -character-reference-invalid@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz" - integrity sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw== - -charset@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/charset/-/charset-1.0.1.tgz#8d59546c355be61049a8fa9164747793319852bd" - integrity sha512-6dVyOOYjpfFcL1Y4qChrAoQLRHvj2ziyhcm0QJlhOcAhykL/k1kTUPbeo+87MNRTRdk2OIIsIXbuF3x2wi5EXg== - -cheerio-select@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz" - integrity sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g== - dependencies: - boolbase "^1.0.0" - css-select "^5.1.0" - css-what "^6.1.0" - domelementtype "^2.3.0" - domhandler "^5.0.3" - domutils "^3.0.1" - -cheerio@^1.0.0-rc.12, cheerio@^1.0.0-rc.3: - version "1.0.0-rc.12" - resolved "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz" - integrity sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q== - dependencies: - cheerio-select "^2.1.0" - dom-serializer "^2.0.0" - domhandler "^5.0.3" - domutils "^3.0.1" - htmlparser2 "^8.0.1" - parse5 "^7.0.0" - parse5-htmlparser2-tree-adapter "^7.0.0" - -"chokidar@>=3.0.0 <4.0.0": - version "3.6.0" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.6.0.tgz#197c6cc669ef2a8dc5e7b4d97ee4e092c3eb0d5b" - integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw== - 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" - -chokidar@^3.4.2, chokidar@^3.5.3: - version "3.5.3" - resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz" - integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== - dependencies: - anymatch "~3.1.2" - braces "~3.0.2" - glob-parent "~5.1.2" - is-binary-path "~2.1.0" - is-glob "~4.0.1" - normalize-path "~3.0.0" - readdirp "~3.6.0" - optionalDependencies: - fsevents "~2.3.2" - -chownr@^1.1.1: - version "1.1.4" - resolved "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz" - integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== - -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@^3.2.0: - version "3.9.0" - resolved "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz" - integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== - -cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" - integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q== - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - -classnames@^2.3.0: - version "2.3.2" - resolved "https://registry.npmjs.org/classnames/-/classnames-2.3.2.tgz" - integrity sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw== - -clean-css@^5.2.2, clean-css@^5.3.2, clean-css@~5.3.2: - version "5.3.2" - resolved "https://registry.npmjs.org/clean-css/-/clean-css-5.3.2.tgz" - integrity sha512-JVJbM+f3d3Q704rF4bqQ5UUyTtuJ0JRKNbTKVEeujCCBoMdkEi+V+e8oktO9qGQNSvHrFTM6JZRXrUvGR1czww== - 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@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz" - integrity sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g== - -cli-table3@^0.6.3: - version "0.6.3" - resolved "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.3.tgz" - integrity sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg== - dependencies: - string-width "^4.2.0" - optionalDependencies: - "@colors/colors" "1.5.0" - -client-only@^0.0.1: - version "0.0.1" - resolved "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz" - integrity sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA== - -cliui@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" - integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ== - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.0" - wrap-ansi "^6.2.0" - -cliui@^8.0.1: - version "8.0.1" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-8.0.1.tgz#0c04b075db02cbfe60dc8e6cf2f5486b1a3608aa" - integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.1" - wrap-ansi "^7.0.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" - -clsx@^1.1.1, clsx@^1.2.1: - version "1.2.1" - resolved "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz" - integrity sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg== - -clsx@^2.0.0, clsx@^2.1.1: - version "2.1.1" - resolved "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz" - integrity sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA== - -collapse-white-space@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-2.1.0.tgz" - integrity sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw== - -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.3: - version "1.1.3" - resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" - integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== - -color-name@^1.0.0, 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-string@^1.9.0: - version "1.9.1" - resolved "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz" - integrity sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg== - dependencies: - color-name "^1.0.0" - simple-swizzle "^0.2.2" - -color@^4.2.3: - version "4.2.3" - resolved "https://registry.npmjs.org/color/-/color-4.2.3.tgz" - integrity sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A== - dependencies: - color-convert "^2.0.1" - color-string "^1.9.0" - -colord@^2.9.3: - version "2.9.3" - resolved "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz" - integrity sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw== - -colorette@^1.2.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.4.0.tgz#5190fbb87276259a86ad700bff2c6d6faa3fca40" - integrity sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g== - -colorette@^2.0.10: - version "2.0.20" - resolved "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz" - integrity sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w== - -combine-promises@^1.1.0: - version "1.2.0" - resolved "https://registry.npmjs.org/combine-promises/-/combine-promises-1.2.0.tgz" - integrity sha512-VcQB1ziGD0NXrhKxiwyNbCDmRzs/OShMs2GqW2DlU2A/Sd0nQxE1oWDAE5O0ygSx5mgQOn9eIFh7yKPgFRVkPQ== - -comma-separated-tokens@^2.0.0: - version "2.0.3" - resolved "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz" - integrity sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg== - -commander@2.20.3, 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@^10.0.0: - version "10.0.1" - resolved "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz" - integrity sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug== - -commander@^4.0.0: - 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@^7.2.0: - version "7.2.0" - resolved "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz" - integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== - -commander@^8.3.0: - version "8.3.0" - resolved "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz" - integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww== - -common-path-prefix@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz" - integrity sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w== - -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" - -compute-gcd@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/compute-gcd/-/compute-gcd-1.2.1.tgz#34d639f3825625e1357ce81f0e456a6249d8c77f" - integrity sha512-TwMbxBNz0l71+8Sc4czv13h4kEqnchV9igQZBi6QUaz09dnz13juGnnaWWJTRsP3brxOoxeB4SA2WELLw1hCtg== - dependencies: - validate.io-array "^1.0.3" - validate.io-function "^1.0.2" - validate.io-integer-array "^1.0.0" - -compute-lcm@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/compute-lcm/-/compute-lcm-1.1.2.tgz#9107c66b9dca28cefb22b4ab4545caac4034af23" - integrity sha512-OFNPdQAXnQhDSKioX8/XYT6sdUlXwpeMjfd6ApxMJfyZ4GxmLR1xvMERctlYhlHwIiz6CSpBc2+qYKjHGZw4TQ== - dependencies: - compute-gcd "^1.2.1" - validate.io-array "^1.0.3" - validate.io-function "^1.0.2" - validate.io-integer-array "^1.0.0" - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" - integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== - -config-chain@^1.1.11: - version "1.1.13" - resolved "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz" - integrity sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ== - dependencies: - ini "^1.3.4" - proto-list "~1.2.1" - -configstore@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/configstore/-/configstore-6.0.0.tgz" - integrity sha512-cD31W1v3GqUlQvbBCGcXmd2Nj9SvLDOP1oQ0YFuLETufzSPaKp11rYBsSOm7rCsW3OnIRAFM3OxRhceaXNYHkA== - dependencies: - dot-prop "^6.0.1" - graceful-fs "^4.2.6" - unique-string "^3.0.0" - write-file-atomic "^3.0.3" - xdg-basedir "^5.0.1" - -connect-history-api-fallback@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz" - integrity sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA== - -consola@^2.15.3: - version "2.15.3" - resolved "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz" - integrity sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw== - -console-browserify@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.2.0.tgz#67063cef57ceb6cf4993a2ab3a55840ae8c49336" - integrity sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA== - -"consolidated-events@^1.1.0 || ^2.0.0": - version "2.0.2" - resolved "https://registry.npmjs.org/consolidated-events/-/consolidated-events-2.0.2.tgz" - integrity sha512-2/uRVMdRypf5z/TW/ncD/66l75P5hH2vM/GR8Jf8HLc2xnfJtmina6F6du8+v4Z2vTrMo7jC+W1tmEEuuELgkQ== - -constants-browserify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" - integrity sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ== - -content-disposition@0.5.2: - version "0.5.2" - resolved "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz" - integrity sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA== - -content-disposition@0.5.4: - version "0.5.4" - resolved "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz" - integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ== - dependencies: - safe-buffer "5.2.1" - -content-type@~1.0.4, content-type@~1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz" - integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA== - -convert-source-map@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz" - integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== - -cookie-signature@1.0.6: - version "1.0.6" - resolved "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz" - integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ== - -cookie@0.6.0: - version "0.6.0" - resolved "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz" - integrity sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw== - -copy-text-to-clipboard@^3.1.0, copy-text-to-clipboard@^3.2.0: - version "3.2.0" - resolved "https://registry.npmjs.org/copy-text-to-clipboard/-/copy-text-to-clipboard-3.2.0.tgz" - integrity sha512-RnJFp1XR/LOBDckxTib5Qjr/PMfkatD0MUCQgdpqS8MdKiNUzBjAQBEN6oUy+jW7LI93BBG3DtMB2KOOKpGs2Q== - -copy-webpack-plugin@^11.0.0: - version "11.0.0" - resolved "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz" - integrity sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ== - dependencies: - fast-glob "^3.2.11" - glob-parent "^6.0.1" - globby "^13.1.1" - normalize-path "^3.0.0" - schema-utils "^4.0.0" - serialize-javascript "^6.0.0" - -core-js-compat@^3.31.0, core-js-compat@^3.33.1: - version "3.33.2" - resolved "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.33.2.tgz" - integrity sha512-axfo+wxFVxnqf8RvxTzoAlzW4gRoacrHeoFlc9n0x50+7BEyZL/Rt3hicaED1/CEd7I6tPCPVUYcJwCMO5XUYw== - dependencies: - browserslist "^4.22.1" - -core-js-pure@^3.30.2: - version "3.33.2" - resolved "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.33.2.tgz" - integrity sha512-a8zeCdyVk7uF2elKIGz67AjcXOxjRbwOLz8SbklEso1V+2DoW4OkAMZN9S9GBgvZIaqQi/OemFX4OiSoQEmg1Q== - -core-js@^3.31.1: - version "3.33.2" - resolved "https://registry.npmjs.org/core-js/-/core-js-3.33.2.tgz" - integrity sha512-XeBzWI6QL3nJQiHmdzbAOiMYqjrb7hwU7A39Qhvd/POSa/t9E1AeZyEZx3fNvp/vtM8zXwhoL0FsiS0hD0pruQ== - -core-util-is@~1.0.0: - version "1.0.3" - resolved "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz" - integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== - -cosmiconfig@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz" - integrity sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg== - dependencies: - "@types/parse-json" "^4.0.0" - import-fresh "^3.1.0" - parse-json "^5.0.0" - path-type "^4.0.0" - yaml "^1.7.2" - -cosmiconfig@^8.1.3, cosmiconfig@^8.2.0: - version "8.3.6" - resolved "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz" - integrity sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA== - dependencies: - import-fresh "^3.3.0" - js-yaml "^4.1.0" - parse-json "^5.2.0" - path-type "^4.0.0" - -create-ecdh@^4.0.0: - version "4.0.4" - resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.4.tgz#d6e7f4bffa66736085a0762fd3a632684dabcc4e" - integrity sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A== - dependencies: - bn.js "^4.1.0" - elliptic "^6.5.3" - -create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" - integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== - dependencies: - cipher-base "^1.0.1" - inherits "^2.0.1" - md5.js "^1.3.4" - ripemd160 "^2.0.1" - sha.js "^2.4.0" - -create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7: - version "1.1.7" - resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" - integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== - dependencies: - cipher-base "^1.0.3" - create-hash "^1.1.0" - inherits "^2.0.1" - ripemd160 "^2.0.0" - safe-buffer "^5.0.1" - sha.js "^2.4.8" - -cross-spawn@^7.0.0, 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-browserify@^3.12.0: - version "3.12.0" - resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" - integrity sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg== - dependencies: - browserify-cipher "^1.0.0" - browserify-sign "^4.0.0" - create-ecdh "^4.0.0" - create-hash "^1.1.0" - create-hmac "^1.1.0" - diffie-hellman "^5.0.0" - inherits "^2.0.1" - pbkdf2 "^3.0.3" - public-encrypt "^4.0.0" - randombytes "^2.0.0" - randomfill "^1.0.3" - -crypto-js@^4.1.1: - version "4.2.0" - resolved "https://registry.yarnpkg.com/crypto-js/-/crypto-js-4.2.0.tgz#4d931639ecdfd12ff80e8186dba6af2c2e856631" - integrity sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q== - -crypto-random-string@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-4.0.0.tgz" - integrity sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA== - dependencies: - type-fest "^1.0.1" - -css-declaration-sorter@^7.2.0: - version "7.2.0" - resolved "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-7.2.0.tgz" - integrity sha512-h70rUM+3PNFuaBDTLe8wF/cdWu+dOZmb7pJt8Z2sedYbAcQVQV/tEchueg3GWxwqS0cxtbxmaHEdkNACqcvsow== - -css-loader@^6.8.1: - version "6.8.1" - resolved "https://registry.npmjs.org/css-loader/-/css-loader-6.8.1.tgz" - integrity sha512-xDAXtEVGlD0gJ07iclwWVkLoZOpEvAWaSyf6W18S2pOC//K8+qUDIx8IIT3D+HjnmkJPQeesOPv5aiUaJsCM2g== - dependencies: - icss-utils "^5.1.0" - postcss "^8.4.21" - postcss-modules-extract-imports "^3.0.0" - postcss-modules-local-by-default "^4.0.3" - postcss-modules-scope "^3.0.0" - postcss-modules-values "^4.0.0" - postcss-value-parser "^4.2.0" - semver "^7.3.8" - -css-minimizer-webpack-plugin@^5.0.1: - version "5.0.1" - resolved "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-5.0.1.tgz" - integrity sha512-3caImjKFQkS+ws1TGcFn0V1HyDJFq1Euy589JlD6/3rV2kj+w7r5G9WDMgSHvpvXHNZ2calVypZWuEDQd9wfLg== - dependencies: - "@jridgewell/trace-mapping" "^0.3.18" - cssnano "^6.0.1" - jest-worker "^29.4.3" - postcss "^8.4.24" - schema-utils "^4.0.1" - serialize-javascript "^6.0.1" - -css-select@^4.1.3: - version "4.3.0" - resolved "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz" - integrity sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ== - dependencies: - boolbase "^1.0.0" - css-what "^6.0.1" - domhandler "^4.3.1" - domutils "^2.8.0" - nth-check "^2.0.1" - -css-select@^5.1.0: - version "5.1.0" - resolved "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz" - integrity sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg== - dependencies: - boolbase "^1.0.0" - css-what "^6.1.0" - domhandler "^5.0.2" - domutils "^3.0.1" - nth-check "^2.0.1" - -css-tree@^2.3.1: - version "2.3.1" - resolved "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz" - integrity sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw== - dependencies: - mdn-data "2.0.30" - source-map-js "^1.0.1" - -css-tree@~2.2.0: - version "2.2.1" - resolved "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz" - integrity sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA== - dependencies: - mdn-data "2.0.28" - source-map-js "^1.0.1" - -css-what@^6.0.1, css-what@^6.1.0: - version "6.1.0" - resolved "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz" - integrity sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw== - -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@^6.1.2: - version "6.1.2" - resolved "https://registry.npmjs.org/cssnano-preset-advanced/-/cssnano-preset-advanced-6.1.2.tgz" - integrity sha512-Nhao7eD8ph2DoHolEzQs5CfRpiEP0xa1HBdnFZ82kvqdmbwVBUr2r1QuQ4t1pi+D1ZpqpcO4T+wy/7RxzJ/WPQ== - dependencies: - autoprefixer "^10.4.19" - browserslist "^4.23.0" - cssnano-preset-default "^6.1.2" - postcss-discard-unused "^6.0.5" - postcss-merge-idents "^6.0.3" - postcss-reduce-idents "^6.0.3" - postcss-zindex "^6.0.2" - -cssnano-preset-default@^6.1.2: - version "6.1.2" - resolved "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-6.1.2.tgz" - integrity sha512-1C0C+eNaeN8OcHQa193aRgYexyJtU8XwbdieEjClw+J9d94E41LwT6ivKH0WT+fYwYWB0Zp3I3IZ7tI/BbUbrg== - dependencies: - browserslist "^4.23.0" - css-declaration-sorter "^7.2.0" - cssnano-utils "^4.0.2" - postcss-calc "^9.0.1" - postcss-colormin "^6.1.0" - postcss-convert-values "^6.1.0" - postcss-discard-comments "^6.0.2" - postcss-discard-duplicates "^6.0.3" - postcss-discard-empty "^6.0.3" - postcss-discard-overridden "^6.0.2" - postcss-merge-longhand "^6.0.5" - postcss-merge-rules "^6.1.1" - postcss-minify-font-values "^6.1.0" - postcss-minify-gradients "^6.0.3" - postcss-minify-params "^6.1.0" - postcss-minify-selectors "^6.0.4" - postcss-normalize-charset "^6.0.2" - postcss-normalize-display-values "^6.0.2" - postcss-normalize-positions "^6.0.2" - postcss-normalize-repeat-style "^6.0.2" - postcss-normalize-string "^6.0.2" - postcss-normalize-timing-functions "^6.0.2" - postcss-normalize-unicode "^6.1.0" - postcss-normalize-url "^6.0.2" - postcss-normalize-whitespace "^6.0.2" - postcss-ordered-values "^6.0.2" - postcss-reduce-initial "^6.1.0" - postcss-reduce-transforms "^6.0.2" - postcss-svgo "^6.0.3" - postcss-unique-selectors "^6.0.4" - -cssnano-utils@^4.0.2: - version "4.0.2" - resolved "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-4.0.2.tgz" - integrity sha512-ZR1jHg+wZ8o4c3zqf1SIUSTIvm/9mU343FMR6Obe/unskbvpGhZOo1J6d/r8D1pzkRQYuwbcH3hToOuoA2G7oQ== - -cssnano@^6.0.1, cssnano@^6.1.2: - version "6.1.2" - resolved "https://registry.npmjs.org/cssnano/-/cssnano-6.1.2.tgz" - integrity sha512-rYk5UeX7VAM/u0lNqewCdasdtPK81CgX8wJFLEIXHbV2oldWRgJAsZrdhRXkV1NJzA2g850KiFm9mMU2HxNxMA== - dependencies: - cssnano-preset-default "^6.1.2" - lilconfig "^3.1.1" - -csso@^5.0.5: - version "5.0.5" - resolved "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz" - integrity sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ== - dependencies: - css-tree "~2.2.0" - -csstype@^3.0.2: - version "3.1.2" - resolved "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz" - integrity sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ== - -dayjs@^1.11.7: - version "1.11.10" - resolved "https://registry.npmjs.org/dayjs/-/dayjs-1.11.10.tgz" - integrity sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ== - -debug@2.6.9, 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@4, debug@^4.0.0, debug@^4.1.0, debug@^4.1.1, debug@^4.2.0: - version "4.3.4" - resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" - integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== - dependencies: - ms "2.1.2" - -decamelize@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" - integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== - -decode-named-character-reference@^1.0.0: - version "1.0.2" - resolved "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz" - integrity sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg== - dependencies: - character-entities "^2.0.0" - -decompress-response@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz" - integrity sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ== - dependencies: - mimic-response "^3.1.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, deepmerge@^4.3.1: - version "4.3.1" - resolved "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz" - integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== - -default-gateway@^6.0.3: - version "6.0.3" - resolved "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz" - integrity sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg== - dependencies: - execa "^5.0.0" - -defer-to-connect@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz" - integrity sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg== - -define-data-property@^1.0.1, define-data-property@^1.1.4: - version "1.1.4" - resolved "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz" - integrity sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A== - dependencies: - es-define-property "^1.0.0" - es-errors "^1.3.0" - gopd "^1.0.1" - -define-lazy-prop@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz" - integrity sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og== - -define-properties@^1.1.3, define-properties@^1.1.4, define-properties@^1.2.1: - version "1.2.1" - resolved "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz" - integrity sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg== - dependencies: - define-data-property "^1.0.1" - has-property-descriptors "^1.0.0" - object-keys "^1.1.1" - -del@^6.1.1: - version "6.1.1" - resolved "https://registry.npmjs.org/del/-/del-6.1.1.tgz" - integrity sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg== - 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@2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz" - integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== - -depd@~1.1.2: - version "1.1.2" - resolved "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz" - integrity sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ== - -dequal@^2.0.0: - version "2.0.3" - resolved "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz" - integrity sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA== - -des.js@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.1.0.tgz#1d37f5766f3bbff4ee9638e871a8768c173b81da" - integrity sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg== - dependencies: - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - -destroy@1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz" - integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== - -detect-libc@^2.0.0, detect-libc@^2.0.2: - version "2.0.2" - resolved "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.2.tgz" - integrity sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw== - -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.5.1: - version "1.5.1" - resolved "https://registry.npmjs.org/detect-port/-/detect-port-1.5.1.tgz" - integrity sha512-aBzdj76lueB6uUst5iAs7+0H/oOjqI5D16XUWxlWMIMROhcM0rfsNVk93zTngq1dDNpoXRr++Sus7ETAExppAQ== - dependencies: - address "^1.0.1" - debug "4" - -devlop@^1.0.0, devlop@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz" - integrity sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA== - dependencies: - dequal "^2.0.0" - -diff@^5.0.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/diff/-/diff-5.2.0.tgz#26ded047cd1179b78b9537d5ef725503ce1ae531" - integrity sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A== - -diffie-hellman@^5.0.0: - version "5.0.3" - resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" - integrity sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg== - dependencies: - bn.js "^4.1.0" - miller-rabin "^4.0.0" - randombytes "^2.0.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 sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg== - -dns-packet@^5.2.2: - version "5.6.1" - resolved "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.1.tgz" - integrity sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw== - dependencies: - "@leichtgewicht/ip-codec" "^2.0.1" - -docusaurus-plugin-hotjar@^0.0.2: - version "0.0.2" - resolved "https://registry.npmjs.org/docusaurus-plugin-hotjar/-/docusaurus-plugin-hotjar-0.0.2.tgz" - integrity sha512-Jsdxa6k4YQm4SBiY5mv9h/6sKUrQs6lC6mRoPUfjiPVtnhURE3d0dj4Vnrpy/tRVSAbywAqA0F/PGn5RKHtVaw== - -docusaurus-plugin-image-zoom@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/docusaurus-plugin-image-zoom/-/docusaurus-plugin-image-zoom-2.0.0.tgz" - integrity sha512-TWHQZeoiged+95CESlZk++lihzl3pqw34n0/fbexx2AocmFhbo9K2scYDgYB8amki4/X6mUCLTPZE1pQvT+00Q== - dependencies: - medium-zoom "^1.0.8" - validate-peer-dependencies "^2.2.0" - -docusaurus-plugin-sass@^0.2.3: - version "0.2.5" - resolved "https://registry.yarnpkg.com/docusaurus-plugin-sass/-/docusaurus-plugin-sass-0.2.5.tgz#6bfb8a227ac6265be685dcbc24ba1989e27b8005" - integrity sha512-Z+D0fLFUKcFpM+bqSUmqKIU+vO+YF1xoEQh5hoFreg2eMf722+siwXDD+sqtwU8E4MvVpuvsQfaHwODNlxJAEg== - dependencies: - sass-loader "^10.1.1" - -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.4.1" - resolved "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz" - integrity sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag== - dependencies: - domelementtype "^2.0.1" - domhandler "^4.2.0" - entities "^2.0.0" - -dom-serializer@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz" - integrity sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg== - dependencies: - domelementtype "^2.3.0" - domhandler "^5.0.2" - entities "^4.2.0" - -domain-browser@^4.22.0: - version "4.23.0" - resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-4.23.0.tgz#427ebb91efcb070f05cffdfb8a4e9a6c25f8c94b" - integrity sha512-ArzcM/II1wCCujdCNyQjXrAFwS4mrLh4C7DZWlaI8mdh7h3BfKdNd3bKXITfl2PT9FtfQqaGvhi1vPRQPimjGA== - -domelementtype@^2.0.1, domelementtype@^2.2.0, domelementtype@^2.3.0: - version "2.3.0" - resolved "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz" - integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw== - -domhandler@^4.0.0, domhandler@^4.2.0, domhandler@^4.3.1: - version "4.3.1" - resolved "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz" - integrity sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ== - dependencies: - domelementtype "^2.2.0" - -domhandler@^5.0.2, domhandler@^5.0.3: - version "5.0.3" - resolved "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz" - integrity sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w== - dependencies: - domelementtype "^2.3.0" - -domutils@^2.5.2, domutils@^2.8.0: - version "2.8.0" - resolved "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz" - integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A== - dependencies: - dom-serializer "^1.0.1" - domelementtype "^2.2.0" - domhandler "^4.2.0" - -domutils@^3.0.1: - version "3.1.0" - resolved "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz" - integrity sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA== - dependencies: - dom-serializer "^2.0.0" - domelementtype "^2.3.0" - domhandler "^5.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@^6.0.1: - version "6.0.1" - resolved "https://registry.npmjs.org/dot-prop/-/dot-prop-6.0.1.tgz" - integrity sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA== - dependencies: - is-obj "^2.0.0" - -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== - -eastasianwidth@^0.2.0: - version "0.2.0" - resolved "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz" - integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== - -ee-first@1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz" - integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== - -electron-to-chromium@^1.4.668: - version "1.4.761" - resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.761.tgz" - integrity sha512-PIbxpiJGx6Bb8dQaonNc6CGTRlVntdLg/2nMa1YhnrwYOORY9a3ZgGN0UQYE6lAcj/lkyduJN7BPt/JiY+jAQQ== - -electron-to-chromium@^1.4.796: - version "1.4.798" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.798.tgz#6a3fcab2edc1e66e3883466f6b4b8944323c0164" - integrity sha512-by9J2CiM9KPGj9qfp5U4FcPSbXJG7FNzqnYaY4WLzX+v2PHieVGmnsA4dxfpGE3QEC7JofpPZmn7Vn1B9NR2+Q== - -elliptic@^6.5.3, elliptic@^6.5.5: - version "6.5.5" - resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.5.tgz#c715e09f78b6923977610d4c2346d6ce22e6dded" - integrity sha512-7EjbcmUm17NQFu4Pmgmq2olYMj8nwMnpcddByChSUjArp8F5DQWcIcpriwO4ZToLNAJig0yiyjswfyGNje/ixw== - dependencies: - bn.js "^4.11.9" - brorand "^1.1.0" - hash.js "^1.0.0" - hmac-drbg "^1.0.1" - inherits "^2.0.4" - minimalistic-assert "^1.0.1" - minimalistic-crypto-utils "^1.0.1" - -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@^9.2.2: - version "9.2.2" - resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz" - integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== - -emojilib@^2.4.0: - version "2.4.0" - resolved "https://registry.npmjs.org/emojilib/-/emojilib-2.4.0.tgz" - integrity sha512-5U0rVMU5Y2n2+ykNLQqMoqklN9ICBT/KsvC1Gz6vqHbz2AXXGkG+Pm5rMWk/8Vjrr/mY9985Hi8DYzn1F09Nyw== - -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@^4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/emoticon/-/emoticon-4.0.1.tgz" - integrity sha512-dqx7eA9YaqyvYtUhJwT4rC1HIp82j5ybS1/vQ42ur+jBe17dJMwZE4+gvL1XadSFfxaPFFGt3Xsw+Y8akThDlw== - -encodeurl@~1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz" - integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== - -end-of-stream@^1.1.0, end-of-stream@^1.4.1: - 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.15.0: - version "5.15.0" - resolved "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz" - integrity sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg== - dependencies: - graceful-fs "^4.2.4" - tapable "^2.2.0" - -enhanced-resolve@^5.16.0: - version "5.17.0" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.17.0.tgz#d037603789dd9555b89aaec7eb78845c49089bc5" - integrity sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA== - dependencies: - graceful-fs "^4.2.4" - tapable "^2.2.0" - -entities@^2.0.0: - version "2.2.0" - resolved "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz" - integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== - -entities@^4.2.0, entities@^4.4.0: - version "4.5.0" - resolved "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz" - integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw== - -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-define-property@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz" - integrity sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ== - dependencies: - get-intrinsic "^1.2.4" - -es-errors@^1.3.0: - version "1.3.0" - resolved "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz" - integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== - -es-module-lexer@^1.2.1: - version "1.3.1" - resolved "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.1.tgz" - integrity sha512-JUFAyicQV9mXc3YRxPnDlrfBKpqt6hUYzz9/boprUJHs4e4KVr3XwOF70doO6gwXUor6EWZJAyWAfKki84t20Q== - -es6-promise@^3.2.1: - version "3.3.1" - resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-3.3.1.tgz#a08cdde84ccdbf34d027a1451bc91d4bcd28a613" - integrity sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg== - -escalade@^3.1.1: - version "3.1.1" - resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz" - integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== - -escalade@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.2.tgz#54076e9ab29ea5bf3d8f1ed62acffbb88272df27" - integrity sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA== - -escape-goat@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/escape-goat/-/escape-goat-4.0.0.tgz" - integrity sha512-2Sd4ShcWxbx6OY1IHyla/CVNwvg7XwZVoXZHcSu9w9SReNP1EzzD5T8NWKIR38fIqEns9kDWKUQTXXAmlDrdPg== - -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 sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== - -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 sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== - -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@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz" - integrity sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw== - -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.3.0" - resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz" - integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== - -estree-util-attach-comments@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/estree-util-attach-comments/-/estree-util-attach-comments-3.0.0.tgz" - integrity sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw== - dependencies: - "@types/estree" "^1.0.0" - -estree-util-build-jsx@^3.0.0: - version "3.0.1" - resolved "https://registry.npmjs.org/estree-util-build-jsx/-/estree-util-build-jsx-3.0.1.tgz" - integrity sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ== - dependencies: - "@types/estree-jsx" "^1.0.0" - devlop "^1.0.0" - estree-util-is-identifier-name "^3.0.0" - estree-walker "^3.0.0" - -estree-util-is-identifier-name@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-3.0.0.tgz" - integrity sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg== - -estree-util-to-js@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/estree-util-to-js/-/estree-util-to-js-2.0.0.tgz" - integrity sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg== - dependencies: - "@types/estree-jsx" "^1.0.0" - astring "^1.8.0" - source-map "^0.7.0" - -estree-util-value-to-estree@^3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/estree-util-value-to-estree/-/estree-util-value-to-estree-3.0.1.tgz" - integrity sha512-b2tdzTurEIbwRh+mKrEcaWfu1wgb8J1hVsgREg7FFiecWwK/PhO8X0kyc+0bIcKNtD4sqxIdNoRy6/p/TvECEA== - dependencies: - "@types/estree" "^1.0.0" - is-plain-obj "^4.0.0" - -estree-util-visit@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/estree-util-visit/-/estree-util-visit-2.0.0.tgz" - integrity sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww== - dependencies: - "@types/estree-jsx" "^1.0.0" - "@types/unist" "^3.0.0" - -estree-walker@^3.0.0: - version "3.0.3" - resolved "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz" - integrity sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g== - dependencies: - "@types/estree" "^1.0.0" - -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@^2.2.0: - version "2.2.0" - resolved "https://registry.npmjs.org/eta/-/eta-2.2.0.tgz" - integrity sha512-UVQ72Rqjy/ZKQalzV5dCCJP80GrmPrMxh6NlNf+erV6ObL0ZFkhCstWRawS85z3smdr3d2wXPsZEY7rDPfGd2g== - -etag@~1.8.1: - version "1.8.1" - resolved "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz" - integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== - -eval@^0.1.8: - version "0.1.8" - resolved "https://registry.npmjs.org/eval/-/eval-0.1.8.tgz" - integrity sha512-EzV94NYKoO09GLXGjXj9JIlXijVck4ONSr5wiCWDvhsvj5jxSrzTmRU/9C1DyB6uToszLs8aifA6NQ7lEQdvFw== - dependencies: - "@types/node" "*" - require-like ">= 0.1.1" - -event-target-shim@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/event-target-shim/-/event-target-shim-5.0.1.tgz#5d4d3ebdf9583d63a5333ce2deb7480ab2b05789" - integrity sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ== - -eventemitter3@^4.0.0: - version "4.0.7" - resolved "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz" - integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== - -events@^3.2.0, events@^3.3.0: - version "3.3.0" - resolved "https://registry.npmjs.org/events/-/events-3.3.0.tgz" - integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== - -evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" - integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA== - dependencies: - md5.js "^1.3.4" - safe-buffer "^5.1.1" - -execa@^5.0.0, execa@^5.1.1: - 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" - -exenv@^1.2.0: - version "1.2.2" - resolved "https://registry.yarnpkg.com/exenv/-/exenv-1.2.2.tgz#2ae78e85d9894158670b03d47bec1f03bd91bb9d" - integrity sha512-Z+ktTxTwv9ILfgKCk32OX3n/doe+OcLTRtqK9pcL+JsP3J1/VW8Uvl4ZjLlKqeW4rzK4oesDOGMEMRIZqtP4Iw== - -expand-template@^2.0.3: - version "2.0.3" - resolved "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz" - integrity sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg== - -express@^4.17.3: - version "4.19.2" - resolved "https://registry.npmjs.org/express/-/express-4.19.2.tgz" - integrity sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q== - dependencies: - accepts "~1.3.8" - array-flatten "1.1.1" - body-parser "1.20.2" - content-disposition "0.5.4" - content-type "~1.0.4" - cookie "0.6.0" - cookie-signature "1.0.6" - debug "2.6.9" - depd "2.0.0" - encodeurl "~1.0.2" - escape-html "~1.0.3" - etag "~1.8.1" - finalhandler "1.2.0" - fresh "0.5.2" - http-errors "2.0.0" - merge-descriptors "1.0.1" - methods "~1.1.2" - on-finished "2.4.1" - parseurl "~1.3.3" - path-to-regexp "0.1.7" - proxy-addr "~2.0.7" - qs "6.11.0" - range-parser "~1.2.1" - safe-buffer "5.2.1" - send "0.18.0" - serve-static "1.15.0" - setprototypeof "1.2.0" - statuses "2.0.1" - type-is "~1.6.18" - utils-merge "1.0.1" - vary "~1.1.2" - -extend-shallow@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz" - integrity sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug== - dependencies: - is-extendable "^0.1.0" - -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== - -fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: - 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-fifo@^1.1.0, fast-fifo@^1.2.0: - version "1.3.2" - resolved "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz" - integrity sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ== - -fast-glob@^3.2.11, fast-glob@^3.2.9, fast-glob@^3.3.0: - version "3.3.1" - resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz" - integrity sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg== - dependencies: - "@nodelib/fs.stat" "^2.0.2" - "@nodelib/fs.walk" "^1.2.3" - glob-parent "^5.1.2" - merge2 "^1.3.0" - micromatch "^4.0.4" - -fast-json-stable-stringify@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" - integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== - -fast-safe-stringify@^2.0.7: - version "2.1.1" - resolved "https://registry.yarnpkg.com/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz#c406a83b6e70d9e35ce3b30a81141df30aeba884" - integrity sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA== - -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 sha512-5jOCVXADYNuRkKFzNJ0dCCewsZiYo0dz8QNYljkOpFC6r2U4OBmKtvm/Tsuh4w1YYdDqDb31a8TVhBJ2OJKdqQ== - dependencies: - punycode "^1.3.2" - -fastq@^1.6.0: - version "1.15.0" - resolved "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz" - integrity sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw== - dependencies: - reusify "^1.0.4" - -fault@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/fault/-/fault-2.0.1.tgz" - integrity sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ== - dependencies: - format "^0.2.0" - -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" - -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" - -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-saver@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/file-saver/-/file-saver-2.0.5.tgz#d61cfe2ce059f414d899e9dd6d4107ee25670c38" - integrity sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA== - -file-type@3.9.0: - version "3.9.0" - resolved "https://registry.yarnpkg.com/file-type/-/file-type-3.9.0.tgz#257a078384d1db8087bc449d107d52a52672b9e9" - integrity sha512-RLoqTXE8/vPmMuTI88DAzhMYC99I8BWv7zYP4A1puo5HIjEJ5EX48ighy4ZyKMG9EDXxBgW6e++cn7d1xuFghA== - -filesize@^8.0.6: - version "8.0.7" - resolved "https://registry.npmjs.org/filesize/-/filesize-8.0.7.tgz" - integrity sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ== - -fill-range@^7.1.1: - version "7.1.1" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.1.1.tgz#44265d3cac07e3ea7dc247516380643754a05292" - integrity sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg== - dependencies: - to-regex-range "^5.0.1" - -filter-obj@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/filter-obj/-/filter-obj-2.0.2.tgz#fff662368e505d69826abb113f0f6a98f56e9d5f" - integrity sha512-lO3ttPjHZRfjMcxWKb1j1eDhTFsu4meeR3lnMcnBFhk6RuLhvEiuALu2TlfL310ph4lCYYwgF/ElIjdP739tdg== - -finalhandler@1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz" - integrity sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg== - dependencies: - debug "2.6.9" - encodeurl "~1.0.2" - escape-html "~1.0.3" - on-finished "2.4.1" - parseurl "~1.3.3" - statuses "2.0.1" - unpipe "~1.0.0" - -find-cache-dir@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-4.0.0.tgz" - integrity sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg== - dependencies: - common-path-prefix "^3.0.0" - pkg-dir "^7.0.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.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" - integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== - dependencies: - locate-path "^5.0.0" - path-exists "^4.0.0" - -find-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" - -find-up@^6.3.0: - version "6.3.0" - resolved "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz" - integrity sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw== - dependencies: - locate-path "^7.1.0" - path-exists "^5.0.0" - -flat@^5.0.2: - version "5.0.2" - resolved "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz" - integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== - -follow-redirects@^1.0.0: - version "1.15.6" - resolved "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz" - integrity sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA== - -for-each@^0.3.3: - version "0.3.3" - resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" - integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== - dependencies: - is-callable "^1.1.3" - -foreach@^2.0.4: - version "2.0.6" - resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.6.tgz#87bcc8a1a0e74000ff2bf9802110708cfb02eb6e" - integrity sha512-k6GAGDyqLe9JaebCsFCoudPPWfihKu8pylYXRlqP1J7ms39iPoTtk2fviNglIeQEwdh0bQeKJ01ZPyuyQvKzwg== - -foreground-child@^3.1.0: - version "3.1.1" - resolved "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz" - integrity sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg== - dependencies: - cross-spawn "^7.0.0" - signal-exit "^4.0.1" - -fork-ts-checker-webpack-plugin@^6.5.0: - version "6.5.3" - resolved "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.3.tgz" - integrity sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ== - dependencies: - "@babel/code-frame" "^7.8.3" - "@types/json-schema" "^7.0.5" - chalk "^4.1.0" - chokidar "^3.4.2" - cosmiconfig "^6.0.0" - deepmerge "^4.2.2" - fs-extra "^9.0.0" - glob "^7.1.6" - memfs "^3.1.2" - minimatch "^3.0.4" - schema-utils "2.7.0" - semver "^7.3.2" - tapable "^1.0.0" - -form-data-encoder@^2.1.2: - version "2.1.4" - resolved "https://registry.npmjs.org/form-data-encoder/-/form-data-encoder-2.1.4.tgz" - integrity sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw== - -format@^0.2.0: - version "0.2.2" - resolved "https://registry.npmjs.org/format/-/format-0.2.2.tgz" - integrity sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww== - -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.3.7: - version "4.3.7" - resolved "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz" - integrity sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew== - -fresh@0.5.2: - version "0.5.2" - resolved "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz" - integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q== - -fs-constants@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz" - integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== - -fs-extra@^10.0.0: - version "10.1.0" - resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz" - integrity sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ== - dependencies: - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^2.0.0" - -fs-extra@^11.1.1, fs-extra@^11.2.0: - version "11.2.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.2.0.tgz#e70e17dfad64232287d01929399e0ea7c86b0e5b" - integrity sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw== - dependencies: - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^2.0.0" - -fs-extra@^9.0.0, fs-extra@^9.0.1: - version "9.1.0" - resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz" - integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== - dependencies: - at-least-node "^1.0.0" - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^2.0.0" - -fs-monkey@^1.0.4: - version "1.0.5" - resolved "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.5.tgz" - integrity sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew== - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" - integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== - -fsevents@~2.3.2: - version "2.3.3" - resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz" - integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== - -function-bind@^1.1.2: - version "1.1.2" - resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz" - integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== - -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, get-caller-file@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" - integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== - -get-intrinsic@^1.1.3, get-intrinsic@^1.2.4: - version "1.2.4" - resolved "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz" - integrity sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ== - dependencies: - es-errors "^1.3.0" - function-bind "^1.1.2" - has-proto "^1.0.1" - has-symbols "^1.0.3" - hasown "^2.0.0" - -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@^6.0.0, get-stream@^6.0.1: - version "6.0.1" - resolved "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz" - integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== - -github-from-package@0.0.0: - version "0.0.0" - resolved "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz" - integrity sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw== - -github-slugger@^1.5.0: - version "1.5.0" - resolved "https://registry.npmjs.org/github-slugger/-/github-slugger-1.5.0.tgz" - integrity sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw== - -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.1: - version "6.0.2" - resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz" - integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== - dependencies: - is-glob "^4.0.3" - -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@^10.3.10: - version "10.3.12" - resolved "https://registry.npmjs.org/glob/-/glob-10.3.12.tgz" - integrity sha512-TCNv8vJ+xz4QiqTpfOJA7HvYv+tNIRHKfUWw/q+v2jdgN4ebz+KY9tGx5J4rHP0o84mNP+ApH66HRX8us3Khqg== - dependencies: - foreground-child "^3.1.0" - jackspeak "^2.3.6" - minimatch "^9.0.1" - minipass "^7.0.4" - path-scurry "^1.10.2" - -glob@^7.0.0, glob@^7.1.3, glob@^7.1.6: - version "7.2.3" - resolved "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz" - integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.1.1" - once "^1.3.0" - path-is-absolute "^1.0.0" - -global-dirs@^3.0.0: - version "3.0.1" - resolved "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz" - integrity sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA== - 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.4, globby@^11.1.0: - version "11.1.0" - resolved "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz" - integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== - dependencies: - array-union "^2.1.0" - dir-glob "^3.0.1" - fast-glob "^3.2.9" - ignore "^5.2.0" - merge2 "^1.4.1" - slash "^3.0.0" - -globby@^13.1.1: - version "13.2.2" - resolved "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz" - integrity sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w== - dependencies: - dir-glob "^3.0.1" - fast-glob "^3.3.0" - ignore "^5.2.4" - merge2 "^1.4.1" - slash "^4.0.0" - -goober@^2.1.10: - version "2.1.13" - resolved "https://registry.npmjs.org/goober/-/goober-2.1.13.tgz" - integrity sha512-jFj3BQeleOoy7t93E9rZ2de+ScC4lQICLwiAQmKMg9F6roKGaLSHoCDYKkWlSafg138jejvq/mTdvmnwDQgqoQ== - -gopd@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz" - integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== - dependencies: - get-intrinsic "^1.1.3" - -got@^12.1.0: - version "12.6.1" - resolved "https://registry.npmjs.org/got/-/got-12.6.1.tgz" - integrity sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ== - dependencies: - "@sindresorhus/is" "^5.2.0" - "@szmarczak/http-timer" "^5.0.1" - cacheable-lookup "^7.0.0" - cacheable-request "^10.2.8" - decompress-response "^6.0.0" - form-data-encoder "^2.1.2" - get-stream "^6.0.1" - http2-wrapper "^2.1.10" - lowercase-keys "^3.0.0" - p-cancelable "^3.0.0" - responselike "^3.0.0" - -graceful-fs@4.2.10: - version "4.2.10" - resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz" - integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== - -graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.11, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9: - version "4.2.11" - resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz" - integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== - -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" - -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-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" - integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== - -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-property-descriptors@^1.0.0, has-property-descriptors@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz" - integrity sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg== - dependencies: - es-define-property "^1.0.0" - -has-proto@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz" - integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg== - -has-symbols@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz" - integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== - -has-tostringtag@^1.0.0, has-tostringtag@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz#2cdc42d40bef2e5b4eeab7c01a73c54ce7ab5abc" - integrity sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw== - dependencies: - has-symbols "^1.0.3" - -has-yarn@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/has-yarn/-/has-yarn-3.0.0.tgz" - integrity sha512-IrsVwUHhEULx3R8f/aA8AHuEzAorplsab/v8HBzEiIukwq5i/EC+xmOW+HfP1OaDP+2JkgT1yILHN2O3UFIbcA== - -hash-base@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33" - integrity sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA== - dependencies: - inherits "^2.0.4" - readable-stream "^3.6.0" - safe-buffer "^5.2.0" - -hash-base@~3.0: - version "3.0.4" - resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.0.4.tgz#5fc8686847ecd73499403319a6b0a3f3f6ae4918" - integrity sha512-EeeoJKjTyt868liAlVmcv2ZsUfGHlE3Q+BICOXcZiwN3osr5Q/zFGYmTJpoIzuaSTAwndFy+GqhEwlU4L3j4Ow== - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - -hash.js@^1.0.0, hash.js@^1.0.3: - version "1.1.7" - resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" - integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== - dependencies: - inherits "^2.0.3" - minimalistic-assert "^1.0.1" - -hasown@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz" - integrity sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA== - dependencies: - function-bind "^1.1.2" - -hast-util-from-parse5@^7.0.0: - version "7.1.2" - resolved "https://registry.yarnpkg.com/hast-util-from-parse5/-/hast-util-from-parse5-7.1.2.tgz#aecfef73e3ceafdfa4550716443e4eb7b02e22b0" - integrity sha512-Nz7FfPBuljzsN3tCQ4kCBKqdNhQE2l0Tn+X1ubgKBPRoiDIu1mL08Cfw4k7q71+Duyaw7DXDN+VTAp4Vh3oCOw== - dependencies: - "@types/hast" "^2.0.0" - "@types/unist" "^2.0.0" - hastscript "^7.0.0" - property-information "^6.0.0" - vfile "^5.0.0" - vfile-location "^4.0.0" - web-namespaces "^2.0.0" - -hast-util-from-parse5@^8.0.0: - version "8.0.1" - resolved "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-8.0.1.tgz" - integrity sha512-Er/Iixbc7IEa7r/XLtuG52zoqn/b3Xng/w6aZQ0xGVxzhw5xUFxcRqdPzP6yFi/4HBYRaifaI5fQ1RH8n0ZeOQ== - dependencies: - "@types/hast" "^3.0.0" - "@types/unist" "^3.0.0" - devlop "^1.0.0" - hastscript "^8.0.0" - property-information "^6.0.0" - vfile "^6.0.0" - vfile-location "^5.0.0" - web-namespaces "^2.0.0" - -hast-util-parse-selector@^3.0.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/hast-util-parse-selector/-/hast-util-parse-selector-3.1.1.tgz#25ab00ae9e75cbc62cf7a901f68a247eade659e2" - integrity sha512-jdlwBjEexy1oGz0aJ2f4GKMaVKkA9jwjr4MjAAI22E5fM/TXVZHuS5OpONtdeIkRKqAaryQ2E9xNQxijoThSZA== - dependencies: - "@types/hast" "^2.0.0" - -hast-util-parse-selector@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-4.0.0.tgz" - integrity sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A== - dependencies: - "@types/hast" "^3.0.0" - -hast-util-raw@^7.2.0: - version "7.2.3" - resolved "https://registry.yarnpkg.com/hast-util-raw/-/hast-util-raw-7.2.3.tgz#dcb5b22a22073436dbdc4aa09660a644f4991d99" - integrity sha512-RujVQfVsOrxzPOPSzZFiwofMArbQke6DJjnFfceiEbFh7S05CbPt0cYN+A5YeD3pso0JQk6O1aHBnx9+Pm2uqg== - dependencies: - "@types/hast" "^2.0.0" - "@types/parse5" "^6.0.0" - hast-util-from-parse5 "^7.0.0" - hast-util-to-parse5 "^7.0.0" - html-void-elements "^2.0.0" - parse5 "^6.0.0" - unist-util-position "^4.0.0" - unist-util-visit "^4.0.0" - vfile "^5.0.0" - web-namespaces "^2.0.0" - zwitch "^2.0.0" - -hast-util-raw@^9.0.0: - version "9.0.1" - resolved "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-9.0.1.tgz" - integrity sha512-5m1gmba658Q+lO5uqL5YNGQWeh1MYWZbZmWrM5lncdcuiXuo5E2HT/CIOp0rLF8ksfSwiCVJ3twlgVRyTGThGA== - dependencies: - "@types/hast" "^3.0.0" - "@types/unist" "^3.0.0" - "@ungap/structured-clone" "^1.0.0" - hast-util-from-parse5 "^8.0.0" - hast-util-to-parse5 "^8.0.0" - html-void-elements "^3.0.0" - mdast-util-to-hast "^13.0.0" - parse5 "^7.0.0" - unist-util-position "^5.0.0" - unist-util-visit "^5.0.0" - vfile "^6.0.0" - web-namespaces "^2.0.0" - zwitch "^2.0.0" - -hast-util-to-estree@^3.0.0: - version "3.1.0" - resolved "https://registry.npmjs.org/hast-util-to-estree/-/hast-util-to-estree-3.1.0.tgz" - integrity sha512-lfX5g6hqVh9kjS/B9E2gSkvHH4SZNiQFiqWS0x9fENzEl+8W12RqdRxX6d/Cwxi30tPQs3bIO+aolQJNp1bIyw== - dependencies: - "@types/estree" "^1.0.0" - "@types/estree-jsx" "^1.0.0" - "@types/hast" "^3.0.0" - comma-separated-tokens "^2.0.0" - devlop "^1.0.0" - estree-util-attach-comments "^3.0.0" - estree-util-is-identifier-name "^3.0.0" - hast-util-whitespace "^3.0.0" - mdast-util-mdx-expression "^2.0.0" - mdast-util-mdx-jsx "^3.0.0" - mdast-util-mdxjs-esm "^2.0.0" - property-information "^6.0.0" - space-separated-tokens "^2.0.0" - style-to-object "^0.4.0" - unist-util-position "^5.0.0" - zwitch "^2.0.0" - -hast-util-to-jsx-runtime@^2.0.0: - version "2.2.0" - resolved "https://registry.npmjs.org/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.2.0.tgz" - integrity sha512-wSlp23N45CMjDg/BPW8zvhEi3R+8eRE1qFbjEyAUzMCzu2l1Wzwakq+Tlia9nkCtEl5mDxa7nKHsvYJ6Gfn21A== - dependencies: - "@types/hast" "^3.0.0" - "@types/unist" "^3.0.0" - comma-separated-tokens "^2.0.0" - hast-util-whitespace "^3.0.0" - property-information "^6.0.0" - space-separated-tokens "^2.0.0" - style-to-object "^0.4.0" - unist-util-position "^5.0.0" - vfile-message "^4.0.0" - -hast-util-to-parse5@^7.0.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/hast-util-to-parse5/-/hast-util-to-parse5-7.1.0.tgz#c49391bf8f151973e0c9adcd116b561e8daf29f3" - integrity sha512-YNRgAJkH2Jky5ySkIqFXTQiaqcAtJyVE+D5lkN6CdtOqrnkLfGYYrEcKuHOJZlp+MwjSwuD3fZuawI+sic/RBw== - dependencies: - "@types/hast" "^2.0.0" - comma-separated-tokens "^2.0.0" - property-information "^6.0.0" - space-separated-tokens "^2.0.0" - web-namespaces "^2.0.0" - zwitch "^2.0.0" - -hast-util-to-parse5@^8.0.0: - version "8.0.0" - resolved "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-8.0.0.tgz" - integrity sha512-3KKrV5ZVI8if87DVSi1vDeByYrkGzg4mEfeu4alwgmmIeARiBLKCZS2uw5Gb6nU9x9Yufyj3iudm6i7nl52PFw== - dependencies: - "@types/hast" "^3.0.0" - comma-separated-tokens "^2.0.0" - devlop "^1.0.0" - property-information "^6.0.0" - space-separated-tokens "^2.0.0" - web-namespaces "^2.0.0" - zwitch "^2.0.0" - -hast-util-whitespace@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/hast-util-whitespace/-/hast-util-whitespace-2.0.1.tgz#0ec64e257e6fc216c7d14c8a1b74d27d650b4557" - integrity sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng== - -hast-util-whitespace@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz" - integrity sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw== - dependencies: - "@types/hast" "^3.0.0" - -hastscript@^7.0.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/hastscript/-/hastscript-7.2.0.tgz#0eafb7afb153d047077fa2a833dc9b7ec604d10b" - integrity sha512-TtYPq24IldU8iKoJQqvZOuhi5CyCQRAbvDOX0x1eW6rsHSxa/1i2CCiptNTotGHJ3VoHRGmqiv6/D3q113ikkw== - dependencies: - "@types/hast" "^2.0.0" - comma-separated-tokens "^2.0.0" - hast-util-parse-selector "^3.0.0" - property-information "^6.0.0" - space-separated-tokens "^2.0.0" - -hastscript@^8.0.0: - version "8.0.0" - resolved "https://registry.npmjs.org/hastscript/-/hastscript-8.0.0.tgz" - integrity sha512-dMOtzCEd3ABUeSIISmrETiKuyydk1w0pa+gE/uormcTpSYuaNJPbX1NU3JLyscSLjwAQM8bWMhhIlnCqnRvDTw== - dependencies: - "@types/hast" "^3.0.0" - comma-separated-tokens "^2.0.0" - hast-util-parse-selector "^4.0.0" - property-information "^6.0.0" - space-separated-tokens "^2.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== - -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" - -hmac-drbg@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" - integrity sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg== - dependencies: - hash.js "^1.0.3" - minimalistic-assert "^1.0.0" - minimalistic-crypto-utils "^1.0.1" - -hoist-non-react-statics@^3.1.0, hoist-non-react-statics@^3.3.0, hoist-non-react-statics@^3.3.2: - 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 sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ== - dependencies: - inherits "^2.0.1" - obuf "^1.0.0" - readable-stream "^2.0.1" - wbuf "^1.1.0" - -html-entities@^2.3.2: - version "2.4.0" - resolved "https://registry.npmjs.org/html-entities/-/html-entities-2.4.0.tgz" - integrity sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ== - -html-minifier-terser@^6.0.2: - version "6.1.0" - resolved "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz" - integrity sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw== - dependencies: - camel-case "^4.1.2" - clean-css "^5.2.2" - commander "^8.3.0" - he "^1.2.0" - param-case "^3.0.4" - relateurl "^0.2.7" - terser "^5.10.0" - -html-minifier-terser@^7.2.0: - version "7.2.0" - resolved "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-7.2.0.tgz" - integrity sha512-tXgn3QfqPIpGl9o+K5tpcj3/MN4SfLtsx2GWwBC3SSd0tXQGyF3gsSqad8loJgKZGM3ZxbYDd5yhiBIdWpmvLA== - dependencies: - camel-case "^4.1.2" - clean-css "~5.3.2" - commander "^10.0.0" - entities "^4.4.0" - param-case "^3.0.4" - relateurl "^0.2.7" - terser "^5.15.1" - -html-tags@^3.3.1: - version "3.3.1" - resolved "https://registry.npmjs.org/html-tags/-/html-tags-3.3.1.tgz" - integrity sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ== - -html-void-elements@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/html-void-elements/-/html-void-elements-2.0.1.tgz#29459b8b05c200b6c5ee98743c41b979d577549f" - integrity sha512-0quDb7s97CfemeJAnW9wC0hw78MtW7NU3hqtCD75g2vFlDLt36llsYD7uB7SUzojLMP24N5IatXf7ylGXiGG9A== - -html-void-elements@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/html-void-elements/-/html-void-elements-3.0.0.tgz" - integrity sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg== - -html-webpack-plugin@^5.5.3: - version "5.5.3" - resolved "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.5.3.tgz" - integrity sha512-6YrDKTuqaP/TquFH7h4srYWsZx+x6k6+FbsTm0ziCwGHDP78Unr1r9F/H4+sGmMbX08GQcJ+K64x55b+7VM/jg== - dependencies: - "@types/html-minifier-terser" "^6.0.0" - html-minifier-terser "^6.0.2" - lodash "^4.17.21" - pretty-error "^4.0.0" - tapable "^2.0.0" - -htmlparser2@^6.1.0: - version "6.1.0" - resolved "https://registry.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" - -htmlparser2@^8.0.1: - version "8.0.2" - resolved "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz" - integrity sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA== - dependencies: - domelementtype "^2.3.0" - domhandler "^5.0.3" - domutils "^3.0.1" - entities "^4.4.0" - -http-cache-semantics@^4.1.1: - version "4.1.1" - resolved "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz" - integrity sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ== - -http-deceiver@^1.2.7: - version "1.2.7" - resolved "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz" - integrity sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw== - -http-errors@2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz" - integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ== - dependencies: - depd "2.0.0" - inherits "2.0.4" - setprototypeof "1.2.0" - statuses "2.0.1" - toidentifier "1.0.1" - -http-errors@~1.6.2: - version "1.6.3" - resolved "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz" - integrity sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A== - dependencies: - depd "~1.1.2" - inherits "2.0.3" - setprototypeof "1.1.0" - statuses ">= 1.4.0 < 2" - -http-parser-js@>=0.5.1: - version "0.5.8" - resolved "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz" - integrity sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q== - -http-proxy-middleware@^2.0.3: - version "2.0.6" - resolved "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz" - integrity sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw== - dependencies: - "@types/http-proxy" "^1.17.8" - http-proxy "^1.18.1" - is-glob "^4.0.1" - is-plain-obj "^3.0.0" - micromatch "^4.0.2" - -http-proxy@^1.18.1: - version "1.18.1" - resolved "https://registry.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" - -http-reasons@0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/http-reasons/-/http-reasons-0.1.0.tgz#a953ca670078669dde142ce899401b9d6e85d3b4" - integrity sha512-P6kYh0lKZ+y29T2Gqz+RlC9WBLhKe8kDmcJ+A+611jFfxdPsbMRQ5aNmFRM3lENqFkK+HTTL+tlQviAiv0AbLQ== - -http2-client@^1.2.5: - version "1.3.5" - resolved "https://registry.yarnpkg.com/http2-client/-/http2-client-1.3.5.tgz#20c9dc909e3cc98284dd20af2432c524086df181" - integrity sha512-EC2utToWl4RKfs5zd36Mxq7nzHHBuomZboI0yYL6Y0RmBgT7Sgkq4rQ0ezFTYoIsSs7Tm9SJe+o2FcAg6GBhGA== - -http2-wrapper@^2.1.10: - version "2.2.0" - resolved "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-2.2.0.tgz" - integrity sha512-kZB0wxMo0sh1PehyjJUWRFEd99KC5TLjZ2cULC4f9iqJBAmKQQXEICjxl5iPJRwP40dpeHFqqhm7tYCvODpqpQ== - dependencies: - quick-lru "^5.1.1" - resolve-alpn "^1.2.0" - -https-browserify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" - integrity sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg== - -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== - -husky@^9.0.11: - version "9.0.11" - resolved "https://registry.npmjs.org/husky/-/husky-9.0.11.tgz" - integrity sha512-AB6lFlbwwyIqMdHYhwPe+kjOC3Oc5P3nThEoW/AaO2BX3vJDjWPFxYLxokUZOo6RNX20He3AaT8sESs9NJcmEw== - -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" - -iconv-lite@0.6.3: - version "0.6.3" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" - integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== - dependencies: - safer-buffer ">= 2.1.2 < 3.0.0" - -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== - -ieee754@^1.1.13, ieee754@^1.2.1: - version "1.2.1" - resolved "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz" - integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== - -ignore@^5.2.0, ignore@^5.2.4, ignore@^5.3.0: - version "5.3.1" - resolved "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz" - integrity sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw== - -image-size@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/image-size/-/image-size-1.0.2.tgz" - integrity sha512-xfOoWjceHntRb3qFCrh5ZFORYH8XCdYpASltMhZ/Q0KZiOwjdE/Yl2QCiWdwD+lygV5bMCvauzgu5PxBX/Yerg== - dependencies: - queue "6.0.2" - -immediate@^3.2.3: - version "3.3.0" - resolved "https://registry.npmjs.org/immediate/-/immediate-3.3.0.tgz" - integrity sha512-HR7EVodfFUdQCTIeySw+WDRFJlPcLOJbXfwwZ7Oom6tjsvZ3bOkCDJHehQC3nxJrv7+f9XecwazynjU8e4Vw3Q== - -immer@^9.0.21, immer@^9.0.7: - version "9.0.21" - resolved "https://registry.npmjs.org/immer/-/immer-9.0.21.tgz" - integrity sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA== - -immutable@^4.0.0: - version "4.3.6" - resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.3.6.tgz#6a05f7858213238e587fb83586ffa3b4b27f0447" - integrity sha512-Ju0+lEMyzMVZarkTn/gqRpdqd5dOPaz1mCZ0SH3JV6iFw81PldE/PEB1hWVEA288HPt4WXW8O7AWxB10M+03QQ== - -import-fresh@^3.1.0, 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@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz" - integrity sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw== - -imurmurhash@^0.1.4: - version "0.1.4" - resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" - integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== - -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.43: - version "0.2.0-alpha.43" - resolved "https://registry.npmjs.org/infima/-/infima-0.2.0-alpha.43.tgz" - integrity sha512-2uw57LvUqW0rK/SWYnd/2rRfxNA5DDNOh33jxF7fy46VWoNhGxiUQyVZHbBMjQ33mQem0cjdDVwgWVAmlRfgyQ== - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" - integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3, inherits@~2.0.4: - 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 sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw== - -ini@2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz" - integrity sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA== - -ini@^1.3.4, 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== - -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== - -interpret@^1.0.0: - version "1.4.0" - resolved "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz" - integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== - -invariant@^2.2.4: - version "2.2.4" - resolved "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz" - integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== - dependencies: - loose-envify "^1.0.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== - -ipaddr.js@^2.0.1: - version "2.1.0" - resolved "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.1.0.tgz" - integrity sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ== - -is-alphabetical@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz" - integrity sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ== - -is-alphanumerical@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz" - integrity sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw== - dependencies: - is-alphabetical "^2.0.0" - is-decimal "^2.0.0" - -is-arguments@^1.0.4: - version "1.1.1" - resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b" - integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^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 sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== - -is-arrayish@^0.3.1: - version "0.3.2" - resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz" - integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ== - -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-buffer@^2.0.0: - version "2.0.5" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.5.tgz#ebc252e400d22ff8d77fa09888821a24a658c191" - integrity sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ== - -is-callable@^1.1.3: - version "1.2.7" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" - integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== - -is-ci@^3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz" - integrity sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ== - dependencies: - ci-info "^3.2.0" - -is-core-module@^2.13.0: - version "2.13.1" - resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz" - integrity sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw== - dependencies: - hasown "^2.0.0" - -is-decimal@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz" - integrity sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A== - -is-docker@^2.0.0, is-docker@^2.1.1: - 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: - version "0.1.1" - resolved "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz" - integrity sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw== - -is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" - integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== - -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-generator-function@^1.0.7: - version "1.0.10" - resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.0.10.tgz#f1558baf1ac17e0deea7c0415c438351ff2b3c72" - integrity sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A== - dependencies: - has-tostringtag "^1.0.0" - -is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: - version "4.0.3" - resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz" - integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== - dependencies: - is-extglob "^2.1.1" - -is-hexadecimal@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz" - integrity sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg== - -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-nan@^1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/is-nan/-/is-nan-1.3.2.tgz#043a54adea31748b55b6cd4e09aadafa69bd9e1d" - integrity sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w== - dependencies: - call-bind "^1.0.0" - define-properties "^1.1.3" - -is-npm@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/is-npm/-/is-npm-6.0.0.tgz" - integrity sha512-JEjxbSmtPSt1c8XTkVrlujcXdKV1/tvuQ7GwKcAlyiVLeYFQ2VHat8xfrDJsIkhCdF/tZ7CiIR3sy141c6+gPQ== - -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 sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg== - -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.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-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@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz" - integrity sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA== - -is-plain-obj@^4.0.0: - version "4.1.0" - resolved "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz" - integrity sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg== - -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-plain-object@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz" - integrity sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q== - -is-reference@^3.0.0: - version "3.0.2" - resolved "https://registry.npmjs.org/is-reference/-/is-reference-3.0.2.tgz" - integrity sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg== - dependencies: - "@types/estree" "*" - -is-regexp@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz" - integrity sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA== - -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@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz" - integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== - -is-typed-array@^1.1.3: - version "1.1.13" - resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.13.tgz#d6c5ca56df62334959322d7d7dd1cca50debe229" - integrity sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw== - dependencies: - which-typed-array "^1.1.14" - -is-typedarray@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz" - integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA== - -is-wsl@^2.2.0: - 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.4.0: - version "0.4.1" - resolved "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.4.1.tgz" - integrity sha512-/kppl+R+LO5VmhYSEWARUFjodS25D68gvj8W7z0I7OWhUla5xWu8KL6CtB2V0R6yqhnRgbcaREMr4EEM6htLPQ== - -isarray@0.0.1: - version "0.0.1" - resolved "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz" - integrity sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ== - -isarray@~1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" - integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" - integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== - -isobject@^3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz" - integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg== - -jackspeak@^2.3.6: - version "2.3.6" - resolved "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz" - integrity sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ== - dependencies: - "@isaacs/cliui" "^8.0.2" - optionalDependencies: - "@pkgjs/parseargs" "^0.11.0" - -jest-util@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz" - integrity sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA== - dependencies: - "@jest/types" "^29.6.3" - "@types/node" "*" - chalk "^4.0.0" - ci-info "^3.2.0" - graceful-fs "^4.2.9" - picomatch "^2.2.3" - -jest-worker@^27.4.5: - version "27.5.1" - resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz" - integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg== - dependencies: - "@types/node" "*" - merge-stream "^2.0.0" - supports-color "^8.0.0" - -jest-worker@^29.4.3: - version "29.7.0" - resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz" - integrity sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw== - dependencies: - "@types/node" "*" - jest-util "^29.7.0" - merge-stream "^2.0.0" - supports-color "^8.0.0" - -jiti@^1.18.2, jiti@^1.20.0: - version "1.21.0" - resolved "https://registry.npmjs.org/jiti/-/jiti-1.21.0.tgz" - integrity sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q== - -joi@^17.9.2: - version "17.11.0" - resolved "https://registry.npmjs.org/joi/-/joi-17.11.0.tgz" - integrity sha512-NgB+lZLNoqISVy1rZocE9PZI36bL/77ie924Ri43yEvi9GUUMPeyVIr8KdFTMUlby1p0PBYMk9spIxEUQYqrJQ== - dependencies: - "@hapi/hoek" "^9.0.0" - "@hapi/topo" "^5.0.0" - "@sideway/address" "^4.1.3" - "@sideway/formula" "^3.0.1" - "@sideway/pinpoint" "^2.0.0" - -js-levenshtein@^1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/js-levenshtein/-/js-levenshtein-1.1.6.tgz#c6cee58eb3550372df8deb85fad5ce66ce01d59d" - integrity sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g== - -"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.14.1, 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.1.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 sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA== - -json-buffer@3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz" - integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== - -json-parse-even-better-errors@^2.3.0, json-parse-even-better-errors@^2.3.1: - 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-pointer@^0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/json-pointer/-/json-pointer-0.6.2.tgz#f97bd7550be5e9ea901f8c9264c9d436a22a93cd" - integrity sha512-vLWcKbOaXlO+jvRy4qNd+TI1QUPZzfJj1tpJ3vAXDych5XJf93ftpUKe5pKCrzyIIwgBJcOcCVRUfqQP25afBw== - dependencies: - foreach "^2.0.4" - -json-schema-compare@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/json-schema-compare/-/json-schema-compare-0.2.2.tgz#dd601508335a90c7f4cfadb6b2e397225c908e56" - integrity sha512-c4WYmDKyJXhs7WWvAWm3uIYnfyWFoIp+JEoX34rctVvEkMYCPGhXtvmFFXiffBbxfZsvQ0RNnV5H7GvDF5HCqQ== - dependencies: - lodash "^4.17.4" - -json-schema-merge-allof@0.8.1, json-schema-merge-allof@^0.8.1: - version "0.8.1" - resolved "https://registry.yarnpkg.com/json-schema-merge-allof/-/json-schema-merge-allof-0.8.1.tgz#ed2828cdd958616ff74f932830a26291789eaaf2" - integrity sha512-CTUKmIlPJbsWfzRRnOXz+0MjIqvnleIXwFTzz+t9T86HnYX/Rozria6ZVGLktAU9e+NygNljveP+yxqtQp/Q4w== - dependencies: - compute-lcm "^1.1.2" - json-schema-compare "^0.2.2" - lodash "^4.17.20" - -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== - -json-schema-traverse@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz" - integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== - -json5@^2.1.2, json5@^2.2.3: - version "2.2.3" - resolved "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz" - integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== - -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" - -keyv@^4.5.3: - version "4.5.4" - resolved "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz" - integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== - dependencies: - json-buffer "3.0.1" - -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== - -klaw-sync@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/klaw-sync/-/klaw-sync-6.0.0.tgz" - integrity sha512-nIeuVSzdCCs6TDPTqI8w1Yre34sSq7AkZ4B3sfOBbI2CgVSB4Du4aLQijFU2+lhAFCwt9+42Hel6lQNIv6AntQ== - dependencies: - graceful-fs "^4.1.11" - -kleur@^3.0.3: - version "3.0.3" - resolved "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz" - integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== - -kleur@^4.0.3: - version "4.1.5" - resolved "https://registry.yarnpkg.com/kleur/-/kleur-4.1.5.tgz#95106101795f7050c6c650f350c683febddb1780" - integrity sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ== - -klona@^2.0.4: - version "2.0.6" - resolved "https://registry.yarnpkg.com/klona/-/klona-2.0.6.tgz#85bffbf819c03b2f53270412420a4555ef882e22" - integrity sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA== - -latest-version@^7.0.0: - version "7.0.0" - resolved "https://registry.npmjs.org/latest-version/-/latest-version-7.0.0.tgz" - integrity sha512-KvNT4XqAMzdcL6ka6Tl3i2lYeFDgXNCuIX+xNx6ZMVR1dFq+idXd9FLKNMOIx0t9mJ9/HudyX4oZWXZQ0UJHeg== - dependencies: - package-json "^8.1.0" - -launch-editor@^2.6.0: - version "2.6.1" - resolved "https://registry.npmjs.org/launch-editor/-/launch-editor-2.6.1.tgz" - integrity sha512-eB/uXmFVpY4zezmGp5XtU21kwo7GBbKB+EQ+UZeWtGb9yAM5xt/Evk+lYH3eRNAtId+ej4u7TYPFZ07w4s7rRw== - dependencies: - picocolors "^1.0.0" - shell-quote "^1.8.1" - -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== - -lilconfig@^3.1.1: - version "3.1.1" - resolved "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.1.tgz" - integrity sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ== - -lines-and-columns@^1.1.6: - version "1.2.4" - resolved "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz" - integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== - -liquid-json@0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/liquid-json/-/liquid-json-0.3.1.tgz#9155a18136d8a6b2615e5f16f9a2448ab6b50eea" - integrity sha512-wUayTU8MS827Dam6MxgD72Ui+KOSF+u/eIqpatOtjnvgJ0+mnDq33uC2M7J0tPK+upe/DpUAuK4JUU89iBoNKQ== - -loader-runner@^4.2.0: - version "4.3.0" - resolved "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz" - integrity sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg== - -loader-utils@^2.0.0: - version "2.0.4" - resolved "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz" - integrity sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw== - dependencies: - big.js "^5.2.2" - emojis-list "^3.0.0" - json5 "^2.1.2" - -loader-utils@^3.2.0: - version "3.2.1" - resolved "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.1.tgz" - integrity sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw== - -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.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" - 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" - -locate-path@^7.1.0: - version "7.2.0" - resolved "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz" - integrity sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA== - dependencies: - p-locate "^6.0.0" - -lodash.debounce@^4.0.8: - version "4.0.8" - resolved "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz" - integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow== - -lodash.escape@^4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/lodash.escape/-/lodash.escape-4.0.1.tgz" - integrity sha512-nXEOnb/jK9g0DYMr1/Xvq6l5xMD7GDG55+GSYIYmS0G4tBk/hURD4JR9WCavs04t33WmJx9kCyp9vJ+mr4BOUw== - -lodash.flatten@^4.4.0: - version "4.4.0" - resolved "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz" - integrity sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g== - -lodash.invokemap@^4.6.0: - version "4.6.0" - resolved "https://registry.npmjs.org/lodash.invokemap/-/lodash.invokemap-4.6.0.tgz" - integrity sha512-CfkycNtMqgUlfjfdh2BhKO/ZXrP8ePOX5lEU/g0R3ItJcnuxWDwokMGKx1hWcfOikmyOVx6X9IwWnDGlgKl61w== - -lodash.isequal@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" - integrity sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ== - -lodash.memoize@^4.1.2: - version "4.1.2" - resolved "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz" - integrity sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag== - -lodash.pullall@^4.2.0: - version "4.2.0" - resolved "https://registry.npmjs.org/lodash.pullall/-/lodash.pullall-4.2.0.tgz" - integrity sha512-VhqxBKH0ZxPpLhiu68YD1KnHmbhQJQctcipvmFnqIBDYzcIHzf3Zpu0tpeOKtR4x76p9yohc506eGdOjTmyIBg== - -lodash.uniq@^4.5.0: - version "4.5.0" - resolved "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz" - integrity sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ== - -lodash.uniqby@^4.7.0: - version "4.7.0" - resolved "https://registry.npmjs.org/lodash.uniqby/-/lodash.uniqby-4.7.0.tgz" - integrity sha512-e/zcLx6CSbmaEgFHCA7BnoQKyCtKMxnuWrJygbwPs/AIn+IMKl66L8/s+wBUn5LRw2pZx3bUHibiV1b6aTWIww== - -lodash@4.17.21, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.4: - version "4.17.21" - resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" - integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== - -longest-streak@^3.0.0: - version "3.1.0" - resolved "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz" - integrity sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g== - -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@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-3.0.0.tgz" - integrity sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ== - -lru-cache@^10.2.0: - version "10.2.2" - resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.2.tgz" - integrity sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ== - -lru-cache@^5.1.1: - version "5.1.1" - resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz" - integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== - dependencies: - yallist "^3.0.2" - -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" - -lunr-languages@^1.4.0: - version "1.14.0" - resolved "https://registry.npmjs.org/lunr-languages/-/lunr-languages-1.14.0.tgz" - integrity sha512-hWUAb2KqM3L7J5bcrngszzISY4BxrXn/Xhbb9TTCJYEGqlR1nG67/M14sp09+PTIRklobrn57IAxcdcO/ZFyNA== - -lunr@^2.3.9: - version "2.3.9" - resolved "https://registry.npmjs.org/lunr/-/lunr-2.3.9.tgz" - integrity sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow== - -magic-string@^0.25.2: - version "0.25.9" - resolved "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz" - integrity sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ== - dependencies: - sourcemap-codec "^1.4.8" - -mark.js@^8.11.1: - version "8.11.1" - resolved "https://registry.npmjs.org/mark.js/-/mark.js-8.11.1.tgz" - integrity sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ== - -markdown-extensions@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/markdown-extensions/-/markdown-extensions-2.0.0.tgz" - integrity sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q== - -markdown-table@^3.0.0: - version "3.0.3" - resolved "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.3.tgz" - integrity sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw== - -md5.js@^1.3.4: - version "1.3.5" - resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" - integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg== - dependencies: - hash-base "^3.0.0" - inherits "^2.0.1" - safe-buffer "^5.1.2" - -mdast-util-definitions@^5.0.0: - version "5.1.2" - resolved "https://registry.yarnpkg.com/mdast-util-definitions/-/mdast-util-definitions-5.1.2.tgz#9910abb60ac5d7115d6819b57ae0bcef07a3f7a7" - integrity sha512-8SVPMuHqlPME/z3gqVwWY4zVXn8lqKv/pAhC57FuJ40ImXyBpmO5ukh98zB2v7Blql2FiHjHv9LVztSIqjY+MA== - dependencies: - "@types/mdast" "^3.0.0" - "@types/unist" "^2.0.0" - unist-util-visit "^4.0.0" - -mdast-util-directive@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/mdast-util-directive/-/mdast-util-directive-3.0.0.tgz" - integrity sha512-JUpYOqKI4mM3sZcNxmF/ox04XYFFkNwr0CFlrQIkCwbvH0xzMCqkMqAde9wRd80VAhaUrwFwKm2nxretdT1h7Q== - dependencies: - "@types/mdast" "^4.0.0" - "@types/unist" "^3.0.0" - devlop "^1.0.0" - mdast-util-from-markdown "^2.0.0" - mdast-util-to-markdown "^2.0.0" - parse-entities "^4.0.0" - stringify-entities "^4.0.0" - unist-util-visit-parents "^6.0.0" - -mdast-util-find-and-replace@^3.0.0, mdast-util-find-and-replace@^3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.1.tgz" - integrity sha512-SG21kZHGC3XRTSUhtofZkBzZTJNM5ecCi0SK2IMKmSXR8vO3peL+kb1O0z7Zl83jKtutG4k5Wv/W7V3/YHvzPA== - dependencies: - "@types/mdast" "^4.0.0" - escape-string-regexp "^5.0.0" - unist-util-is "^6.0.0" - unist-util-visit-parents "^6.0.0" - -mdast-util-from-markdown@^1.0.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/mdast-util-from-markdown/-/mdast-util-from-markdown-1.3.1.tgz#9421a5a247f10d31d2faed2a30df5ec89ceafcf0" - integrity sha512-4xTO/M8c82qBcnQc1tgpNtubGUW/Y1tBQ1B0i5CtSoelOLKFYlElIr3bvgREYYO5iRqbMY1YuqZng0GVOI8Qww== - dependencies: - "@types/mdast" "^3.0.0" - "@types/unist" "^2.0.0" - decode-named-character-reference "^1.0.0" - mdast-util-to-string "^3.1.0" - micromark "^3.0.0" - micromark-util-decode-numeric-character-reference "^1.0.0" - micromark-util-decode-string "^1.0.0" - micromark-util-normalize-identifier "^1.0.0" - micromark-util-symbol "^1.0.0" - micromark-util-types "^1.0.0" - unist-util-stringify-position "^3.0.0" - uvu "^0.5.0" - -mdast-util-from-markdown@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.0.tgz" - integrity sha512-n7MTOr/z+8NAX/wmhhDji8O3bRvPTV/U0oTCaZJkjhPSKTPhS3xufVhKGF8s1pJ7Ox4QgoIU7KHseh09S+9rTA== - dependencies: - "@types/mdast" "^4.0.0" - "@types/unist" "^3.0.0" - decode-named-character-reference "^1.0.0" - devlop "^1.0.0" - mdast-util-to-string "^4.0.0" - micromark "^4.0.0" - micromark-util-decode-numeric-character-reference "^2.0.0" - micromark-util-decode-string "^2.0.0" - micromark-util-normalize-identifier "^2.0.0" - micromark-util-symbol "^2.0.0" - micromark-util-types "^2.0.0" - unist-util-stringify-position "^4.0.0" - -mdast-util-frontmatter@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/mdast-util-frontmatter/-/mdast-util-frontmatter-2.0.1.tgz" - integrity sha512-LRqI9+wdgC25P0URIJY9vwocIzCcksduHQ9OF2joxQoyTNVduwLAFUzjoopuRJbJAReaKrNQKAZKL3uCMugWJA== - dependencies: - "@types/mdast" "^4.0.0" - devlop "^1.0.0" - escape-string-regexp "^5.0.0" - mdast-util-from-markdown "^2.0.0" - mdast-util-to-markdown "^2.0.0" - micromark-extension-frontmatter "^2.0.0" - -mdast-util-gfm-autolink-literal@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-2.0.0.tgz" - integrity sha512-FyzMsduZZHSc3i0Px3PQcBT4WJY/X/RCtEJKuybiC6sjPqLv7h1yqAkmILZtuxMSsUyaLUWNp71+vQH2zqp5cg== - dependencies: - "@types/mdast" "^4.0.0" - ccount "^2.0.0" - devlop "^1.0.0" - mdast-util-find-and-replace "^3.0.0" - micromark-util-character "^2.0.0" - -mdast-util-gfm-footnote@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-2.0.0.tgz" - integrity sha512-5jOT2boTSVkMnQ7LTrd6n/18kqwjmuYqo7JUPe+tRCY6O7dAuTFMtTPauYYrMPpox9hlN0uOx/FL8XvEfG9/mQ== - dependencies: - "@types/mdast" "^4.0.0" - devlop "^1.1.0" - mdast-util-from-markdown "^2.0.0" - mdast-util-to-markdown "^2.0.0" - micromark-util-normalize-identifier "^2.0.0" - -mdast-util-gfm-strikethrough@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-2.0.0.tgz" - integrity sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg== - dependencies: - "@types/mdast" "^4.0.0" - mdast-util-from-markdown "^2.0.0" - mdast-util-to-markdown "^2.0.0" - -mdast-util-gfm-table@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-2.0.0.tgz" - integrity sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg== - dependencies: - "@types/mdast" "^4.0.0" - devlop "^1.0.0" - markdown-table "^3.0.0" - mdast-util-from-markdown "^2.0.0" - mdast-util-to-markdown "^2.0.0" - -mdast-util-gfm-task-list-item@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-2.0.0.tgz" - integrity sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ== - dependencies: - "@types/mdast" "^4.0.0" - devlop "^1.0.0" - mdast-util-from-markdown "^2.0.0" - mdast-util-to-markdown "^2.0.0" - -mdast-util-gfm@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-3.0.0.tgz" - integrity sha512-dgQEX5Amaq+DuUqf26jJqSK9qgixgd6rYDHAv4aTBuA92cTknZlKpPfa86Z/s8Dj8xsAQpFfBmPUHWJBWqS4Bw== - dependencies: - mdast-util-from-markdown "^2.0.0" - mdast-util-gfm-autolink-literal "^2.0.0" - mdast-util-gfm-footnote "^2.0.0" - mdast-util-gfm-strikethrough "^2.0.0" - mdast-util-gfm-table "^2.0.0" - mdast-util-gfm-task-list-item "^2.0.0" - mdast-util-to-markdown "^2.0.0" - -mdast-util-mdx-expression@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-2.0.0.tgz" - integrity sha512-fGCu8eWdKUKNu5mohVGkhBXCXGnOTLuFqOvGMvdikr+J1w7lDJgxThOKpwRWzzbyXAU2hhSwsmssOY4yTokluw== - dependencies: - "@types/estree-jsx" "^1.0.0" - "@types/hast" "^3.0.0" - "@types/mdast" "^4.0.0" - devlop "^1.0.0" - mdast-util-from-markdown "^2.0.0" - mdast-util-to-markdown "^2.0.0" - -mdast-util-mdx-jsx@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-3.0.0.tgz" - integrity sha512-XZuPPzQNBPAlaqsTTgRrcJnyFbSOBovSadFgbFu8SnuNgm+6Bdx1K+IWoitsmj6Lq6MNtI+ytOqwN70n//NaBA== - dependencies: - "@types/estree-jsx" "^1.0.0" - "@types/hast" "^3.0.0" - "@types/mdast" "^4.0.0" - "@types/unist" "^3.0.0" - ccount "^2.0.0" - devlop "^1.1.0" - mdast-util-from-markdown "^2.0.0" - mdast-util-to-markdown "^2.0.0" - parse-entities "^4.0.0" - stringify-entities "^4.0.0" - unist-util-remove-position "^5.0.0" - unist-util-stringify-position "^4.0.0" - vfile-message "^4.0.0" - -mdast-util-mdx@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/mdast-util-mdx/-/mdast-util-mdx-3.0.0.tgz" - integrity sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w== - dependencies: - mdast-util-from-markdown "^2.0.0" - mdast-util-mdx-expression "^2.0.0" - mdast-util-mdx-jsx "^3.0.0" - mdast-util-mdxjs-esm "^2.0.0" - mdast-util-to-markdown "^2.0.0" - -mdast-util-mdxjs-esm@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-2.0.1.tgz" - integrity sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg== - dependencies: - "@types/estree-jsx" "^1.0.0" - "@types/hast" "^3.0.0" - "@types/mdast" "^4.0.0" - devlop "^1.0.0" - mdast-util-from-markdown "^2.0.0" - mdast-util-to-markdown "^2.0.0" - -mdast-util-phrasing@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.0.0.tgz" - integrity sha512-xadSsJayQIucJ9n053dfQwVu1kuXg7jCTdYsMK8rqzKZh52nLfSH/k0sAxE0u+pj/zKZX+o5wB+ML5mRayOxFA== - dependencies: - "@types/mdast" "^4.0.0" - unist-util-is "^6.0.0" - -mdast-util-to-hast@^12.1.0: - version "12.3.0" - resolved "https://registry.yarnpkg.com/mdast-util-to-hast/-/mdast-util-to-hast-12.3.0.tgz#045d2825fb04374e59970f5b3f279b5700f6fb49" - integrity sha512-pits93r8PhnIoU4Vy9bjW39M2jJ6/tdHyja9rrot9uujkN7UTU9SDnE6WNJz/IGyQk3XHX6yNNtrBH6cQzm8Hw== - dependencies: - "@types/hast" "^2.0.0" - "@types/mdast" "^3.0.0" - mdast-util-definitions "^5.0.0" - micromark-util-sanitize-uri "^1.1.0" - trim-lines "^3.0.0" - unist-util-generated "^2.0.0" - unist-util-position "^4.0.0" - unist-util-visit "^4.0.0" - -mdast-util-to-hast@^13.0.0: - version "13.0.2" - resolved "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.0.2.tgz" - integrity sha512-U5I+500EOOw9e3ZrclN3Is3fRpw8c19SMyNZlZ2IS+7vLsNzb2Om11VpIVOR+/0137GhZsFEF6YiKD5+0Hr2Og== - dependencies: - "@types/hast" "^3.0.0" - "@types/mdast" "^4.0.0" - "@ungap/structured-clone" "^1.0.0" - devlop "^1.0.0" - micromark-util-sanitize-uri "^2.0.0" - trim-lines "^3.0.0" - unist-util-position "^5.0.0" - unist-util-visit "^5.0.0" - -mdast-util-to-markdown@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.0.tgz" - integrity sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ== - dependencies: - "@types/mdast" "^4.0.0" - "@types/unist" "^3.0.0" - longest-streak "^3.0.0" - mdast-util-phrasing "^4.0.0" - mdast-util-to-string "^4.0.0" - micromark-util-decode-string "^2.0.0" - unist-util-visit "^5.0.0" - zwitch "^2.0.0" - -mdast-util-to-string@^3.1.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/mdast-util-to-string/-/mdast-util-to-string-3.2.0.tgz#66f7bb6324756741c5f47a53557f0cbf16b6f789" - integrity sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg== - dependencies: - "@types/mdast" "^3.0.0" - -mdast-util-to-string@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz" - integrity sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg== - dependencies: - "@types/mdast" "^4.0.0" - -mdn-data@2.0.28: - version "2.0.28" - resolved "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz" - integrity sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g== - -mdn-data@2.0.30: - version "2.0.30" - resolved "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz" - integrity sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA== - -media-typer@0.3.0: - version "0.3.0" - resolved "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz" - integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ== - -medium-zoom@^1.0.8: - version "1.0.8" - resolved "https://registry.npmjs.org/medium-zoom/-/medium-zoom-1.0.8.tgz" - integrity sha512-CjFVuFq/IfrdqesAXfg+hzlDKu6A2n80ZIq0Kl9kWjoHh9j1N9Uvk5X0/MmN0hOfm5F9YBswlClhcwnmtwz7gA== - -memfs@^3.1.2, memfs@^3.4.3: - version "3.5.3" - resolved "https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz" - integrity sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw== - dependencies: - fs-monkey "^1.0.4" - -merge-descriptors@1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz" - integrity sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w== - -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, merge2@^1.4.1: - 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 sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== - -micromark-core-commonmark@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/micromark-core-commonmark/-/micromark-core-commonmark-1.1.0.tgz#1386628df59946b2d39fb2edfd10f3e8e0a75bb8" - integrity sha512-BgHO1aRbolh2hcrzL2d1La37V0Aoz73ymF8rAcKnohLy93titmv62E0gP8Hrx9PKcKrqCZ1BbLGbP3bEhoXYlw== - dependencies: - decode-named-character-reference "^1.0.0" - micromark-factory-destination "^1.0.0" - micromark-factory-label "^1.0.0" - micromark-factory-space "^1.0.0" - micromark-factory-title "^1.0.0" - micromark-factory-whitespace "^1.0.0" - micromark-util-character "^1.0.0" - micromark-util-chunked "^1.0.0" - micromark-util-classify-character "^1.0.0" - micromark-util-html-tag-name "^1.0.0" - micromark-util-normalize-identifier "^1.0.0" - micromark-util-resolve-all "^1.0.0" - micromark-util-subtokenize "^1.0.0" - micromark-util-symbol "^1.0.0" - micromark-util-types "^1.0.1" - uvu "^0.5.0" - -micromark-core-commonmark@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.0.tgz" - integrity sha512-jThOz/pVmAYUtkroV3D5c1osFXAMv9e0ypGDOIZuCeAe91/sD6BoE2Sjzt30yuXtwOYUmySOhMas/PVyh02itA== - dependencies: - decode-named-character-reference "^1.0.0" - devlop "^1.0.0" - micromark-factory-destination "^2.0.0" - micromark-factory-label "^2.0.0" - micromark-factory-space "^2.0.0" - micromark-factory-title "^2.0.0" - micromark-factory-whitespace "^2.0.0" - micromark-util-character "^2.0.0" - micromark-util-chunked "^2.0.0" - micromark-util-classify-character "^2.0.0" - micromark-util-html-tag-name "^2.0.0" - micromark-util-normalize-identifier "^2.0.0" - micromark-util-resolve-all "^2.0.0" - micromark-util-subtokenize "^2.0.0" - micromark-util-symbol "^2.0.0" - micromark-util-types "^2.0.0" - -micromark-extension-directive@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/micromark-extension-directive/-/micromark-extension-directive-3.0.0.tgz" - integrity sha512-61OI07qpQrERc+0wEysLHMvoiO3s2R56x5u7glHq2Yqq6EHbH4dW25G9GfDdGCDYqA21KE6DWgNSzxSwHc2hSg== - dependencies: - devlop "^1.0.0" - micromark-factory-space "^2.0.0" - micromark-factory-whitespace "^2.0.0" - micromark-util-character "^2.0.0" - micromark-util-symbol "^2.0.0" - micromark-util-types "^2.0.0" - parse-entities "^4.0.0" - -micromark-extension-frontmatter@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/micromark-extension-frontmatter/-/micromark-extension-frontmatter-2.0.0.tgz" - integrity sha512-C4AkuM3dA58cgZha7zVnuVxBhDsbttIMiytjgsM2XbHAB2faRVaHRle40558FBN+DJcrLNCoqG5mlrpdU4cRtg== - dependencies: - fault "^2.0.0" - micromark-util-character "^2.0.0" - micromark-util-symbol "^2.0.0" - micromark-util-types "^2.0.0" - -micromark-extension-gfm-autolink-literal@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.0.0.tgz" - integrity sha512-rTHfnpt/Q7dEAK1Y5ii0W8bhfJlVJFnJMHIPisfPK3gpVNuOP0VnRl96+YJ3RYWV/P4gFeQoGKNlT3RhuvpqAg== - dependencies: - micromark-util-character "^2.0.0" - micromark-util-sanitize-uri "^2.0.0" - micromark-util-symbol "^2.0.0" - micromark-util-types "^2.0.0" - -micromark-extension-gfm-footnote@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-2.0.0.tgz" - integrity sha512-6Rzu0CYRKDv3BfLAUnZsSlzx3ak6HAoI85KTiijuKIz5UxZxbUI+pD6oHgw+6UtQuiRwnGRhzMmPRv4smcz0fg== - dependencies: - devlop "^1.0.0" - micromark-core-commonmark "^2.0.0" - micromark-factory-space "^2.0.0" - micromark-util-character "^2.0.0" - micromark-util-normalize-identifier "^2.0.0" - micromark-util-sanitize-uri "^2.0.0" - micromark-util-symbol "^2.0.0" - micromark-util-types "^2.0.0" - -micromark-extension-gfm-strikethrough@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-2.0.0.tgz" - integrity sha512-c3BR1ClMp5fxxmwP6AoOY2fXO9U8uFMKs4ADD66ahLTNcwzSCyRVU4k7LPV5Nxo/VJiR4TdzxRQY2v3qIUceCw== - dependencies: - devlop "^1.0.0" - micromark-util-chunked "^2.0.0" - micromark-util-classify-character "^2.0.0" - micromark-util-resolve-all "^2.0.0" - micromark-util-symbol "^2.0.0" - micromark-util-types "^2.0.0" - -micromark-extension-gfm-table@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.0.0.tgz" - integrity sha512-PoHlhypg1ItIucOaHmKE8fbin3vTLpDOUg8KAr8gRCF1MOZI9Nquq2i/44wFvviM4WuxJzc3demT8Y3dkfvYrw== - dependencies: - devlop "^1.0.0" - micromark-factory-space "^2.0.0" - micromark-util-character "^2.0.0" - micromark-util-symbol "^2.0.0" - micromark-util-types "^2.0.0" - -micromark-extension-gfm-tagfilter@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-2.0.0.tgz" - integrity sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg== - dependencies: - micromark-util-types "^2.0.0" - -micromark-extension-gfm-task-list-item@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-2.0.1.tgz" - integrity sha512-cY5PzGcnULaN5O7T+cOzfMoHjBW7j+T9D2sucA5d/KbsBTPcYdebm9zUd9zzdgJGCwahV+/W78Z3nbulBYVbTw== - dependencies: - devlop "^1.0.0" - micromark-factory-space "^2.0.0" - micromark-util-character "^2.0.0" - micromark-util-symbol "^2.0.0" - micromark-util-types "^2.0.0" - -micromark-extension-gfm@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-3.0.0.tgz" - integrity sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w== - dependencies: - micromark-extension-gfm-autolink-literal "^2.0.0" - micromark-extension-gfm-footnote "^2.0.0" - micromark-extension-gfm-strikethrough "^2.0.0" - micromark-extension-gfm-table "^2.0.0" - micromark-extension-gfm-tagfilter "^2.0.0" - micromark-extension-gfm-task-list-item "^2.0.0" - micromark-util-combine-extensions "^2.0.0" - micromark-util-types "^2.0.0" - -micromark-extension-mdx-expression@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-3.0.0.tgz" - integrity sha512-sI0nwhUDz97xyzqJAbHQhp5TfaxEvZZZ2JDqUo+7NvyIYG6BZ5CPPqj2ogUoPJlmXHBnyZUzISg9+oUmU6tUjQ== - dependencies: - "@types/estree" "^1.0.0" - devlop "^1.0.0" - micromark-factory-mdx-expression "^2.0.0" - micromark-factory-space "^2.0.0" - micromark-util-character "^2.0.0" - micromark-util-events-to-acorn "^2.0.0" - micromark-util-symbol "^2.0.0" - micromark-util-types "^2.0.0" - -micromark-extension-mdx-jsx@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-3.0.0.tgz" - integrity sha512-uvhhss8OGuzR4/N17L1JwvmJIpPhAd8oByMawEKx6NVdBCbesjH4t+vjEp3ZXft9DwvlKSD07fCeI44/N0Vf2w== - dependencies: - "@types/acorn" "^4.0.0" - "@types/estree" "^1.0.0" - devlop "^1.0.0" - estree-util-is-identifier-name "^3.0.0" - micromark-factory-mdx-expression "^2.0.0" - micromark-factory-space "^2.0.0" - micromark-util-character "^2.0.0" - micromark-util-symbol "^2.0.0" - micromark-util-types "^2.0.0" - vfile-message "^4.0.0" - -micromark-extension-mdx-md@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/micromark-extension-mdx-md/-/micromark-extension-mdx-md-2.0.0.tgz" - integrity sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ== - dependencies: - micromark-util-types "^2.0.0" - -micromark-extension-mdxjs-esm@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/micromark-extension-mdxjs-esm/-/micromark-extension-mdxjs-esm-3.0.0.tgz" - integrity sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A== - dependencies: - "@types/estree" "^1.0.0" - devlop "^1.0.0" - micromark-core-commonmark "^2.0.0" - micromark-util-character "^2.0.0" - micromark-util-events-to-acorn "^2.0.0" - micromark-util-symbol "^2.0.0" - micromark-util-types "^2.0.0" - unist-util-position-from-estree "^2.0.0" - vfile-message "^4.0.0" - -micromark-extension-mdxjs@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/micromark-extension-mdxjs/-/micromark-extension-mdxjs-3.0.0.tgz" - integrity sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ== - dependencies: - acorn "^8.0.0" - acorn-jsx "^5.0.0" - micromark-extension-mdx-expression "^3.0.0" - micromark-extension-mdx-jsx "^3.0.0" - micromark-extension-mdx-md "^2.0.0" - micromark-extension-mdxjs-esm "^3.0.0" - micromark-util-combine-extensions "^2.0.0" - micromark-util-types "^2.0.0" - -micromark-factory-destination@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/micromark-factory-destination/-/micromark-factory-destination-1.1.0.tgz#eb815957d83e6d44479b3df640f010edad667b9f" - integrity sha512-XaNDROBgx9SgSChd69pjiGKbV+nfHGDPVYFs5dOoDd7ZnMAE+Cuu91BCpsY8RT2NP9vo/B8pds2VQNCLiu0zhg== - dependencies: - micromark-util-character "^1.0.0" - micromark-util-symbol "^1.0.0" - micromark-util-types "^1.0.0" - -micromark-factory-destination@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.0.tgz" - integrity sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA== - dependencies: - micromark-util-character "^2.0.0" - micromark-util-symbol "^2.0.0" - micromark-util-types "^2.0.0" - -micromark-factory-label@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/micromark-factory-label/-/micromark-factory-label-1.1.0.tgz#cc95d5478269085cfa2a7282b3de26eb2e2dec68" - integrity sha512-OLtyez4vZo/1NjxGhcpDSbHQ+m0IIGnT8BoPamh+7jVlzLJBH98zzuCoUeMxvM6WsNeh8wx8cKvqLiPHEACn0w== - dependencies: - micromark-util-character "^1.0.0" - micromark-util-symbol "^1.0.0" - micromark-util-types "^1.0.0" - uvu "^0.5.0" - -micromark-factory-label@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.0.tgz" - integrity sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw== - dependencies: - devlop "^1.0.0" - micromark-util-character "^2.0.0" - micromark-util-symbol "^2.0.0" - micromark-util-types "^2.0.0" - -micromark-factory-mdx-expression@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-2.0.1.tgz" - integrity sha512-F0ccWIUHRLRrYp5TC9ZYXmZo+p2AM13ggbsW4T0b5CRKP8KHVRB8t4pwtBgTxtjRmwrK0Irwm7vs2JOZabHZfg== - dependencies: - "@types/estree" "^1.0.0" - devlop "^1.0.0" - micromark-util-character "^2.0.0" - micromark-util-events-to-acorn "^2.0.0" - micromark-util-symbol "^2.0.0" - micromark-util-types "^2.0.0" - unist-util-position-from-estree "^2.0.0" - vfile-message "^4.0.0" - -micromark-factory-space@^1.0.0: - version "1.1.0" - resolved "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-1.1.0.tgz" - integrity sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ== - dependencies: - micromark-util-character "^1.0.0" - micromark-util-types "^1.0.0" - -micromark-factory-space@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.0.tgz" - integrity sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg== - dependencies: - micromark-util-character "^2.0.0" - micromark-util-types "^2.0.0" - -micromark-factory-title@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/micromark-factory-title/-/micromark-factory-title-1.1.0.tgz#dd0fe951d7a0ac71bdc5ee13e5d1465ad7f50ea1" - integrity sha512-J7n9R3vMmgjDOCY8NPw55jiyaQnH5kBdV2/UXCtZIpnHH3P6nHUKaH7XXEYuWwx/xUJcawa8plLBEjMPU24HzQ== - dependencies: - micromark-factory-space "^1.0.0" - micromark-util-character "^1.0.0" - micromark-util-symbol "^1.0.0" - micromark-util-types "^1.0.0" - -micromark-factory-title@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.0.tgz" - integrity sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A== - dependencies: - micromark-factory-space "^2.0.0" - micromark-util-character "^2.0.0" - micromark-util-symbol "^2.0.0" - micromark-util-types "^2.0.0" - -micromark-factory-whitespace@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/micromark-factory-whitespace/-/micromark-factory-whitespace-1.1.0.tgz#798fb7489f4c8abafa7ca77eed6b5745853c9705" - integrity sha512-v2WlmiymVSp5oMg+1Q0N1Lxmt6pMhIHD457whWM7/GUlEks1hI9xj5w3zbc4uuMKXGisksZk8DzP2UyGbGqNsQ== - dependencies: - micromark-factory-space "^1.0.0" - micromark-util-character "^1.0.0" - micromark-util-symbol "^1.0.0" - micromark-util-types "^1.0.0" - -micromark-factory-whitespace@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.0.tgz" - integrity sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA== - dependencies: - micromark-factory-space "^2.0.0" - micromark-util-character "^2.0.0" - micromark-util-symbol "^2.0.0" - micromark-util-types "^2.0.0" - -micromark-util-character@^1.0.0, micromark-util-character@^1.1.0: - version "1.2.0" - resolved "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-1.2.0.tgz" - integrity sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg== - dependencies: - micromark-util-symbol "^1.0.0" - micromark-util-types "^1.0.0" - -micromark-util-character@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.0.1.tgz" - integrity sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw== - dependencies: - micromark-util-symbol "^2.0.0" - micromark-util-types "^2.0.0" - -micromark-util-chunked@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/micromark-util-chunked/-/micromark-util-chunked-1.1.0.tgz#37a24d33333c8c69a74ba12a14651fd9ea8a368b" - integrity sha512-Ye01HXpkZPNcV6FiyoW2fGZDUw4Yc7vT0E9Sad83+bEDiCJ1uXu0S3mr8WLpsz3HaG3x2q0HM6CTuPdcZcluFQ== - dependencies: - micromark-util-symbol "^1.0.0" - -micromark-util-chunked@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.0.tgz" - integrity sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg== - dependencies: - micromark-util-symbol "^2.0.0" - -micromark-util-classify-character@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/micromark-util-classify-character/-/micromark-util-classify-character-1.1.0.tgz#6a7f8c8838e8a120c8e3c4f2ae97a2bff9190e9d" - integrity sha512-SL0wLxtKSnklKSUplok1WQFoGhUdWYKggKUiqhX+Swala+BtptGCu5iPRc+xvzJ4PXE/hwM3FNXsfEVgoZsWbw== - dependencies: - micromark-util-character "^1.0.0" - micromark-util-symbol "^1.0.0" - micromark-util-types "^1.0.0" - -micromark-util-classify-character@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.0.tgz" - integrity sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw== - dependencies: - micromark-util-character "^2.0.0" - micromark-util-symbol "^2.0.0" - micromark-util-types "^2.0.0" - -micromark-util-combine-extensions@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/micromark-util-combine-extensions/-/micromark-util-combine-extensions-1.1.0.tgz#192e2b3d6567660a85f735e54d8ea6e3952dbe84" - integrity sha512-Q20sp4mfNf9yEqDL50WwuWZHUrCO4fEyeDCnMGmG5Pr0Cz15Uo7KBs6jq+dq0EgX4DPwwrh9m0X+zPV1ypFvUA== - dependencies: - micromark-util-chunked "^1.0.0" - micromark-util-types "^1.0.0" - -micromark-util-combine-extensions@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.0.tgz" - integrity sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ== - dependencies: - micromark-util-chunked "^2.0.0" - micromark-util-types "^2.0.0" - -micromark-util-decode-numeric-character-reference@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-1.1.0.tgz#b1e6e17009b1f20bc652a521309c5f22c85eb1c6" - integrity sha512-m9V0ExGv0jB1OT21mrWcuf4QhP46pH1KkfWy9ZEezqHKAxkj4mPCy3nIH1rkbdMlChLHX531eOrymlwyZIf2iw== - dependencies: - micromark-util-symbol "^1.0.0" - -micromark-util-decode-numeric-character-reference@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.1.tgz" - integrity sha512-bmkNc7z8Wn6kgjZmVHOX3SowGmVdhYS7yBpMnuMnPzDq/6xwVA604DuOXMZTO1lvq01g+Adfa0pE2UKGlxL1XQ== - dependencies: - micromark-util-symbol "^2.0.0" - -micromark-util-decode-string@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/micromark-util-decode-string/-/micromark-util-decode-string-1.1.0.tgz#dc12b078cba7a3ff690d0203f95b5d5537f2809c" - integrity sha512-YphLGCK8gM1tG1bd54azwyrQRjCFcmgj2S2GoJDNnh4vYtnL38JS8M4gpxzOPNyHdNEpheyWXCTnnTDY3N+NVQ== - dependencies: - decode-named-character-reference "^1.0.0" - micromark-util-character "^1.0.0" - micromark-util-decode-numeric-character-reference "^1.0.0" - micromark-util-symbol "^1.0.0" - -micromark-util-decode-string@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.0.tgz" - integrity sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA== - dependencies: - decode-named-character-reference "^1.0.0" - micromark-util-character "^2.0.0" - micromark-util-decode-numeric-character-reference "^2.0.0" - micromark-util-symbol "^2.0.0" - -micromark-util-encode@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/micromark-util-encode/-/micromark-util-encode-1.1.0.tgz#92e4f565fd4ccb19e0dcae1afab9a173bbeb19a5" - integrity sha512-EuEzTWSTAj9PA5GOAs992GzNh2dGQO52UvAbtSOMvXTxv3Criqb6IOzJUBCmEqrrXSblJIJBbFFv6zPxpreiJw== - -micromark-util-encode@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.0.tgz" - integrity sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA== - -micromark-util-events-to-acorn@^2.0.0: - version "2.0.2" - resolved "https://registry.npmjs.org/micromark-util-events-to-acorn/-/micromark-util-events-to-acorn-2.0.2.tgz" - integrity sha512-Fk+xmBrOv9QZnEDguL9OI9/NQQp6Hz4FuQ4YmCb/5V7+9eAh1s6AYSvL20kHkD67YIg7EpE54TiSlcsf3vyZgA== - dependencies: - "@types/acorn" "^4.0.0" - "@types/estree" "^1.0.0" - "@types/unist" "^3.0.0" - devlop "^1.0.0" - estree-util-visit "^2.0.0" - micromark-util-symbol "^2.0.0" - micromark-util-types "^2.0.0" - vfile-message "^4.0.0" - -micromark-util-html-tag-name@^1.0.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/micromark-util-html-tag-name/-/micromark-util-html-tag-name-1.2.0.tgz#48fd7a25826f29d2f71479d3b4e83e94829b3588" - integrity sha512-VTQzcuQgFUD7yYztuQFKXT49KghjtETQ+Wv/zUjGSGBioZnkA4P1XXZPT1FHeJA6RwRXSF47yvJ1tsJdoxwO+Q== - -micromark-util-html-tag-name@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.0.tgz" - integrity sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw== - -micromark-util-normalize-identifier@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-1.1.0.tgz#7a73f824eb9f10d442b4d7f120fecb9b38ebf8b7" - integrity sha512-N+w5vhqrBihhjdpM8+5Xsxy71QWqGn7HYNUvch71iV2PM7+E3uWGox1Qp90loa1ephtCxG2ftRV/Conitc6P2Q== - dependencies: - micromark-util-symbol "^1.0.0" - -micromark-util-normalize-identifier@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.0.tgz" - integrity sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w== - dependencies: - micromark-util-symbol "^2.0.0" - -micromark-util-resolve-all@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/micromark-util-resolve-all/-/micromark-util-resolve-all-1.1.0.tgz#4652a591ee8c8fa06714c9b54cd6c8e693671188" - integrity sha512-b/G6BTMSg+bX+xVCshPTPyAu2tmA0E4X98NSR7eIbeC6ycCqCeE7wjfDIgzEbkzdEVJXRtOG4FbEm/uGbCRouA== - dependencies: - micromark-util-types "^1.0.0" - -micromark-util-resolve-all@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.0.tgz" - integrity sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA== - dependencies: - micromark-util-types "^2.0.0" - -micromark-util-sanitize-uri@^1.0.0, micromark-util-sanitize-uri@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-1.2.0.tgz#613f738e4400c6eedbc53590c67b197e30d7f90d" - integrity sha512-QO4GXv0XZfWey4pYFndLUKEAktKkG5kZTdUNaTAkzbuJxn2tNBOr+QtxR2XpWaMhbImT2dPzyLrPXLlPhph34A== - dependencies: - micromark-util-character "^1.0.0" - micromark-util-encode "^1.0.0" - micromark-util-symbol "^1.0.0" - -micromark-util-sanitize-uri@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.0.tgz" - integrity sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw== - dependencies: - micromark-util-character "^2.0.0" - micromark-util-encode "^2.0.0" - micromark-util-symbol "^2.0.0" - -micromark-util-subtokenize@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/micromark-util-subtokenize/-/micromark-util-subtokenize-1.1.0.tgz#941c74f93a93eaf687b9054aeb94642b0e92edb1" - integrity sha512-kUQHyzRoxvZO2PuLzMt2P/dwVsTiivCK8icYTeR+3WgbuPqfHgPPy7nFKbeqRivBvn/3N3GBiNC+JRTMSxEC7A== - dependencies: - micromark-util-chunked "^1.0.0" - micromark-util-symbol "^1.0.0" - micromark-util-types "^1.0.0" - uvu "^0.5.0" - -micromark-util-subtokenize@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.0.0.tgz" - integrity sha512-vc93L1t+gpR3p8jxeVdaYlbV2jTYteDje19rNSS/H5dlhxUYll5Fy6vJ2cDwP8RnsXi818yGty1ayP55y3W6fg== - dependencies: - devlop "^1.0.0" - micromark-util-chunked "^2.0.0" - micromark-util-symbol "^2.0.0" - micromark-util-types "^2.0.0" - -micromark-util-symbol@^1.0.0, micromark-util-symbol@^1.0.1: - version "1.1.0" - resolved "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-1.1.0.tgz" - integrity sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag== - -micromark-util-symbol@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz" - integrity sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw== - -micromark-util-types@^1.0.0, micromark-util-types@^1.0.1: - version "1.1.0" - resolved "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-1.1.0.tgz" - integrity sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg== - -micromark-util-types@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.0.tgz" - integrity sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w== - -micromark@^3.0.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/micromark/-/micromark-3.2.0.tgz#1af9fef3f995ea1ea4ac9c7e2f19c48fd5c006e9" - integrity sha512-uD66tJj54JLYq0De10AhWycZWGQNUvDI55xPgk2sQM5kn1JYlhbCMTtEeT27+vAhW2FBQxLlOmS3pmA7/2z4aA== - dependencies: - "@types/debug" "^4.0.0" - debug "^4.0.0" - decode-named-character-reference "^1.0.0" - micromark-core-commonmark "^1.0.1" - micromark-factory-space "^1.0.0" - micromark-util-character "^1.0.0" - micromark-util-chunked "^1.0.0" - micromark-util-combine-extensions "^1.0.0" - micromark-util-decode-numeric-character-reference "^1.0.0" - micromark-util-encode "^1.0.0" - micromark-util-normalize-identifier "^1.0.0" - micromark-util-resolve-all "^1.0.0" - micromark-util-sanitize-uri "^1.0.0" - micromark-util-subtokenize "^1.0.0" - micromark-util-symbol "^1.0.0" - micromark-util-types "^1.0.1" - uvu "^0.5.0" - -micromark@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/micromark/-/micromark-4.0.0.tgz" - integrity sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ== - dependencies: - "@types/debug" "^4.0.0" - debug "^4.0.0" - decode-named-character-reference "^1.0.0" - devlop "^1.0.0" - micromark-core-commonmark "^2.0.0" - micromark-factory-space "^2.0.0" - micromark-util-character "^2.0.0" - micromark-util-chunked "^2.0.0" - micromark-util-combine-extensions "^2.0.0" - micromark-util-decode-numeric-character-reference "^2.0.0" - micromark-util-encode "^2.0.0" - micromark-util-normalize-identifier "^2.0.0" - micromark-util-resolve-all "^2.0.0" - micromark-util-sanitize-uri "^2.0.0" - micromark-util-subtokenize "^2.0.0" - micromark-util-symbol "^2.0.0" - micromark-util-types "^2.0.0" - -micromatch@^4.0.2, micromatch@^4.0.4, micromatch@^4.0.5: - version "4.0.5" - resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz" - integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== - dependencies: - braces "^3.0.2" - picomatch "^2.3.1" - -miller-rabin@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" - integrity sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA== - dependencies: - bn.js "^4.0.0" - brorand "^1.0.1" - -mime-db@1.51.0: - version "1.51.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.51.0.tgz#d9ff62451859b18342d960850dc3cfb77e63fb0c" - integrity sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g== - -mime-db@1.52.0, "mime-db@>= 1.43.0 < 2": - version "1.52.0" - resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz" - integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== - -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-format@2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/mime-format/-/mime-format-2.0.1.tgz#1274876d58bc803332427a515f5f7036e07b9413" - integrity sha512-XxU3ngPbEnrYnNbIX+lYSaYg0M01v6p2ntd2YaFksTu0vayaw5OJvbdRyWs07EYRlLED5qadUZ+xo+XhOvFhwg== - dependencies: - charset "^1.0.0" - -mime-types@2.1.18, mime-types@~2.1.17: - 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-types@2.1.34: - version "2.1.34" - resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.34.tgz" - integrity sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A== - dependencies: - mime-db "1.51.0" - -mime-types@^2.1.27, mime-types@^2.1.31, mime-types@~2.1.24, mime-types@~2.1.34: - version "2.1.35" - resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz" - integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== - dependencies: - mime-db "1.52.0" - -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@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz" - integrity sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ== - -mimic-response@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/mimic-response/-/mimic-response-4.0.0.tgz" - integrity sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg== - -mini-css-extract-plugin@^2.7.6: - version "2.7.6" - resolved "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.6.tgz" - integrity sha512-Qk7HcgaPkGG6eD77mLvZS1nmxlao3j+9PkrT9Uc7HAE1id3F41+DdBRYRYkbyfNRGzm8/YWtzhw7nVPmwhqTQw== - dependencies: - schema-utils "^4.0.0" - -minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz" - integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== - -minimalistic-crypto-utils@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" - integrity sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg== - -minimatch@3.1.2, minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1: - version "3.1.2" - resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" - integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== - dependencies: - brace-expansion "^1.1.7" - -minimatch@^5.0.1: - version "5.1.6" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.6.tgz#1cfcb8cf5522ea69952cd2af95ae09477f122a96" - integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g== - dependencies: - brace-expansion "^2.0.1" - -minimatch@^9.0.1: - version "9.0.4" - resolved "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz" - integrity sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw== - dependencies: - brace-expansion "^2.0.1" - -minimist@^1.2.0, minimist@^1.2.3: - version "1.2.8" - resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz" - integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== - -"minipass@^5.0.0 || ^6.0.2 || ^7.0.0", minipass@^7.0.4: - version "7.1.0" - resolved "https://registry.npmjs.org/minipass/-/minipass-7.1.0.tgz" - integrity sha512-oGZRv2OT1lO2UF1zUcwdTb3wqUwI0kBGTgt/T7OdSj6M6N5m3o5uPf0AIW6lVxGGoiWUR7e2AwTE+xiwK8WQig== - -mkdirp-classic@^0.5.2, mkdirp-classic@^0.5.3: - version "0.5.3" - resolved "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz" - integrity sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A== - -mri@^1.1.0, mri@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/mri/-/mri-1.2.0.tgz#6721480fec2a11a4889861115a48b6cbe7cc8f0b" - integrity sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA== - -mrmime@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/mrmime/-/mrmime-1.0.1.tgz" - integrity sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw== - -ms@2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" - integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== - -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.1.3: - version "2.1.3" - resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" - integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== - -multicast-dns@^7.2.5: - version "7.2.5" - resolved "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz" - integrity sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg== - dependencies: - dns-packet "^5.2.2" - thunky "^1.0.2" - -mustache@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/mustache/-/mustache-4.2.0.tgz#e5892324d60a12ec9c2a73359edca52972bf6f64" - integrity sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ== - -mz@^2.7.0: - version "2.7.0" - resolved "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz" - integrity sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q== - dependencies: - any-promise "^1.0.0" - object-assign "^4.0.1" - thenify-all "^1.0.0" - -nanoid@^3.3.7: - version "3.3.7" - resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz" - integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== - -napi-build-utils@^1.0.1: - version "1.0.2" - resolved "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz" - integrity sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg== - -negotiator@0.6.3: - version "0.6.3" - resolved "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz" - integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== - -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== - -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-abi@^3.3.0: - version "3.51.0" - resolved "https://registry.npmjs.org/node-abi/-/node-abi-3.51.0.tgz" - integrity sha512-SQkEP4hmNWjlniS5zdnfIXTk1x7Ome85RDzHlTbBtzE97Gfwz/Ipw4v/Ryk20DWIy3yCNVLVlGKApCnmvYoJbA== - dependencies: - semver "^7.3.5" - -node-addon-api@^6.1.0: - version "6.1.0" - resolved "https://registry.npmjs.org/node-addon-api/-/node-addon-api-6.1.0.tgz" - integrity sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA== - -node-emoji@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/node-emoji/-/node-emoji-2.1.0.tgz" - integrity sha512-tcsBm9C6FmPN5Wo7OjFi9lgMyJjvkAeirmjR/ax8Ttfqy4N8PoFic26uqFTIgayHPNI5FH4ltUvfh9kHzwcK9A== - dependencies: - "@sindresorhus/is" "^3.1.2" - char-regex "^1.0.2" - emojilib "^2.4.0" - skin-tone "^2.0.0" - -node-fetch-h2@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/node-fetch-h2/-/node-fetch-h2-2.3.0.tgz#c6188325f9bd3d834020bf0f2d6dc17ced2241ac" - integrity sha512-ofRW94Ab0T4AOh5Fk8t0h8OBWrmjb0SSB20xh1H8YnPV9EJ+f5AMoYSUQ2zgJ4Iq2HAK0I2l5/Nequ8YzFS3Hg== - dependencies: - http2-client "^1.2.5" - -node-fetch@^2.6.1: - version "2.7.0" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.7.0.tgz#d0f0fa6e3e2dc1d27efcd8ad99d550bda94d187d" - integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== - dependencies: - whatwg-url "^5.0.0" - -node-forge@^1: - version "1.3.1" - resolved "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz" - integrity sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA== - -node-polyfill-webpack-plugin@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/node-polyfill-webpack-plugin/-/node-polyfill-webpack-plugin-2.0.1.tgz#141d86f177103a8517c71d99b7c6a46edbb1bb58" - integrity sha512-ZUMiCnZkP1LF0Th2caY6J/eKKoA0TefpoVa68m/LQU1I/mE8rGt4fNYGgNuCcK+aG8P8P43nbeJ2RqJMOL/Y1A== - dependencies: - assert "^2.0.0" - browserify-zlib "^0.2.0" - buffer "^6.0.3" - console-browserify "^1.2.0" - constants-browserify "^1.0.0" - crypto-browserify "^3.12.0" - domain-browser "^4.22.0" - events "^3.3.0" - filter-obj "^2.0.2" - https-browserify "^1.0.0" - os-browserify "^0.3.0" - path-browserify "^1.0.1" - process "^0.11.10" - punycode "^2.1.1" - querystring-es3 "^0.2.1" - readable-stream "^4.0.0" - stream-browserify "^3.0.0" - stream-http "^3.2.0" - string_decoder "^1.3.0" - timers-browserify "^2.0.12" - tty-browserify "^0.0.1" - type-fest "^2.14.0" - url "^0.11.0" - util "^0.12.4" - vm-browserify "^1.1.2" - -node-readfiles@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/node-readfiles/-/node-readfiles-0.2.0.tgz#dbbd4af12134e2e635c245ef93ffcf6f60673a5d" - integrity sha512-SU00ZarexNlE4Rjdm83vglt5Y9yiQ+XI1XpflWlb7q7UTN1JUItm69xMeiQCTxtTfnzt+83T8Cx+vI2ED++VDA== - dependencies: - es6-promise "^3.2.1" - -node-releases@^2.0.14: - version "2.0.14" - resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz" - integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw== - -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 sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA== - -normalize-url@^8.0.0: - version "8.0.0" - resolved "https://registry.npmjs.org/normalize-url/-/normalize-url-8.0.0.tgz" - integrity sha512-uVFpKhj5MheNBJRTiMZ9pE/7hD1QTeEvugSJW/OmLzAp78PB5O6adfMNTvmfKhXBkvCzC+rqifWcVYpGFwTjnw== - -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 sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA== - -nth-check@^2.0.1: - version "2.1.1" - resolved "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz" - integrity sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w== - dependencies: - boolbase "^1.0.0" - -oas-kit-common@^1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/oas-kit-common/-/oas-kit-common-1.0.8.tgz#6d8cacf6e9097967a4c7ea8bcbcbd77018e1f535" - integrity sha512-pJTS2+T0oGIwgjGpw7sIRU8RQMcUoKCDWFLdBqKB2BNmGpbBMH2sdqAaOXUg8OzonZHU0L7vfJu1mJFEiYDWOQ== - dependencies: - fast-safe-stringify "^2.0.7" - -oas-linter@^3.2.2: - version "3.2.2" - resolved "https://registry.yarnpkg.com/oas-linter/-/oas-linter-3.2.2.tgz#ab6a33736313490659035ca6802dc4b35d48aa1e" - integrity sha512-KEGjPDVoU5K6swgo9hJVA/qYGlwfbFx+Kg2QB/kd7rzV5N8N5Mg6PlsoCMohVnQmo+pzJap/F610qTodKzecGQ== - dependencies: - "@exodus/schemasafe" "^1.0.0-rc.2" - should "^13.2.1" - yaml "^1.10.0" - -oas-resolver-browser@2.5.2: - version "2.5.2" - resolved "https://registry.yarnpkg.com/oas-resolver-browser/-/oas-resolver-browser-2.5.2.tgz#d972525a840d7a74ab1aa43e215e9531a99412ba" - integrity sha512-L3ugWyBHOpKLT+lb+pFXCOpk3byh6usis5T9u9mfu92jH5bR6YK8MA2bebUTIjY7I4415PzDeZcmcc+i7X05MA== - dependencies: - node-fetch-h2 "^2.3.0" - oas-kit-common "^1.0.8" - path-browserify "^1.0.1" - reftools "^1.1.6" - yaml "^1.10.0" - yargs "^15.3.1" - -oas-resolver@^2.5.6: - version "2.5.6" - resolved "https://registry.yarnpkg.com/oas-resolver/-/oas-resolver-2.5.6.tgz#10430569cb7daca56115c915e611ebc5515c561b" - integrity sha512-Yx5PWQNZomfEhPPOphFbZKi9W93CocQj18NlD2Pa4GWZzdZpSJvYwoiuurRI7m3SpcChrnO08hkuQDL3FGsVFQ== - dependencies: - node-fetch-h2 "^2.3.0" - oas-kit-common "^1.0.8" - reftools "^1.1.9" - yaml "^1.10.0" - yargs "^17.0.1" - -oas-schema-walker@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/oas-schema-walker/-/oas-schema-walker-1.1.5.tgz#74c3cd47b70ff8e0b19adada14455b5d3ac38a22" - integrity sha512-2yucenq1a9YPmeNExoUa9Qwrt9RFkjqaMAA1X+U7sbb0AqBeTIdMHky9SQQ6iN94bO5NW0W4TRYXerG+BdAvAQ== - -oas-validator@^5.0.8: - version "5.0.8" - resolved "https://registry.yarnpkg.com/oas-validator/-/oas-validator-5.0.8.tgz#387e90df7cafa2d3ffc83b5fb976052b87e73c28" - integrity sha512-cu20/HE5N5HKqVygs3dt94eYJfBi0TsZvPVXDhbXQHiEityDN+RROTleefoKRKKJ9dFAF2JBkDHgvWj0sjKGmw== - dependencies: - call-me-maybe "^1.0.1" - oas-kit-common "^1.0.8" - oas-linter "^3.2.2" - oas-resolver "^2.5.6" - oas-schema-walker "^1.1.5" - reftools "^1.1.9" - should "^13.2.1" - yaml "^1.10.0" - -object-assign@^4.0.1, object-assign@^4.1.1: - version "4.1.1" - resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" - integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== - -object-inspect@^1.13.1: - version "1.13.1" - resolved "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz" - integrity sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ== - -object-is@^1.1.5: - version "1.1.6" - resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.6.tgz#1a6a53aed2dd8f7e6775ff870bea58545956ab07" - integrity sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q== - dependencies: - call-bind "^1.0.7" - define-properties "^1.2.1" - -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.assign@^4.1.0: - version "4.1.4" - resolved "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz" - integrity sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - has-symbols "^1.0.3" - object-keys "^1.1.1" - -object.assign@^4.1.4: - version "4.1.5" - resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.5.tgz#3a833f9ab7fdb80fc9e8d2300c803d216d8fdbb0" - integrity sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ== - dependencies: - call-bind "^1.0.5" - define-properties "^1.2.1" - has-symbols "^1.0.3" - object-keys "^1.1.1" - -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.4.1: - version "2.4.1" - resolved "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz" - integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg== - dependencies: - ee-first "1.1.1" - -on-headers@~1.0.2: - version "1.0.2" - resolved "https://registry.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: - version "1.4.0" - resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz" - integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== - dependencies: - wrappy "1" - -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" - -open@^8.0.9, open@^8.4.0: - version "8.4.2" - resolved "https://registry.npmjs.org/open/-/open-8.4.2.tgz" - integrity sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ== - dependencies: - define-lazy-prop "^2.0.0" - is-docker "^2.1.1" - is-wsl "^2.2.0" - -opener@^1.5.2: - version "1.5.2" - resolved "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz" - integrity sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A== - -os-browserify@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" - integrity sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A== - -os-homedir@^1.0.1: - version "1.0.2" - resolved "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz" - integrity sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ== - -p-cancelable@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/p-cancelable/-/p-cancelable-3.0.0.tgz" - integrity sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw== - -p-limit@^2.0.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-limit@^3.0.2: - 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" - -p-limit@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz" - integrity sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ== - dependencies: - yocto-queue "^1.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-locate@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" - integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== - dependencies: - p-limit "^2.2.0" - -p-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-locate@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz" - integrity sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw== - dependencies: - p-limit "^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" - -p-retry@^4.5.0: - version "4.6.2" - resolved "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz" - integrity sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ== - dependencies: - "@types/retry" "0.12.0" - retry "^0.13.1" - -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@^8.1.0: - version "8.1.1" - resolved "https://registry.npmjs.org/package-json/-/package-json-8.1.1.tgz" - integrity sha512-cbH9IAIJHNj9uXi196JVsRlt7cHKak6u/e6AkL/bkRelZ7rlL3X1YKxsZwa36xipOEKAsdtmaG6aAJoM1fx2zA== - dependencies: - got "^12.1.0" - registry-auth-token "^5.0.1" - registry-url "^6.0.0" - semver "^7.3.7" - -pako@~1.0.5: - version "1.0.11" - resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" - integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== - -param-case@^3.0.4: - 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" - -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" - -parse-asn1@^5.0.0, parse-asn1@^5.1.7: - version "5.1.7" - resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.7.tgz#73cdaaa822125f9647165625eb45f8a051d2df06" - integrity sha512-CTM5kuWR3sx9IFamcl5ErfPl6ea/N8IYwiJ+vpeB2g+1iknv7zBl5uPwbMbRVznRVbrNY6lGuDoE5b30grmbqg== - dependencies: - asn1.js "^4.10.1" - browserify-aes "^1.2.0" - evp_bytestokey "^1.0.3" - hash-base "~3.0" - pbkdf2 "^3.1.2" - safe-buffer "^5.2.1" - -parse-entities@^4.0.0: - version "4.0.1" - resolved "https://registry.npmjs.org/parse-entities/-/parse-entities-4.0.1.tgz" - integrity sha512-SWzvYcSJh4d/SGLIOQfZ/CoNv6BTlI6YEQ7Nj82oDVnRpwe/Z/F1EMx42x3JAOwGBlCjeCH0BRJQbQ/opHL17w== - dependencies: - "@types/unist" "^2.0.0" - character-entities "^2.0.0" - character-entities-legacy "^3.0.0" - character-reference-invalid "^2.0.0" - decode-named-character-reference "^1.0.0" - is-alphanumerical "^2.0.0" - is-decimal "^2.0.0" - is-hexadecimal "^2.0.0" - -parse-json@^5.0.0, parse-json@^5.2.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.3.0: - version "1.3.0" - resolved "https://registry.npmjs.org/parse-numeric-range/-/parse-numeric-range-1.3.0.tgz" - integrity sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ== - -parse5-htmlparser2-tree-adapter@^7.0.0: - version "7.0.0" - resolved "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz" - integrity sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g== - dependencies: - domhandler "^5.0.2" - parse5 "^7.0.0" - -parse5@^6.0.0: - version "6.0.1" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b" - integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== - -parse5@^7.0.0: - version "7.1.2" - resolved "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz" - integrity sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw== - dependencies: - entities "^4.4.0" - -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" - -path-browserify@1.0.1, path-browserify@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-1.0.1.tgz#d98454a9c3753d5790860f16f68867b9e46be1fd" - integrity sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g== - -path-exists@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz" - integrity sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ== - -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-exists@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz" - integrity sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ== - -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 sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== - -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 sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w== - -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.7: - version "1.0.7" - resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" - integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== - -path-root-regex@^0.1.0: - version "0.1.2" - resolved "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz" - integrity sha512-4GlJ6rZDhQZFE0DPVKh0e9jmZ5egZfxTkp7bcRDuPlJXbAwhxcl2dINPUAsjLdejqaLsCeg8axcLjIbvBjN4pQ== - -path-root@^0.1.1: - version "0.1.1" - resolved "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz" - integrity sha512-QLcPegTHF11axjfojBIoDygmS2E3Lf+8+jI6wOVmNVenrKSo3mFdSGiIgdSHenczw3wPtlVMQaFVwGmM7BJdtg== - dependencies: - path-root-regex "^0.1.0" - -path-scurry@^1.10.2: - version "1.10.2" - resolved "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.2.tgz" - integrity sha512-7xTavNy5RQXnsjANvVvMkEjvloOinkAjv/Z6Ildz9v2RinZ4SBKTWFOVRbaF8p0vpHnyjV/UwNDdKuUv6M5qcA== - dependencies: - lru-cache "^10.2.0" - minipass "^5.0.0 || ^6.0.2 || ^7.0.0" - -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 sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ== - -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-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-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== - -path@^0.12.7: - version "0.12.7" - resolved "https://registry.yarnpkg.com/path/-/path-0.12.7.tgz#d4dc2a506c4ce2197eb481ebfcd5b36c0140b10f" - integrity sha512-aXXC6s+1w7otVF9UletFkFcDsJeO7lSZBPUQhtb5O0xJe8LtYhj/GxldoL09bBj9+ZmE2hNoHqQSFMN5fikh4Q== - dependencies: - process "^0.11.1" - util "^0.10.3" - -pbkdf2@^3.0.3, pbkdf2@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.2.tgz#dd822aa0887580e52f1a039dc3eda108efae3075" - integrity sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA== - dependencies: - create-hash "^1.1.2" - create-hmac "^1.1.4" - ripemd160 "^2.0.1" - safe-buffer "^5.0.1" - sha.js "^2.4.8" - -periscopic@^3.0.0: - version "3.1.0" - resolved "https://registry.npmjs.org/periscopic/-/periscopic-3.1.0.tgz" - integrity sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw== - dependencies: - "@types/estree" "^1.0.0" - estree-walker "^3.0.0" - is-reference "^3.0.0" - -picocolors@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz" - integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== - -picocolors@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.1.tgz#a8ad579b571952f0e5d25892de5445bcfe25aaa1" - integrity sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew== - -picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3, picomatch@^2.3.1: - version "2.3.1" - resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" - integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== - -picomatch@^3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/picomatch/-/picomatch-3.0.1.tgz" - integrity sha512-I3EurrIQMlRc9IaAZnqRR044Phh2DXY+55o7uJ0V+hYZAcQYSuFWsc9q5PvyDHUSCe1Qxn/iBz+78s86zWnGag== - -pirates@^4.0.1: - version "4.0.6" - resolved "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz" - integrity sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg== - -pkg-dir@^7.0.0: - version "7.0.0" - resolved "https://registry.npmjs.org/pkg-dir/-/pkg-dir-7.0.0.tgz" - integrity sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA== - dependencies: - find-up "^6.3.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" - -pluralize@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-8.0.0.tgz#1a6fa16a38d12a1901e0320fa017051c539ce3b1" - integrity sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA== - -possible-typed-array-names@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz#89bb63c6fada2c3e90adc4a647beeeb39cc7bf8f" - integrity sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q== - -postcss-calc@^9.0.1: - version "9.0.1" - resolved "https://registry.npmjs.org/postcss-calc/-/postcss-calc-9.0.1.tgz" - integrity sha512-TipgjGyzP5QzEhsOZUaIkeO5mKeMFpebWzRogWG/ysonUlnHcq5aJe0jOjpfzUU8PeSaBQnrE8ehR0QA5vs8PQ== - dependencies: - postcss-selector-parser "^6.0.11" - postcss-value-parser "^4.2.0" - -postcss-colormin@^6.1.0: - version "6.1.0" - resolved "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-6.1.0.tgz" - integrity sha512-x9yX7DOxeMAR+BgGVnNSAxmAj98NX/YxEMNFP+SDCEeNLb2r3i6Hh1ksMsnW8Ub5SLCpbescQqn9YEbE9554Sw== - dependencies: - browserslist "^4.23.0" - caniuse-api "^3.0.0" - colord "^2.9.3" - postcss-value-parser "^4.2.0" - -postcss-convert-values@^6.1.0: - version "6.1.0" - resolved "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-6.1.0.tgz" - integrity sha512-zx8IwP/ts9WvUM6NkVSkiU902QZL1bwPhaVaLynPtCsOTqp+ZKbNi+s6XJg3rfqpKGA/oc7Oxk5t8pOQJcwl/w== - dependencies: - browserslist "^4.23.0" - postcss-value-parser "^4.2.0" - -postcss-discard-comments@^6.0.2: - version "6.0.2" - resolved "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-6.0.2.tgz" - integrity sha512-65w/uIqhSBBfQmYnG92FO1mWZjJ4GL5b8atm5Yw2UgrwD7HiNiSSNwJor1eCFGzUgYnN/iIknhNRVqjrrpuglw== - -postcss-discard-duplicates@^6.0.3: - version "6.0.3" - resolved "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-6.0.3.tgz" - integrity sha512-+JA0DCvc5XvFAxwx6f/e68gQu/7Z9ud584VLmcgto28eB8FqSFZwtrLwB5Kcp70eIoWP/HXqz4wpo8rD8gpsTw== - -postcss-discard-empty@^6.0.3: - version "6.0.3" - resolved "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-6.0.3.tgz" - integrity sha512-znyno9cHKQsK6PtxL5D19Fj9uwSzC2mB74cpT66fhgOadEUPyXFkbgwm5tvc3bt3NAy8ltE5MrghxovZRVnOjQ== - -postcss-discard-overridden@^6.0.2: - version "6.0.2" - resolved "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-6.0.2.tgz" - integrity sha512-j87xzI4LUggC5zND7KdjsI25APtyMuynXZSujByMaav2roV6OZX+8AaCUcZSWqckZpjAjRyFDdpqybgjFO0HJQ== - -postcss-discard-unused@^6.0.5: - version "6.0.5" - resolved "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-6.0.5.tgz" - integrity sha512-wHalBlRHkaNnNwfC8z+ppX57VhvS+HWgjW508esjdaEYr3Mx7Gnn2xA4R/CKf5+Z9S5qsqC+Uzh4ueENWwCVUA== - dependencies: - postcss-selector-parser "^6.0.16" - -postcss-loader@^7.3.3: - version "7.3.3" - resolved "https://registry.npmjs.org/postcss-loader/-/postcss-loader-7.3.3.tgz" - integrity sha512-YgO/yhtevGO/vJePCQmTxiaEwER94LABZN0ZMT4A0vsak9TpO+RvKRs7EmJ8peIlB9xfXCsS7M8LjqncsUZ5HA== - dependencies: - cosmiconfig "^8.2.0" - jiti "^1.18.2" - semver "^7.3.8" - -postcss-merge-idents@^6.0.3: - version "6.0.3" - resolved "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-6.0.3.tgz" - integrity sha512-1oIoAsODUs6IHQZkLQGO15uGEbK3EAl5wi9SS8hs45VgsxQfMnxvt+L+zIr7ifZFIH14cfAeVe2uCTa+SPRa3g== - dependencies: - cssnano-utils "^4.0.2" - postcss-value-parser "^4.2.0" - -postcss-merge-longhand@^6.0.5: - version "6.0.5" - resolved "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-6.0.5.tgz" - integrity sha512-5LOiordeTfi64QhICp07nzzuTDjNSO8g5Ksdibt44d+uvIIAE1oZdRn8y/W5ZtYgRH/lnLDlvi9F8btZcVzu3w== - dependencies: - postcss-value-parser "^4.2.0" - stylehacks "^6.1.1" - -postcss-merge-rules@^6.1.1: - version "6.1.1" - resolved "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-6.1.1.tgz" - integrity sha512-KOdWF0gju31AQPZiD+2Ar9Qjowz1LTChSjFFbS+e2sFgc4uHOp3ZvVX4sNeTlk0w2O31ecFGgrFzhO0RSWbWwQ== - dependencies: - browserslist "^4.23.0" - caniuse-api "^3.0.0" - cssnano-utils "^4.0.2" - postcss-selector-parser "^6.0.16" - -postcss-minify-font-values@^6.1.0: - version "6.1.0" - resolved "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-6.1.0.tgz" - integrity sha512-gklfI/n+9rTh8nYaSJXlCo3nOKqMNkxuGpTn/Qm0gstL3ywTr9/WRKznE+oy6fvfolH6dF+QM4nCo8yPLdvGJg== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-minify-gradients@^6.0.3: - version "6.0.3" - resolved "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-6.0.3.tgz" - integrity sha512-4KXAHrYlzF0Rr7uc4VrfwDJ2ajrtNEpNEuLxFgwkhFZ56/7gaE4Nr49nLsQDZyUe+ds+kEhf+YAUolJiYXF8+Q== - dependencies: - colord "^2.9.3" - cssnano-utils "^4.0.2" - postcss-value-parser "^4.2.0" - -postcss-minify-params@^6.1.0: - version "6.1.0" - resolved "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-6.1.0.tgz" - integrity sha512-bmSKnDtyyE8ujHQK0RQJDIKhQ20Jq1LYiez54WiaOoBtcSuflfK3Nm596LvbtlFcpipMjgClQGyGr7GAs+H1uA== - dependencies: - browserslist "^4.23.0" - cssnano-utils "^4.0.2" - postcss-value-parser "^4.2.0" - -postcss-minify-selectors@^6.0.4: - version "6.0.4" - resolved "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-6.0.4.tgz" - integrity sha512-L8dZSwNLgK7pjTto9PzWRoMbnLq5vsZSTu8+j1P/2GB8qdtGQfn+K1uSvFgYvgh83cbyxT5m43ZZhUMTJDSClQ== - dependencies: - postcss-selector-parser "^6.0.16" - -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.3: - version "4.0.3" - resolved "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.3.tgz" - integrity sha512-2/u2zraspoACtrbFRnTijMiQtb4GW4BvatjaG/bCjYQo8kLTdevCUlwuBHx2sCnSyrI3x3qj4ZK1j5LQBgzmwA== - 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@^6.0.2: - version "6.0.2" - resolved "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-6.0.2.tgz" - integrity sha512-a8N9czmdnrjPHa3DeFlwqst5eaL5W8jYu3EBbTTkI5FHkfMhFZh1EGbku6jhHhIzTA6tquI2P42NtZ59M/H/kQ== - -postcss-normalize-display-values@^6.0.2: - version "6.0.2" - resolved "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-6.0.2.tgz" - integrity sha512-8H04Mxsb82ON/aAkPeq8kcBbAtI5Q2a64X/mnRRfPXBq7XeogoQvReqxEfc0B4WPq1KimjezNC8flUtC3Qz6jg== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-normalize-positions@^6.0.2: - version "6.0.2" - resolved "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-6.0.2.tgz" - integrity sha512-/JFzI441OAB9O7VnLA+RtSNZvQ0NCFZDOtp6QPFo1iIyawyXg0YI3CYM9HBy1WvwCRHnPep/BvI1+dGPKoXx/Q== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-normalize-repeat-style@^6.0.2: - version "6.0.2" - resolved "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-6.0.2.tgz" - integrity sha512-YdCgsfHkJ2jEXwR4RR3Tm/iOxSfdRt7jplS6XRh9Js9PyCR/aka/FCb6TuHT2U8gQubbm/mPmF6L7FY9d79VwQ== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-normalize-string@^6.0.2: - version "6.0.2" - resolved "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-6.0.2.tgz" - integrity sha512-vQZIivlxlfqqMp4L9PZsFE4YUkWniziKjQWUtsxUiVsSSPelQydwS8Wwcuw0+83ZjPWNTl02oxlIvXsmmG+CiQ== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-normalize-timing-functions@^6.0.2: - version "6.0.2" - resolved "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-6.0.2.tgz" - integrity sha512-a+YrtMox4TBtId/AEwbA03VcJgtyW4dGBizPl7e88cTFULYsprgHWTbfyjSLyHeBcK/Q9JhXkt2ZXiwaVHoMzA== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-normalize-unicode@^6.1.0: - version "6.1.0" - resolved "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-6.1.0.tgz" - integrity sha512-QVC5TQHsVj33otj8/JD869Ndr5Xcc/+fwRh4HAsFsAeygQQXm+0PySrKbr/8tkDKzW+EVT3QkqZMfFrGiossDg== - dependencies: - browserslist "^4.23.0" - postcss-value-parser "^4.2.0" - -postcss-normalize-url@^6.0.2: - version "6.0.2" - resolved "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-6.0.2.tgz" - integrity sha512-kVNcWhCeKAzZ8B4pv/DnrU1wNh458zBNp8dh4y5hhxih5RZQ12QWMuQrDgPRw3LRl8mN9vOVfHl7uhvHYMoXsQ== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-normalize-whitespace@^6.0.2: - version "6.0.2" - resolved "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-6.0.2.tgz" - integrity sha512-sXZ2Nj1icbJOKmdjXVT9pnyHQKiSAyuNQHSgRCUgThn2388Y9cGVDR+E9J9iAYbSbLHI+UUwLVl1Wzco/zgv0Q== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-ordered-values@^6.0.2: - version "6.0.2" - resolved "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-6.0.2.tgz" - integrity sha512-VRZSOB+JU32RsEAQrO94QPkClGPKJEL/Z9PCBImXMhIeK5KAYo6slP/hBYlLgrCjFxyqvn5VC81tycFEDBLG1Q== - dependencies: - cssnano-utils "^4.0.2" - postcss-value-parser "^4.2.0" - -postcss-reduce-idents@^6.0.3: - version "6.0.3" - resolved "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-6.0.3.tgz" - integrity sha512-G3yCqZDpsNPoQgbDUy3T0E6hqOQ5xigUtBQyrmq3tn2GxlyiL0yyl7H+T8ulQR6kOcHJ9t7/9H4/R2tv8tJbMA== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-reduce-initial@^6.1.0: - version "6.1.0" - resolved "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-6.1.0.tgz" - integrity sha512-RarLgBK/CrL1qZags04oKbVbrrVK2wcxhvta3GCxrZO4zveibqbRPmm2VI8sSgCXwoUHEliRSbOfpR0b/VIoiw== - dependencies: - browserslist "^4.23.0" - caniuse-api "^3.0.0" - -postcss-reduce-transforms@^6.0.2: - version "6.0.2" - resolved "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-6.0.2.tgz" - integrity sha512-sB+Ya++3Xj1WaT9+5LOOdirAxP7dJZms3GRcYheSPi1PiTMigsxHAdkrbItHxwYHr4kt1zL7mmcHstgMYT+aiA== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-selector-parser@^6.0.11, postcss-selector-parser@^6.0.16, postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4: - version "6.0.16" - resolved "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.16.tgz" - integrity sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw== - dependencies: - cssesc "^3.0.0" - util-deprecate "^1.0.2" - -postcss-sort-media-queries@^5.2.0: - version "5.2.0" - resolved "https://registry.npmjs.org/postcss-sort-media-queries/-/postcss-sort-media-queries-5.2.0.tgz" - integrity sha512-AZ5fDMLD8SldlAYlvi8NIqo0+Z8xnXU2ia0jxmuhxAU+Lqt9K+AlmLNJ/zWEnE9x+Zx3qL3+1K20ATgNOr3fAA== - dependencies: - sort-css-media-queries "2.2.0" - -postcss-svgo@^6.0.3: - version "6.0.3" - resolved "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-6.0.3.tgz" - integrity sha512-dlrahRmxP22bX6iKEjOM+c8/1p+81asjKT+V5lrgOH944ryx/OHpclnIbGsKVd3uWOXFLYJwCVf0eEkJGvO96g== - dependencies: - postcss-value-parser "^4.2.0" - svgo "^3.2.0" - -postcss-unique-selectors@^6.0.4: - version "6.0.4" - resolved "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-6.0.4.tgz" - integrity sha512-K38OCaIrO8+PzpArzkLKB42dSARtC2tmG6PvD4b1o1Q2E9Os8jzfWFfSy/rixsHwohtsDdFtAWGjFVFUdwYaMg== - dependencies: - postcss-selector-parser "^6.0.16" - -postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0: - version "4.2.0" - resolved "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz" - integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== - -postcss-zindex@^6.0.2: - version "6.0.2" - resolved "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-6.0.2.tgz" - integrity sha512-5BxW9l1evPB/4ZIc+2GobEBoKC+h8gPGCMi+jxsYvd2x0mjq7wazk6DrP71pStqxE9Foxh5TVnonbWpFZzXaYg== - -postcss@^8.4.21, postcss@^8.4.24, postcss@^8.4.26, postcss@^8.4.38: - version "8.4.38" - resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz" - integrity sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A== - dependencies: - nanoid "^3.3.7" - picocolors "^1.0.0" - source-map-js "^1.2.0" - -postman-url-encoder@3.0.5: - version "3.0.5" - resolved "https://registry.yarnpkg.com/postman-url-encoder/-/postman-url-encoder-3.0.5.tgz#af2efee3bb7644e2b059d8a78bc8070fae0467a5" - integrity sha512-jOrdVvzUXBC7C+9gkIkpDJ3HIxOHTIqjpQ4C1EMt1ZGeMvSEpbFCKq23DEfgsj46vMnDgyQf+1ZLp2Wm+bKSsA== - dependencies: - punycode "^2.1.1" - -prebuild-install@^7.1.1: - version "7.1.1" - resolved "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.1.tgz" - integrity sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw== - dependencies: - detect-libc "^2.0.0" - expand-template "^2.0.3" - github-from-package "0.0.0" - minimist "^1.2.3" - mkdirp-classic "^0.5.3" - napi-build-utils "^1.0.1" - node-abi "^3.3.0" - pump "^3.0.0" - rc "^1.2.7" - simple-get "^4.0.0" - tar-fs "^2.0.0" - tunnel-agent "^0.6.0" - -prettier@^3.3.2: - version "3.3.2" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.3.2.tgz#03ff86dc7c835f2d2559ee76876a3914cec4a90a" - integrity sha512-rAVeHYMcv8ATV5d508CFdn+8/pHPpXeIid1DdrPwXnaAdH7cqjVbpJaT5eq4yRAFU/lsbwYwSF/n5iNrdJHPQA== - -pretty-error@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz" - integrity sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw== - dependencies: - lodash "^4.17.20" - renderkid "^3.0.0" - -pretty-quick@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/pretty-quick/-/pretty-quick-4.0.0.tgz" - integrity sha512-M+2MmeufXb/M7Xw3Afh1gxcYpj+sK0AxEfnfF958ktFeAyi5MsKY5brymVURQLgPLV1QaF5P4pb2oFJ54H3yzQ== - dependencies: - execa "^5.1.1" - find-up "^5.0.0" - ignore "^5.3.0" - mri "^1.2.0" - picocolors "^1.0.0" - picomatch "^3.0.1" - tslib "^2.6.2" - -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@^2.0.6, prism-react-renderer@^2.3.0, prism-react-renderer@^2.3.1: - version "2.3.1" - resolved "https://registry.npmjs.org/prism-react-renderer/-/prism-react-renderer-2.3.1.tgz" - integrity sha512-Rdf+HzBLR7KYjzpJ1rSoxT9ioO85nZngQEoFIhL07XhtJHlCU3SOz0GJ6+qvMyQe0Se+BV3qpe6Yd/NmQF5Juw== - dependencies: - "@types/prismjs" "^1.26.0" - clsx "^2.0.0" - -prismjs@^1.29.0: - version "1.29.0" - resolved "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz" - integrity sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q== - -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== - -process@^0.11.1, process@^0.11.10: - version "0.11.10" - resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" - integrity sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A== - -prompts@^2.4.2: - version "2.4.2" - resolved "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz" - integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q== - dependencies: - kleur "^3.0.3" - sisteransi "^1.0.5" - -prop-types@^15.0.0, prop-types@^15.6.2, prop-types@^15.7.2: - version "15.8.1" - resolved "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz" - integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== - dependencies: - loose-envify "^1.4.0" - object-assign "^4.1.1" - react-is "^16.13.1" - -property-information@^6.0.0: - version "6.4.0" - resolved "https://registry.npmjs.org/property-information/-/property-information-6.4.0.tgz" - integrity sha512-9t5qARVofg2xQqKtytzt+lZ4d1Qvj8t5B8fEwXK6qOfgRLgH/b13QlgEyDh033NOS31nXeFbYv7CLUDG1CeifQ== - -proto-list@~1.2.1: - version "1.2.4" - resolved "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz" - integrity sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA== - -proxy-addr@~2.0.7: - version "2.0.7" - resolved "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz" - integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== - dependencies: - forwarded "0.2.0" - ipaddr.js "1.9.1" - -public-encrypt@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0" - integrity sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q== - dependencies: - bn.js "^4.1.0" - browserify-rsa "^4.0.0" - create-hash "^1.1.0" - parse-asn1 "^5.0.0" - randombytes "^2.0.1" - safe-buffer "^5.1.2" - -pump@^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, punycode@^1.4.1: - version "1.4.1" - resolved "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz" - integrity sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ== - -punycode@^2.1.0, punycode@^2.1.1: - version "2.3.1" - resolved "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz" - integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== - -pupa@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/pupa/-/pupa-3.1.0.tgz" - integrity sha512-FLpr4flz5xZTSJxSeaheeMKN/EDzMdK7b8PTOC6a5PYFKTucWbdqjgqaEyH0shFiSJrVB1+Qqi4Tk19ccU6Aug== - dependencies: - escape-goat "^4.0.0" - -qs@6.11.0: - version "6.11.0" - resolved "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz" - integrity sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q== - dependencies: - side-channel "^1.0.4" - -qs@^6.11.2: - version "6.12.1" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.12.1.tgz#39422111ca7cbdb70425541cba20c7d7b216599a" - integrity sha512-zWmv4RSuB9r2mYQw3zxQuHWeU+42aKi1wWig/j4ele4ygELZ7PEO6MM7rim9oAQH2A5MWfsAVf/jPvTPgCbvUQ== - dependencies: - side-channel "^1.0.6" - -querystring-es3@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" - integrity sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA== - -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== - -queue-tick@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/queue-tick/-/queue-tick-1.0.1.tgz" - integrity sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag== - -queue@6.0.2: - version "6.0.2" - resolved "https://registry.npmjs.org/queue/-/queue-6.0.2.tgz" - integrity sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA== - dependencies: - inherits "~2.0.3" - -quick-lru@^5.1.1: - version "5.1.1" - resolved "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz" - integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== - -randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, 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" - -randomfill@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458" - integrity sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw== - dependencies: - randombytes "^2.0.5" - safe-buffer "^5.1.0" - -range-parser@1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz" - integrity sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A== - -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== - -raw-body@2.5.2: - version "2.5.2" - resolved "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz" - integrity sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA== - dependencies: - bytes "3.1.2" - http-errors "2.0.0" - iconv-lite "0.4.24" - unpipe "1.0.0" - -rc@1.2.8, rc@^1.2.7: - 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-dev-utils@^12.0.1: - version "12.0.1" - resolved "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-12.0.1.tgz" - integrity sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ== - dependencies: - "@babel/code-frame" "^7.16.0" - address "^1.1.2" - browserslist "^4.18.1" - chalk "^4.1.2" - cross-spawn "^7.0.3" - detect-port-alt "^1.1.6" - escape-string-regexp "^4.0.0" - filesize "^8.0.6" - find-up "^5.0.0" - fork-ts-checker-webpack-plugin "^6.5.0" - global-modules "^2.0.0" - globby "^11.0.4" - gzip-size "^6.0.0" - immer "^9.0.7" - is-root "^2.1.0" - loader-utils "^3.2.0" - open "^8.4.0" - pkg-up "^3.1.0" - prompts "^2.4.2" - react-error-overlay "^6.0.11" - recursive-readdir "^2.2.2" - shell-quote "^1.7.3" - strip-ansi "^6.0.1" - text-table "^0.2.0" - -react-dom@^18.3.1: - version "18.3.1" - resolved "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz" - integrity sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw== - dependencies: - loose-envify "^1.1.0" - scheduler "^0.23.2" - -react-error-boundary@^3.1.4: - version "3.1.4" - resolved "https://registry.npmjs.org/react-error-boundary/-/react-error-boundary-3.1.4.tgz" - integrity sha512-uM9uPzZJTF6wRQORmSrvOIgt4lJ9MC1sNgEOj2XGsDTRE4kmpWxg7ENK9EWNKJRMAOY9z0MuF4yIfl6gp4sotA== - dependencies: - "@babel/runtime" "^7.12.5" - -react-error-overlay@^6.0.11: - version "6.0.11" - resolved "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.11.tgz" - integrity sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg== - -react-fast-compare@^3.2.0: - version "3.2.2" - resolved "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.2.tgz" - integrity sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ== - -react-helmet-async@*, react-helmet-async@^1.3.0: - version "1.3.0" - resolved "https://registry.npmjs.org/react-helmet-async/-/react-helmet-async-1.3.0.tgz" - integrity sha512-9jZ57/dAn9t3q6hneQS0wukqC2ENOBgMNVEhb/ZG9ZSxUetzVIw4iAmEU38IaVg3QGYauQPhSeUTuIUtFglWpg== - dependencies: - "@babel/runtime" "^7.12.5" - invariant "^2.2.4" - prop-types "^15.7.2" - react-fast-compare "^3.2.0" - shallowequal "^1.1.0" - -react-hook-form@^7.43.8: - version "7.51.5" - resolved "https://registry.yarnpkg.com/react-hook-form/-/react-hook-form-7.51.5.tgz#4afbfb819312db9fea23e8237a3a0d097e128b43" - integrity sha512-J2ILT5gWx1XUIJRETiA7M19iXHlG74+6O3KApzvqB/w8S5NQR7AbU8HVZrMALdmDgWpRPYiZJl0zx8Z4L2mP6Q== - -react-hot-toast@^2.4.0: - version "2.4.1" - resolved "https://registry.npmjs.org/react-hot-toast/-/react-hot-toast-2.4.1.tgz" - integrity sha512-j8z+cQbWIM5LY37pR6uZR6D4LfseplqnuAO4co4u8917hBUvXlEqyP1ZzqVLcqoyUesZZv/ImreoCeHVDpE5pQ== - dependencies: - goober "^2.1.10" - -react-is@^16.13.1, react-is@^16.6.0, react-is@^16.7.0: - version "16.13.1" - resolved "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz" - integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== - -"react-is@^17.0.1 || ^18.0.0": - version "18.2.0" - resolved "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz" - integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== - -react-is@^17.0.2: - version "17.0.2" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" - integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== - -react-is@^18.0.0: - version "18.3.1" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.3.1.tgz#e83557dc12eae63a99e003a46388b1dcbb44db7e" - integrity sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg== - -react-json-view-lite@^1.2.0: - version "1.4.0" - resolved "https://registry.npmjs.org/react-json-view-lite/-/react-json-view-lite-1.4.0.tgz" - integrity sha512-wh6F6uJyYAmQ4fK0e8dSQMEWuvTs2Wr3el3sLD9bambX1+pSWUVXIz1RFaoy3TI1mZ0FqdpKq9YgbgTTgyrmXA== - -react-lifecycles-compat@^3.0.0: - version "3.0.4" - resolved "https://registry.yarnpkg.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362" - integrity sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA== - -react-live@^4.0.0, react-live@^4.1.6: - version "4.1.6" - resolved "https://registry.npmjs.org/react-live/-/react-live-4.1.6.tgz" - integrity sha512-2oq3MADi3rupqZcdoHMrV9p+Eg/92BDds278ZuoOz8d68qw6ct0xZxX89MRxeChrnFHy1XPr8BVknDJNJNdvVw== - dependencies: - prism-react-renderer "^2.0.6" - sucrase "^3.31.0" - use-editable "^2.3.3" - -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@npm:@docusaurus/react-loadable@6.0.0": - version "6.0.0" - resolved "https://registry.npmjs.org/@docusaurus/react-loadable/-/react-loadable-6.0.0.tgz" - integrity sha512-YMMxTUQV/QFSnbgrP3tjDzLHRg7vsbMn8e9HAa8o/1iXoiomo48b7sk/kkmWEuWNDPJVlKSJRB6Y2fHqdJk+SQ== - dependencies: - "@types/react" "*" - -react-magic-dropzone@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/react-magic-dropzone/-/react-magic-dropzone-1.0.1.tgz#bfd25b77b57e7a04aaef0a28910563b707ee54df" - integrity sha512-0BIROPARmXHpk4AS3eWBOsewxoM5ndk2psYP/JmbCq8tz3uR2LIV1XiroZ9PKrmDRMctpW+TvsBCtWasuS8vFA== - -react-markdown@^8.0.1: - version "8.0.7" - resolved "https://registry.yarnpkg.com/react-markdown/-/react-markdown-8.0.7.tgz#c8dbd1b9ba5f1c5e7e5f2a44de465a3caafdf89b" - integrity sha512-bvWbzG4MtOU62XqBx3Xx+zB2raaFFsq4mYiAzfjXJMEz2sixgeAfraA3tvzULF02ZdOMUOKTBFFaZJDDrq+BJQ== - dependencies: - "@types/hast" "^2.0.0" - "@types/prop-types" "^15.0.0" - "@types/unist" "^2.0.0" - comma-separated-tokens "^2.0.0" - hast-util-whitespace "^2.0.0" - prop-types "^15.0.0" - property-information "^6.0.0" - react-is "^18.0.0" - remark-parse "^10.0.0" - remark-rehype "^10.0.0" - space-separated-tokens "^2.0.0" - style-to-object "^0.4.0" - unified "^10.0.0" - unist-util-visit "^4.0.0" - vfile "^5.0.0" - -react-modal@^3.15.1: - version "3.16.1" - resolved "https://registry.yarnpkg.com/react-modal/-/react-modal-3.16.1.tgz#34018528fc206561b1a5467fc3beeaddafb39b2b" - integrity sha512-VStHgI3BVcGo7OXczvnJN7yT2TWHJPDXZWyI/a0ssFNhGZWsPmB8cF0z33ewDXq4VfYMO1vXgiv/g8Nj9NDyWg== - dependencies: - exenv "^1.2.0" - prop-types "^15.7.2" - react-lifecycles-compat "^3.0.0" - warning "^4.0.3" - -react-redux@^7.2.0: - version "7.2.9" - resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-7.2.9.tgz#09488fbb9416a4efe3735b7235055442b042481d" - integrity sha512-Gx4L3uM182jEEayZfRbI/G11ZpYdNAnBs70lFVMNdHJI76XYtR+7m0MN+eAs7UHBPhWXcnFPaS+9owSCJQHNpQ== - dependencies: - "@babel/runtime" "^7.15.4" - "@types/react-redux" "^7.1.20" - hoist-non-react-statics "^3.3.2" - loose-envify "^1.4.0" - prop-types "^15.7.2" - react-is "^17.0.2" - -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.3.4: - version "5.3.4" - resolved "https://registry.npmjs.org/react-router-dom/-/react-router-dom-5.3.4.tgz" - integrity sha512-m4EqFMHv/Ih4kpcBCONHbkT68KoAeHN4p3lAGoNryfHi0dMy0kCzEZakiKRsvg5wHZ/JLrLW8o8KomWiz/qbYQ== - dependencies: - "@babel/runtime" "^7.12.13" - history "^4.9.0" - loose-envify "^1.3.1" - prop-types "^15.6.2" - react-router "5.3.4" - tiny-invariant "^1.0.2" - tiny-warning "^1.0.0" - -react-router@5.3.4, react-router@^5.3.4: - version "5.3.4" - resolved "https://registry.npmjs.org/react-router/-/react-router-5.3.4.tgz" - integrity sha512-Ys9K+ppnJah3QuaRiLxk+jDWOR1MekYQrlytiXxC1RyfbdsZkS5pvKAzCCr031xHixZwpnsYNT5xysdFHQaYsA== - dependencies: - "@babel/runtime" "^7.12.13" - history "^4.9.0" - hoist-non-react-statics "^3.1.0" - loose-envify "^1.3.1" - path-to-regexp "^1.7.0" - prop-types "^15.6.2" - react-is "^16.6.0" - tiny-invariant "^1.0.2" - tiny-warning "^1.0.0" - -react-tooltip@^5.26.4: - version "5.26.4" - resolved "https://registry.npmjs.org/react-tooltip/-/react-tooltip-5.26.4.tgz" - integrity sha512-5WyDrsfw1+6qNVSr3IjqElqJ+cCwE8+44b+HpJ8qRLv7v0a3mcKf8wvv+NfgALFS6QpksGFqTLV2JQ60c+okZQ== - dependencies: - "@floating-ui/dom" "^1.6.1" - classnames "^2.3.0" - -react-waypoint@^10.3.0: - version "10.3.0" - resolved "https://registry.npmjs.org/react-waypoint/-/react-waypoint-10.3.0.tgz" - integrity sha512-iF1y2c1BsoXuEGz08NoahaLFIGI9gTUAAOKip96HUmylRT6DUtpgoBPjk/Y8dfcFVmfVDvUzWjNXpZyKTOV0SQ== - dependencies: - "@babel/runtime" "^7.12.5" - consolidated-events "^1.1.0 || ^2.0.0" - prop-types "^15.0.0" - react-is "^17.0.1 || ^18.0.0" - -react@^18.3.1: - version "18.3.1" - resolved "https://registry.npmjs.org/react/-/react-18.3.1.tgz" - integrity sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ== - dependencies: - loose-envify "^1.1.0" - -readable-stream@^2.0.1, readable-stream@^2.3.8: - version "2.3.8" - resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz" - integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.3" - isarray "~1.0.0" - process-nextick-args "~2.0.0" - safe-buffer "~5.1.1" - string_decoder "~1.1.1" - util-deprecate "~1.0.1" - -readable-stream@^3.0.6, readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.5.0, readable-stream@^3.6.0: - version "3.6.2" - resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz" - integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== - dependencies: - inherits "^2.0.3" - string_decoder "^1.1.1" - util-deprecate "^1.0.1" - -readable-stream@^4.0.0: - version "4.5.2" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-4.5.2.tgz#9e7fc4c45099baeed934bff6eb97ba6cf2729e09" - integrity sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g== - dependencies: - abort-controller "^3.0.0" - buffer "^6.0.3" - events "^3.3.0" - process "^0.11.10" - string_decoder "^1.3.0" - -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.5.0: - version "1.5.0" - resolved "https://registry.npmjs.org/reading-time/-/reading-time-1.5.0.tgz" - integrity sha512-onYyVhBNr4CmAxFsKS7bz+uTLRakypIe4R+5A824vBSkQy/hB3fZepoVEf8OVAxzLvK+H/jm9TzpI3ETSm64Kg== - -rechoir@^0.6.2: - version "0.6.2" - resolved "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz" - integrity sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw== - dependencies: - resolve "^1.1.6" - -recursive-readdir@^2.2.2: - version "2.2.3" - resolved "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.3.tgz" - integrity sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA== - dependencies: - minimatch "^3.0.5" - -redux-thunk@^2.4.2: - version "2.4.2" - resolved "https://registry.yarnpkg.com/redux-thunk/-/redux-thunk-2.4.2.tgz#b9d05d11994b99f7a91ea223e8b04cf0afa5ef3b" - integrity sha512-+P3TjtnP0k/FEjcBL5FZpoovtvrTNT/UXd4/sluaSyrURlSlhLSzEdfsTBW7WsKB6yPvgd7q/iZPICFjW4o57Q== - -redux@^4.0.0, redux@^4.2.1: - version "4.2.1" - resolved "https://registry.yarnpkg.com/redux/-/redux-4.2.1.tgz#c08f4306826c49b5e9dc901dee0452ea8fce6197" - integrity sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w== - dependencies: - "@babel/runtime" "^7.9.2" - -reftools@^1.1.6, reftools@^1.1.9: - version "1.1.9" - resolved "https://registry.yarnpkg.com/reftools/-/reftools-1.1.9.tgz#e16e19f662ccd4648605312c06d34e5da3a2b77e" - integrity sha512-OVede/NQE13xBQ+ob5CKd5KyeJYU2YInb1bmV4nRoOfquZPkAkxuOXicSe1PvqIuZZ4kD13sPKBbR7UFDmli6w== - -regenerate-unicode-properties@^10.1.0: - version "10.1.1" - resolved "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz" - integrity sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q== - dependencies: - regenerate "^1.4.2" - -regenerate-unicode-properties@^9.0.0: - version "9.0.0" - resolved "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-9.0.0.tgz" - integrity sha512-3E12UeNSPfjrgwjkR81m5J7Aw/T55Tu7nUyZVQYCKEOs+2dkxEY+DpPtZzO4YruuiPb7NkYLVcyJC4+zCbk5pA== - dependencies: - regenerate "^1.4.2" - -regenerate@^1.4.2: - 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.14.0: - version "0.14.0" - resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz" - integrity sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA== - -regenerator-transform@^0.15.2: - version "0.15.2" - resolved "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz" - integrity sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg== - dependencies: - "@babel/runtime" "^7.8.4" - -regexpu-core@^4.5.4: - version "4.8.0" - resolved "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.8.0.tgz" - integrity sha512-1F6bYsoYiz6is+oz70NWur2Vlh9KWtswuRuzJOfeYUrfPX2o8n74AnUVaOGDbUqVGO9fNHu48/pjJO4sNVwsOg== - dependencies: - regenerate "^1.4.2" - regenerate-unicode-properties "^9.0.0" - regjsgen "^0.5.2" - regjsparser "^0.7.0" - unicode-match-property-ecmascript "^2.0.0" - unicode-match-property-value-ecmascript "^2.0.0" - -regexpu-core@^5.3.1: - version "5.3.2" - resolved "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz" - integrity sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ== - dependencies: - "@babel/regjsgen" "^0.8.0" - regenerate "^1.4.2" - regenerate-unicode-properties "^10.1.0" - regjsparser "^0.9.1" - unicode-match-property-ecmascript "^2.0.0" - unicode-match-property-value-ecmascript "^2.1.0" - -registry-auth-token@^5.0.1: - version "5.0.2" - resolved "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-5.0.2.tgz" - integrity sha512-o/3ikDxtXaA59BmZuZrJZDJv8NMDGSj+6j6XaeBmHw8eY1i1qd9+6H+LjVvQXx3HN6aRCGa1cUdJ9RaJZUugnQ== - dependencies: - "@pnpm/npm-conf" "^2.1.0" - -registry-url@^6.0.0: - version "6.0.1" - resolved "https://registry.npmjs.org/registry-url/-/registry-url-6.0.1.tgz" - integrity sha512-+crtS5QjFRqFCoQmvGduwYWEBng99ZvmFvF+cUJkGYF1L1BfU8C6Zp9T7f5vPAwyLkUExpvK+ANVZmGU49qi4Q== - dependencies: - rc "1.2.8" - -regjsgen@^0.5.2: - version "0.5.2" - resolved "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz" - integrity sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A== - -regjsparser@^0.7.0: - version "0.7.0" - resolved "https://registry.npmjs.org/regjsparser/-/regjsparser-0.7.0.tgz" - integrity sha512-A4pcaORqmNMDVwUjWoTzuhwMGpP+NykpfqAsEgI1FSH/EzC7lrN5TMd+kN8YCovX+jMpu8eaqXgXPCa0g8FQNQ== - dependencies: - jsesc "~0.5.0" - -regjsparser@^0.9.1: - version "0.9.1" - resolved "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz" - integrity sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ== - dependencies: - jsesc "~0.5.0" - -rehype-raw@^6.1.1: - version "6.1.1" - resolved "https://registry.yarnpkg.com/rehype-raw/-/rehype-raw-6.1.1.tgz#81bbef3793bd7abacc6bf8335879d1b6c868c9d4" - integrity sha512-d6AKtisSRtDRX4aSPsJGTfnzrX2ZkHQLE5kiUuGOeEoLpbEulFF4hj0mLPbsa+7vmguDKOVVEQdHKDSwoaIDsQ== - dependencies: - "@types/hast" "^2.0.0" - hast-util-raw "^7.2.0" - unified "^10.0.0" - -rehype-raw@^7.0.0: - version "7.0.0" - resolved "https://registry.npmjs.org/rehype-raw/-/rehype-raw-7.0.0.tgz" - integrity sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww== - dependencies: - "@types/hast" "^3.0.0" - hast-util-raw "^9.0.0" - vfile "^6.0.0" - -relateurl@^0.2.7: - version "0.2.7" - resolved "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz" - integrity sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog== - -remark-directive@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/remark-directive/-/remark-directive-3.0.0.tgz" - integrity sha512-l1UyWJ6Eg1VPU7Hm/9tt0zKtReJQNOA4+iDMAxTyZNWnJnFlbS/7zhiel/rogTLQ2vMYwDzSJa4BiVNqGlqIMA== - dependencies: - "@types/mdast" "^4.0.0" - mdast-util-directive "^3.0.0" - micromark-extension-directive "^3.0.0" - unified "^11.0.0" - -remark-emoji@^4.0.0: - version "4.0.1" - resolved "https://registry.npmjs.org/remark-emoji/-/remark-emoji-4.0.1.tgz" - integrity sha512-fHdvsTR1dHkWKev9eNyhTo4EFwbUvJ8ka9SgeWkMPYFX4WoI7ViVBms3PjlQYgw5TLvNQso3GUB/b/8t3yo+dg== - dependencies: - "@types/mdast" "^4.0.2" - emoticon "^4.0.1" - mdast-util-find-and-replace "^3.0.1" - node-emoji "^2.1.0" - unified "^11.0.4" - -remark-frontmatter@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/remark-frontmatter/-/remark-frontmatter-5.0.0.tgz" - integrity sha512-XTFYvNASMe5iPN0719nPrdItC9aU0ssC4v14mH1BCi1u0n1gAocqcujWUrByftZTbLhRtiKRyjYTSIOcr69UVQ== - dependencies: - "@types/mdast" "^4.0.0" - mdast-util-frontmatter "^2.0.0" - micromark-extension-frontmatter "^2.0.0" - unified "^11.0.0" - -remark-gfm@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/remark-gfm/-/remark-gfm-4.0.0.tgz" - integrity sha512-U92vJgBPkbw4Zfu/IiW2oTZLSL3Zpv+uI7My2eq8JxKgqraFdU8YUGicEJCEgSbeaG+QDFqIcwwfMTOEelPxuA== - dependencies: - "@types/mdast" "^4.0.0" - mdast-util-gfm "^3.0.0" - micromark-extension-gfm "^3.0.0" - remark-parse "^11.0.0" - remark-stringify "^11.0.0" - unified "^11.0.0" - -remark-mdx@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/remark-mdx/-/remark-mdx-3.0.0.tgz" - integrity sha512-O7yfjuC6ra3NHPbRVxfflafAj3LTwx3b73aBvkEFU5z4PsD6FD4vrqJAkE5iNGLz71GdjXfgRqm3SQ0h0VuE7g== - dependencies: - mdast-util-mdx "^3.0.0" - micromark-extension-mdxjs "^3.0.0" - -remark-parse@^10.0.0: - version "10.0.2" - resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-10.0.2.tgz#ca241fde8751c2158933f031a4e3efbaeb8bc262" - integrity sha512-3ydxgHa/ZQzG8LvC7jTXccARYDcRld3VfcgIIFs7bI6vbRSxJJmzgLEIIoYKyrfhaY+ujuWaf/PJiMZXoiCXgw== - dependencies: - "@types/mdast" "^3.0.0" - mdast-util-from-markdown "^1.0.0" - unified "^10.0.0" - -remark-parse@^11.0.0: - version "11.0.0" - resolved "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz" - integrity sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA== - dependencies: - "@types/mdast" "^4.0.0" - mdast-util-from-markdown "^2.0.0" - micromark-util-types "^2.0.0" - unified "^11.0.0" - -remark-rehype@^10.0.0: - version "10.1.0" - resolved "https://registry.yarnpkg.com/remark-rehype/-/remark-rehype-10.1.0.tgz#32dc99d2034c27ecaf2e0150d22a6dcccd9a6279" - integrity sha512-EFmR5zppdBp0WQeDVZ/b66CWJipB2q2VLNFMabzDSGR66Z2fQii83G5gTBbgGEnEEA0QRussvrFHxk1HWGJskw== - dependencies: - "@types/hast" "^2.0.0" - "@types/mdast" "^3.0.0" - mdast-util-to-hast "^12.1.0" - unified "^10.0.0" - -remark-rehype@^11.0.0: - version "11.0.0" - resolved "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.0.0.tgz" - integrity sha512-vx8x2MDMcxuE4lBmQ46zYUDfcFMmvg80WYX+UNLeG6ixjdCCLcw1lrgAukwBTuOFsS78eoAedHGn9sNM0w7TPw== - dependencies: - "@types/hast" "^3.0.0" - "@types/mdast" "^4.0.0" - mdast-util-to-hast "^13.0.0" - unified "^11.0.0" - vfile "^6.0.0" - -remark-stringify@^11.0.0: - version "11.0.0" - resolved "https://registry.npmjs.org/remark-stringify/-/remark-stringify-11.0.0.tgz" - integrity sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw== - dependencies: - "@types/mdast" "^4.0.0" - mdast-util-to-markdown "^2.0.0" - unified "^11.0.0" - -renderkid@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz" - integrity sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg== - dependencies: - css-select "^4.1.3" - dom-converter "^0.2.0" - htmlparser2 "^6.1.0" - lodash "^4.17.21" - strip-ansi "^6.0.1" - -require-directory@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" - integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== - -require-from-string@^2.0.2: - version "2.0.2" - resolved "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz" - integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== - -"require-like@>= 0.1.1": - version "0.1.2" - resolved "https://registry.npmjs.org/require-like/-/require-like-0.1.2.tgz" - integrity sha512-oyrU88skkMtDdauHDuKVrgR+zuItqr6/c//FXzvmxRGMexSDc6hNvJInGW3LL46n+8b50RykrvwSUIIQH2LQ5A== - -require-main-filename@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" - 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 sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ== - -reselect@^4.1.8: - version "4.1.8" - resolved "https://registry.yarnpkg.com/reselect/-/reselect-4.1.8.tgz#3f5dc671ea168dccdeb3e141236f69f02eaec524" - integrity sha512-ab9EmR80F/zQTMNeneUr4cv+jSwPJgIlvEmVwLerwrWVbpLlBuls9XHzIeTFy4cegU2NHBp3va0LKOzU5qFEYQ== - -resolve-alpn@^1.2.0: - version "1.2.1" - resolved "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz" - integrity sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g== - -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-package-path@^4.0.3: - version "4.0.3" - resolved "https://registry.npmjs.org/resolve-package-path/-/resolve-package-path-4.0.3.tgz" - integrity sha512-SRpNAPW4kewOaNUt8VPqhJ0UMxawMwzJD8V7m1cJfdSTK9ieZwS6K7Dabsm4bmLFM96Z5Y/UznrpG5kt1im8yA== - dependencies: - path-root "^0.1.1" - -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@^1.1.6, resolve@^1.14.2: - version "1.22.8" - resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz" - integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== - dependencies: - is-core-module "^2.13.0" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" - -responselike@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/responselike/-/responselike-3.0.0.tgz" - integrity sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg== - dependencies: - lowercase-keys "^3.0.0" - -retry@^0.13.1: - version "0.13.1" - resolved "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz" - integrity sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg== - -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== - -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" - -ripemd160@^2.0.0, ripemd160@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" - integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== - dependencies: - hash-base "^3.0.0" - inherits "^2.0.1" - -rtl-detect@^1.0.4: - version "1.1.2" - resolved "https://registry.npmjs.org/rtl-detect/-/rtl-detect-1.1.2.tgz" - integrity sha512-PGMBq03+TTG/p/cRB7HCLKJ1MgDIi07+QU1faSjiYRfmY5UsAttV9Hs08jDAHVwcOwmVLcSJkpwyfXszVjWfIQ== - -rtlcss@^4.1.0: - version "4.1.1" - resolved "https://registry.npmjs.org/rtlcss/-/rtlcss-4.1.1.tgz" - integrity sha512-/oVHgBtnPNcggP2aVXQjSy6N1mMAfHg4GSag0QtZBlD5bdDgAHwr4pydqJGd+SUCu9260+Pjqbjwtvu7EMH1KQ== - dependencies: - escalade "^3.1.1" - picocolors "^1.0.0" - postcss "^8.4.21" - 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" - -sade@^1.7.3: - version "1.8.1" - resolved "https://registry.yarnpkg.com/sade/-/sade-1.8.1.tgz#0a78e81d658d394887be57d2a409bf703a3b2701" - integrity sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A== - dependencies: - mri "^1.1.0" - -safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: - 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.1, safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@^5.2.1, 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== - -"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0": - version "2.1.2" - resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz" - integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== - -sass-loader@^10.1.1: - version "10.5.2" - resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-10.5.2.tgz#1ca30534fff296417b853c7597ca3b0bbe8c37d0" - integrity sha512-vMUoSNOUKJILHpcNCCyD23X34gve1TS7Rjd9uXHeKqhvBG39x6XbswFDtpbTElj6XdMFezoWhkh5vtKudf2cgQ== - dependencies: - klona "^2.0.4" - loader-utils "^2.0.0" - neo-async "^2.6.2" - schema-utils "^3.0.0" - semver "^7.3.2" - -sass-loader@^13.3.2: - version "13.3.3" - resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-13.3.3.tgz#60df5e858788cffb1a3215e5b92e9cba61e7e133" - integrity sha512-mt5YN2F1MOZr3d/wBRcZxeFgwgkH44wVc2zohO2YF6JiOMkiXe4BYRZpSu2sO1g71mo/j16txzUhsKZlqjVGzA== - dependencies: - neo-async "^2.6.2" - -sass@^1.58.1: - version "1.77.4" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.77.4.tgz#92059c7bfc56b827c56eb116778d157ec017a5cd" - integrity sha512-vcF3Ckow6g939GMA4PeU7b2K/9FALXk2KF9J87txdHzXbUF9XRQRwSxcAs/fGaTnJeBFd7UoV22j3lzMLdM0Pw== - dependencies: - chokidar ">=3.0.0 <4.0.0" - immutable "^4.0.0" - source-map-js ">=0.6.2 <2.0.0" - -sax@^1.2.4: - version "1.3.0" - resolved "https://registry.npmjs.org/sax/-/sax-1.3.0.tgz" - integrity sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA== - -scheduler@^0.23.2: - version "0.23.2" - resolved "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz" - integrity sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ== - dependencies: - loose-envify "^1.1.0" - -schema-utils@2.7.0: - version "2.7.0" - resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz" - integrity sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A== - dependencies: - "@types/json-schema" "^7.0.4" - ajv "^6.12.2" - ajv-keywords "^3.4.1" - -schema-utils@^3.0.0, schema-utils@^3.1.1, schema-utils@^3.2.0: - version "3.3.0" - resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz" - integrity sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg== - dependencies: - "@types/json-schema" "^7.0.8" - ajv "^6.12.5" - ajv-keywords "^3.5.2" - -schema-utils@^4.0.0, schema-utils@^4.0.1: - version "4.2.0" - resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz" - integrity sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw== - dependencies: - "@types/json-schema" "^7.0.9" - ajv "^8.9.0" - ajv-formats "^2.1.1" - ajv-keywords "^5.1.0" - -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 sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg== - -selfsigned@^2.1.1: - version "2.4.1" - resolved "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz" - integrity sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q== - dependencies: - "@types/node-forge" "^1.3.0" - node-forge "^1" - -semver-diff@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/semver-diff/-/semver-diff-4.0.0.tgz" - integrity sha512-0Ju4+6A8iOnpL/Thra7dZsSlOHYAHIeMxfhWQRI1/VLcT3WDBZKKtQt/QkBOsiIN9ZpuvHE6cGZ0x4glCMmfiA== - dependencies: - semver "^7.3.5" - -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@^6.3.1: - version "6.3.1" - resolved "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz" - integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== - -semver@^7.3.2, semver@^7.3.5, semver@^7.3.7, semver@^7.3.8, semver@^7.5.4: - version "7.5.4" - resolved "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz" - integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== - dependencies: - lru-cache "^6.0.0" - -send@0.18.0: - version "0.18.0" - resolved "https://registry.npmjs.org/send/-/send-0.18.0.tgz" - integrity sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg== - dependencies: - debug "2.6.9" - depd "2.0.0" - destroy "1.2.0" - encodeurl "~1.0.2" - escape-html "~1.0.3" - etag "~1.8.1" - fresh "0.5.2" - http-errors "2.0.0" - mime "1.6.0" - ms "2.1.3" - on-finished "2.4.1" - range-parser "~1.2.1" - statuses "2.0.1" - -serialize-javascript@^6.0.0, serialize-javascript@^6.0.1: - version "6.0.1" - resolved "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz" - integrity sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w== - dependencies: - randombytes "^2.1.0" - -serve-handler@^6.1.5: - version "6.1.5" - resolved "https://registry.npmjs.org/serve-handler/-/serve-handler-6.1.5.tgz" - integrity sha512-ijPFle6Hwe8zfmBxJdE+5fta53fdIY0lHISJvuikXB3VYFafRjMRpOffSPvCYsbKyBA7pvy9oYr/BT1O3EArlg== - dependencies: - bytes "3.0.0" - content-disposition "0.5.2" - fast-url-parser "1.1.3" - mime-types "2.1.18" - minimatch "3.1.2" - path-is-inside "1.0.2" - path-to-regexp "2.2.1" - 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 sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw== - dependencies: - accepts "~1.3.4" - batch "0.6.1" - debug "2.6.9" - escape-html "~1.0.3" - http-errors "~1.6.2" - mime-types "~2.1.17" - parseurl "~1.3.2" - -serve-static@1.15.0: - version "1.15.0" - resolved "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz" - integrity sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g== - dependencies: - encodeurl "~1.0.2" - escape-html "~1.0.3" - parseurl "~1.3.3" - send "0.18.0" - -set-blocking@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" - integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw== - -set-function-length@^1.2.1: - version "1.2.2" - resolved "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz" - integrity sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg== - dependencies: - define-data-property "^1.1.4" - es-errors "^1.3.0" - function-bind "^1.1.2" - get-intrinsic "^1.2.4" - gopd "^1.0.1" - has-property-descriptors "^1.0.2" - -setimmediate@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" - integrity sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA== - -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.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz" - integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== - -sha.js@^2.4.0, sha.js@^2.4.8: - version "2.4.11" - resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" - integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - -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" - -shallowequal@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz" - integrity sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ== - -sharp@^0.32.3: - version "0.32.6" - resolved "https://registry.npmjs.org/sharp/-/sharp-0.32.6.tgz" - integrity sha512-KyLTWwgcR9Oe4d9HwCwNM2l7+J0dUQwn/yf7S0EnTtb0eVS4RxO0eUSvxPtzT4F3SY+C4K6fqdv/DO27sJ/v/w== - dependencies: - color "^4.2.3" - detect-libc "^2.0.2" - node-addon-api "^6.1.0" - prebuild-install "^7.1.1" - semver "^7.5.4" - simple-get "^4.0.1" - tar-fs "^3.0.4" - tunnel-agent "^0.6.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@^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.3, shell-quote@^1.8.1: - version "1.8.1" - resolved "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz" - integrity sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA== - -shelljs@^0.8.5: - version "0.8.5" - resolved "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz" - integrity sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow== - dependencies: - glob "^7.0.0" - interpret "^1.0.0" - rechoir "^0.6.2" - -should-equal@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/should-equal/-/should-equal-2.0.0.tgz#6072cf83047360867e68e98b09d71143d04ee0c3" - integrity sha512-ZP36TMrK9euEuWQYBig9W55WPC7uo37qzAEmbjHz4gfyuXrEUgF8cUvQVO+w+d3OMfPvSRQJ22lSm8MQJ43LTA== - dependencies: - should-type "^1.4.0" - -should-format@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/should-format/-/should-format-3.0.3.tgz#9bfc8f74fa39205c53d38c34d717303e277124f1" - integrity sha512-hZ58adtulAk0gKtua7QxevgUaXTTXxIi8t41L3zo9AHvjXO1/7sdLECuHeIN2SRtYXpNkmhoUP2pdeWgricQ+Q== - dependencies: - should-type "^1.3.0" - should-type-adaptors "^1.0.1" - -should-type-adaptors@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/should-type-adaptors/-/should-type-adaptors-1.1.0.tgz#401e7f33b5533033944d5cd8bf2b65027792e27a" - integrity sha512-JA4hdoLnN+kebEp2Vs8eBe9g7uy0zbRo+RMcU0EsNy+R+k049Ki+N5tT5Jagst2g7EAja+euFuoXFCa8vIklfA== - dependencies: - should-type "^1.3.0" - should-util "^1.0.0" - -should-type@^1.3.0, should-type@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/should-type/-/should-type-1.4.0.tgz#0756d8ce846dfd09843a6947719dfa0d4cff5cf3" - integrity sha512-MdAsTu3n25yDbIe1NeN69G4n6mUnJGtSJHygX3+oN0ZbO3DTiATnf7XnYJdGT42JCXurTb1JI0qOBR65shvhPQ== - -should-util@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/should-util/-/should-util-1.0.1.tgz#fb0d71338f532a3a149213639e2d32cbea8bcb28" - integrity sha512-oXF8tfxx5cDk8r2kYqlkUJzZpDBqVY/II2WhvU0n9Y3XYvAYRmeaf1PvvIvTgPnv4KJ+ES5M0PyDq5Jp+Ygy2g== - -should@^13.2.1: - version "13.2.3" - resolved "https://registry.yarnpkg.com/should/-/should-13.2.3.tgz#96d8e5acf3e97b49d89b51feaa5ae8d07ef58f10" - integrity sha512-ggLesLtu2xp+ZxI+ysJTmNjh2U0TsC+rQ/pfED9bUZZ4DKefP27D+7YJVVTvKsmjLpIi9jAa7itwDGkDDmt1GQ== - dependencies: - should-equal "^2.0.0" - should-format "^3.0.3" - should-type "^1.4.0" - should-type-adaptors "^1.0.1" - should-util "^1.0.0" - -side-channel@^1.0.4, side-channel@^1.0.6: - version "1.0.6" - resolved "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz" - integrity sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA== - dependencies: - call-bind "^1.0.7" - es-errors "^1.3.0" - get-intrinsic "^1.2.4" - object-inspect "^1.13.1" - -signal-exit@^3.0.2, signal-exit@^3.0.3: - version "3.0.7" - resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz" - integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== - -signal-exit@^4.0.1: - version "4.1.0" - resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz" - integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== - -simple-concat@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz" - integrity sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q== - -simple-get@^4.0.0, simple-get@^4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz" - integrity sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA== - dependencies: - decompress-response "^6.0.0" - once "^1.3.1" - simple-concat "^1.0.0" - -simple-swizzle@^0.2.2: - version "0.2.2" - resolved "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz" - integrity sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg== - dependencies: - is-arrayish "^0.3.1" - -sirv@^2.0.3: - version "2.0.3" - resolved "https://registry.npmjs.org/sirv/-/sirv-2.0.3.tgz" - integrity sha512-O9jm9BsID1P+0HOi81VpXPoDxYP374pkOLzACAoyUQ/3OUVndNpsz6wMnY2z+yOxzbllCKZrM+9QrWsv4THnyA== - dependencies: - "@polka/url" "^1.0.0-next.20" - mrmime "^1.0.0" - totalist "^3.0.0" - -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.1.1: - version "7.1.2" - resolved "https://registry.npmjs.org/sitemap/-/sitemap-7.1.2.tgz" - integrity sha512-ARCqzHJ0p4gWt+j7NlU5eDlIO9+Rkr/JhPFZKKQ1l5GCus7rJH4UdrlVAh0xC/gDS/Qir2UMxqYNHtsKr2rpCw== - dependencies: - "@types/node" "^17.0.5" - "@types/sax" "^1.2.1" - arg "^5.0.0" - sax "^1.2.4" - -skin-tone@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/skin-tone/-/skin-tone-2.0.0.tgz" - integrity sha512-kUMbT1oBJCpgrnKoSr0o6wPtvRWT9W9UKvGLwfJYO2WuahZRHOpEyL1ckyMGgMWh0UdpmaoFqKKD29WTomNEGA== - dependencies: - unicode-emoji-modifier-base "^1.0.0" - -slash@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz" - integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== - -slash@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz" - integrity sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew== - -slugify@^1.6.5: - version "1.6.6" - resolved "https://registry.yarnpkg.com/slugify/-/slugify-1.6.6.tgz#2d4ac0eacb47add6af9e04d3be79319cbcc7924b" - integrity sha512-h+z7HKHYXj6wJU+AnS/+IH8Uh9fdcX1Lrhg1/VMdf9PwoBQXFcXiAdsy2tSK0P6gKwJLXp02r90ahUCqHk9rrw== - -snake-case@^3.0.4: - version "3.0.4" - resolved "https://registry.npmjs.org/snake-case/-/snake-case-3.0.4.tgz" - integrity sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg== - dependencies: - dot-case "^3.0.4" - tslib "^2.0.3" - -sockjs@^0.3.24: - version "0.3.24" - resolved "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz" - integrity sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ== - dependencies: - faye-websocket "^0.11.3" - uuid "^8.3.2" - websocket-driver "^0.7.4" - -sort-css-media-queries@2.2.0: - version "2.2.0" - resolved "https://registry.npmjs.org/sort-css-media-queries/-/sort-css-media-queries-2.2.0.tgz" - integrity sha512-0xtkGhWCC9MGt/EzgnvbbbKhqWjl1+/rncmhTh5qCpbYguXh6S/qwePfv/JQ8jePXXmqingylxoC49pCkSPIbA== - -"source-map-js@>=0.6.2 <2.0.0", source-map-js@^1.0.1, source-map-js@^1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz" - integrity sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg== - -source-map-support@~0.5.20: - version "0.5.21" - resolved "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz" - integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map@^0.6.0, source-map@~0.6.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.7.0: - version "0.7.4" - resolved "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz" - integrity sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA== - -sourcemap-codec@^1.4.8: - version "1.4.8" - resolved "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz" - integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA== - -space-separated-tokens@^2.0.0: - version "2.0.2" - resolved "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz" - integrity sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q== - -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" - -sprintf-js@~1.0.2: - version "1.0.3" - resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" - integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== - -srcset@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/srcset/-/srcset-4.0.0.tgz" - integrity sha512-wvLeHgcVHKO8Sc/H/5lkGreJQVeYMm9rlmt8PuR1xE31rIuXhuzznUUqAt8MqLhB3MqJdFzlNAfpcWnxiFUcPw== - -statuses@2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz" - integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== - -"statuses@>= 1.4.0 < 2": - version "1.5.0" - resolved "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz" - integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA== - -std-env@^3.0.1: - version "3.4.3" - resolved "https://registry.npmjs.org/std-env/-/std-env-3.4.3.tgz" - integrity sha512-f9aPhy8fYBuMN+sNfakZV18U39PbalgjXG3lLB9WkaYTxijru61wb57V9wxxNthXM5Sd88ETBWi29qLAsHO52Q== - -stream-browserify@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-3.0.0.tgz#22b0a2850cdf6503e73085da1fc7b7d0c2122f2f" - integrity sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA== - dependencies: - inherits "~2.0.4" - readable-stream "^3.5.0" - -stream-http@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-3.2.0.tgz#1872dfcf24cb15752677e40e5c3f9cc1926028b5" - integrity sha512-Oq1bLqisTyK3TSCXpPbT4sdeYNdmyZJv1LxpEm2vu1ZhK89kSE5YXwZc3cWk0MagGaKriBh9mCFbVGtO+vY29A== - dependencies: - builtin-status-codes "^3.0.0" - inherits "^2.0.4" - readable-stream "^3.6.0" - xtend "^4.0.2" - -streamx@^2.15.0: - version "2.15.2" - resolved "https://registry.npmjs.org/streamx/-/streamx-2.15.2.tgz" - integrity sha512-b62pAV/aeMjUoRN2C/9F0n+G8AfcJjNC0zw/ZmOHeFsIe4m4GzjVW9m6VHXVjk536NbdU9JRwKMJRfkc+zUFTg== - dependencies: - fast-fifo "^1.1.0" - queue-tick "^1.0.1" - -"string-width-cjs@npm:string-width@^4.2.0": - version "4.2.3" - resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" - -string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: - version "4.2.3" - resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" - -string-width@^5.0.1, string-width@^5.1.2: - version "5.1.2" - resolved "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz" - integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== - dependencies: - eastasianwidth "^0.2.0" - emoji-regex "^9.2.2" - strip-ansi "^7.0.1" - -string_decoder@^1.1.1, string_decoder@^1.3.0: - 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" - -stringify-entities@^4.0.0: - version "4.0.3" - resolved "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.3.tgz" - integrity sha512-BP9nNHMhhfcMbiuQKCqMjhDP5yBCAxsPu4pHFFzJ6Alo9dZgY4VLDPutXqIjpRiMoKdp7Av85Gr73Q5uH9k7+g== - dependencies: - character-entities-html4 "^2.0.0" - character-entities-legacy "^3.0.0" - -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-cjs@npm:strip-ansi@^6.0.1": - version "6.0.1" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - -strip-ansi@^6.0.0, strip-ansi@^6.0.1: - version "6.0.1" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - -strip-ansi@^7.0.1: - version "7.1.0" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz" - integrity sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ== - dependencies: - ansi-regex "^6.0.1" - -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 sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g== - -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 sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ== - -style-to-object@^0.4.0: - version "0.4.4" - resolved "https://registry.npmjs.org/style-to-object/-/style-to-object-0.4.4.tgz" - integrity sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg== - dependencies: - inline-style-parser "0.1.1" - -stylehacks@^6.1.1: - version "6.1.1" - resolved "https://registry.npmjs.org/stylehacks/-/stylehacks-6.1.1.tgz" - integrity sha512-gSTTEQ670cJNoaeIp9KX6lZmm8LJ3jPB5yJmX8Zq/wQxOsAFXV3qjWzHas3YYk1qesuVIyYWWUpZ0vSE/dTSGg== - dependencies: - browserslist "^4.23.0" - postcss-selector-parser "^6.0.16" - -sucrase@^3.31.0: - version "3.35.0" - resolved "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz" - integrity sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA== - dependencies: - "@jridgewell/gen-mapping" "^0.3.2" - commander "^4.0.0" - glob "^10.3.10" - lines-and-columns "^1.1.6" - mz "^2.7.0" - pirates "^4.0.1" - ts-interface-checker "^0.1.9" - -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@^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" - -supports-preserve-symlinks-flag@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz" - integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== - -svg-parser@^2.0.4: - version "2.0.4" - resolved "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz" - integrity sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ== - -svgo@^3.0.2, svgo@^3.2.0: - version "3.3.1" - resolved "https://registry.npmjs.org/svgo/-/svgo-3.3.1.tgz" - integrity sha512-xQQTIGRl3gHTO2PFlZFLl+Xwofj+CMOPitfoByGBNAniQnY6SbGgd31u3C8RTqdlqZqYNl9Sb83VXbimVHcU6w== - dependencies: - "@trysound/sax" "0.2.0" - commander "^7.2.0" - css-select "^5.1.0" - css-tree "^2.3.1" - css-what "^6.1.0" - csso "^5.0.5" - picocolors "^1.0.0" - -swagger2openapi@^7.0.8: - version "7.0.8" - resolved "https://registry.yarnpkg.com/swagger2openapi/-/swagger2openapi-7.0.8.tgz#12c88d5de776cb1cbba758994930f40ad0afac59" - integrity sha512-upi/0ZGkYgEcLeGieoz8gT74oWHA0E7JivX7aN9mAf+Tc7BQoRBvnIGHoPDw+f9TXTW4s6kGYCZJtauP6OYp7g== - dependencies: - call-me-maybe "^1.0.1" - node-fetch "^2.6.1" - node-fetch-h2 "^2.3.0" - node-readfiles "^0.2.0" - oas-kit-common "^1.0.8" - oas-resolver "^2.5.6" - oas-schema-walker "^1.1.5" - oas-validator "^5.0.8" - reftools "^1.1.9" - yaml "^1.10.0" - yargs "^17.0.1" - -swr@^2.1.0: - version "2.2.4" - resolved "https://registry.npmjs.org/swr/-/swr-2.2.4.tgz" - integrity sha512-njiZ/4RiIhoOlAaLYDqwz5qH/KZXVilRLvomrx83HjzCWTfa+InyfAjv05PSFxnmLzZkNO9ZfvgoqzAaEI4sGQ== - dependencies: - client-only "^0.0.1" - use-sync-external-store "^1.2.0" - -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.1" - resolved "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz" - integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== - -tar-fs@^2.0.0: - version "2.1.1" - resolved "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz" - integrity sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng== - dependencies: - chownr "^1.1.1" - mkdirp-classic "^0.5.2" - pump "^3.0.0" - tar-stream "^2.1.4" - -tar-fs@^3.0.4: - version "3.0.4" - resolved "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.4.tgz" - integrity sha512-5AFQU8b9qLfZCX9zp2duONhPmZv0hGYiBPJsyUdqMjzq/mqVpy/rEUSeHk1+YitmxugaptgBh5oDGU3VsAJq4w== - dependencies: - mkdirp-classic "^0.5.2" - pump "^3.0.0" - tar-stream "^3.1.5" - -tar-stream@^2.1.4: - version "2.2.0" - resolved "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz" - integrity sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ== - dependencies: - bl "^4.0.3" - end-of-stream "^1.4.1" - fs-constants "^1.0.0" - inherits "^2.0.3" - readable-stream "^3.1.1" - -tar-stream@^3.1.5: - version "3.1.6" - resolved "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.6.tgz" - integrity sha512-B/UyjYwPpMBv+PaFSWAmtYjwdrlEaZQEhMIBFNC5oEG8lpiW8XjcSdmEaClj28ArfKScKHs2nshz3k2le6crsg== - dependencies: - b4a "^1.6.4" - fast-fifo "^1.2.0" - streamx "^2.15.0" - -terser-webpack-plugin@^5.3.10: - version "5.3.10" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz#904f4c9193c6fd2a03f693a2150c62a92f40d199" - integrity sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w== - dependencies: - "@jridgewell/trace-mapping" "^0.3.20" - jest-worker "^27.4.5" - schema-utils "^3.1.1" - serialize-javascript "^6.0.1" - terser "^5.26.0" - -terser-webpack-plugin@^5.3.7, terser-webpack-plugin@^5.3.9: - version "5.3.9" - resolved "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz" - integrity sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA== - dependencies: - "@jridgewell/trace-mapping" "^0.3.17" - jest-worker "^27.4.5" - schema-utils "^3.1.1" - serialize-javascript "^6.0.1" - terser "^5.16.8" - -terser@^5.10.0, terser@^5.15.1, terser@^5.16.8: - version "5.24.0" - resolved "https://registry.npmjs.org/terser/-/terser-5.24.0.tgz" - integrity sha512-ZpGR4Hy3+wBEzVEnHvstMvqpD/nABNelQn/z2r0fjVWGQsN3bpOLzQlqDxmb4CDZnXq5lpjnQ+mHQLAOpfM5iw== - dependencies: - "@jridgewell/source-map" "^0.3.3" - acorn "^8.8.2" - commander "^2.20.0" - source-map-support "~0.5.20" - -terser@^5.26.0: - version "5.31.1" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.31.1.tgz#735de3c987dd671e95190e6b98cfe2f07f3cf0d4" - integrity sha512-37upzU1+viGvuFtBo9NPufCb9dwM0+l9hMxYyWfBA+fbwrPqNJAhbZ6W47bBFnZHKHTUBnMvi87434qq+qnxOg== - dependencies: - "@jridgewell/source-map" "^0.3.3" - acorn "^8.8.2" - commander "^2.20.0" - source-map-support "~0.5.20" - -text-table@^0.2.0: - version "0.2.0" - resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" - integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== - -thenify-all@^1.0.0: - version "1.6.0" - resolved "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz" - integrity sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA== - dependencies: - thenify ">= 3.1.0 < 4" - -"thenify@>= 3.1.0 < 4": - version "3.3.1" - resolved "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz" - integrity sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw== - dependencies: - any-promise "^1.0.0" - -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== - -timers-browserify@^2.0.12: - version "2.0.12" - resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.12.tgz#44a45c11fbf407f34f97bccd1577c652361b00ee" - integrity sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ== - dependencies: - setimmediate "^1.0.4" - -tiny-invariant@^1.0.2: - version "1.3.1" - resolved "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.1.tgz" - integrity sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw== - -tiny-warning@^1.0.0: - 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 sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== - -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" - -toidentifier@1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz" - integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== - -totalist@^3.0.0: - version "3.0.1" - resolved "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz" - integrity sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ== - -tr46@~0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" - integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== - -trim-lines@^3.0.0: - version "3.0.1" - resolved "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz" - integrity sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg== - -trough@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/trough/-/trough-2.1.0.tgz" - integrity sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g== - -ts-interface-checker@^0.1.9: - version "0.1.13" - resolved "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz" - integrity sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA== - -tslib@^2.0.3, tslib@^2.4.0, tslib@^2.6.0, tslib@^2.6.2: - version "2.6.2" - resolved "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz" - integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== - -tty-browserify@^0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.1.tgz#3f05251ee17904dfd0677546670db9651682b811" - integrity sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw== - -tunnel-agent@^0.6.0: - version "0.6.0" - resolved "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz" - integrity sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w== - dependencies: - safe-buffer "^5.0.1" - -type-fest@^1.0.1: - version "1.4.0" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz" - integrity sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA== - -type-fest@^2.13.0, type-fest@^2.14.0, type-fest@^2.5.0: - version "2.19.0" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz" - integrity sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA== - -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@~5.4.5: - version "5.4.5" - resolved "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz" - integrity sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ== - -undici-types@~5.26.4: - version "5.26.5" - resolved "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz" - integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== - -unicode-canonical-property-names-ecmascript@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz" - integrity sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ== - -unicode-emoji-modifier-base@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/unicode-emoji-modifier-base/-/unicode-emoji-modifier-base-1.0.0.tgz" - integrity sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g== - -unicode-match-property-ecmascript@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz" - integrity sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q== - dependencies: - unicode-canonical-property-names-ecmascript "^2.0.0" - unicode-property-aliases-ecmascript "^2.0.0" - -unicode-match-property-value-ecmascript@^2.0.0, unicode-match-property-value-ecmascript@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz" - integrity sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA== - -unicode-property-aliases-ecmascript@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz" - integrity sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w== - -unified@^10.0.0: - version "10.1.2" - resolved "https://registry.yarnpkg.com/unified/-/unified-10.1.2.tgz#b1d64e55dafe1f0b98bb6c719881103ecf6c86df" - integrity sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q== - dependencies: - "@types/unist" "^2.0.0" - bail "^2.0.0" - extend "^3.0.0" - is-buffer "^2.0.0" - is-plain-obj "^4.0.0" - trough "^2.0.0" - vfile "^5.0.0" - -unified@^11.0.0, unified@^11.0.3, unified@^11.0.4: - version "11.0.4" - resolved "https://registry.npmjs.org/unified/-/unified-11.0.4.tgz" - integrity sha512-apMPnyLjAX+ty4OrNap7yumyVAMlKx5IWU2wlzzUdYJO9A8f1p9m/gywF/GM2ZDFcjQPrx59Mc90KwmxsoklxQ== - dependencies: - "@types/unist" "^3.0.0" - bail "^2.0.0" - devlop "^1.0.0" - extend "^3.0.0" - is-plain-obj "^4.0.0" - trough "^2.0.0" - vfile "^6.0.0" - -unique-string@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/unique-string/-/unique-string-3.0.0.tgz" - integrity sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ== - dependencies: - crypto-random-string "^4.0.0" - -unist-util-generated@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/unist-util-generated/-/unist-util-generated-2.0.1.tgz#e37c50af35d3ed185ac6ceacb6ca0afb28a85cae" - integrity sha512-qF72kLmPxAw0oN2fwpWIqbXAVyEqUzDHMsbtPvOudIlUzXYFIeQIuxXQCRCFh22B7cixvU0MG7m3MW8FTq/S+A== - -unist-util-is@^5.0.0: - version "5.2.1" - resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-5.2.1.tgz#b74960e145c18dcb6226bc57933597f5486deae9" - integrity sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw== - dependencies: - "@types/unist" "^2.0.0" - -unist-util-is@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz" - integrity sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw== - dependencies: - "@types/unist" "^3.0.0" - -unist-util-position-from-estree@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/unist-util-position-from-estree/-/unist-util-position-from-estree-2.0.0.tgz" - integrity sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ== - dependencies: - "@types/unist" "^3.0.0" - -unist-util-position@^4.0.0: - version "4.0.4" - resolved "https://registry.yarnpkg.com/unist-util-position/-/unist-util-position-4.0.4.tgz#93f6d8c7d6b373d9b825844645877c127455f037" - integrity sha512-kUBE91efOWfIVBo8xzh/uZQ7p9ffYRtUbMRZBNFYwf0RK8koUMx6dGUfwylLOKmaT2cs4wSW96QoYUSXAyEtpg== - dependencies: - "@types/unist" "^2.0.0" - -unist-util-position@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz" - integrity sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA== - dependencies: - "@types/unist" "^3.0.0" - -unist-util-remove-position@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-5.0.0.tgz" - integrity sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q== - dependencies: - "@types/unist" "^3.0.0" - unist-util-visit "^5.0.0" - -unist-util-stringify-position@^3.0.0: - version "3.0.3" - resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz#03ad3348210c2d930772d64b489580c13a7db39d" - integrity sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg== - dependencies: - "@types/unist" "^2.0.0" - -unist-util-stringify-position@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz" - integrity sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ== - dependencies: - "@types/unist" "^3.0.0" - -unist-util-visit-parents@^5.1.1: - version "5.1.3" - resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-5.1.3.tgz#b4520811b0ca34285633785045df7a8d6776cfeb" - integrity sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg== - dependencies: - "@types/unist" "^2.0.0" - unist-util-is "^5.0.0" - -unist-util-visit-parents@^6.0.0: - version "6.0.1" - resolved "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz" - integrity sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw== - dependencies: - "@types/unist" "^3.0.0" - unist-util-is "^6.0.0" - -unist-util-visit@^4.0.0: - version "4.1.2" - resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-4.1.2.tgz#125a42d1eb876283715a3cb5cceaa531828c72e2" - integrity sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg== - dependencies: - "@types/unist" "^2.0.0" - unist-util-is "^5.0.0" - unist-util-visit-parents "^5.1.1" - -unist-util-visit@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz" - integrity sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg== - dependencies: - "@types/unist" "^3.0.0" - unist-util-is "^6.0.0" - unist-util-visit-parents "^6.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 sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== - -update-browserslist-db@^1.0.13: - version "1.0.13" - resolved "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz" - integrity sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg== - dependencies: - escalade "^3.1.1" - picocolors "^1.0.0" - -update-browserslist-db@^1.0.16: - version "1.0.16" - resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.16.tgz#f6d489ed90fb2f07d67784eb3f53d7891f736356" - integrity sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ== - dependencies: - escalade "^3.1.2" - picocolors "^1.0.1" - -update-notifier@^6.0.2: - version "6.0.2" - resolved "https://registry.npmjs.org/update-notifier/-/update-notifier-6.0.2.tgz" - integrity sha512-EDxhTEVPZZRLWYcJ4ZXjGFN0oP7qYvbXWzEgRm/Yql4dHX5wDbvh89YHP6PK1lzZJYrMtXUuZZz8XGK+U6U1og== - dependencies: - boxen "^7.0.0" - chalk "^5.0.1" - configstore "^6.0.0" - has-yarn "^3.0.0" - import-lazy "^4.0.0" - is-ci "^3.0.1" - is-installed-globally "^0.4.0" - is-npm "^6.0.0" - is-yarn-global "^0.4.0" - latest-version "^7.0.0" - pupa "^3.1.0" - semver "^7.3.7" - semver-diff "^4.0.0" - xdg-basedir "^5.1.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" - -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@^0.11.0: - version "0.11.3" - resolved "https://registry.yarnpkg.com/url/-/url-0.11.3.tgz#6f495f4b935de40ce4a0a52faee8954244f3d3ad" - integrity sha512-6hxOLGfZASQK/cijlZnZJTq8OXAkt/3YGfQX45vvMYXpZoo8NdWZcY73K108Jf759lS1Bv/8wXnHDTSz17dSRw== - dependencies: - punycode "^1.4.1" - qs "^6.11.2" - -use-editable@^2.3.3: - version "2.3.3" - resolved "https://registry.npmjs.org/use-editable/-/use-editable-2.3.3.tgz" - integrity sha512-7wVD2JbfAFJ3DK0vITvXBdpd9JAz5BcKAAolsnLBuBn6UDDwBGuCIAGvR3yA2BNKm578vAMVHFCWaOcA+BhhiA== - -use-sync-external-store@^1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz" - integrity sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA== - -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 sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== - -util@^0.10.3: - version "0.10.4" - resolved "https://registry.yarnpkg.com/util/-/util-0.10.4.tgz#3aa0125bfe668a4672de58857d3ace27ecb76901" - integrity sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A== - dependencies: - inherits "2.0.3" - -util@^0.12.4, util@^0.12.5: - version "0.12.5" - resolved "https://registry.yarnpkg.com/util/-/util-0.12.5.tgz#5f17a6059b73db61a875668781a1c2b136bd6fbc" - integrity sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA== - dependencies: - inherits "^2.0.3" - is-arguments "^1.0.4" - is-generator-function "^1.0.7" - is-typed-array "^1.1.3" - which-typed-array "^1.1.2" - -utila@~0.4: - version "0.4.0" - resolved "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz" - integrity sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA== - -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 sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA== - -uuid@8.3.2, uuid@^8.3.2: - version "8.3.2" - resolved "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz" - integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== - -uvu@^0.5.0: - version "0.5.6" - resolved "https://registry.yarnpkg.com/uvu/-/uvu-0.5.6.tgz#2754ca20bcb0bb59b64e9985e84d2e81058502df" - integrity sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA== - dependencies: - dequal "^2.0.0" - diff "^5.0.0" - kleur "^4.0.3" - sade "^1.7.3" - -validate-peer-dependencies@^2.2.0: - version "2.2.0" - resolved "https://registry.npmjs.org/validate-peer-dependencies/-/validate-peer-dependencies-2.2.0.tgz" - integrity sha512-8X1OWlERjiUY6P6tdeU9E0EwO8RA3bahoOVG7ulOZT5MqgNDUO/BQoVjYiHPcNe+v8glsboZRIw9iToMAA2zAA== - dependencies: - resolve-package-path "^4.0.3" - semver "^7.3.8" - -validate.io-array@^1.0.3: - version "1.0.6" - resolved "https://registry.yarnpkg.com/validate.io-array/-/validate.io-array-1.0.6.tgz#5b5a2cafd8f8b85abb2f886ba153f2d93a27774d" - integrity sha512-DeOy7CnPEziggrOO5CZhVKJw6S3Yi7e9e65R1Nl/RTN1vTQKnzjfvks0/8kQ40FP/dsjRAOd4hxmJ7uLa6vxkg== - -validate.io-function@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/validate.io-function/-/validate.io-function-1.0.2.tgz#343a19802ed3b1968269c780e558e93411c0bad7" - integrity sha512-LlFybRJEriSuBnUhQyG5bwglhh50EpTL2ul23MPIuR1odjO7XaMLFV8vHGwp7AZciFxtYOeiSCT5st+XSPONiQ== - -validate.io-integer-array@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/validate.io-integer-array/-/validate.io-integer-array-1.0.0.tgz#2cabde033293a6bcbe063feafe91eaf46b13a089" - integrity sha512-mTrMk/1ytQHtCY0oNO3dztafHYyGU88KL+jRxWuzfOmQb+4qqnWmI+gykvGp8usKZOM0H7keJHEbRaFiYA0VrA== - dependencies: - validate.io-array "^1.0.3" - validate.io-integer "^1.0.4" - -validate.io-integer@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/validate.io-integer/-/validate.io-integer-1.0.5.tgz#168496480b95be2247ec443f2233de4f89878068" - integrity sha512-22izsYSLojN/P6bppBqhgUDjCkr5RY2jd+N2a3DCAUey8ydvrZ/OkGvFPR7qfOpwR2LC5p4Ngzxz36g5Vgr/hQ== - dependencies: - validate.io-number "^1.0.3" - -validate.io-number@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/validate.io-number/-/validate.io-number-1.0.3.tgz#f63ffeda248bf28a67a8d48e0e3b461a1665baf8" - integrity sha512-kRAyotcbNaSYoDnXvb4MHg/0a1egJdLwS6oJ38TJY7aw9n93Fl/3blIXdyYvPOp55CNxywooG/3BcrwNrBpcSg== - -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 sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== - -vfile-location@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/vfile-location/-/vfile-location-4.1.0.tgz#69df82fb9ef0a38d0d02b90dd84620e120050dd0" - integrity sha512-YF23YMyASIIJXpktBa4vIGLJ5Gs88UB/XePgqPmTa7cDA+JeO3yclbpheQYCHjVHBn/yePzrXuygIL+xbvRYHw== - dependencies: - "@types/unist" "^2.0.0" - vfile "^5.0.0" - -vfile-location@^5.0.0: - version "5.0.2" - resolved "https://registry.npmjs.org/vfile-location/-/vfile-location-5.0.2.tgz" - integrity sha512-NXPYyxyBSH7zB5U6+3uDdd6Nybz6o6/od9rk8bp9H8GR3L+cm/fC0uUTbqBmUTnMCUDslAGBOIKNfvvb+gGlDg== - dependencies: - "@types/unist" "^3.0.0" - vfile "^6.0.0" - -vfile-message@^3.0.0: - version "3.1.4" - resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-3.1.4.tgz#15a50816ae7d7c2d1fa87090a7f9f96612b59dea" - integrity sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw== - dependencies: - "@types/unist" "^2.0.0" - unist-util-stringify-position "^3.0.0" - -vfile-message@^4.0.0: - version "4.0.2" - resolved "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.2.tgz" - integrity sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw== - dependencies: - "@types/unist" "^3.0.0" - unist-util-stringify-position "^4.0.0" - -vfile@^5.0.0: - version "5.3.7" - resolved "https://registry.yarnpkg.com/vfile/-/vfile-5.3.7.tgz#de0677e6683e3380fafc46544cfe603118826ab7" - integrity sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g== - dependencies: - "@types/unist" "^2.0.0" - is-buffer "^2.0.0" - unist-util-stringify-position "^3.0.0" - vfile-message "^3.0.0" - -vfile@^6.0.0, vfile@^6.0.1: - version "6.0.1" - resolved "https://registry.npmjs.org/vfile/-/vfile-6.0.1.tgz" - integrity sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw== - dependencies: - "@types/unist" "^3.0.0" - unist-util-stringify-position "^4.0.0" - vfile-message "^4.0.0" - -vm-browserify@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0" - integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ== - -warning@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/warning/-/warning-4.0.3.tgz#16e9e077eb8a86d6af7d64aa1e05fd85b4678ca3" - integrity sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w== - dependencies: - loose-envify "^1.0.0" - -watchpack@^2.4.0: - version "2.4.0" - resolved "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz" - integrity sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg== - dependencies: - glob-to-regexp "^0.4.1" - graceful-fs "^4.1.2" - -watchpack@^2.4.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.4.1.tgz#29308f2cac150fa8e4c92f90e0ec954a9fed7fff" - integrity sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg== - 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@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/web-namespaces/-/web-namespaces-2.0.1.tgz" - integrity sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ== - -webidl-conversions@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" - integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== - -webpack-bundle-analyzer@^4.9.0: - version "4.9.1" - resolved "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.9.1.tgz" - integrity sha512-jnd6EoYrf9yMxCyYDPj8eutJvtjQNp8PHmni/e/ulydHBWhT5J3menXt3HEkScsu9YqMAcG4CfFjs3rj5pVU1w== - dependencies: - "@discoveryjs/json-ext" "0.5.7" - acorn "^8.0.4" - acorn-walk "^8.0.0" - commander "^7.2.0" - escape-string-regexp "^4.0.0" - gzip-size "^6.0.0" - is-plain-object "^5.0.0" - lodash.debounce "^4.0.8" - lodash.escape "^4.0.1" - lodash.flatten "^4.4.0" - lodash.invokemap "^4.6.0" - lodash.pullall "^4.2.0" - lodash.uniqby "^4.7.0" - opener "^1.5.2" - picocolors "^1.0.0" - sirv "^2.0.3" - ws "^7.3.1" - -webpack-dev-middleware@^5.3.1: - version "5.3.4" - resolved "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.4.tgz" - integrity sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q== - dependencies: - colorette "^2.0.10" - memfs "^3.4.3" - mime-types "^2.1.31" - range-parser "^1.2.1" - schema-utils "^4.0.0" - -webpack-dev-server@^4.15.1: - version "4.15.1" - resolved "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.1.tgz" - integrity sha512-5hbAst3h3C3L8w6W4P96L5vaV0PxSmJhxZvWKYIdgxOQm8pNZ5dEOmmSLBVpP85ReeyRt6AS1QJNyo/oFFPeVA== - dependencies: - "@types/bonjour" "^3.5.9" - "@types/connect-history-api-fallback" "^1.3.5" - "@types/express" "^4.17.13" - "@types/serve-index" "^1.9.1" - "@types/serve-static" "^1.13.10" - "@types/sockjs" "^0.3.33" - "@types/ws" "^8.5.5" - ansi-html-community "^0.0.8" - bonjour-service "^1.0.11" - chokidar "^3.5.3" - colorette "^2.0.10" - compression "^1.7.4" - connect-history-api-fallback "^2.0.0" - default-gateway "^6.0.3" - express "^4.17.3" - graceful-fs "^4.2.6" - html-entities "^2.3.2" - http-proxy-middleware "^2.0.3" - ipaddr.js "^2.0.1" - launch-editor "^2.6.0" - open "^8.0.9" - p-retry "^4.5.0" - rimraf "^3.0.2" - schema-utils "^4.0.0" - selfsigned "^2.1.1" - serve-index "^1.9.1" - sockjs "^0.3.24" - spdy "^4.0.2" - webpack-dev-middleware "^5.3.1" - ws "^8.13.0" - -webpack-merge@^5.9.0: - version "5.10.0" - resolved "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz" - integrity sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA== - dependencies: - clone-deep "^4.0.1" - flat "^5.0.2" - wildcard "^2.0.0" - -webpack-sources@^3.2.3: - version "3.2.3" - resolved "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz" - integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== - -webpack@^5.61.0: - version "5.91.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.91.0.tgz#ffa92c1c618d18c878f06892bbdc3373c71a01d9" - integrity sha512-rzVwlLeBWHJbmgTC/8TvAcu5vpJNII+MelQpylD4jNERPwpBJOE2lEcko1zJX3QJeLjTTAnQxn/OJ8bjDzVQaw== - dependencies: - "@types/eslint-scope" "^3.7.3" - "@types/estree" "^1.0.5" - "@webassemblyjs/ast" "^1.12.1" - "@webassemblyjs/wasm-edit" "^1.12.1" - "@webassemblyjs/wasm-parser" "^1.12.1" - acorn "^8.7.1" - acorn-import-assertions "^1.9.0" - browserslist "^4.21.10" - chrome-trace-event "^1.0.2" - enhanced-resolve "^5.16.0" - es-module-lexer "^1.2.1" - eslint-scope "5.1.1" - events "^3.2.0" - glob-to-regexp "^0.4.1" - graceful-fs "^4.2.11" - json-parse-even-better-errors "^2.3.1" - loader-runner "^4.2.0" - mime-types "^2.1.27" - neo-async "^2.6.2" - schema-utils "^3.2.0" - tapable "^2.1.1" - terser-webpack-plugin "^5.3.10" - watchpack "^2.4.1" - webpack-sources "^3.2.3" - -webpack@^5.88.1: - version "5.89.0" - resolved "https://registry.npmjs.org/webpack/-/webpack-5.89.0.tgz" - integrity sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw== - dependencies: - "@types/eslint-scope" "^3.7.3" - "@types/estree" "^1.0.0" - "@webassemblyjs/ast" "^1.11.5" - "@webassemblyjs/wasm-edit" "^1.11.5" - "@webassemblyjs/wasm-parser" "^1.11.5" - acorn "^8.7.1" - acorn-import-assertions "^1.9.0" - browserslist "^4.14.5" - chrome-trace-event "^1.0.2" - enhanced-resolve "^5.15.0" - es-module-lexer "^1.2.1" - eslint-scope "5.1.1" - events "^3.2.0" - glob-to-regexp "^0.4.1" - graceful-fs "^4.2.9" - json-parse-even-better-errors "^2.3.1" - loader-runner "^4.2.0" - mime-types "^2.1.27" - neo-async "^2.6.2" - schema-utils "^3.2.0" - tapable "^2.1.1" - terser-webpack-plugin "^5.3.7" - watchpack "^2.4.0" - webpack-sources "^3.2.3" - -webpackbar@^5.0.2: - version "5.0.2" - resolved "https://registry.npmjs.org/webpackbar/-/webpackbar-5.0.2.tgz" - integrity sha512-BmFJo7veBDgQzfWXl/wwYXr/VFus0614qZ8i9znqcl9fnEdiVkdbi0TedLQ6xAK92HZHDJ0QmyQ0fmuZPAgCYQ== - dependencies: - chalk "^4.1.0" - consola "^2.15.3" - pretty-time "^1.1.0" - std-env "^3.0.1" - -websocket-driver@>=0.5.1, websocket-driver@^0.7.4: - 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== - -whatwg-url@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" - integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== - dependencies: - tr46 "~0.0.3" - webidl-conversions "^3.0.0" - -which-module@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.1.tgz#776b1fe35d90aebe99e8ac15eb24093389a4a409" - integrity sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ== - -which-typed-array@^1.1.14, which-typed-array@^1.1.2: - version "1.1.15" - resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.15.tgz#264859e9b11a649b388bfaaf4f767df1f779b38d" - integrity sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA== - dependencies: - available-typed-arrays "^1.0.7" - call-bind "^1.0.7" - for-each "^0.3.3" - gopd "^1.0.1" - has-tostringtag "^1.0.2" - -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@^4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/widest-line/-/widest-line-4.0.1.tgz" - integrity sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig== - dependencies: - string-width "^5.0.1" - -wildcard@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz" - integrity sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ== - -"wrap-ansi-cjs@npm: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" - -wrap-ansi@^6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" - integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -wrap-ansi@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" - integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -wrap-ansi@^8.0.1, wrap-ansi@^8.1.0: - version "8.1.0" - resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz" - integrity sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ== - dependencies: - ansi-styles "^6.1.0" - string-width "^5.0.1" - strip-ansi "^7.0.1" - -wrappy@1: - version "1.0.2" - resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" - integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== - -write-file-atomic@^3.0.3: - 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@^7.3.1: - version "7.5.9" - resolved "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz" - integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== - -ws@^8.13.0: - version "8.14.2" - resolved "https://registry.npmjs.org/ws/-/ws-8.14.2.tgz" - integrity sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g== - -xdg-basedir@^5.0.1, xdg-basedir@^5.1.0: - version "5.1.0" - resolved "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-5.1.0.tgz" - integrity sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ== - -xml-formatter@^2.6.1: - version "2.6.1" - resolved "https://registry.yarnpkg.com/xml-formatter/-/xml-formatter-2.6.1.tgz#066ef3a100bd58ee3b943f0c503be63176d3d497" - integrity sha512-dOiGwoqm8y22QdTNI7A+N03tyVfBlQ0/oehAzxIZtwnFAHGeSlrfjF73YQvzSsa/Kt6+YZasKsrdu6OIpuBggw== - dependencies: - xml-parser-xo "^3.2.0" - -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" - -xml-parser-xo@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/xml-parser-xo/-/xml-parser-xo-3.2.0.tgz#c633ab55cf1976d6b03ab4a6a85045093ac32b73" - integrity sha512-8LRU6cq+d7mVsoDaMhnkkt3CTtAs4153p49fRo+HIB3I1FD1o5CeXRjRH29sQevIfVJIcPjKSsPU/+Ujhq09Rg== - -xtend@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" - integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== - -y18n@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf" - integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ== - -y18n@^5.0.5: - version "5.0.8" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" - integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== - -yallist@^3.0.2: - version "3.1.1" - resolved "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz" - integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== - -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-ast-parser@0.0.43: - version "0.0.43" - resolved "https://registry.yarnpkg.com/yaml-ast-parser/-/yaml-ast-parser-0.0.43.tgz#e8a23e6fb4c38076ab92995c5dca33f3d3d7c9bb" - integrity sha512-2PTINUwsRqSd+s8XxKaJWQlUuEMHJQyEuh2edBbW8KNJz0SJPwUSD2zRWqezFEdN7IzAgeuYHFUCF7o8zRdZ0A== - -yaml@1.10.2, yaml@^1.10.0, yaml@^1.7.2: - version "1.10.2" - resolved "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz" - integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== - -yargs-parser@^18.1.2: - version "18.1.3" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" - integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== - dependencies: - camelcase "^5.0.0" - decamelize "^1.2.0" - -yargs-parser@^21.1.1: - version "21.1.1" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" - integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== - -yargs@^15.3.1: - version "15.4.1" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" - integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A== - dependencies: - cliui "^6.0.0" - decamelize "^1.2.0" - find-up "^4.1.0" - get-caller-file "^2.0.1" - require-directory "^2.1.1" - require-main-filename "^2.0.0" - set-blocking "^2.0.0" - string-width "^4.2.0" - which-module "^2.0.0" - y18n "^4.0.0" - yargs-parser "^18.1.2" - -yargs@^17.0.1: - version "17.7.2" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.7.2.tgz#991df39aca675a192b816e1e0363f9d75d2aa269" - integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== - dependencies: - cliui "^8.0.1" - escalade "^3.1.1" - get-caller-file "^2.0.5" - require-directory "^2.1.1" - string-width "^4.2.3" - y18n "^5.0.5" - yargs-parser "^21.1.1" - -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== - -yocto-queue@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz" - integrity sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g== - -zwitch@^2.0.0: - version "2.0.4" - resolved "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz" - integrity sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A== From 26ed455bb6ef8b15c11660b00dcd74683ea5d0c7 Mon Sep 17 00:00:00 2001 From: matarpeles <132199091+matarpeles@users.noreply.github.com> Date: Fri, 14 Jun 2024 13:51:16 +0300 Subject: [PATCH 26/56] Update launchdarkly.md --- .../sync-data-to-catalog/feature-management/launchdarkly.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/feature-management/launchdarkly.md b/docs/build-your-software-catalog/sync-data-to-catalog/feature-management/launchdarkly.md index f0d5ff0e7..548b3f3f3 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/feature-management/launchdarkly.md +++ b/docs/build-your-software-catalog/sync-data-to-catalog/feature-management/launchdarkly.md @@ -54,7 +54,7 @@ Set them as you wish in the script below, then copy it and run it in your termin | `integration.identifier` | Change the identifier to describe your integration | ✅ | | `integration.type` | The integration type | ✅ | | `integration.eventListener.type` | The event listener type | ✅ | -| `integration.config.launchdarklyHost` | Your LaunchDarkly host. For example https://launchdarkly.com | ✅ | +| `integration.config.launchdarklyHost` | Your LaunchDarkly host. For example https://app.launchdarkly.com for the default endpoint | ✅ | | `integration.config.launchdarklyToken` | The LaunchDarkly API token | ✅ | | `integration.config.appHost` | Your application's host url | ❌ | | `scheduledResyncInterval` | The number of minutes between each resync | ❌ | From 9294c3d3ffbd999a3cae154d3214dd456de505a1 Mon Sep 17 00:00:00 2001 From: hadar-co Date: Sat, 15 Jun 2024 20:49:53 +0300 Subject: [PATCH 27/56] add org api docs (#1313) Co-authored-by: Hadar --- .../get-organization-details.api.mdx | 69 ++++++ .../patch-organization-details.api.mdx | 222 ++++++++++++++++++ docs/api-reference/sidebar.ts | 24 ++ .../update-organization-details.api.mdx | 222 ++++++++++++++++++ static/spectmp.yaml | 99 ++++++++ 5 files changed, 636 insertions(+) create mode 100644 docs/api-reference/get-organization-details.api.mdx create mode 100644 docs/api-reference/patch-organization-details.api.mdx create mode 100644 docs/api-reference/update-organization-details.api.mdx diff --git a/docs/api-reference/get-organization-details.api.mdx b/docs/api-reference/get-organization-details.api.mdx new file mode 100644 index 000000000..101eb1a49 --- /dev/null +++ b/docs/api-reference/get-organization-details.api.mdx @@ -0,0 +1,69 @@ +--- +id: get-organization-details +title: "Get organization details" +description: "This route allows you to fetch the details of your Port organization, such as its name, id, and hidden blueprints." +sidebar_label: "Get organization details" +hide_title: true +hide_table_of_contents: true +api: eJzFUkGv0zAM/itWztW6cZwQ0pNAT4gDT/A4Pe3gtd4S0SUhcQqj6n/H7jro0DhzaZP4+2x//jyYlnKTXGQXvNmaZ+sypFCYALsufM9wDgU4wIG4scCWoCVG12UIB40leAqJIaQjevcTNU0FuQgWMzjO4PFEFbi2AvQtWNe25GHfFYrJec4rUxnGYzbbF/NxkcTsKpOpKcnxWWKD2RMmSnLcjRJKlGPwmYQ3mFfrtf5ulbylA5aO4dOMNONYmROxDa1Ej8RSOCJbudT9pl4KMFo69ZTyVLmkTkCWOeZtXWN0K2FHUb1ywYzVPUDJN5iFls+NpdOl7auiwfA5kmQQ5gc6S3WdmdwfinSb/jTlVJclbIWlapw/hInuuFP85MTD03uBavOXOWxWa2nSxJD5hF7hc/ZHurXtaqywbyY5mCZ4Js//bT0u02H6wXXsUKYgeqaZD7ODL6bfCDD8tT9WNGtwGPaY6UvqxlGfvxVKulNy7DE53OvwZK0W6/H47lnyYdHkS3u+TvbMB92Na8jre4/S9x3fJvD01W25S3kttoGY/+Y3/BL5J2Fegytah7Ibx/EXmZRNcQ== +sidebar_class_name: "get api-method" +info_path: api-reference-temp/port-api +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import SecuritySchemes from "@theme/ApiExplorer/SecuritySchemes"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import Markdown from "@theme/Markdown"; +import Heading from "@theme/Heading"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; + + + + + + + + + + +This route allows you to fetch the details of your Port organization, such as its name, id, and hidden blueprints. + +
    +
    + + +
    + + + Default Response + + +
    + +
    +
    +
    +
    +
    + \ No newline at end of file diff --git a/docs/api-reference/patch-organization-details.api.mdx b/docs/api-reference/patch-organization-details.api.mdx new file mode 100644 index 000000000..68f181ee5 --- /dev/null +++ b/docs/api-reference/patch-organization-details.api.mdx @@ -0,0 +1,222 @@ +--- +id: patch-organization-details +title: "Patch organization details" +description: "This route allows you to patch the details of your Port organization, such as its name and hidden blueprints." +sidebar_label: "Patch organization details" +hide_title: true +hide_table_of_contents: true +api: eJy9VMFu2zAM/RVB5yxpdzSKAukwYMMOC7b2lOUg20ysVpY0iUqbGfn3kbLTOGm3YcCwBHAUiZTfe3xkJ2uIVdAetbOykLeNjiK4hCCUMe4xip1LAp3wCqtGYAOiBlTaROHWfBbEwgUULmyU1T8UXzMRMVGsikJjFFa1dJetRaPrGqwoTQIftMU4lROJahNlsZSfR/lyNZEBvieIeOPqnSw6WTmLYJGXynujqxw4u48MupOxaqBVvMKdB6LhynuokO73wXkIqCHyKWMZRUUkHBuKOtcAetTEkAmPuU2vyjC7lvuJjIBI2fHPb+2J3zzzHmWoENTuBYC5FfmAATzLJTRdgnqtIUSCpVDExiVTixIGaQdsE6kR2viS554/E6nqWvOLlFmMYK6VidDrrgPUXJOs1irnHLcxJMjsqxQ0UnGWnSxBBQicknytEAp3Us19rmf0zsZekLcXF/xzSvoup9bsnQpiXCdjduyQf1R698BPsKklnExi9VdaUPrqvEyvIx5UbgEbR6kyNw7DUdjQ39n2cnYiD2sZtlTULGUKhoIaRB+L2Ux5Pd0AeuqwqXbkutcCUjyJWR2L85W16ekfSnR0ntefgK3X94ScJ8IbjqA0M2xA1ZTFfFjvL8emfP+kWm/g2FTHZho3xkvrLw+BWX9t1y6D0siXyTxL5ouPdA1L0ut8Ob3ghvMuYqvs6JWLPJPGah6G03lLjSbI/x9xveAITzjzRpGwRCaXsRtMsZTbSwp0ZzOwIcJ82HWlinAXzH7P21SDwH1Hy60KWpWs3HJFlw7lYh89UG0L+a4n/eaWIXA4Acu1P+sjNlafMScre/xt7Gpk7sX89t0Hii6HOd26mpOCeqRNfhbyG32ZXK5ENkXe76RRdpPUhuP7i3NDJhZk7NKH7NJhwdQOR3Y3gnlu354NP5nbqylX5DNBPXD9HN6f/DJhkPcQzYXk6fgTLWmHDA== +sidebar_class_name: "patch api-method" +info_path: api-reference-temp/port-api +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import SecuritySchemes from "@theme/ApiExplorer/SecuritySchemes"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import Markdown from "@theme/Markdown"; +import Heading from "@theme/Heading"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; + + + + + + + + + + +This route allows you to patch the details of your Port organization, such as its name and hidden blueprints. + + + + + + +
    + +

    + Body +

    + required + +
    + +
      + "}} + > + + +
      + + + + settings + + object + + +
      + ","items":{"type":"string"}}} + > + + +
      +
      +
      +
    +
    +
    +
    +
    + + +
    + + + Updated successfully. + + +
    + + + + +
    + + + Schema + +
    + +
      + + + +
    +
    +
    + + + + +
    +
    +
    +
    +
    +
    +
    +
    + \ No newline at end of file diff --git a/docs/api-reference/sidebar.ts b/docs/api-reference/sidebar.ts index 10d9cb7fd..2fb18bdb2 100644 --- a/docs/api-reference/sidebar.ts +++ b/docs/api-reference/sidebar.ts @@ -464,6 +464,30 @@ const sidebar: SidebarsConfig = { }, ], }, + { + type: "category", + label: "Organizations", + items: [ + { + type: "doc", + id: "api-reference/get-organization-details", + label: "Get an organization", + className: "api-method get", + }, + { + type: "doc", + id: "api-reference/patch-organization-details", + label: "Patch an organization", + className: "api-method patch", + }, + { + type: "doc", + id: "api-reference/update-organization-details", + label: "Change an organization", + className: "api-method put", + } + ], + } ], }; diff --git a/docs/api-reference/update-organization-details.api.mdx b/docs/api-reference/update-organization-details.api.mdx new file mode 100644 index 000000000..90939d51e --- /dev/null +++ b/docs/api-reference/update-organization-details.api.mdx @@ -0,0 +1,222 @@ +--- +id: update-organization-details +title: "Update organization details" +description: "This route allows you to update the details of your Port organization, such as its name and hidden blueprints." +sidebar_label: "Update organization details" +hide_title: true +hide_table_of_contents: true +api: eJzFVMFu2zAM/RVB5yxpdzSKAtmww7DDgq09ZTnINhOrtSVNotJmRv59pOQkTtptGDBgCWDYEkm99/ioXtYQKq8damtkIe8aHYS3EUGotrVPQexsFGhFdLWiRWxA1IBKt0HYNW96sbAehfUbZfQPxXUmIsSqESoIjUEY1VExU4tG1zUYUbYRnNcGw1ROJKpNkMVSfh7ly9VEevgeIeA7W+9k0cvKGgSD/Kqca3WVAmcPgVH3MlQNdIrfcOeAeNjyASqk+s5bBx41BN5lLKOogIRjQ1GXIkBGTQyZ8Jjb9Kb0s1u5n8gAiJQd/nxqJv7uyJvXzk+cG6G8Vzs+8aiP0JSFeq3BB8KhUITGxrYWJQxaDmAmh/NTDfrUCF14yXPPv4lUda35XNUuRjDXqg2Qddceau5JUmuVck7L6CMk9lX0Gqk5y16WoDx4Tsk2KexZN/epn8FZE7Igb6+uXmpwn1Jr9k4FIaxj2+7YIf+o9faRn2BiRziZxOqvtKD01aVPXkc8qNwBNpZSpYsJjMKGPmbb69mZOKyk31KHk5DRtxTUILpQzGbK6ekG0NF8TbUlz70WEMNZzOrUmq+sTCZ/aNBRJMr8BGyVPBFyHgmtP4HSzK8BVVMWs2G1v5xG8sOz6lwLp5E6jdJ4LF4af3kITOprs7YJlEYuJtNNMl98pDIsSVb5enrF4+ZswE6Z0ZFZ/rPpPNxNlyM9ukD+wxWXJUd4xplrFUlLdFIj+8EWS7m9pkB7cQc2RJk3+75UAe59u9/zMnXB89zR61Z5rUrWbrmiokPD2EmP1N1Cvs+s39wxBA4nYKn7F3PE1soZc7Kyw9/GrkbmXtzfUWw53NKdrTnFqyda5Gchv9GfqaVGJFOk9V62ymyi2nB8LpvGMbIcY5c+JpcOL0zssGV2I5CX9s1c+MnMXk25IZ8JmoHbY3je+WXCIO4hmtvId+NPGvOHNw== +sidebar_class_name: "put api-method" +info_path: api-reference-temp/port-api +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import SecuritySchemes from "@theme/ApiExplorer/SecuritySchemes"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import Markdown from "@theme/Markdown"; +import Heading from "@theme/Heading"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; + + + + + + + + + + +This route allows you to update the details of your Port organization, such as its name and hidden blueprints. + + + + + + +
    + +

    + Body +

    + required + +
    + +
      + "}} + > + + +
      + + + + settings + + object + + +
      + ","type":"array","items":{"type":"string"}}} + > + + +
      +
      +
      +
    +
    +
    +
    +
    + + +
    + + + Updated successfully. + + +
    + + + + +
    + + + Schema + +
    + +
      + + + +
    +
    +
    + + + + +
    +
    +
    +
    +
    +
    +
    +
    + \ No newline at end of file diff --git a/static/spectmp.yaml b/static/spectmp.yaml index 1bd17516a..83e26df9f 100644 --- a/static/spectmp.yaml +++ b/static/spectmp.yaml @@ -7908,6 +7908,105 @@ paths: responses: '200': description: Default Response + /v1/organization: + get: + summary: Get organization details + description: This route allows you to fetch the details of your Port organization, such as its name, id, and hidden blueprints. + tags: + - Organization + security: + - bearer: [] + responses: + "200": + description: Default Response + put: + summary: Update organization details + description: This route allows you to update the details of your Port organization, such as its name and hidden blueprints. + tags: + - Organization + requestBody: + content: + application/json: + schema: + type: object + properties: + name: + type: string + description: The name of the organization.
    + settings: + type: object + properties: + hiddenBlueprints: + description: An array of blueprint identifiers that should be hidden.
    + type: array + items: + type: string + additionalProperties: false + required: + - name + required: true + security: + - bearer: + - update:organization + responses: + "200": + description: Updated successfully. + content: + application/json: + schema: + type: object + properties: + ok: + enum: + - true + additionalProperties: false + required: + - ok + description: Updated successfully. + patch: + summary: Patch organization details + description: This route allows you to patch the details of your Port organization, such as its name and hidden blueprints. + tags: + - Organization + requestBody: + content: + application/json: + schema: + type: object + properties: + name: + type: string + description: The name of the organization.
    + settings: + type: object + properties: + hiddenBlueprints: + type: array + description: An array of blueprint identifiers that should be hidden.
    + items: + type: string + additionalProperties: false + required: + - name + required: true + security: + - bearer: + - update:organization + responses: + "200": + description: Updated successfully. + content: + application/json: + schema: + type: object + properties: + ok: + enum: + - true + additionalProperties: false + required: + - ok + description: Updated successfully. '/v1/integration/{identifier}/logs': get: summary: Get an integration's audit logs From d0129910db47a607d57d3dc4e9ae348c2a0d202f Mon Sep 17 00:00:00 2001 From: Aidan O'Connor <156127749+aidan-port@users.noreply.github.com> Date: Sat, 15 Jun 2024 13:54:03 -0400 Subject: [PATCH 28/56] updating scaffold new service (#1312) Co-authored-by: hadar-co --- .../scaffold-a-new-service.md | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/docs/guides-and-tutorials/scaffold-a-new-service.md b/docs/guides-and-tutorials/scaffold-a-new-service.md index 9529deb56..636696c6b 100644 --- a/docs/guides-and-tutorials/scaffold-a-new-service.md +++ b/docs/guides-and-tutorials/scaffold-a-new-service.md @@ -217,6 +217,10 @@ If your organization uses SAML SSO, you will need to authorize your token. Follo 3. Now let's create the workflow file that contains our logic. Under `.github/workflows`, create a new file named `port-create-repo.yml` and use the following snippet as its content (remember to change `` on line 19 to your GitHub organization name): +:::tip +The GitHub workflow example below assumes that you will use the cookiecutter template specified in line 34. If you would instead prefer to use a template from a private repository, replace line 34 in the template below with the following, ensuring to specify the GitHub org and repo name where instructed: `cookiecutterTemplate: https://oauth2:$ORG_ADMIN_TOKEN@github.com/$/$.git`. If the template GitHub repo is not within the same organization where this repo will be placed, please ensure you replace the `ORG_ADMIN_TOKEN` parameter with a token containing the same parameters used when you created the token in the previous step. +::: +
    Github workflow (click to expand) @@ -327,18 +331,22 @@ fetch-port-access-token: # Example - get the Port API access token and RunId script: - | echo "Getting access token from Port API" + # this step uses the Port API to generate a token to update the executor of the action in the action run accessToken=$(curl -X POST \ -H 'Content-Type: application/json' \ -d '{"clientId": "'"$PORT_CLIENT_ID"'", "clientSecret": "'"$PORT_CLIENT_SECRET"'"}' \ -s 'https://api.getport.io/v1/auth/access_token' | jq -r '.accessToken') + # this step saves the token that was just created to data.env as a variable called ACCESS_TOKEN echo "ACCESS_TOKEN=$accessToken" >> data.env runId=$(cat $TRIGGER_PAYLOAD | jq -r '.port_context.runId') echo "RUN_ID=$runId" >> data.env + # given the Port payload information above, this step provides updates to the executor of the action... curl -X POST \ -H 'Content-Type: application/json' \ -H "Authorization: Bearer $accessToken" \ -d '{"message":"🏃‍♂️ Starting new GitLab project scaffold"}' \ "https://api.getport.io/v1/actions/runs/$runId/logs" + # ...and provides a CI pipeline URL to the user for more information curl -X PATCH \ -H 'Content-Type: application/json' \ -H "Authorization: Bearer $accessToken" \ @@ -358,6 +366,7 @@ scaffold: - pushes script: - | + # this step informs the user that a new GitLab repo is about to be created echo "Creating new GitLab repository" curl -X POST \ -H 'Content-Type: application/json' \ @@ -365,22 +374,26 @@ scaffold: -d '{"message":"⚙️ Creating new GitLab repository"}' \ "https://api.getport.io/v1/actions/runs/$RUN_ID/logs" + # this step creates an empty repo with the service_name provided by the executor of the action... service_name=$(cat $TRIGGER_PAYLOAD | jq -r '.service_name') CREATE_REPO_RESPONSE=$(curl -X POST -s "$CI_API_V4_URL/projects" --header "Private-Token: $GITLAB_ACCESS_TOKEN" --form "name=$service_name" --form "namespace_id=$CI_PROJECT_NAMESPACE_ID") PROJECT_URL=$(echo $CREATE_REPO_RESPONSE | jq -r .http_url_to_repo) + # ...and ensures that this step was successful echo "Checking if the repository creation was successful" if [[ -z "$PROJECT_URL" ]]; then echo "Failed to create GitLab repository." exit 1 fi echo "Repository created" + # this step updates the user that a new, empty GitLab repo was created curl -X POST \ -H 'Content-Type: application/json' \ -H "Authorization: Bearer $ACCESS_TOKEN" \ -d '{"message":"✅ Repository created"}' \ "https://api.getport.io/v1/actions/runs/$RUN_ID/logs" + # this step creates necessary variables that will be used to add to the new repo FIRST_NAME=$(cat $TRIGGER_PAYLOAD | jq -r '.port_context.user.firstName') LAST_NAME=$(cat $TRIGGER_PAYLOAD | jq -r '.port_context.user.lastName') EMAIL=$(cat $TRIGGER_PAYLOAD | jq -r '.port_context.user.email') @@ -390,6 +403,7 @@ scaffold: echo "BLUEPRINT_ID=$BLUEPRINT_ID" >> data.env echo "SERVICE_NAME=$service_name" >> data.env + # this step updates the executor of the action that a new cookiecutter project is being created curl -X POST \ -H 'Content-Type: application/json' \ -H "Authorization: Bearer $ACCESS_TOKEN" \ @@ -407,17 +421,21 @@ scaffold: EOF cookiecutter $COOKIECUTTER_TEMPLATE_URL --no-input --config-file cookiecutter.yaml --output-dir scaffold_out + # this step sets git configs to modify the new repo echo "Initializing new repository..." git config --global user.email "scaffolder@email.com" git config --global user.name "Mighty Scaffolder" git config --global init.defaultBranch "main" + # this step updates the executor of the action that the repo template is being uploaded curl -X POST \ -H 'Content-Type: application/json' \ -H "Authorization: Bearer $ACCESS_TOKEN" \ -d '{"message":"📡 Uploading repository template"}' \ "https://api.getport.io/v1/actions/runs/$RUN_ID/logs" + # this step copies the cookiecutter template + # and adds it to the empty repo with the parameters provided by the user modified_service_name=$(echo "$service_name" | sed 's/[[:space:]-]/_/g') cd scaffold_out/$modified_service_name git init @@ -427,6 +445,7 @@ scaffold: git remote add origin https://:$GITLAB_ACCESS_TOKEN@$GITLAB_HOSTNAME/${CI_PROJECT_NAMESPACE}/${service_name}.git git push -u origin main + # this step informs the executor of the action that the repo has been updated curl -X POST \ -H 'Content-Type: application/json' \ -H "Authorization: Bearer $ACCESS_TOKEN" \ @@ -445,6 +464,7 @@ create-entity: - apk add jq curl -q script: - | + # this step adds a new Port entity for the new repository echo "Creating Port entity to match new repository" curl -X POST \ -H 'Content-Type: application/json' \ @@ -463,6 +483,7 @@ update-run-status: image: curlimages/curl:latest script: - | + # these steps provide the executor of the action the URL of the project echo "Updating Port action run status and final logs" curl -X POST \ -H 'Content-Type: application/json' \ From 224f8f00db296ced052f7d197cd2af0f6c7000f4 Mon Sep 17 00:00:00 2001 From: Matan Heled Date: Sun, 16 Jun 2024 11:54:41 +0300 Subject: [PATCH 29/56] added pictures and flow --- ...ate-slack-channel-for-reported-incident.md | 86 ++++++++++++++---- .../successfulAutomationRun.png | Bin 0 -> 186038 bytes 2 files changed, 67 insertions(+), 19 deletions(-) create mode 100644 static/img/guides/slackIncidentGuide/successfulAutomationRun.png diff --git a/docs/guides-and-tutorials/create-slack-channel-for-reported-incident.md b/docs/guides-and-tutorials/create-slack-channel-for-reported-incident.md index 00ccb29d1..5a1901a91 100644 --- a/docs/guides-and-tutorials/create-slack-channel-for-reported-incident.md +++ b/docs/guides-and-tutorials/create-slack-channel-for-reported-incident.md @@ -50,7 +50,8 @@ For this guide, we will be making a few modifications to our pre-existing bluepr ```json showLineNumbers "slack_channel": { "type": "string", - "title": "The Slack Channel opened for troubleshooting this incident", + "description": "The Slack Channel opened for troubleshooting this incident", + "title": "Slack Channel URL", "icon": "Slack", "format": "url" } @@ -68,6 +69,7 @@ For this guide, we will be making a few modifications to our pre-existing bluepr }, "issue": { "target": "githubIssue", + "title": "Github Issue", "many": false, "required": false, "description": "The issue created for documenting this incident" @@ -283,43 +285,89 @@ jobs: operation: PATCH_RUN runId: ${{ fromJson(github.event.inputs.port_payload).run.id }} logMessage: | - Added relevant users to the Slack channel ✅ Done handling the new incident 💪🏻 ```
    ### Automation trigger -After setting up the automation backend, we need to set up the Port automation. +After setting up the automation backend, we will create the Port automation which will trigger the backend. +Navigate to your [Automations](https://app.getport.io/settings/automations) page. -### Testing the automation flow +Click on the `+ New automation` button. -EXAMPLE: -Now that we finished setting up our Port environment, and our action backends, we are ready to do X,Y,Z. +Create the following automation: -#### Doing X -Let's start by ruuning action ... +
    + `Incident management` automation JSON -Click on the `...` at the top right of the entity screen -> click `RUN ACTION` -> choose an `INPUT` -> click `Execute`. + This automation will be triggered when a new Pagerduty `incident` entity will be created. + + Replace the `org` value with your Github organization name, and the `repo` value with your Github repository. + +```json showLineNumbers +{ + "identifier": "handle_new_incident", + "title": "Handle new Pagerduty incident", + "icon": "Pagerduty", + "description": "Create Slack channel for incident troubleshooting, and Github issue for documentation", + "trigger": { + "type": "automation", + "event": { + "type": "ENTITY_CREATED", + "blueprintIdentifier": "pagerdutyIncident" + } + }, + "invocationMethod": { + "type": "GITHUB", + "org": "port-labs", + "repo": "port-actions", + "workflow": "handle-incident.yaml", + "workflowInputs": { + "port_payload": "{{ . }}" + }, + "reportWorkflowStatus": true + }, + "requiredApproval": false, + "publish": true +} +``` -This will trigger a new action run which will appear in the right action runs bar. Click on the action run to navigate to the run page. +
    -When the Port action run will end, you will get action logs which will show you info regarding: -- A -- B -- C +Press `Save`. -The actoin will also create a new `X` entity which you can see in the [X](https://app.getport.io/X) catalog page. +### Testing the automation flow +Now that we have both the automation backend, and the Port automation set up, let's test our automation flow: +1. Head over to your Pagerduty account. +2. Create a new Pagerduty incident. +3. Navigate to your [Pagerduty Incidents](https://app.getport.io/pagerdutyIncidents) entities page. Make sure your new incident was ingested in to Port. -Click the link the the action logs to do reach X. + +

    + +

    -You have now achieved your goal! +4. Navigate to your [runs audit page](https://app.getport.io/settings/AuditLog?activeTab=5). You should see a new `Automation` run was triggered. - +

    +5. Click on the run, and what the logs. Wait for the run to be in `Success` state. + + +

    + +

    + +6. Navigate back to your [Pagerduty Incidents](https://app.getport.io/pagerdutyIncidents) page. Click on the incident entity you ingested. +7. You should notice that the `Slack Channel URL` property, and the `Github Issue` relation are populated. +8. Click the `Slack Channel URL`. This will allow you to join the dedicated slack channel created for this incident. +9. Navigate to the `Github Issue` through the relation. Then navigate to the `Link` to view the Github issue created as part of the automation. + + ## Summary Provide a short summary of what was achieved in the guide. @@ -331,7 +379,7 @@ Feel free to further experiment with the use-case by doing X,Y,Z. See the [Next Steps](#next-steps) section to understand how to take this guide one step further with your Port environment. ## Next Steps -Provide ideas for extra steps for this use-case. It doesn't have to be technical, but just pointers for interesting extentions of this guide. +This guide can be enhanced to meet your organization's needs. Here are some ideas Some examples: - How can this guide be connected to a standart Port account diff --git a/static/img/guides/slackIncidentGuide/successfulAutomationRun.png b/static/img/guides/slackIncidentGuide/successfulAutomationRun.png new file mode 100644 index 0000000000000000000000000000000000000000..a72eae424ac1e32020df233f0b50f607cf88371e GIT binary patch literal 186038 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 z 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 z∾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 YuccGgw8?`&F5u^askuq1v1|N40HYyKJpcdz literal 0 HcmV?d00001 From 1122cc2111328e7135e0851ea4ab493a850f1188 Mon Sep 17 00:00:00 2001 From: Matan Heled Date: Sun, 16 Jun 2024 14:32:47 +0300 Subject: [PATCH 30/56] added photos, next steps and summary --- ...ate-slack-channel-for-reported-incident.md | 57 +++++++----------- .../slackIncidentGuide/newAutomationRun.png | Bin 0 -> 9069 bytes .../slackIncidentGuide/newIncidentEntity.png | Bin 0 -> 13190 bytes .../successfulAutomationRun.png | Bin 186038 -> 180784 bytes .../updatedIncidentEntity.png | Bin 0 -> 53016 bytes 5 files changed, 23 insertions(+), 34 deletions(-) create mode 100644 static/img/guides/slackIncidentGuide/newAutomationRun.png create mode 100644 static/img/guides/slackIncidentGuide/newIncidentEntity.png create mode 100644 static/img/guides/slackIncidentGuide/updatedIncidentEntity.png diff --git a/docs/guides-and-tutorials/create-slack-channel-for-reported-incident.md b/docs/guides-and-tutorials/create-slack-channel-for-reported-incident.md index 5a1901a91..db6ab48bc 100644 --- a/docs/guides-and-tutorials/create-slack-channel-for-reported-incident.md +++ b/docs/guides-and-tutorials/create-slack-channel-for-reported-incident.md @@ -16,7 +16,7 @@ import PortTooltip from "/src/components/tooltip/tooltip.jsx" Solving incidents efficiently is a crucial part of any production-ready environment. When managing an incident, there are a base concepts which are important to keep: - **Real time notifications** - When an incident has been created, either by an alert or manually, it is important that a push notification will be sent the the relvant authoritizes as soon as possible. This can be in the form of a Slack message, email or any other form of communication. -- **Documentation** - When there is an ongoing incident, it is important that different personas across the organization will be aware of it. Hence, it is important to document the incident in relevant places, for example as a Port entity, a Github issue or even a Jira issue +- **Documentation** - When there is an ongoing incident, it is important that different personas across the organization will be aware of it. Hence, it is important to document the incident in relevant places, for example as a Port entity, a Github issue or a Jira issue. - **Visibility** - While troubleshooting, it is important to provide information both to all relevant personas in the organization. An ideal place to manage an incident would be a group chat with the relevant people. In this guide, we will be using Port's [Automations](../actions-and-automations/define-automations/define-automations.md) capabilities to automate incident management. @@ -28,8 +28,8 @@ In this guide, we will be using Port's [Automations](../actions-and-automations/ - Prepare your Port organization's `Client ID` and `Client Secret`. To find you Port credentials, click [here](https://docs.getport.io/build-your-software-catalog/custom-integration/api/#find-your-port-credentials). - Prepare a Github repository for maintaining your GitHub workflows, and other dependency files. In this guide we will be using `port-actions` as the repository name. - Configure a Slack app: - 1. [Create a slack app](https://api.slack.com/start/quickstart#creating) and install it on a workspace. Save the `Bot User OAuth Token` for later use. - 2. [Add the following permissions](https://api.slack.com/quickstart#scopes) to the Slack app in **OAuth & Permissions**: + 1. [Create a slack app](https://api.slack.com/start/quickstart#creating) and install it in a workspace. Save the `Bot User OAuth Token` for later use. + 2. [Add the following permissions](https://api.slack.com/quickstart#scopes) to the Slack app in **OAuth & Permissions**. Create the permissions under the `Bot Token Scopes`: * [Create channel](https://api.slack.com/methods/conversations.create): `channels:manage` `groups:write` @@ -93,7 +93,7 @@ After we set up our data model, let's set up the Port automation. The automation As a backend for this automation, we will create a Github Workflow.
    - `Handle incident` GitHub workflow + `Handle incident` GitHub workflow YAML This workflow is responsible for managing a new incident. It will be triggered via Port automation. @@ -300,9 +300,9 @@ Create the following automation:
    `Incident management` automation JSON - This automation will be triggered when a new Pagerduty `incident` entity will be created. + This automation will be triggered when a new `pagerdutyIncident` entity will be created. - Replace the `org` value with your Github organization name, and the `repo` value with your Github repository. + **Replace the `org` value with your Github organization name, and the `repo` value with your Github repository.** ```json showLineNumbers { @@ -344,18 +344,17 @@ Now that we have both the automation backend, and the Port automation set up, le

    - +

    4. Navigate to your [runs audit page](https://app.getport.io/settings/AuditLog?activeTab=5). You should see a new `Automation` run was triggered.

    - +

    - -5. Click on the run, and what the logs. Wait for the run to be in `Success` state. +5. Click on the run and view the logs. Wait for the run to be in `Success` state.

    @@ -364,33 +363,23 @@ Now that we have both the automation backend, and the Port automation set up, le 6. Navigate back to your [Pagerduty Incidents](https://app.getport.io/pagerdutyIncidents) page. Click on the incident entity you ingested. 7. You should notice that the `Slack Channel URL` property, and the `Github Issue` relation are populated. -8. Click the `Slack Channel URL`. This will allow you to join the dedicated slack channel created for this incident. -9. Navigate to the `Github Issue` through the relation. Then navigate to the `Link` to view the Github issue created as part of the automation. - - -## Summary -Provide a short summary of what was achieved in the guide. -EXAMPLE: -That's it! You are all set up to do X,Y,Z using Port!🚀 + +

    + +

    -Feel free to further experiment with the use-case by doing X,Y,Z. +8. Click the `Slack Channel URL`. This will allow you to join the dedicated Slack channel created for this incident. +9. Navigate to the `Github Issue` through the relation. Then navigate to the `Link` to view the Github issue created as part of the automation. -See the [Next Steps](#next-steps) section to understand how to take this guide one step further with your Port environment. +## Summary +Using Port as the automation orchestrator, we created an incident management flow which helps us keep a high standard when facing new incidents. +This automation will allow a faster notification time regarding new incidents, and a dedicated place to keep track of the troubleshooting process and any interesting updates. ## Next Steps -This guide can be enhanced to meet your organization's needs. Here are some ideas - -Some examples: -- How can this guide be connected to a standart Port account -- Provide more ways to ingest data to the catalog -- Add interesting properties -- Create dashboards to view 1,2,3 - - * [Find a user with an email address](https://api.slack.com/methods/users.lookupByEmail): - `users:read.email` - * [Invite users to channel](https://api.slack.com/methods/conversations.invite): - `channels:write.invites` - `groups:write.invites` - `mpim:write.invites` +This guide can be enhanced to further meet your organization's needs. Here are some nice ideas you can implement: +- Add a mirror property in the `Pagerduty incident` blueprint, to show the Github issue `Link` in the Pagerduty entity page. +- Add a DAY-2 `Resolve incident` Port action to the `Pagerduty incident` which resolves the Github issue and sends an update in the Slack channel. +- Filter the automation tirgger to only run for `High` urgency incidents. +- Add the Port service owner to the Slack channel as part of the automation. diff --git a/static/img/guides/slackIncidentGuide/newAutomationRun.png b/static/img/guides/slackIncidentGuide/newAutomationRun.png new file mode 100644 index 0000000000000000000000000000000000000000..736fd91be496a09fb18f8eb00e0af6b6d3e8811d GIT binary patch literal 9069 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�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 literal 0 HcmV?d00001 diff --git a/static/img/guides/slackIncidentGuide/successfulAutomationRun.png b/static/img/guides/slackIncidentGuide/successfulAutomationRun.png index a72eae424ac1e32020df233f0b50f607cf88371e..d3fcaa641045da61463573ddab5cfbda927d1707 100644 GIT binary patch literal 180784 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 literal 186038 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 z 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 z∾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 YuccGgw8?`&F5u^askuq1v1|N40HYyKJpcdz diff --git a/static/img/guides/slackIncidentGuide/updatedIncidentEntity.png b/static/img/guides/slackIncidentGuide/updatedIncidentEntity.png new file mode 100644 index 0000000000000000000000000000000000000000..9705aeaef3a6a24772feed35698c3c27a56ae8a3 GIT binary patch literal 53016 zcmeFZby$?`*EJ027$AaD0ulx-jdX`J(jciI-N?|5fP$2ibazR^&?=yG_mGl9Hw^Ke zbKk$``<_Sn|9g+)eg5%qyqqh}YoB|sz1G_EQBgq>80Hn2CugN{fk6D%#r^n^_v6p-Fv=j=iZGIey=J>oSMy*3*4LSG-I- zVVRY*BWlb?w{c}|`J_@h5^C5=+`ETvB%&^XuM-VZ$1i0JYGD4Eo?09XQ7Wyc;C>JH zSZ;8d{@oR~mC}_IhfHyMM~$Yq@-Tw-S~f;FT^B*%Ne#P!!NP+YC2w?9VGOP2@bBIC zN<~F6&>p`#+}ge1^v>SEE??ETyg2tF;2{?Z#6rXOwY|?AnDB9%RlL3Su^kgy?u#EK zbF(J;IOePjl1Myogmrbb8sa|%>*i%ctv*)H$PKI}WniYWXq~B4v zxIE##sD5iKwPgN)QbvIQ8Ssd36$_S-yvS_yMp<$DA(k`y4tpZ~PDrAmb*SXj!#(cg zi-AgF5%hP7&$f+a_kNc>S^AQ)Kp@yYU&vxs^tSY-MJUhw3GDN}RGv_DZ_E<2RLFCw z6@$Zvi3P)0%EYnxcFiL)q|a+ybb}Va)65|R4}+4aRpWuYaM zd9O_Q=&288+JPdS>RmOl14X=j_8~};50mJ%J^|BPB!1JvDX;P60#?7?utZ~iAIE}q z82DtC$`&&bo2Xf0+qeeP+8gKF#y0UWn>!Zyd;MlSTJOhc_(~JB?D%+#KA10B(>^O1 z4AHCJ&c8qGZ7u@MI923Q^vjLS4KsZfA7Gr?-KSux@9;D}xaUQQsEw#b#!<#(|8gH! zpV*4szQ!F$Mks45x53z#2XdIk#Muv2K8^>Qecv~*e)EE5t5mb_@d&O(*g#2GD@Mdf*PI~=##Vr+h`WiFONI!VSnuTam#?jjj~>L}`{juOgaQLR@UP^-#!$mLg-D2UGu z$Y)Z47flqLDu)y=Wwxm?DDkB`>XWH+DdDK-r!`8R2c5nT$PNe#kTT3^dleEJ9~5sL zZx&AwPxHLJ!c>b%3!@0LNJXoc81oL{6F;R^?)C?x>Z6ClF{YyyM;0$vAFPS56%LvW zyJX4^8Ld$x)K?ByLJ?-GkTrs}=Lq;H%?kU0%7N3$(dtW*2PER8mMkkQ51y-Xz9l7m zz)32|k^Z2T#EA6y12{(;346$3h!e3syN|r3yt2HxTygxjY{zVjLEY?YSS(l%32zZ` zJgYH$!D$$`823B@JB}g#=9d!oEf%jzMVmKM--@u1gr1dOD}R19t#E!#XR~Tj+fz2V z8xsAIU^KsNE&F-v#H4E_H0QvARE4y$+d84HieplE61z&EN`HNQd z_ENFFQ}r)O#)@cIX@pw%A@I0#xsoUKs!g65s*@ln5z%%2bz=?P9s}R|4YS(KUPk4F znS3;9imlhk)TkUav?1HV-!k5^qtH$v5X|vlZMXx_d%}PfBuM3-6Spi>;8Q zkU5bs8P}8Y%;UYA_^Tg&QW;XxZ(l}Ps=BMH485%|ad6px-SzEDG;6G(njxe#$*!g* zx2C}kFSvowMxXz_4XOS^FSn0#pBH7BnACLROZUZnEiq{3OdnIT^6m)Fn<%j4_^?O( zP{@}jS$4H`ven<7awe!}ZDemsynHs!Q_Jtd(aK|_-JzLpVQ#c0>l2u&wawejRm5b) zCcy2Xe_H)%<#x}j=M9AQyC1D;}d){}e zKW!Z(44$4SuthC@)`&cM^J=IpqjNC^D^~v(*RPo`mxaxBvpEDS1XBb8{uBNdSb^$g z>LVq->QqH*uZrqmrUySsQl2A6?~i7eoI{gZVY|?+5y_G*rU6w$}N1 zKGHFg}XdU`W+M;LY^&jh22XJD9RL{4q-t8`3u+^2pwZCe= z*S5BS!eLE1#r3J~&f2q8hnO!Uq+9DYZcj3+PpFP;P;Q2=KPbe^U7O0Qe%IO4JDfLM zZ9Zk8Wif2QHKMRNzX5BUv~rS7dZB9u&!K<_O&1;I+1Rj{=1%#+BdeFq3{?$hUUsF# zALef|!jVQPwllLAU(c80*AwFJ=2FmF1SC*(8{S;N(c}B=l3U(dnANCOTDi}{{fy`A zZ23ou4aJVoz`H1yip4J%r4yW5+R}VO$uok}5fiLq#FIRIi=)GX8$biI&j$bzKNhs98wXC&M%@PpGh(qyilnYT0b z?hGp<%^N=_owk0=5Z8Cs@wqZDOe2skM>*t$E+1SpcR!rw?v|b|1k8N$vLLG<J4W{f&X-5q zDb9|Y$@los;^AnwBsm`R>sp}oNlvN$2%zk}XN^`>6|**V#>Zap66=5x?O>S^qkf9Q zk!%XY_UWO?OqbiS`|ur)fv# z5{e>9ia$bWUyGDB6cob=5a04YXx@YRS26^RF<=E@ORPicyo0>GQ$I-Ei)Lz|@o~Di z*}LBT)|ib>&iM1pi90p>J4Ee_w0$rC5zn%*R-R&h>tQ6<%;TBrX}v5UjhHwI~A|#+Fw@!SI=S+?#mmJ9;f{KKD>q1 z>G9kf-R5}uu(k< zY57(E;;+ZJjw@9rEMvk;Fr0q5pEjpM!eeyL)m2JLn!t3hBms7kN z;T}hDB_iDl(+FMH)hzXLV|nDsa!Ll1iaMTOJIlMJu1rXh;K^^i1b&w?HytN9bOhY& z`&)$1G+!^YhgE0GCs0?oml0~!JC`CqRW|8+p7^J#l+BLg{LfVquEmvlMnHvqSM8O& zryPww{O287A%Xto7h&W{EAs@NwRkW2`xOLF-qxM%cH-UTj($GDP*QJTl4uto zpU7P*tmaE>&@u`ke2eiv&kbG(J}xbn2o2e*w@xtT7zH}pW{D)*VKt5Mwc&zbn3lhe zXCRs5SDIw!Z`QEY>I+g6PFRX@^C%cP~wTE{&j6f6grT6cM{lKVbEB*z8&MH*15H*ilU-JZibG z;QRz*DWOX3nZ<#n9UajONxy3B7A((C4@wC;xpbkIJM9!3emH_3YOR`V^qCtp1cXjk zGI9|=)uBmTHp!E*f;SsRzuzRj&AW(v;OzHDvwYeg zFKovAa9w${bgq$V;w)9fZ;Enm%{Zsnkc`(s%G3?hk#^E#Z7A;~Mrbig#j@EOUA;)_ zIoH;EJcX~ij^nM37pDmKPP5aJrVDec$*RhuX*Xv6mo2g1@A7qla4}5rJk8svT~3~J z@o&(CIpmSqHltf7RL^+U>DsnHvdtPfEXVp@gg!K@+o(!N`JGH)shpJJb#da}XHeP<#vLfuP%=C1R@f-H@U3QKhzZZEMI8{*=#J=~iRE5DjF>y5T_G?O<2~&Wb#6 zghMsB&c7Ij?nF+dZju-xIv7eSHmYZ)t?PH%w)q=OXBrz;-xcaLz!E$st*XamnH%u+ zvYoc3=SI(wM^1)35I=>vxca{mo6q~}G7lYOvb6=*Oc!5cT6 z?(VU1Jl$V)?BQ9iq5O4E^5GnYS^}q4*(0%ln$%E?7rp#@pDN7;+ptB8XFro;3g&gi zv9~vjT3~k+wG@(aSr=AkTUmHOJ{*o2;&2t^3RQHM_waU-1>TS=(XFe(rVyOkP!TEZ z6-0KCaG2sw7lvMzwv)fxdaf6FSU?#E%QOpz4(Hg+G|nw%G=T69Nb)!ww|)hA??A&1 zA6Izw+Ww=uLwgOWbxjK-z@a`T#S>P?kc{DK({K<2MT~U6`1IgSAh~OZykC;S3Ncdj?qHN`_u{12YvSvh?^E`H6rMGmo36`APC5lQ&DNS=#9>jY6wm3nuE~YS zj8rK5^y$;AfrM)jWejY1I8UX$$mthVY|R~dBf(YfFrf=)uJdlLnL9TV_fMOz;W!LN z6J&b7>`fNfh>#>N4Q6f}i{~)AUwN19_KmqHE7e+iqiV}0&+|gbF!Exi2nL2a={Ttl z^8pJ;fvTzor06Y!7-ZgefpPVL0^bIQN=!V4Ha%vH8JSUFp4*#@7a{95UdRMD+T5H~ zOes1kf@hv}FtJCFzjAdDwcpHQ( zyHH}mxg_y=#hA~&Hxer}Lr9*>`Op%~ByIkD66Ubw=aY>ibk-;D1~L(RFIOpJ zs@#(nEi0YLl8UZFZx@}$DhKS?;<_ZgmkFHmFN@tz7GpPG#pwyo?vFkr8dK_%x>kg= zi#n^HEtlh9is?{!DL`uNOf_8ZmgIzZ z&I+4Tak$Oq1(EB9H!0k|CX|$>-DeaW%mZcbWAQipzpD9mtgyP>Q}^ayB?UW)1_U8{ znO%vW2_Z3TFP@THo~(Z;@=5=^se$0K7AIUmqbrhrNt=B zY;7$oebb4)qoV&hulbjj!)8%lJ1GwLR(1or$-ct1IOZ2beKUBgehiOc5&`I z2cPbMoA0ZDBNM0EGViAVBTX*Le;j<{Ouhfm&ro~yh*8V< zGh234YgX|m3C8j9aS2`j#e09mb?!DsD+ued__73RtKp)df(PryIdbu)B2-2P$M=cF zcLopExA=1`pFqO#r<4LBnh*&vcpfqlrOz@7P<_C;I*u7N<>}YSrIpi!EyB4`e*!4>!s)+-Ey`gWW^xujvI7 zGCn4<+w!RTOo60Z6J@17-SlQPW+(nD+R|^~GpzjHQeI|H>^KdD@-k6a(uXiXl@fLO zB;o7$PfxeJE)f94FfFrN<3CdlPY(k zHs2_?@QEFhjK8sF(pcb6gxFCoTwsR0bA{^RbKkvkCHC;}79?#u0$zlDd$_rh4i^|_l_6g4|ViFwtL~hnDi{0h< zALJ(=MBXN%^f(!*kr~vPP|HYcih6h8d?B5BT2k&O*kG z67@pOHyM&)OkazA-6pEb>L2?l@bK^)o+3)>>Uz!GX;NBMUq87mw=I(Y^Alau8Ysyt z`n#Y0sJCbs61cR7!t-GB@Jod5sJ=hXfv3X^wF+579RY+;F%G+d*971WoLl|^ZMi$a z#Oo3{qibsofQe@rR<3EPWe8X1K@`8R9?@e;P6RliOIp~V*;K%3o|sAM-1ryENzq=IM+3H01lJ(F|*X$ct%f%Vd@ z{FViv_q;Qc-{Oqc$T2TBVccao$)tMPwE!#mU~RZlo`U7Ia3kMb?Z0Z z4(cjy7MAzeQEkJx*&F>2Pz-84?tT4KTsktVxjhPg`e(t&g|o zMk>ry22JMLBL=*8U<Jd%(#=7J=-s{Ctf*;y2anAEpO0*|#49Xi~G# zpLD3oQB#A#MzTK@TUc1sq!58LpQjqsT4vr>wdn1sFlv|;Eo1jz&#Q7S4QvOb3=ZD?1$C7335+RamiZG3bJ!R6V>4P$>R)2p>04-JF zR7*dQQ*Rjiqc1?i$YWBZk5kC=3^!5}f~ZG9)b(VFv?>kmK1g0+rB}?llb#;qdaxEp z{)@@ez3A;$?D?ZV`qA)B3@Y+LIyic+&|gtX=`Fm9h3i1?p;GnXubp`dbkDvD1Q!}W z6#8pPQuiUsu5vW+QUx3W?57GMS2c$?K2eQsx~{m&vVVUc%|{9yHYyRcP5xIN#uZNe zfpI-aM(*d0zb*?d^B8iA_kX|l_j>>Dy8NFKFC82!6{h`KquOfjo4(fJU8baH13Y~zeWz4qM8K9g%GZZqU!1R-m~+gnd*fwp=qNq)3)$O zV*j)-WUeb|BPIGm+KukD+83kxUQqOBMn$x#>DKRr&bIv$I1SrAZF3F}udkQ)avCM( zVyV9EV;DIM#3nT+(sO>}%(s@D4UNuQlm!a*1}I3|HY$g;%2_g1fcKd|zxnWW0+&q{ z2$}D{cR?fb8!?g9y9pZ3%GJS~IztzLL^c5AV}lacU0xtJ{E75zTg1Fl88nJ30ChEu z|Mnq=X*i-Rdn4OEj^&MSfnIwkneIr!rN@A{M^%LG0w9*GdIgSjj>GreSilN9b%EB| z(#LzCZmZD(kQFdS?W(R5^VU3-9N6eCy}8nj;RKt;Rd=JaHd31}7$%J?d#dUQOV|&& z`#^)kJ~;D!P5943@LC)5slZBRu_!&}zIY6^eEgU+O%gu2iZp!lVlU-#Y@*WQdoX=p z+N>m~YC2U>7((FUbxHOeblJ=&Cdn?@Crt7bp2ulPZkx4L=ZBMZlp38ejJo0C3sNWP zr6GErCq|PNB@I)a6+QWC1yh#L%izj$u-WRoV|$fPRx-lm5T|mFAR71|^0cdqXVf}` zkg0)dg{Pe@+PS+Vd(xe`bzg!oXaJp3i)EiHo9ydYrkX0Y2s&-nkjX6XS*E&m1I(45 zbkV_WwF4$@05ZqHNJB}vm~`M-va#{xEoII-27_V}dk$x(Nqt)?>gwt~)}Pj@awIFw zhf!phwE%Qs5J9h&Uvu>FqHj5E#wA1og}sgxg%y2R&qH$S0T{AAV&DXLm=^-Yef~PCnoGKgsZ1MXpv{L(f zy+V`g!Q5}FQX%fCrr z7(Brw%&W_Rx#Snjf!JTc;OKZQn@Nk1Zh-;9X^6+1%*ZDXVft37Z#6d~)Lw)U@_Qea zE0Gd+L4C1xdC_|~?FMi?hGK`~0KdnLiE3C#vhBCq){UXvCie-UUeCh*-117-Ka)Es z2Yi-caii0GV>DtK*VQE#YnRSE)FG$bC+$Ny=5;;tchEq4!5-z)d?b6Vxl=il;1qE($If6_Sl!?!nSm5-HP*NtsW( zpb#g_w^d($eu3P|W_pJ?i?6=#mivqqvgxkWOrzEJtC#s#IV?Q?*gH}W;iTpBvU{&- z5HsNP{wpD&B$Gc&fQ&ZfstAqI*@fqm>Qc-pxQONV?4hbK20em#~m9#*em{7}LFRN77<*y+(>+k91 z@tUrtCfiJJIA0C^dltUSA#!l%qWk*j;`2Y@Y!=ma(+3eVtJ3g|+|JJ!9My2g1eBaG z6YCIylWCa^7M8u9zzC1d@CCfeoioDtRQspJ9UAEOJqg`5ju)Z57(0W0y=xbluOk{i zF|4F-LL;)iZdkZLKdz0J=O9G0CgR{~qrm=<$q?xifVOJEh#tt#c8eSfw zDYFE3h3QBCWTpF>hFgLEHW(*pb;wD zKX5*8F1NdlP%gj*liHS*XJuN1jb<{6zn>E16OP z>&oNHq7c_1TocSi`^=X0JG(ifiB#_ygV7T@T+rJI`QLmUrlT(MG^ByR-4uy=m%b*8 zDgE?(RBR#1EFK13do}KaDPy+IZd6Y9A$uqP?{sS6!*-jOZg3G$0d{_z4BMG@Hm8Rh z2=GAOQCoz+ar72g^6C;W7@jGO*QIKmT=Vc&Gth(c9r!&Aq6#ApIeaqks@uP zMz>VUx9NO6bc2PjqU=KIU;R#_+k3HK2I`y5rnR}2KC!9D)=y~1TEiwr&K;@{X#x%< zk0=NYDf~b_r6{KV!AlZKok912h!{0oseq1KgWPY|4Dx)2)O;0MMls9i9~}L|!l1+a zpLo))WR-UM;y`W^;GeY%UCjB)qUh|^v?d(+L4E=&{RIcQTUn`bOIhZ#%=2Geg8ygI z3}3<^PGhdn?$~|6VSDTg!J0Z&Xz^B7TFYGjOu(T2rA;5xGmW`}bDpuTsG7oNCXeN1 z3l9V%IN?#o!7y336OXLFA-y!&J~EZb(NpovbaH^z!o5)3lj49zbHFZUNKJL}<3ll- zmS>PQe0OD~QJ9F|jatemoG&j5ga-fY{%G@r<8CI&xS|z;)Lsf1qOu3v4wG=U_Yf%G zs~B%kdR^yna0B(bzrGoVCX(~{q?8kbjyaW2)cg)D_EIAXO^7TYMoUt553+s#D7mYQ z!hLiNLPF+$RuQm1nVG_Icb+DHzOQDnSM>O_WImr5)9zcT>=7}AaK@QkwIa9h>2cXtR9E7k{XuE``%(A~dYeNK z`uDe2+=|aUiq>c(vv_>PSAXDAuHat__;uAaTTueMJKu=-6)*3@BM=ie?nGX-E*w_rL!d9<(rdyg*ax@gS`5Gn3SiE!oSKOhu z@M8?tb_ZpQD7M5~+*IFwvR!o^5uYz2G$C_9jB!=GD%x;qgM_8Vs;pyNaf&0mp(E+Fh?&ELO0GS~K6=xN7g& zfnx+3p$Atzg#jk6Ly+|MJ6Eiq&pbFrU;Gg9C&h<~s~`9vs3QZ2uez630ua6;iA27Sj@N%GMZtKzc-#wI@VLhmCXE&vQDN$R3Ad& zb@oQz>%3CeZKIMClX*?Y{-J+0z$8D zz=05XE92(dEwmj1LK}|%fOqMO;na&*W_@eW)|Y}FTpNhj>tDa$EeBofWWCGYI*=Ib zI^6-NIYe$XO^VzkdyA6n6F9A>xQV**b!yAVz`-ietOr&f0UOEWFPap~=jKDUgT6w* zDPkO-l9XhX#0xDGI2?PzoiKXUyOh9}GS612fK}SeOrv!C1U93fgraA(Mo;r5lVJV2 z?mMkalmK|N`MV;Ds;BH{-1kC49`Xz<^`>l17a*tTauN+tC>%>Ok6{LMFY8N;nqQlX zYnMp0fk(xS;w)`eJ(fv#idWx##~->mHQsQS>AS^M(U^Wa%B4?w*a{A-luza#A3h5p zwf+he^>%zTSI`ewp^CF6hiM;W>~Q9$Gd*Yt%jdoaCcq}l6zv(^_PV(yfv&tl4mcwA zA{9-S%kv}Mk!TE6EsYjB==tAD1c-5b{Zu(X8ml{jbE#*^5Oj8TSH2WFADXDLvLIQX zj713$EBzVglNh~gu1A0`dw)%h zxdREm^H)Y)*bw$vQS;{;L>eRgi?RCT#f=z>adB~*4L2TX0K1f3?`c}<@KBzLykBsE zMRHKv`_tovFgU_lh~q^RTi%Vk4^6eJEbR~||I%TJ*Lf%QGjbcWBIFXcjpEP`$ zgZmf|C-9_IYPm13fv#Q&D3|uT+_PvJ-{1A{v~Sid+$Fj-zyU2lfNn_O;&@>sUyY$a ztsrK&@YP_*vTC)pu0?;kzgtN(;F%Dxw$&5h9r)<^L69&u`(^;Enz--nC55DUaFp;G2aM0WVJ{Mc~dNFK`Uc1~l zB*Ak~o~w2zX8%Q;0;oZlhWMLVQb_V}n zJ%K>uHAwfMZ*PiArn^NM{?O;!#Okj+h#Os=u(GcL7U8q6fcuj4=t|@n)B|pTqwSlK z2?-V;H}BY3{r(wo2%M|_GkX~5*Ogz+qTH+~x&Vv z{3{2)V-fC(TG^iKDtEk~WFW3X8BI0-oN}x~p$oao!d{-`hev`844pj!M^o-1*%rmM zZGcL#kdNn(esM5%6XRBtulGd+!-umj_TDk0SY5*DbYI05N_*!QboI0$Rx=KR@{@(0 zEn-8L9FVwwcwPCPpFeN)Ed7VxTU39oU2$#RL%;6=z$ne;ci#iBPnggMG*hFfe-vob zZTNOmDn7a{Q;;NR@Z%N|@TLoTrp36aMh@Z9w|Q5`=rxMh?<$F8%S6-r&se0xifKoJ0KtA=9>rQ-ob zsl_9uzZBr7b{G_~1e?!KKHV&bJ5Ig=*u@I$yr3y}f9I5_O{l;08df~{DNTuYWY9%~ zq~l<}gNK>>?+D2$BF^*qI}cczJx^C@y3>J`f*328^%#Yw)|i{jF3uW6WQuGR77P0&SoP1()tH_dL=ZB-Q%!#d6>l)i5Q ziRW%kpBLyQ94}6m>+r(a7>BVH;ghNkY>MI1ttB~ldH~68G$J?O!QJ3peK_YOO2*lz zu?*p!U}wU*n7X}y@n!>rxl>DtR;Bs4VVHn%es$1AY@V!-f;X=^WSoFQgEHh_VHCuK zVzc!49p37-&Ujb_LiBS`W7q1LR+FcPlgMebhMx2aQuIwSCNIjy;|O%3+P!k74~X=* z!>n{UI*&KQxRijOf2Z$20UDfb<6-rF7#@v6MF2J_Y>Q^ChX_%3XGZ^E9kQOc9eV*U}U$FCN8QZetfyVZRjX;4wv8%2_zr-e=F!*O3mNg*i zLifIro**RZ7nF5Gy^y@dkUWARWuzW*)Co_(-FpM%rHWVO#uC>>*j;ST;Hdgr^v+zNp5w_yQAUb>5z}J<`@~QS_4!k=4E3rzU0elnyDSfs4feRN@A01*CFzB#GZd57@BA zz$_m~=5@AXjn@&b`kKx@!Q9qdAgNE4!+7W;P4bE!B5*B#Veqzsga-Riw4w&PY7{gN zFOsB$Z?h)DERi8eiXe9&n&Mo4502ny^v8JlAMS;|%$v;{YQ4X_0#xmq!s|xT$9Hmo zMmPQ_@Zo$9e2w_t7E)B{Su|v>T|;$Jcmv;YX zch(lU`5ptFG_h=l?{3!D1!c4i7^3*y48^|C`j}xD^inJ;?Et*gaUkX_G~$`M!8Ffj zE-$J@9d~34Z1{mIKBv=NQCw-&k$&xkmi@0(!2iR6@T5kdaBS1>jLmZ!0KEh+6zzM^s1bb*|VO`^X#YW+H3DT)wLaQQCqf7GV$YDvc-CFrpPC(Pw3a$G|I1! z&%G-FKOGY6_h*7c58d5Cr(w)EM*GisAn zR&a>M!NYAXY{hU|t$u%P{e7q0JCv7BC8^OPM>BY5_O9yM`d)7Iu(5*Ft@+kqI5PdL zuaEq6IxV=nC4IA^B~|53d)6iCX=6HcNbRM>OYPis*!P`p%vdqvB0V^@= zn%CPMB}5xM4}R>lP&~h*#-Z?jz(g%dtDr(lC^RzR!D(7y?$5{!l3;V(f|X3?0co0A zh6L+x`a%vyk`fyF9>2P}_L(yT5otK6R$YxBi+y2XvB=0`^I=()i8-XF2j znNSu6wH}G(hQ=zrC~a~k=#*b}f`s`>EWab@-dlF9WOe5gA^JFUqn}70l8f&=P;QfB z`bvKva&j=L??jZp->N*R()Ubj4k^n)kR8p1e!igt8u#o^LLs{OoTa{Pr7~Z;3$aQY z8H*M@NChWg5njlPhN?Ng5v`X*$qNLn_oL{bos8ALwV!D+chj!d00->`#=_~{jA`PR z{5$VuL;Ek8hG~w4#4l;ioPyl>iqLGT^gh2#yEe@H$xFd2ur5U#8NgZWkHK@be%=>0)FFc|4%CVdTKB@Q}} zA_rw(Zv8s$Yo6MNhc^;{Ibxh%AvxY?_ z=`h*{Syi864kVx>jt;D{8^j)S`&4Dt?p`}={IMqJ=eqeTTas39&jskN{kmyYeNc*U z^Mn1!Cr!Fodj9mq*JHbARhr6{1Gq4;3??PwGOR3_<5sP!=5<++?bV|i+jB|NFy_}* zO9ACpH%#zJ+2wHD1b&%bn?{OlHf}1wIOV%|CfQ-cyGo?ukp|Tk6WB+;5!^VtdQF9h zj35Mi0qK1+b^##Kry9aubuD<3y>>UZ-LPUp~ zaK4!|;Cbo|$w)tJY?D&$hmb>^H2PgMi2OJ_3xZ(Zj+tzB8kuP=MEx)je115$=(JxE z54EJvevVO5YWuvF^R96M)3s>b5>l+n(U#F>(qFowpkaRP7)7bS98zwi?My>GhZ*Lg!9Y4lv)%kOkL^{^_4$@6A#n>mW^n))K! z(Kg_0eTq~I$nxztO&E1n#k9Q%-pat33jJwudhjsJxwz|v?(0$bnuDE|)g{2dLst4T z%p5%y63>X!7&cD$_%E|kcQllF&Sf>8?qd%kbJ)8n^*CR`-W~& z-(|=*Uw&S@l@62NHFp|A<4dglK7L|f9Q}A$$V!Ka2q3Z&$o`l2Qk=f-Fs)W6IHopD zk+HNowZWcxwlAIxZB##0vaKW8Qi2~k#6B~kr(+k5>+cULi&rf%MXJ|{BHFdM?A_eG zKH|@LxZo)or^2%7zYA%3n`%>(Taaln*zu7 zr$V|2WtK|YkZvLBIFR_WFD3m;NVEP>S;HavT$H1vZdwCOEZP}LpWLBsvNm%!*`Aac zU9Q09&0^p_`0wJPPZ^%#k}@z_Ef{k~>28bx1u@gl+gg~zc2?L)!y<$o{%lBB1HQ@; zz)003JmFZ<>Gh!gDs@4M%10(om3Zw>`yFVgDHR1#LTOlUM8*}GfwBx>y<|Kds{TE} ziAzfXbeE3y<)2D_SRPOx>8OC7ktKMS{?E}qaLFhfK$k5py!%c2x7y(obstb-$`m)F z|Fp1yUbrI=C`-FLJofm1vv;kPZ&)q%rA>?nKI9wS#zw+8b>J=)T@Cjh{R0RbkLjk4m=Xs^*!1L1`*eMeKbx1hX z{T2|HC{mtCULlcXMuF##I_1v2^Y`8S|M41q3U}=uT(LA!SC#a@X%#u`~omJ&w z=qwXOr@OTW~eoGyjnDSrGm`6oTl7|XSq|LJ!nB&sC(#E5^^Ht0H zvc7z_41xYP;#Eo;9g@ho^gBxHoSPYl>!2T-E?u#w_hQ8o zkYwcbfb&;#-u&)7Be73RASwU7U!yV9m$VB!OX zso@8a3Tmim@QFIgylOd=t5j-C!!MwxjRZV_Q~Uke(wt=14naWUanb?NyHI zS)c~yh6}2V{bJjkVt#t;k%Q8*GJeJp+nxD|`tpm*5LWgoJtluEA}IE5yA)XlR+L%a zD&VTBQ4=u91P+*uVS4Z}6{x+UZPwE)fcHnLZS;X7;gvL}$_fnSI`_%c#OeX#xO!ga zP^ZtX>!t1MV1T$3%)|Z!yxfX9v4Cp@HW@F+$QmSD9}G=bIq%G4490m2=V7ieLG3zr zX*SCa3sx5oo zdI6YmO9B7HyT(=;N=4%^%5L(ls2;YB~)XphaIN-f0xO2K1

    4}+!7f3fFeoL;S? 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 literal 0 HcmV?d00001 From 57be6c6557d8b814852eb839100ad5a93118e351 Mon Sep 17 00:00:00 2001 From: Matan Heled Date: Sun, 16 Jun 2024 14:34:50 +0300 Subject: [PATCH 31/56] added explnation for file --- .../create-slack-channel-for-reported-incident.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/guides-and-tutorials/create-slack-channel-for-reported-incident.md b/docs/guides-and-tutorials/create-slack-channel-for-reported-incident.md index db6ab48bc..acb205e05 100644 --- a/docs/guides-and-tutorials/create-slack-channel-for-reported-incident.md +++ b/docs/guides-and-tutorials/create-slack-channel-for-reported-incident.md @@ -90,7 +90,7 @@ After we set up our data model, let's set up the Port automation. The automation - Create a Github issue for documenting the incident. ### Automation backend -As a backend for this automation, we will create a Github Workflow. +As a backend for this automation, we will create a Github Workflow in our repository.

    `Handle incident` GitHub workflow YAML From 87ea8d3111ab788af72945b1a1afc4af07e1e619 Mon Sep 17 00:00:00 2001 From: Matan Heled Date: Sun, 16 Jun 2024 15:00:46 +0300 Subject: [PATCH 32/56] added secrets creation --- .../create-slack-channel-for-reported-incident.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/docs/guides-and-tutorials/create-slack-channel-for-reported-incident.md b/docs/guides-and-tutorials/create-slack-channel-for-reported-incident.md index acb205e05..3f13e0ba1 100644 --- a/docs/guides-and-tutorials/create-slack-channel-for-reported-incident.md +++ b/docs/guides-and-tutorials/create-slack-channel-for-reported-incident.md @@ -289,6 +289,11 @@ jobs: ```
    +We also need to create the following secrets in our Github repository: +- `PORT_CLIENT_ID` - Your Port client ID. +- `PORT_CLIENT_SECRET` - Your Port client secret. +- `BOT_USER_OAUTH_TOKEN` - The Slack app bot token. + ### Automation trigger After setting up the automation backend, we will create the Port automation which will trigger the backend. Navigate to your [Automations](https://app.getport.io/settings/automations) page. From 09320ecea25c2114590e0c243f7173aa78908022 Mon Sep 17 00:00:00 2001 From: Matan Heled Date: Sun, 16 Jun 2024 15:20:25 +0300 Subject: [PATCH 33/56] replaced with placeholder --- .../create-slack-channel-for-reported-incident.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/guides-and-tutorials/create-slack-channel-for-reported-incident.md b/docs/guides-and-tutorials/create-slack-channel-for-reported-incident.md index 3f13e0ba1..a0526d3e4 100644 --- a/docs/guides-and-tutorials/create-slack-channel-for-reported-incident.md +++ b/docs/guides-and-tutorials/create-slack-channel-for-reported-incident.md @@ -324,8 +324,8 @@ Create the following automation: }, "invocationMethod": { "type": "GITHUB", - "org": "port-labs", - "repo": "port-actions", + "org": "", + "repo": "", "workflow": "handle-incident.yaml", "workflowInputs": { "port_payload": "{{ . }}" From cbce609ef6ed08a818c69d2f161185773c75d233 Mon Sep 17 00:00:00 2001 From: Matan Heled Date: Sun, 16 Jun 2024 15:33:37 +0300 Subject: [PATCH 34/56] fix --- .../create-slack-channel-for-reported-incident.md | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/guides-and-tutorials/create-slack-channel-for-reported-incident.md b/docs/guides-and-tutorials/create-slack-channel-for-reported-incident.md index a0526d3e4..a1438a650 100644 --- a/docs/guides-and-tutorials/create-slack-channel-for-reported-incident.md +++ b/docs/guides-and-tutorials/create-slack-channel-for-reported-incident.md @@ -173,7 +173,6 @@ jobs: clientSecret: ${{ secrets.PORT_CLIENT_SECRET }} identifier: ${{ steps.get-service-info.outputs.SERVICE_IDENTIFIER }}-${{ steps.create-github-issue.outputs.number }} blueprint: githubIssue - properties: {} - name: Log Executing Request to Open Channel uses: port-labs/port-github-action@v1 From c71f7dd50d354de81e4385626877617a99929fb8 Mon Sep 17 00:00:00 2001 From: Matan Heled Date: Sun, 16 Jun 2024 17:43:55 +0300 Subject: [PATCH 35/56] fix --- .../create-slack-channel-for-reported-incident.md | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/docs/guides-and-tutorials/create-slack-channel-for-reported-incident.md b/docs/guides-and-tutorials/create-slack-channel-for-reported-incident.md index a1438a650..b06115bf5 100644 --- a/docs/guides-and-tutorials/create-slack-channel-for-reported-incident.md +++ b/docs/guides-and-tutorials/create-slack-channel-for-reported-incident.md @@ -151,13 +151,13 @@ jobs: run: | service_title=$(echo '${{ steps.get-incidient-service.outputs.entity }}' | jq -r '.title') echo "SERVICE_TITLE=$service_title" >> $GITHUB_OUTPUT - echo "SERVICE_IDENTIFIER=$(echo $service_title | tr '[:upper:] ' '[:lower:]-') + echo "SERVICE_IDENTIFIER=$(echo $service_title | tr '[:upper:] ' '[:lower:]-')" >> $GITHUB_OUTPUT - name: Create Github issue uses: dacbd/create-issue-action@main id: create-github-issue with: - token: ${{ secrets.GITHUB_TOKEN }} + token: ${{ secrets.ISSUES_TOKEN }} repo: ${{ steps.get-service.info.outputs.SERVICE_IDENTIFIER }} title: PagerDuty incident - ID {{ env.PD_INCIDENT_ID }} labels: bug, incident, pagerduty @@ -173,6 +173,10 @@ jobs: clientSecret: ${{ secrets.PORT_CLIENT_SECRET }} identifier: ${{ steps.get-service-info.outputs.SERVICE_IDENTIFIER }}-${{ steps.create-github-issue.outputs.number }} blueprint: githubIssue + relations: | + { + "service": "${{ steps.get-service-info.outputs.SERVICE_IDENTIFIER }}" + } - name: Log Executing Request to Open Channel uses: port-labs/port-github-action@v1 @@ -270,7 +274,7 @@ jobs: } relations: | { - "issue": "${{ steps.get-service-info.outputs.SERVICE_IDENTIFIER }}-${{ steps.create-github-issue.outputs.number }}, + "githubIssue": "${{ steps.get-service-info.outputs.SERVICE_IDENTIFIER }}-${{ steps.create-github-issue.outputs.number }}", "service": "${{ steps.get-service-info.outputs.SERVICE_IDENTIFIER }}" } From c26b3d566da2fba5967f5e4648aa3ff264014042 Mon Sep 17 00:00:00 2001 From: hadar-co Date: Sun, 16 Jun 2024 20:12:10 +0300 Subject: [PATCH 36/56] update automations examples (#1314) * update automations examples * update automations examples --------- Co-authored-by: Hadar --- .../define-automations/examples.md | 124 +++++++++++++----- .../define-automations/setup-trigger.md | 2 +- .../examples/Opsgenie/create-an-incident.md | 2 +- docs/integrations-index.md | 2 +- 4 files changed, 96 insertions(+), 34 deletions(-) diff --git a/docs/actions-and-automations/define-automations/examples.md b/docs/actions-and-automations/define-automations/examples.md index 851b59f4d..5e42d7a72 100644 --- a/docs/actions-and-automations/define-automations/examples.md +++ b/docs/actions-and-automations/define-automations/examples.md @@ -7,70 +7,132 @@ title: Examples This section provides examples of automation definitions in Port. -## Example 1: Trigger a webhook when a timer property expires +## Send a Slack/Teams message when a service becomes unhealthy -By using the `TIMER_EXPIRED` trigger type, we can run custom logic whenever a [timer property](/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/timer) expires. +### Automation definition + +By using the `ENTITY_UPDATED` trigger type, we can run custom logic whenever an entity of a specific type is updated. -A common use case for this is to handle ephemeral environments that need to be cleaned up after a certain period of time (`TTL`). -The following configuration will cause a webhook to be triggered whenever the `ttl` property expires on an `environment` entity: +For example, the following definition will cause a message to be sent whenever a `service` entity's `status` property becomes `Unhealthy`: ```json showLineNumbers { - "identifier": "ttlEphemeralEnvironment", - "title": "Terminate ephemeral environment", + "identifier": "serviceUnHealthy", + "title": "Service Health Changed", "trigger": { "type": "automation", "event": { - "type": "TIMER_PROPERTY_EXPIRED", - "blueprintIdentifier": "environment", - "propertyIdentifier": "ttl" + "type": "ENTITY_UPDATED", + "blueprintIdentifier": "service" + }, + // The condition below checks the service's status property after the update + // The automation will only run for services whose status becomes "Unhealthy" + "condition": { + "type": "JQ", + "expressions": [ + ".diff.after.properties.status == \"Unhealthy\"" + ], + "combinator": "and" } }, "invocationMethod": { - "type": "WEBHOOK", - "url": "https://myWebhookUrl.com", - "body": { - "entityId": "{{ .event.context.entityIdentifier }}" + "type": "GITHUB", + "org": "github-org-name", + "repo": "github-repo-name", + "workflow": "slack-teams-notify-unhealthy-service.yaml", + // workflowInputs is the payload to be passed to the GitHub workflow upon every execution + // In this example, we pass the updated service's identifier + "workflowInputs": { + "service_name": "{{ .event.context.entityIdentifier }}" }, + "reportWorkflowStatus": true }, "publish": true } ``` -**Note**: The `body` field is where we define the [payload](/actions-and-automations/setup-backend/#define-the-actions-payload) when using the Webhook invocation method. In this example, we configured the id of the relevant entity to be passed to the webhook upon every execution of the automation. +### Backend - GitHub workflow + +The `slack-teams-notify-unhealthy-service.yaml` workflow will contain the logic to send a Slack/Teams message. + +:::info Prerequisite - set up webhooks +The workflow requires a Slack webhook URL and/or a Microsoft Teams webhook URL to send the message. + +**Slack**: +1. To set up a Slack webhook, follow the instructions [here](https://api.slack.com/messaging/webhooks). +2. Once you have the webhook URL, add it as a secret in your GitHub repository named `SLACK_WEBHOOK_URL`. + +**Microsoft Teams**: +1. To set up a Microsoft Teams webhook, follow the instructions [here](https://learn.microsoft.com/en-us/microsoftteams/platform/webhooks-and-connectors/how-to/add-incoming-webhook). +2. Once you have the webhook URL, add it as a secret in your GitHub repository named `TEAMS_WEBHOOK_URL`. +::: + +```yaml showLineNumbers title="slack-teams-notify-unhealthy-service.yaml" +name: Notify when service becomes unhealthy + +on: + workflow_dispatch: + inputs: + # Note that the input is the same as the payload (workflowInputs) defined in the automation + service_name: + description: 'The unhealthy service's name' + required: true + type: string + +jobs: + send_message: + runs-on: ubuntu-latest + steps: + - name: Send message to Slack + env: + SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} + run: | + curl -X POST -H 'Content-type: application/json' --data '{"text":"The service ${{ inputs.service_name }} has become unhealthy."}' $SLACK_WEBHOOK_URL + + - name: Send message to Microsoft Teams + env: + TEAMS_WEBHOOK_URL: ${{ secrets.TEAMS_WEBHOOK_URL }} + run: | + curl -H 'Content-Type: application/json' -d '{"text": "The service ${{ inputs.service_name }} has become unhealthy."}' $TEAMS_WEBHOOK_URL +``` + +--- -The webhook backend can terminate the environment, clean up resources, send a notification to the relevant team, and anything else that you want to happen as part of the termination process. +## Terminate an ephemeral environment when its TTL is expired -## Example 2: Run a GitHub workflow when a service is created +### Automation definition -By using the `ENTITY_CREATED` trigger type, we can run custom logic whenever an entity of a specific type is created. +By using the `TIMER_EXPIRED` trigger type, we can run custom logic whenever a [timer property](/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/timer) expires. + +The following definition will cause a webhook to be triggered whenever the `ttl` property expires on an `environment` entity: -For example, the following configuration will cause `workflow.yaml` to run whenever a new `service` is created in your catalog: ```json showLineNumbers { - "identifier": "serviceCreated", - "title": "Service created", + "identifier": "ttlEphemeralEnvironment", + "title": "Terminate ephemeral environment", "trigger": { "type": "automation", "event": { - "type": "ENTITY_CREATED", - "blueprintIdentifier": "service" + "type": "TIMER_PROPERTY_EXPIRED", + "blueprintIdentifier": "environment", + "propertyIdentifier": "ttl" } }, "invocationMethod": { - "type": "GITHUB", - "org": "Github-org-name", - "repo": "Github-repo-name", - "workflow": "workflow.yaml", - "workflowInputs": { - "runId": "{{ .run.id }}" + "type": "WEBHOOK", + "url": "https://myWebhookUrl.com", + // Under "body" we specify the payload to be passed to the webhook upon every execution + // In this example, we pass the id of the entity whose TTL has expired and the run id + "body": { + "entityId": "{{ .event.context.entityIdentifier }}", + "runId": "{{ .run.id }}" }, - "reportWorkflowStatus": true }, "publish": true } ``` -**Note**: The `workflowInputs` field is where we define the [payload](/actions-and-automations/setup-backend/#define-the-actions-payload) when using the GitHub invocation method. In this example, we configured the run id to be passed to the GitHub workflow upon every execution of the automation. +### Backend - Webhook -In the `workflow.yaml` file, you can implement any logic you want to run when a new service is created, (e.g. add a property to the entity, send a Slack notification, etc.). +Since the webhook implementation is entirely up to you, it can be used to terminate the environment, clean up resources, send a notification to the relevant team, and anything else that you want to happen as part of the termination process. +The run id can be used to [interact with the execution in Port](/actions-and-automations/reflect-action-progress/) - send log messages and/or update the execution's status. diff --git a/docs/actions-and-automations/define-automations/setup-trigger.md b/docs/actions-and-automations/define-automations/setup-trigger.md index 5d1d7bb12..2c60ff7da 100644 --- a/docs/actions-and-automations/define-automations/setup-trigger.md +++ b/docs/actions-and-automations/define-automations/setup-trigger.md @@ -61,7 +61,7 @@ The table below describes the fields in the JSON structure under the `trigger` k | **`event`** | An object containing data about the event that triggers the automation. | | **`event.type`** | The [trigger event type](/actions-and-automations/define-automations/setup-trigger#available-triggers). | | **`event.blueprintIdentifier`** | The identifier of the blueprint whose entities will trigger the automation. | -| `condition` | An optional object containing `jq` expressions used to determine which entities the automation will be triggered for. See [Conditions](/actions-and-automations/create-self-service-experiences/setup-ui-for-action/#conditions) for more information. | +| `condition` | An optional object containing `jq` expressions used to determine which entities the automation will be triggered for. | | `condition.type` | The type of condition. Should be set to `JQ`. | | `condition.expressions` | An array of expressions used to filter the entities for which the automation will be triggered. | | `condition.combinator` | The combinator used to combine the expressions. Should be set to `and` or `or`. | diff --git a/docs/actions-and-automations/setup-backend/github-workflow/examples/Opsgenie/create-an-incident.md b/docs/actions-and-automations/setup-backend/github-workflow/examples/Opsgenie/create-an-incident.md index 9befeb546..a8fbe99a3 100644 --- a/docs/actions-and-automations/setup-backend/github-workflow/examples/Opsgenie/create-an-incident.md +++ b/docs/actions-and-automations/setup-backend/github-workflow/examples/Opsgenie/create-an-incident.md @@ -12,7 +12,7 @@ This self-service guide facilitates creating incidents in Opsgenie from Port usi - `OPSGENIE_API_KEY` - [OPSGENIE API KEY](https://getport-test.app.opsgenie.com/settings/api-key-management) generated by the user. - `PORT_CLIENT_ID` - Your port `client id` [How to get the credentials](https://docs.getport.io/build-your-software-catalog/sync-data-to-catalog/api/#find-your-port-credentials). - `PORT_CLIENT_SECRET` - Your port `client secret` [How to get the credentials](https://docs.getport.io/build-your-software-catalog/sync-data-to-catalog/api/#find-your-port-credentials). -3. Optional - Install Port's Opsgenie integration [learn more](http://localhost:4000/build-your-software-catalog/sync-data-to-catalog/incident-management/opsgenie) +3. Optional - Install Port's Opsgenie integration [learn more](https://docs.getport.io/build-your-software-catalog/sync-data-to-catalog/incident-management/opsgenie) :::tip Opsgenie Integration This step is not required for this example, but it will create all the blueprint boilerplate for you, and also ingest and update the catalog in real time with your opsgenie incidents. diff --git a/docs/integrations-index.md b/docs/integrations-index.md index d39d86bf6..d8f6b5743 100644 --- a/docs/integrations-index.md +++ b/docs/integrations-index.md @@ -31,7 +31,7 @@ This page contains a list of Port's available integrations, organized by the pla - [Lock service deployment](/guides-and-tutorials/service-lock-github-workflow) - [Nudge PR reviewers](/actions-and-automations/setup-backend/github-workflow/examples/nudge-pr-reviewers) - [Promote to production](/actions-and-automations/setup-backend/github-workflow/examples/promote-to-production) -- [Self-service action to lock and unlock a service](http://localhost:4000/actions-and-automations/setup-backend/github-workflow/examples/lock-and_unlock-service-in-port) +- [Self-service action to lock and unlock a service](/actions-and-automations/setup-backend/github-workflow/examples/lock-and-unlock-service-in-port) - [Connect GitHub Codeowners with Service, Team and User](/build-your-software-catalog/custom-integration/api/ci-cd/github-workflow/guides/connect-github-codeowners-with-service-team-and-user.md) ### GitLab From 2992a226a580bf69fd4438c48d8aefa8780a0e27 Mon Sep 17 00:00:00 2001 From: Matan Heled Date: Mon, 17 Jun 2024 12:40:05 +0300 Subject: [PATCH 37/56] fixed review --- ...ate-slack-channel-for-reported-incident.md | 87 ++++++++++--------- 1 file changed, 46 insertions(+), 41 deletions(-) diff --git a/docs/guides-and-tutorials/create-slack-channel-for-reported-incident.md b/docs/guides-and-tutorials/create-slack-channel-for-reported-incident.md index b06115bf5..b9e8a848b 100644 --- a/docs/guides-and-tutorials/create-slack-channel-for-reported-incident.md +++ b/docs/guides-and-tutorials/create-slack-channel-for-reported-incident.md @@ -2,31 +2,32 @@ sidebar_position: 12 tags: - Automations - - Pagerduty + - PagerDuty - Slack - Incident - - Github + - GitHub --- import PortTooltip from "/src/components/tooltip/tooltip.jsx" +import PortApiRegionTip from "/docs/generalTemplates/_port_region_parameter_explanation_template.md" # Automating incident managment ## Overview -Solving incidents efficiently is a crucial part of any production-ready environment. When managing an incident, there are a base concepts which are important to keep: -- **Real time notifications** - When an incident has been created, either by an alert or manually, it is important that a push notification will be sent the the relvant authoritizes as soon as possible. This can be in the form of a Slack message, email or any other form of communication. -- **Documentation** - When there is an ongoing incident, it is important that different personas across the organization will be aware of it. Hence, it is important to document the incident in relevant places, for example as a Port entity, a Github issue or a Jira issue. -- **Visibility** - While troubleshooting, it is important to provide information both to all relevant personas in the organization. An ideal place to manage an incident would be a group chat with the relevant people. +Solving incidents efficiently is a crucial part of any production-ready environment. When managing an incident, there are a few base concepts which are important to keep: +- **Real time notifications** - When an incident has been created, either by an alert or manually, it is important that a push notification will be sent the the relevant owners and stakeholders as soon as possible. This can be in the form of a Slack message, email or any other form of communication. +- **Documentation** - When there is an ongoing incident, it is important that different personas across the organization will be aware of it. Hence, it is important to document the incident in relevant places, for example as a Port entity, a GitHub issue or a Jira issue. +- **Visibility** - While troubleshooting, it is important to provide information to all relevant personas and stakeholders in the organization. An ideal place to manage an incident would be a group chat with the relevant people. In this guide, we will be using Port's [Automations](../actions-and-automations/define-automations/define-automations.md) capabilities to automate incident management. ## Prerequisites -- Install Port's [Github app](https://github.com/apps/getport-io) in your Github organization. -- Install Port's [Pagerduty integration](../build-your-software-catalog/sync-data-to-catalog/incident-management/pagerduty.md) for real-tiome incident ingestion to Port. This integration will in turn trigger our automation when a new incident is created in Pagerduty. -- [Ingest Github issues](../build-your-software-catalog/sync-data-to-catalog/git/github/examples/resource-mapping-examples.md#mapping-repositories-and-issues) using Port's Github app. +- Install Port's [GitHub app](https://github.com/apps/getport-io) in your GitHub organization. +- Install Port's [PagerDuty integration](../build-your-software-catalog/sync-data-to-catalog/incident-management/pagerduty.md) for real-time incident ingestion to Port. This integration will in turn trigger our automation when a new incident is created in PagerDuty. +- [Ingest GitHub issues](../build-your-software-catalog/sync-data-to-catalog/git/github/examples/resource-mapping-examples.md#mapping-repositories-and-issues) using Port's GitHub app. - Prepare your Port organization's `Client ID` and `Client Secret`. To find you Port credentials, click [here](https://docs.getport.io/build-your-software-catalog/custom-integration/api/#find-your-port-credentials). -- Prepare a Github repository for maintaining your GitHub workflows, and other dependency files. In this guide we will be using `port-actions` as the repository name. +- Prepare a GitHub repository for maintaining your GitHub workflows, and other dependency files. In this guide we will be using `port-actions` as the repository name. - Configure a Slack app: 1. [Create a slack app](https://api.slack.com/start/quickstart#creating) and install it in a workspace. Save the `Bot User OAuth Token` for later use. 2. [Add the following permissions](https://api.slack.com/quickstart#scopes) to the Slack app in **OAuth & Permissions**. Create the permissions under the `Bot Token Scopes`: @@ -43,7 +44,7 @@ In this guide, we will be using Port's [Automations](../actions-and-automations/ For this guide, we will be making a few modifications to our pre-existing blueprints in order to support our use-case:
    - `Pagerduty Incidents` blueprint + `PagerDuty Incidents` blueprint Add the following property: @@ -69,7 +70,7 @@ For this guide, we will be making a few modifications to our pre-existing bluepr }, "issue": { "target": "githubIssue", - "title": "Github Issue", + "title": "GitHub Issue", "many": false, "required": false, "description": "The issue created for documenting this incident" @@ -78,19 +79,19 @@ For this guide, we will be making a few modifications to our pre-existing bluepr
    :::note -For simplicity, in this guide we will assume that the Github `Service` entity identifier is the `PagerDuty Service` identifier, lowercased and split by `-`. +For simplicity, in this guide we will assume that the GitHub `Service` entity identifier is the `PagerDuty Service` identifier, lowercased and split by `-`. -For example, a Pagerduty incident which is part of the `My Service` Pagerduty service will be related to the `my-service` Github service. +For example, a PagerDuty incident which is part of the `My Service` PagerDuty service will be related to the `my-service` GitHub service. ::: ## Automation setup After we set up our data model, let's set up the Port automation. The automation will: - Create a Slack channel for managing the incident and providing a place to troubleshoot. -- Send a breif message regarding the incident in the Slack channel for visibility. -- Create a Github issue for documenting the incident. +- Send a brief message regarding the incident in the Slack channel for visibility. +- Create a GitHub issue to document the incident. ### Automation backend -As a backend for this automation, we will create a Github Workflow in our repository. +As a backend for this automation, we will create a GitHub Workflow in our repository.
    `Handle incident` GitHub workflow YAML @@ -107,7 +108,7 @@ on: description: "Port's payload, including details for who triggered the action and general context (blueprint, run ID, etc...)." required: true -# These permissions are required for the Github issue creation +# These permissions are required for the GitHub issue creation permissions: contents: read issues: write @@ -124,7 +125,7 @@ jobs: steps: - uses: actions/checkout@v4 - - name: Log Github Issue Creation + - name: Log GitHub Issue Creation uses: port-labs/port-github-action@v1 with: clientId: ${{ secrets.PORT_CLIENT_ID }} @@ -132,7 +133,7 @@ jobs: baseUrl: https://api.getport.io operation: PATCH_RUN runId: ${{ fromJson(github.event.inputs.port_payload).run.id }} - logMessage: "Creating a new Github issue for Pagerduty incident '${{ env.PD_INCIDENT_ID }}'..." + logMessage: "Creating a new GitHub issue for PagerDuty incident '${{ env.PD_INCIDENT_ID }}'..." - name: Get incident's related service id: get-incidient-service @@ -145,15 +146,15 @@ jobs: blueprint: pagerdutyService identifier: ${{ fromJson(inputs.port_payload).event.diff.after.relations.pagerdutyService }} - # The Github Service entity identifier is defined as Pagerduty title lowercased and split by '-' - - name: Extract realted service + # The GitHub Service entity identifier is defined as PagerDuty title lowercased and split by '-' + - name: Extract related service id: get-service-info run: | service_title=$(echo '${{ steps.get-incidient-service.outputs.entity }}' | jq -r '.title') echo "SERVICE_TITLE=$service_title" >> $GITHUB_OUTPUT echo "SERVICE_IDENTIFIER=$(echo $service_title | tr '[:upper:] ' '[:lower:]-')" >> $GITHUB_OUTPUT - - name: Create Github issue + - name: Create GitHub issue uses: dacbd/create-issue-action@main id: create-github-issue with: @@ -162,11 +163,11 @@ jobs: title: PagerDuty incident - ID {{ env.PD_INCIDENT_ID }} labels: bug, incident, pagerduty body: | - Pagerduty incidient issue reported. + PagerDuty incidient issue reported. Port Incident Entity URL: {{ env.PORT_INCIDENT_URL }}. - Pagerduty incident URL: {{ env.PD_INCIDENT_URL }}. + PagerDuty incident URL: {{ env.PD_INCIDENT_URL }}. - - name: Report Github issue to Port + - name: Report GitHub issue to Port uses: port-labs/port-github-action@v1 with: clientId: ${{ secrets.PORT_CLIENT_ID }} @@ -187,7 +188,7 @@ jobs: operation: PATCH_RUN runId: ${{ fromJson(github.event.inputs.port_payload).run.id }} logMessage: | - Github issue created successfully - ${{ steps.create-github-issue.outputs.html_url }} + GitHub issue created successfully - ${{ steps.create-github-issue.outputs.html_url }} Creating a new Slack channel for this incident... - name: Create Slack Channel @@ -267,6 +268,7 @@ jobs: clientId: ${{ secrets.PORT_CLIENT_ID }} clientSecret: ${{ secrets.PORT_CLIENT_SECRET }} identifier: ${{ env.PD_INCIDENT_ID }} + baseUrl: https://api.getport.io blueprint: pagerdutyIncident properties: | { @@ -290,9 +292,12 @@ jobs: logMessage: | Done handling the new incident 💪🏻 ``` + + +
    -We also need to create the following secrets in our Github repository: +We also need to create the following secrets in our GitHub repository: - `PORT_CLIENT_ID` - Your Port client ID. - `PORT_CLIENT_SECRET` - Your Port client secret. - `BOT_USER_OAUTH_TOKEN` - The Slack app bot token. @@ -310,14 +315,14 @@ Create the following automation: This automation will be triggered when a new `pagerdutyIncident` entity will be created. - **Replace the `org` value with your Github organization name, and the `repo` value with your Github repository.** + **Replace the `org` value with your GitHub organization name, and the `repo` value with your GitHub repository.** ```json showLineNumbers { "identifier": "handle_new_incident", - "title": "Handle new Pagerduty incident", + "title": "Handle new PagerDuty incident", "icon": "Pagerduty", - "description": "Create Slack channel for incident troubleshooting, and Github issue for documentation", + "description": "Create Slack channel for incident troubleshooting, and GitHub issue for documentation", "trigger": { "type": "automation", "event": { @@ -346,9 +351,9 @@ Press `Save`. ### Testing the automation flow Now that we have both the automation backend, and the Port automation set up, let's test our automation flow: -1. Head over to your Pagerduty account. -2. Create a new Pagerduty incident. -3. Navigate to your [Pagerduty Incidents](https://app.getport.io/pagerdutyIncidents) entities page. Make sure your new incident was ingested in to Port. +1. Head over to your PagerDuty account. +2. Create a new PagerDuty incident. +3. Navigate to your [PagerDuty Incidents](https://app.getport.io/pagerdutyIncidents) entities page. Make sure your new incident was ingested in to Port.

    @@ -369,8 +374,8 @@ Now that we have both the automation backend, and the Port automation set up, le

    -6. Navigate back to your [Pagerduty Incidents](https://app.getport.io/pagerdutyIncidents) page. Click on the incident entity you ingested. -7. You should notice that the `Slack Channel URL` property, and the `Github Issue` relation are populated. +6. Navigate back to your [PagerDuty Incidents](https://app.getport.io/pagerdutyIncidents) page. Click on the incident entity you ingested. +7. You should notice that the `Slack Channel URL` property, and the `GitHub Issue` relation are populated.

    @@ -378,16 +383,16 @@ Now that we have both the automation backend, and the Port automation set up, le

    8. Click the `Slack Channel URL`. This will allow you to join the dedicated Slack channel created for this incident. -9. Navigate to the `Github Issue` through the relation. Then navigate to the `Link` to view the Github issue created as part of the automation. +9. Navigate to the `GitHub Issue` through the relation. Then navigate to the `Link` to view the GitHub issue created as part of the automation. ## Summary Using Port as the automation orchestrator, we created an incident management flow which helps us keep a high standard when facing new incidents. -This automation will allow a faster notification time regarding new incidents, and a dedicated place to keep track of the troubleshooting process and any interesting updates. +This automation will enable faster notification and response time when handling new incidents, and create a dedicated place to keep track of the troubleshooting process and any relevant updates. ## Next Steps -This guide can be enhanced to further meet your organization's needs. Here are some nice ideas you can implement: -- Add a mirror property in the `Pagerduty incident` blueprint, to show the Github issue `Link` in the Pagerduty entity page. -- Add a DAY-2 `Resolve incident` Port action to the `Pagerduty incident` which resolves the Github issue and sends an update in the Slack channel. +This guide can be enhanced to further meet your organization's needs. Here are some ideas you can implement: +- Add a mirror property in the `PagerDuty incident` blueprint, to show the GitHub issue `Link` in the PagerDuty entity page. +- Add a DAY-2 `Resolve incident` Port action to the `PagerDuty incident` which resolves the GitHub issue and sends an update in the Slack channel. - Filter the automation tirgger to only run for `High` urgency incidents. - Add the Port service owner to the Slack channel as part of the automation. From 977551d31e4a32a58e780f89ac6cbdad8b5f65ef Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 17 Jun 2024 16:53:01 +0300 Subject: [PATCH 38/56] Bump react-tooltip from 5.26.4 to 5.27.0 (#1315) Bumps [react-tooltip](https://github.com/ReactTooltip/react-tooltip) from 5.26.4 to 5.27.0. - [Release notes](https://github.com/ReactTooltip/react-tooltip/releases) - [Changelog](https://github.com/ReactTooltip/react-tooltip/blob/master/CHANGELOG.md) - [Commits](https://github.com/ReactTooltip/react-tooltip/compare/v5.26.4...v5.27.0) --- updated-dependencies: - dependency-name: react-tooltip dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 9 ++++----- package.json | 2 +- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index 0c04fb97c..f2f4044c2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -27,7 +27,7 @@ "prism-react-renderer": "^2.3.1", "react": "^18.3.1", "react-dom": "^18.3.1", - "react-tooltip": "^5.26.4" + "react-tooltip": "^5.27.0" }, "devDependencies": { "@docusaurus/module-type-aliases": "^3.4.0", @@ -17057,10 +17057,9 @@ } }, "node_modules/react-tooltip": { - "version": "5.26.4", - "resolved": "https://registry.npmjs.org/react-tooltip/-/react-tooltip-5.26.4.tgz", - "integrity": "sha512-5WyDrsfw1+6qNVSr3IjqElqJ+cCwE8+44b+HpJ8qRLv7v0a3mcKf8wvv+NfgALFS6QpksGFqTLV2JQ60c+okZQ==", - "license": "MIT", + "version": "5.27.0", + "resolved": "https://registry.npmjs.org/react-tooltip/-/react-tooltip-5.27.0.tgz", + "integrity": "sha512-JXROcdfCEbCqkAkh8LyTSP3guQ0dG53iY2E2o4fw3D8clKzziMpE6QG6CclDaHELEKTzpMSeAOsdtg0ahoQosw==", "dependencies": { "@floating-ui/dom": "^1.6.1", "classnames": "^2.3.0" diff --git a/package.json b/package.json index cb06c7e40..d0af416de 100644 --- a/package.json +++ b/package.json @@ -35,7 +35,7 @@ "prism-react-renderer": "^2.3.1", "react": "^18.3.1", "react-dom": "^18.3.1", - "react-tooltip": "^5.26.4" + "react-tooltip": "^5.27.0" }, "devDependencies": { "@docusaurus/module-type-aliases": "^3.4.0", From 03753a1ba71deccee4a1eaaa91124b3eb3f7c289 Mon Sep 17 00:00:00 2001 From: hadar-co Date: Mon, 17 Jun 2024 20:01:30 +0300 Subject: [PATCH 39/56] move operators to separate page (#1318) Co-authored-by: Hadar --- docs/search-and-query/comparison-operators.md | 365 +++++++++++++++ docs/search-and-query/search-and-query.md | 424 +----------------- 2 files changed, 366 insertions(+), 423 deletions(-) create mode 100644 docs/search-and-query/comparison-operators.md diff --git a/docs/search-and-query/comparison-operators.md b/docs/search-and-query/comparison-operators.md new file mode 100644 index 000000000..165447251 --- /dev/null +++ b/docs/search-and-query/comparison-operators.md @@ -0,0 +1,365 @@ +--- +sidebar_position: 1 +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +# Comparison operators + +This page details the available comparison operators when writing [rules](/search-and-query/#rules) as part of the search route. + +### = (Equal) + +The `=` operator checks exact matches of the specified value: + +```json showLineNumbers +{ + "operator": "=", + "property": "myProperty", + "value": "myExactValue" +} +``` + +This operator can also be used to check the value of `boolean` properties: + +```json showLineNumbers +{ + "operator": "=", + "property": "myBooleanProperty", + "value": true +} +``` + +### != (Not Equal) + +The `!=` operator checks exact matches of the specified value and returns all results that fail to satisfy the check: + +```json showLineNumbers +{ + "operator": "!=", + "property": "myProperty", + "value": "myExactValue" +} +``` + +This operator can also be used to check the value of `boolean` properties: + +```json showLineNumbers +{ + "operator": "!=", + "property": "myBooleanProperty", + "value": false +} +``` + +### > (Greater Than) + +The `>` operator checks values larger than the specified value: + +```json showLineNumbers +{ + "operator": ">", + "property": "myNumericProperty", + "value": 7 +} +``` + +### >= (Greater Than or Equal) + +The `>=` operator checks values larger than or equal to the specified value: + +```json showLineNumbers +{ + "operator": ">=", + "property": "myNumericProperty", + "value": 7 +} +``` + +### > (Less Than) + +The `<` operator checks values less than the specified value: + +```json showLineNumbers +{ + "operator": "<", + "property": "myNumericProperty", + "value": 7 +} +``` + +### \<\= (Less Than or Equal) + +The `<=` operator checks values less than or equal to the specified value: + +```json showLineNumbers +{ + "operator": "<=", + "property": "myNumericProperty", + "value": 7 +} +``` + +### isEmpty + +The `isEmpty` operator checks if the value of the specified property is `null`: + +```json showLineNumbers +{ + "operator": "isEmpty", + "property": "myProperty" +} +``` + +### isNotEmpty + +The `isNotEmpty` operator checks if the value of the specified property is not `null`: + +```json showLineNumbers +{ + "operator": "isNotEmpty", + "property": "myProperty" +} +``` + +### propertySchema + +The `propertySchema` filter can be used with any standard operator. It allows you to filter entities based on a properties matching a specific type (for example, find all string properties with a given value): + + + + + +```json showLineNumbers +{ + // highlight-start + "propertySchema": { + "type": "string" + }, + // highlight-end + "operator": "=", + "value": "My value" +} +``` + + + + + +```json showLineNumbers +{ + // highlight-start + "propertySchema": { + "type": "string", + "format": "url" + }, + // highlight-end + "operator": "=", + "value": "https://example.com" +} +``` + + + + + +:::tip + +- The `propertySchema` can be used with any Port [property](/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/properties.md#supported-properties); +- The `propertySchema` replaces the `property` filter when performing property schema search. + +::: + +### between + +The `between` operator checks datetime values and returns entities whose relevant datetime property matches the given range: + +```json showLineNumbers +{ + "operator": "between", + "property": "$createdAt", + "value": { + "preset": "lastWeek" + } +} +``` + +**Available Presets:** + +- tomorrow +- today +- yesterday +- lastWeek +- last2Weeks +- lastMonth +- last3Months +- last6Months +- last12Months + +The `between` operator also supports standard date ranges: + +```json showLineNumbers +{ + "combinator": "and", + "rules": [ + { + "operator": "between", + "property": "$createdAt", + "value": { + "from": "2022-07-26T16:38:06.839Z", + "to": "2022-07-29T17:00:28.006Z" + } + } + ] +} +``` + +### notBetween + +The `notBetween` operator checks datetime values and returns entities whose relevant datetime property does not match the given range: + +```json showLineNumbers +{ + "operator": "notBetween", + "property": "$createdAt", + "value": { + "preset": "lastWeek" + } +} +``` + +### contains + +The `contains` operator checks if the specified substring exists in the specified property: + +```json showLineNumbers +{ + "operator": "contains", + "property": "myStringProperty", + "value": "mySubString" +} +``` + +### doesNotContains + +The `contains` operator checks if the specified value **does not** exists in the specified property: + +```json showLineNumbers +{ + "operator": "doesNotContains", + "property": "myStringProperty", + "value": "otherValue" +} +``` + +### containsAny + +The `containsAny` operator checks if **any** of the specified strings exist in the target array: + +```json showLineNumbers +{ + "operator": "containsAny", + "property": "myArrayProperty", + "value": ["Value1", "Value2", ...] +} +``` + +### beginsWith + +The `beginsWith` operator checks if the specified property starts with the specified value** + +```json showLineNumbers +{ + "operator": "beginsWith", + "property": "myStringProperty", + "value": "myString" +} +``` + +### doesNotBeginsWith + +The `doesNotBeginsWith` operator checks if the specified property **does not** start with the specified value + +```json showLineNumbers +{ + "operator": "doesNotBeginsWith", + "property": "myStringProperty", + "value": "otherValue" +} +``` + +### endsWith + +The `endsWith` operator checks if the specified property ends with the specified value + +```json showLineNumbers +{ + "operator": "endsWith", + "property": "myStringProperty", + "value": "myString" +} +``` + +### doesNotEndsWith + +The `doesNotEndsWith` operator checks if the specified property **does not** end with the specified value + +```json showLineNumbers +{ + "operator": "doesNotEndsWith", + "property": "myStringProperty", + "value": "otherValue" +} +``` + +### in + +The `in` operator checks if a `string` property is equal to one or more specified `string` values: + + + + + +```json showLineNumbers +{ + "property": "myStringProperty", + "operator": "in", + "value": ["Value1", "Value2"] +} +``` + + + + + +```json showLineNumbers +{ + "property": "$team", + "operator": "in", + "value": ["myTeamsDynamicFilter"] +} +``` + +:::note + +- In order to filter entities that **belong to your teams** you can use the special `myTeamsDynamicFilter` filter. + +::: + +**UI:** + +- Choose field of type `string` format `team` or the metadata `Team` field; +- Choose `has any of` operator: + +![My Teams Filter](/img/software-catalog/pages/MyTeamsFilter.png) + + + + \ No newline at end of file diff --git a/docs/search-and-query/search-and-query.md b/docs/search-and-query/search-and-query.md index 07cba4ca7..b1ba0389c 100644 --- a/docs/search-and-query/search-and-query.md +++ b/docs/search-and-query/search-and-query.md @@ -150,429 +150,7 @@ Port has 2 types of search rule operators: #### Operators -", value: ">"}, -{label: ">=", value: ">="}, -{label: "<", value: "<"}, -{label: "<=", value: "<="}, -{label: "isEmpty", value: "isEmpty"}, -{label: "isNotEmpty", value: "isNotEmpty"}, -{label: "Property schema", value: "property-schema"}, -{label: "Between", value: "between"}, -{label: "notBetween", value: "notBetween"}, -{label: "Contains", value: "contains"}, -{label: "DoesNotContains", value: "doesNotContains"}, -{label: "ContainsAny", value: "containsAny"}, -{label: "beginsWith", value: "beginsWith"}, -{label: "DoesNotBeginsWith", value: "doesNotBeginsWith"}, -{label: "endsWith", value: "endsWith"}, -{label: "DoesNotEndsWith", value: "doesNotEndsWith"}, -{label: "In", value: "in"} -]}> - - - -The `=` operator checks exact matches of the specified value: - -```json showLineNumbers -{ - "operator": "=", - "property": "myProperty", - "value": "myExactValue" -} -``` - -This operator can also be used to check the value of `boolean` properties: - -```json showLineNumbers -{ - "operator": "=", - "property": "myBooleanProperty", - "value": true -} -``` - - - - - -The `!=` operator checks exact matches of the specified value and returns all results that fail to satisfy the check: - -```json showLineNumbers -{ - "operator": "!=", - "property": "myProperty", - "value": "myExactValue" -} -``` - -This operator can also be used to check the value of `boolean` properties: - -```json showLineNumbers -{ - "operator": "!=", - "property": "myBooleanProperty", - "value": false -} -``` - - - - - -The `>` operator checks values larger than the specified value: - -```json showLineNumbers -{ - "operator": ">", - "property": "myNumericProperty", - "value": 7 -} -``` - - - - - -The `>=` operator checks values larger than or equal to the specified value: - -```json showLineNumbers -{ - "operator": ">=", - "property": "myNumericProperty", - "value": 7 -} -``` - - - - - -The `<` operator checks values less than the specified value: - -```json showLineNumbers -{ - "operator": "<", - "property": "myNumericProperty", - "value": 7 -} -``` - - - - - -The `<=` operator checks values less than or equal to the specified value: - -```json showLineNumbers -{ - "operator": "<=", - "property": "myNumericProperty", - "value": 7 -} -``` - - - - - -The `isEmpty` operator checks if the value of the specified property is `null`: - -```json showLineNumbers -{ - "operator": "isEmpty", - "property": "myProperty" -} -``` - - - - - -The `isNotEmpty` operator checks if the value of the specified property is not `null`: - -```json showLineNumbers -{ - "operator": "isNotEmpty", - "property": "myProperty" -} -``` - - - - - -The `propertySchema` filter can be used with any standard operator. It allows you to filter entities based on a properties matching a specific type (for example, find all string properties with a given value): - - - - - -```json showLineNumbers -{ - // highlight-start - "propertySchema": { - "type": "string" - }, - // highlight-end - "operator": "=", - "value": "My value" -} -``` - - - - - -```json showLineNumbers -{ - // highlight-start - "propertySchema": { - "type": "string", - "format": "url" - }, - // highlight-end - "operator": "=", - "value": "https://example.com" -} -``` - - - - - -:::tip - -- The `propertySchema` can be used with any Port [property](/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/properties.md#supported-properties); -- The `propertySchema` replaces the `property` filter when performing property schema search. - -::: - - - - - -The `between` operator checks datetime values and returns entities whose relevant datetime property matches the given range: - -```json showLineNumbers -{ - "operator": "between", - "property": "$createdAt", - "value": { - "preset": "lastWeek" - } -} -``` - -**Available Presets:** - -- tomorrow -- today -- yesterday -- lastWeek -- last2Weeks -- lastMonth -- last3Months -- last6Months -- last12Months - -The `between` operator also supports standard date ranges: - -```json showLineNumbers -{ - "combinator": "and", - "rules": [ - { - "operator": "between", - "property": "$createdAt", - "value": { - "from": "2022-07-26T16:38:06.839Z", - "to": "2022-07-29T17:00:28.006Z" - } - } - ] -} -``` - - - - - -The `notBetween` operator checks datetime values and returns entities whose relevant datetime property does not match the given range: - -```json showLineNumbers -{ - "operator": "notBetween", - "property": "$createdAt", - "value": { - "preset": "lastWeek" - } -} -``` - - - - - -The `contains` operator checks if the specified substring exists in the specified property: - -```json showLineNumbers -{ - "operator": "contains", - "property": "myStringProperty", - "value": "mySubString" -} -``` - - - - - - -The `contains` operator checks if the specified value **does not** exists in the specified property: - -```json showLineNumbers -{ - "operator": "doesNotContains", - "property": "myStringProperty", - "value": "otherValue" -} -``` - - - - - -The `containsAny` operator checks if **any** of the specified strings exist in the target array: - -```json showLineNumbers -{ - "operator": "containsAny", - "property": "myArrayProperty", - "value": ["Value1", "Value2", ...] -} -``` - - - - - -The `beginsWith` operator checks if the specified property starts with the specified value** - -```json showLineNumbers -{ - "operator": "beginsWith", - "property": "myStringProperty", - "value": "myString" -} -``` - - - - - - - -The `doesNotBeginsWith` operator checks if the specified property **does not** start with the specified value - -```json showLineNumbers -{ - "operator": "doesNotBeginsWith", - "property": "myStringProperty", - "value": "otherValue" -} -``` - - - - - - -The `endsWith` operator checks if the specified property ends with the specified value - -```json showLineNumbers -{ - "operator": "endsWith", - "property": "myStringProperty", - "value": "myString" -} -``` - - - - - - - -The `doesNotEndsWith` operator checks if the specified property **does not** end with the specified value - -```json showLineNumbers -{ - "operator": "doesNotEndsWith", - "property": "myStringProperty", - "value": "otherValue" -} -``` - - - - - - -The `in` operator checks if a `string` property is equal to one or more specified `string` values: - - - - - -```json showLineNumbers -{ - "property": "myStringProperty", - "operator": "in", - "value": ["Value1", "Value2"] -} -``` - - - - - -```json showLineNumbers -{ - "property": "$team", - "operator": "in", - "value": ["myTeamsDynamicFilter"] -} -``` - -:::note - -- In order to filter entities that **belong to your teams** you can use the special `myTeamsDynamicFilter` filter. - -::: - -**UI:** - -- Choose field of type `string` format `team` or the metadata `Team` field; -- Choose `has any of` operator: - -![My Teams Filter](/img/software-catalog/pages/MyTeamsFilter.png) - - - - - - - - +A wide variety of operators are available, see them [here](./comparison-operators). ___ From 5581ee388ac762cc111102d371ed687d104f1231 Mon Sep 17 00:00:00 2001 From: Matan Heled Date: Tue, 18 Jun 2024 09:38:29 +0300 Subject: [PATCH 40/56] fix workflow --- .../create-slack-channel-for-reported-incident.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/guides-and-tutorials/create-slack-channel-for-reported-incident.md b/docs/guides-and-tutorials/create-slack-channel-for-reported-incident.md index b9e8a848b..40777b487 100644 --- a/docs/guides-and-tutorials/create-slack-channel-for-reported-incident.md +++ b/docs/guides-and-tutorials/create-slack-channel-for-reported-incident.md @@ -160,12 +160,12 @@ jobs: with: token: ${{ secrets.ISSUES_TOKEN }} repo: ${{ steps.get-service.info.outputs.SERVICE_IDENTIFIER }} - title: PagerDuty incident - ID {{ env.PD_INCIDENT_ID }} + title: PagerDuty incident - ID ${{ env.PD_INCIDENT_ID }} labels: bug, incident, pagerduty body: | PagerDuty incidient issue reported. - Port Incident Entity URL: {{ env.PORT_INCIDENT_URL }}. - PagerDuty incident URL: {{ env.PD_INCIDENT_URL }}. + Port Incident Entity URL: ${{ env.PORT_INCIDENT_URL }}. + PagerDuty incident URL: ${{ env.PD_INCIDENT_URL }}. - name: Report GitHub issue to Port uses: port-labs/port-github-action@v1 From b3083c817709b35958223764b29bf279faa1fd30 Mon Sep 17 00:00:00 2001 From: hpal Date: Tue, 18 Jun 2024 07:46:14 +0100 Subject: [PATCH 41/56] Update the Trivy configuration (#1263) * Update the Trivy configuration * Revise name of blueprint --------- Co-authored-by: Mor Paz Co-authored-by: hadar-co --- .../kubernetes/templates/trivy.md | 50 ++++++++++++------ .../kubernetes/k8sTrivyOperatorView.png | Bin 65199 -> 137375 bytes 2 files changed, 33 insertions(+), 17 deletions(-) diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/kubernetes/templates/trivy.md b/docs/build-your-software-catalog/sync-data-to-catalog/kubernetes/templates/trivy.md index 056385659..34648f0ad 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/kubernetes/templates/trivy.md +++ b/docs/build-your-software-catalog/sync-data-to-catalog/kubernetes/templates/trivy.md @@ -46,7 +46,7 @@ This `blueprints.json` file defines the following blueprints: - Namespace - Workload - Trivy Config Audit Report -- Trivy Vulnerability Report +- Trivy Vulnerability :::note @@ -61,7 +61,7 @@ This `blueprints.json` file defines the following blueprints: - `Trivy Config Audit Report` represents checks performed by Trivy against a Kubernetes object's configuration -- `Trivy Vulnerability Report` represents the latest vulnerabilities found in a container image of a given Kubernetes workload +- `Trivy Vulnerability` represents the latest vulnerabilities found in a container image of a given Kubernetes workload ::: Below are the Trivy blueprint schemas used in the exporter: @@ -139,11 +139,11 @@ Below are the Trivy blueprint schemas used in the exporter: "calculationProperties": {}, "aggregationProperties": {}, "relations": { - "namespace": { - "title": "Namespace", - "target": "namespace", - "required": false, - "many": false + "kubernetes_resource": { + "title": "Kubernetes Resource", + "target": "workload", + "required": false, + "many": false } } } @@ -151,12 +151,12 @@ Below are the Trivy blueprint schemas used in the exporter:
    - Trivy vulnerability report blueprint (click to expand) + Trivy vulnerability blueprint (click to expand) ```json showLineNumbers { "identifier": "trivyVulnerabilityReport", - "title": "Trivy Vulnerability Report", + "title": "Trivy Vulnerability", "icon": "Trivy", "schema": { "properties": { @@ -242,11 +242,11 @@ Below are the Trivy blueprint schemas used in the exporter: "calculationProperties": {}, "aggregationProperties": {}, "relations": { - "namespace": { - "title": "Namespace", - "target": "namespace", - "required": false, - "many": false + "kubernetes_resource": { + "title": "Kubernetes Resource", + "target": "workload", + "required": false, + "many": false } } } @@ -290,12 +290,20 @@ Below are the mappings for the Trivy resources: createdAt: .metadata.creationTimestamp updatedAt: .report.updateTimestamp relations: - namespace: .metadata.namespace + "-" + env.CLUSTER_NAME + kubernetes_resource: ( + if (.metadata.ownerReferences | length > 0) then + (.metadata.ownerReferences[] | select(.controller == true) | + .name + "-" + .kind + "-" + .metadata.namespace + "-" + env.CLUSTER_NAME + ) + else + empty + end + ) ```
    - Trivy vulnerability report mapping (click to expand) + Trivy vulnerability mapping (click to expand) ```yaml showLineNumbers - kind: aquasecurity.github.io/v1alpha1/vulnerabilityreports @@ -324,7 +332,15 @@ Below are the mappings for the Trivy resources: scannerVersion: .report.scanner.version createdAt: .metadata.creationTimestamp relations: - namespace: .metadata.namespace + "-" + env.CLUSTER_NAME + kubernetes_resource: ( + if (.metadata.ownerReferences | length > 0) then + (.metadata.ownerReferences[] | select(.controller == true) | + .name + "-" + .kind + "-" + .metadata.namespace + "-" + env.CLUSTER_NAME + ) + else + empty + end + ) ```
    diff --git a/static/img/build-your-software-catalog/sync-data-to-catalog/kubernetes/k8sTrivyOperatorView.png b/static/img/build-your-software-catalog/sync-data-to-catalog/kubernetes/k8sTrivyOperatorView.png index 970bab49e70c7b82e270f422317e5d1d93c22d49..b70203943e1393a9f5fe8edd537d4b02f85bfe5b 100644 GIT binary patch literal 137375 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
    1d>v9*?N6qvHdDTv9zdyeeg!88XlxanOl)P%u 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 Tu(9<|@J~|rZ2Bh}@D$+reCM_yG^xlg~Q4o-h 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 Date: Tue, 18 Jun 2024 11:19:31 +0300 Subject: [PATCH 42/56] Add guide showing how to add an automation that sends a slack or teams message when TTL property expires (#1319) --- .../define-automations/examples.md | 93 ++++++++++++++++--- ...slack_teams_webhook_setup_instructions.mdx | 11 +++ 2 files changed, 91 insertions(+), 13 deletions(-) create mode 100644 docs/actions-and-automations/define-automations/templates/_slack_teams_webhook_setup_instructions.mdx diff --git a/docs/actions-and-automations/define-automations/examples.md b/docs/actions-and-automations/define-automations/examples.md index 5e42d7a72..b41c11d6d 100644 --- a/docs/actions-and-automations/define-automations/examples.md +++ b/docs/actions-and-automations/define-automations/examples.md @@ -3,6 +3,8 @@ sidebar_position: 3 title: Examples --- +import SlackTeamsMessagingWebhook from "/docs/actions-and-automations/define-automations/templates/_slack_teams_webhook_setup_instructions.mdx" + # Examples This section provides examples of automation definitions in Port. @@ -55,17 +57,7 @@ For example, the following definition will cause a message to be sent whenever a The `slack-teams-notify-unhealthy-service.yaml` workflow will contain the logic to send a Slack/Teams message. -:::info Prerequisite - set up webhooks -The workflow requires a Slack webhook URL and/or a Microsoft Teams webhook URL to send the message. - -**Slack**: -1. To set up a Slack webhook, follow the instructions [here](https://api.slack.com/messaging/webhooks). -2. Once you have the webhook URL, add it as a secret in your GitHub repository named `SLACK_WEBHOOK_URL`. - -**Microsoft Teams**: -1. To set up a Microsoft Teams webhook, follow the instructions [here](https://learn.microsoft.com/en-us/microsoftteams/platform/webhooks-and-connectors/how-to/add-incoming-webhook). -2. Once you have the webhook URL, add it as a secret in your GitHub repository named `TEAMS_WEBHOOK_URL`. -::: + ```yaml showLineNumbers title="slack-teams-notify-unhealthy-service.yaml" name: Notify when service becomes unhealthy @@ -75,7 +67,7 @@ on: inputs: # Note that the input is the same as the payload (workflowInputs) defined in the automation service_name: - description: 'The unhealthy service's name' + description: "The unhealthy service's name" required: true type: string @@ -102,7 +94,7 @@ jobs: ### Automation definition -By using the `TIMER_EXPIRED` trigger type, we can run custom logic whenever a [timer property](/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/timer) expires. +By using the `TIMER_PROPERTY_EXPIRED` trigger type, we can run custom logic whenever a [timer property](/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/timer) expires. The following definition will cause a webhook to be triggered whenever the `ttl` property expires on an `environment` entity: @@ -136,3 +128,78 @@ The following definition will cause a webhook to be triggered whenever the `ttl` Since the webhook implementation is entirely up to you, it can be used to terminate the environment, clean up resources, send a notification to the relevant team, and anything else that you want to happen as part of the termination process. The run id can be used to [interact with the execution in Port](/actions-and-automations/reflect-action-progress/) - send log messages and/or update the execution's status. + +--- + +## Send a Slack/Teams message when a TTL expires + +### Automation definition + +By using the `TIMER_PROPERTY_EXPIRED` trigger type, we can run custom logic whenever a [timer property](/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/timer) expires. + +The following definition will cause a GitHub workflow to be triggered whenever the `ttl` property expires on a `service` entity: + +```json showLineNumbers +{ + "identifier": "ttlExpiresSendMessage", + "title": "Send a message when TTL expires", + "trigger": { + "type": "automation", + "event": { + "type": "TIMER_PROPERTY_EXPIRED", + "blueprintIdentifier": "Service", + "propertyIdentifier": "ttl" + } + }, + "invocationMethod": { + "type": "GITHUB", + "org": "github-org-name", + "repo": "github-repo-name", + "workflow": "slack-teams-notify-ttl-expired.yaml", + // workflowInputs is the payload to be passed to the GitHub workflow upon every execution + // In this example, we pass the identifier of the service whose ttl expired + "workflowInputs": { + "service_name": "{{ .event.context.entityIdentifier }}" + }, + "reportWorkflowStatus": true + }, + "publish": true +} +``` + +### Backend - GitHub workflow + +The `slack-teams-notify-ttl-expired.yaml` workflow will contain the logic to send a Slack/Teams message. + + + +```yaml showLineNumbers title="slack-teams-notify-ttl-expired.yaml" +name: Notify when a service's TTL expires + +on: + workflow_dispatch: + inputs: + # Note that the input is the same as the payload (workflowInputs) defined in the automation + service_name: + description: "The service's name" + required: true + type: string + +jobs: + send_message: + runs-on: ubuntu-latest + steps: + - name: Send message to Slack + env: + SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} + run: | + curl -X POST -H 'Content-type: application/json' --data '{"text":"The TTL property of service ${{ inputs.service_name }} has expired."}' $SLACK_WEBHOOK_URL + + - name: Send message to Microsoft Teams + env: + TEAMS_WEBHOOK_URL: ${{ secrets.TEAMS_WEBHOOK_URL }} + run: | + curl -H 'Content-Type: application/json' -d '{"text": "The TTL property of service ${{ inputs.service_name }} has expired."}' $TEAMS_WEBHOOK_URL +``` + +--- \ No newline at end of file diff --git a/docs/actions-and-automations/define-automations/templates/_slack_teams_webhook_setup_instructions.mdx b/docs/actions-and-automations/define-automations/templates/_slack_teams_webhook_setup_instructions.mdx new file mode 100644 index 000000000..315abfee2 --- /dev/null +++ b/docs/actions-and-automations/define-automations/templates/_slack_teams_webhook_setup_instructions.mdx @@ -0,0 +1,11 @@ +:::info Prerequisite - set up messaging webhooks +The workflow requires a Slack webhook URL and/or a Microsoft Teams webhook URL to send the message. + +**Slack**: +1. To set up a Slack webhook, follow the instructions [here](https://api.slack.com/messaging/webhooks). +2. Once you have the webhook URL, add it as a secret in your GitHub repository named `SLACK_WEBHOOK_URL`. + +**Microsoft Teams**: +1. To set up a Microsoft Teams webhook, follow the instructions [here](https://learn.microsoft.com/en-us/microsoftteams/platform/webhooks-and-connectors/how-to/add-incoming-webhook). +2. Once you have the webhook URL, add it as a secret in your GitHub repository named `TEAMS_WEBHOOK_URL`. +::: \ No newline at end of file From 4634062d6cdba1667a95faf54b0cd4f05900430f Mon Sep 17 00:00:00 2001 From: Matan Heled Date: Tue, 18 Jun 2024 12:08:30 +0300 Subject: [PATCH 43/56] fixed typo --- .../create-slack-channel-for-reported-incident.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/guides-and-tutorials/create-slack-channel-for-reported-incident.md b/docs/guides-and-tutorials/create-slack-channel-for-reported-incident.md index 40777b487..2adc8bf71 100644 --- a/docs/guides-and-tutorials/create-slack-channel-for-reported-incident.md +++ b/docs/guides-and-tutorials/create-slack-channel-for-reported-incident.md @@ -11,7 +11,7 @@ tags: import PortTooltip from "/src/components/tooltip/tooltip.jsx" import PortApiRegionTip from "/docs/generalTemplates/_port_region_parameter_explanation_template.md" -# Automating incident managment +# Automating incident management ## Overview From a540d8857a80ec1d5ab79d7c467ce5feeef42a96 Mon Sep 17 00:00:00 2001 From: hadar-co Date: Tue, 18 Jun 2024 16:16:20 +0300 Subject: [PATCH 44/56] add line chart docs (#1321) Co-authored-by: Hadar --- .../dashboards/dashboards.md | 31 +++++++++++++++--- .../widgets/lineChartExample.png | Bin 0 -> 129359 bytes 2 files changed, 27 insertions(+), 4 deletions(-) create mode 100644 static/img/software-catalog/widgets/lineChartExample.png diff --git a/docs/customize-pages-dashboards-and-plugins/dashboards/dashboards.md b/docs/customize-pages-dashboards-and-plugins/dashboards/dashboards.md index 3b5b8f8f6..ec3e38d04 100644 --- a/docs/customize-pages-dashboards-and-plugins/dashboards/dashboards.md +++ b/docs/customize-pages-dashboards-and-plugins/dashboards/dashboards.md @@ -12,7 +12,7 @@ Dashboards are available in the following locations: ### Pie chart -You can create a pie chart illustrating data from entities in your software catalog divided by categories and entity properties inside a specific entity page [**specific entity page**](../page/entity-page.md). +Pie charts illustrate data from entities in your software catalog divided by categories and entity properties. ![Pie Chart](/img/software-catalog/widgets/pieChartExample.png) @@ -29,10 +29,11 @@ You can create a pie chart illustrating data from entities in your software cata ### Number chart -You can create a number chart visualization from related entities in the [**specific entity page**](../page/entity-page.md). +Number charts display a number value related to an entity and its properties. + You can choose one of these chart types: -* **Display single property** - display a property from a specific entity -* **Count entities** - display the amount of related entities or showw average by time. +* **Display single property** - display a property from a specific entity. +* **Count entities** - display the amount of related entities or show an average by time. * **Aggregate by property** - apply an aggregation function on number properties from multiple entities. :::note @@ -92,6 +93,28 @@ When performing calculations of average time intervals, such as by hour, day, we For example, if the dataset includes information spanning across 2 hours and 20 minutes, but the selected average timeframe is `hour`, then the summed value will be divided by 3 hours. ::: +### Line chart + +Line charts display trends of `number` properties over time. + +When creating a line chart, you need to choose a blueprint, then choose one of its entities, and finally choose one or more of the entity's `number` properties. + +The chart will display the property values over the span of (up to) **one year** in daily intervals, with the x-axis representing the time and the y-axis representing the property values. + +For example, here is a line chart displaying a service's resource usage over a span of 8 days: + + +#### Line chart properties + +| Field | Type | Description | Default | Required | +| ------------- | -------- | --------------------------------------------- | ------- | -------- | +| `Title` | `String` | Chart title | `null` | `true` | +| `Icon` | `String` | Chart Icon | `null` | `false` | +| `Description` | `String` | An optional description of the chart | `null` | `false` | +| `Blueprint` | `String` | The chosen blueprint | `null` | `true` | +| `Entity` | `String` | The chosen entity | `null` | `true` | +| `Properties` | `Array` | The chosen `number` property/ies to visualize | `null` | `true` | + ### Markdown This widget allows you to display any markdown content you wish in formatted form: diff --git a/static/img/software-catalog/widgets/lineChartExample.png b/static/img/software-catalog/widgets/lineChartExample.png new file mode 100644 index 0000000000000000000000000000000000000000..fccfec0a039676cf906e20228cf70da9a05fe329 GIT binary patch literal 129359 zcmeEuWmuK#wl*LriV7$pEug4$BMmB`q{O5f=}C8siL^n;Bt#^nyIX1IoOE}0cYe?7 z-fQi1_FmUH_~ZM&KT9t!UMKUdC&swPJ?=5yJ(ZWba*6yB1_s8JCyyT~VPN3#VPKr| z!95Q?(I9Jx#lW~MV*c>q(9mz)5M3Eq(l7Qs8dYfKd2m{G5qx5_7xeGy#&c} zPu_I0FAtYmXU|KB!LjZ9?(#7zH6@$kKD{aG<8O-I*PYMP;JhbK zhL_P2nyn#yf~7_m!W6LmH0ooc(n1yLn(e29NOwim2b@2N{8;c_KT#w|d${x|?mA8U z78&eQT`>99`^S^d_O%{R-XVB>o^dOu_VSa*(H&LXY(BP?eKX9occkCp6Fs~A>fXXj zp3UNoqjBx*G%P|UyQfm2q73%7te)aevkh0&i^M+N$m-g^$%-4O99Va6V(3Pqs5NWj zm9X_0g0gASdZvbnCpfm^j9crM?ZjnY&?%JPMNm*DG+xjQyZX%Y8LcW1(H0>qX>-v=?*-Zzh!lI4drs|>ZR5&|o{4NKH zD;TnK_}!4aOgk`szL;j^rBtmE2AuW&^FkB8P7mHplrVOcmg?&IE!XG4-s5 z4cYG1)$)c{)bX6P-@H}ry}rLd9!PQredodg?kSAb*Djn!AXUyOl2b`DF7 z9rr@}P0Vl4FR~vp7o%?LUy8(>d2#LO`EcKEec?Xr!WS|6`1dguYB+4kqt8Xuz-+G% zy-Z8SE64B}quL9+iF+}gj{6Y}heSHTg`YSEbl#8Iuf6+8d+#y%hj)Gi_c+gee*1}* zDRjG$LRD|e z74gNgozam`^KGmoTLNGE)h(QX5KLL(1S6A3`ud-J>fGV}#`@RbB&z;lMlf}j9^BPU zr}T4+bs`gwqTg`YN)^BOvGyqXtwO!&c)7b$CR zJYX=m6#wd}e4qS%+532LiLAAPbnhSE86XfI&x?G}${>G-mBISv%I#RXLPEiJ$G5IM ziJKDJxGnLq_#2keMRO{1zWH18XKAKivYd{atS%FLCSe$~tqX37}X z6!nZLmybWH^^O8P+ie?qz7JWUWsPz7G>Itu*>3xOkozp7A@e;kI&mnuToDH2QQKAu zf)S^p6m`-{6}De2(07Me3|Q<~zzggwlnQQJ2zJSTA6E2un5dNT9kWZt0@LYYL6rNO zgU|!XRiARY^lS#ocr-wBoKy!HDmX+nQzE$Op=W@n?X}+NO4djdZq;<1Rvq3Xc za~*+4R1{Rf@`duBQPeT2F(NuvI();ohQF5*mo_*F&fOS}LdDN^M0DV{*|dvZ;i9f5 zXSh*lroNnQ`D0{}YyoHP;+FLG&cbll;Wu;}eh<1`FHJmio6nCY(lEPyEL}V+ zJ~%#v7MNMF3PO5T{VFu!Q1HiLpdUklL;p;nMVbEBov&Pi9f-jqbT z)dY+Y&+!Z{M)peC;ICq>o*VJmzke{bx3n=&ZOkRjZZVi5ujinbxk@s6RrHNs)Tl|- zRUa;&OrNmRNsIst@9LfBrp$t>yq0{6#$O!1+*-38^C;x=U^rAEAR!`GA@3qjr;5H& zF0yCf=l0m-vD{<56py*BHf4iX*?!s62FsL2S3{JM^LV?LAmF*x+`gNT{`HaKcKgk!>lK^_;(>ClQ;`WdKl>v4{QHva=qF8n#)Kr-DFluZ zpR&@j8<^KtJQ{ptZm9f0vZMIh!nfTf@g}AZg7twnxExxiiCz*JNIzt}$8*og!{W4W zEGMnOImm%VjdP{P6|t_|pck#rPU}*;{*L^5$#wiB!j2D}&WT>*k`8Ib$Mex!&08YW zh@v;UFKDXu>Q)K&E~(lmAo$3Z~gYd)h{^OIqqc>Pod-S7p z1z{(2UMh2H>WX^?(jA{(DiDGxbi9|*U0vp)V%90nV zF`pM@qSYEJT4pIf7aikp&%t5lM0ZKM{OjIw`IKAGX3#A9^XR_J92?K=h1(xK?BIyt z@v{6Ry+m5bYOj-T-Cm^RJ)g)qo4b+A7T^}Zb}X>bTTpeCxkQfS?=$DsDM|_rVx~)t7c0}znm&1S z*@iZWiql`4cPaKLGOaH6sh2gmD)%QTAYLPEY%UHfsTu3QD#MBkY!^GNo(!T+>yI+r z%W8IVm-SryoE?_}2m7^`HFPRk%z8V>^CdMq^E`%D(mY=5aCZsxSoh0}Y8B!yeO&RV z6tz0dI7fIP>MAFG4|T49id&>}asJis2-RM-IM`@=Xh)m#t)s`v2?~?r3Gz}dlw5+U zcG|mp9oIiy-&D99%`DLGBkh^G>o_xyN_r=^iwfj-NZ>Cl*@pk@$D4hCis45K_-wpb zeQiWq!A4#3vs}fef6`tjz@ue+bl699XrW!xrEXLD2P`Ws$SPq#UVF33`M|wx+kx*s zAM0pfX}>emde8EX-7;0teo@)#)QFo?(b~$ahr`PCl?ahG&!;DCa|Ycs&OS@aYjgKc z?#?N;Ozt)83b@6v#ZHOtckrCv+cw|l>NM>hW*u&Df8d@eLUUNY_^t|Sc$uo>K_X`+ZL>OkaK9Xc?^urUG=51{yv6b3dSv0%&u;ylq)OUQ-{)@3CBhB z9lCnA${p8iWOHVZXjkLVVo3|?_gnIyfw$b{^xfz!B6N}|fRT+AtHCoH zLt|D~D_iI+3?WwmaA;-hXmHcj3U2Kn;3`b_>l*^#82Xrv?&hzrI9dwRsmndR`OwDR z_$DtaJ1aY#$fcV%ZwlEzGZ9dFB>B(N!T*Hm%p4tU1=!eJTwGXPxL9rMP1!j3`T5z{ zIoUWlS->|~9NerO4P05Q9q9jYkw32U$k@Ti-rUyF+{XGQbX@~O8z)C$Iy&e^fByN$ zb2^%v{OeBE4*z^D@Pcg6Z`e3k+1dWQHaJxX`cyze$=JaL?gU+5goB$~=+}4u+o%7! z(?8Bous1gb&-#xu{`vj?`q{sKU;Qud@Lxau_cQ)=0?gXnQH1lKH~F`Z|9O@W8#FBc zWtjdk2fscAlOS?Qi0#h_6}coa=emP|A%^kfk+_O0=F;%Ra;nK=(X~5jB=2ti3@4zI zUg}c%p!$wZLg}{ja<|2IRV|COL^JbyR}K;^?pf$r;#q`v=_v_Hz~8Yr_eWH%9tkEp zgnKwRI9OYU?{2!sw6=1gg}63F98g{r1L%DVzU7v1liY3t|Ig)EZ?E4JdyavLg^f#a zrh~Q~tmT0M#CI7p(F7?xPIOA-`dLr?$9-n5_-blQl3f(y6CBcBe6)E!r|i~mJ%QMl zL@c+fCH%Cr^KTHFO%^(`OBABso(B^FY#qgRlO3-vUhnw!p%EqoGiS&1f5*Z1WLc?|bO=lA-Bl)(dCYH&DR_O~l80YZo$nve4VACe;w4)TmnQDdAhOyK zEYxxMsbtpH%#oDDpXu9#Oj;w;r5$8%JXy@tDKojZ_*kpRW>iE1ON;*Z22p>7#Lshm zs_A1VG-jlFp6^A#J93+Md?Rw3N|_m|@YrRZ8&a<<<{Z-|w$3Dm2Up%-pKDLZvvrW| zNR)|KdWOf6-!{auvU0|S^T*?v6;>z5c}Ec|Qwuu7N$i6eQNr$9jhF7Kz4>g^VW_83 zT%wxIf7S1n6E?z#EbMcHrp5PkS;wW$-@MJur}x&@8)%YUM%?bCEe(}8%rcKrwrH~8 z-!~nfsegb}%y6rHb#Z>VXjK0C9r@N&p53K>E+#@9OC_)0ThF)zjW~1xLKa;qM6hT< z=cUMSUH5tBfFZDo@b76A9&%O-Wu(tmQ4qSu3c1<4ZzB0R_tqzsKfMgrcQCr%9rcjr z?3?e`7;YAd5orfM-@Fs&`C%r`=cFr5Evu{2>+qABCF??0ppaCyTl1%T^TRHqa+CEz zOfWbJoV7#a&L87{rd=+k?~e6eJeaOUr_`}2x9PoNaJv1oa3(ESG5`6x#XPh~OGo>A zf7P6l4@lnMe0(Hv<2lrOx!_Bv_b`-0OC5i6Epq>P)5kl>97gre5@VqW2U|CJf}`i+ z*-X-(Z^r%*>;02pxP6)PaxV0|n@9E{iuZ;n1;5s9bSj9-U1yMOlooYa>|vp?eDZsC z0mGLB?-6f_Oa!ZjDnDmS-DL;asMm;16nN0^TI74bm5~aM0EH#7GuzRBKD5fEN0R)x z&2Gi~oUQG2okO7)5SuT*8g4>MD z+-79^`#Z4>!BmLESTHu4l%~IFoiMSS2>sISiOhqS?DK_MqQRRlAaf}BthIUdeQ`({ z!%t}coP@I-hza9tfGLUy(3sh=`!Lt22R5NBa4a%0f-ae}`$&mD-{ouvzOpxSo8N1I z=cBd`rn*uWq#nm@uH-CsxTCScueFQ+n~M~C;dZEL7=4*`D;M9-i~dx~$?`~4e_QBs zYVSVs;n^PP&s&0LLo?3yPtOI)I()ZxfKSoRdNu|Bo`1l^%AgH34G-X-QF5CxG_{N# zivC?Ql|poPCNi%X>9$Z}|HbNe7i#Mz-$w4VAt9!3F)x4b(S4(^jKdI?!EL|2r25S>F?p5bS|j#Z1~@|}J9 zo4b4A&dvX~w`;5PR_>0SPmIu&j`P~lD0D~+Qt1+grZVcOty=)SVCAn8boKqmN}+OP*PbR>DRHB(r`5muQWBPmYz2^W1pi{4p&( zS6b8X-R&r^A2dEkcH|s}k9aEqFfc#f?zP#;IsY5Zdh?A~+HHOM=x8+q)V({hk)hO{ zYc3Z^kHP=-=_?~R*`?pzgI3UwZ|D#}L*EOH;- zICqizHbLBIM$t$q_f&cwigA#2+3eYL`6f!{PK={cVUa?d$oz=Ms@1b^)@L71eO+R+ z0$T?a^2~0!oBZxubGg;_8Tt<1@FgvmVW&+bzXe&CMVZs0YJ_Dhh?OoQ9qNeHzPSQK z?LA+84qv6o?akI@>npzIok<1t`7>v?i4GanZSfDa9BmX;T;#1XNUUS;+ZiS>5ZcBL z4i@z4B6fxx(2l)2E{WhjWtl}3Fq^~ORXtu)?C*L$$J<+5oeB}#r=zFGdKO?pFVJ|} zYE)f0`)h+(tY2%aj#MwYf-RdkGqbxE2`va{nIdIY`twXRd;+O>EL1e~Di!&8SL0$L z6oj``NZ`TM>(4RIEl}HzxK0Lj<}^@iebgT+wwsT3Ks^ERp{MyNSVB?fuTn<#Xj*0{ z#S#C`BVl6YA;cb9>O55;(Y39?NlVf*3gS`PT^VjUu-vYD9;T{!Ph!nY-hvPwEarfX zNT}O5+C-y!OzT9U1%0?&q<7GwccSE6+QM3v4j(*!Mj!DHL+RTu_obVW&t<8P;|dw) zE#Z^BN%Pi7j(dgl=|g2MtBf!E_*~b+= zravj0>|4Q$hMnh^^3d`MqQ{QTD`l&d9^rZ~um8r5!N$$k9s_g+d~3|-Xp&~$_X4$< z<7sqh0+=SuYw^?G#|Jzu4E2&Yv#!W@EH99XIsA-#vsM`eJyD4;#O7vwu1=Y=dBt`Q z(`y7hw}{h1S6AE9GWA{4IInQ)()pyVjTW|KzEMxEAPPQKmWr*8?`m1P=3~{q=C6rW z@5+x(xkoSdo5snZg*Ii~S4w7;B3N~DpL)FNE*h{%TPiWLe^HCNc%9+fpmiBbSx9jv z$X!NgbCzWW@r~TisMr~J-QJz1oFw}Mgr%nD4N;bvpQ-c~QgSxN-_n@GA9?mlQdoV0 zf;vwwuY>vIdGIl+5Q>O8xCGrcrX112yWdWaW<}@2)O4T7Fy}lv*v|6N5y&j&w43p0Z|y*^jlrYq{!sH$6`iNE)CJo{RkcB{`~Pb6ed}&3^Sip z(WZAjC;06pd8Zbn@bA8odEc=c96 zX#J;SJ(=mJAQo#%mm#}(t!0dCt$lUxtI>xW#amtoa|O9EM`@CBRL2Uj%)C}pANY6XqXz) zb}2~(g+=JPe_x7hp!Q(K`!Vw{tMXvM@h73wGsMgDSDG_7Yc9~pN>RH#b3fUi-83)< z!9H8YER&s{&*|Z4=aV}zU2|S_eNH_ZcaCTHs?1dz_d8_RkRu3uk-eLua^0LSrlCch z7wXWB>Q70CMYr|k7zAj)x&sb3w)fI09oxjsfw4rEF`pUCilqX&r#4E_%)#2Mpk)tr z#ii$khu=aAi@C>2iK)ixnb)Mc_jNp$3#`cD!H0gAYTW|9JOk0{1`@sx+)Uzf;b3MH z@D$ZlE<^8OB~-vej=%~jA(E~=#JlSm#P49NR35G%tij~wP6kjY;_zWLfkB0T#2mZN zP#ZsbyyB9FZ($eQqaDXxMA&iCq~QG_Sma=Cex&!h zg3$ZQ-HO#jTqV99x?-yMp>y~`><(6N?JX&NkH%2id4Hx%GYfUZO4=+J5ph()gsXDR z%#jJOLt9%vXinJE;IX^J5#yA^#fVG1qzwu-$AC^m)gH^?AdG_d(jV;|v^~U^Bh2hM zGj8E|0R^ zs-I(;gFP1;Phg}%0ugdDYS(LKQu-)2^Nj%@?0615$V|g=^8ET5@Su^y*nvv%HOX5 zfUp#X@5eq52pugRg{6>e>sQ|cmJy>zCIi5UDIewDOdT2VK3wkKo;CuQBRf6SF~g#1 zKe9)C!~rdQPq(h8z_NEMEX(uuHn1LjF~hw`zESO-q9z8!H`mv_U<1cxmdr#g?KfRG zo*=DyOeh=Tkp&0DmA(HL_{c=LqCuI@=?P?7AKO$NJC|Uy~j@QTL7Wt%aI$NSAp zS*?6|7UR&qS6&^dP*!>CJs1BrS9&NBQ!n#T!E_442;c*AS6>u2;C>_3DnHdbJ?PC7 zWnLF1>UG}fH;s7n(@FC7-u>h=@-}kqZ7Vv02}iO zza^Yd7d6P3mi__9Vp6zO3tL7(a5;agLG*-UReE>WMUR}@?5Vk+Dr?ozM*21T9Igig z5}g1&3Q#$9Db6eS94HHHcPYy}^f}p#Gj(9C+?zH{pfVj(px zwetQ6a6iW4{S#v;7*yhexbJ6K7==fjdUf_q3OzTP?kEdcx&>f3MjHWS*jkor+)C;@ z;7YSe;yaJ~4A9o8G^a<7NZp=AGJ)A>hh|2j)r#GbdsxkGhXcKp;jiQ9ajC0Ro3w;x zJ(hB$EP69_M#6AVlOf_G=kckdPY!yklHR;|Q_gf4>wnXyHKHix1NBZFNnA@dTj70E zA#@$dAXxWW1D078(xY+fp935oebGF#J91O_@?C#(C~3Xwm2S-H(tL6pE6(P|cL=1z zKEwb(Iugbr6-=oCfFJ4xh3_m{J{H@2ns_ z20%!M;W#{O0EiHE+XZB(o4bKcj;@`rJI*;tpgF#q_8@xqtwD|)f|mtPjP&rUp*2UJ z_K-`P_yuFywsJPcZOQ5)7EP7oAOZ-x52?-fVZ6bL%wtmhRcZ5_c zN7EG>kyW-*nyT+0B9bbCPbI)TDw|bx;$C`saws#H*CH((8($n@_*j6En#OJFJ&z4X zs^{rOL>2QgUIfS=~j~U}jQo|gMzjkASWdB6ua_GD6B z*ZBOHEXS20{xlM*RrB(%ML6%ywbQed&V5Z> zZVu~K)yn9Cc~)(r4A(@wpJw-)Ag0SKSPyrWwRX;38lQ=h6*wa#U{}LywXB(OFRH5N)7Z}1-;Gnj|%3bXuP-=11>caHU>!- zYQb|PG)-fiq{E_T0U*wu^rr|B-ch&XvdTm98V?rme$91!6%Zo0QVe%_C7mE(t-YFV zLHNizb((cQvRU7AL{Hm!d4Ojct(PO(!<2>xt?f>)(~06NuVu@`(CrqsDoUL^SXu)Y z5g$=pgCFu&3dd>s13>L?Ki76 z7b5ZqX@ToW?f&uR3R7CX7l6Bot`fi%siXx-x29#5TCBHqxKl?52iK8kF|!nODJ6Qz zWe}bF!m$EiMoi-POv=|`m9+9K*He?Ex?|$Ook1JDA$ZRLfEn%Sc6s(sf$f;se$!bp z8;gkbIoaO=A$-`2{W^}YMGy_$TVy=R3AA-QVjoM>JGSVL^qd42K&y31Gi9h~hJ-b@ zZN0k_8#%#~z#>v61B_uHwTaLfLs%2(u{RXfjhrv`Z@nK3c- z=VwH-0vHD~qQ@Qv5pe3s=Xo>cKFaZFz2gNn^S!lkb6{E+1tqYff$v7A8*VBq2*Ud=aVA)lH4R~j65Libk z57{+P&8H*;OCxM5-TVnGjm7w`GQN2}*-MVJ3SccY>u+mbbM8l}_C@OAmbvP2QNV*+ zLYlj{2ESshwH7wtT-%yKjO@7!J+!;hnIzY8GA0pu0^%W=^(Erbm-9NNcBco6S#dba zo0WP;6QodV*~FJO4dsR*V6-H(AKbh!wC##ETyZbA+2_$bW4!)_AB*ro@I-PQiAFQ- zsA?e~w00zH`R#+j3@Y`v^#z{@^-&7a6X;l?a?j1a4+_Ud0NaE(e}!Dd9oeLkp<2RU z+x+m&?;C9-^IQB#ohm#@?_2KNe-TJ~ms2Sh`GbJ&6ZE-WO}aysO^=EeyN1f>=&SEScP zCL)_Hes&`6R9@In-9PuX+{Yv?K5`b~Mj9v`WJQb%1Et3lmpuVAZUoUgY7b5Qh`l7I z2jqDj!E#6hKuM5dV<9cegt!rmN=tg~9x$t&;A6yBQJZ!CqmkXp2pf|Y=`!3B=zWci zqVfpQh%*9OUyXYN{U}WqG}Fu>9bhNnsKX88R>C^FO;tDeNF17jP0hyoNjCpcZIM|t z0`;y%6_4+NBzANW0JN2{cuESC2VfAYMQPDCS#AGR*zDG6Yg>O(?Qq}4R z>{c>RrQ`t*N|biNCcEbRJlHBomu_RSnynODiY#1e(alyajmUjApM9AF5TEBc{M`8R z@~SkUH|j@C-6A>Q;8cD2Mti$n!&H5B?VD~>P{qbowPWh7_$_9bGL5LI5Cn@^&7xwo zJpFMoNC(MGqu(?B$g4Zv)?V#QR=C$Fn9v-;^xBu^2`NVk0&uH=jFXT&e>M z2s-uFtdVKNbP~c^Qb{tfn^V9W3tWokFw2UT z$!Fu{;2<$82hAIgi054;UXPU%|LADn1%dE%nWmRUc?80`^m{)DD~IZKznh|Cks{8L zvGEWrBKi_?of14y(0PQ>DF`kp0vNQg-v`vp)Sqv_$Abb2fHDI^{9Ec$TcCKvsB`X& zDX41r?a;RoOl*t?0f%&YJ?i7=X8+o-!TljSPmbj9T{NCd&CF>ML0(3tXL`>4#xNsBLApSN)qUOGMKX6l z>9(Mh7aK1Al1`X*BR7{dTa@MbZ^ziyUQE;h^rMxk)e*1{@}%0f;{Kuxigo*Oj=lVO22_cm6OiK>%P4Z=HH(;7qC2+1-J7Ane_a|ODn)aC8{a!-s;oN>|6l2 zL4X3Y$I!3f=-NpUj8YJ=n5WBT;{&Z=;VYAzLlM$t9I?+#nnX;`AZ%h)HH^bLrXQ_s zK+%|0gS00t9N3M-O5CTsu-Ci5PAiB4f+;sOpRhS_%qoX&1JIC)QHw9}MIJ)|hIyI2 zF;IpX>kzu4w2lTQ7WGcuD?eKUTkd$Y-T+~BKwecW1+X(x&MqI0o_bemYC`ly;x?|I zs{526y=*Cn@;<>%kh{oM&Qv1ObJGxw3&Mnx?x{~)A?vj#DHZeH%AU?MWMAI?=zCoNw z;#;S}D}w=kHp@?9#MKaL0gK6<5Qrg#Jd@u>^QF!BByYWv27 zBNP!cGlX1~-uv-EUIJwWxOUQ9059xju;5glIw*K;0*fY? z#!e|paJSHP^s4Yy+g6vdLRcwufh5C}^85rcCOgzxi`J1DEu*rO{sC}#$g(_RmF{5l z5uoK^Jv3nnvjEHGRswD-EvwSKznm~QE1i{U1~5L_0yB|D&Go9*D!N8XAg=)Y)DKiFVP%OEt+fc5&*CL-@CCq3KMO_%nV4B|7Xvc7xe zzN%^wdbd03bDCS(w>LO?67CIHc(v_@EUr?Q)mX@3=4Lxx4*aqO#V|2x8`XA`^~QRk zbvGRY-&qEHvA~X@XO1bFLuVwcf<459XCqZN3i$^L>RB%U3pO7jwCgw3$QZM@{bvhq z+=4(w>B+&OrK)Bn*w_}~YaxsHX(?AJVKD)l62_B*HdS6psTfjwyeIeT4xjc_kA~EDtUlEanD&G2EblOgIyw5(&nf%$s~dLqBtLT$(FMq9wQ@7UY3v(m zKO5U=8!ZxUgwR}ilNb zfoD#ooALPGm8Ix!DvxoS`3$xT5&YzoQt>{Y=9FqewN1Gu%Mc~(dBTEC21&QmB;AHH zNG*jw=yubq475nJOwW<5VH!`#+CDQ|d@fk!v=Y!>S zgYU$*SSj{KgK+6j0XLkIT8an>TBtZ&DYL2UpW^hcAf)Yb#kDLb?n${n6ipJ}U3GfA zdhbP9P(g}z`DC!5>T7AH27Jo<>@ltr@63S%W?oKJE9Pe?pYUh0IA1DrhbjH%@y|Wu zaE+uktx9)5Ehd5J%d&KrSPIH--K%8Q(kv)(odLP4TX=bT4oIH56^7o)<6t$A$sngv z3o)H*p@Ba`8(_ak?nT|740HsXQG~ajBAIot^k&&ot_&=3bskAk#o$lineluRV${EG zICDH5?eipb4>tACJ(5r|VmLS}#c~Iio7kEJeljYk&NQSgsButbq*)Hg=r|sC_;h88 z>VUeXg`QEv)G^3|wLAzQtPcDz?I07dvC?S?GJPHY`aUw^Aj<+=x;TIu=bxXuYR26M zXoT0JDFT$lFDNVtPlSO<%3ZW!1RqP?o{VIxZ2`03cMKe#)0^5V#dn^PnnMcZq<~?u zOn57?J$YUJK5g0~h#6w=v#8?GQ^B)Nf4vVmB9zGC5?N_c{Y=0K?qeyO)xCDH@=>`0 zAQ}*nm|lB%RUicvt0kNx*WS<#bbV~ffq;# zvc)s%tRnMpuo20pCk2|*GfAl&_#pWWNSg{rCy=kxzbB@?aJ1UYfPm8tslDrv9#l-^ z#cETuD+5|VbFfsEWR@@BtUOB&O~K+-MrF zt@gxaO{R}`6j&=v*H2h-8|lmox>aS?e_Reas|ssI+gCFTfrCgJMT4JOz=(+V1Ls$| z!05ia5(DK(a!*oFo=vwSzBMx<37-ew%m?ABuLcW2Smvg!y^57L*bSXqFHWlVkv1JT zq}ri67Amck0F|3=8w;LUMcsNHD{OoQ#B0eHs9nD-HG8kUr1=IiH(}dIONxS8as7CjXj29VSo zqy-Zzo5Mi1l6%;(Q!a4@z{Qe$>(^%;dfX{2;LooWL}ZX#XL?Cjfb}1FjMD@38o2>O zAYIc*C`I`m7{{!x_=j(Ey`Y$Jz-81+`PG-rLcn}arG=ky$J`XVdEKuTVN@UZ1W<`- z_i{U=nG#)*Epo+fy576Pf|yuAm(szYnnNjB5S_3F@$d8*DVIaYz6%iWTaaWQA~Rn{ z8LdH(ze4(g=GnEydY8&U)kJ?9M3lh$(a?4W z*f*7t=WWMW&C5;FNP$i zyC6WD(e(`xIk+1Hm@z1`1et^H9=j{wy*#RjKYNVYxtx*fft1B-KvDCob7y5(kcXT5 z8Jl@|PblvlOe}|jYPtaC4-<*MAw%3IHcMG`G&yUY?T<)PtOXlLU}t9T{+=oddx04! z7fqjb{>BqROSz2`b9^Segx~+nJLp#_g0BD`E?+NM*YE0)^JT?~ON_09>CPsO|Kp*) zpn#my={yhBAEWfgFa8%HD$8}CbN!4+IQx?Rb%T^VpmU88m;23Yb!pPInN82c z%CPi&*r)vMnxgqjo_jTdFe4S~OuBaQ|HUEv8+sGd!o}q)dR^*p#zfv9SATjNI9rLY zXU%f_^RB*y1i&5PInAD30siaEFVeti`ainxo6gUQ_U6zK$pY$(`S?GsE*1uyAMv|0 zb0q&XZvzj&L$Y+md_1FT{$orS0sdgTM)hwK^S@mr|223>trS6k&3@}l7{C#*TLOQv z(f-09{b{((@W4YBK6R1*y_;dD0w|aE*zte5^q=?m*8w0SYmrv*E5BRUrg9ONPwoBO zzb^FW#{8cSzOaCY9DFd$e@1%dk87n|Bly3&;UtQN{r>0$@ZaY6@6Gog3+nI9_n$lZ z@6Gq`*6MF>_n&U%Z*TX9LI2Zl{O#@j9Ev{={;zwxzdhXljO70IaR2{3Tz=NVUjb%N+Af3L*+La*;z5Ogi6`54XBsmnGH6xF~Fb>X->P%E$Wh1ba|-BH`Vk zk2(ubk{Sq8a>z=T-d(?w1cd9x4Nl7gPH%!^VlF70Y%oo&&IZfP9TZqI9tX-G~k4E_sK_wL{P?j-@|FHjTX`o*By4CTr>hkerPzg0o_q9x*Z~J zA$16u$TBE839S#IiF4ms`bMsL% zE=zVbmRxWgl`~Wg4%M3VCvMGmCijoe;7T-9h#YTqCJy?|+5`2NLJLcg_IEZtG7(SL zQlN#)LqcNxnMhB#78`wE`6*^x(rm2de#or}YC0mXI^xMrF0`!t9ekaXZY)%1<S#A=`&hK-JX=3Vby;1p;FBci}^;KmnvS#50&V>NXqG?{TA^>zZ}&YV_XGjE`FF z9L4CKBsu4^$FRm3-#j`h$8mXE^Bw>0$&(0oxdc3Y6UQP=Mt5MB=lctc@Mv0;T;p zR0kx-;!clDohP82<*@T0OIjD@__k}vD!3}74`1T<6Q}W96ZgN=*AAtby7ElX@L|z^ z+riM#%y0vyYBt}cb^AYvpBV$+5Qd{HI(uOjb*d~gn-W6yx9J}5oc=o88`1Qj#L7s#9wq>VRM+63hysB*Ai&UFU$ zQKl_>;GS{+I9F;NT()&ktrMibp1c)5DRM5=?5zn(9O%uXc;Pf zQ0?X)r5R=7>YyVk1LZr$Zy({z9+5@9=Qkbq zuqc7*ip@?{7OB7+?_ul5K#KhlNp%i%op=w!2wn`>XBxc1Hx#N1909a-zS($AQrt^D zFI6`HdUps@_-wUH{VIjT!;|Xnr*iI#xA)Io2DK4)y?_nZaOwoEHxI67Y4h{&T71XR z$)xa=qHG<5*Tm$)Uf56G;?u<95Ycy$vtR{5`X!PZK$DS3A-n@bWawZoAP!abhDYZC z>;Ks_;R0_?0_dmFzX@eza}~jcl`Nz>q#!3(istgUI_U+h-(5swy(5nQ_!JP4-%INf zs(AS|)kYUqc6)pZlzZel`tKc0(+()jQf6O^9|Jl-{=>_Vmn#FcNhuF1q2gIoj9_nh zz#eOC`)ZHp*ZaI8c)$|5%x@Bmrma_$94w?IgHl;Gnt>%_l^)a}FqSc}f#79ac-2NT zQ-9{(NQeU@Z0>jV?5%f6`HMubzC6j@Q=j`YQ-XHOe_<$0xO`WJ%S>S^HlT2h*$-;C zkqA@MDOg~nua3O1R(ZT^!>3WhpE?DNlZI=t{a4%=UC;G84R-geik;>c$@`JOHqha5 zHtfjp4S#~FM5jUdC$=G^zhqYTfGXw<7Qy0AgUhO%4^n#->T}Q;r;3wew3cn~LkT;K zNo!~n$d%DseMTXPU>2$v$BsY=fT^Ux4k&m3#@?d!DxUt)AW$nXn^E~L;o3?zmZ*Aw zt)DmMvP2=|YMViu(LqZ5kzR!=e$6mo&GpsKNn-Iuu!ORU1+{2E>43oatLxGRYo1~% z=%D=xr$*Yh-*Ac43bUc^7HPpj)pq48z`m03drmXyHDS#V_63@n05>W}_@N36f1Zrr zn4`)}@GQpw@FkzV+GneZ`r-~q20TBqNXzI+e@7qa2^JooB|JlXy>*&JB*Z~801b5j z(cE_Plb-C=^|0EZ0;TyEjFaj-EazP;Ti>g(h0xp~((=rLR6zYqr@?G1aU<@YyAsv= zpfdpWWr;h>OvX;ob06pV)U&Tw2v-d~XG>~{b)ihi;hZh8Ap1NX;4 zJc^%>8s7P(|?w`WxM6nk;wci!IrM$FjeshwzY|#gzA&3j;7fx zRpXJXEHeRz3qTU1y3JqsOJxswEZkD%dRd>!HwtQ_`Xl%5JZQ^Hl_;186-DBs_g#vt zhjSUb2q{BCHv#;Lc&(B^=P>ehVFUD)kuhk61kJc40Dat(c*-R^*@p|4tS$is4EymK zP7BboOEgM&09SFpdYVFc4D^}baGjv8D~U!?W!E+zB`&8tqC#8i>IemgEKIB){mhGb zYXB;+8=}x!4ro*D0x^}vAd*!}W1gLbcCOLuw8JSv(M2hjgpv#Pto_k4`H-Vbi#h>P z7t>LyQ_yW9?~CoL?INJr&(%VFUhM&Jm?JHk`g*;o2hi*_rY1F*(tCGZ6J7A5@y`EN zhfgODdR{C!93_h$e~0_;5y~80X-eB@z$cg}lllwY1$#0OEuiODzbyV|jYVVz4vD5& zd_E9~n$(PeR!An}lemmCEckKtJ3U%9IxsnI8qyYA+)?`$77aB}DAxgyoUUp-S8WP} z?Mi|8DsOESRE|X8EcrW3Es7qE;^}vi5IX>(XLM#2x0}K32P06Y1Cnx9 zM^oPcVpVn8v^7f1nUrRzqvu2@b2OEBtr=nKl~avwI`!D1HJxYgC32C(YT6ul{Ii&o z+5T%rBl4ihL#yzLV5+8+?R^`?@BFE>rzw|-s? zoMpypgp}4FyQ??X!&-3brNkGDOPlF&%u2m6GQy$g5PLEBWN z$9z8F3w$2?vWiYepvs{It5{J&7!i)9TyE+uqs)aqr5ZelYWm z^dYi}a{S)66fg6kTU{(&r@=hyZ`ycoB2>~{sYEyYQU^i(far$I=Xhh!%euTYa0 z=++;8+>;Nww6-4O1G*uE#eSrH_@=dO==@*kiz0PEcRABumwKoF6v?#mU?HpuH9!?L zh5tekp<}?9naWT(aM*c=f%=Q}6gERs!m}`6dNDOJI12v=j2Z%h^2|%1loz)KR>;$< zoyV+AaR~K2g-N2)9!s$o-hc;lK$*vnW8FM&Eu4hcu+HZ2r*_Amoau4FEz&Tc}yrhE6|cs@kkoryL(r z&9sU0!CTOC#Ec`9++Yh=NYZ!+*JpMaDga543PJHETyt7|0J>*gZ?FRX>z61C6jR#! zw^;&dZ|?4WMnS0nj4hYS&6uOm4$j(9s6UdxLP~-(W@87+B%K>*pwJR3$V~V;<)Z*o zzEnBOZDK#P+K7dh{Dv2c2Gk%19UFhtSAO7JSpi@^&%xwN&(@`4X7BS2fn>@D=|2nV zO=p0R_HjE6i%5W*@!{uvYe+Jlw?7fLx59KDu}QVAa{z4jC-3MFyL>KWn6scOPol*h z=&KV3TMD6CHww|5%@lb27s*dwelf9Px2vunwdwu?$5ltOw1MD)`G_AhOJN?O=;ou> zKiZoNF@=RruF!oN0+o&oHd`P7YTl75=1HC7?V(c_0wOb_$$&7K&2_~q#j09h3(5?G z;%HCvisIa#*JM8NN(GUJePy)EFSoG6b_p<&ep#jc?hE`?68#V*%L_LUN+}iU9+?8? z$YLFyAvMSO;D@5uHW25xV2!(paWGz#>RvFji;Wfb2&Wnxpdh@3{?QHT?i6!)GU*RU zL3ib?)4sA*_A=Cg?p9WkIX8LGK#I#?Efs}Pc90DGdeptQkx!LwUc|JQ|L{@!@d`iM zD|WNN3*|6y1uZvu>r*J@{abvmuAUE^k8HbK&r6c|p*wvfab9lsn8giWOZnUT9cpvQ z!%Y$NhNj2%w#NTq??1zu%DVS)d_+`66l73Qsmh}WNRt}6BBFu$^;WH7SnNv>Yt4QB$rTdrBc1SLgcGyg1}vYylU}8DvrKf1=(Mt&MNIh0qnX9n$8ncOA{r z$Zj|v&~Bc&v|A<^SNnAR&WpqAo#W3V$_Oc?rJ~-%m{BEir|v+3i2`9q53c&K67MJ2 z_wL>=YMHTupoR;*ZX@?|lvjM|SePBV8zZbPV}z-;{chMKRhs;^O2=rjoRdaRrFblH8xZ`*elt-| z58@pF-km&XYp8z3)_lGGVL!V<&=I?76V|Q1#l_5n$rRR4Ra)BZa!Bet6!YDOMHT7^ zcQY;{du>XG!}lg1flB(iF^msgciTB6vwmfhmNX{wiqVbLpr+;`EF+CYqhNyQ0|wqy z(cGsAVES6BxVZRe{yEzh+HfZn%P9hvnfGB@zvcuzI;l%Ur{;AFAJ z(EF#aj7ETPBy-y{V|xpyRIQtG*GXM1*aeP95D=~b&)UajXr-1_9QG?-+6*tPOx6Cl z1txIEc3#qvr)dIs5rQL&&qa?D*MGr83&XN424v5m@7v9@|D@8t!7R9rX=t;rp8@!c zx6haTtQYIb9mMiIhjDi)Pb+tyyQVdAZpZ_EviotPJlOePXh@Xnwf_*31Sve_?-2*;6xg1%+W4*(Yh^4T6CHi~H7W?ULUDEi> zlmA>VTKa=wG)Fim?St^?0NL4?k>#}H0Ple!3pM!Kh$lLnM;Dc+Ux5ntSxzAnB%UaY z@GBqP>?utPMYe8g_Sw;F*_cq8lm)`A?Qi;U&N@{CpHgv@oM8=yx)fv$1a0XZ43b^Fb9-_3Mm z1mI;5inBRETso?;C3qLHfU@7%5*=v=5RbbBD#M3UkCnbzMlSXAgw(0-#gu^GmO$gQ zeVzyW&>lFl5p}f}N>Nuf~|Ean-ultmS z{RPAz;E{f&{IjV-8#<*+#blHG864nhn{epQF3RoBu-6QA&Vk`elhFAhl~! z%@oVJ;XA=NdMeM7iJraEhdk3lT4yDh2rx~sc+4ctoZxxfk*dkE%^S$QGNBiaw93@6 zb}!o?PrJ5>XR(G^Oh~B(p42c>#H?xgu4n~lTsM~(fIH)!1Ck2(kQo?t7q}%M2cvo& zF#wEUZODjjDuI2A%%v94;j4a0I^^&id#~Vs zkY47jA8ByCn%UjmeF9%k4qdULJ`eG{CIC1_Y`KGY5cIc1!#`o(SB4ox#Dpn}{*1KA8gU(_5>>7*G*0+g z-FUTOR8!Y~6CK#zAfn0CiDM=_ZH(QIWQbAiugZtWmUww|chHv`p5fz>HvljOp~}o^ z(pEKJRw_-fn{6VPXpA5yC=T1~n5Y@t>gwv)F{rvduZCk_R$FRwExo>0E5iu`#d$f_ zO%;FH#m^#QVv*y0w{k1TT_`Wg>=J_0mA%I4v4*=-hS#69n|Q?H%~S0ik0?AGrjk|I z0)zE24Ot6k!rVwW-<|w=$WEj0cH>x9myL}LCsQ)0C3wpx7Q3mgCQ#M-&Y7@g-|CQ} zXr>zpTAkIZ_HY|a_3kURGwcsn69*X5B5op_-;gSj?hjN zQ>}$((KkxcXD&;Qz^@18FAH9F^kz4d!MnFJ?q2d*fF?+Adg)2q4YARoQ|iskb~aZ& zhD;oMw0`9J)a=rtqs4QS8NWfqDBIm8SDZY9zPgUL2N;5snQo(_^9pLe4^VvNYXQ~l zs!#0ekY3tD zEj(2PRzc0cUUf|DY8{}f=UU}?T;6%^^*Y(Fjt_fa6%EBLnaQLV84mQP9RTZY`rQM4 zeWdE0!D=3^ORQq{iBtz=wiiEQ_p`3o*mqB5h%>i@>csYDB%k5Qs@@$Q-O;C05Blw) zot>Qn;@p>0^MHnvbCZxjb$)jNziUenzl!tS#rPUL4XuE~@2WrX0pMal%>$)?RWR!9 zBR0g8?~8Hu;qZ{(imBd+F_uW3?Wc3v@$+5xBU1^!7gChpp$fbnKwR_Jsx)@fPqoJY zekTtmC#U)8Z2_s=0_)6W)u4yDh#q$ry;*)20dHiLj!HScS6P z{N367=e?|>0^K=7dRVguZjBA6U$kG%Jmc2-N5V5PWX27q1iuVPrtZ#B5N^=qj|JL! znGjBM1%jD&##>K5CX6knf{w}b3Pz1_ILi|dIj6?;*bI$bw_bYqHr){KhzTIRhK{9iya%W(7@+J;X+Qp}* zrKN>jsGilx=Rzt{-fooGrD6}y`V@W=0ZIS?#7#hH@E!~-vo~56?A|S_654sI$jiBU zzOJwHT;)BMFPGX}$$r1K1BDZuS18*8cn;r5PY|5P)@65{uBYO}R;k7txA<&toXV~@%T&K2lcu#a zd?snmwQ_>Fer*ZRkNdaZ#1`H~%$J=t2Gf9?2-fzr`lI_v+wCO1OJ_ulLv7P8=HdX` z65r!i!VWz?qR&A4dcfG5QRdXCh{JoOXT+8Riik1)c(V^n8B9$3im5uU z8=-4W77)@1--WhM|n>Mu3UQ!?@B)GJg58gaEkHF=aXS^hVzzRrl@hIGI zco4u<4pPLdwCnXf+6wLg6QmTG%@hHBcCRwWspe$3b?o5MNwm*asjp|3XOd7mI4Vc2 zviIC)x8<2m)J!t#+0RsQ3eNo?lCr6U>MAi|WbmG&TmBRNvhM0Fao_}$o6zf11AQ(a zDI&5qvW#_7T}`kNo(~b>|DBJ9iK%(tYDl|kYK;4em1!EzuumInd7Z~_(;Cnos?#K)k~1IF^>MC?ZN)L*i?hsbSgn;cbmU$s2Ucz^b8>ISNk5O;jv zG+_Sxu$~i+Q0U1wOxRtdCB09^H=sm*DQM4Su^wiU`}p&u81xYxv4U-l0Sa0TaimmM zX7UtYQ{N%nFEDTW9*QR$;ys2^RqQs{41*eX8!PDM#0vM_ofq$?@8KsQdi+=40lDI? z3!>8uIt*u*OUKx|-WgB_&Y-}KZaMI9Blz!9j%mQ*5)jt<>f~Ie2v&73kLI}=mfD<7 z_u1B3varMQY0AWQYrIqi)w%1xEjjVzbp!Z2kxEmc@ABieDUG+vrCyg9&l0H26&5RV zbLX7`)SW$ieSPUVg1ik2jO#<)WrCbvzmf7?^9)LBWXZl$v*FKu24%SIuA4_8+0&CH z!7FX(5I-S!3?nX0qO%PggZ6Xnyi$5#I3eXt4zzZdM7?5f2CSJ-`kTn4B(_|ue!>MZ zo`-ArQA5gC>_=Dz1KU5ATc_e->m%YZ$F|Ccv<81Mdv;7-DLGfaqNJ?hbT7n=O4QTj zXN#`H0izNdEu4_`n7N@K-sQQP^l3wo5k);+lGdB2Ee42n(Ae19JqR*&3Kp8MrB|@I zR*8|4FYaj?2wyRX1Pl|qTfQ^5Mt3z02P*7la%db0$#ADF=G$1;(GkZxkK4?OLr(r; zao{Yj<0npW4|&$#qLOtrCXe<$fzq9UEB2=S|=NQ?vp3Avc;B zzgB5!SGQ>?%XWBnccencKkpz-@7bS9-{kPqNQWwR(5&k=^&b+ynj5H5XK(}bKxoh@ z;XmvJXg=aiCp#*BQCIs~P*(B<$s*R5hI!vF()s8=#C*2hHk-8&cbSN>5GaZo_=ae4 zpF@g2RinRVEW8h3+Z|HB9xp~K7y%M^3v=^}Joi5QXBgBvGLvc_BC*ibInJN&z4wh+ z@uTeB^i_edpAsc7*~)q0y>y_r!f84sCUZ-p-SY_B@o%o;D|Bu&! zWr5)zt!JIL{-4(NV|z2y!7A@wY57Hk;h#2Bdepo-H$!|{tEt8x}SyiU#0sd9zO);U#0t5 zPALENbU%BOe?8qVB8q=K-OoPy-|+H>b^UH{Gt?84P$#tGYuqS6#S#k;8Z6+>$wVNe zi%Uz>OG-+F0I3k+?|r;*a{V3u$eV|jy|HN>Nt~HmE4i%f0a{QSkDLnD>n3BlrHGZ>Hz|IG3OC$|(`{sw z3@e=Pe%sQ03>-`qe|#T?FaUt(0C)1~2SosCBbW;QPq~6oG{_W`L+G8Q zU5S8MI93IeOdF!Gi};uu=9^1!(6)V*o0Dt_%>klMDZxTznCwcyMIX$J%KC5ii4g zs}|m=5J1NndMd&&o=jou1W*{`PCTG-#U8bDliRS&l4d$P_vXr6mffer|4URad`U&? zW8*>x$3=V4GnG!>KKX}}rv*)4m3K|I#i+Tux(e`6G_gNvOMPbA79D1=lBE@9kY+Pj zazZ0ck$rP(3*D2etH_7e2dDbneP1qgc9p#c-C=(&fpsv*yW@Y;3UJOPaaqb$&9Xhg zXA?WNQ@#MlJ@;!o^P;&0oNve+Uj&Zw8yj0%xujcisko$sMwtWXLdyD>7}81wRVfH>yGBf}o`2NX^nziywzg|A&WeWtEmhfaUl#28+H2 zr#Xz>oZ8}-ME##a@Uv3}C{hu?4&p`9EiLgg9UUqKPn?~dGYbj`MG}k}QHr^Rg@rKg~IY{#p&s0ZtdWO2}^oq z!GNKnRbIg3S)p#gK75=|7FI#D0nt}$v;0Lb{tuZi+AZSz#s%=-d2r3~li;!HILzR4 zI^`FGEe5V>YO2(-y+V>Cdv z!!c^Y#jZ}|0fkjLNxJ=MkBZS(dZDe4IHz`*37+i z`}XaR`6g~Fv)v!_$qcQ*jG?;#+k6WwQ-FI+OiYM9kw50ATl~X%YKp)qz477cHkJ#^ zu;_$cCvu;Qzbq6q19^};P|T!>QC+>gTCG}IS`oIO9yIpw)_y+sCPh$n z_9k3@j7r!V!uUT-8HbXweWbGYteORBcPCXI1-iyWB(49qci?eYNU43eq*qPVh%jC+ z|9O3P3(x10Ur`~k^W~7tDX12?f(b@=W{>Z@;c2K^EzZA9K1>5$QzPsDhzO`Qb)48S zfxUEDK{i(Z$9w+ug3!9MQ`1=QUF60{1Q%Cu=@{sPPw%aq7S61y@~*shx0ML0($a0f zDG#~p=<1@$gN(qCh9uV!wQa`go?*d|5!du-E4ah|c3VZG>&nXQgdzXgGS#!LE#W-% zbb6q1AC0>)Hy=v>BCF*PEsGMEoZ(&NsryXCw6lulNRI6Lv_&L`ZeYxd^ZDSwz}=ke zf&zz1`B(p&VvSQUidbJFSJW)&Xh3v<5j7<=UVuFSWu~GT#$kyKDep@Rm znVF}2jrG*x)5y+1b{-@Qy(19UPd{8UuQ`m08;`>(HacoU;K-SS&|Vq0bDv`UBo03J zCnylb_6orl42|y4K=|UiBTu$l-^w-Y@AO?MAm38}uX`yEsH`XS`vF?srU?981( zxF;IPWbPy4>ZcElz2=a8K{iqIz_~AaPZMxvu@~RJ{@6}D!-z_rZYWC36yS;Oj~pNt zEA%p1tuT+5{eG#>mXC55AVBu@Hu(ph0 zgSIA-AG1dNkBhcq5Ru4u>7EcoDapLRYJTI8-%4&9_5+g>!gygWS-eGkz-;Tk3ZT~y zf1)22adAp*40cK7a4apXu$#POK(0U5{D*3Js!qgPPPJ>gi`(vVcOnC_H3@^MLpmJ& zAXOdog;>Y*7};;Ww^wN|L0T&WQFZy@w`FsGpKF6nNtIJTowlH_-F@w7gcKe@)`ZCs zaO5t91N4@YjF|nU`d}KZcB`9wIvtvnakwD+>TTOOB`6x8zDJE+5GmK@&4 zLGLU7*w?OD*&&N+ZkZ1b?a(XJRglk>6;y(2=^2lc_vFTg>QgWcE%WRp_`QucZ+rP7 zLu_>=`FNUSE}8$3B=Xh1cu{?#AK!HzeY3nX#5}8IKjsy?e-QM|$QB$&yvN3Se7-5zd?BID2$G?DA4TMz5aKxESYEZbqH#^VT;#O~KObBm`Aa`!mu-^P|f%Kl> zKdMoQ=eP>adQ-cyHdS|cD}a|4Lm_c!X}yf)UT)7@Upsh4ae2n9m&5LeVVHy#S9YqE z6eU#`yyp2)#>0=n;8_}cTSCRDuB~`C&wl%d+;AOx(XmvLN55}67xIZ|c#KQS#9(MB z@?@K}5)rE6z6;$s0QoG*N6YtlLTGOx2#Us~qXL8pf}CGaDo2n@!m4bvV`_E;kN#@| z_yYsW&l)Rxs`|sysbtC?H(OsW+*&Gb8$suBUA5_LwQ5s76&;d1^Z2Vu>axXOI#Y|; zDd!^YB6dTrc7&aretGUlM0;FVUi4seUaW+K{Q5oe04=N#B*4-VqKbcs*k2zQA6bnn zubU1>E}Z*RS)468kIc_@Zui_ibu8FcPsGYpheaQ%rW0*Qo$tN{{xDI5(qoCfo<(XX zily}mrZLDVZYdEn#kG@f*cqSKB6H!t(!ej)l*ul(Kh7) z6i4xrmVcRJk?cqW3T@W!RO@(43Q#p7R z&tqgEdK1EvIU+ZMZ0@`Y#489iJv=<2uI16Ac@IIh@rj5lYqK(~Zn)g$eCxyrnLikLX~m z98z`IT~SMUpx=4AJ1%C{^j*t6n*2fb=@m zz}#Am)lGxgh!YCp==hP{!apoNhY6%SZW`z>^rz;dvoz=#a?-?oIJOrlMP}5%yy%gb zgy9Gl=^@C%x!x((q|x`5s?jMF&1Kgw{J1humT*c$1?k4-(CQ9nUSLr7Nu>3S{AT6- z9-WU%Cf#LCem}j}O`iUTTS>O)&Lz_HYT-v_3p3ZzOjBlI8(R}^I;WuY1A5Wf5}ucb zFP>wkI+j5Pw*3sGljbj8zg$-DhWnhkna4T5Xwj*P&xaZj&kYfuGsdETO{mW;M4gA4 zrmmD%Te?8A7=+zF6$NLt24iH2CL00)W}9L;kGShv zA)mc&BHaGCKP?Pt&Dk?qu*?gKPxdRIG4aC*aN;PUU?4YOI?eE2fBg8%{eOp?yMk)e z8sR7f5&TW&{ZC9-mgPZMCfal9W`Ll<-ficTWwXSt;4L7$zGI60W{D}2EE!#&3)$*LRsT+n(DM9r?ugi~sFiR)+2 zH-@T?Esc9!A-#q0$Va+AY*7j}lKeW%QBh-rG?d?ZutW(JRedD(yR3>!CL;u4}=N-hh)uX%$*LcM733e_jluW@Kfiym`;( zFs|KE10yA6LK;3(?yFk6Ay17te#Pt=)Ad=m+mC9T$oSHNS;y}88*~-P>dmaX=OMR= zUIiweTKLnt*QT1er(2P*>2SRycTGBb>4`Ayul7{wJ`7o#v`pJRr=-k^I}PQ->s{vC zi8(PJe}_LU=*?e@;;~2s1wp+c*m@)mPOPR@D4B-C$Dj9dV~{M6Cab+yVn1@g1!GU7 zU1hx~Bkguc-XY~>QE{Q!$+H;Tbo)&~oT<_SIwDYfqg$X*r;J6LV1C%#*h?J}PLfhS zMS@ZWL*>H|)AP+C5n>w}lEwsg$R{rg8bQN2ZjF*D3HVpvuR={>I10V!?a&Al+T@rI zP0-`#uG&d{$mQH!$5<=yU2TrBsnAob%}a+OiikCljqnetoK?i}DGMKykCEuWuRY{y z@@#nzuftNP#ARIGS+!clu&)(!9*QyKuNEFIde5WZC2lqOARmY{zYXa4OK;2kkn(+F zin;7BjlS8j_o3`gDfisec0D60?eNkqava_>trrE+GDFtpb{EEIq{WIQ?9oksp`d?} z&a|zcH||wt=Tsa5(l+cG@4Yvgt(Nebpnh6XU5^e=oJyfA4}uD}K2_GV&NzYfr1HO4)BnxK=T$Q!1n%pC7fC7RwsJ zsjcVdn$BWUu<3r{clGd+`Y|C1lODP>kWsj~t$+1P@-5SzkQGr(arHZ;+n2`-FN|9m zp&HW)#FW%?U0#W21(?GFh^ikrttELXtlvGM4z(HDgEzOC4!!IX-+kO5)Uyv3 zZ)8&0wFL95vajDbO;(og&?dhyC5yyB)UGW$PgOLx0li>Qoh3DlFdymaQ}z7XLyk?>zm9foPTY`FxiiEc8gk0S(&vf zkyhWH;Eaz>-1D2?ccP1Ky{Xm&>uc99Xz4dTYKO0My9d`k->fQfoqTIqo8PZ>ruq)M z{>R%BKj!50YMf^34Dk#OZL?wFQhF&mCK{(l%~L9%^r&V7ELmD+q2zn?Y7e9Sl#-Av z4wYQkjS7nYoz+HQAi@E2T&nK=2JGWUB;OYawlJ+Ett1vy2rmnf%Y6PXxp4i3_3tqvEmIml+^f zZ-~ZVMtKb34}5eaDx%0|y&=nig@ACBUilUZz^HE;`O*le;zZz_6x8)lo=^# zNTHiB-V!dqN<0BIOFsw%I_2`$E|^#-%+r-sX>CDL%(8+AO?@kauuksg}pOJtiYiKPH8UHH%Pnk()a1&v$+#HC1vT?I0j+4Pf`k}6b zrzu>}FLuK9cImOWx6RimD6=k-56@7_{+jZ2l;P1K$hOFjG7w4 z1a?28Yg&4cbMPN!K3A;BmZ47b`*Wo;i1o?5MwD-vTFGVNx%1TgY#fmq>|lW7c- zqvB-ms#F4Y_W`x8%y*4AaMr#AHoeN^1x$f3q-*ZYZH7;}wO97E;pp$%+c(TMD{fcZ zRX@aSS4gBkwL60fv$zLU+c5w5chmJd#S@6xicEr!h|TQG>EcyJ2IS3ZglSU-VNbI_ z++}v5Lr^FbQMh&k?hBO5+GsJ9I^W!a>nc)fdQ@g_b>ZaIHR*hB52`6*=o=M%?c=y; z?lGgHARcnKO>s%Tg)dTuLqCSKt;j3916}0HF7_LFt1>KL1PUY%~J2v0%_IZCUxJ6a$_7bX%Twa#W%EO*RDIrd%kc zp$l?jj~)M2CkI@PTAL}^g(1Q5B^x$bnU zn_+k?OBv1D>dHo1KEf@O-x{n37x9bAZ_%$%K|fp6v_G=dU6LsWJvk<=#ZBmMh}}dfpmCXnkOqu zr+gx$u9Z)ZU*UyCou!&p1Hub_=-}Nmty7|h4nlp|)`&RziDcjHPerF9(rKs63|H6c zE8VxD#5nDRPn7})Z5Ouzf|J+G5s#6 z{qEa2r!7V*Ph)KTxQ0;EK?}=>bcI8)3`pyX6i8sLPuSLu|Mk(?j!`5GA^5yqN8hNP zsxC2gfLq)j%pj~jDEnGU zK(F9klL@}(iW7_`Is(#pa(82`VN$?Y#4~T9+wagj`Vb!XEYC7IY92HG(EehDzU)02 zo1Y`%X1?!OGbPvWLe*@CqVpNddC`(GPyA>bG`gLL9fS(M zUDJbKE!7?JR zOJpQMgP2|}e!#s|o7(Q9rJ%HwOXL|Pp%CwR>sK0PPF}Be)0dI7T^Kse+54aaK!~@H z3EnP-16`eh3p%q)p)m|?xAXN%*xDT0ob)&VvT@1~@M3u}s(s%9-rr!iDB60jKbs!n zv0jSYXmaD8li?4gVfIg4A~;PhzRWr=z@(vguF~sVO)P2*lP3S@EBrS=r(JOFP&~8) zLeWm=Wl)Vs%0OK{K^ZSL5GMWJ!K}G{N7<54R_|(9!d2YWnCkgwc=4y(K&pS))yv&b zE4L(mUd@^U${Egk3bI*Q6@-gq6j{db6J_a4ea4$$U4lLcT;+WFQL?wK>7xi>=uMRm za9oExZZGG)+5w?rp5W8zeXXP0Xn^bsIWR7cWpG(gZg&YJg$^~u{)d!$o``A*Z&fbT z6O}sM!A(JVhm&o{>lO?B_s}aXrKbO2v{sQ&YDUMU4lft8s%n|k{qjbTt1WVnP%lYl zuRPX#@wVgm^`*)PqxoNDQ{XhAb?9K73kI&Dt94ZPw8e*RJ@{p^@;BN)JK?0b}{8M)sDn zOq^V+axB$lg+%wYg*T-Y@!3@c%zL87KtX-7^#-n|o8bz^88TOCtFNz9;WB&NP>kWA z*@wU~O^f5GV!jl;|pKjD4g2&&T4u}miQQwssC*HjU-2vwA-TFK%p7`{IEpmRyp_P zlaCYP;&-BlsrMd=Ka&EGW@u5y89J(|0j%$?s0gx|wUvY?bhde3zg<;nqq$k7sQI6j z7=_MLe;tN|2^<(7SWswKU+Z=z>Z0xPb;YMIhd`Fx5FsmX6b_=ass}<4P~U{C){vJr z!(jg+FHoqq7;P-Ui+KHFd#9{Ieihs+VB@AIpclPX?ryw`X<#5qiTWyz z#P6ks9Mn$Esa^e$P@hhjctcDc&TY1N$AnpqgUe{DS<6hfAF!;2+Ex`qhVA9#;Mj(= z5LctOhC8@jb}aqib(zZ>n+I~SHdgIBw2L8LWtxBS)W5;9sP_Vojx_z0_*c+-2#4j- z_z6Y@*SS-mSFJY$vATj7htKpgS?lWF!tq($fDX)}Vj<3%Hg~w54=ydnN)D|KtwW%u z?=p^Lk%PG!KFZC_yW*Y9?K?B$E6|VS7wwO%HR6oL3}~f9m2d6rG!oUW1*h+99fG9TAiM(E)=LP#l-Kr&D2tGrk=P1)mp?Ba2|w6K@^+|geeSg8 zzq-8bo{Jej-hU8)MJm8vorxE!_(qPC@er1>pUzxblQO#0dG$_YvJ`3m23#)={7ZG; z$bm9?L@(aCGyW{{c$eUsqK@o95}t!c-iS-+JQ4LUY{TbAJ!!+isG$fJ&$%Ncx@cOfm07q`ci2&ER(6d4 zuKx+l^k}k4z?r=v=qU<0h_2`2m!|5MVLpu9D~P)E%tnZOf_#YUu*58*IBdO%Au*=DSgh*mHh1~dx-(e5w?DRgTQeR zrR;->09<9QJ`a4xs2Nc>gWg!%a`z=W>rId?q4yt>Xm+hS<%1hIkCopb$^V(Oean{a zvBkHpkt9omor5xFPt|jdcw@7K3T>CN&M5TF!wzktwW@n!5TqT1-aK*An-Q-eNw<$vPF{0Bk_Z=hrCPa&{6X3^ zoaqS)u6cGL(UJJfdb=+abT1l@$59EfDl!J&mh6yBPm-=O@}UvJ*y`h+X*9d8 zEhH70U{nSQIatz#)hVMC8FZ3a84QpQV?_B_0&ZA z_1)zU-4-r8lgF>TNZ;?h(ISPNV8!3`ToUenS+uzsIzHVmfw#U>I)VxvZ-VZjWnIr@ zhmI7QG^%(^N5Phre6G$4LKd0yw@tMy0;>5`+cq}ZHCzxKc9D<{(btF~sISje{0s%% z`Ihy#wb2}FWj@VI$=8yV6VpIQXSKO3@fB?W#;NO%7qY~U<>ExS@>@i7BfPQ7({<9I z@!5hEG!k;P4TmXuht=a?zpATh;l8z+l)U7)Tq>glE6=x^e4~uSQL!r=m^$}f?`gR5 zk%$I)8F<;uUN^ySFyeW8NlbKthb7z27e6`>V=!{4$e+(j8FDvMgKue>rYiDg?y`Q^ ztyCk3O_^2P*-aVdH@WW7p304GKI8WG(}sskAMdwJ5%^!U0-LSc&S1LhI}W1om!+N_ z?S$RQ4;lb*pM&b_KI8QS^W?IW(u%B&`XbLoOhklxZNO z?axi}=bC#fOo90c?^ZO0UVAEaM#FyI(5C~m)nS>ESLn?V(E{#t6BndegSz|zvxQH$Eg zn7WqsXORp%S=cxu%nD&05rj= zng#L#FWY^SIK0Q{hrzTIT4smC_GuL{C<>ceJrtUtE;^hiu0@B;B1dMRUYguYe4ar2 z?kM9XsvYW!>v=h>A~@0z&X=z!I?@qpTUo%V54|mCnX$VgGhyR_YLs!#;r2d9lBpeu z4@nqTL5#%=4x+5IiqgYxdL+wjlpLXF<6j{|;Uka&g+GH17_~v-ar2%OjeuZ;k^=m^z%`@I(-DP0*2{GOX;95zDkz`N7s25aibGWor zeFZ;Ry9-+$X)H;l5|1eDE_Wo7-f)X4oHzShbY6UM@gpdVkxHHMH~m<&ct|tu+$j0n z!aHXSn*uU2Hu~FF-zocKNiahkXH|&)C!DcCdPy4(tA}DW^PG+r|KZv~t}E0uQK&Y# ze|)~nK%WnM*|z;Ngjr07tGw&cT=$=uu3S`I7AgPyeMe0a&% zo6j3|J(+8#weqziZ7mWcauY@*c920*7wmU|wzrcY@4rQGu;^oCFcviVd>)QE5FO)~ zxY1nBBcHgDRi2ya(SI<(8r{Hf27#+;#vyh4Ta!4BNlVP zQ&StsTmDRX1_jB8QwGH!&bGx%xepebevNI1DMf6VloGbQTsNmhx9+Or&g9GYtRp32 zQ21>ZMV*oyahV5p^K&^})_SP=tt09e=WR$=@%0uMmf7sxz}^;Vw0!M+<6 zIs$jO2@1Cm4afr38}DhsVJx~F5JY!nS8mQeU&d8Sb62g)cjun;p3RNkgGB)oZ8e{C zl>^(3Z|$%-4a>Ofh&}LnB*~AM#Fs;UgB)%3e!Ry+f6B|6-76`eoP8m%+FrV%C zY?^p)n4d+X%o%4i0JmYYX+IHJYTa}qlE|LAI%!0FP?}N11e=-x9T6F496RC9g|a;k zC|%e(mXolTUnus*E%3q+r2G_;Ym*0M~Fy3KRB8b!Yz(T zBnIT!DM6=|-dL)dT`Yr)Qmqi?w@`Tt+inPlffZ^UG){~67CF1)Zs;TT?ksqbhlU&hj&j!hbN=uY&mvGmPM^iy zUf+4ejoLp;LMb-d5A9S!UDuHEP)zITh;|})o8$m^Jg?)b9OGhO|rxS^RqC#oT=sCOr z)4b~%^G(A6cQ$7X$q%rt;XjkXhv5RZ-B9;gy!Ms_(>{tY(9WqfZDz5jUgW-$OUHr_ z`}0GeMvFQxEA_oQZthdN-J_RO?u^>s<_RsH(yvHn1Tj2qTAYNRKW~=6nvz#3hnH9C z>4Z!a!wYFqXnF% z`g97L+VMcQa=?orYiYi}#^PdV7oSgmiXSVDo$Ga$gpEy?Sb?=5g zOOH|7OSCiFzo(p7=9iFzQ@2n}R**Mt_ji=8F{I3t2OJ{iD_ea}&SsExNbXm29yH<>#K6s)p&u6qp4Q6HQe~6M2sg}$VzS6p? zNGfw+>HlJS`0JKYO_tUu^2x6hN>mhiI4@+<%y(B|jDi8r`UBATG_S-^ddVP#h8SscF{waa;u7=x&)Q zFYL6Sr1-8|LXbp>N?4d2X|$CgTJAy!G{pKkMz0=ukT3@4s;Y)x>NTA`Cd)>9fXWv6 zkv5Q*eebH^#}iH!yZGncRaI&tiSBakdFj%t(V0E87pZ5YPMnXnxhynj%~YWVuXy-4 z!1%(We#*{MB_W1PNLoI(BN zKmYja!@usO5NR3DRqScrm{$-t+rG#wXu0+z$U3}P!e=0Lb8~34`%+IMaxF%wZC_aE zq%d=w!q+Virkrz|R-7JHjQKRyt;PPKx_IH1fDCr_%MjV+(f z$hxb~@33sEZvgajzSI@lk2yCewZKOI+Ii#Q`41C_<9|NVYvXCmu)JMV4)Q`uq4&Ib z3EYXVbfX*`g=mvlXo!~?NKZ~)&XqGOPvS`S?6vO7nr{`dHaj6*UUHWsFfUXetY6mW z@UfxTgapQ_>wB*O{MgiBvqhOzGGDH3z0hZ>>RBo-n5H<|+2lXO%N*IK1*G^^=I+`fek`C&y~6K~H!CrGT=71?pPxg(#!xoAkrcB7tnv%--?Va$heG zv!Tefxw*66sPADbA(K3aDMRw3nMoMT{ts%bc+2uprG&B?rS@2Zxf}*9X8tQFO&8xH z>;5KUlm8!KUl|tV7PT#%ih_VjDgx3d-5?4o-5pA|I1ES(Fe)G-ARskEN=bL8K{GTA z4bqJ=Lk{shoFjtoci!v$H(b{Y&$IVl>t1!QwUZk{qXz8Ut%iC~t<2sK2akAH)`Q)| z?WpiM_RLSX$5UOy(YO#1BHC+( z9S;$mCY<~bH@6)bbxFdsNnflCHCjezS8Kg_O^NX8dK+^w88#v5U94B|fFXkWZoi@b z0`v17~$vYf7$&ZC_3aFxdJWJ2mIgqFxYCsT4ol!)hOop$H)4Sr(@B%Vs{!B1m zz+eJ#6*>y3tayY1Vr?v?%S)bo*C@@=q=Tc57SG{>P~U$h-0j`bMs!G^rI*u`AaK# zA7O{)IQ5v#M;fob+$=3-$r`%dHWc}+Sm3xt+`7tCX5AiP%-4Rfx3IVME0n+-C;wDL z3s$fdqMHoVt1#M!ha4U(jC)LdDF`3Ej*^;wi_o|^YPt|l30Io+3__YCV(!+KJTgfT zbhHX6raQ%le?j5}cDtA-I>ln8Xdk?Uc7~}J*`Y=@I1Nx?@*W-E(wJ{Zcq~j-7m41- zJAEJ}uX_P{1F4vV(s+6}iMj%Ia~d!C<`>H+0Rwp?hlu5=`pMq8xd~f0KD3;}cUVOn zrhqGvxhU3tYwg&;{u3QECIoblnt>wz!Kn^z8=7kA=sNk?`_FR=pl3T>!X`XYzok9b zfZjqlx{oSu&y?MN2s0chk<3g;KuchJhAoG$33aA9n+Xxz4W(NUydH~aH#g(vS$I5h zM4eHRB@=Nv3*h1JGZ-?$f)AS?<;Lq*-rF&ICK%MJr4zY`voYzu&+D1!is{|YA?Q?Q zFi4AN)?9T&4l(?-QA1YPYb=FLJ5>4FZex2!OX$MLd5qGWGG<_yEh4v41E|(`l2(`W zdm*ce9>_D)qBiu!B(977225XB#%D)+kROeY*i%q|wZ0l8BDi2k6yv4KN^A0&PihtU zv2{HTL+WZVc029m3$q}4q2fnFbB1%Zl+2=CxFQ6u&T@f<4yplwO=OaOj+zn%QT-9E zZrodz%kj)CG45)f(G#{CQ3&D~Fd{r-cxTA zO*oq=T>!;fp{j{Y>7zX=HH{<+7L?sgub(b@NCOK#FiYk`y0TtfZ9#AZitJNHEpeD| z4=-J9?Q*b1CJs8b**p6N@w__;)GW#!1-<9^1pl5?edQwMYBh4@BS^%J6w* z3y|aw-1>K}4n_X88;h6phs=wFj@!(gjqQp=7T6nE3iiG}P60FO#esgQ1~h!Q!dT(n z;&s&p_s?2DP{9bwncy;IijJ{N3p$Bq8y?k)VO(yZN`w|`4NDHk-Dh9Z+;%4D>Y(Z?uWVX`i{e~fHR7}Pp$ znRIB9%c7*G&$d+oUdstA!dW{tT)$oCJ0wE{f@`ngOBOnHeGd>hzmCE3(MQ|mV^H}o zN$AM@kBhrAErW56?Z5H=HFI}=Tz8*O=wfTeSN+1TB4V<6lDmgb4yz&iwDp#&8?B}7 zNrS_fi26LcaHUI8*&iB3qKUzTq;x09-DxGG@&~z%s0#WP#p_cQ@`2lS!b@vM`eS&Z z9rO?3hVKBZnZ00Tvc6*dI8gCIF)QVFaR6#AB>b8g7rQvMB$nXzN7RG~57wNXj{oW# z(~GM$24>3>FMhLvg&nSa)V-JK&eA^YPmgN%)-TlStg|nQqf8wre0vI1|HuX@GZd-R z8=ROw^kE<^9wFD){h@oz$?wE*m1ZjvunJR${`36?NlM+qdwKOo%yDgtV|~S_JjK}Q zURsJ-uiij!JZ!N^pQP=A$6wd=YQJ=N#Z~v2JJa8BA9-lH0l1J8p0fJ??l%A~_zz4| zh;)se@LwWxgY3RFRcH^ub!0UWEV8Cf%~KXXi?KRpn%q0u(?n4>#9UFE70!;4kymW_ z7#SpkZ~g0rN>32w7{R-@gzS$4_LxF`F2b@EwDe(^qgLg}-NQz^s{&BKJN!8EB;L~a zf1LMcBL0WZ_9qOoi|d->M9b7OLWYlaV(>_A!G!98D`Uw8qobaf9K8rs7Khp+WYG>S)`d5xj#h&ubZdpe*7nKgVZ{ZrNugLB2&4m-kJbFO8GiBm8*}Pw z*P@&HVLSRKo^b|ttb_La^z@fiqJ{gXxD13s%9&mZ@#9s;SbSd-Q#7@y7OR{hmm6?E zWYfplrLsVv6$74)&Iler_d;SOZfDDD{>Hq25AqRpL0@&3r)TgD#B11+#fv}_lSJca z<5I8)d6@S>gtEl`XT27+OHv&v*?H_*4^+mz^< z;ylH;#oi^Bmc3cBJqrr^i>^y=8xgxJ_*^TDK`7HvkRz5n2LlLEYgx zef{u}61D_lL&p(ytJg7W*(qiO7fBmf;A@}qI#ceZl;iS-I%m9!X$A~%p&0=W3HpNJ z4W-{QZ~Iw+-u1 z%HQwZLIz!TTmtldAKp4&^UPwqek)ezX|YJ+LGt~0Pe(P|?WvA6oZ6#jphrG}dU2kJ zZ~B#OHz^xMoxWOA!kzU1H)K@|fPtNO39H|(E>xUi@!m{H=F}`#Y!qAr+U88r68G_< zaoMQ8KKYZ?1I&o8p}UQqI>mBLCXeq-lLx2SrQFb>m^uy$83PC-*^j+QZ$C8Em0*>$^^jRiBDHrnbPg~HYRvycCXCeH1j z;Y5V{oD=^O0e(W;)X^0{}rYWJ^Aq#JB8^?uQ)I=$^-pL>Jfa$+4ct}V-nLPjTTIsu3=>_zQ{UP>v@$_4@@BT;Vt%?U@x(jjoW&7~nJ-P%#gUmhz zN9|DI?x@p7|BT9Ph&^xz38ZQpM!xrWD6X^Vw`urxzk%hF=K)a!Vi;F6-?$dFYRb30 zvsi;V*qj$e2)W05Lm|?iC^<=g*M& zS3;pjR|=p_kyiDXAqe778^;L)ie>rVMH&P!qi-J3UGA>>+y03CwU$f7Oq@{G$%LnYWw@=O^Eh7*6CKR75Jpa zXwi1@Xh(a$lSC&ijo>7mefJ9!UQiy}ioa-OHa|CJGm3fcF&+opji$gJ@a3_iC9pt+ z*VC%HQ*4+Y!fdf)cZ9GIGJIzwPGRrL&7U2w-U93_J}dw5*OxXIo1CJvN?cH;kRkEwFNE4iK}U@LM2Xhki4 zdTiEftNSM|`A5s~wN2fvfVJ8i4L+_bFv+!yjKxB6%|Qvi7S$(@JYbETJKWd-SYS`^ zxk$|B_fC-?n#@%2{Hf;71TqDQkW~|7cSMQz6S3~13sE>Q;hs(hp#lpHC(UEKaOIqh z*7($CuUaP#^gzcNOIxJ&^4370_K~9^_IU1Bz}-|_^6QgcVrypN)vDpGv)rqV-2W<+ zJq00t+B@QC_BKR&P4uV*iumK>uupHl9>s`~q}Xz-4zNUc@H7vtmNls>R3~F?X6=o0^Z=E92yI599sZ*>?XyPp}lh7WyQ%~Lh zhA6LJV%mxoxlEw2LdVTh?qchzmvJfcj&pzUtH1rcH`3*?FMd&T2$~B(T)<0%4VGe! z2M*=n<<^WM9B7U4Qn&)Ps9A_q_C@yJKx%4EOzT~tv%S>`B!G{0B=+l%`ReP%0u(fO zog;RB1hU@BL}DgZdiDV0580rp_}Qf9XKW;3_KLoYPut$5Q}?OZNl%zieX0J!dxkWo zY(-xzK!xzNOs9^JQlF#0wEAZ?6ax20Jb&3d9AZ`&b8>}UKl4>eN)c}6XA8~(jh2=P zqTnnugZ(Gna-Y@yc`dnAX`9Tegcat+9MsfK-jg-!>fQFmU_tB3thStJ%9uH9Ex3ij z4MarDN(XiLeu8l>Up}*CrNnZ_$Bfm&VLDN2xXm6*^sa_p><-5^ykY)UC8$|qqkvBE z%pj7IVTm1X8o5O+Rjr7j=i!|lw`qh}&}l)VF5~4-z~8SJE8W`(&44XkVsLog`3&5( z91JsGzsu2b`JVXEoeJVpKL@~Z|AK~m9S2qU4iRO^whaLp34u)G@=|8-mcUJ**bQQ+ zF02|!gFCTD9@0Pfjr&-*_wdq{!0^Iu@?qy5j3Ubdz&X`&a+)`WBagRi6^}gxQd=X8 zL^sBKL!>5HyDmHs9huzhqSZ;mX~*6lXbZLt7Hxjc6qvfMH~v{@R7`_!HLQhmXW=0i zHqK2|Q*0Hb-qBR|8@Iwda`j8u!3o2~R%GAztSO+JSTsX5=B?qHhsgo-Sts+UqN=N_ z!N-R?Rs&W7ypJedpQK40yEj8eUiVWfpX578*{~8-iUQxRUA?YHyg7fTy&Jai?kA_xd-3KF9FuE%dTt*++z*S4#1q|# zyA|&WGhxQzZ#BvfWZ3-%3oa^Nnq!}nEMHyq6nu;ai2J^dDR5O!CO)eY%zQe~Fq0av zUUrIho{Y~oYIoW!oyvSZQX4*p5)%vh{3wNPcS#+4Wi|433d>qpSa^1e2K)=Sx1qr- z6d;h(1Et!#V8>R@U-||Cg6J5L&Hc>xWLIr%ABPc{3t}PWYro6lzw`c-cKuWaO&<`7 z7c+ixM~RkN6tOo895>&UGy-b{dW;qJy9BuMO4P<_>EzDXwe@A|{>i`oqiOpO8!Xvs zS{17kVz18HqaK0-C>I0l2 z^nhwnP(`9l?%6!0R*<_BpWZEfrOU+#svg^Wcgx{Bs|&X<3osl<9row$UM7s7hWsAy z{QVsc)njy|_HQXT0lom~jM(9y`!x4G)=F1p_TRn39v7AR%sNd|`nh)0`HL(2Vz#9+ zBgb1=zti~YAHQgb2AV-LiZ(qg`>s)zdtV2dH{tWi@z^-@Xs>J41z}-|F>r*_>8x!$+la954Xgl#*Y?{S za7Rnt&6FdEHMKs8$l|5*IuN)*8}V%N8-CIX3PJSlvtgPfk&%(}ffIeSxoHHFVuI#5 zL%xd|$|8-50=xyss{F&gVie}`|H#1*7@8Ws{EoSwGBjht^Vz&aDQ)yc%k_IJ>82CH89cF>ZoVrAk=?+`v;lNkh7Oh{+LsOwy|kKQ}RCxnGNtQ zPm)ei+_r#2-D`-<^Y~;sW`Yjc1@&O(oF76UIR#vb`PT8sIOEn8tNby?r3jN9+ouS* z1^i;yy(2Kpdfn;#_ZfWweI9DQSN<9&G%6|;P&@iVAddzHukGfrCa(6e@({=9mK+6Le0w{5e`Z9kwtp-PH7mfv z{ev&UPN1`+1~`1^I5m*h+(8IG^TqY>^xSHeI=VaHksQk~1>DaIj$?bOPCYy|U-tsI zd1<8qhiuhAsdiM*-gTkw!U9vMxVlD$GI+Hwk)vL(P?@KE3vCrq;&)=J3Zk(e&R0Lm ztd_Qz*IIJU9K+?-8L>dI-_@A^*9H1l$y%tP1KA|}PIW4Dbi+97#a-)an|Bss9uy9* z1*N?EPJ4TAlc-PS)C`ti&W8ux5iLWJ_m$`G+O zb{+hDS8?&508yNYww;|_mOD*J+}@7mYq){FzNVpJ9I^^++(RGwh-LU~pKi0D^N z2KCt%W4XRhH-!h|LdiM9kcN2#$`%r1BG`W#S@4egf z<3TT{Qp|)L>iw}6_y!G~^o7Sqf&GxjVN#g`cEla;Uk?AmYBh&y=e}6U%n)ZuexOdl z`uON;?Z%olMTF@Lg*LkBYA5k??(XGBhFkNJcKXTk39F845CZF`y2L}*9+$_rIpanH z1IhabqTvh*s~e2l4_`!IIUp#^=N`xJ$v3RL2lj~GV-W|&`R3#e9T(F39Q@MTilt0T zODl31GF=P_8M8U&3mxv;dX{)d-5JYlqcS>uQu{N#O|+|sKX)H>JmANYT{MYLKRQ<; zTAkbCg>`4ULhHxY=dTL_JfTkzqUZNA>^84soXbL2_oqk!zo-eqatbG&%n6N;ciroceEhv!Xc?bSyyGd^2`w(=ZYPA^M;B&aj5HI+PL`7z*D zN70X&P_UM{K@#*E3VCsH>we+^gLR{T(dz~47}@g2%dqiG-5hBZ@uj}vuEz`_qxqo_ z&ZO}0)kD{eCeoQ@U!vY`7ZDyWzRk}jEH&q^D=iAm-z@4<%F{ARVz`ynM`LvzdgZpN zY0)@Lx6hnixF7#*-ieF62bfKI8B)V#Q({iNq6hgkn@^TMQm`m?-)*KX*2(Yz6ntRV z#(RkGi}OhgZCqNK@)~~YZt1pYqVYt}(LaS}|6<=jrKnMH=7F6}7;(9~`)Y)S!Lq}J z^OA^#>uSPC9+p=xnd-+Qh7;$YP)DSubmRpH21g**01Hlw0D&m1jsK9XuGt+A?x-q*0DUuwl?+xgw6d)zk7MM!6v*QxdJJdlCdkMdf^K zGZ3R9e6)~YkP7NzQ&;O5T$V7_ofu9r$r(xt(cLDcX4!#v=Fy~?$wjU?V`$$tJi4M= zVy(8U4mh+Q-{F)NCgBQ&epK-xG+IbJKCs$C+jshU4eD9NW;`vbzf)dTmc=u$`;kp! zwiHBcpD_kpv-hs?+2)>?=td2yteAS>yk+~H-ajIYp~bCQBZ&7{z01d*s5T~`rnGlI z+A9sNkws^qkr&#pWwqMK{+Chwz*UgP`pICzxETCxq@Icm?d58&;*hIQK7ONru_rGV zQ}pjYKZ#nv(9f*~dr7Uc2bjs7&$SSYOeaw60dfGME1dPKijx0ytq2AEkAS)joAW22;sf@BEU>*FLDw z{4tM^^(475T2jRkS4f@x*Dm>LG)U6#aZtQ8Q@9t_pEXJF0$)%ialJ=n;|^1S2y^3! z8+Y>m8542sk2*kIzg7|^wH8r{Brz|G#%js@QpGlw2b-lPvM>xo)rAATqiH-UG#PwN zT5QMz51=5vgmKE(hPXMccd7#UI*}6+Q0x6UX(E9Cnr#4=1jculb6ar_*&_r?E4YBk z${N5(>v`@cF<0ftfP0Gv_fLFvBg_9-?6phS)W(ZQ0p!ORXYz%C@1x`T?(&%)H-uEk zAUjzX-?5Y@27Y(vw>!UDUUEEoqsg4$S~cd5oFxt)qfdE0nBr?E^$CV?dQILK4t`cU zx6_=(1?Ww-DWP%^YQrhy#ztm8tK<(Iwe1I#ncn4P%;09a@%`D15%d^nxOj1`voW5( z>VC8`L&m+0`MaZNGq|T&mBW(0M0ut}EeyyB4?%rBfr0lzLu-#wGXap&($X~7{LIY9 zwI~MMeTAgzY6Hj@gk++MJOc#n3g^Ca=g}co8F1Uj5%(l;lc6SWF=E^PHEeAk)g{F< zn$Gob-XzH^R6?+{egWr$aycX{aiY?s{Qy%%#EQHDVx0$$0YnL@lJsuQF8>&UP zJ6Q6H^?@djYW}dXfPHFcq0~iE^o(-|u|G|>HTebfAV*tt)qA(GNh0D6*h8&mMV;q< z?wWDp6+;kCPF=kG1*fZzP1{ZZ3Eu|BVY$w~`TwjVy{^Pzjq z@^dA>LN`p+>zAb16V*zJlh)|C4+1X1%08aUOa`TOHPOqqw5vk87f z5wXT4N&7NvxDvL>oq8dE_NT=FS_tqYU1M}esL-&xVI}QvDL)@hO73OI4NNUP#uJLh zynXP9;@Oo`wE|G_3eN{#?Bgxv+WX^=b1RB9!?al1SW|{N{7v>=6cXKP8EW{0AiSiw z#3Upxi}Q zk#f;p+JWrcc+sRB-NuAf&MrLyRcHf1Ev<0J^=gsbBR~EX>XTZ;J1Uv*ayl?GX*Pb# zZF9EOfbU&%p9Y14NI_NAh`1h~JYbB)?B1=N7yI8(XiTE1RoS7a>*rx9qgz{R6HP9J z)tOJ#CUrMmppF|-&}1(7Xtd+jc_@5u4`mfBS)TLf<~mM%_Hd;b2hMY(4kSo+UFU5X zhFuILet(;k4|>Z78X`QF9ihUl>E?ESqXsUhWjs=vXGDVpScU_=;oTkAjrS1F)dt%f zY`yP$Z`C>!3GBf1c6t@u#FMGvvRS_{{7p4?2;aM$AR^w6=R>y}m0+w_$TN|^1t#js zCx&y$*zou=MZp&YFcV!B7$@ti_|64Fyl6bZho7o`q?LN?)CW=8p)J9?b|x1WJNORuw$6&4 zOfsfh%WsYrtm5@6c+1Ayx8Me8s4k9P_j!wGxAGzBd6OL7d<&5x;n6Zl;VealOd95$ z^=6d~N1Y)C=uM83OKmhKSpaMI1h(>`^1*Y|hr^1+Yv;H8&pTD(2@1k4EVSRBm-+er zf)(Ed$?dNn=8br@OU(~jg5|l+{fOz&R1-CFX>YXVUAYIXj*)4dm>~pwQg~K`Ub=P~ zNt-?(t~v5hbUP@~XpgpfU!HEGsd;r#Bayuq2;Y=`T8#J`8G4O%r2l#@3+k+0!InI% zKWxezTj{Kfe}d~@EuA-IxdUAM;#5HGSS&QEV_;y=mYkl>veo$?5OktDrq)CsuTle~ z2a>H&p9lRtKjM0M(U!>*+K)2m)!D-#q`6(e6MvQq6s=;g$!Z3&qW7g6Z7Z zH8qBK^N$rVw<_F)y?YHQ&Ta3hE;STT-`S*Id_zHu_!xL4qQG?2wBn+*qeou~IFOzW zmGJ55Mg!hi>KC9wl{L_8$hn{fB%Zj4zIGI6(VnlKWE)VEzcLh;D|hktBi@^1i4`}_ zwmL#~73*K6;pta#W=%}khpFDN!H#3HG!)Fr#8he-)vnmYaX^ge^eOu{^XN+fnlbtr zPQnRO0HJ#qfqP%$@-=|cE)<%o0{_buK83Ms+t_}7f(^s@)W#RHxy2bhcZ~lR$;F*PCwDDk`u8y23=&3r&iLK9bQbDkRpPT9*7WIjm1^C9#P5a`A zi<&8ig|ke(Tq=qoCu-)-j7(2|L+_oc!-1$pqL=6+VZMt-Y~JMx0Q_gNMs+VcMqCn2 zsTu7_0T`?>Bja27cF2(q>sMO1o610SzXsE?$on6=e*s&J>SyfGoQ5)I?+lMyW_6>; zQ0-!Ah1Uc&-OD77VYzB-=YH~p$`TWM*BzSIv5u>S^1C4?$L<{HOzY*+Aj(H zegtWrFP$4?5`gQu{`=rJ6 zM1Y2+?lt<|E7KCrbhoybycca+_{w+z#}2YEM+g0J8_07!-{-IVL*n{ldro|*GQyXN ztD6DJn=3zbWZ&_N5LBBSx_!K0b)js@K&8V8RQ$LvjG=64m(M;P~w z`K`Qw%e)#T{m@T=H9`0D4(;kdb$g1f1L9G+y*^1m8nyA;bUIMGdWj0J)6RKmBSS*-bP z?%Zkb40g+(xCCBG+9cmI97C?Pggfl90bFixZ%6cv|J-FGsu+6CL7Ei7OtX|A($4Cf zrjS$o0XACyO_ z^I(>;M^3LTa5vQejr2O`U*!8wjjX#b zRmf^IdxC#_?@=^KP+?$){FWJL4SB(rHUj#^9yV6$tWtrSo<31}_T4DE{6=*Dq^A~N zTUsE68|@Fnb=2b9tfYyx)v$}!$~=NodjN_*sdZE$-0c%8d@pTG0tf(-f#Emz{x59< z%n%Zn1y0Hk)WPqU7b^k0;*IN`XVS>{K?hrm#GX6r$zr(8%vF93__=@>Uz_proo)iD z#l9Z^jl|rhA6HbYn0vI?&6TBeYWOXYOUUwth{npCj#QrsNNds+w10buu^N ziB4Te=UtU|h5aFI0V`_2bEO(u6@ns~2R^P8wDn?bkg%Sq>JSTWo4KW=S%^uBd^LJ| zI_B#Shtd5gK}W^KgKUf5O`dVlWKy z#M}y%!uX*JuqO+s4Ef1Fkbf#?Cwn|}5lc+qsgroJ7E7`Go-1~oi8nJlcAOhdq|v$W z4>e;~lMfkM){z`6^cTLM{?O#a;A0p^|9b=El6-6N;GzR5BA|CyLz$IW7GlD$hqbzn z4<4`mpr?$@>FUdHFR3*scYf$6T2S*HSJ;g`?z!OAcTHRBphuXyc569C(EgFRk@4+YwP!{D%s*6Jab${>HNh^n!I-26YMc{Hl>_}5g2Yr5tOH2m?o*3zKZW1c% zCQ=otxJZ`M7drWAQa#@C3dR0N+S>Bs^RiX;V7tvmx=kI2OHm@JpLAJ+GhNod-}s}o z4U!auFlQtgtGOGnx(|JI-lAWzJ0s3u$z59oj%tLab z+*M++yymi9OV8;0Ju#Q=aAYb7)ig^?p z?$FR4ogS=_%;DA~wa|0Uh>)gB8^s$~#r@E6PLd9ymZt=L4$gz~f1vK@t3<{?I`; zanBxZ{PO0G?%J0*=Bj5+FSV#FA4tJxbiiB7QRO<>6S$%pms_l`etY8|6j?NYGck$<+;PsU{*$VjE%!x?X)n4it*N>#-&gc1X1^4|UNe~TsF-i}$KC=H>|SFo z5k=hA9+&jSIsI*sf|iw~*6o*mu=fRd{K5;raol(b&$es;iRV@Ie0mW*ey-Mg?GyIH zBkbDaLrFSts!n@UV-dZ1@%Z}kljS9=TbZ0)1PrrU&V_swpiE>g5c=v552Osf<-6!2 zoY1d;paUX6O}ip-z>!_XuDmBiF(%$GC9n^$;{X5kNJ|kavTv`HmMMdqrZWeDS6h;~ z;;s$w^@|)#$7ZFwL0u0^j$J}mH3R=*?OyYOs@};2%7n+UhAGm5tNDM=qtRF4@2>7;HLBbD8muCrW9GnJI zreeocBVsm|-zy@v9eY9uQs(;J#e>!O6&Lej;TVhnZxt-o01OL+BZ3U%LPe zwK9JJiq#{@mKskdiirRAhKO$yGQLH(kIe3T&w$g-3_I`OKuMu_+)JD7Knr^?pYO1; z*->4Pr za`0H;T8PP|8*`NTT9=PxlF890Ljt-Ormw?>nh?l+ zlSBPSYcnT)5XA~1sUFq>50z{g+=cYN zkQZQA$WDC&r)aLaULwhRyuHYW^fb?qQRGqM8-&bh-Q+Tm^97ysexB(T=^N?Ww}4p@ zk2Y#3x@?c$IeoN#tfZiQDBrA;-K{9Ed?rcP=&{Y3tI*#V@WE>W%vpE3Ac;GRDOZfp ztyB_66_rp$4xomy-_${rMY7v#E5swX)xqq z08np=0w@`SK;Ko%C{{7SB@9a8stb#26oS^RG4f`vZWx_u*f9RexmRZ_u)^N{^3|#H z;!?0sF#~7K?zC^!Hd!XeddIwYX@5S@^1D7vBtraWr%WG_#65qd;x=iN%-4m^W|V&q zx^w%4)|>AwkXmY2KF%8DK3-*i{7bZ?==RF~t-w_8edX6w_O|W+EI~E;F}g@9?F_#V9jZcGT%Ixi^3M~YH#t=eIU#G=Scf|*?fe!m z)>XU8shZK1UFE>VfK?V&*oBQ|pOU3SY~FWfWoug+y7b!D`#3~+mwTj?`8~+EG$RGD zl%Qiizhtw5T=4&F&AEdBgvbCGX-ya=BD~w-uMIHJT-tYDZ+gUAtuB73^VX{#%(rS8 zW&3t!moH#@a+~77ovJD|NT@9d1W%|iiF=CD^#-Lff`rVqas27(T9PUrl;;HRo2Kaq zf4TQ|@e9aaxGy$zHRwJ3@y>cJPYy7yLy4!}J{@;hJtUtE+1S_AW@U+L=j0J^Tii~w z8;HLv_GsQahp8YR_nuGvkj~*$&3U2tV=EYeE}sFG%hPXqC`0&03g$c&n?eB2bJee= z)umhm{qU-T%@2ZtJNOLX2bI!F_p=^;xUdmzp9{F2{2P_xC_lfN3BR;8yx#HzM-XNIAO4bMb*q@mHL zi3jRrIpZG(zPiuYscQsVIV7FgbJHP`llBP%kb=v~L6Tf(Cmp~t@sZnNi)h><^C4{S zyn3&yJ3HG_u{(A8D`#TVM9h4Bt(<~bRdJabw4v^5%OSFs$MbvTIn#S)9i&ZFaaUd5 zEGS=#1m|Ipf^5&Q*?=Bm^B|1=ws^n_5`JNUV`KpF(k+UP@@!`bSKl>k_%I9}lD#Q* zjR*V6PaZ0(3i3_LuE6>u?<(zfn1)$KQ(Do{a%k(cVO|jTX8Q`FZo8mz z;9xj@eE-0w%%(Lw2HP>3d)%icVOI#=nMkAF&J; zdk3ZE+=ps(K3>UVowHpAqfh@T1{LAa1H4kV1AffoFPR$SRcnLy_72r$RUYi*IJ(fT za)02C1qdG$G3U&>bVEpc-GanK|FyMEH?vH=oqJj%qY=P8s>Ti@SCL-`_FSx$0^cF* zy`2JzHsqsYs+4N4(CHfA0D0JvA?y@1)xyL$_j=@+sum-- zJocB~hFsT556TGEN{$`oDX!`5%^Z!+L%?KigQNzpT(gFDOmgDydzFO#mzM=J#waF@ zEc6hWvD4NTL9gz>eBaf*Xl2F%rcC5JfmbjjJP*L_T=51-y>qg90Xl~LFZbL9c0DqF zG&{?1|BHhR-fQ@41*)<)C1usfLXFC<+z2_bjbS>mf-?#o?=&7jL(MqB0kT9r>wA-y zpf~q>m4w`uvz*>&Uf*8H!eRMb#EbcHk`Aq!TNAJy3qQD3&1`%5+Do7rhF~J*d`kZu zn$6-V(`&HN@P-*jx%qGDkCrve+2yhIgvncyxk_#Ayj`#2@VxO2U3Siu1xO1dC%p`% zNPnQ8lk$~J8aCX{R`A$`;qmRQh7pzpWy>`)3ftLM%H;4;)^l3Nq?c5oyT7axv^6Qk z)%UTr@|*1OR(_1+VXWZcOixALn9r+ij@E?Id@l07T&Mhj&CZ0dj@Hr*S-`T?VhUvA z{xdHGaGgyWtkM||tj9m+P)wRkrVd5*zu@MBz5KQ%gAipDYuKB>d{M%;t z&xtlXqCSbNIP&au^7*b86O*JFEJSDKIgWO111;2@Fl;YZJ!t}5rH{ntf!ye7j36R6 z@i4~_C~!$brMG3C@_ocaB)Y7;%XeK~ZP2At(}I<12#0m6MCJC?>x&hgfS5FiJtm63 z+v*eKkInrHk+1b)6GTT_ANSspXK?TjVHGNK%td*mZTLui&eVw4OIW*fjFK7$dPG|W zA?F3kG?j#3fEB&fe!ob=H-kFV-T3D`{Pl=ay~ECc()@(ym!>lG_^e=GV4_`-;JNh8 z<&&o1oavn6gZ%-Xc7SU=OvGXD2}C96#6%~J>B^+eEIMWoX6X)5vFlD-u!lJ$C?$as z7hfN6R-jbr|GkRMM^iO{0&TSXUSCNK%jL=ui4J^_jznrr2Z#BDUN@)Z{`%uuhe`1& zm#TB@9_e~w7dM4y6Z+nCCBfU~25h`nn1seuKLIIFQr=3pEjf{$kIFYRGKup+^$uKx z=fdiSPQ0uv!>YaXq`dmP2b7etKibthNEeQl*Xa-E;g93>dF5QA>N_@Lt}`7Cv|W71 z%2!?x($GL?e!S1iyO8|9`0Fh=P&LW?5IUpv#Z0;aZ__mvc_Uukq)|tbtWRSi-42%Q z{Xpj?8er=;ALX1u8Y6Ew?kBY+ptUV4zl&5S3K+xmK%Q<1^t@(ZA`NK04XJvOXuxno zq?S`nYZG-iuhu_ODgVWcr1K-Gq{uj zPMIyVNjM+bqa&o9f6WK1dGCHpTHSTDd<^sKYd*fwx4B12+;2sC0E^dg@fYxEy&>?h zXameQ`iu@*d!^-QWeh$j473uRJ^t*|rg4L^*h^O<@E~}sI{mI4Y_&CFe18HV<9^Sw z?UG-|)iIqn{UdGSetI9ys*i-Ec2I_c0u7!TQ*|M$j~XglOP_*@a2@~#SPPWTCv5Iv z6LyK4r_~yI{@C~Br;>0a_U8Z@OpAh3EOvE{yYa01a%w0Y8tgy+zmayu9eCJGGFU03st#!1=i=|P$6&O}>v;69_9+R0*_kZOR$Qsh z{j$Xk>c=B5;AHGNSoJu<5D>O6aWc0qN?fTOn-)(WTIre-Li` z9BNX3@UYUdv*R$ysOw&0R2NTQIyJ;H$88kHL-1x3(3SGxqH8+i|Dmy@c=PYGwZn)C z9`PJo6WhoN!+=KNy}m@^#eNNl0TM%%0O9_Wc#xXy6#1to9dH)?gB!w`?;5!o1(08- zi0kjKaLFb*BE)@RvMiA;Wa%L6d2olas?6eB`v~-Ww+y~&QrTcy;(_qze3Kh3?hNon zaOSTg@>)-MRSBihreKr1WNU{=u`Ob&iK}F$CN>@~0qeDLV*=SaaIQLV1~|SA^n|#I zrYJq|fS&x(QwLW@xk=?{NbQ3Fx~TZ^86Kat0mzOY#&zc02o7iswQjXwa(3Mnb^e** z`srs&Wd^UaKDW?)K6s)Ka8f47^Lgf+d?}w3++TR+2KhFal3a~37y?S%r-o~$rc5eK zz&Q6nCU#J2Z4%b#?rx=9URSG~+cRY97K^$l3&>2skAODj|9tuGL~MC2JOS>hj-~@g zdENX{k&Nzjv5feyKbxEg1k8?Cp&KVWuHr7aeb>3a7C>nY_}`lx_m|sZlD@A*&X1G# z4;5DWgoNG>_eiQ^TdCrS;T6peIluGUk(1;D?yhf zRUxZ2#_d;wZ6~G$^vE{XvhAj7_BcLZMm3Ls!P0+sRiDZ(6zj6EkC&2m_72?lz3#nO zEhi2y7OH(Jif%QXXbIfCak%K#hEGH-6Dw`xnJ4akvwNJ&$l0PA;N65ArPHIU3pM#H z&7~HRP1#3O!2sCnVwdKg-rd0lG<1_6!Z?_sQ5TE2LKM?bk zyXxBneMj#EJJ<+xHinb)QI@xkgvAapJ)M@C_vT2ArB!6Jz?nNjezEY?+Axg z0i=J4Z6sg8@b-3A_7j)grz~KU>$~_*n5E#{kX%U}XlEA9+~4S#d|TDt-#;H1TJjHf z5k~toqZPYU!YIc=ic9CKbX-$ye2nau{K);fZZ=Fhq`pXeS;FWny7&t-Whiz( zw@$2f#z1}sZgDMlw1`GeB-`?Ve;n)qQA!%}$&Uh;xyYLi_8pf9o!48>r#WQh8pnEt$3Gb>-Me?o#)3RO7E-`yE!B0sJp%w}GRMz^otNl# zlc<$3(1D1UO|fwPzFOs=M3Fm&0cjr|kM-eI!#eTLi#BeJ|6{Dn?{|k@VZV&7*h(IG z(mWuq9b z3`89gF{HGUXVa0>D*{d_vXpNf2|Ta1{z(l0S>tfSXs&9??8Hs@)C3pT-2Na}nxu#CKu<#IpG`GOEBc<*!9vi}bpACyS&8 z|FHIm1ZLdXY3miHgq%+!Z$55ViIhCv^IhM~Uo&@Bej*rzDq_Gb-5rma=g~`vvgS3$?;RfqCo zQj#muf5@T0im#bMnH8SxZwC+WWC88f2q6szOk8=BUTq-I=wSzmNU3YciI;j>@;_c! zD~Trvp+-Nb>&`E znyOZ|w32p9Bx02^5QOp>wrE->v0)`=Rb&tUM=Kx1I@(SpO5JgxATqnIp zKhFrjR4I^5`=pYH?1x>&AO0-mpc5G!qPRma+jTRla8Nv5Ox;kNd=N%iASs?@$F zZMLb-I z!d>Iy&a2SA4CB*JVQYtrSz57ATYFCiXMK<@vSMrnk7yY^t(}-x#26Ya_V~PK?vE++@o)5T2XJ;G1tgz#7uok$-$621wwtaxXig2F9c^3Jfty%h* zc~PNer4Ob5A7Nh|7UkBxeMAs3KuS6k1Oe%86s1d%94V2Gp}WQaQOclGknS95 zknV06y1SeCJ)?qyuYR9@oNLDGIM06eUVG(zuT@=FC$3EQ^ot0=-OsLcK#v3b3)tOt z;*Zd>>uF+8u3VP7a6ylbQMO1g68Hr(w*ArY6B4T#x!^oC{r!l(CimH+8Gza4C?6$k zzjCy~YkBhIk|l@i-;=+T>1YBO*IJV9SrQ85*?poa$gfzzWw-6}b<+#u?KH;RQU^iM zd-R#?p!w!+k%S81zha$Grx`>qT5VY`v68zENtwesHjEWhd*8IU?W|238bk73F_5o3 z2VRznrP~-Vi)-10_hVtGR!frrKO;)6uTF_ zs_YsfFdVv3%?!-;^SyW6rd5meR}C@LC0p9e4Y|S$^j;W>=_O;wA%z_xMOR-KNJF0~ zCk=2re4h6&B!pTNrIpMKnS;Bguf8-keiw`qx$-hu(EVe$;^C&A9g-^e?dwJet=9K8HF!wSwlg2|YS>S?{7A_Qa7$*n#{E2z)o=fOh-YomOv}|2su?!+ zHYaoNz?1T$6CbiABkNrJ-jzEerTP;!>yz)MtPLmTaMGceP1neD*n0 zBV4$`B=eC???B5zS9Edbo7ax&DB0zl9!M|xTZaIjmOhJE27$x_35e@FonxK8OIeW1 zWJ8b2c8JSqKp>C0ApVtWi>vOde%BR|bQmByIwraSyw)#`F+&>a%@=u#@4P=wNg^C> zo6jGYD;>mRtNj4J!$|=&FM0d;Tna)_yRFmoc+S&mnVtQfil+a5g3?vB-~sLtyiUNy zKhWeSz9GR2sdOcgE}Un-g}h6@T|7c52rm7*=@t$!f0+V-g09L7g~V(q^)u5upMA0m zP$*QF9<61RW++j(jFnUhW|3tgU4Z@|5$JZw@Joi5De1Q6?yfC8LI7ZJSn>tvcwklV zsp71mm6cNRFwraEd&fC1q*J6qQ$Tl}4xeu$MQ(a&gvh?u{n#Y9RUlO@v#b_{&=T_G zuHgw=zyn-e`oGEsCCdg1Z*NXh7rm4Z?$G>gfAt}2tO7i|7jwO!I>mN;Z5X*fMWtXvKH{nelxsxB^;AP6Lp9nf)YOQhsG|=dbWyv}8k=zC6*-x9a zN()U|%^hEP?@ur32|fHa{gyUru9J5bb*q)X)$1lSZ+vtLpR$nGQJ7!s9GdEM*F+v% z>E|Ys&$wsnv&?OYBSh*ufx0tLm!5jF_TH#zKB!#C*z69B-dWlbS!wa#UK_U7IH+Of zBbCJx5oG6*G;qbwA$QFw6lw<$$eDu43Y(0rftWCrU22$h_V247~>r-AhL>O73 z@@0o7QFb~ppN?v%@ZDxYQIftEX}93+>q7a6=k9l?xfA=*8*NTi9kQCeA%O~!Czvv_ zDhq9XOtR8xBAd?7S;Fj68Mo@zx5%?I3iq3dpA z!q&iULti%aFKtzN3BD4>5U2iHA?G3}UGK1I&c zzi|BWE_ax}@0K{y{(5-aS}UAzX$gCFODj9C4()!R9F$zuhF_%^$TAr-26V*2bM1_? zqwasDE(By*^5g=W%U_p^qZD(yFYcA}hVOX3&F);G>;)>WkVXI(Oy>By&axhy9>`1X zR$W;7E$-IulY!*n8k#Nl95ubXQgd(c+0&3OdQC?g`*wa`llfz37n@CnhGl}~(z0^S z_k(76f#N*vY}=rz)M#yB+&r!^IHF#|n;P5HQGU!ac@gXNcInkugISPk2IvYnXcFdf zu~_fF{56sYFhyafm!7uNBdl`M*ZrhU#VS2R#8{x&08pPcq@s6*+6r-CBlcd~jSQ`3 z7*H6=>Tmh@T7-b=Sn8#6nX%!LSXsw|z}qG=`>pU7C&gh-p`}t?Y1K2NeXYBp3(@GC z$hj8-w3L#8u;N_@e6`}QQ$b>!`>_G<{BrHKta$-XX|?oi>#>}OzhLc4LjFa;!MgQy z<2>ODt$!`2id?xm1!6EFWiO}?(NW1$0R)rd`K#m?`cm8@bA7KdT8F~9VcjXdB)W<+ zm%8}Pe(UTflG=b|!(96sEyxv?h9@6!A97m8+UgX3(vt;w!LH>Ii3jT!+d8OyIcLy; z`Yo-(f~5%z)|0a3^jSxvPldGa3kCt&G!tv){xZ9rs$+}&Fj4QY<9$v}UfdWj^QT)J zq$sV$@G8rj2gqnMWHG?!F_-z^qWp2QVgu?Kv%qKX76|l@HyY?f@g*~XO_+j%Gm7~7 z?I)ea_8orf;Q%)j`0jhm<9Yek^ps5XxvuWy)<}^{R9lN-eBzs*QX5}rM)HOIz9hgW zhz4HPDyLSCLHc!zaNSehW>{Fgmj`^4AP`{{;ER`t5S6Ln%mQ*k2VflG=&cCrlh8$&fdMs6VB3o zx&{abj>E}5li-?1{v%tN!nFsPemviCamj$;TGkTzI_#{^p(UoWjP)eX#Pg6nI7lSU z+BY^16RY?ghGCcMD>+dbX;B>+BTR;m6Uys448rs08}s|#*mSkrdh@^!ia{L%Tvm*| zF93Y>^wGb!`vU3{*|7ke^4jSzN$S;0RZitSp%!c*g(^?K<-L%EECoiO2f3G#cXa9v z$CDd=KO+KAYM`EMXTCKrX>eq8IGE=>Sde5T@O$-eK0D~8b6!EEW%qo~v>zezgKiKC zUEtr}UK**J@6Ud8OxqCMA17)3s*%59aDrJb+ukl45crWIcNt033m?OA4>xseP7MvR zwY~iHwTLI@d&N{KGHb_vscYU)rI@&JE|gESYC|_PC#>^;MD9-f|>bz3wsm zi7L2d9T}Ez+^70c*3RWKGny^o6x|!EUOjr|^_`>W%wk#|Q!^d#YXGrW!!m+W^#%*z+sP6xJnjbGv~M;M+AFb8I?y9M01ht?afHvH-7KSS)g_Cr)mX2y2=9l}Hi zMs|%N)u67N0<3gml)`PR12gh4(nDx3%iv*cz2qfYmbF~c;ScA84Ef+L(ODQrEElPy znLPb!uhIt&V)|B*%IpH0B>}y{p3((lruMzbeC6-?h7w_PI`PmFipJi~ZOz z2RRAd@?IMG0!KzL6lf5WqL!<^RSq9wT2vF0Lcst6MiGijqUW68Q&FevL2Jy-wNW)H zV{K9RD&A&p%=MgKu_0?kjrrMJ7tFcXx5_!~4fjn={O-a0;Ycp+q%);XcUznG*0VyE zBuMGE?jG9l-6yd%g%N6dkmK;OSvKs2$zWN!X_?ha;_Em>5_lPkBCna zAPBR{XW~?Y{u^!Prpl>-QzfZ)7=VEhF8e7-EMQm9s?HL}`vagrBw)f5Y3=oi0GLD7 za55FGc+s|Uxs-JC;`hkN{W#9;ce2(Y%8%1X``Wk4b0>fF&p3M`3tH{80|z*IoxXvK zpt7FHuhCsD4pWGe*xn#`7xsQG!ule>UmLvX$+m#v(nY-O?{VR5yO3o*KoezuMTU$Z z_q#@Le(CPyB8eyJZDCGX#;%SV?oDhFd-U`ICxKtaf>79BGXHtEZ4vnBeJz3B@s zsm%1oW%u1{RW`1QbfRk4C)NBs-8-)LM$8A(lp6>lvL31SqXO7Ngn?;<`P#R22snM^667E{cP@K z@`tP7jLw@w`YhXC#tWn^^2tp2!Ug=Q=QfH31tt^B1WT1tJSy~Kb)7QnF__Jt|D34? zDyybrP!Y44QEPEpf3$hOkw+He`ltU!p`I8)=D#iXxhubjvf}e2kHg{cwE%`aG*B_s z5DGMZbx})XYh26}&zlPhKsMk3&rs}gDnH(7H7Nog+xz+PbIo8tH9`hSAOS+=xj|qO z1-quE-m*7k7qB&vT_%y+S6--bd$mPBO}_XpqHmQV51M*BC&sA0plIaH9$3&aSTa4h z_@Jn!DA=?-!6(gQ6PIXU(;B&ofwXQ3MaV1ZBjR8any8W?oZiFq@msjOdt>)B1cnyp zR+-)BJ6~a8jyRIiB8eJ{=~)UQZidcJ;CozdtCi+qXu4gAzCFA+>{8u@M3rFv=jZMe zB`ewz^#D7qUr)B~d(w-~Oa$xq>e8+k9Se;rQ+&*`_u)NU@_;$LU;dBGql%ES(2>w` z{vTke0w!(dBo||)aEG~3F_7EYf~@1*W5qNOW~fYA zV}?*%!vN~GX6f5nL_IW!(Vkc$AdWjQD#{dz+g-Zr*)y{25?$X8WY7e*61L80oJjiy zXj=Ze2s;Fbo7m#@WeunNUO7-MJuWDm6wAoJP@fa;7O0NVDyp_*(ot?|%vID} zfJ2d>gh#@9E?W{1fwJTGl3-Qs4me?7T&qY^cO@Qo}4Pl39s?kGBOEx?<>aNRPsY?su9$Sud z3XP8b5)VC4dTJQe1RHe82pk(8}|hhA2mn`s{%lDwF?%db4Nw_8pHVD1B!(%X=Hm^g;D1rq@2T)jVd{la$A}1%blSHoIukduM;=BVcY}<7VGivZ~6wUm-1J7 zhu~LHQCt<7n3-1(gW>3B;&JAp{K!!fVnCXGuIU*RZOOgQ@2>H{nOo?+@M!3|)H}OKxeRRF+E#7m#D-l3?6}~V3FjxbY5=Fk*jw`=qIOC|v z&hs$eULEMUlh9Hg44%(vTuPZOb z6=dx|R~{P}=*_i@3Jf}fp#VOg$+p^*O}8)FF`=umYPsjap}}_gLBu;vQNhHbq86;s zn>TOLR~_72f@fQ8Dll|W{6k6PRp`V6sX^9H??$iXCD#s;yYMsy`|Zy8fM@xNPDWPw zw!%kihePf1kgg^RDavA>I43+Orl=(X(ZK)&~KFR>see?;i7 z^kcNnE(ytb1@RCJ?!^G(8A`O`3Ze{0yRrCKq_Kn)Ufkge-_3!3OH=LmVqK2gj!sc4 zkX{&n0dB715f~1Yet7Ymy*)cKLb?mi(ADSiL7HGpqQqyTuw>En>e=zThb!Unz9h~7 z>clZ_p8`JDOI~bXe6-g*&cleLWva0+Ujo?Ok1ERoTQ8NFfiINq-7FtofpmOv29Wp) znOynAWNt+jsk*gzM1N?yK@`QSuDy+wo#^SywGUs72s*L1r?lbie>Pbb35ksS!tBNh zn$}|~Ez1FYc-!$TJ-yUv0>h-kPt$0jJFQHpRp<6=d2J9^$)r5fvOVu{F(QNoh|2}%tFw-quToNn zN{9!8lqYKo^Bl6Z$lHSI+fRn@mwR*4eLd1P||kKOd{YGq7F~*3lVsYS>%cq7I^6*BM z`&PM?jsiuk>Cn>d4{N%4ee`a0s>#Zzrc;v|Cc}1W^Wfvx=c*&~blUE;JO;bjjd{^7 zqzXWNt7y5D*cI>Kg`UA7q0aF$fdvs zXMDFySMF(&c9MWY`1Sky45TNXMPC;%SJCoHtA1_3%|SBqLd{vhy)d@=j|}e?Za=g= z@hYuK<0Kn<#PWz%kb9OK7@D^o*Du*JdZ6sLQdTSiv}YC6FMe#0Xfvy!(-KMWR8bKO zw=8+fJcj2p>UTC411Snd7$lZhARXC+=X`O~d)qe$Op2vKN8i|<4&_t1WSWN)KHH2z zPfDJ_-gP>SkTReQMc9oJD90YY02zS3%U%1neyN;BzL8WpL^utsV4vye>Nx!E_Wp2{ zGfXEEFA}N7(0r{2Ms-%;kG~|yL!)|q6qPf4 z=9+WEwkO`t*vIh5cJbjI4vDDivN-YS183*=<(+uDa)B9&tJnb)d6MFIta2oQT)^lI11VX=MLBpFXmSt^K`JCB%g zlTCxqPUZu0CauQ{d6ThG<%{F{Vyv7N z^|gIObTSY^T3d8*VccMKUjSsG6?nAn3@<(H%G-%6u#RA+#-aX-)U@oxUb$&V;pe z`lLK5)MZ9N?_uyovMnN%_-IQtJTs~cJSvWnqe|pZJJKWH?c>`8q&C_?;@T@d%X)RSckfgjPvre@j+aUe=du8W{`C>Z7he&ud} z$O{``ke~;tr)H6%=#*+!0tnexyB zUA^Uor@}@v=ek9)c%kwXeyr`Zr&>0^7=@GbaZCBVq?M4S!i!ioi=EOgRBR(!ecimR zoB0cD;y&j*KS~yb3f*N69+M}5JB-aFge%U+Kqb!JT{ShsP{uQNdnM0k0O80CnlM}A z&!Pn%evYQdeG?NmyM@3kxJC1_Bd2N4UV}0jb;+zUQ6-44_DCY#I$T&h?$+i0Az(jB ztWzrw-SB!h+w8Ab63v~F{Uj(Li1cD8$x~3X7@=Ys#a?E4D|6rFqnF2RGs-=lEsNg- zU3drUR%PTQqUAk9k<7kFh2NDI>V@@y9d8}nzcXrCkDg9eGSb=0+N>yAIB083Mcp9cqu)^(k~t{yPrcCuqJ6E40@oVY%t`32ZoWX7ZUe)el~ zj@GU~`w;6#*ALrCz*mf>8|yK59a!u@+K!&nDEAs@EWt`QgB_#Fv-n( z&hO{&^L_owYR4Gt7Jo1Hg1RRR{2Lv z4g9|j6*Su3b71N)9jfg}1^U0prTY1_CIesY+SnW-W#kM&pQ-iXG+IM8}~X4I#B zp=Ia#EJ?<$$;MY1Q93b#gz|7<+x4;X(FY;ULxs{-s&#=40IQ5@fKi2UKV%%)v zeo#JNu0Ww+4Gq;^D|{YZJCmiZ-YhPLe|F-CJrmIm3miW3U7z*~0>Bjvl|Z;X)S{tV zz!AY#!k z!zbV*gXm9GjA|2oX{!Z>Ri5%IuC_K3o3qflDCaAj2@%`Wo`aDmzpN_dKH5_B^~@iY za5EbGp*|HTY=I)%Bni`mQr^svO=LM0`iZ{DhY%U#1tgqVP`m;U0wY7ez%@!GqlbBe z9(*7l+0pdXmrZG3DI2b|3EeR(?26iPM-j!+&P*wx@^0A)h4wO;E=z9LQ~A%u`3nsi zhXZ{U1$X*&)r;+x+vQ)9BkRV~cg1-^sX5W0yGWu3W){M!Ssg9O(U$afG~p!tJOfxo zLeeh~pXwL9=%;#sY;iLQj_`Hs`V@7`L>UD=f&38+EnECm`7E)7A1J;b!8Z=I3>)d58b*A(wFBa?XmWOq9StQ8w#iH8nMLXzPLS z7IaiurEg|>P|IN)jSOgcOwVl3w7fDGab7q5^bSOxTzxv_WMd&&b^_}k6!xbvaTa!V zUXN?KdZ=5q|6McE5x}*S9hQ0wUK;i-lZsvPDP|23>XR>wHsP&=21A zj_bH_2^ejyp3@H&^a0x)jC%1(p{j|ULjiP>0OE>;hu9c$s^ZC zyPq6xk_8TMa&hfM_Gw!3^7A_@=*|_mZSU_*`XBm-a+!tYH~LzKhF>$8-@%m^cx=8q zlUO)3G?eeOy>K$=a4x0v%UA~#q3jfl*ZDHC(HPQl!8-tqPy-v#Vzo~T74>OKDbE6WSV#}+}mxMODtxwC}Rfm>m6*}s6JP!2I&4P0>|IICb0veOn zeLoG@4GPthrvwVt_Aj&z`?V+lcV>yPN4E)>kPftHmMHDDdv%sgp&UUyS@$;|v54DL z2cqd*n|UBbojAVZXqe7!IrcRLM^FFSZs`0ugkYyqg*w{94L0>k3CHxzr+>lp{RJ%nslsRB;lzZqS?~xwC}9l|FoF2J-%aZ+P3@h3rM&6f z5DwuQIo3&U9g2H0(0gqDj!v7&?0K2^b)aB8x3aRrpHWbt47C4!3|vAoA9ZI-p#Sgg z9ctm@t*+ii&Y3uL5Ki23fo`2STs$cvg4ATFt;M}oP*8A3=j>okH860{z|Gowpazk8 zUa);=U@bwyS0wgqER}Y84g_Bw);!J@wpjqGITY*b77tFvPMZU@H*LNH0EQjFg$Z`B zz5rRen)koPq5`^?>hfMRHOiz_Zr-LDT!bic^N<7 z9rED@PeF60mvOj{;_pN+BX@ada?ydz@w)$v=$>%?$M8}|Y*~2Y+Ax&Z zyU-HzYzv%GNVv8DkkxYUs@=>x-S~K-qWu|DhU~&Fbvz^I(re3ynFX(vNVq6m!l#;) z9|bk3#uyp4NrBIK^&X02;rKNhFJ8>8%HEo6scn4=Gsl>(&v`%=#9pGd(HZ>iJIHM^Uk;zh4Dgna_>$=c(hcOie16`q0&kBu#2C< zmzBPFF%O>_-!$MpF5=`Dvhcros~fn??wZrPU=w6)~szf2PeOEHTppd{NuJo zIS5>$!z8^|MPbL#)sylH^Wa4Ul@O2InL)kwNkp1OwC~yEW9j#WmRW5CJujQmrzT)o z#1U8TVs#mE*$?Sy*d3R_3SZUE=IZ(Cy+&tGV~@8!-NPT^e-jdyHdI^cXkI$F({MW# z9sf|m)Nk`b*eKH^2j%MuZPcZnpgKRYq1|$XTOnZz>-0Y^i)=56PgBn~Zjvs177nLI z&wY@C_^W>J*1t;l77mZls0?+10X$ecxOw}Ncx`oAscpv_Y}u%zhL(9ogR(;}UZ+Dd z^9J+vF|A+Alei9afD(OwQ!hEWp`>-)!3mf`uR+g166sZ}X}TB`IVO-L(`adwHbgpG zvFmsqN^%Wa(NT7f43xDWwNq^xESIZnlfZ*!=i>NmHv8cXi_4#bf)@I9{cWptFBY$s z6$1ba_w6_6LPU{)f$@yqEx;(eoKNvkl}j|-SbZriJA_NwOZ5%~+?p^XVCmUW5~@R_ zQi}sW*gBPOfASiu>b<06A|OQexZwCuT9iMmrF5h~rf4nJqc?4!L@|^spPRAx*w1vt z>b=(Ca#Q-ixJBaW#12BW3(nVLO){?=9v{eOI4)uLW4SP@KV>oQ6Zj(G4@(2-YWLH% z7|6h6(bTBQi@jKHoUcdhpzH`P%fA`S_wuiK2HmNv&`kz?x+Ro`vcJE7d<@Oc-!3Qr zwy{y`OL8~~a_$%yFgm`Qx3Aw2q!bP94f>r_JM|TS#<&YtBAzMDgbV}O`yL`+wT!k7 zV+Rz?%sf*gNJ>gGC~IV-^CjB-(#;HOz1eXhjMB3Rs*0+;=Z=P*qXI=b7jF1+u7P9lx)1e&egLIp%@r%oHDHfjfgJ<={lS?o>k0tN^q zDy1r$|2nl&e<1>FDtp#ox ziWTpLP(_yO3f`hF$ZO)!c&t5GjA@V1jsJ>M>8bo}M^r-8&=gz@HEzu~uoRcS&DLicB$t)(dV@3;}5mn zDd_>WnBOw;uXwgQVn2G4D*!**d^c#%{anh#Bo*c`>3cG_QoIU-4^FNd9__6kZwG5S zNse25D;HX;QIr>qH$Tj_NS&IRdOI}(;Vbz|aNH?RIU1R)TX&NP7l3?y5H2uZ#2P2@ z^-5+lk7!b_EEGXQ(|>8*uCB1w$$LLtYqi9SOGfky=v0qs2cwyn&;i}0Y-zaKfc!PH zJFj!_;b(46-VmcRCE0Le(Mv-VV2!_qR_%G&xcVZfYG zcyp}^t4TAS7svZ9pujba_5l%Fm3PX>$S82@rejgXXZ)7RgrS(=&y1_3+;m+dDk zeVuD_I*O*&b8k{xER$q^>e_Vd?~G*xzCkY2QA_bw2AjmU(H-{QaAi2=IXF^DsnDj542_Ep{Nl z1Ml;S%rk}ht4K*nahMHq;Dk?(-#A~C`*{(7?q{7SfzvODP*(F^=hNpcd#(Fk^h{>c zV}{-wolptl73k>|<1_$DX@>(Wks)X35{SkPhqcN*@0P9vN1WT)1F(ye_MF%Kh}=qx zhW||4PzLM)ad5<5^y5zdtkhI#K>aO($Xu5CvwM5PS)IY=2A(^O6D=(*z*w%&$Ahc8 zh{)^RF`6O&@fz1@JcE=07dg0GGSZoFsBFeU^K7}Lw}h@o%ruW4z9$a7`K-fugq>YH zD>(3|WJ|fcB(8k#3opx=uoa+`pV)cJQcy$KdTTSLUwvwp5e znvudrTlOm!6@R7|SWs092gYL9o}iHXi{sMDb(1?UvCdWNJNppzl6{z%crF_yPzbIu z;J+VMJ@esUi{~%RFoF7dG*f-o>k?DlHBNx40UI{17E9eIY}1=hc_U=f$7YSXT1wC{ z9gMD*P9So2&%`vw*6a8uX}H`^Hpw*{A3dk$vVY{fy>}qy)ssBgM9TW-E;Zb`VZA88 zd#UB_pKozWmRiP$xM@JLfv-FvEx)?sM;f~8&+|PFNL-TAIs+wf0QC0M9y;WEoeNT?KobL058AOD{ z1fWPiEp9%~``f(->MNHaM1cU02;*SOlg5@>p?7U-o;QrMDRk_pkpY`g9q$SFWg3Uz zWxKFn&VdNd)uZFpk)jp8SE{#erx&fWEI2z+%1wW%5CEVtZEEb*uka%CE1$_TVzS3tZ0Gp`}nb$)St!$oF-;9SF>hUikbel1Nlu z@X<@_+pcmxKcfW5Q~WI4aDr#pPpO}`X61BBnQAJ>lnAg34d#m*FOrJxSv~R=VC{4D z`=5a+IGO-#_BH%1A?4Yt{gxWw)6zSjbWsVEE}HR=VwJrZdV5x-pjB2&_T`H`TbVET z4`?a}?w{51JQcL1pIh5Q2LOyQ(}-KRmRtFLOvr%olnI6B;C8fjvE@XkDYQ&MS^GQ; z19%WMq7>AyU&v~FYN5}3<)5H~*AK2?47nINn!kTiMoEbDjmNr^Zo)4%+qA$SI=}l30^6w z%FM~BKIGl+Nr>UH4Uv{v4GKC?H83|x0Q<{lQGkj~o>dzvJ zhseeiAZ=d~O-A*%ummvs_pd~#Pd_W&|6qH4f$W7aRmZU2Na>wQN9wPqIo)~MtkUY4 zY+c++H*3){ zx<;J+Fgai>;%+qR9Rq&( z+JmvLQU)l^y1hFy8XXUxm8;#Zbi6^qbc*894o7JS>o=8OSl{+t@F~>fFG&-rQCl%< z4dwnr$$ykbJn68R@PF*W&kMZt@)TJn`1-aW-~$f4z4Js*947+TsN~n31-uV=%23?! z@FFUpoxpoY*m7fg-a8yBu|EQTN={UOH{;v(K@CaWBiZT-O4J0EpvFiY@QV{kM|0g= z^>pglhm1qg7G<_Z5~bdSdp5Bj*_eKcR;Sq5b|00x#Uq80k(tlZ(i%mZnB}#8vP;pv z6v@ddOM0yU3v;?fX2~*q@GOn{D=M;k>H&7u%cPW)1g1Fcx_z{5&n-iM`XO6G{ z2!(2_QbF*TOV#yT+tlW6cCnUhzi`%_55~ami=ER~KXPX~B8r(;@`$1Xg&7pZgTwo* z#4ghRp%x_>MXao!xVv0C7i9cU??3)yr#$wJwPr(2vh`w9lW%&;qK{gqh4w2{hf;v} zF{?G#`TfoPN4GIp6g*FNE{W1y8xhAsY5S4szW!`)IJ>2P;OApQvsaTB`CMHJss4<-DDzQq;2;xYM|P5b$N}Yr z!%Oojz*W`-lqHVQ^C9X7f>gTJFE;@T?>7!i(!LlcY@})rZ{Lqm z){B>J3O?klm9miY+<4$B(lUarn*N&3jS{hPv6dCI*GFoqhit$wZnNZ5 z%HwY2_;#2AypL4bbg_Gn8SGwe*5sBRtb+M)BZSq-dLHGbSI3AnyKQ;%5!L>ftqO=q zF}20+h|cknJ3p!Gl2AwdDl@Z!k)+j;z%aJ&0)Ptfb9C`l3MZpEzYUP5coKf#%;dXm z5vNCVnpOCv%yfX>c6R3Alm4PhkDNZy((NtfmWJ6v`g9J~>mIwVIx`MFC9o|y)0R&} zE6QFJ0#_MJctXZBN`P0ST^pcIAeiAyWFc}+ELTMQ!^($EZkX^e+fTq&u zm{dK#%+obVU_gw)1(P{i(aFeFBW#SIYf;zn?r`z(C_!QexkeF(os z^vle>!q2+N+Y4~$ofeXr>b@ZQxzsJAH8xq71ZF`JR^CSW7hY=0DM$ezsbN{V`r3co z8c_xSmfP;siQFXs>3^Y4u24yB#B;9N@+S$yTanCoJx0WCm8T7nSH=u@OiYrFAHjUB zUb7+e6xNh{tG$a#!`du0%DFYP-=!U5K2lVj84)oRwzz7ti0_|udt;(8?);iY)0~h^lGR6 zLrZ&;#9VSW2B4@?S8)(h{d$0@XiS`Fk;{Dr=F;wEL)$5A@)3tPEj2YiC=QgI zF*eTKcmot<7r^e;8EYYLH??Jcz4sX2WmG5IjwKIG_mTaIPS##gITej*m->bQ>4`_= zDaqE?jK!3a1u{Yy=}6O&_X?ppzkc*^3>FI1uYLA+=|=buQ{SHD-~!Aw&D4#gd_gC+ zARw4Ak&IZLD^7p5oSKPYRCC3oLHxABNgY^mu>H6ttS43}HP+8kJ~|2!BYpnxy08KW z;Sav0cZGC?MBMue$^~H0Aq;*u+$Z$bxkEkG@d$&z*7*S6pxBoR$k8tz_hw;B2Q?Zb z0OCr9wo%t`6+uo}fm>R&GN>I9{erHD(yhUqv0DzzMZy;%yju)h_*H-o2Q+%mt^Kz- z23C!UNuMS@4dgw~ZUDTG|NmkryVU2`QUl}tsK_&HX@+@-?-*(W00>ui$1ecF8HRH* z&CG9eynX9YMDZZ)oGIbWpKmo!x3-Wv66R{Dke)tsw5$|1+uG0t1$Ztm7@51#yNAs* zeU`?XI$&<#964{xKRno_mmZsPJ4`mUU;aGGU+#nm{pBTsUP%@WmRyY$)z&cm%x9h$#mDQ zPkDIw`g0llSGSYp3(43W7SrD{g^?*x29#`C%bYf2rK7Zf`&X$KrO9RoQx^6u@ zt>ca0)^z+USJ<|Wr_m0&g<9cJv|YmpA5gkEU+G6M%@LYVsrrW&_f!Q0{nn-UfB9Zy zKci{y196j~tzHTFC-R-J?wem*H8-gW75jaPkHZGdD-^??{wkPm*at-V8Qyinx2nTh;i2o5Hqac(!*ZSff$ zTLRr_Yg5AKkbIM6bYJzYUQjE#?@oW!4@v>6?nk%*jMI!vePCFBZd$L%W+~+M|GLb_ zs2|}V@PVs-^LY;JPYVp(RWXIJ*YBP?raugaOvfW=&c*1SA9uD9mr9zs!P-aIm@&?w zO;Bf~4#5;`umN1OOOYrQPvcMxBMk_oV>S--TH| zcW0I#O`B@ir^}Q3TN48#iQ)$k#E?0e9IFDF)7|H1SWETdL-fccv*eQ7o9G}%MBu!< z{6o&q$)GvBUk9`Hx4M6-Qu#Cp8}a!CKptZQq^qa>ymWuprPQAQ644v_TpaUDLH4h7 zN=J#w38fbLwDw*mg2NAU*k;WpcSrpVXPP}uHZ`e}XY0p)zPiLih`9;-W#`1#6vuZ@ zY-`jErWYC+T)la=B8e6Kw?FsC5dQsg{6LR@&zWe86RVv0CvjtlcSdh)XrzihIX}F~T6;gp;*$&{9mfwZ$U~j7{i*zIs{u z=|M{1L5BHpepyY3asdOPGl1_Oh&e#OB+O^Pf84&aufRTSHL?}5H@}WE;NnV-=a=*B zq&$%APKZAE4BCY$B6wP<;^u>RJ!rWoKqvl;hh##NKNDe;I;h4baeQEX5$2Myqt%2` z#qU7(4UO!IKIp3l->*4cM&FQ-Eq%W0ve)_Txg-02gVW{E`QO7>en>vXg)+K?>biRB zKZNVoSM9H;S8~~G0k?M2Mo>AS^_}gu*u6md>1ig$@>CIV@^MRCMgKD{l8m= zXb!N?f2K$OSRKGs9}c-aU6aPPr>-cGKi+zO=d(bIpt9y>kIJFV3a@6(y=Nob-m}rG zK%<*WTPKGfrb6+keo0senp2uDSr9YU;=!V54#nknjEXx}izgKL#-pwy+2Hu6$0{a^ zq?^2jDc#v5p2(EU}!vnhIFbdnzoGCzdY;?=4Chjp68Yw;#ioGTF8GSnzm0!BJ@zVhEAH?Lr=wMZu2VH4-ll)5^(gWh=CH2wm4>|kwm2w%CX5VUi9wn1?b!O%5$+JE{Yve!AW1Ai!Cqt_C|EcYzML9PYT$+SQ(U@n9FDgEVq&pcX6a3D{%l;iwK>55F&_T5 zwdc)6INuTdJj0tUz3Gi&O4G!_X^Qn!jf!Z$7jbg2hOvSEK~4f%TdR(}V7O1aBbHh! zrNg5i`2CiU*#lbuv1cy0Hu-?eC5wOMo7-+NW{ZGuOc=5CbnQ1^jGwX*@B&3cqf^5^ z-w1XD4567FEA6#b=+m6+Dk&7w)8ieL@2RiiwDlXg2V~o*%ZHr!-ktgYrw3TUh5CH8 z5FAGb{+GhNTzv&#KH5BV{DQsWvtwLSCfJWc(e!_e6y*&>{?viK`tRoo1d*3zQtv8f1ZJ^km2|hK_>zrW6g66Rs`Viq z*{niYE(o93k%wsxY@ASdZAWgRIPGe%MRZMIy_7_3ARYY;Olbt>_)aitzRoLa0~F^s zGoiDNwnJuafkAxm@Q~Ph$6ZeK>iN6{%}Mlub%EF<31@k+Q#~n4d0ZyRfBAGr&!-K5 zrxeo!Oj|N`N>L)-xFGXI%@uLkAAas ze;KF$Cuzo`A_fhUnc=BX!4QwRQj#d#Sh8(N!?~vMJyRplIew;TmRTZt7c5o;1%m_K$#&WHmPTQglB{g0rMTTfGH=l;?E5!Ry2#6h|LB~6IKwPNVgGoEn-+Z z?%VR-n`^;;Q1%g0$cnPQdb^Gz_B6QtpA~26q9m#fWf)X*xLUc!Jzz~GtmTk=zudyR+f$?S3EY5G5k`*Uu`O^W)K4;%+o658pm<#*IjHk^c z2LI3Z{#c0<0=AhWMPDCktm`@#Vc3V!c@ z{y(AMe-JY4v7sHmyB+@+>2?Ef^nkL4W{)!ji_?#Ws!_O4FTW&_ho5 zD0w&cBein4+r!{ijD-!f`^UmND`?+x76fi=XU6TO_82EqEO2vh5Qcf^nxbFkVR0M& z?-EJ*bAIn-2OQ@Ft4|FrFIK+NC@I>mK9yCXZ;;Vvv#({x#Sylcs4nrnUQL5p-A_mx z;&Gj$ebqh{l-_%2YqJ|Pk^>C=99anJ=Iex}a2aH}XO`}$k1B6ti^J6p^ZUdS%&Db3 z{=0yJs()YmuH*Z%-LjLZc@(mB0{0FIBiEFTUZ`@l0o=v0WVSWzZun7>XR@5??QG^{ z!H?ndWQ(A&azits3Dq|aSDjRpj+)yz>fn1a@&YG&W1q>}g!oB;(Qic1;b-{Kdk;0z zG{R*`qc^DU|M+!_nu-uR0H|`QaR!RAZ z4xMvX$IbGUEH#=qMl~BF(jS~#HR=Y+$M8*>+ei!j^*+Gg@PHxF8UuLpWP;dUv}wIZ zPWJ8s?y>wCnlKC4F>?ZDSXko({Dk{@1AR!9yY&wkRzgKk5JXT)r4$fQx>1xaX(S~? zq!~ILy%mvCx(_6LuHW1LynT4(&uT<5jC zTD87C={Po0HRTsdLPE*E)@W@}N5=M8)1}rlNd0xy=yTqpOg@eUA7k|Z53K*}2}NvZ zF5w5bQ-NInrG3&L-Msc0w5k5jl^>|qwinlSLUQK^2FM3Ouf?cqn$}XMtJ|nP+D;UB z5}4M`dwFlh6AVAG3X#Jb3hT_Hh99}|0N57=ym?tnVGsLkr z*GMxaZR$K|9k4hh)8&Q?sK3{@xk#}m&2sn2W2Gw#s+E>HU-^$pZg4j6Gp_n^K@WC# zOx~Hyd)@{t>KMp)Qqez(r1POoCDrUHVF*;TtJt~iSDz_nssOiyD8j9D6`fX7cNU9V zS0B~6W4#mL|5V6Pi{I6*m(Nj=t;0~iu{o0(bG_C6UNSe>Kwuo~BV|p|LdEX-bkAn& zB<(O;X#1#?fX1b$ZN0%>Ka2$9>%o_b%of@t`O@JfHgAT_Ea{GF9JBoC`eqiwj>r=? z&Vu(mBkf%wZ7QpPO_uI<+NZX*BHM+J>(!4;#_saSV=GWa=?q(lNR=%|uq{qFZjDN4 zO?$9@vQJrpL%uA+A%kuGPu|%MYZ4R=YLYcK`Y{;3K|Loh9EOad@ZR!^LzwaL5!VmQ z8+ybcI+i5ue+Fa>ttVp1B#4saE6`Rhr>*I|zg>lKM5wie(e!tAc4Eccb+S1N=KAxE z(q5Yk6f`GMdL8-RZ{^i~0sTJC(z`c#wsfp|#5|$O%v6I&?b-{Ly8#{8;k;bew6=A$ zcz_&T|Bn!wuZ?MRCU zW)AW>a?6=2$s3-se%In;V%Kp6;DmK&aw>ba`vVJlyA=eI^XZNX3THXYgQwU(GkYAkFdvt9jbb1eb;@y$g%E|q*kgC-I#4=@8vg=3KPZ{?HC0jvq>^79EtH)m2tH%U@P6MY{}j3FL1alU&N{#T&-{dB;B9M-dn)7Jv=sMSyh) zNTiv{RgQGyhH8Zt&FfM+j+;|eMSIZQ^<88xy{L4LgsyJ2+VE2B!^xHWgl8pzqo^ga z@Gu=5ZdM?1UuPRl{_GXsrIm@a_wVYuwBRIS4gZ*ia9w;<-@e%0 z$jTGwrdlP?TPM&vyUeJeFLufUap{q1N}SpK`cWrtfTb13Ak?_upN3DlIzeipt*ne8 zH1vFS8CPF>Ph5p@NL&U^@Oi+Vmh0avbXYG^Tyqz4dvEc>Jcmqj4cDi7ZH}_7k8APj zS%V+XKYvg4eTZkheYI-A=Z(5sc6M_3H&QrU$2`U9jVgc z-5A&2-YGmY<|fcY!xWXAX@&V?u=K3V0E3i+=8$?IRVShJK+Amq;SAK!@$cDf1M;2~ zdWt*a&>USgt>IZL<018TYNpBVwq@mX?On)#;!AcVJ9?zEjTN}2k`?~ebMI@5i=&S! zjJ6oIsHtXq;qdrL{3*gi>&a*Ep!JD-w^J@4hTlKPf;Y@JL}>Priq)VnEEGrf|6Si;I>zW6(Fq-w^pzpmt#WZ^rOOgujQv#(I}Fc${*GJx)6yelk=e_^av zDE(mhYFkV0eXXTD_p`{tNr#QE30=j($81sX1z@9cKPBNFHC+evZjuGstW-l$p2Gy` z-f{G)?P?^ssWGS;q6W1Jm>4k2ygG2kk92u%z-=r($ZszGyB(K3pOea~CHT#(y_d`EmSw)*H$)BY`>(5vUl40amU6AAc2y6~d7`>*yC zva4ROIO7dzv+B#qDVjG(sV$J-S?FiO7xBIln`z7H;G14Z+qdbm(%+%xIW#0%ptFLE z;{HO9!dU+xkA23z7}-$CAJ#q4_sdwiXFQn;#bZ@850~Hss7-6z(`p5d3f%YdBz@3cOk+>rk)M>O-EMArTVZF z=M>1@bpa(a|2BC0Uu%-Qu5oE`&H7HUUxGMu!+(C?^a>_F7hz%EPL#^N&(LR|Y&DK9 z0L>);k&cb@lanKz7EDuPllKMvDNWXEG(K7i#CWO#+^56)fkNpQ<~H{ zwmWS`Oe&7n_>78^0P;Gs5HuP89eKYiL;F9Jze%l(rZohiI^z)=GH<5dciD*6d6Div z0(3x^CMXCSxCFcY;-@HT>n{C3l03=vaaoYS4_g>;99J*3B0nJBNFG|I&1#K+m6bt1 ztCD{m*~}A`Kg65@rBp(FY$s3~h%q`8nWlAhb)wJ5EQ)W4jHh(#**A}b1J*!Uu;W_a zu8&53DSm5f^4x3sfhr^8QHEk5o?PFWT36SS+B=D#zYw4G;}2&NB}D(AA1|W|)mGlR zI>{mTVUif+0#>}<7jO)ui{r9shC1QF?#YK-+21mB10M{!)N0Q-S=z6jQ!kCV%P58K zK@&*1Beb~sg^WOG?T}BC4Ccn>oa8)qybu@r9F=7ej`aF!g`>29Ih_|Zjg&Fzxq0kt zzrF^;!Qc<4x+1lUhirRY7o&Ttv}6>gq|^UEubCOmTjzy}6Caf2nmo!=Q1mR!KDJMU zn)cG<=(4kO&xuHL3TlY)#IHKWHjmA~+uKukdt&}e$S-#V^?2kyi^a56FSXZKh!Xf-KGfLab2yhp z#u^=c5YjteYr7slRtogMKF)y4fB{kc8Go@O=i{)1DTa#ZY?VSkbaKcw)nFdd*8ty6 zd${e#HS&7attrIYqP%SOKa3R70|1n7WNoF6soVh|fChVAjk4@weu!}Bhn11t?e`ub z!iU}^R1B@uVRKAvj+Uh@^udjx!l(K)3CD6ajQ&8wu&EbHPL$7JDD13XU3E{Ofk3-+ zNjZHx2KAu=o3o=$u~6_A&X{LRMa-zh00)CMSd402>4C;5R6^Kx5eia#0{(i3R+|wdF=W+hX*@U@CQILD?V&yNF71Z zL-horKU~7VPKzZ<(D-rplO3;^g4`kL6A3ukIZ1uUn|511>}IbAab$808hRf^MyNdz zVC=#;N-g>+8 zQUOR3+eXCbUhoRfqXa0*i$6Re_@hV=fEyEDS>uV+A5q5yODnSVDPFN%#i{O?qixNX zm^|2{heEWG9TiA-MTQMBnQ2BiUVE7F@tF1$fnon)Os7gDPF~&#qaD}A)uLlsod|c< z$cGgwcBqx%`0J^BA~BUJyozLwdUE-?IJ8`L7fGN4@|wv)-6` z+pQnM(q0|UG|wOY8yF>&N6tp@EpEF<;s^>ovM;m!((oS>e}G{ORKR7%o-!rIK1#Af z_vHG|$W{8-yJE7TDlXspNC3#l;Pf4^DKJ`aGd|JLhN8ZC8(70fQdLpz5auJ4zn-Oy zv8^@ps+jQ1F@4)V3^W8wfv92hi`c97@um3N_}{D|%=rOF))F_7dwyjO z_Ri{k3Q@n0b|@KdXaJyn8oV@iNYW#a1TeXP8cSSY5dMKH);5mVHG+zhe*dSi_RBzO zm?|J?^eh`z`3PLoCfD0^9ioR?eMp{DDDsTZFa+H2^!Bd(B;=;EwKmr_Fi@(HU=n$- zi+@uNp+15x79*!&zcw~x;A30YNb7u&V{-k#99{{A$u4mex6bi~lXPvd=LzdRvj4+W zUI`Vfc|h`Ek%1pdDdJrX?j935J3Ej0ZOwz10=^j^_@1hq>8)m3Ox@7XQ0pTF-AJBrVX-w=C}S`A;h2;Hj>2?^l4S71hAW@yJDDo8f1Cnd_82k)PTKV* zS-@3omJuQH3qS&6V6V6OV|AZ%vaF_ii@^o96*dp5?Wt8@0ICWUa5MR7fCts zd<1swXtFmt_1@R$kn-9wgZbB))nC7UO*Tj5mzMI#M`ieCoKHW(p96?!KnVi zFcpvc%72H?w_FKvmSD(a&=S9lIGVPjX1rcpTx~Y;fPA+lf~U^Sw(Sv7 z%>@oPv*vJtiCSKMeoarsT7Gu#N6L*ZT?a=;@IE^C<{&MX4ZFdM{}#4GK(L3hT1=JC zsEtWDdOy49;?nbdy_}vy#QGBhf%1W3T=9W{1l})}e)6*JS}X`?{KE&#`i6NP+xca! zatWFva-NK0d$mVPpu+V7#lqtH_*!seH+CX=#R>PZlCuuY+1k?1niMWzs zMl*MQpWr?ekbzcHigZtgqMX)&|~xd_;SpzIY$t>iC7p ztY%$eF}N@`)wlFzQq&d-zc1ZH$@moGRo zIXF1f5`=Z2PZjgn%)SGYC~V8-da-to`Jlf9N)Z07|FRlMZd9rDMX%~|$6Tz|qyw~W zC+uw-B$6SUYm$t_6XqlVpaa6J2;MiI81P9%>~)=y4a#pS5cnT+nWj-(`(%O z(A__<0iW@cQc~XMj7y}5D}kzUw-A8zwYdSJQriXc(kJ%z_Uevv`62W~9yLvL&B|KN z*6P+>ien}P#(nn+ESGnX!vcZk@UAYx%yPVeLB7LT0BcXwE$gYrOrAN?YKU!izG%-K zEZjX*)qlxoQvhsrm2j~+k|N>i02pP!|*DCrkSLgn!7M#iJ7dY5aPfrmLr?r$Iq+Kw7cRH>{4{=E$-KI8RJqXQc5cEu-Pt zU0fP^z9HL~D7<|Pl8r&jym)0SpklV6X-aEgs7IZw&vpktBKqksFgye*nC}%ZGugLd zXIWt52qUaQVCCKWd~_xv&hEw&d$qI z2`AW#TWruh$g1deCDZ(SsE%*f_E-*6z4?$#}HQePm>0_G2cs0tVBH4a9Qf zeGQF46$&AtJ`tlx+dA(5xL&`*z${UWKt=yL5%%wwu%OzNL+ zG~8ln#mpmB7`2p0I7E#jMRlT%7-(@7Ac0uJWpdXXLVLGIUgLVx0&lRVF1>Jwd+stf zH}`0OvgXx+7XLi>@Lp`4fs%sCJEteIXaD3`U>S@gjAS&?&qPN|*>ZO|;wlqfR^g1yg00mW1jauu{yA~KPM=*1*eVjW|wt$QOJ;T z-My=KaDJ7SXk6@;A2btcor}!>qE+gkIVa0 z5C;dx^Fn2OygoyAaT)K{S^s)S>H4Tgtn7N5&m>Ue*wj=bOTSxJJQl$?NzXbCFcYJ~ z%vC8K`4w$edmOxx2>sjU!m#{;x{SIXo3SwAlJv^FtQQXZ#WwB^iLL z^3Fu+%Bj%j#~G*<9kY_CeFj@`1jQ*e`;E@^Kqf766mF36a<1w!f-!P2`T5pq_F&ed zac|ZQn}s31!0K%F?~ zukA0g(3j`6&V!WIi2Bl61ISx68_v2*=i7=nh#<9}VmYmjWcLm($JYEK?Zx1H?aNt? z3~t5Mqdp176)z9~KZ4K`4Lyu>Uh8X$mJa8CJK=A^nN7ynyFq!)1G+m*3qT3v$57I2WxCZB<%R7UNrkPHggP< zDr;CP0vAj^z$$(c*J%WOjGkYnOW5-y7N-f8a4%=7cV6)mxW2oVone=qOFN+Awg1&3 zZ8Y?nw(LZDNpjeo)WEvHxBc}`t&asVw=fzux3)z5?iJiK%~tW$D7EpDG9D-}@z8li zlWm6~EG#_w?UPVjM+Zw_Q<+Z9`x+K5mLq=6zC@d!2JyVP2yfY*3Zfx@;>|CkuU{WK ze~@<``FwtR%KJ5l+GdG-`d_4u4y#w(ZCIW;qtRPcau6CF0uSd|D43CHF`L#L#vyXU z{y|%>&BYzgH!#dgx0slGtU(J^cei zW$oW-k)}$Rt#?EdHG86r*80Px6-@W$Wmf_9qoFTCMte#A?Bqg2#=`@dJO++L>La>D z>F(1HY^LgZN;bznzOG|h@5R~wGJ_%%+zejq0g9jCI=LCBA}=5EM^34R3Iup}2c;k< zkP-wmIGCaI^rN6iJJI66AZ7~QJQ((S2?#y23aM9XS%JV?VG$OheqUab?^lq7ywkfQ(O=uzPm{J+j11WkFMx;-6OkaUZ_F}ygoRG`A6AJewF{w@z9FZ&;eFt52-HyCI5-p{~~47ndAw?fG?DaqjG34 z=r=2JDGym8OvA_c6yj_RuPD&BVT>UIi`ymzw-yGS-HY|+||(lVKP)V^O*S3f5H z3^pKb;IVTtjN-&|Ji8^Uam&Ni<*}N-%oDn$)%jgJbFD2L$ByuQ2?>@S5ggWbvTtpJ ze~;2Cy~${j)_f>(hYP~wK$KK=c|M2h1RohBgx{jg%%qHET%ZT+uo!=sQ=(`4JJZl4 zsU6LEEy{jQ@G@~_I4sm zC?Y&TJJC8t=A4gJjo3kK6kH6WJnK`_NV{c8yNi-*CL}GK^ceIr+&;Z$P!?xeSbs8& zo}m%y>n~18bPG$}*s@s4hJIhqjW}!29n!r|3Bj^&eFQ#avtPyF6&cjP9UK2c?~<|f z1iUm~sr)s&jH9A(eJ{|A49>3dmQfO;ofRjbdHL6f`hKdP$=9r~!V?V35~ z@x86B3EIULu;}hF@Mr$SAN7cdQnUG!9|47dhPgVz`UYRW#;AEt;wf?e13!;BU+^xL zD`FMhLdTq{Bf6jrZ*QsH`mw4~pnK{uy^Ci6dUt!+8FFHh7a%#m#bdQR1!cXKYapyk ze;AS>ntZT?J=76N?iDe(6M}BYy_{H(_XwiD=FIkIw(dSqJBgnOVfPNTWKD_1>Q{mLT?^3IqlDx*AZcgy1atVx%FH{P@b*HV^YgdmhSI-ybtMxvAGup((DNORk*U#!hiZa4RG8oU zg`TT#b~%5z;8AvH*P?-J6L_z%rRB!Z;=JAHSNB6VC2Jgm`|aDY%1WE-@BN-tWM^=L zYIAd365a2G_x~^#2UV2YSeZu`J`^>e(pEL~Gf%)&G~TRCzDR+#hyw_R#^3zLBImi6 z0k?V{frK06*|6x{-SL2(Ha1@0108_Y(ETJT z#jTS7VAZkpGeL3jt-f_}(NUt{UH<@%6V7qz_$d#}*46WADH)zJS~=_uxf{)GcUehY zm!@}#84`?C_p3qLi|2W5k|xW7}N?`bMHMDc+Maax$I#l;r~P-lwg&y0)XTnG?IcPnbF|dR|&!q^PAz z#Ic=nz6K5z%PB6&la2r!DuNFj7}9eQ5h?vm zNsTb7KZkw$Zh^u=n#Iwq#hc4N_d1B=hVxG}ep#ZJ^C~^~AQ=4GJda91Eex$4lEOa} z20BXC{gjb)-=41(V>G7HjrK5U5GlUNkqh%(JZg%dm^T0{-iM!geav;<7i!oj!8*uz zkAgrCUcEd2!+pK~)7bCB5JJ(NUoUDEF8EaGuxA$o^sUUcb_ON>pauocg96;)vJ9N4 zO2&L3@j>?H82_)h32vTVNi0b7l3ML5#&Vv6Ev`TF9Z&nkMW`GBCol8mJ^ihUA52$R zgfef@d$`)y_dl0XGF3WM`U5QlljCb?gZTa?Em0fv^EZ4+@}amUk9FBY7(+ z&!OWFeM4t%WqxaSxzRD!mMW}QUGoaC&;7nkE1e9TpGb%f#b{q5Ze0auqK2g699G$n zJ~IBcEGYQw)poCDmz3P&fPzYu`vUpGA?U&$plYAtRO|~Lk+<=~T<_S+Rdv^vykXZn zUQMC~E@Ls3S=jv}B628|(Rmmz&c9i2ZtNDBxs25U%AK5%riHH{hJ%k|fttbE@kI&3 z_SOT+QIHT~w^`TCn!RzMk&4|w`*??eJ@B~rad{Ju%E;lNVSU)F3jTGK;`rfeDfE`K zI};#|9&c+o6g>6k(Ad{Piy}-5UIaoL)d(3=Ly+bBWcFd^$i87Qp#P=phiNj_31tr8 zIetISAb}t5synm!TvC%Zh-rb3uFC%2`(LrAx-8VW9DUJ^X+qhUQ9?L?hFz;m!S#OK zCsduu__vAnS0ej559Epe#2 zhe(Qe91WTaT8jTPijw-wA7Y}4bZy1{hi)%bo{62{6X7g@Ez#N z{nNjiiQy2c9{o-J)qx-v z1-k6T^8vej-Szi@V*N!pG6fYsG4MOrm#l{b)~YMhx(Sc^X!a2S3wKB>D1?xcdp(xvoAJVQqjh#d z!9ADB3nV&^d`I?S@m~us(*j!VrfIkzmB2&JwOp4CB;5los}^-7f$ELG83%!e+vq3s zIvrM9g?(vlk{m(ZY1jc*R@b24;qGBGsbhsq1H=~yCr+Rz{QP?8B7AfDxNSU;nU?z_ zbE#pm@hSKC!>Cw@Xe0Jkg~+lK69slRK&*6I<%=%9&oAFF{0)o)bnI>+3uHF*LrkQs z7wL%#A3ajt3?MnCYvPAjLc_~^0IZ8UY6vq+)=BF{2qRwf-s)|_uMdg2E zOz^F&;tCoUWP?<8LBR_hJL5`cZBCaxH^))Ox>C!!1M{f|jRh&DvrG%_2Hq3H94Y7Z z#pEDrWsW9|;~hsU0l@jOzXJTp))B`2BKRNb&O)G~^q3sgNV-^y*o3=-l;Ju&4QVD zITxNN_()aNX*8ywSHblrIlPD5uOm2W=7;-WdFj|#SkJ?f{@i_ERu1a-g>tbt!cE6f zdD#EDGJBU-d1V|u$3eTpZ?S}ZMx_my=U+em{g5Mnz*Nt{b6(h|Wv0Iu7__*xDf~W! z#Tyr=&ecI*Yg@e?0eUVUhfqEIwQQCZrsnLddn;|~mW)d!C$;53KjC5q8@;q*`EfPJ zeh8dGwBk!|@1N|m8GxH9*^Dm8_fh~m(X&$xu0!NXVwQ)=xh@Sa{P6ZM)g&}j`z4Tp zfr69YM7LLmC>LdD9TLLrOhDSrr7hI%%e{q5@@QB`pA5wYQRfEQ@TtGG7KLDg3cb%T zKyRlpkd?I@QSppZZ6*+}`)0mfpL%w*nf@BcX(>I@@csI$76luY>Qyq!Z&8!4Vv^M&B-OfpUEllsviNl6nmCq02{F zWSKFGz2e75xl0^{3?4ITVLDP$6aFTcsCBe=f2A2Hylqk4#5KD^RUMjk)=LX(j=lk* znZ_vsCOl`4JrDYZ3Gm_jFeT+*0)l0{-hLILN@rD#vfe(H!0~Vz78ykc;rENpl(e-4 zpjX90C}(qdqH#K=xLssQ-rgOUA8kgAlD8tG6n=UL)@1u0RxR-myTP~P9t?#U8h6)f z{6ANt|8DI)Fd9%_!k_NO^+Vj~C+43{K|{d129=g23t8(oX54smL~Qr+5*Mb(-tpDH zXfZUD#GeEiA$O@&HjBqO>FMd-{g$__I!3url5zDMsf?1rP+M2fb{L!}6I^w&(h>}T z>u;JZH>U>GdC>=fRvhD{;}s>r=zl=kE$C-6i`6l;JGS=i{^&T6N4Mmh}C?eE&gkuycezGLkwjKXNGfd2ibse2kw5 z=6IwGv%5#Ju8!#mfvpL#yIEnB=K|@Br!M*zgRTV?OU<12AF1{GhzUQh;2(gxH#ZvC zMUN6DxTfU7zfCzn4HzaWYOFGYo<0tr2ZsF3Wl`lPE_6nuGBde_Wjy`O9G-cv~MNQ6T5}p4YLtMXO+?EgnXe?JUaI7Qi_jVEqQPMcI zR^0fxu0tKDO8DdJN zgCwk0($)|*4q_a}#xK`vvtVNT~S+xgoM zB~g(F_f?CN#q6)NMJNJ2D6=djKBUs|WBjqf{iQmL0LM~7H_!6-aJipkBxGX~oG?y|C82JdIe2AxcxnMj~+DEz-N zyI^7iC@EK$>PYIM8Qxq5FZCq>uW){^lN~H?Xky|ulTpeDdZ!QbG=IX!$)AYJM9Vq| zv5&@I|28l{0^Z}M1>Pv7+fa?@j4m(dBX?Q<-kWRCDtG;^$bVrDVKGFYK{ckbCZ3}T z)u8(0lbep6ot^Q|HxF(wmanuI{fP01$;r95wlGY=RI#pubMc}#nd?$L?O4QulL2^v zWXcMSQS}Mhe$1u*7njGtoCEU2tXx@)NSDp2#cD)KN=gx+$!N2g3nZ_gKv-U0UfrUG za1n~@bX_S;axJz^5e&gu{CvDo0~e5EfI+q9Z#+e{%iaHe&8)s&7In=VWF*)3uuDAIvi!1n2VV9<$cd%i{W4ZnR`YcSB+$y(uB64Bq^|6^+Es?j}8PGUtx#Y7{QmO9Xte{=Bg zLf^@feUuQejq{y7JtFq@8yhycKU#uNi{*(OFkkS{e@I>T0v9CB)U$ z)ymd3h&`+Ac=F-jY&wR!*bkx;5`-<6FWZjJvWO;fs=k96V_!c12HduHb8~AgnPL63 zp&&*OF_{vF)zj701?ehx`TyUcg;G;}KuFTr1Ie%__=tT=R#lZNvKQXhcU4MC%7C=F zdK@M2ECm8RXQq}GPHgf%w%>mprOE51|3a}v*9_NrNp<@T&~s@ptFNuCZ5%(D_sNVo z{G$Z=e<2&NS0L$I7H!trP69_Xht<)R+b#?(?o8RBnsZ%}K)ddLt8`PqLuM>@EJzY@ zs;3U}Y-Q3Yw(rT%7+X!Yi3G3gTl^V#N39k)cXFKj7vb4LlsGflOsvjMXl3 z@q-sNgNtZ9no&i|KVp4qzkU0rk^}^ribJL|Tjp=!!U>PP#Rq-gPLgwp$p$);S;>!r zIZ8^(#|&4-pl8Y7(StD)j1}vnqJB|Ga5ZA;eKQ!TGA(EubEiN8coD9}OnRYrzUl+kgg^UW{}Sndr>o=voYu@MELfpcQdA_IN@Rge2YVhg2e?UOZdqVo!f;Zg4 zV<&bb{zWA4I9;KiH*7zh{V#<5*HYn?K$ey{I??|E=zlv%F6!?16+G*|WbprXVAuwz z{PDXA@%`T{JhB8cHb^!YoPJDnTuitJKl)`^B3;z?yb##kuaT}MbGlQ%bpN& z@yr9JPeMtbg76$#vFg85P+jm9MEgh6PcSI~Y5K(Yb@tt63W14I$ar7K;A)_1a}%Uh z)knDfd7Q|X32|h3=20{D=T2a=m>3+bL*K6aUtc`-(_r+|Rn3r>&k6oZX=u_EG+&;* zU~=-fy}vF7<-)^*^PYXj{@)7w|BiPOWB=cCPkW%x>@yISU|cA;&Y-xrv*4O)R=HEq zZ{4GjI%qSH{-n%q(a9;m z-U+zwU7>77DFO7#N<4FU9dJ{4_t9;`@UV@C%8EC^6{l(b$rX-;{2omqCsv!oYCE$7 z+7xmJT+&Jbx92kEC-F#%Cb+J^%i`T^g|7cxYGhKD;os0JPfU!kd14J-pq%HDshp{) z!MEBezxqbkW(};HagqB+G}cyxAc8j1F2(`e*-oW!S%3O@iEphpmV3F0B^6u;(*Jyq z1?)@~1B~S!RvdO(mddx9Y6thdHx)w$`+F8DwlW+LAqFYn#N`buYXfFlgXUi@sLd`| z&9vR&9|zNObZ?ut@*x$HS>#-{28NXej5~JSy2>`EQ@fU11++}yMcG3OVP+M@E_1t+ zRc9&E_&0yVmSlk59%t7Uu1STh*<2Y&fgu`3t@`zzphCE%MEVCP7z$_gc;-=erk0l0 zg6sNsw^g=98J8u$X*i@cB5QamSSmtgx;f{;^fn>Al0uNWrC9!4fvG(q5okMA=(<&S z$uVLWyl*R?7&GVV)o`vy-H7Tow*Y2i_Ok8uc?(S8k(QrH>tj5@jU#@_gj*Eq`9Z!HfqRx(`Tlx z`V#1KxXF)1*bXJX4q$1BQN1T#PzvsAeX7_9y!gX~nyje!eo)Jx)e@@j@&~o-bnsHY zQ3QLF1m)cB)LqObJnPJd0(xHHu60Q;m9u`2$#<-TNZJls zD@W+ZJE{(u_2(sD>=k>t4BV|=Bf@3C@NX}m7_q$IW>^;(T3OiJs%hGI?3EOme(`&Q>^hY@t*1WX_l8@)o$B2p^Vi=)UvF?B=Yam-J&b9HJ92Yqp>nTcvr%iez5a8MvHaCH z7C)=bDoX@1BzLrCf@m6YY4e*9ZdXVWFLzQ3`t^d`sv)L)+1CsFVYxIG3%wyTZe;_GY_G4 zm{6|CiNCFYbD)~_n9rki6x*tJF9Ypi^0VH`T282Y*zb+%hJP!iZL}$l&mjM5^WG0+ zr@Tx$(8o%;`_1<65#YYHGKEVHCIX8h(uvi$^30aROF@i;6e1s>Z*<6uiFEcU&!+4A z0U}A~mrS7Kik^AU(E;qyj5do)W>RW2h0=#NC&NP%gwou?%sX`yPCxIj0)~p_2bktS!9B^|XzBvluOX9=|qODjy4uM|7YL|GnIe)!!syp_J-S%1tFv-bd zazx}--|lx+0wk`0I)h0R8QJ$v&A+G5NV0)j)NMMO=1nZL@GQ(?2+#_CBjDdI0E){F z1-ew+ZxH1?efk>k%#Ex;<_5|84{-HkSzLz!Lf^Er-`hcEW)verr*U1^g$5Ih&lFkl z>!Icp30-FfBAqEz-|?}5uQrdYG&9@Lxt14fHBV8S8+oy@A_!`U^^IpbDYn5F)!0sa z6*{#RFkVuOF*QN1li^2n=ZOMOT;)dDa!V?{th_HZmBj=6+o+ZVu(Rap8n|xLupV`Y zb_a)_Z$V;3Kz$yNFl{<0kZU8&N=?_D)vnPRj~S`N^gx$kHluC@)FoIxCe>+74jF1Q zF6dpNud$AnLTT#jCKp76Uk9{j>aq>U=qof#1Zh<~(uRaYEmY3tG^T)C&hhhcy+szf zJMZfCY?XjGWqm-aKlK56RZXp3bgPERmQT6e2Pl+W~Z zONM1)B#p-uVX)isua8yN(?-FuFeDL#93!FJ30Qc2i9`h$!T;^t_;DJc8-rUWm}!3tlHl}ds90Pliga?~V< z0@p^n7F_qX9Lfua93;#kB25^l(OzF6ept@gceniKXY7dkRU)Jo)q1H zu4(k|_1g zP7`Ly1t!X`RTIdhMFJPVL5ceg1_u!tkQhnopFXbJu`TCA!?uGo9SmE$I)WVlCe7&6 zhMPZ7WE_{P4E&gix@;O?yppPvo+9E!O`ve^0riJ*aCbK|l%vnV#XSVblgcS*Unlfz zw};-TQ@2ON9^O~L?o&eD@15ah*V}m&Xggq1=>0?QJ~Sdg67aVh&9D@O~>Cy%RT_x(*omD%8o1IP(LHPODn zg_{=r*+=F}7lydX)Ef<=MY!LfO1;Kju&jbhmAjiW($2x!A?k%lx@00VFeatMJ6vou zRC9pU=M=Q<3URlCMM|#k>}vd19WAOdeBz7HzLhOTy;+IPJL2_hMwPzRcN+FEFgUiT zJv{}{xEd~`)nBCJ*pe5oGfI$u>c3HM?pv#BOYJ*xwYFRqlvPD{A0~vXH;%7F} z!tTRDqHOdtB2anDJM161S*+*zkZ^eoFuh@QU;_AmyLVX&WptI+^Icv?rp zocvEgEiMsvZ@CXnP68@sWY)0k0U%C~deBqujRay4EU6tl@J>wDZ%0NoTjvp95#?N4 z`&+3=i!-$m_K1)!kOtzq`dS}+GYRu;zE`hPf7=Z=(sr(}Vi&D)2kU&jdf%4onH$VM*mW{IBb41=o3^;ILA z{7aZ;e&Ku^EPAG<-aCE8)*wP&noB=N@eY9ae=x;0n3H;gcunqEOXJs#KUpmpFirL5 zLIl&jW@vvVv6UXuNhgy_io9854|hH7U709|wwh7C)=%eSA;~qH^<^5n%#GY3$tCKs zIz;i_lLG%K@1n1}0n!7W-9NuZ-~0iP@;(-o-2{-F8K=R=B4mnu01YDEDxu9KuxQ8T zo<@bU#5bY$3kVZ+>IIA2Ek0^jOz~prrI6xk! z2xAouZ~~N7c@s0I;+kz)C34c#t=b+bavPy^07p*yM*lmI;7(Rbf1*h7Y#uif(!%wc zS8o{fpg}9pUK>*e{)4S=U}+M*W{~02v9~njxX>kYrG5!qCC{!fD7Ktv$SF|bFU zt`EGUMmLqIsa4zyE66?L_ai@+t92xVzZeJv32|V@^$5OdkIY-Pi_uy?a|W;;F;yHX z>SkhF-weZ%H07sGb|hOsnOh39*QS)9#852$c3ZCf`^Q-(lx$r=33xTHcacB55P%^` zDuCT0@q2H_ym>N8wwD@HabWZlZ6XwR{7^$0z}*EDfkzN4d_gdT-i;wT%a+T$fk5xWZ}!Vjr}ISHj0@wU=?mcKYZOJHFi2uo|9 z-hIvzU3~Qiygc$37U4oQYzOlvpApCgRdyO&T}(lF{g*M%3@U{;G5ZYMSvBd82WIZG zUaA@>@IkqVdO>{cV4Ayu;e*iq?3lsp5dw0(@;g(VZ|pzInVv&T2?Lb{r%wUNVwcab z300>EAK*zuXTl!jT_OlqMpNe{kR<410E&WDpAZ8*afWCR>TnwI(3Y_YsE7Ik`1-;~svybcg;-bb- z!Q9w6zc%~69DT+4EiXt&@aVH}Hc}oa1?Ih1`C4M}kHxtqCu8Db==29mto1G1d!Cs? zGD)ocTzVg%bU{u#r|x|acls7hKSO1E9m+IagWfMB+#*{CbkHmZlCV086IeR#E3ujW z0`<}dgw%DP&3VPpo)$Hh4~0Di2`o&|+r_8tzFgq2BBuKfe=TDU>>?(GS_LRMsOj=k+?Z}rYlt$snLpt+FSrE zdf;92KPp(gMrYVLd~RP2mq5!@&vgavUULob4X-nsp}o!^awPi-Y2{Nsd*N9h%HI46 zHHj&q_vFlz1 z+wBnZq*r0IAA;{TpmkssgfXbt@srQ>mVFCvxsY%5EpY5sK;Nw>mO9|&X=7IGtPR|* z%u+RzD$XH9#ZV8?I+D@P4l2#o1l2v-U5?tDW#C4_Av{%15g|0FFGxVAFsNyxGo?FNjWs~1;9 z(CQ|Gu6StQIUHS*Y|;e)a2hnJz;m}skV45L4VsA&C4w0Lx_pCz%xW)i9~)8v*mc}K z18+4K@40Sy?~HkSrJQ)={3o!P5;WkUl3C3*s+pB{od)A>mU%jw-Df)hoOgvN<}}+r z^X#iG(6uSMXnPLBS91sDmQmcWna!?~?j3XSig^}oW;%p)h*KfqVaEkIpO#0u!p|iG zr1|;dsqU0N07(lhCorF`%P6y4iNebCEApCHf&DTf@|ONfVQ%)V05DgtX!zzbO5)C= z#(iXye+n(o6wa~QN?2&gdI7kP(SG2*=PJXus?hqHi43n^y@!E%g!)36OBLhJbSuI}5@kSc zU@m>l>V!5o)im$izB+v`)1JWf@-!?D9T*{d*2mwWP+jbwM9SqRoy^7e77v1u`i1XCxCm)xi1|AJNMyf7+!4+td&{zWpN4Z+iOIL^s z`6r*Dr6+GXG%Ud>K1dq%%|YWaO>TYdh@Bv#gx{ zq$`AxU<0>OkLS*E|Ibiq1mc`W9eCNJfvoM?Dk|*vq*4P_G3uh?3kKi#@rcs|cL$if zf-usYmYX@$W(6U5BFmTbRFmyr)1ix&NW9Vk^J#kc1_1P*%M*{rNYRfLM%xOdrgV~s z)=Z{vTzZ;;&T@SM=x@6C0B6L-$p~A`)~2orJ8-{*c@xe4yzK4rSI%LlTL*n&@2H00 z!{9it7zZ3dMsnu*=u*Xn%x2xMtIo^o4ZHCb#uw2HHI0I-LDb6}ipF9>d2wu~8qQO` zfe1_7rWd=>ZYb9sl>h&kKGdpCU`{E};F9u{ws_WNFzyc`KwA-A@rbIRmf%&v56rm5{e z!QKy))s~2ub6gZca6%#|dwdA^0i&3WDY|#2)tf#0QXbog?o`zZ-_-CAvJ>3%tsm{`#h=6s`RgjI0t*9g0TXra zE68gYHr6r;htOt#XuCVGy!sEF9oN(JEgdWFjN$lve;V0EF}j&zYfiFGvew}qXJM1^ zAxE$p>Os(Q-VtrKNvcw0UYEAP(D?U15iD? zby3wI)mJnZOP7#!+tGCEU4TLcZu0#=q9efZ&PDeS1~9+@$sdWtblG=R^^Cp}e;$B5 ze2H>N%sNsFS)m6`TWyA+q7!oeCCaAtt<$})w8}T5A`(Ca%wdpxE01w}EOCA`=wd#? zXfRc!`CN#UUcdm0QaQbK5AZc(DTeQia_7mwuyJJwv!WzqFxYcUzHN%78rpp-&I;iE zUFYYvYy;`q?^6sruMW0bfNXqT#M;;{j0bS@#J^7C@VLeAW|jP+k~^|3Oae+>>h2bq z2)Z!eMY0C>*ue8q5+14beqTo1`Q~klxPhi(ZPA!|l1&zDL_KShbid1G0zTuhM79eT4f$=m4;R19n4ivNsW_CUQ<9{oi470Lqf)MyL9j)13682V%b%NKFfZ1GaS15; z?`!2E)pei?y{sXyX!*bkWuTS#?Pp;lLmFq_=x*P4a}efx_(Wc^NS&iuO6JW_QRpJ& zlTRsWQgD`xE;*=HTZmkHVP`nw^p? zS*enqbYyt*!n(rB*T2wZY^$)5wwEYFu-39`hOK-Vt8q2s9gE)4-9=5ACbk!fHJDYx z`LIdPWb$||S^3OZv_jO|dNV8zEdCHI-XjAgdZmi{=%Rp&G_xHOmvzakBjv{9#11*S zZR0i&XuGcO;U7iy6_cf+Lm8EzBK-x(B5m}m3re;>9l^=r>G{20ixN1^oUdY>xLthi zg%=jhP$2VP#`kPC>Hl?;AtyU!`02am*7noVUl81GczSX)tmM(h(GOtC?JvG3W8qv1 zKy*lM>G+z298x03zZM`a+}0n?+VNBX9^Pa{HSajmWGXtaGs!=S>4KtNQM|DuX$?y< zZOB2RYUqwJg%o*eI9;rk0MNFctHXT3aL#R2MzFW>4P{mPj;xgEPHkXOtQ64)0dU3S z<>A}zT3b3B8<1OUxRkNc)~4AD=x!T{LEg*GsF4Z~I4dp|1yw^Q8f5teQ^YfJhJ=FF z9yqfD%3J54VAkt$duA$LhyL5TMm@HaZ$zH48h>p_PaOa$VC2*V%{Q9|J}g|ax@OzI z_b1BtUqZMbv^F!@#)iPJRnvMF85s50dX|v3X#Yj)yF099}yDkKnNus zyLg%qHWx!g-6J~UV0j!S(;Ud$>WG`Ecw>pHTHM#DM#yuTFr7%aWqCy0J3?^lA?|El zP|>@mE>kw0jO*_k03J|C^(%^Q=J^fhO~0BRUWemG2h6_vMv#`nZpt>ma|_OJ3~h(G zsh(uJFUs~Q; zxgDcxW5QtB36FO^(!QgLJ{ahfQ=*fe+@yW?_F;J=a9=Qfc^`7)CH5p)sVbHF1X7h- zd^9fS+PB9%J4OWGJlvHe*$Sy$K_#*Ks}{XCo+65a&qFkK+rESF;QQd#VoO#~&p!?N^6liWZ_7;%b1xEkQd8Xu z0F5#rE{4$=U9@}Qtc+)h)orfSx1)WetewSrq61Evf!D617cGxX5wbM)VfQ$G{@OHZ z7hM?^&}gI|+>z(NlhUZ~fz8n~`dRe?gCRU{#y`)v`0F?CFUGjm(_TJVK7|Pw{|fC{ zZUuN@#VfVv!jf53>S-6mR%#WxIxW*-*>{$~C{@Hy=|W9S(b6)wv~Ptb|B}EbZQcVk zg6?0QxhXF*jurn240==dh=DMI2i<}o&IzOwf#;U9FQBN%W@c+6RLvr2KK2LXOFIC4&#k`!io@Nl^y0_(J zD5KjOztCW^05~L5wtThdU8;j?6OPAGtiajdAMc-pdzYJoZ$0A_`7dG zA;A7}a z(gwX*tm<*kKn)T4RawnKX%PWnHl9F6O*FVf*9rG(2aF&y;TWPI#QmlWnec-<&ZM5! zu;)vNDCY~RdUvohF1mUP_u3B3iBcdgokf5oh|OdXpCW=$-}sl(^wX#5aaVeaf82jR zY_yA52*t#Ol0fT8#ggVYFxttmmjRAV8rUr?|4{sx4?BXDxQ`BK()RM3Ya)2VzR&I+ z)#(-4zI-;9l^4s>Jy`}%D4@kTAnZ`#I4$LR`UhvQCGP`PjU(Uyp5_6z?g@*zxBK~L zYF5fHvC^ChPIjJreY3%Ab4>*@8v^5PTxW54JbUn$ou{0 zGw|s|Vql_p{eV0jeZcm7aZ3j8@*3Mh#UNSgGke`WG@WPB&}&ebqgtqWD2P6z$H}Mz z0q0>5c`hsmEO=kQy!#zI6FpYW7WykGFoTH8y8W5#4tKq6_IMIMD zxYEx8^@&~a^)&cnqk0-FgdUr+F#>?=MPa=dwtCoutwQd!M#p|AL~0ITXBB9w1b-SV zFi--7`SB((wB~*nZG+e%Pyav(Lo5asjA#$-g;=W{27OWX>x`7mrU6EOaume$Iv~3H znJ~KSrzy@pC;9ktOZTfX9@XF#opIxNpe;HQCz{cAQ;Yk4i*mW493C%1!(r>dyk95E z3Mxysd*BS1TX*lH4c-^i$1;=aN!7MW?4x-7j*JbF`mWaHAWkgIu7V;^HSV!GL7cXn zbQ>D{KO{#tluo5lMoVA0;5X`e`1+~>M;2R;^J~gI(g7D`DwMpPE3Bq)n-)u!G%9Iq zrd9*6c1CYprw*xwg83lSLWhuVhe(94hcDL8laK|oR*U{O^k?nUeCoqYKyY|#s|9nzS#E(o1 zd-ZXr9%mu9j>K*|_bao}UU91Q$w%A6>i}J}0Lx+d;R-FL7ZyBw%Rl6beS5|jK2ByE zV7=0-HK(XmgVE;5avYl6;@MKg Date: Tue, 18 Jun 2024 17:08:07 +0300 Subject: [PATCH 45/56] add line chart use case (#1322) Co-authored-by: Hadar --- .../dashboards/dashboards.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/docs/customize-pages-dashboards-and-plugins/dashboards/dashboards.md b/docs/customize-pages-dashboards-and-plugins/dashboards/dashboards.md index ec3e38d04..22ca8685f 100644 --- a/docs/customize-pages-dashboards-and-plugins/dashboards/dashboards.md +++ b/docs/customize-pages-dashboards-and-plugins/dashboards/dashboards.md @@ -98,6 +98,9 @@ For example, if the dataset includes information spanning across 2 hours and 20 Line charts display trends of `number` properties over time. When creating a line chart, you need to choose a blueprint, then choose one of its entities, and finally choose one or more of the entity's `number` properties. +:::tip Specific entity page +When creating a line chart in an [entity page](/customize-pages-dashboards-and-plugins/page/entity-page#dashboard-widgets), the chosen entity will be the entity whose page you are on. +::: The chart will display the property values over the span of (up to) **one year** in daily intervals, with the x-axis representing the time and the y-axis representing the property values. @@ -115,6 +118,16 @@ For example, here is a line chart displaying a service's resource usage over a s | `Entity` | `String` | The chosen entity | `null` | `true` | | `Properties` | `Array` | The chosen `number` property/ies to visualize | `null` | `true` | +#### Potential use cases + +Line charts can display data for any `number` property, including [aggregation](/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/aggregation-property) and [calculation](/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/calculation-property/) properties. + +Consider the following use case: +Say you have a Kubernetes `cluster` blueprint, with a related `node` blueprint representing the cluster's nodes. Each `node` has a `cost` property indicating its monthly cost. + +We can create an aggregation property on the `cluster` blueprint, which sums the `cost` properties of all related `node` entities. +Then, we can create a line chart displaying the `cost` property of the `cluster` entity over time, showing the total cost of the cluster. + ### Markdown This widget allows you to display any markdown content you wish in formatted form: From 3e1c7fb2872f138185327d9a15031e66d18a3096 Mon Sep 17 00:00:00 2001 From: Arseny Neustroev Date: Tue, 18 Jun 2024 23:06:57 +0800 Subject: [PATCH 46/56] fix: GitOps guide - domain identifier param name in the input form (#1304) Co-authored-by: hadar-co --- .../let-developers-enrich-services-using-gitops.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/guides-and-tutorials/let-developers-enrich-services-using-gitops.md b/docs/guides-and-tutorials/let-developers-enrich-services-using-gitops.md index 7942ff4ae..332ffafc6 100644 --- a/docs/guides-and-tutorials/let-developers-enrich-services-using-gitops.md +++ b/docs/guides-and-tutorials/let-developers-enrich-services-using-gitops.md @@ -504,7 +504,7 @@ enrichService: - git config --global user.email "gitRunner@git.com" - git config --global user.name "Git Runner" - SERVICE_IDENTIFIER=$(echo $PAYLOAD | jq -r '.port_context.entity') - - DOMAIN_IDENTIFIER=$(echo $PAYLOAD | jq -r '.domain') + - DOMAIN_IDENTIFIER=$(echo $PAYLOAD | jq -r '.domain.identifier') - SERVICE_TYPE=$(echo $PAYLOAD | jq -r '.type') - SERVICE_LIFECYCLE=$(echo $PAYLOAD | jq -r '.lifecycle') - git clone https://:${GITLAB_ACCESS_TOKEN}@gitlab.com/${CI_PROJECT_PATH}.git From 10093bbeabf6f452aff988b0824d15591f8e8630 Mon Sep 17 00:00:00 2001 From: hadar-co Date: Tue, 18 Jun 2024 18:10:46 +0300 Subject: [PATCH 47/56] add clarification about data history (#1323) * add clarification about data history * add clarification about data history --------- Co-authored-by: Hadar --- .../dashboards/dashboards.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/docs/customize-pages-dashboards-and-plugins/dashboards/dashboards.md b/docs/customize-pages-dashboards-and-plugins/dashboards/dashboards.md index 22ca8685f..44b537909 100644 --- a/docs/customize-pages-dashboards-and-plugins/dashboards/dashboards.md +++ b/docs/customize-pages-dashboards-and-plugins/dashboards/dashboards.md @@ -128,6 +128,11 @@ Say you have a Kubernetes `cluster` blueprint, with a related `node` blueprint r We can create an aggregation property on the `cluster` blueprint, which sums the `cost` properties of all related `node` entities. Then, we can create a line chart displaying the `cost` property of the `cluster` entity over time, showing the total cost of the cluster. +:::info Available historical data +The line chart will display data starting from the time the property was created. +Note that for aggregation (and calculation) properties, the data will be available from the time the aggregation property was created, and not the properties it is aggregating. +::: + ### Markdown This widget allows you to display any markdown content you wish in formatted form: From 30d1df1b5d1dbd0f72fa69725cecb6ee55032c24 Mon Sep 17 00:00:00 2001 From: Aidan O'Connor <156127749+aidan-port@users.noreply.github.com> Date: Tue, 18 Jun 2024 12:19:45 -0400 Subject: [PATCH 48/56] slight changes to scaffold new service instructions (#1325) --- docs/guides-and-tutorials/scaffold-a-new-service.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/guides-and-tutorials/scaffold-a-new-service.md b/docs/guides-and-tutorials/scaffold-a-new-service.md index 636696c6b..2cd327963 100644 --- a/docs/guides-and-tutorials/scaffold-a-new-service.md +++ b/docs/guides-and-tutorials/scaffold-a-new-service.md @@ -171,7 +171,7 @@ Then, fill out your workflow details:
    -The last step is customizing the action's permissions. For simplicity's sake, we will use the default settings. For more information, see the [permissions](/actions-and-automations/create-self-service-experiences/set-self-service-actions-rbac/) page. Click `Create`. +The last step is customizing the action's permissions. For simplicity's sake, we will use the default settings. For more information, see the [permissions](/actions-and-automations/create-self-service-experiences/set-self-service-actions-rbac/) page. Click `Save`. The action's frontend is now ready 🥳 @@ -215,7 +215,7 @@ If your organization uses SAML SSO, you will need to authorize your token. Follo

    -3. Now let's create the workflow file that contains our logic. Under `.github/workflows`, create a new file named `port-create-repo.yml` and use the following snippet as its content (remember to change `` on line 19 to your GitHub organization name): +3. Now let's create the workflow file that contains our logic. First, ensure that you have a `.github/workflows` directory, then create a new file named `port-create-repo.yml` and use the following snippet as its content (remember to change `` on line 22 to your GitHub organization name): :::tip The GitHub workflow example below assumes that you will use the cookiecutter template specified in line 34. If you would instead prefer to use a template from a private repository, replace line 34 in the template below with the following, ensuring to specify the GitHub org and repo name where instructed: `cookiecutterTemplate: https://oauth2:$ORG_ADMIN_TOKEN@github.com/$/$.git`. If the template GitHub repo is not within the same organization where this repo will be placed, please ensure you replace the `ORG_ADMIN_TOKEN` parameter with a token containing the same parameters used when you created the token in the previous step. From 29b032e97a86ab4394fedc5c67f2291f5b31c271 Mon Sep 17 00:00:00 2001 From: hadar-co Date: Wed, 19 Jun 2024 11:00:07 +0300 Subject: [PATCH 49/56] clarify service blueprint diff (#1327) Co-authored-by: Hadar --- .../setup-ui-for-action/user-inputs/entity.md | 2 +- .../examples/lock-and-unlock-service-in-port.md | 3 ++- docs/sso-rbac/rbac/rbac.md | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/docs/actions-and-automations/create-self-service-experiences/setup-ui-for-action/user-inputs/entity.md b/docs/actions-and-automations/create-self-service-experiences/setup-ui-for-action/user-inputs/entity.md index 7e6af942d..d7c74e030 100644 --- a/docs/actions-and-automations/create-self-service-experiences/setup-ui-for-action/user-inputs/entity.md +++ b/docs/actions-and-automations/create-self-service-experiences/setup-ui-for-action/user-inputs/entity.md @@ -11,7 +11,7 @@ import TabItem from "@theme/TabItem" # Entity -Entity is an input type used to reference existing [entities](/build-your-software-catalog/sync-data-to-catalog/sync-data-to-catalog.md#creating-entities) from the software catalog when triggering actions. +Entity is an input type used to reference existing [entities](/build-your-software-catalog/sync-data-to-catalog/sync-data-to-catalog.md#entities) from the software catalog when triggering actions. ## 💡 Common entity usage diff --git a/docs/actions-and-automations/setup-backend/github-workflow/examples/lock-and-unlock-service-in-port.md b/docs/actions-and-automations/setup-backend/github-workflow/examples/lock-and-unlock-service-in-port.md index 83ed98aae..6b0964465 100644 --- a/docs/actions-and-automations/setup-backend/github-workflow/examples/lock-and-unlock-service-in-port.md +++ b/docs/actions-and-automations/setup-backend/github-workflow/examples/lock-and-unlock-service-in-port.md @@ -18,7 +18,8 @@ In this guide, we will create a self-service action in Port that executes a GitH 2. Configure a [Slack app](https://api.slack.com/apps) that can post a message to a Slack channel. The app should have a `chat:write` bot scope under **OAuth & Permissions**. 3. A GitHub repository in which you can trigger a workflow that we will use in this guide. -Below you can find the JSON for the `Service` blueprint required for the guide: +The `service` blueprint that was created for you as part of the onboarding process will need to be extended with additional properties. Below you can find the JSON definition for the blueprint with the required properties. +You can add these properties manually in the Port UI or use the JSON below to replace the existing blueprint.
    Service blueprint (click to expand) diff --git a/docs/sso-rbac/rbac/rbac.md b/docs/sso-rbac/rbac/rbac.md index 386d88745..d293d9071 100644 --- a/docs/sso-rbac/rbac/rbac.md +++ b/docs/sso-rbac/rbac/rbac.md @@ -1,4 +1,4 @@ -# Port Roles & User managaement +# Port Roles & User management Port's RBAC mechanism makes it possible to assign permissions to specific users and teams, as well as configure custom roles tailored to the needs of the different personas in Port. From 62dbe0c998bbc6c06f63cb46ef1a092046849f3e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 19 Jun 2024 11:19:32 +0300 Subject: [PATCH 50/56] Bump @easyops-cn/docusaurus-search-local from 0.44.0 to 0.44.1 (#1326) Bumps [@easyops-cn/docusaurus-search-local](https://github.com/easyops-cn/docusaurus-search-local/tree/HEAD/packages/docusaurus-search-local) from 0.44.0 to 0.44.1. - [Release notes](https://github.com/easyops-cn/docusaurus-search-local/releases) - [Commits](https://github.com/easyops-cn/docusaurus-search-local/commits/v0.44.1/packages/docusaurus-search-local) --- updated-dependencies: - dependency-name: "@easyops-cn/docusaurus-search-local" dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: hadar-co --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index f2f4044c2..643ed0276 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15,7 +15,7 @@ "@docusaurus/plugin-ideal-image": "^3.4.0", "@docusaurus/preset-classic": "^3.4.0", "@docusaurus/theme-live-codeblock": "^3.4.0", - "@easyops-cn/docusaurus-search-local": "^0.44.0", + "@easyops-cn/docusaurus-search-local": "^0.44.1", "@mdx-js/react": "^3.0.1", "@port-labs/docusaurus-plugin-openapi-docs": "^0.0.5", "@port-labs/docusaurus-theme-openapi-docs": "^0.0.5", @@ -3076,9 +3076,9 @@ } }, "node_modules/@easyops-cn/docusaurus-search-local": { - "version": "0.44.0", - "resolved": "https://registry.npmjs.org/@easyops-cn/docusaurus-search-local/-/docusaurus-search-local-0.44.0.tgz", - "integrity": "sha512-sgLpvkRtYuEGvd4peYQW2oInI4JkcQfxo7HgEnkhcxn9kxDY5laA8DiCx9qMKAkM9cMed9e8IsLk5gBeDh8Rqw==", + "version": "0.44.1", + "resolved": "https://registry.npmjs.org/@easyops-cn/docusaurus-search-local/-/docusaurus-search-local-0.44.1.tgz", + "integrity": "sha512-AxofPmf5Vayzj1Z2XOSORwg0nu/v/uaSfEfacs4eCqazI1+LH+abdgzCxUvarFrjy+ViSj+fqoZwppx5sePY1Q==", "dependencies": { "@docusaurus/plugin-content-docs": "^2 || ^3", "@docusaurus/theme-translations": "^2 || ^3", diff --git a/package.json b/package.json index d0af416de..48c5063f0 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,7 @@ "@docusaurus/plugin-ideal-image": "^3.4.0", "@docusaurus/preset-classic": "^3.4.0", "@docusaurus/theme-live-codeblock": "^3.4.0", - "@easyops-cn/docusaurus-search-local": "^0.44.0", + "@easyops-cn/docusaurus-search-local": "^0.44.1", "@mdx-js/react": "^3.0.1", "@port-labs/docusaurus-plugin-openapi-docs": "^0.0.5", "@port-labs/docusaurus-theme-openapi-docs": "^0.0.5", From 5b31d3fc4734ebefc594c8900e9c7c8dc5fb9843 Mon Sep 17 00:00:00 2001 From: stavbernazport <145329609+stavbernazport@users.noreply.github.com> Date: Wed, 19 Jun 2024 11:34:43 +0300 Subject: [PATCH 51/56] added resolve pagerduty incidents docs (#1324) * added resolve pagerduty incidents docs * Update docs/guides-and-tutorials/resolve-pagerduty-incident.md Co-authored-by: Mor Paz * addressed comments * Update docs/guides-and-tutorials/resolve-pagerduty-incident.md Co-authored-by: Mor Paz * added comment fixes and integrations index links * Apply suggestions from code review Co-authored-by: Mor Paz --------- Co-authored-by: Mor Paz --- ...ate-slack-channel-for-reported-incident.md | 6 +- .../resolve-pagerduty-incident.md | 284 ++++++++++++++++++ docs/integrations-index.md | 3 + 3 files changed, 290 insertions(+), 3 deletions(-) create mode 100644 docs/guides-and-tutorials/resolve-pagerduty-incident.md diff --git a/docs/guides-and-tutorials/create-slack-channel-for-reported-incident.md b/docs/guides-and-tutorials/create-slack-channel-for-reported-incident.md index 2adc8bf71..17a72478d 100644 --- a/docs/guides-and-tutorials/create-slack-channel-for-reported-incident.md +++ b/docs/guides-and-tutorials/create-slack-channel-for-reported-incident.md @@ -16,7 +16,7 @@ import PortApiRegionTip from "/docs/generalTemplates/_port_region_parameter_expl ## Overview Solving incidents efficiently is a crucial part of any production-ready environment. When managing an incident, there are a few base concepts which are important to keep: -- **Real time notifications** - When an incident has been created, either by an alert or manually, it is important that a push notification will be sent the the relevant owners and stakeholders as soon as possible. This can be in the form of a Slack message, email or any other form of communication. +- **Real time notifications** - When an incident has been created, either by an alert or manually, it is important that a push notification will be sent to the relevant owners and stakeholders as soon as possible. This can be in the form of a Slack message, email or any other form of communication. - **Documentation** - When there is an ongoing incident, it is important that different personas across the organization will be aware of it. Hence, it is important to document the incident in relevant places, for example as a Port entity, a GitHub issue or a Jira issue. - **Visibility** - While troubleshooting, it is important to provide information to all relevant personas and stakeholders in the organization. An ideal place to manage an incident would be a group chat with the relevant people. @@ -321,7 +321,7 @@ Create the following automation: { "identifier": "handle_new_incident", "title": "Handle new PagerDuty incident", - "icon": "Pagerduty", + "icon": "pagerduty", "description": "Create Slack channel for incident troubleshooting, and GitHub issue for documentation", "trigger": { "type": "automation", @@ -391,8 +391,8 @@ This automation will enable faster notification and response time when handling ## Next Steps This guide can be enhanced to further meet your organization's needs. Here are some ideas you can implement: +- Add a DAY-2 `Resolve incident` Port action to the `PagerDuty incident` which resolves the GitHub issue and sends an update in the Slack channel. You can use the following [guide](https://docs.getport.io/guides-and-tutorials/resolve-pagerduty-incident). - Add a mirror property in the `PagerDuty incident` blueprint, to show the GitHub issue `Link` in the PagerDuty entity page. -- Add a DAY-2 `Resolve incident` Port action to the `PagerDuty incident` which resolves the GitHub issue and sends an update in the Slack channel. - Filter the automation tirgger to only run for `High` urgency incidents. - Add the Port service owner to the Slack channel as part of the automation. diff --git a/docs/guides-and-tutorials/resolve-pagerduty-incident.md b/docs/guides-and-tutorials/resolve-pagerduty-incident.md new file mode 100644 index 000000000..e86edcbd2 --- /dev/null +++ b/docs/guides-and-tutorials/resolve-pagerduty-incident.md @@ -0,0 +1,284 @@ +--- +sidebar_position: 13 +tags: + - Automations + - PagerDuty + - Slack + - Incident + - GitHub +--- + +import PortTooltip from "/src/components/tooltip/tooltip.jsx" +import PortApiRegionTip from "/docs/generalTemplates/_port_region_parameter_explanation_template.md" + +# Resolve PagerDuty incidents + +## Overview + +Solving incidents efficiently is a crucial part of any production-ready environment. When managing an incident, there are a few base concepts which are important to keep: +- **Real time notifications** - When an incident has been created, either by an alert or manually, it is important that a push notification will be sent to the relevant owners and stakeholders as soon as possible. This can be in the form of a Slack message, email or any other form of communication. +- **Documentation** - When there is an ongoing incident, it is important that different personas across the organization will be aware of it. Hence, it is important to document the incident in relevant places, for example as a Port entity, a GitHub issue or a Jira issue. +- **Visibility** - While troubleshooting, it is important to provide information to all relevant personas and stakeholders in the organization. An ideal place to manage an incident would be a group chat with the relevant people. + +While it is important to efficiently manage an incident as it is being addressed, it is also just as important to efficiently summarize the incident and perform cleanup. In this guide, we will be using Port's [Self-Service Actions](https://docs.getport.io/actions-and-automations/create-self-service-experiences/) capabilities to efficiently resolve and cleanup the resources related to the PagerDuty incident. + +## Prerequisites +- Complete the [Automating incident management](https://docs.getport.io/guides-and-tutorials/create-slack-channel-for-reported-incident) guide. +- User email of a member in your PagerDuty account. + + +## Data model setup +For this guide, we will be using the same data model as in the [Automating incident management](https://docs.getport.io/guides-and-tutorials/create-slack-channel-for-reported-incident) guide. + + +### Action backend +As a backend for the Port Action, create a GitHub Workflow in your repository. + +Create a workflow file with the following content: + +
    + `Resolve incident` GitHub workflow YAML + +This workflow is responsible for resolving an incident, notifying the Slack channel and closing the GitHub issue. +:::tip Update placeholders + Replace the `` placeholder with the user email from the [prerequisites](#prerequisites) section. +::: + +```yaml showLineNumbers title=".github/workflows/resolve-incident.yaml" +name: Resolve Incident In PagerDuty +on: + workflow_dispatch: + inputs: + port_payload: + required: true + description: includes blueprint, run ID, and entity identifier from Port. + +permissions: + contents: read + issues: write + +jobs: + resolve_incident: + runs-on: ubuntu-latest + env: + PD_INCIDENT_ID: ${{ fromJson(inputs.port_payload).entity.identifier }} + PD_INCIDENT_URL: ${{ fromJson(inputs.port_payload).entity.properties.url }} + PD_INCIDENT_TITLE: ${{ fromJson(inputs.port_payload).entity.title }} + PORT_INCIDENT_URL: https://app.getport.io/pagerdutyIncidentEntity?identifier=${{ fromJson(inputs.port_payload).entity.identifier }} + PORT_RUN_ID: ${{fromJson(inputs.port_payload).run_id}} + steps: + - name: Log Executing Request to Resolve Incident + uses: port-labs/port-github-action@v1 + with: + clientId: ${{ secrets.PORT_CLIENT_ID }} + clientSecret: ${{ secrets.PORT_CLIENT_SECRET }} + baseUrl: https://api.getport.io + operation: PATCH_RUN + runId: ${{ env.PORT_RUN_ID }} + logMessage: "Resloving PagerDuty incident '${{ env.PD_INCIDENT_ID }}'..." + + - name: Request to Resolve Incident + id: resolve_incident + uses: fjogeleit/http-request-action@v1 + with: + url: 'https://api.pagerduty.com/incidents' + method: 'PUT' + // highlight-next-line + customHeaders: '{"Content-Type": "application/json", "Accept": "application/vnd.pagerduty+json;version=2", "Authorization": "Token token=${{ secrets.PAGERDUTY_API_KEY }}", "From": ""}' + data: >- + { + "incidents": [ + { + "id": "${{ env.PD_INCIDENT_ID}}", + "type": "incident_reference", + "status": "resolved" + } + ] + } + - run: | + echo '${{ steps.resolve_incident.outputs.response }}' + + - name: Log Before Processing Incident Response + uses: port-labs/port-github-action@v1 + with: + clientId: ${{ secrets.PORT_CLIENT_ID }} + clientSecret: ${{ secrets.PORT_CLIENT_SECRET }} + baseUrl: https://api.getport.io + operation: PATCH_RUN + runId: ${{ env.PORT_RUN_ID }} + logMessage: "Getting incident object from response received..." + + - name: Log Before Upserting Entity + uses: port-labs/port-github-action@v1 + with: + clientId: ${{ secrets.PORT_CLIENT_ID }} + clientSecret: ${{ secrets.PORT_CLIENT_SECRET }} + baseUrl: https://api.getport.io + operation: PATCH_RUN + runId: ${{ env.PORT_RUN_ID }} + logMessage: "Reporting the updated incident back to Port...🚀" + + - name: UPSERT Entity + uses: port-labs/port-github-action@v1 + with: + identifier: "${{ fromJson(steps.resolve_incident.outputs.response).incidents[0].id }}" + title: "${{ fromJson(steps.resolve_incident.outputs.response).incidents[0].title }}" + blueprint: ${{fromJson(inputs.port_payload).blueprint}} + properties: |- + { + "status": "${{ fromJson(steps.resolve_incident.outputs.response).incidents[0].status }}", + "url": "${{ fromJson(steps.resolve_incident.outputs.response).incidents[0].self }}", + "urgency": "${{ fromJson(steps.resolve_incident.outputs.response).incidents[0].urgency }}", + "responder": "${{ fromJson(steps.resolve_incident.outputs.response).incidents[0].assignments[0].assignee.summary}}", + "escalation_policy": "${{ fromJson(steps.resolve_incident.outputs.response).incidents[0].escalation_policy.summary }}", + "created_at": "${{ fromJson(steps.resolve_incident.outputs.response).incidents[0].created_at }}", + "updated_at": "${{ fromJson(steps.resolve_incident.outputs.response).incidents[0].updated_at }}" + } + clientId: ${{ secrets.PORT_CLIENT_ID }} + clientSecret: ${{ secrets.PORT_CLIENT_SECRET }} + baseUrl: https://api.getport.io + operation: UPSERT + runId: ${{ env.PORT_RUN_ID }} + + - name: Log After Upserting Entity + uses: port-labs/port-github-action@v1 + with: + clientId: ${{ secrets.PORT_CLIENT_ID }} + clientSecret: ${{ secrets.PORT_CLIENT_SECRET }} + baseUrl: https://api.getport.io + operation: PATCH_RUN + runId: ${{ env.PORT_RUN_ID }} + logMessage: | + Entity was updated successfully ✅ + + Closing the Github issue... + + - name: Close Issue + uses: peter-evans/close-issue@v3 + with: + close-reason: Resolved + token: ${{ secrets.GITHUB_TOKEN }} + issue-number: ${{fromJson(inputs.port_payload).gh_issue_id}} + comment: Issue was resolved. Closing ✅ + + - name: Log before slack message + uses: port-labs/port-github-action@v1 + with: + clientId: ${{ secrets.PORT_CLIENT_ID }} + clientSecret: ${{ secrets.PORT_CLIENT_SECRET }} + baseUrl: https://api.getport.io + operation: PATCH_RUN + runId: ${{ env.PORT_RUN_ID }} + logMessage: | + Github issue closed successfully ✅ + + Updating the Slack channel that the incident was resolved... + + - name: Send Slack Message + uses: archive/github-actions-slack@v2.9.0 + id: send-message + with: + slack-function: send-message + slack-bot-user-oauth-access-token: ${{ secrets.BOT_USER_OAUTH_TOKEN }} + slack-channel: ${{fromJson(inputs.port_payload).slack_channel_id}} + slack-text: | + 🚀 Incident was resolved 🚀 + View incident :point_right::skin-tone-4: <${{ env.PORT_INCIDENT_URL }}|here>! + Good job everyone, thank you for your help 💪🏻 + + - name: Finished handling resolution log + uses: port-labs/port-github-action@v1 + with: + clientId: ${{ secrets.PORT_CLIENT_ID }} + clientSecret: ${{ secrets.PORT_CLIENT_SECRET }} + baseUrl: https://api.getport.io + operation: PATCH_RUN + runId: ${{ env.PORT_RUN_ID }} + logMessage: | + Incident '${{ env.PD_INCIDENT_ID }}' resolved successfully 💪🏻 +``` + + + +
    + + +Make sure you created the following secrets in your GitHub repository (If you followed the [incident automation guide](https://docs.getport.io/guides-and-tutorials/create-slack-channel-for-reported-incident) then they should all already be in place): +- `PORT_CLIENT_ID` - Your Port client ID. +- `PORT_CLIENT_SECRET` - Your Port client secret. +- `BOT_USER_OAUTH_TOKEN` - The Slack app bot token. + +## Port Action Configuration +Let's create the Port Self-service action: +1. Navigate to the `Self-service` tab in your Port organization. +2. Press `New action`. +3. Choose the `Edit JSON` option. +4. Create the action with the following JSON definition: +
    + + Port Action: Resolve Incident (click to expand) + :::tip action placeholders + Replace the following placeholders to match your environment: +- `` - your GitHub organization or user name. +- `` - your GitHub repository name. +::: + + +```json showLineNumbers +{ + "identifier": "pagerduty_resolve_incident", + "title": "Resolve Incident", + "icon": "pagerduty", + "description": "Resolve incident in pagerduty", + "trigger": { + "type": "self-service", + "operation": "DAY-2", + "userInputs": { + "properties": {}, + "required": [], + "order": [] + }, + "blueprintIdentifier": "pagerdutyIncident" + }, + "invocationMethod": { + "type": "GITHUB", + // highlight-start + "org": "", + "repo": "", + // highlight-end + "workflow": "resolve-incident.yaml", + "workflowInputs": { + "{{if (.inputs | has(\"ref\")) then \"ref\" else null end}}": "{{.inputs.\"ref\"}}", + "{{if (.inputs | has(\"from\")) then \"from\" else null end}}": "{{.inputs.\"from\"}}", + "port_payload": { + "blueprint": "{{.action.blueprint}}", + "slack_channel_id": "{{.entity.properties.slack_channel | split(\"=\") | .[-1]}}", + "gh_issue_id": "{{.entity.relations.githubIssue | split(\"-\") | .[-1]}}", + "entity": "{{.entity}}", + "run_id": "{{.run.id}}" + } + }, + "reportWorkflowStatus": true + }, + "requiredApproval": false, + "publish": true +} +``` + +
    + +### Testing the Action +Let's test our action flow: +1. Head over to your Port organization. +2. Navigate to the `Self-service` tab. +3. Find the new `Resolve Incident` action and press `Execute`. +4. Fill the PagerDuty Incident you would like to resolve and press `Execute`. +5. Go to your Slack workspace and make sure the incident channel received a new message with the resolution details. +6. Head over to your Github repository and make sure the issue was closed. +7. Navigate to your [PagerDuty Incidents](https://app.getport.io/pagerdutyIncidents) entities page. Make sure the incident's status changed to `resolved`. + +## Summary +While in the previous guide we used Port as the automation orchestrator to manage the incident flow, this action will make it easier to resolve PagerDuty incidents including cleaning up all the additional resources we created for the incident in the automated process. + +## Next Steps +- Add an Automation that will enhance the action in this guide, and will automatically trigger the incident resolution workflow, to perform automatic cleanup of incidents. diff --git a/docs/integrations-index.md b/docs/integrations-index.md index d8f6b5743..2ee3cdf87 100644 --- a/docs/integrations-index.md +++ b/docs/integrations-index.md @@ -186,6 +186,9 @@ This page contains a list of Port's available integrations, organized by the pla - [Self-service action to acknowledge a PagerDuty incident](https://docs.getport.io/actions-and-automations/setup-backend/github-workflow/examples/PagerDuty/acknowledge-incident) - [Self-service action to change a PagerDuty oncall](https://docs.getport.io/actions-and-automations/setup-backend/github-workflow/examples/PagerDuty/change-on-call-user) - [Self-service action to resolve a PagerDuty incident](https://docs.getport.io/actions-and-automations/setup-backend/github-workflow/examples/PagerDuty/resolve-incident) +- PagerDuty Incident Management + - [Automation to handle PagerDuty incidents](https://docs.getport.io/guides-and-tutorials/create-slack-channel-for-reported-incident) + - [Self-service action to resolve Pagerduty incidents](https://docs.getport.io/guides-and-tutorials/resolve-pagerduty-incidents) - including Slack channel notification and closing GitHub issue. ## Jira From a22eecd52aed38607297426223f3c0ebfe44940d Mon Sep 17 00:00:00 2001 From: hadar-co Date: Wed, 19 Jun 2024 13:32:22 +0300 Subject: [PATCH 52/56] add docs for users and teams as blueprints (#1317) * add docs for users and teams as blueprints * add docs for users and teams as blueprints * improve structure * improve structure * Fix curl command --------- Co-authored-by: Hadar --- docs/sso-rbac/rbac/rbac.md | 60 +++++++++++++++++++++++++++++++------- 1 file changed, 50 insertions(+), 10 deletions(-) diff --git a/docs/sso-rbac/rbac/rbac.md b/docs/sso-rbac/rbac/rbac.md index d293d9071..2b726e4cb 100644 --- a/docs/sso-rbac/rbac/rbac.md +++ b/docs/sso-rbac/rbac/rbac.md @@ -1,3 +1,5 @@ +import PortTooltip from "/src/components/tooltip/tooltip.jsx" + # Port Roles & User management Port's RBAC mechanism makes it possible to assign permissions to specific users and teams, as well as configure custom roles tailored to the needs of the different personas in Port. @@ -71,21 +73,19 @@ Users and teams can be managed via: In the users tab, you can: -- View all users; -- Invite new users; -- Edit users; -- Delete users; -- Etc. +- View all users. +- Invite new users. +- Edit users. +- Delete users. #### Teams tab In the teams tab, you can: -- View all teams; -- Create new teams; -- Edit teams; -- Delete teams; -- Etc. +- View all teams. +- Create new teams. +- Edit teams. +- Delete teams. :::tip Using SSO for users and teams @@ -160,3 +160,43 @@ Team dropdown selector in the entity create/edit page: :::info Okta and AzureAD integrations are only available after configuring SSO from the relevant identity provider, refer to the [Single Sign-On (SSO)](../sso-providers/) section for more details ::: + +### Users and teams as blueprints + +Port allows you to manage users and teams as blueprints. +This option is disabled by default, and can be [enabled via Port's API](/sso-rbac/rbac/#enable-the-feature). + +After enabling this option, two new blueprints will be created in your [data model](https://app.getport.io/settings/data-model) - `User` and `Team`. +These blueprints represent Port users and teams, and their data will be synced accordingly: +- When you create a user/team entity, a matching Port user/team will be created as well. +- When you delete a user/team entity, the matching Port user/team will be deleted as well. + +The syncing mechanism is bidirectional, meaning that every create/edit/delete action performed on a user/team will be reflected in the entities as well. + +#### Why manage users and teams as blueprints? + +With this powerful feature you can accomplish the following: + +1. Enrich your users and teams data by adding *properties* to these blueprints - Slack URLs, titles, profiles, or any other data. +2. Enrich your users and teams data by adding *relations* to these blueprints - for example, you can relate a user to a domain, or a team to a project. +3. As with all other blueprints, you can ingest data into your entities using an integration. For example, you can map your GitHub users into Port users via your GitHub integration configuration. + +:::info Important +The `User` and `Team` blueprints cannot be deleted or edited, and their default properties cannot be changed. +You can, however, create new properties and relations in them and edit/delete them as you wish. +::: + +#### Enable option + +To enable management of users and teams as blueprints, send a `POST` request to a designated endpoint: + +```bash +curl -L -X POST 'https://api.getport.io/v1/blueprints/system/user-and-team' \ +-H 'Authorization: ' +``` + +:::tip To obtain your bearer token: + +1. Go to your [Port application](https://app.getport.io), click on the `...` button in the top right corner, and select `Credentials`. +2. Click on the `Generate API token` button, and copy the generated token. +::: From 0dd1324de03f6294a787d1ce1477b4fa064612d5 Mon Sep 17 00:00:00 2001 From: hadar-co Date: Wed, 19 Jun 2024 17:08:56 +0300 Subject: [PATCH 53/56] add search query relation docs (#1329) * add search query relation docs * add search query relation docs --------- Co-authored-by: Hadar --- .../configure-mapping.md | 46 +++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/docs/build-your-software-catalog/customize-integrations/configure-mapping.md b/docs/build-your-software-catalog/customize-integrations/configure-mapping.md index ae717d45b..3b749032d 100644 --- a/docs/build-your-software-catalog/customize-integrations/configure-mapping.md +++ b/docs/build-your-software-catalog/customize-integrations/configure-mapping.md @@ -188,6 +188,52 @@ After ingesting all of our services and PagerDuty services, we want to connect e Now, if a `service's` **identifier** is equal to a `PagerDuty service's` **name**, that service will automatically have its on-call property filled with the relevant PagerDuty service. This is just the convention we chose for this example, but you can use a different one if you'd like. +### Mapping relations using search queries + +In the example above we map a relation using a direct reference to the related entity's `identifier`. + +Port also allows you to use a [search query rule](/search-and-query/#rules) to map relations based on a **property** of the related entity. +This is useful in cases where you don't have the identifier of the related entity, but you do have one of its properties. + +For example, consider the following scenario: +Say we have a `service` blueprint that has a relation (named `service_owner`) to a `user` blueprint. The `user` blueprint has a property named `github_username`. + +Now, we want to map the `service_owner` relation based on the `github_username` property of the `user` entity. +To achieve this, we can use the following mapping configuration: + +```yaml showLineNumbers +- kind: repository + selector: + query: 'true' + port: + entity: + mappings: + identifier: .name + title: .name + blueprint: '"service"' + relations: + #highlight-start + service_owner: + combinator: '"and"' + rules: + - property: '"github_username"' + operator: '"="' + value: .owner.login + #highlight-end +``` +Instead of directly referencing the `user` entity's `identifier`, we use a search query rule to find the `user` entity whose `github_username` property matches the `.owner.login` value returned from GitHub's API. + +When using a search query rule to map a relation, Port will query all entities of the related blueprint (in this case - `user`) and return the one/s that match the rule. + +#### Limitations + +- One or more entities can be returned by the search query rule. Note the relation's type when using this method: + - A ["single type" relation](/build-your-software-catalog/customize-integrations/configure-data-model/relate-blueprints/#bust_in_silhouette-single) expects a single entity to be returned. + - A ["many type" relation](/build-your-software-catalog/customize-integrations/configure-data-model/relate-blueprints/#-many) expects an array of entities to be returned. +- The maximum number of entities returned by the search query rule is 100. +- Mirror and calculation properties are currently not supported. +- Only the `=` operator is supported for the search query rule. + ## Create multiple entities from an array API object In some cases, an application's API returns an array of objects that you want to map to multiple entities in Port. From 403e45a2a263fd1f715f57ff77bdfe7f5210afbe Mon Sep 17 00:00:00 2001 From: hadar-co Date: Wed, 19 Jun 2024 18:30:54 +0300 Subject: [PATCH 54/56] fix guide payload to match new format (#1330) Co-authored-by: Hadar --- .../examples/delete-repository.md | 51 +++++-------------- .../scaffold-a-new-service.md | 2 +- 2 files changed, 13 insertions(+), 40 deletions(-) diff --git a/docs/actions-and-automations/setup-backend/github-workflow/examples/delete-repository.md b/docs/actions-and-automations/setup-backend/github-workflow/examples/delete-repository.md index 6fa0c7111..604540218 100644 --- a/docs/actions-and-automations/setup-backend/github-workflow/examples/delete-repository.md +++ b/docs/actions-and-automations/setup-backend/github-workflow/examples/delete-repository.md @@ -87,39 +87,12 @@ Follow these steps to get started: "repo": "", "workflow": "delete-repo.yml", "workflowInputs": { - "{{if (.inputs | has(\"ref\")) then \"ref\" else null end}}": "{{.inputs.\"ref\"}}", - "{{if (.inputs | has(\"org_name\")) then \"org_name\" else null end}}": "{{.inputs.\"org_name\"}}", - "{{if (.inputs | has(\"delete_dependents\")) then \"delete_dependents\" else null end}}": "{{.inputs.\"delete_dependents\"}}", - "port_payload": { - "action": "{{ .action.identifier[(\"service_\" | length):] }}", - "resourceType": "run", - "status": "TRIGGERED", - "trigger": "{{ .trigger | {by, origin, at} }}", - "context": { - "entity": "{{.entity.identifier}}", - "blueprint": "{{.action.blueprint}}", - "runId": "{{.run.id}}" - }, - "payload": { - "entity": "{{ (if .entity == {} then null else .entity end) }}", - "action": { - "invocationMethod": { - "type": "GITHUB", - "org": "", - "repo": "", - "workflow": "delete-repo.yml", - "omitUserInputs": false, - "omitPayload": false, - "reportWorkflowStatus": true - }, - "trigger": "{{.trigger.operation}}" - }, - "properties": { - "{{if (.inputs | has(\"org_name\")) then \"org_name\" else null end}}": "{{.inputs.\"org_name\"}}", - "{{if (.inputs | has(\"delete_dependents\")) then \"delete_dependents\" else null end}}": "{{.inputs.\"delete_dependents\"}}" - }, - "censoredProperties": "{{.action.encryptedProperties}}" - } + "org_name": "{{inputs.org_name}}", + "delete_dependents": "{{inputs.delete_dependents}}", + "port_context": { + "entity": "{{.entity.identifier}}", + "blueprint": "{{.action.blueprint}}", + "runId": "{{.run.id}}" } }, "reportWorkflowStatus": true @@ -151,7 +124,7 @@ on: required: false type: boolean default: false - port_payload: + port_context: required: true type: string jobs: @@ -165,14 +138,14 @@ jobs: clientId: ${{ secrets.PORT_CLIENT_ID }} clientSecret: ${{ secrets.PORT_CLIENT_SECRET }} operation: PATCH_RUN - runId: ${{ fromJson(inputs.port_payload).context.runId }} + runId: ${{ fromJson(inputs.port_context).runId }} logMessage: | Deleting a github repository... ⛴️ - name: Delete Repository env: GH_TOKEN: ${{ secrets.GH_TOKEN }} - REPO_NAME: ${{ fromJson(inputs.port_payload).context.entity }} + REPO_NAME: ${{ fromJson(inputs.port_context).entity }} run: | echo $GH_TOKEN HTTP_STATUS=$(curl -s -o /dev/null -w "%{http_code}" \ @@ -200,8 +173,8 @@ jobs: clientSecret: ${{ secrets.PORT_CLIENT_SECRET }} operation: DELETE delete_dependents: ${{ inputs.delete_dependents }} - identifier: ${{ fromJson(inputs.port_payload).context.entity }} - blueprint: ${{ fromJson(inputs.port_payload).context.blueprint }} + identifier: ${{ fromJson(inputs.port_context).entity }} + blueprint: ${{ fromJson(inputs.port_context).blueprint }} - name: Inform completion of deletion uses: port-labs/port-github-action@v1 @@ -209,7 +182,7 @@ jobs: clientId: ${{ secrets.PORT_CLIENT_ID }} clientSecret: ${{ secrets.PORT_CLIENT_SECRET }} operation: PATCH_RUN - runId: ${{ fromJson(inputs.port_payload).context.runId }} + runId: ${{ fromJson(inputs.port_context).runId }} logMessage: | GitHub repository deleted! ✅ diff --git a/docs/guides-and-tutorials/scaffold-a-new-service.md b/docs/guides-and-tutorials/scaffold-a-new-service.md index 2cd327963..a08e21404 100644 --- a/docs/guides-and-tutorials/scaffold-a-new-service.md +++ b/docs/guides-and-tutorials/scaffold-a-new-service.md @@ -45,7 +45,7 @@ If you **skipped** the onboarding, follow the instructions listed [here](/quicks -2. The action's basic details should look like the image below. This action has no user inputs, so when ready, click on the `Backend` tab to proceed. +2. The action's basic details should look like the image below. You can click on the `User Form` tab to see the user inputs created for the action. When ready, click on the `Backend` tab to proceed. From 4f417559878894324163be749cdb42c074d20b7e Mon Sep 17 00:00:00 2001 From: razsamuel Date: Thu, 20 Jun 2024 14:23:59 +0300 Subject: [PATCH 55/56] Add release and tags example --- ...hub_exporter_example_release_blueprint.mdx | 48 +++++++++++++++++ ...er_example_release_tag_port_app_config.mdx | 51 +++++++++++++++++++ ..._github_exporter_example_tag_blueprint.mdx | 34 +++++++++++++ .../examples/resource-mapping-examples.md | 18 +++++++ .../sync-data-to-catalog/git/github/github.md | 1 + 5 files changed, 152 insertions(+) create mode 100644 docs/build-your-software-catalog/sync-data-to-catalog/git/github/examples/example-repository-release-tag/_github_exporter_example_release_blueprint.mdx create mode 100644 docs/build-your-software-catalog/sync-data-to-catalog/git/github/examples/example-repository-release-tag/_github_exporter_example_release_tag_port_app_config.mdx create mode 100644 docs/build-your-software-catalog/sync-data-to-catalog/git/github/examples/example-repository-release-tag/_github_exporter_example_tag_blueprint.mdx diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/git/github/examples/example-repository-release-tag/_github_exporter_example_release_blueprint.mdx b/docs/build-your-software-catalog/sync-data-to-catalog/git/github/examples/example-repository-release-tag/_github_exporter_example_release_blueprint.mdx new file mode 100644 index 000000000..978003f73 --- /dev/null +++ b/docs/build-your-software-catalog/sync-data-to-catalog/git/github/examples/example-repository-release-tag/_github_exporter_example_release_blueprint.mdx @@ -0,0 +1,48 @@ +
    +Release blueprint + +```json showLineNumbers +{ + "identifier": "release", + "title": "Release", + "icon": "Github", + "schema": { + "properties": { + "release_creation_time": { + "icon": "DefaultProperty", + "type": "string", + "title": "Release creation time", + "format": "date-time" + }, + "author": { + "type": "string", + "title": "Author" + }, + "description": { + "type": "string", + "title": "Description" + } + }, + "required": [] + }, + "mirrorProperties": {}, + "calculationProperties": {}, + "aggregationProperties": {}, + "relations": { + "service": { + "title": "Service", + "target": "service", + "required": false, + "many": false + }, + "tag": { + "title": "Tag", + "target": "tag", + "required": false, + "many": false + } + } +} +``` + +
    diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/git/github/examples/example-repository-release-tag/_github_exporter_example_release_tag_port_app_config.mdx b/docs/build-your-software-catalog/sync-data-to-catalog/git/github/examples/example-repository-release-tag/_github_exporter_example_release_tag_port_app_config.mdx new file mode 100644 index 000000000..7d07993c7 --- /dev/null +++ b/docs/build-your-software-catalog/sync-data-to-catalog/git/github/examples/example-repository-release-tag/_github_exporter_example_release_tag_port_app_config.mdx @@ -0,0 +1,51 @@ +
    + + Port port-app-config.yml + +```yaml showLineNumbers +resources: + - kind: repository + selector: + query: "true" # JQ boolean query. If evaluated to false - skip syncing the object. + port: + entity: + mappings: + identifier: ".name" # The Entity identifier will be the repository name. + title: ".name" + blueprint: '"service"' + properties: + readme: file://README.md + url: .html_url + defaultBranch: .default_branch + - kind: release + selector: + query: 'true' + port: + entity: + mappings: + identifier: .release.name + title: .release.name + blueprint: '"release"' + properties: + author: .release.author.login + description: .release.body + release_creation_time: .release.created_at + relations: + tag: .release.tag_name + service: .repo.name + - kind: tag + selector: + query: 'true' + port: + entity: + mappings: + identifier: .tag.name + title: .tag.name + blueprint: '"tag"' + properties: + commit_sha: .commit.sha + relations: + service: .repo.name +``` + +
    diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/git/github/examples/example-repository-release-tag/_github_exporter_example_tag_blueprint.mdx b/docs/build-your-software-catalog/sync-data-to-catalog/git/github/examples/example-repository-release-tag/_github_exporter_example_tag_blueprint.mdx new file mode 100644 index 000000000..88467593a --- /dev/null +++ b/docs/build-your-software-catalog/sync-data-to-catalog/git/github/examples/example-repository-release-tag/_github_exporter_example_tag_blueprint.mdx @@ -0,0 +1,34 @@ +
    +Tag blueprint + +```json showLineNumbers + +{ + "identifier": "tag", + "title": "Tag", + "icon": "Github", + "schema": { + "properties": { + "commit_sha": { + "icon": "DefaultProperty", + "type": "string", + "title": "Commit sha" + } + }, + "required": [] + }, + "mirrorProperties": {}, + "calculationProperties": {}, + "aggregationProperties": {}, + "relations": { + "service": { + "title": "Service", + "target": "service", + "required": false, + "many": false + } + } +} +``` + +
    diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/git/github/examples/resource-mapping-examples.md b/docs/build-your-software-catalog/sync-data-to-catalog/git/github/examples/resource-mapping-examples.md index 855ac6fd0..c45d70571 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/git/github/examples/resource-mapping-examples.md +++ b/docs/build-your-software-catalog/sync-data-to-catalog/git/github/examples/resource-mapping-examples.md @@ -43,6 +43,10 @@ import GithubUsersBlueprint from './example-repository-admins/\_github_exporter_ import RepositoryAdminBlueprint from './example-repository-admins/\_github_export_example_repository_with_admins_relation_blueprint.mdx' import RepositoryAdminAppConfig from './example-repository-admins/\_github_exporter_example_admins_users_port_app_config.mdx' +import TagBlueprint from './example-repository-release-tag/\_github_exporter_example_tag_blueprint.mdx' +import ReleaseBlueprint from './example-repository-release-tag/\_github_exporter_example_release_blueprint.mdx' +import RepositoryTagReleaseAppConfig from './example-repository-release-tag/\_github_exporter_example_release_tag_port_app_config.mdx' + # Resource mapping examples @@ -257,6 +261,20 @@ In other cases, the GitHub API will return a `null` value for the user's email. ::: +## Mapping repositories, repository releases and tags + +In the following example you will ingest your GitHub repositories, their releases and tags to Port, you may use the following Port blueprint definitions and `port-app-config.yml`: + + + + + + + + + + + ## Mapping supported resources The above examples shows a specific use cases, but Port's GitHub app supports the ingestion of many other GitHub objects, to adapt the examples above, use the GitHub API reference to learn about the available fields for the different supported objects: diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/git/github/github.md b/docs/build-your-software-catalog/sync-data-to-catalog/git/github/github.md index 7698964a3..213a990ae 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/git/github/github.md +++ b/docs/build-your-software-catalog/sync-data-to-catalog/git/github/github.md @@ -242,6 +242,7 @@ Port's GitHub integration requires the following permissions: - Code scanning alert - Member - Membership + - Release :::note You will be prompted to confirm these permissions when first installing the App. From 198bd6856ea77f255576c8564c2a0bd0a87ebe16 Mon Sep 17 00:00:00 2001 From: razsamuel Date: Thu, 20 Jun 2024 14:29:20 +0300 Subject: [PATCH 56/56] Add to Available GitHub resources --- .../git/github/_github_exporter_supported_resources.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/git/github/_github_exporter_supported_resources.mdx b/docs/build-your-software-catalog/sync-data-to-catalog/git/github/_github_exporter_supported_resources.mdx index 8a2dc46c7..6b012e5a8 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/git/github/_github_exporter_supported_resources.mdx +++ b/docs/build-your-software-catalog/sync-data-to-catalog/git/github/_github_exporter_supported_resources.mdx @@ -13,4 +13,6 @@ - [`packages`](https://github.com/port-labs/example-github-packages) - [`branches`](https://docs.github.com/en/rest/branches/branches#get-a-branch) - [`code-scanning`](https://docs.github.com/en/rest/code-scanning/code-scanning#list-code-scanning-alerts-for-a-repository) +- [`releases`](https://docs.github.com/en/rest/releases/releases#list-releases) +- [`tags`](https://docs.github.com/en/rest/repos/repos#list-repository-tags) :::