From d72dd3c34049c066c07d12b439a3ac3e4a6644b7 Mon Sep 17 00:00:00 2001 From: Chuck Daniels Date: Tue, 17 Oct 2023 16:26:10 -0400 Subject: [PATCH] Replace loop w/distributed map in DiscoverAndQueueGranules --- .devcontainer/devcontainer.json | 2 +- app/stacks/cumulus/iam.tf | 52 + app/stacks/cumulus/main.tf | 178 +- .../collections/PSScene3Band___1.json | 2 +- .../collections/WV02_MSI_L1B___1.json | 2 +- .../collections/WV03_MSI_L1B___1.json | 2 +- .../collections/WV03_Pan_L1B___1.json | 2 +- .../collections/WV04_MSI_L1B___1.json | 2 +- .../v1/PSScene3Band___1_SmokeTest.json | 1 + .../discover-granules-workflow.asl.json | 518 ++- docs/DISCOVERY.md | 222 +- package.json | 4 +- src/lib/aws/lambda.ts | 41 +- src/lib/discovery.spec.ts | 329 +- src/lib/discovery.ts | 312 +- src/lib/logging.ts | 70 - src/lib/stdlib/arrays.spec.ts | 41 + src/lib/stdlib/arrays.ts | 72 + src/lib/stdlib/dates.spec.ts | 56 + src/lib/stdlib/dates.ts | 55 + yarn.lock | 3083 +++++++++++------ 21 files changed, 3388 insertions(+), 1658 deletions(-) delete mode 100644 src/lib/logging.ts create mode 100644 src/lib/stdlib/arrays.spec.ts create mode 100644 src/lib/stdlib/arrays.ts create mode 100644 src/lib/stdlib/dates.spec.ts create mode 100644 src/lib/stdlib/dates.ts diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index dec6ab0..b9708e0 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -25,7 +25,7 @@ "marvhen.reflow-markdown", "ms-azuretools.vscode-docker", "rvest.vs-code-prettier-eslint", - "tabnine.tabnine-vscode", + "shopify.ruby-lsp", "timonwong.shellcheck", "wholroyd.hcl", "yzhang.markdown-all-in-one" diff --git a/app/stacks/cumulus/iam.tf b/app/stacks/cumulus/iam.tf index 84584ac..05c8a4c 100644 --- a/app/stacks/cumulus/iam.tf +++ b/app/stacks/cumulus/iam.tf @@ -1,3 +1,55 @@ +# <% if !in_sandbox? then %> +data "aws_iam_policy_document" "allow_s3_access_logging" { + statement { + sid = "AllowS3AccessLogging" + effect = "Allow" + principals { + type = "Service" + identifiers = ["logging.s3.amazonaws.com"] + } + actions = [ + "s3:PutObject", + "s3:PutObjectAcl" + ] + resources = ["arn:aws:s3:::${var.system_bucket}/*"] + } +} +# <% end %> + +# Additional permissions required in order to allow Step Functions to include +# Distributed Map states. +# See https://docs.aws.amazon.com/step-functions/latest/dg/use-dist-map-orchestrate-large-scale-parallel-workloads.html#dist-map-permissions +data "aws_iam_policy_document" "allow_sfn_distributed_maps" { + statement { + effect = "Allow" + actions = [ + "states:DescribeExecution", + "states:StartExecution", + "states:StopExecution", + ] + resources = ["*"] + } +} + +# Associate permissions above with a policy +resource "aws_iam_policy" "allow_sfn_distributed_maps" { + name = "${var.prefix}-additional-step-policy" + description = "Allows Step Functions to include Distributed Map states" + policy = data.aws_iam_policy_document.allow_sfn_distributed_maps.json +} + +# Attach policy above to the role that Cumulus assigns to Step Functions, so we can +# add Distributed Map states to Step Functions. +resource "aws_iam_role_policy_attachment" "allow_sfn_distributed_maps" { + # Ideally, the role would be referenced via the Terraform resource address, but I + # cannot tell if it is not accessible to us here, or if I simply cannot determine + # the correct way to address it. The address module.cumulus.step.id doesn't work, + # so I simply grabbed the value "${var.prefix}-steprole" from the Cumulus source file. + # See https://github.com/nasa/cumulus/blob/v13.4.0/tf-modules/ingest/iam.tf#L56 + role = "${var.prefix}-steprole" + policy_arn = aws_iam_policy.allow_sfn_distributed_maps.arn +} + # temporary workaround for dashboard permissions issue data "aws_iam_role" "api_gateway_role" { depends_on = [module.cumulus] diff --git a/app/stacks/cumulus/main.tf b/app/stacks/cumulus/main.tf index 8ac8194..df67d3e 100644 --- a/app/stacks/cumulus/main.tf +++ b/app/stacks/cumulus/main.tf @@ -22,6 +22,8 @@ locals { elasticsearch_hostname = jsondecode("<%= json_output('data-persistence.elasticsearch_hostname') %>") elasticsearch_security_group_id = jsondecode("<%= json_output('data-persistence.elasticsearch_security_group_id') %>") + lambda_runtime = "nodejs16.x" + lambda_timeouts = { add_missing_file_checksums_task_timeout = 900 discover_granules_task_timeout = 900 @@ -82,24 +84,6 @@ data "archive_file" "lambda" { output_path = "${data.external.lambda_archive_exploded.result.dir}/../lambda.zip" } -# <% if !in_sandbox? then %> -data "aws_iam_policy_document" "allow_s3_access_logging" { - statement { - sid = "AllowS3AccessLogging" - effect = "Allow" - principals { - type = "Service" - identifiers = ["logging.s3.amazonaws.com"] - } - actions = [ - "s3:PutObject", - "s3:PutObjectAcl" - ] - resources = ["arn:aws:s3:::${var.system_bucket}/*"] - } -} -# <% end %> - #------------------------------------------------------------------------------- # RESOURCES #------------------------------------------------------------------------------- @@ -228,13 +212,42 @@ resource "aws_lambda_permission" "background_job_queue_watcher" { source_arn = aws_cloudwatch_event_rule.background_job_queue_watcher.arn } -resource "aws_lambda_function" "prefix_granule_ids" { - function_name = "${var.prefix}-PrefixGranuleIds" +resource "aws_lambda_function" "format_provider_paths" { + function_name = "${var.prefix}-FormatProviderPaths" filename = data.archive_file.lambda.output_path role = module.cumulus.lambda_processing_role_arn - handler = "index.prefixGranuleIdsCMAHandler" - runtime = "nodejs14.x" - timeout = lookup(local.lambda_timeouts, "discover_granules_task_timeout", 300) + handler = "index.formatProviderPathsHandler" + runtime = local.lambda_runtime + timeout = 60 + memory_size = 256 + + source_code_hash = data.archive_file.lambda.output_base64sha256 + layers = [module.cma.lambda_layer_version_arn] + + tags = local.tags + + dynamic "vpc_config" { + for_each = length(module.vpc.subnets.ids) == 0 ? [] : [1] + content { + subnet_ids = module.vpc.subnets.ids + security_group_ids = [aws_security_group.egress_only.id] + } + } + + environment { + variables = { + CUMULUS_MESSAGE_ADAPTER_DIR = "/opt/" + } + } +} + +resource "aws_lambda_function" "batch_granules" { + function_name = "${var.prefix}-BatchGranules" + filename = data.archive_file.lambda.output_path + role = module.cumulus.lambda_processing_role_arn + handler = "index.batchGranulesCMAHandler" + runtime = local.lambda_runtime + timeout = 900 memory_size = 3008 source_code_hash = data.archive_file.lambda.output_base64sha256 @@ -253,25 +266,24 @@ resource "aws_lambda_function" "prefix_granule_ids" { environment { variables = { stackName = var.prefix - GranulesTable = local.dynamo_tables.granules.name CUMULUS_MESSAGE_ADAPTER_DIR = "/opt/" } } } -resource "aws_lambda_function" "format_provider_path" { - function_name = "${var.prefix}-FormatProviderPath" +resource "aws_lambda_function" "unbatch_granules" { + function_name = "${var.prefix}-UnbatchGranules" filename = data.archive_file.lambda.output_path role = module.cumulus.lambda_processing_role_arn - handler = "index.formatProviderPathCMAHandler" - runtime = "nodejs14.x" - timeout = 300 + handler = "index.unbatchGranulesCMAHandler" + runtime = local.lambda_runtime + timeout = 900 memory_size = 3008 source_code_hash = data.archive_file.lambda.output_base64sha256 layers = [module.cma.lambda_layer_version_arn] - tags = local.tags + tags = var.tags dynamic "vpc_config" { for_each = length(module.vpc.subnets.ids) == 0 ? [] : [1] @@ -283,24 +295,25 @@ resource "aws_lambda_function" "format_provider_path" { environment { variables = { + stackName = var.prefix CUMULUS_MESSAGE_ADAPTER_DIR = "/opt/" } } } -resource "aws_lambda_function" "advance_start_date" { - function_name = "${var.prefix}-AdvanceStartDate" +resource "aws_lambda_function" "prefix_granule_ids" { + function_name = "${var.prefix}-PrefixGranuleIds" filename = data.archive_file.lambda.output_path role = module.cumulus.lambda_processing_role_arn - handler = "index.advanceStartDateCMAHandler" - runtime = "nodejs14.x" - timeout = 300 + handler = "index.prefixGranuleIdsCMAHandler" + runtime = local.lambda_runtime + timeout = 900 memory_size = 3008 source_code_hash = data.archive_file.lambda.output_base64sha256 layers = [module.cma.lambda_layer_version_arn] - tags = local.tags + tags = var.tags dynamic "vpc_config" { for_each = length(module.vpc.subnets.ids) == 0 ? [] : [1] @@ -312,6 +325,7 @@ resource "aws_lambda_function" "advance_start_date" { environment { variables = { + stackName = var.prefix CUMULUS_MESSAGE_ADAPTER_DIR = "/opt/" } } @@ -322,7 +336,7 @@ resource "aws_lambda_function" "require_cmr_files" { filename = data.archive_file.lambda.output_path role = module.cumulus.lambda_processing_role_arn handler = "index.requireCmrFilesCMAHandler" - runtime = "nodejs14.x" + runtime = local.lambda_runtime timeout = 300 memory_size = 3008 @@ -351,7 +365,7 @@ resource "aws_lambda_function" "add_ummg_checksums" { filename = data.archive_file.lambda.output_path role = module.cumulus.lambda_processing_role_arn handler = "index.addUmmgChecksumsCMAHandler" - runtime = "nodejs14.x" + runtime = local.lambda_runtime timeout = 300 memory_size = 3008 @@ -375,85 +389,6 @@ resource "aws_lambda_function" "add_ummg_checksums" { } } - -# aws_sfn_activity means AWS Step Functions Activity -resource "aws_sfn_activity" "prefix_granule_ids" { - name = "${var.prefix}-PrefixGranuleIds" -} - -module "prefix_granule_ids_service" { - source = "https://github.com/nasa/cumulus/releases/download/<%= cumulus_version %>/terraform-aws-cumulus-ecs-service.zip" - - prefix = var.prefix - name = "PrefixGranuleIds" - - cluster_arn = module.cumulus.ecs_cluster_arn - desired_count = 1 - image = local.ecs_task_image - - cpu = local.ecs_task_cpu - memory_reservation = local.ecs_task_memory_reservation - - environment = { - AWS_DEFAULT_REGION = data.aws_region.current.name - } - command = [ - "cumulus-ecs-task", - "--activityArn", - aws_sfn_activity.prefix_granule_ids.id, - "--lambdaArn", - aws_lambda_function.prefix_granule_ids.arn - ] - alarms = { - MemoryUtilizationHigh = { - comparison_operator = "GreaterThanThreshold" - evaluation_periods = 1 - metric_name = "MemoryUtilization" - statistic = "SampleCount" - threshold = 75 - } - } -} - - -resource "aws_sfn_activity" "queue_granules" { - name = "${var.prefix}-QueueGranules" -} - -module "queue_granules_service" { - source = "https://github.com/nasa/cumulus/releases/download/<%= cumulus_version %>/terraform-aws-cumulus-ecs-service.zip" - - prefix = var.prefix - name = "QueueGranules" - - cluster_arn = module.cumulus.ecs_cluster_arn - desired_count = 1 - image = local.ecs_task_image - - cpu = local.ecs_task_cpu - memory_reservation = local.ecs_task_memory_reservation - - environment = { - AWS_DEFAULT_REGION = data.aws_region.current.name - } - command = [ - "cumulus-ecs-task", - "--activityArn", - aws_sfn_activity.queue_granules.id, - "--lambdaArn", - module.cumulus.queue_granules_task.task_arn - ] - alarms = { - MemoryUtilizationHigh = { - comparison_operator = "GreaterThanThreshold" - evaluation_periods = 1 - metric_name = "MemoryUtilization" - statistic = "SampleCount" - threshold = 75 - } - } -} - #------------------------------------------------------------------------------- # MODULES #------------------------------------------------------------------------------- @@ -520,11 +455,12 @@ module "discover_granules_workflow" { state_machine_definition = templatefile("${path.module}/templates/discover-granules-workflow.asl.json", { ingest_granule_workflow_name : module.ingest_and_publish_granule_workflow.name, - format_provider_path_task_arn : aws_lambda_function.format_provider_path.arn, + format_provider_paths_task_arn : aws_lambda_function.format_provider_paths.arn, discover_granules_task_arn : module.cumulus.discover_granules_task.task_arn, - prefix_granule_ids_task_arn : aws_sfn_activity.prefix_granule_ids.id, - queue_granules_task_arn : aws_sfn_activity.queue_granules.id, - advance_start_date_task_arn : aws_lambda_function.advance_start_date.arn, + batch_granules_task_arn : aws_lambda_function.batch_granules.arn, + unbatch_granules_task_arn : aws_lambda_function.unbatch_granules.arn, + prefix_granule_ids_task_arn : aws_lambda_function.prefix_granule_ids.arn, + queue_granules_task_arn : module.cumulus.queue_granules_task.task_arn, background_job_queue_url : aws_sqs_queue.background_job_queue.id }) } diff --git a/app/stacks/cumulus/resources/collections/PSScene3Band___1.json b/app/stacks/cumulus/resources/collections/PSScene3Band___1.json index 22d5b16..043a894 100644 --- a/app/stacks/cumulus/resources/collections/PSScene3Band___1.json +++ b/app/stacks/cumulus/resources/collections/PSScene3Band___1.json @@ -15,7 +15,7 @@ } ], "meta": { - "preferredQueueBatchSize": 5, + "preferredQueueBatchSize": 1, "prefixGranuleIds": true, "granuleRecoveryWorkflow": "OrcaRecoveryWorkflow" } diff --git a/app/stacks/cumulus/resources/collections/WV02_MSI_L1B___1.json b/app/stacks/cumulus/resources/collections/WV02_MSI_L1B___1.json index 6ec3a83..b0d0d06 100644 --- a/app/stacks/cumulus/resources/collections/WV02_MSI_L1B___1.json +++ b/app/stacks/cumulus/resources/collections/WV02_MSI_L1B___1.json @@ -7,7 +7,7 @@ "sampleFileName": "WV02_20140824082814_10400100012AD900_14AUG24082814-M1BS-504548417070_01_P001-BROWSE.jpg", "url_path": "{cmrMetadata.CollectionReference.ShortName}___{cmrMetadata.CollectionReference.Version}/{dateFormat(cmrMetadata.TemporalExtent.SingleDateTime, YYYY)}/{dateFormat(cmrMetadata.TemporalExtent.SingleDateTime, DDDD)}/{cmrMetadata.GranuleUR}", "meta": { - "preferredQueueBatchSize": 5 + "preferredQueueBatchSize": 1 }, "ignoreFilesConfigForDiscovery": false, "files": [ diff --git a/app/stacks/cumulus/resources/collections/WV03_MSI_L1B___1.json b/app/stacks/cumulus/resources/collections/WV03_MSI_L1B___1.json index b439cee..1667def 100644 --- a/app/stacks/cumulus/resources/collections/WV03_MSI_L1B___1.json +++ b/app/stacks/cumulus/resources/collections/WV03_MSI_L1B___1.json @@ -7,7 +7,7 @@ "sampleFileName": "WV03_20140824082814_10400100012AD900_14AUG24082814-M1BS-504548417070_01_P001-BROWSE.jpg", "url_path": "{cmrMetadata.CollectionReference.ShortName}___{cmrMetadata.CollectionReference.Version}/{dateFormat(cmrMetadata.TemporalExtent.SingleDateTime, YYYY)}/{dateFormat(cmrMetadata.TemporalExtent.SingleDateTime, DDDD)}/{cmrMetadata.GranuleUR}", "meta": { - "preferredQueueBatchSize": 5 + "preferredQueueBatchSize": 1 }, "ignoreFilesConfigForDiscovery": false, "files": [ diff --git a/app/stacks/cumulus/resources/collections/WV03_Pan_L1B___1.json b/app/stacks/cumulus/resources/collections/WV03_Pan_L1B___1.json index 06c07ed..3c9ef03 100644 --- a/app/stacks/cumulus/resources/collections/WV03_Pan_L1B___1.json +++ b/app/stacks/cumulus/resources/collections/WV03_Pan_L1B___1.json @@ -7,7 +7,7 @@ "sampleFileName": "WV03_20140824052550_104001000109D200_14AUG24052550-P1BS-506481065090_01_P001-BROWSE.jpg", "url_path": "{cmrMetadata.CollectionReference.ShortName}___{cmrMetadata.CollectionReference.Version}/{dateFormat(cmrMetadata.TemporalExtent.SingleDateTime, YYYY)}/{dateFormat(cmrMetadata.TemporalExtent.SingleDateTime, DDDD)}/{cmrMetadata.GranuleUR}", "meta": { - "preferredQueueBatchSize": 5 + "preferredQueueBatchSize": 1 }, "ignoreFilesConfigForDiscovery": false, "files": [ diff --git a/app/stacks/cumulus/resources/collections/WV04_MSI_L1B___1.json b/app/stacks/cumulus/resources/collections/WV04_MSI_L1B___1.json index 82032ff..e4475e2 100644 --- a/app/stacks/cumulus/resources/collections/WV04_MSI_L1B___1.json +++ b/app/stacks/cumulus/resources/collections/WV04_MSI_L1B___1.json @@ -7,7 +7,7 @@ "sampleFileName": "WV04_20170504052256_f9ca790e-2502-46a6-9918-205faa15cd4c-inv_17MAY04052256-M1BS-059097041070_01_P001-BROWSE.jpg", "url_path": "{cmrMetadata.CollectionReference.ShortName}___{cmrMetadata.CollectionReference.Version}/{dateFormat(cmrMetadata.TemporalExtent.SingleDateTime, YYYY)}/{dateFormat(cmrMetadata.TemporalExtent.SingleDateTime, DDDD)}/{cmrMetadata.GranuleUR}", "meta": { - "preferredQueueBatchSize": 5 + "preferredQueueBatchSize": 1 }, "ignoreFilesConfigForDiscovery": false, "files": [ diff --git a/app/stacks/cumulus/resources/rules/PSScene3Band/v1/PSScene3Band___1_SmokeTest.json b/app/stacks/cumulus/resources/rules/PSScene3Band/v1/PSScene3Band___1_SmokeTest.json index 05ee700..1b263e3 100644 --- a/app/stacks/cumulus/resources/rules/PSScene3Band/v1/PSScene3Band___1_SmokeTest.json +++ b/app/stacks/cumulus/resources/rules/PSScene3Band/v1/PSScene3Band___1_SmokeTest.json @@ -17,6 +17,7 @@ "endDate": "2017-12-01T05:00:00.000Z", "step": "PT1H", "discoverOnly": false, + "maxBatchSize": 2, "rule": { "state": "DISABLED" } diff --git a/app/stacks/cumulus/templates/discover-granules-workflow.asl.json b/app/stacks/cumulus/templates/discover-granules-workflow.asl.json index 2d01008..01fe9d3 100644 --- a/app/stacks/cumulus/templates/discover-granules-workflow.asl.json +++ b/app/stacks/cumulus/templates/discover-granules-workflow.asl.json @@ -18,291 +18,277 @@ "StringEquals": "ENABLED" } ], - "Next": "Try" + "Next": "SelfDiscovery?" } ], "Default": "SkipWorkflow" }, - "Try": { - "Type": "Parallel", - "Branches": [ + "SelfDiscovery?": { + "Comment": "Are we discovering granules from our own bucket?", + "Type": "Choice", + "Choices": [ { - "StartAt": "SelfDiscovery?", - "States": { - "SelfDiscovery?": { - "Comment": "Are we discovering granules from our own bucket?", - "Type": "Choice", - "Choices": [ - { - "Variable": "$.meta.provider.host", - "StringEqualsPath": "$.meta.buckets.protected.name", - "Next": "UseIngestedPathFormat" - } - ], - "Default": "FormatProviderPath" - }, - "UseIngestedPathFormat": { - "Comment": "Use the ingested path format for self-discovered granules", - "Type": "Pass", - "InputPath": "$.meta.ingestedPathFormat", - "ResultPath": "$.meta.providerPathFormat", - "Next": "FormatProviderPath" - }, - "FormatProviderPath": { - "Parameters": { - "cma": { - "event.$": "$", - "ReplaceConfig": { - "MaxSize": 16384, - "Path": "$.payload", - "TargetPath": "$.payload" - }, - "task_config": { - "providerPathFormat": "{$.meta.providerPathFormat}", - "startDate": "{$.meta.startDate}", - "endDate": "{$.meta.endDate}", - "step": "{$.meta.step}", - "cumulus_message": { - "outputs": [ - { - "source": "{$}", - "destination": "{$.meta.providerPath}" + "Variable": "$.meta.provider.host", + "StringEqualsPath": "$.meta.buckets.protected.name", + "Next": "UseIngestedPathFormat" + } + ], + "Default": "FormatProviderPaths" + }, + "UseIngestedPathFormat": { + "Comment": "Use the ingested path format for self-discovered granules", + "Type": "Pass", + "InputPath": "$.meta.ingestedPathFormat", + "ResultPath": "$.meta.providerPathFormat", + "Next": "FormatProviderPaths" + }, + "FormatProviderPaths": { + "Type": "Task", + "Resource": "${format_provider_paths_task_arn}", + "Next": "DiscoverGranulesMap" + }, + "DiscoverGranulesMap": { + "Type": "Map", + "End": true, + "MaxConcurrency": 10, + "ToleratedFailurePercentage": 0, + "ItemsPath": "$", + "ItemProcessor": { + "ProcessorConfig": { + "Mode": "DISTRIBUTED", + "ExecutionType": "STANDARD" + }, + "StartAt": "Try", + "States": { + "Try": { + "Comment": "try/catch task to simplify error handling", + "Type": "Parallel", + "OutputPath": "$[0]", + "End": true, + "Catch": [ + { + "ErrorEquals": [ + "States.ALL" + ], + "Next": "HandleError", + "ResultPath": "$.exception" + } + ], + "Branches": [ + { + "StartAt": "DiscoverGranules", + "States": { + "DiscoverGranules": { + "Parameters": { + "cma": { + "event.$": "$", + "ReplaceConfig": { + "MaxSize": 0, + "Path": "$.payload", + "TargetPath": "$.payload" + }, + "task_config": { + "provider": "{$.meta.provider}", + "provider_path": "{$.meta.providerPath}", + "collection": "{$.meta.collection}", + "buckets": "{$.meta.buckets}", + "stack": "{$.meta.stack}", + "duplicateGranuleHandling": "{$.meta.collection.duplicateHandling}" } - ] - } - } - } - }, - "Type": "Task", - "Resource": "${format_provider_path_task_arn}", - "Next": "DiscoverGranules" - }, - "DiscoverGranules": { - "Parameters": { - "cma": { - "event.$": "$", - "ReplaceConfig": { - "MaxSize": 16384, - "Path": "$.payload", - "TargetPath": "$.payload" - }, - "task_config": { - "provider": "{$.meta.provider}", - "provider_path": "{$.meta.providerPath}", - "collection": "{$.meta.collection}", - "buckets": "{$.meta.buckets}", - "stack": "{$.meta.stack}", - "duplicateGranuleHandling": "{$.meta.collection.duplicateHandling}" - } - } - }, - "Type": "Task", - "Resource": "${discover_granules_task_arn}", - "Retry": [ - { - "ErrorEquals": [ - "Lambda.ServiceException", - "Lambda.AWSLambdaException", - "Lambda.SdkClientException" - ], - "IntervalSeconds": 2, - "MaxAttempts": 6, - "BackoffRate": 2 - } - ], - "Next": "PrefixGranuleIds?" - }, - "PrefixGranuleIds?": { - "Type": "Choice", - "Choices": [ - { - "And": [ - { - "Variable": "$.meta.collection.meta.prefixGranuleIds", - "IsPresent": true + } }, - { - "Variable": "$.meta.collection.meta.prefixGranuleIds", - "BooleanEquals": true - } - ], - "Next": "PrefixGranuleIds" - } - ], - "Default": "QueueGranules?" - }, - "PrefixGranuleIds": { - "Parameters": { - "cma": { - "event.$": "$", - "ReplaceConfig": { - "MaxSize": 16384, - "Path": "$.payload", - "TargetPath": "$.payload" + "Type": "Task", + "Resource": "${discover_granules_task_arn}", + "Retry": [ + { + "ErrorEquals": [ + "Lambda.ServiceException", + "Lambda.AWSLambdaException", + "Lambda.SdkClientException" + ], + "IntervalSeconds": 2, + "MaxAttempts": 6, + "BackoffRate": 2 + } + ], + "Next": "BatchGranules" }, - "task_config": { - "collection": "{$.meta.collection}" - } - } - }, - "Type": "Task", - "Resource": "${prefix_granule_ids_task_arn}", - "Retry": [ - { - "ErrorEquals": [ - "Lambda.ServiceException", - "Lambda.AWSLambdaException", - "Lambda.SdkClientException" - ], - "IntervalSeconds": 2, - "MaxAttempts": 6, - "BackoffRate": 2 - } - ], - "Next": "QueueGranules?" - }, - "QueueGranules?": { - "Type": "Choice", - "Choices": [ - { - "Or": [ - { - "Variable": "$.meta.discoverOnly", - "IsPresent": false + "BatchGranules": { + "Comment": "Splits discovered granules into batches so the batches can be sent to a Map task for concurrent queueing.", + "Parameters": { + "Comment": "cma.ReplaceConfig.MaxSize MUST be 0 to ensure payload is always written to S3 because the batching replicates the CMA payload in memory, which would otherwise run the risk of exhausting memory.", + "cma": { + "event.$": "$", + "ReplaceConfig": { + "MaxSize": 0, + "Path": "$.payload", + "TargetPath": "$.payload" + }, + "task_config": { + "maxBatchSize": "{$.meta.maxBatchSize}" + } + } }, - { - "Variable": "$.meta.discoverOnly", - "BooleanEquals": false - } - ], - "Next": "QueueGranules" - } - ], - "Default": "AdvanceStartDate" - }, - "QueueGranules": { - "Parameters": { - "cma": { - "event.$": "$", - "ReplaceConfig": { - "MaxSize": 16384, - "Path": "$.payload", - "TargetPath": "$.payload" - }, - "task_config": { - "queueUrl": "${background_job_queue_url}", - "preferredQueueBatchSize": "{$.meta.collection.meta.preferredQueueBatchSize}", - "provider": "{$.meta.provider}", - "internalBucket": "{$.meta.buckets.internal.name}", - "stackName": "{$.meta.stack}", - "granuleIngestWorkflow": "${ingest_granule_workflow_name}", - "childWorkflowMeta": {} - } - } - }, - "Type": "Task", - "Resource": "${queue_granules_task_arn}", - "Retry": [ - { - "ErrorEquals": [ - "Lambda.ServiceException", - "Lambda.AWSLambdaException", - "Lambda.SdkClientException" - ], - "IntervalSeconds": 2, - "MaxAttempts": 6, - "BackoffRate": 2 - } - ], - "Next": "AdvanceStartDate" - }, - "AdvanceStartDate": { - "Parameters": { - "cma": { - "event.$": "$", - "ReplaceConfig": { - "MaxSize": 16384, - "Path": "$.payload", - "TargetPath": "$.payload" + "Type": "Task", + "Resource": "${batch_granules_task_arn}", + "Retry": [ + { + "ErrorEquals": [ + "Lambda.ServiceException", + "Lambda.AWSLambdaException", + "Lambda.SdkClientException" + ], + "IntervalSeconds": 2, + "MaxAttempts": 6, + "BackoffRate": 2 + } + ], + "Next": "QueueGranulesMap" }, - "task_config": { - "providerPathFormat": "{$.meta.providerPathFormat}", - "startDate": "{$.meta.startDate}", - "endDate": "{$.meta.endDate}", - "step": "{$.meta.step}", - "cumulus_message": { - "outputs": [ - { - "source": "{$}", - "destination": "{$.meta.startDate}" + "QueueGranulesMap": { + "Type": "Map", + "MaxConcurrency": 10, + "ToleratedFailurePercentage": 0, + "ItemsPath": "$", + "ItemProcessor": { + "StartAt": "UnbatchGranules", + "States": { + "UnbatchGranules": { + "Parameters": { + "cma": { + "event.$": "$", + "ReplaceConfig": { + "MaxSize": 16384, + "Path": "$.payload", + "TargetPath": "$.payload" + }, + "task_config": { + "batchIndex": "{$.meta.batchIndex}" + } + } + }, + "Type": "Task", + "Resource": "${unbatch_granules_task_arn}", + "Retry": [ + { + "ErrorEquals": [ + "Lambda.ServiceException", + "Lambda.AWSLambdaException", + "Lambda.SdkClientException" + ], + "IntervalSeconds": 2, + "MaxAttempts": 6, + "BackoffRate": 2 + } + ], + "Next": "PrefixGranuleIds?" + }, + "PrefixGranuleIds?": { + "Type": "Choice", + "Choices": [ + { + "And": [ + { + "Variable": "$.meta.collection.meta.prefixGranuleIds", + "IsPresent": true + }, + { + "Variable": "$.meta.collection.meta.prefixGranuleIds", + "BooleanEquals": true + } + ], + "Next": "PrefixGranuleIds" + } + ], + "Default": "QueueGranules" + }, + "PrefixGranuleIds": { + "Parameters": { + "cma": { + "event.$": "$", + "ReplaceConfig": { + "MaxSize": 16384, + "Path": "$.payload", + "TargetPath": "$.payload" + }, + "task_config": { + "collection": "{$.meta.collection}" + } + } + }, + "Type": "Task", + "Resource": "${prefix_granule_ids_task_arn}", + "Retry": [ + { + "ErrorEquals": [ + "Lambda.ServiceException", + "Lambda.AWSLambdaException", + "Lambda.SdkClientException" + ], + "IntervalSeconds": 2, + "MaxAttempts": 6, + "BackoffRate": 2 + } + ], + "Next": "QueueGranules" + }, + "QueueGranules": { + "Parameters": { + "cma": { + "event.$": "$", + "ReplaceConfig": { + "MaxSize": 16384, + "Path": "$.payload", + "TargetPath": "$.payload" + }, + "task_config": { + "queueUrl": "${background_job_queue_url}", + "preferredQueueBatchSize": "{$.meta.collection.meta.preferredQueueBatchSize}", + "provider": "{$.meta.provider}", + "internalBucket": "{$.meta.buckets.internal.name}", + "stackName": "{$.meta.stack}", + "granuleIngestWorkflow": "${ingest_granule_workflow_name}", + "childWorkflowMeta": {} + } + } + }, + "Type": "Task", + "End": true, + "Resource": "${queue_granules_task_arn}", + "Retry": [ + { + "ErrorEquals": [ + "Lambda.ServiceException", + "Lambda.AWSLambdaException", + "Lambda.SdkClientException" + ], + "IntervalSeconds": 2, + "MaxAttempts": 6, + "BackoffRate": 2 + } + ] } - ] - } - } - } - }, - "Type": "Task", - "Resource": "${advance_start_date_task_arn}", - "Retry": [ - { - "ErrorEquals": [ - "Lambda.ServiceException", - "Lambda.AWSLambdaException", - "Lambda.SdkClientException" - ], - "IntervalSeconds": 2, - "MaxAttempts": 6, - "BackoffRate": 2 - } - ], - "Next": "DiscoverMoreGranules?" - }, - "DiscoverMoreGranules?": { - "Comment": "If the start date is updated, attempt further discovery", - "Type": "Choice", - "Choices": [ - { - "And": [ - { - "Variable": "$.meta.startDate", - "IsPresent": true + } }, - { - "Variable": "$.meta.startDate", - "IsString": true - } - ], - "Next": "FormatProviderPath" + "Next": "Success" + }, + "Success": { + "Type": "Succeed" + } } - ], - "Default": "Finish" - }, - "Finish": { - "Type": "Pass", - "End": true - } + } + ] + }, + "HandleError": { + "Type": "Fail", + "Cause": "Workflow failed" } } - ], - "Catch": [ - { - "ErrorEquals": [ - "States.ALL" - ], - "Next": "Failed", - "ResultPath": "$.exception" - } - ], - "OutputPath": "$[0]", - "End": true + } }, "SkipWorkflow": { "Type": "Pass", "End": true - }, - "Failed": { - "Type": "Fail", - "Cause": "Workflow failed" } } } diff --git a/docs/DISCOVERY.md b/docs/DISCOVERY.md index 6f0c905..ccc6b68 100644 --- a/docs/DISCOVERY.md +++ b/docs/DISCOVERY.md @@ -1,5 +1,18 @@ # Scalable Granule Discovery +Scalable Granule Discovery is our solution for overcoming the inherent +scalability limits in Cumulus's out-of-box implementation of granule discovery +and queueing. + +- [Motivation](#motivation) +- [Problem Illustration](#problem-illustration) +- [Original Solution (Limited Scalability)](#original-solution-limited-scalability) + - [Discovery Chunking](#discovery-chunking) + - [Implementation](#implementation) + - [Caveats](#caveats) +- [Improved Solution (Unlimited Scalability)](#improved-solution-unlimited-scalability) +- [Relevant Source Code](#relevant-source-code) + ## Motivation Out of the box, **Cumulus inadvertenly limits the volume of files that can be @@ -22,7 +35,7 @@ While these problems are generally unlikely to occur in the course of forward processing, they are very likely to occur during historical processing of large data sets. -## Illustration +## Problem Illustration To illustrate the problem, suppose we have granule files in an S3 Bucket named `planet-bucket`, and that the following is a sample of these files, showing the @@ -101,7 +114,13 @@ issue, but for larger collections, attempting to list _all_ files in the collection in memory at once will cause an "out of memory" error (or possibly cause a timeout, while queuing messages for granule ingestion/publication). -## Solution +## Original Solution (Limited Scalability) + +> **UPDATE:** This solution has been superceded by the solution described in the +following section, but its description remains here for those interested in +understanding the history of our scalability journey. + +### Discovery Chunking Although, for large enough collections, we cannot successfully discover _all_ granules in a collection in a _single_ discovery step, we can divide the files @@ -121,6 +140,8 @@ in a smaller list of files during discovery. However, for large collections, the manual effort required to discover each group of granules would be laborious, pains-taking, and error-prone. +### Implementation + Therefore, we have implemented a relatively simple solution that _automates_ both the creation of more precise `"meta.providerPath"` values (as described above), as well as the advancing of these values over sequential date ranges. @@ -133,10 +154,14 @@ properties within a rule's `"meta"` section (see farther below for an explanation of how they're used): - `"providerPathFormat"`: a date format used in combination with `"startDate"` - to dynamically generate a value for `"providerPath"` (this format must adhere - to the [Day.js Format specification]) + to dynamically generate a value for `"providerPath"`. This format must adhere + to the [date-fns format specification]. Note also that both of the [date-fns + format options] `useAdditionalWeekYearTokens` and + `useAdditionalDayOfYearTokens` are set to `true` to allow the use of the + tokens `YY`, `YYYY`, `D` and `DD`. - `"startDate"`: the UTC start date for discovery, in [ISO 8601] format -- `"endDate"` (optional): the UTC end date for discovery, also in ISO 8601 format +- `"endDate"` (optional): the UTC end date for discovery, also in ISO 8601 + format - `"step"` (optional): an [ISO 8601 Duration] to limit the number of granules discovered at once @@ -151,9 +176,9 @@ follows: 1. If `"step"` is specified, generate a new value for `"startDate"` by adding `"step"` to the current `"startDate"`. Otherwise, set the new `"startDate"` to the `"endDate"`. -1. If the new `"startDate"` is less than the `"endDate"`, go to step 2; - otherwise end the workflow. Note that the end date must be _strictly_ less - than the end date because the end date is _excluded_ from the range for +1. If the new `"startDate"` is less than the `"endDate"`, go to step 2. + Otherwise, end the workflow. Note that the start date must be _strictly_ + less than the end date because the end date is _excluded_ from the range for discovery (akin to how a `range` in Python _excludes_ the end value of the range). @@ -189,24 +214,193 @@ changes will perform the following steps: 1. Add 1 month (a duration of `"P1M"` specified by `"step"`) to `"startDate"` to obtain a new `"startDate"` value of `"2016-03"` (more specifically, `"2016-03-01T00:00:00Z"`). -1. ...and so on, until `"startDate"` reaches or exceeds `"endDate"`. +1. ...and so on, until `"startDate"` reaches or exceeds `"endDate"` (the current + date in this case, since `"endDate"` is not explicitly specified above). In other words, with the `"meta"` changes above, we can ingest _all_ of the granules in the collection, one month at a time, in a single execution of the `DiscoverAndQueueGranules` workflow, without running out of memory or time (assuming we can do so within a year, the maximum timeout for a Step Function). +### Caveats + +While the solution described above serves us much better than without it, +we ran into the following problems: + +1. Some collections capture enough granules within the timeframe of a single + month to still cause either the discover or queue step to either run out of + memory or time. However, this was seemingly easy to fix: we shrunk the step + size to 1 day, rather than 1 month. + +1. Unfortunately, the fix for the first problem, led us to a second problem: + reaching the AWS quota on state transitions within Step Function executions. + + AWS limits us to 25,000 state transitions per execution. This might seem to + be hard to reach, but some back-of-the-napkin math shows that given a Step + Function that produces 20 state transitions when discovering and queueing a + single day's worth of granules (i.e., using a `"step"` value of `"P1D"` + [1 day], rather than `"P1M"` [1 month]) means that we'll hit that limit prior + to processing 3 1/2 years of data: + + ```plain + 25,000 transitions / 20 transitions per day / 365 days per year ~= 3.4 years + ``` + +To address the limitation on the state transitions, this solution forced us to +create multiple Cumulus rules per collection. Rather than creating rules +spanning 3 years (to stay well enough under the ~3.4-year limit), we chose to +create 1 rule per year per collection for slightly more convenient rule +management. While this is still far more convenient than the effort required +without this solution, it is still not ideal for at least the following reasons: + +- We cannot ingest an entire collection in a single go. When ingesting a + collection spanning many years, we are forced to trigger ingestion 1 year at a + time, which not only adds to the manual effort, it also often leads to + lengthier overall time for ingesting an entire collection due to time often + lost overnight, from dead time occurring between the end of the ingestion of a + particular year of data and the start of the ingestion of the next year of + data whenever somebody starts the next work day. +- We end up with a proliferation of rules. For example, if we have 10 + collections with an average span of 10 years each, we end up with 100 rules. + +The ideal solution would allow us to define 1 rule per collection, regardless of +how many years a collection covers. + +## Improved Solution (Unlimited Scalability) + +With the +[AWS announcement of the availability of a distributed map for Step Functions] +in December 2022, it is now possible to achieve our ideal solution for +discovering and ingesting an entire collection through a single rule. This is +possible because the state transitions of a _distributed map_ state do _not_ +count toward the quota of the main step function. + +Therefore, our current solution replaces the discovery looping (from our +previous solution) with a distributed map state. In effect, this means that +instead of sequentially discovering each group of granules for each day in the +temporal range of a collection, each day of granules are discovered +_concurrently_ (with a configurable concurrency limit), with the state +transitions for _each_ day counted independently (i.e., each gets a separate +quota, thus handily avoiding reaching the limit). + +In addition, a second (inline, not distributed) map state is included for +further dividing discovered granules for each day into smaller batches before +being queued. This produces further concurrency, as each batch of granules is +queued concurrently (again, with a configurable concurrency limit). + +The following state diagram depicts the primary logic of the +`DiscoverAndQueueGranules` step function encoded in +`app/stacks/cumulus/templates/discover-granules-workflow.asl.json` (excluding +minor details specific to this project): + +```mermaid +stateDiagram-v2 + state distributed_map_fork <> + state distributed_map_join <> + state inline_map_fork_1 <> + state inline_map_join_1 <> + state inline_map_fork_N <> + state inline_map_join_N <> + + [*] --> FormatProviderPaths + FormatProviderPaths --> distributed_map_fork : [ providerPath_1, ..., providerPath_N ] + distributed_map_fork --> DiscoverGranules_1 : providerPath_1 + DiscoverGranules_1 --> BatchGranules_1 : [ granules_1 ] + BatchGranules_1 --> inline_map_fork_1 : batches = [ [ granules_1.1 ], ..., [ granules_1.N ] ] + inline_map_fork_1 --> UnbatchGranules_1.1 : index = 0, batches = [...] + UnbatchGranules_1.1 --> QueueGranules_1.1 : [ granules_1.1 ] + QueueGranules_1.1 --> inline_map_join_1 + inline_map_fork_1 --> UnbatchGranules_1.M : index = M-1, batches = [...] + UnbatchGranules_1.M --> QueueGranules_1.M : [ granules_1.M ] + QueueGranules_1.M --> inline_map_join_1 + distributed_map_fork --> DiscoverGranules_N : providerPath_N + DiscoverGranules_N --> BatchGranules_N : [ granules_N ] + BatchGranules_N --> inline_map_fork_N : batches = [ [ granules_N.1 ], ..., [ granules_N.M ] ] + inline_map_fork_N --> UnbatchGranules_N.1 : index = 0, batches = [...] + UnbatchGranules_N.1 --> QueueGranules_N.1 : [ granules_N.1 ] + QueueGranules_N.1 --> inline_map_join_N + inline_map_fork_N --> UnbatchGranules_N.M : index = M-1, batches = [...] + UnbatchGranules_N.M --> QueueGranules_N.M : [ granules_N.M ] + QueueGranules_N.M --> inline_map_join_N + + inline_map_join_1 --> distributed_map_join + inline_map_join_N --> distributed_map_join + distributed_map_join --> [*] +``` + +The logic is as follows: + +1. `FormatProviderPaths` produces _N_ provider paths (S3 key prefixes), one for + each day (resolution) of the temporal range of the collection being processed + by the rule that triggered the workflow. The temporal resolution and range + are configured in the rule definition. (NOTE: a temporal resolution of 1 + day, "P1D", is strongly recommended, not only to maximize concurrency, but + also to minimize the potential for crashing the `DiscoverGranules` Lambda + function.) +1. A _distributed map_ state _concurrently_ discovers granules for each provider + path (maximum concurrency is configurable, and handled automatically by AWS), + represented by `DiscoverGranules_1` through `DiscoverGranules_N`, which are + invocations of the standard Cumulus `DiscoverGranules` Lambda function. +1. For each `DiscoverGranules` (1..._N_), a custom `BatchGranules` Lambda + function splits the discovered granules into _M_ batches. The maximum batch + size is configurable in the rule definition, defaulting to 1,000. +1. An _inline map_ state _concurrently_ "unbatches" a distinct batch of granules + via a custom `UnbatchGranules` Lambda function. +1. For each `UnbatchGranules` (1..._M_), the standard Cumulus `QueueGranules` + Lambda function queues a distinct batch of granules. + +The most important aspect of this logic is the _distributed map_ state that +concurrently discovers a timespan (1 day, ideally) of the collection's temporal +range, because the distributed map state is what allows us to avoid reaching +the event transition quota. + +The splitting of each day of granules into even smaller batches is not necessary +for avoiding the event transition quota, and strictly speaking, isn't at all +necessary. However, it does potentially further increase concurrency, but more +importantly, it accounts for outliers, where there are unusually large numbers +of granules for a particular day. In such cases, it is possible to crash the +`QueueGranules` Lambda function. Alternatively, to avoid such crashes, the +`QueueGranules` Lambda function can be run instead as an ECS task, but that's a +heavier approach, and it doesn't allow for concurrency (in the absence of a map +state). + +This improved solution adds only 1 new "meta" property to rules, but for +completeness, here is the entire list of properties in a rule's `"meta"` block +used by this algorithm: + +- `"providerPathFormat"`: see previous section +- `"startDate"`: see previous section +- `"endDate"` (optional): see previous section +- `"step"` (optional): see previous section +- `"maxBatchSize"` (optional): maximum number of granules (default: 1,000) + within each batch of granules produced by the `BatchGranules` Lambda function. + + The `BatchGranules` function divides the number of discovered granules by the + maximum batch size to determine the number of batches to produce, then evenly + distributes the granules across the batches. + + For example, if there are 1,001 granules and the maximum batch size is 1,000, + there must be 2 batches. However, instead of creating a batch of 1,000 + granules and another batch of 1 granule, the function would produce a batch of + 501 granules and another batch of 500 granules to optimize throughput. + +## Relevant Source Code + The relevant source code files are as follows: - `app/stacks/cumulus/templates/discover-granules-workflow.asl.json`: template file defining the Step Function that implements this algorithm - `app/stacks/cumulus/main.tf`: contains `module "discover_granules_workflow"` that references the Step Function template file above -- `src/lib/discovery.ts`: contains the Lambda Functions that implement the logic - to generate the `"providerPath"` and advance the `"startDate"` - -[Day.js Format specification]: - https://day.js.org/docs/en/display/format +- `src/lib/discovery.ts`: contains the Lambda functions that implement the logic + for generating provider paths, batching granules, and unbatching granules + +[AWS announcement of the availability of a distributed map for Step Functions]: + https://aws.amazon.com/blogs/aws/step-functions-distributed-map-a-serverless-solution-for-large-scale-parallel-data-processing/ +[date-fns format specification]: + https://date-fns.org/docs/format +[date-fns format options]: + https://date-fns.org/docs/format#arguments [ISO 8601]: https://en.wikipedia.org/wiki/ISO_8601 [ISO 8601 Duration]: diff --git a/package.json b/package.json index b360f1a..beb16bb 100644 --- a/package.json +++ b/package.json @@ -34,7 +34,7 @@ "check-integration-tests": "run-s check-integration-test:*", "diff-integration-tests": "mkdir -p diff && rm -rf diff/test && cp -r test diff/test && rm -rf diff/test/test-*/.git && cd diff && git init --quiet && git add -A && git commit --quiet --no-verify --allow-empty -m 'WIP' && echo '\\n\\nCommitted most recent integration test output in the \"diff\" directory. Review the changes with \"cd diff && git diff HEAD\" or your preferred git diff viewer.'", "watch:build": "tsc -p tsconfig.json -w", - "watch:test": "nyc --silent ava --watch", + "watch:test": "nyc --silent ava --watch --verbose", "cov": "run-s build test:unit cov:html cov:lcov && open-cli coverage/index.html", "cov:html": "nyc report --reporter=html", "cov:lcov": "nyc report --reporter=lcov", @@ -120,7 +120,7 @@ "README.md" ], "ava": { - "failFast": true, + "failFast": false, "timeout": "60s", "typescript": { "rewritePaths": { diff --git a/src/lib/aws/lambda.ts b/src/lib/aws/lambda.ts index eaaa1b7..2b2e1f2 100644 --- a/src/lib/aws/lambda.ts +++ b/src/lib/aws/lambda.ts @@ -4,6 +4,7 @@ import * as L from 'aws-lambda'; import * as E from 'fp-ts/Either'; import { pipe } from 'fp-ts/function'; import * as t from 'io-ts'; +import * as fp from 'lodash/fp'; import { safeDecodeTo } from '../io'; @@ -30,7 +31,7 @@ export type DecodedEventHandler, B> = { * } * * // Export as handler for AWS Lambda Function - * export handler = mkAsyncHandler(DecodedEvent)(handleDecodedEvent); + * export handler = pipe(handleDecodedEvent, asyncHandlerFor(DecodedEvent)); * * @param codec - Codec for decoding an encoded event * @returns a function that accepts a DecodedEventHandler and returns an async AWS @@ -42,7 +43,11 @@ export const asyncHandlerFor = handler: DecodedEventHandler ): AsyncHandler => async (event: unknown) => - await pipe(event, safeDecodeTo(codec), E.match(Promise.reject, handler)); + await pipe( + event, + safeDecodeTo(codec), + E.match((e) => Promise.reject(e), handler) + ); /** * Convenience function for wrapping a "vanilla" async AWS Lambda Function handler @@ -69,7 +74,7 @@ export const asyncHandlerFor = * } * * // Import this module - * import * as cma from './cma'; + * import * as L from './aws/lambda'; * * // Define event type based upon task_config in state machine definition * type Event = { @@ -88,13 +93,35 @@ export const asyncHandlerFor = * } * * // Export wrapped handler to configure as the AWS Lambda Function handler - * export const handler = CMA.asyncHandler(internalHandler); + * export const handler = L.cmaAsyncHandler(internalHandler); * * @param handler - an async AWS Lambda Function handler * @returns an async AWS Lambda Function handler that wraps the specified "vanilla" * handler for use with the Cumulus Message Adapter (CMA) */ export const cmaAsyncHandler = - (handler: AsyncHandler) => - async (event: CMAEvent, context: L.Context): Promise => - await CMA.runCumulusTask(handler, event, context); + (handler: AsyncHandler>) => + async ( + event: CMAEvent, + context: L.Context + ): Promise => { + // eslint-disable-next-line functional/no-let + let handlerResult: B | ReadonlyArray | undefined = undefined; + + const handlerWrapper = async (event: A, context: L.Context) => + // Capture the original result returned by the handler so we can inspect it after + // CMA.runCumulusTask returns to see whether or not the handler produced an array. + (handlerResult = await handler(event, context)); + const result = await CMA.runCumulusTask(handlerWrapper, event, context); + + // If the handler produced an array, that means we want to also return an array + // from this function. The resulting array is of the same length as the array + // produced by the handler, each element being a copy of the CMA result, along with + // a 0-based meta.batchIndex value corresponding to the item's index within the + // array. This is so that a corresponding "unbatch" handler can select individual + // batches for use with a Map state for parallelizing batch processing. + + return Array.isArray(handlerResult) + ? Array.from(handlerResult, (_, i) => fp.set(['meta', 'batchIndex'], i, result)) + : result; + }; diff --git a/src/lib/discovery.spec.ts b/src/lib/discovery.spec.ts index f927271..3dcea4b 100644 --- a/src/lib/discovery.spec.ts +++ b/src/lib/discovery.spec.ts @@ -1,3 +1,4 @@ +/* eslint-disable functional/no-return-void */ import test, { ExecutionContext } from 'ava'; import * as duration from 'duration-fns'; import * as E from 'fp-ts/Either'; @@ -6,11 +7,11 @@ import { flow, pipe } from 'fp-ts/function'; import { DecodedEventHandler } from './aws/lambda'; import { - advanceStartDate, - formatProviderPath, + batchGranules, + formatProviderPaths, + FormatProviderPathsInput, prefixGranuleIds, PrefixGranuleIdsInput, - ProviderPathInput, } from './discovery'; import * as PR from './io/PathReporter'; @@ -23,7 +24,7 @@ const shouldFailToDecode = test.macro({ `ProviderPathInput should fail to decode ${JSON.stringify(input)}`, exec: (t: ExecutionContext, input, paths: readonly (readonly string[])[]) => pipe( - ProviderPathInput.decode(input), + FormatProviderPathsInput.decode(input), E.match( (errors) => { const messages = PR.failure(errors); @@ -45,61 +46,61 @@ const shouldFailToDecode = test.macro({ test( shouldFailToDecode, { - config: { + meta: { providerPathFormat: 'planet/PSScene3Band-yyyyMM', startDate: '2018-08', }, }, - [['config', 'providerPathFormat']] + [['meta', 'providerPathFormat']] ); test( shouldFailToDecode, { - config: { + meta: { providerPathFormat: "'planet/PSScene3Band-'yyyyMM", startDate: 'hello', }, }, - [['config', 'startDate']] + [['meta', 'startDate']] ); test( shouldFailToDecode, { - config: { + meta: { providerPathFormat: 'planet/PSScene3Band-yyyyMM', startDate: 'hello', }, }, [ - ['config', 'providerPathFormat'], - ['config', 'startDate'], + ['meta', 'providerPathFormat'], + ['meta', 'startDate'], ] ); test( shouldFailToDecode, { - config: { + meta: { providerPathFormat: "'planet/PSScene3Band-'yyyyMM", startDate: '202101', endDate: 'never', }, }, - [['config', 'endDate']] + [['meta', 'endDate']] ); test( shouldFailToDecode, { - config: { + meta: { providerPathFormat: "'planet/PSScene3Band-'yyyyMM", startDate: '202101', step: 'none', }, }, - [['config', 'step']] + [['meta', 'step']] ); //------------------------------------------------------------------------------ @@ -107,10 +108,11 @@ test( //------------------------------------------------------------------------------ const shouldDecode = test.macro({ - title: (_, input) => `ProviderPathInput should decode ${JSON.stringify(input)}`, + title: (_, input) => + `FormatProviderPathsInput should decode ${JSON.stringify(input)}`, exec: (t: ExecutionContext, input: unknown, expected: unknown) => pipe( - ProviderPathInput.decode(input), + FormatProviderPathsInput.decode(input), E.match( (errors) => t.fail(PR.failure(errors).join('\n')), (actual) => t.deepEqual(actual, expected) @@ -121,13 +123,13 @@ const shouldDecode = test.macro({ test( shouldDecode, { - config: { + meta: { providerPathFormat: "'planet/PSScene3Band-'yyyyMM", startDate: '2018-08', }, }, { - config: { + meta: { providerPathFormat: "'planet/PSScene3Band-'yyyyMM", startDate: new Date('2018-08'), endDate: O.none, @@ -139,14 +141,14 @@ test( test( shouldDecode, { - config: { + meta: { extraProperty: 'whatever', providerPathFormat: "'planet/PSScene3Band-'yyyyMM", startDate: '2018-08', }, }, { - config: { + meta: { extraProperty: 'whatever', providerPathFormat: "'planet/PSScene3Band-'yyyyMM", startDate: new Date('2018-08'), @@ -159,14 +161,14 @@ test( test( shouldDecode, { - config: { + meta: { providerPathFormat: "'planet/PSScene3Band-'yyyyMM", startDate: '2019-08', endDate: undefined, }, }, { - config: { + meta: { providerPathFormat: "'planet/PSScene3Band-'yyyyMM", startDate: new Date('2019-08'), endDate: O.none, @@ -178,14 +180,14 @@ test( test( shouldDecode, { - config: { + meta: { providerPathFormat: "'planet/PSScene3Band-'yyyyMM", startDate: '2019-08', endDate: null, }, }, { - config: { + meta: { providerPathFormat: "'planet/PSScene3Band-'yyyyMM", startDate: new Date('2019-08'), endDate: O.none, @@ -197,14 +199,14 @@ test( test( shouldDecode, { - config: { + meta: { providerPathFormat: "'planet/PSScene3Band-'yyyyMM", startDate: '2018-08', endDate: '202001', }, }, { - config: { + meta: { providerPathFormat: "'planet/PSScene3Band-'yyyyMM", startDate: new Date('2018-08'), endDate: O.some(new Date('202001')), @@ -216,14 +218,14 @@ test( test( shouldDecode, { - config: { + meta: { providerPathFormat: "'planet/PSScene3Band-'yyyyMM", startDate: '2020-08', step: undefined, }, }, { - config: { + meta: { providerPathFormat: "'planet/PSScene3Band-'yyyyMM", startDate: new Date('2020-08'), endDate: O.none, @@ -235,14 +237,14 @@ test( test( shouldDecode, { - config: { + meta: { providerPathFormat: "'planet/PSScene3Band-'yyyyMM", startDate: '2019-08', step: null, }, }, { - config: { + meta: { providerPathFormat: "'planet/PSScene3Band-'yyyyMM", startDate: new Date('2019-08'), endDate: O.none, @@ -254,14 +256,14 @@ test( test( shouldDecode, { - config: { + meta: { providerPathFormat: "'planet/PSScene3Band-'yyyyMM", startDate: '2018-08', step: 'P1M', }, }, { - config: { + meta: { providerPathFormat: "'planet/PSScene3Band-'yyyyMM", startDate: new Date('2018-08'), endDate: O.none, @@ -273,7 +275,7 @@ test( test( shouldDecode, { - config: { + meta: { providerPathFormat: "'planet/PSScene3Band-'yyyyMM", startDate: '2018-08', endDate: '202001', @@ -281,7 +283,7 @@ test( }, }, { - config: { + meta: { providerPathFormat: "'planet/PSScene3Band-'yyyyMM", startDate: new Date('2018-08'), endDate: O.some(new Date('202001')), @@ -291,23 +293,31 @@ test( ); //------------------------------------------------------------------------------ -// Expected formatProviderPath outputs +// Expected formatProviderPaths outputs //------------------------------------------------------------------------------ -const shouldOutput = test.macro({ +const formatProviderPathsShouldOutput = test.macro({ title: ( _, - f: DecodedEventHandler, + f: DecodedEventHandler< + typeof FormatProviderPathsInput, + FormatProviderPathsInput, + unknown + >, input ) => `${f.name} should succeed with input ${JSON.stringify(input)}`, exec: ( t: ExecutionContext, - f: DecodedEventHandler, + f: DecodedEventHandler< + typeof FormatProviderPathsInput, + FormatProviderPathsInput, + unknown + >, input: unknown, expected: unknown ) => pipe( - ProviderPathInput.decode(input), + FormatProviderPathsInput.decode(input), E.match( (errors) => t.fail(PR.failure(errors).join('\n')), (event) => t.deepEqual(f(event), expected) @@ -316,137 +326,205 @@ const shouldOutput = test.macro({ }); test( - shouldOutput, - formatProviderPath, + formatProviderPathsShouldOutput, + formatProviderPaths, { - config: { + meta: { providerPathFormat: "'css/nga/WV04/1B/'yyyy/DDD", startDate: '2017-05-04T00:00:00Z', }, }, - 'css/nga/WV04/1B/2017/124' + [ + { + meta: { + providerPathFormat: "'css/nga/WV04/1B/'yyyy/DDD", + providerPath: 'css/nga/WV04/1B/2017/124', + startDate: '2017-05-04T00:00:00.000Z', + endDate: null, + step: null, + }, + }, + ] ); test( - shouldOutput, - formatProviderPath, + formatProviderPathsShouldOutput, + formatProviderPaths, { - config: { + meta: { providerPathFormat: "'css/nga/WV04/1B/'yyyy/D/", startDate: '2017-01-04T00:00:00Z', }, }, - 'css/nga/WV04/1B/2017/4/' + [ + { + meta: { + providerPathFormat: "'css/nga/WV04/1B/'yyyy/D/", + providerPath: 'css/nga/WV04/1B/2017/4/', + startDate: '2017-01-04T00:00:00.000Z', + endDate: null, + step: null, + }, + }, + ] ); test( - shouldOutput, - formatProviderPath, + formatProviderPathsShouldOutput, + formatProviderPaths, { - config: { + meta: { providerPathFormat: "'planet/PSScene3Band-'yyyyMM_dd", startDate: '2018-08-01T00:00:00Z', }, }, - 'planet/PSScene3Band-201808_01' + [ + { + meta: { + providerPathFormat: "'planet/PSScene3Band-'yyyyMM_dd", + providerPath: 'planet/PSScene3Band-201808_01', + startDate: '2018-08-01T00:00:00.000Z', + endDate: null, + step: null, + }, + }, + ] ); test( - shouldOutput, - formatProviderPath, + formatProviderPathsShouldOutput, + formatProviderPaths, { - config: { + meta: { providerPathFormat: "'planet/PSScene3Band-'yyyyMM", startDate: '2018-08-01T00:00:00Z', }, }, - 'planet/PSScene3Band-201808' + [ + { + meta: { + providerPathFormat: "'planet/PSScene3Band-'yyyyMM", + providerPath: 'planet/PSScene3Band-201808', + startDate: '2018-08-01T00:00:00.000Z', + endDate: null, + step: null, + }, + }, + ] ); -//------------------------------------------------------------------------------ -// Expected advanceStartDate outputs -//------------------------------------------------------------------------------ - test( - shouldOutput, - advanceStartDate, + formatProviderPathsShouldOutput, + formatProviderPaths, { - config: { + meta: { providerPathFormat: "'planet/PSScene3Band-'yyyyMM", startDate: '2018-08-01T00:00:00Z', + endDate: '2018-08-01T00:00:00Z', }, }, - null + [] ); test( - shouldOutput, - advanceStartDate, + formatProviderPathsShouldOutput, + formatProviderPaths, { - config: { + payload: {}, + meta: { providerPathFormat: "'planet/PSScene3Band-'yyyyMM", startDate: '2018-08-01T00:00:00Z', - endDate: '2021-09-01T00:00:00Z', - step: null, + endDate: '2018-09-01T00:00:00Z', + foo: 'bar', }, }, - null + [ + { + payload: {}, + meta: { + providerPathFormat: "'planet/PSScene3Band-'yyyyMM", + providerPath: 'planet/PSScene3Band-201808', + startDate: '2018-08-01T00:00:00.000Z', + endDate: '2018-09-01T00:00:00.000Z', + step: null, + foo: 'bar', + }, + }, + ] ); test( - shouldOutput, - advanceStartDate, + formatProviderPathsShouldOutput, + formatProviderPaths, { - config: { + meta: { providerPathFormat: "'planet/PSScene3Band-'yyyyMM", startDate: '2018-08-01T00:00:00Z', - endDate: null, - step: 'P1M', + endDate: '2020-12-01T00:00:00Z', }, }, - '2018-09-01T00:00:00.000Z' -); - -test( - shouldOutput, - advanceStartDate, - { - config: { - providerPathFormat: "'planet/PSScene3Band-'yyyyMM", - startDate: '2018-09-01T00:00:00Z', - endDate: '2020-01-01T00:00:00Z', - step: 'P1M', + [ + { + meta: { + providerPathFormat: "'planet/PSScene3Band-'yyyyMM", + providerPath: 'planet/PSScene3Band-201808', + startDate: '2018-08-01T00:00:00.000Z', + endDate: '2020-12-01T00:00:00.000Z', + step: null, + }, }, - }, - '2018-10-01T00:00:00.000Z' + ] ); test( - shouldOutput, - advanceStartDate, + formatProviderPathsShouldOutput, + formatProviderPaths, { - config: { + meta: { providerPathFormat: "'planet/PSScene3Band-'yyyyMM", startDate: '2018-08-01T00:00:00Z', - endDate: '2018-09-01T00:00:00Z', // endDate is exclusive + endDate: '2018-12-01T00:00:00Z', step: 'P1M', }, }, - null -); - -test( - shouldOutput, - advanceStartDate, - { - config: { - providerPathFormat: "'planet/PSScene3Band-'yyyyMM", - startDate: '2018-08-01T00:00:00Z', - endDate: '2020-01-01T00:00:00Z', - step: 'P1Y', + [ + { + meta: { + providerPathFormat: "'planet/PSScene3Band-'yyyyMM", + providerPath: 'planet/PSScene3Band-201808', + startDate: '2018-08-01T00:00:00.000Z', + endDate: '2018-12-01T00:00:00.000Z', + step: 'P1M', + }, }, - }, - '2019-08-01T00:00:00.000Z' + { + meta: { + providerPathFormat: "'planet/PSScene3Band-'yyyyMM", + providerPath: 'planet/PSScene3Band-201809', + startDate: '2018-08-01T00:00:00.000Z', + endDate: '2018-12-01T00:00:00.000Z', + step: 'P1M', + }, + }, + { + meta: { + providerPathFormat: "'planet/PSScene3Band-'yyyyMM", + providerPath: 'planet/PSScene3Band-201810', + startDate: '2018-08-01T00:00:00.000Z', + endDate: '2018-12-01T00:00:00.000Z', + step: 'P1M', + }, + }, + { + meta: { + providerPathFormat: "'planet/PSScene3Band-'yyyyMM", + providerPath: 'planet/PSScene3Band-201811', + startDate: '2018-08-01T00:00:00.000Z', + endDate: '2018-12-01T00:00:00.000Z', + step: 'P1M', + }, + }, + ] ); //------------------------------------------------------------------------------ @@ -468,7 +546,7 @@ test('prefixGranuleIds should prefix granule IDs with collection name', (t) => { ], }; const event = { - config: { collection: { name: collectionName } }, + config: { collection: { name: collectionName }, batchIndex: 0 }, input: { granules: [granule] }, }; @@ -480,3 +558,38 @@ test('prefixGranuleIds should prefix granule IDs with collection name', (t) => { ) ); }); + +//------------------------------------------------------------------------------ +// batchGranules +//------------------------------------------------------------------------------ + +test('batchGranules should output singleton array identical to input when there are no granules', (t) => { + const actual = batchGranules({ + config: { maxBatchSize: 0 }, + input: { granules: [] }, + }); + const expected = [{ granules: [] }]; + + t.deepEqual(actual, expected); +}); + +test('batchGranules should output a singleton array identical to input when there are no more than 1000 granules', (t) => { + const actual = batchGranules({ + config: { maxBatchSize: 0 }, + input: { granules: [{ granuleId: 'foo' }] }, + }); + const expected = [{ granules: [{ granuleId: 'foo' }] }]; + + t.deepEqual(actual, expected); +}); + +test('batchGranules should output array with nearly equally sized batches when there are over maxBatchSize granules', (t) => { + const granules = Array.from({ length: 100 }, (_, i) => ({ granuleId: `${i}` })); + const batch1 = granules.slice(0, 34); + const batch2 = granules.slice(34, 67); + const batch3 = granules.slice(67, 100); + const actual = batchGranules({ config: { maxBatchSize: 40 }, input: { granules } }); + const expected = [{ granules: batch1 }, { granules: batch2 }, { granules: batch3 }]; + + t.deepEqual(actual, expected); +}); diff --git a/src/lib/discovery.ts b/src/lib/discovery.ts index 669ac76..4668488 100644 --- a/src/lib/discovery.ts +++ b/src/lib/discovery.ts @@ -1,29 +1,28 @@ import * as dates from 'date-fns'; import * as O from 'fp-ts/Option'; -import { constant, pipe } from 'fp-ts/function'; +import { pipe } from 'fp-ts/function'; import * as t from 'io-ts'; import * as tt from 'io-ts-types'; +import * as fp from 'lodash/fp'; import * as L from './aws/lambda'; import * as $t from './io'; -import { traceAsync } from './logging'; +import { batches } from './stdlib/arrays'; +import { range as dateRange } from './stdlib/dates'; const Granule = t.type({ granuleId: t.string, }); -const GranulesPayload = t.readonly( +const DiscoverGranulesOutput = t.readonly( t.type({ - granules: t.array(Granule), + granules: t.readonlyArray(Granule), }) ); -type Granule = t.TypeOf; -type GranulesPayload = t.TypeOf; - -export const ProviderPathInput = t.readonly( +export const FormatProviderPathsInput = t.readonly( t.type({ - config: t.readonly( + meta: t.readonly( t.type({ providerPathFormat: $t.DateFormat, startDate: tt.DateFromISOString, @@ -34,6 +33,41 @@ export const ProviderPathInput = t.readonly( }) ); +// Output is the same as the input, with the addition of `meta.providerPath`, so we +// simply construct an intersection of the two. +export const FormatProviderPathsOutput = t.intersection([ + FormatProviderPathsInput, + t.readonly( + t.type({ + meta: t.readonly( + t.type({ + providerPath: t.string, + }) + ), + }) + ), +]); + +// Default maximum batch size for batching granules after discovery is 1000, but this +// can be set on a per rule basis by setting `meta.maxBatchSize` in a rule definition. +export const BatchGranulesInput = t.readonly( + t.type({ + config: t.type({ + maxBatchSize: tt.fromNullable(t.number, 1000), + }), + input: DiscoverGranulesOutput, + }) +); + +export const UnbatchGranulesInput = t.readonly( + t.type({ + config: t.type({ + batchIndex: t.Int, + }), + input: t.readonlyArray(DiscoverGranulesOutput), + }) +); + const Collection = t.readonly( t.type({ name: t.string, @@ -53,67 +87,226 @@ export const PrefixGranuleIdsInput = t.readonly( config: t.type({ collection: Collection, }), - input: GranulesPayload, + input: DiscoverGranulesOutput, }) ); +type Granule = t.TypeOf; +type DiscoverGranulesOutput = t.TypeOf; + +export type FormatProviderPathsInput = t.TypeOf; +export type FormatProviderPathsOutput = t.TypeOf; +export type BatchGranulesInput = t.TypeOf; +export type UnbatchGranulesInput = t.TypeOf; export type PrefixGranuleIdsInput = t.TypeOf; -export type ProviderPathInput = t.TypeOf; /** - * Returns the provider path for granule discovery. + * Returns an array (possibly empty) containing the input duplicated once per date step + * from the start date, up to, but excluding the end date, along with the addition of + * a provider path constructed from each date. + * + * More specifically, each element of the output array has a unique value inserted at + * `meta.providerPath`. Each such inserted value is constructed from a date in the date + * range starting at the start date, one date step at a time, up to (but excluding) the + * end date, using the value of `providerPathFormat` as the format pattern. * - * Uses the specified `providerPathFormat` property to format the `startDate` property - * as the provider path. Expects `providerPathFormat` to be a valid format according to - * the [Unicode Date Format Patterns]( + * Expects `providerPathFormat` to be a valid format according to the + * [Unicode Date Format Patterns]( * https://www.unicode.org/reports/tr35/tr35-dates.html#8-date-format-patterns). * - * For example, if the `providerPathFormat` is `"'path/to/collection-name'-yyyy"`, and - * the year of the `startDate` is 2019, returns the provider path as + * For example, if the `providerPathFormat` is `"'path/to/collection-name'-yyyy"`, + * and the year of the `startDate` is 2019, sets the provider path as * `"path/to/collection-name-2019"`. Note that any text within the date format pattern * that is surrounded by single quotes is taken literally, and the single quotes are - * not present in the result. + * not present in the result. This is according to the [date-fns format specification]( + * https://date-fns.org/docs/format), with the [date-fns format options]( + * https://date-fns.org/docs/format#arguments) `useAdditionalDayOfYearTokens` and + * `useAdditionalWeekYearTokens` both set to `true`. * - * @param args - provider path keyword arguments - * @returns the provider path for granule discovery + * This output is designed to serve as input to a StepFunction task of type "Map" where + * the first step of the Map task is the DiscoverGranules Lambda function. In other + * words, every element of the output array is an input that DiscoverGranules expects, + * each with a distinct `providerPath` covering a different timespan (e.g., daily, + * monthly, or yearly from the start date to the end date). + * + * @example + * formatProviderPaths( + * { + * ..., + * meta: { + * startDate: new Date('2020-01-01T00:00:00Z'), + * endDate: O.some(new Date('2020-03-01T00:00:00Z')), + * step: O.some({ days: 1 }), + * providerPathFormat: "'planet/PSScene3Band/'yyyyMMdd", + * ..., + * } + * } + * ) + * + * // Returns the following. Note that the ellipses (...) represent properties of the + * // input, all of which are passed through unchanged. This function simply duplicates + * // the original input for each date step, inserting a value for `meta.providerPath` + * // for each: + * // + * // [ + * // { + * // ..., + * // meta: { + * // providerPath: 'planet/PSScene3Band/20200101', + * // ... + * // } + * // }, + * // { + * // ..., + * // meta: { + * // providerPath: 'planet/PSScene3Band/20200102', + * // ... + * // } + * // } + * // ] + * + * @param args.meta.startDate - the first date (UTC) to use for constructing provider + * paths + * @param args.meta.endDate - optional, exclusive end date (UTC) for constructing + * provider paths (default: current date) + * @param args.meta.step - optional ISO8601 duration between successive dates (default: + * entire time span between startDate and endDate) + * @param args.meta.providerPathFormat - date format string used to construct a provider + * path from a date (must adhere to date-fns format specification) */ -export const formatProviderPath = (args: ProviderPathInput): string => { - const { providerPathFormat, startDate } = args.config; - return dates.format(startDate, providerPathFormat, { +export const formatProviderPaths = (args: FormatProviderPathsInput) => { + const { providerPathFormat, startDate, step } = args.meta; + const now = () => new Date(Date.now()); + const endDate = pipe(args.meta.endDate, O.getOrElse(now)); + const dateFormatOptions = { useAdditionalDayOfYearTokens: true, useAdditionalWeekYearTokens: true, - }); + }; + const providerPaths = dateRange(startDate, endDate, step).map((date) => + dates.format(date, providerPathFormat, dateFormatOptions) + ); + const encodedArgs = FormatProviderPathsInput.encode(args); + + return providerPaths.map((providerPath) => + fp.set('meta.providerPath', providerPath, encodedArgs) + ); }; /** - * Returns the specified `startDate` property advanced by the specified `step` duration. - * Returns `null` if either no `step` is specified or the next start date is greater - * than or equal to the `endDate`. + * Splits a list of granules into batches of a maximum size. Returns an array where + * each element has the same structure as the input granules, but split into + * batches. * - * The `endDate` is _exclusive_, and defaults to the current date/time. When `step` is - * specified, it is expected to be a valid - * [ISO 8601 Duration](https://en.wikipedia.org/wiki/ISO_8601#Durations) string (for - * example, `"P1M"` to represent 1 month). + * @example + * batchGranules( + * { + * input: { + * granules: [ + * { granuleId: 'a' }, + * { granuleId: 'b' }, + * { granuleId: 'c' }, + * { granuleId: 'd' }, + * { granuleId: 'e' }, + * ], + * }, + * config: { + * maxBatchSize: 2, + * } + * } + * ) * - * @param args - provider path keyword arguments - * @returns the next start date for granule discovery, or `null` if either the next - * start date is greater than or equal to the discovery end date or no step property - * is specified + * // Output: + * // + * // [ + * // { + * // granules: [ + * // { granuleId: 'a' }, + * // { granuleId: 'b' }, + * // ] + * // }, + * // { + * // granules: [ + * // { granuleId: 'c' }, + * // { granuleId: 'd' }, + * // ] + * // }, + * // { + * // granules: [ + * // { granuleId: 'e' }, + * // ] + * // }, + * // ] + * + * @param event.input.granules - full list of granules to split into batches + * @param event.config.maxBatchSize - maximum batch size for batching granules listed + * by DiscoverGranules (default: 1000) + * @returns an array of nearly equal-sized batches (arrays) of granules of the input + * granules array */ -export const advanceStartDate = (args: ProviderPathInput): string | null => { - const { startDate, step } = args.config; - const now = () => new Date(Date.now()); - const endDate = pipe(args.config.endDate, O.getOrElse(now)); - const addDuration = (d: dates.Duration) => dates.add(startDate, d); - const nextStartDate = pipe(step, O.match(constant(endDate), addDuration)); +export const batchGranules = ( + event: BatchGranulesInput +): readonly DiscoverGranulesOutput[] => { + const { input, config } = event; + const { granules } = input; + const { maxBatchSize } = config; - return nextStartDate < endDate ? nextStartDate.toISOString() : null; + return batches(granules, maxBatchSize).map((granules) => ({ granules })); }; /** + * Selects a single batch of granules from an array of batches. + * + * @param args.input - array of granule batches + * @param args.config.batchIndex - index of the batch of granules to select + * @returns element at the 0-based batch index in the input array + */ +export const unbatchGranules = (args: UnbatchGranulesInput): DiscoverGranulesOutput => + args.input[args.config.batchIndex]; + +/** + * Prefixes the granule ID of each granule in an array of granules with the name of + * their collection. This is for cases where the granule IDs extracted from the names + * of granule files do not include such a prefix, but the `GranuleUR` values within each + * granule's UMM-G JSON file do. This is necessary because the Cumulus pipeline will + * fail to work properly when a granule's `granuleId` property does not match the + * `GranuleUR` property within its CMM-R JSON file. + * + * NOTE: In order to cause this prefixing behavior to come into play during discovery + * of granules for a particular collection, the collection definition must include a + * `meta.prefixGranuleIds` property set to `true`. In the absence of this property + * setting in the collection definition, it defaults to `false`. + * + * @example + * prefixGranuleIds( + * { + * config: { + * collection: { name: 'foo', ... }, + * }, + * input: { + * granules: [ + * { granuleId: 'a', ... }, + * { granuleId: 'b', ... }, + * ..., + * ] + * } + * } + * ) + * + * // Output: + * // + * // { + * // granules: [ + * // { granuleId: 'foo-a', ... }, + * // { granuleId: 'foo-b', ... }, + * // ] + * // } * - * @param args - * @returns + * @param args.config.collection - collection object with a `name` property for + * prefixing each granule ID + * @param args.input.granules - array of granules whose `granuleId` properties will be + * prefixed with the collection name, separated by a dash (`-`) + * @returns copy of `args.input`, but with the `granuleId` of each granule prefixed + * with the name of the collection, separated by a dash (`-`) */ export const prefixGranuleIds = (args: PrefixGranuleIdsInput) => { const { collection } = args.config; @@ -122,30 +315,31 @@ export const prefixGranuleIds = (args: PrefixGranuleIdsInput) => { console.info(`Prefixing granuleIds for ${granules.length} granules with '${prefix}'`); - // eslint-disable-next-line functional/no-return-void - granules.forEach((granule: Granule) => { - // eslint-disable-next-line functional/immutable-data - granule.granuleId = `${prefix}${granule.granuleId}`; - }); - - return { granules }; + return { + granules: granules.map((granule: Granule) => + fp.set('granuleId', `${prefix}${granule.granuleId}`, granule) + ), + }; }; //------------------------------------------------------------------------------ // Lambda function handlers //------------------------------------------------------------------------------ -export const formatProviderPathCMAHandler = pipe( - formatProviderPath, - L.asyncHandlerFor(ProviderPathInput), - traceAsync, +export const formatProviderPathsHandler = pipe( + formatProviderPaths, + L.asyncHandlerFor(FormatProviderPathsInput) +); + +export const batchGranulesCMAHandler = pipe( + batchGranules, + L.asyncHandlerFor(BatchGranulesInput), L.cmaAsyncHandler ); -export const advanceStartDateCMAHandler = pipe( - advanceStartDate, - L.asyncHandlerFor(ProviderPathInput), - traceAsync, +export const unbatchGranulesCMAHandler = pipe( + unbatchGranules, + L.asyncHandlerFor(UnbatchGranulesInput), L.cmaAsyncHandler ); diff --git a/src/lib/logging.ts b/src/lib/logging.ts deleted file mode 100644 index 9fc08bc..0000000 --- a/src/lib/logging.ts +++ /dev/null @@ -1,70 +0,0 @@ -/** - * Returns the specified synchronous function wrapped in another synchronous function - * with the same signature, which traces the arguments and return value upon invocation. - * If the specified function throws an exception upon invocation, propagates the - * exception. - * - * @example - * > const add = (x, y) => x + y - * undefined - * > const traceAdd = trace(add) - * undefined - * > traceAdd(1, 2) - * -> add(1, 2) - * <- 3 - * 3 - * > traceAdd('hello', 'world') - * -> add("hello", "world") - * <- "helloworld" - * helloworld - * - * @param f - function to trace - * @returns tracing function with same signature as specified function - */ -export const trace = - (f: (...args: T) => U) => - // eslint-disable-next-line functional/functional-parameters - (...args: T): U => { - const stringifiedArgs = args.map((arg) => JSON.stringify(arg)).join(', '); - console.debug(`-> ${f.name || 'function '}(${stringifiedArgs})`); - const result = f(...args); - console.debug(`<- ${JSON.stringify(result)}`); - - return result; - }; - -/** - * Returns the specified asynchronous function wrapped in another asynchronous function - * with the same signature, which traces the arguments and return value upon invocation. - * If the specified function throws an exception upon invocation, propagates the - * exception. - * - * @example - * > const addAsync = async (x, y) => x + y; - * undefined - * > const traceAddAsync = trace(addAsync); - * undefined - * > traceAddAsync(1, 2); - * -> addAsync(1, 2) - * <- 3 - * 3 // Promise - * - * > traceAddAsync('hello', 'world'); - * -> addAsync("hello", "world") - * <- "helloworld" - * helloworld // Promise - * - * @param f - async function to trace - * @returns async tracing function with same signature as specified function - */ -export const traceAsync = - (f: (...args: T) => Promise) => - // eslint-disable-next-line functional/functional-parameters - async (...args: T): Promise => { - const stringifiedArgs = args.map((arg) => JSON.stringify(arg)).join(', '); - console.debug(`-> ${f.name || 'function '}(${stringifiedArgs})`); - const result = await f(...args); - console.debug(`<- ${JSON.stringify(result)}`); - - return result; - }; diff --git a/src/lib/stdlib/arrays.spec.ts b/src/lib/stdlib/arrays.spec.ts new file mode 100644 index 0000000..fac3bca --- /dev/null +++ b/src/lib/stdlib/arrays.spec.ts @@ -0,0 +1,41 @@ +/* eslint-disable functional/no-return-void */ + +import test from 'ava'; + +import { batchBounds } from './arrays'; + +//------------------------------------------------------------------------------ +// slices +//------------------------------------------------------------------------------ + +test('slices should produce [[0, 0]] when totalLength == 0', (t) => { + t.deepEqual(batchBounds({ totalSize: 0, maxBatchSize: 0 }), [[0, 0]]); +}); + +test('slices should produce [[0, 0]] when totalLength < 0', (t) => { + t.deepEqual(batchBounds({ totalSize: -10, maxBatchSize: 10 }), [[0, 0]]); +}); + +test('slices should produce a singleton array when totalLength < maxSliceLength', (t) => { + t.deepEqual(batchBounds({ totalSize: 100, maxBatchSize: 200 }), [[0, 100]]); +}); + +test('slices should produce a singleton array when totalLength == maxSliceLength', (t) => { + t.deepEqual(batchBounds({ totalSize: 100, maxBatchSize: 100 }), [[0, 100]]); +}); + +test('slices should produce singleton slices when maxSliceLength <= 0', (t) => { + t.deepEqual(batchBounds({ totalSize: 3, maxBatchSize: 0 }), [ + [0, 1], + [1, 2], + [2, 3], + ]); +}); + +test('slices should produce slices of nearly equal lengths', (t) => { + t.deepEqual(batchBounds({ totalSize: 100, maxBatchSize: 40 }), [ + [0, 34], + [34, 67], + [67, 100], + ]); +}); diff --git a/src/lib/stdlib/arrays.ts b/src/lib/stdlib/arrays.ts new file mode 100644 index 0000000..ba5dccf --- /dev/null +++ b/src/lib/stdlib/arrays.ts @@ -0,0 +1,72 @@ +/** + * Returns an array of `[start, end]` number pairs suitable for slicing an array of + * length `totalSize` into sequential, non-overlapping batches no longer than + * `maxBatchSize` each. Each pair is suitable for passing as the `start` and `end` + * arguments to `Array.slice`, meaning that each `end` index is exclusive. + * + * Returned pairs are constructed such that difference between the maximum batch size + * and the minimum batch size is no greater than 1. In other words, the last batch is + * not the only batch that can be smaller than `maxBatchSize`. Rather, it is possible + * that every batch is smaller than `maxBatchSize`. + * + * @example + * batchBounds({ totalSize: 100, maxBatchSize: 50 }) + * //=> [[0, 50], [50, 100]] + * + * @example + * batchBounds({ totalSize: 100, maxBatchSize: 40 }) + * // returns bounds of length 34, 33, and 33, NOT 40, 40, and 20 + * //=> [[0, 34], [34, 67], [67, 100]] + * + * @example + * batchBounds({ totalSize: 100, maxBatchSize: 200 }) + * //=> [[0, 100]] + * + * @example + * batchBounds({ totalSize: 100, maxBatchSize: 0 }) + * //=> [[0, 1], [1, 2], [2, 3], ..., [99, 100]] + * + * @param totalSize - total size (length) of an array to be split into batches + * @param maxBatchSize - maximum size of any batch that can be produced from any pair + * of bounds in the returned array (set to 1 when a value less than 1 is specified) + * @returns an array of start/end number pairs, each representing a sequential, + * non-overlapping batch of items no longer than `maxBatchSize` in length, + * spanning an array of length `totalSize`; [[0, 0]] when `totalSize <= 0` + */ +export const batchBounds = ({ + totalSize, + maxBatchSize, +}: { + readonly totalSize: number; + readonly maxBatchSize: number; +}): readonly (readonly [number, number])[] => { + const numBatches = Math.ceil(totalSize / Math.max(1, maxBatchSize)); + const minBatchSize = Math.floor(totalSize / numBatches); + const remainder = totalSize % numBatches; + + return totalSize <= 0 + ? [[0, 0]] + : [ + ...Array.from({ length: remainder }, () => minBatchSize + 1), + ...Array.from({ length: numBatches - remainder }, () => minBatchSize), + ] + .reduce( + ([[start = 0, end = 0] = [], ...rest], length) => + [[end, end + length], [start, end], ...rest] as const, + [[0, 0]] as readonly (readonly [number, number])[] + ) + .slice() + .reverse() + .slice(1); // drop leading [0, 0] bounds +}; + +/** + * + * @param items + * @param n + * @returns + */ +export const batches = (items: readonly T[], n: number): readonly (readonly T[])[] => + batchBounds({ totalSize: items.length, maxBatchSize: n }).map(([start, end]) => + items.slice(start, end) + ); diff --git a/src/lib/stdlib/dates.spec.ts b/src/lib/stdlib/dates.spec.ts new file mode 100644 index 0000000..67c1946 --- /dev/null +++ b/src/lib/stdlib/dates.spec.ts @@ -0,0 +1,56 @@ +/* eslint-disable functional/no-return-void */ + +import test from 'ava'; +import * as O from 'fp-ts/Option'; + +import { range } from './dates'; + +//------------------------------------------------------------------------------ +// range +//------------------------------------------------------------------------------ + +test('range should produce empty array when start == end', (t) => { + const r = range( + new Date('2020-01-01'), + new Date('2020-01-01'), + O.some({ months: 1 }) + ); + + t.deepEqual(r, []); +}); + +test('range should produce empty array when start > end', (t) => { + const r = range( + new Date('2020-02-01'), + new Date('2020-01-01'), + O.some({ months: 1 }) + ); + + t.deepEqual(r, []); +}); + +test('range should exclude end', (t) => { + const r = range( + new Date('2020-01-01'), + new Date('2020-02-01'), + O.some({ months: 1 }) + ); + + t.deepEqual(r, [new Date('2020-01-01')]); +}); + +test('range should space dates by step', (t) => { + const r = range( + new Date('2020-01-01'), + new Date('2020-03-01'), + O.some({ months: 1 }) + ); + + t.deepEqual(r, [new Date('2020-01-01'), new Date('2020-02-01')]); +}); + +test('range should make single step when step not given', (t) => { + const r = range(new Date('2020-01-01'), new Date('2020-03-01'), O.none); + + t.deepEqual(r, [new Date('2020-01-01')]); +}); diff --git a/src/lib/stdlib/dates.ts b/src/lib/stdlib/dates.ts new file mode 100644 index 0000000..e3a4fd7 --- /dev/null +++ b/src/lib/stdlib/dates.ts @@ -0,0 +1,55 @@ +import * as dates from 'date-fns'; +import * as O from 'fp-ts/Option'; +import * as RA from 'fp-ts/ReadonlyArray'; +import { constant, flow, pipe } from 'fp-ts/function'; + +/** + * Returns an array (possibly empty) of dates, starting with the `start` date, and + * ending with (but excluding) the `end` date, with `step` duration between successive + * dates. + * + * If `step` is `O.none`, it defaults to a duration spanning from `start` to `end`, + * resulting in a single step from `start` to `end`. If `start` is the same as, or + * after, `end`, the range is empty. + * + * @example + * range(new Date('2020-01-01'), new Date('2020-01-01'), O.some({ months: 1 })) + * //=> [] + * + * @example + * range(new Date('2020-01-01'), new Date('2020-02-01'), O.some({ months: 1 })) + * //=> [ 2020-01-01T00:00:00.000Z ] + * + * @example + * range(new Date('2020-01-01'), new Date('2020-03-01'), O.some({ months: 1 })) + * //=> [ 2020-01-01T00:00:00.000Z, 2020-02-01T00:00:00.000Z ] + * + * @example + * range(new Date('2020-01-01'), new Date('2020-03-01'), O.none) + * //=> [ 2020-01-01T00:00:00.000Z ] + * + * @example + * range(new Date('2020-01-01'), new Date('2021-01-01'), O.some({ years: 1 })) + * //=> [ 2020-01-01T00:00:00.000Z ] + * + * @param start start date of the range (inclusive) + * @param end end date of the range (exclusive) + * @param step duration between dates in the range + * @returns an array of dates, from `start` to `end` (exclusive), with `step` duration + * between successive dates (empty if `start` is on or after `end`) + */ +export const range = (start: Date, end: Date, step: O.Option) => { + const addStepTo = pipe( + step, + O.match( + () => constant(end), + (step: dates.Duration) => (date: Date) => dates.add(date, step) + ) + ); + const nextDate = flow( + O.fromPredicate((date: Date) => date < end), + O.map((date) => [date, addStepTo(date)] as const) + ); + + return RA.unfold(start, nextDate); +}; diff --git a/yarn.lock b/yarn.lock index 065a879..e0780da 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,6 +2,11 @@ # yarn lockfile v1 +"@aashutoshrathi/word-wrap@^1.2.3": + version "1.2.6" + resolved "https://registry.yarnpkg.com/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz#bd9154aec9983f77b3a034ecaa015c2e4201f6cf" + integrity sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA== + "@ampproject/remapping@^2.1.0": version "2.2.0" resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.0.tgz#56c133824780de3174aed5ab6834f3026790154d" @@ -158,29 +163,6 @@ "@aws-sdk/types" "3.127.0" tslib "^2.3.1" -"@aws-sdk/abort-controller@3.370.0": - version "3.370.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/abort-controller/-/abort-controller-3.370.0.tgz#89f90269af8d41ce5fc23b5f0c1b6dd7986c34d5" - integrity sha512-/W4arzC/+yVW/cvEXbuwvG0uly4yFSZnnIA+gkqgAm+0HVfacwcPpNf4BjyxjnvIdh03l7w2DriF6MlKUfiQ3A== - dependencies: - "@aws-sdk/types" "3.370.0" - tslib "^2.5.0" - -"@aws-sdk/chunked-blob-reader-native@3.310.0": - version "3.310.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/chunked-blob-reader-native/-/chunked-blob-reader-native-3.310.0.tgz#98d43a6213557835b3bbb0cd2ee0a4e2088e916a" - integrity sha512-RuhyUY9hCd6KWA2DMF/U6rilYLLRYrDY6e0lq3Of1yzSRFxi4bk9ZMCF0mxf/9ppsB5eudUjrOypYgm6Axt3zw== - dependencies: - "@aws-sdk/util-base64" "3.310.0" - tslib "^2.5.0" - -"@aws-sdk/chunked-blob-reader@3.310.0": - version "3.310.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/chunked-blob-reader/-/chunked-blob-reader-3.310.0.tgz#2ada1b024a2745c2fe7e869606fab781325f981e" - integrity sha512-CrJS3exo4mWaLnWxfCH+w88Ou0IcAZSIkk4QbmxiHl/5Dq705OLoxf4385MVyExpqpeVJYOYQ2WaD8i/pQZ2fg== - dependencies: - tslib "^2.5.0" - "@aws-sdk/client-api-gateway@^3.58.0": version "3.145.0" resolved "https://registry.yarnpkg.com/@aws-sdk/client-api-gateway/-/client-api-gateway-3.145.0.tgz#c97adc53b70178e5468a1c2dc2150df0c3b8383e" @@ -263,47 +245,49 @@ tslib "^2.3.1" "@aws-sdk/client-dynamodb@^3.370.0": - version "3.370.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-dynamodb/-/client-dynamodb-3.370.0.tgz#6712ce2750eb2a9d0813b9bdd25ac205dac44938" - integrity sha512-qL02C4adrZljZXgPonSHYJ95qkj1IlIsZx3NxaGzMc5S3uPJua14phktk2XP8K/Ap3gD6vLWt1UVVoo/rDFOAQ== + version "3.437.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-dynamodb/-/client-dynamodb-3.437.0.tgz#68a2f41ccad6d7b503fd470899ad491d8c8d5f05" + integrity sha512-z7gnSKVhX2FxAA+jlCQHABrL6xE3jKupUrP9xXOi1Hp7GGXajh71gCAI6l2ay0YTnnu8dlIH4gd+p95g52CQTw== dependencies: "@aws-crypto/sha256-browser" "3.0.0" "@aws-crypto/sha256-js" "3.0.0" - "@aws-sdk/client-sts" "3.370.0" - "@aws-sdk/credential-provider-node" "3.370.0" - "@aws-sdk/middleware-endpoint-discovery" "3.370.0" - "@aws-sdk/middleware-host-header" "3.370.0" - "@aws-sdk/middleware-logger" "3.370.0" - "@aws-sdk/middleware-recursion-detection" "3.370.0" - "@aws-sdk/middleware-signing" "3.370.0" - "@aws-sdk/middleware-user-agent" "3.370.0" - "@aws-sdk/types" "3.370.0" - "@aws-sdk/util-endpoints" "3.370.0" - "@aws-sdk/util-user-agent-browser" "3.370.0" - "@aws-sdk/util-user-agent-node" "3.370.0" - "@smithy/config-resolver" "^1.0.1" - "@smithy/fetch-http-handler" "^1.0.1" - "@smithy/hash-node" "^1.0.1" - "@smithy/invalid-dependency" "^1.0.1" - "@smithy/middleware-content-length" "^1.0.1" - "@smithy/middleware-endpoint" "^1.0.2" - "@smithy/middleware-retry" "^1.0.3" - "@smithy/middleware-serde" "^1.0.1" - "@smithy/middleware-stack" "^1.0.1" - "@smithy/node-config-provider" "^1.0.1" - "@smithy/node-http-handler" "^1.0.2" - "@smithy/protocol-http" "^1.1.0" - "@smithy/smithy-client" "^1.0.3" - "@smithy/types" "^1.1.0" - "@smithy/url-parser" "^1.0.1" - "@smithy/util-base64" "^1.0.1" - "@smithy/util-body-length-browser" "^1.0.1" - "@smithy/util-body-length-node" "^1.0.1" - "@smithy/util-defaults-mode-browser" "^1.0.1" - "@smithy/util-defaults-mode-node" "^1.0.1" - "@smithy/util-retry" "^1.0.3" - "@smithy/util-utf8" "^1.0.1" - "@smithy/util-waiter" "^1.0.1" + "@aws-sdk/client-sts" "3.437.0" + "@aws-sdk/core" "3.436.0" + "@aws-sdk/credential-provider-node" "3.437.0" + "@aws-sdk/middleware-endpoint-discovery" "3.433.0" + "@aws-sdk/middleware-host-header" "3.433.0" + "@aws-sdk/middleware-logger" "3.433.0" + "@aws-sdk/middleware-recursion-detection" "3.433.0" + "@aws-sdk/middleware-signing" "3.433.0" + "@aws-sdk/middleware-user-agent" "3.433.0" + "@aws-sdk/region-config-resolver" "3.433.0" + "@aws-sdk/types" "3.433.0" + "@aws-sdk/util-endpoints" "3.433.0" + "@aws-sdk/util-user-agent-browser" "3.433.0" + "@aws-sdk/util-user-agent-node" "3.437.0" + "@smithy/config-resolver" "^2.0.16" + "@smithy/fetch-http-handler" "^2.2.4" + "@smithy/hash-node" "^2.0.12" + "@smithy/invalid-dependency" "^2.0.12" + "@smithy/middleware-content-length" "^2.0.14" + "@smithy/middleware-endpoint" "^2.1.3" + "@smithy/middleware-retry" "^2.0.18" + "@smithy/middleware-serde" "^2.0.12" + "@smithy/middleware-stack" "^2.0.6" + "@smithy/node-config-provider" "^2.1.3" + "@smithy/node-http-handler" "^2.1.8" + "@smithy/protocol-http" "^3.0.8" + "@smithy/smithy-client" "^2.1.12" + "@smithy/types" "^2.4.0" + "@smithy/url-parser" "^2.0.12" + "@smithy/util-base64" "^2.0.0" + "@smithy/util-body-length-browser" "^2.0.0" + "@smithy/util-body-length-node" "^2.1.0" + "@smithy/util-defaults-mode-browser" "^2.0.16" + "@smithy/util-defaults-mode-node" "^2.0.21" + "@smithy/util-retry" "^2.0.5" + "@smithy/util-utf8" "^2.0.0" + "@smithy/util-waiter" "^2.0.12" tslib "^2.5.0" uuid "^8.3.2" @@ -351,62 +335,64 @@ uuid "^8.3.2" "@aws-sdk/client-s3@^3.370.0", "@aws-sdk/client-s3@^3.58.0": - version "3.370.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-s3/-/client-s3-3.370.0.tgz#047a005040c7687bd291bc15c4153ed0ab16ab1a" - integrity sha512-+b53hI+C+tIiE6OhIvaUXD5qC0zFrCWIu6EKT597W+4XzfFIZE0BGgolP8pC1lLDghPjCFSmAm9Efcb2a1sPvw== + version "3.437.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-s3/-/client-s3-3.437.0.tgz#93484787310d6cf4ab86714233a14c5d9b0af2b5" + integrity sha512-KCocXvRH3pCTJNeNivDJN9mygK0B4Uvp5POWlCXgOj5iQU2U/sEpr+LqAwQZiZZjE7crcsAf0FPKMyk6/oMXHQ== dependencies: "@aws-crypto/sha1-browser" "3.0.0" "@aws-crypto/sha256-browser" "3.0.0" "@aws-crypto/sha256-js" "3.0.0" - "@aws-sdk/client-sts" "3.370.0" - "@aws-sdk/credential-provider-node" "3.370.0" - "@aws-sdk/hash-blob-browser" "3.370.0" - "@aws-sdk/hash-stream-node" "3.370.0" - "@aws-sdk/md5-js" "3.370.0" - "@aws-sdk/middleware-bucket-endpoint" "3.370.0" - "@aws-sdk/middleware-expect-continue" "3.370.0" - "@aws-sdk/middleware-flexible-checksums" "3.370.0" - "@aws-sdk/middleware-host-header" "3.370.0" - "@aws-sdk/middleware-location-constraint" "3.370.0" - "@aws-sdk/middleware-logger" "3.370.0" - "@aws-sdk/middleware-recursion-detection" "3.370.0" - "@aws-sdk/middleware-sdk-s3" "3.370.0" - "@aws-sdk/middleware-signing" "3.370.0" - "@aws-sdk/middleware-ssec" "3.370.0" - "@aws-sdk/middleware-user-agent" "3.370.0" - "@aws-sdk/signature-v4-multi-region" "3.370.0" - "@aws-sdk/types" "3.370.0" - "@aws-sdk/util-endpoints" "3.370.0" - "@aws-sdk/util-user-agent-browser" "3.370.0" - "@aws-sdk/util-user-agent-node" "3.370.0" + "@aws-sdk/client-sts" "3.437.0" + "@aws-sdk/core" "3.436.0" + "@aws-sdk/credential-provider-node" "3.437.0" + "@aws-sdk/middleware-bucket-endpoint" "3.433.0" + "@aws-sdk/middleware-expect-continue" "3.433.0" + "@aws-sdk/middleware-flexible-checksums" "3.433.0" + "@aws-sdk/middleware-host-header" "3.433.0" + "@aws-sdk/middleware-location-constraint" "3.433.0" + "@aws-sdk/middleware-logger" "3.433.0" + "@aws-sdk/middleware-recursion-detection" "3.433.0" + "@aws-sdk/middleware-sdk-s3" "3.433.0" + "@aws-sdk/middleware-signing" "3.433.0" + "@aws-sdk/middleware-ssec" "3.433.0" + "@aws-sdk/middleware-user-agent" "3.433.0" + "@aws-sdk/region-config-resolver" "3.433.0" + "@aws-sdk/signature-v4-multi-region" "3.437.0" + "@aws-sdk/types" "3.433.0" + "@aws-sdk/util-endpoints" "3.433.0" + "@aws-sdk/util-user-agent-browser" "3.433.0" + "@aws-sdk/util-user-agent-node" "3.437.0" "@aws-sdk/xml-builder" "3.310.0" - "@smithy/config-resolver" "^1.0.1" - "@smithy/eventstream-serde-browser" "^1.0.1" - "@smithy/eventstream-serde-config-resolver" "^1.0.1" - "@smithy/eventstream-serde-node" "^1.0.1" - "@smithy/fetch-http-handler" "^1.0.1" - "@smithy/hash-node" "^1.0.1" - "@smithy/invalid-dependency" "^1.0.1" - "@smithy/middleware-content-length" "^1.0.1" - "@smithy/middleware-endpoint" "^1.0.2" - "@smithy/middleware-retry" "^1.0.3" - "@smithy/middleware-serde" "^1.0.1" - "@smithy/middleware-stack" "^1.0.1" - "@smithy/node-config-provider" "^1.0.1" - "@smithy/node-http-handler" "^1.0.2" - "@smithy/protocol-http" "^1.1.0" - "@smithy/smithy-client" "^1.0.3" - "@smithy/types" "^1.1.0" - "@smithy/url-parser" "^1.0.1" - "@smithy/util-base64" "^1.0.1" - "@smithy/util-body-length-browser" "^1.0.1" - "@smithy/util-body-length-node" "^1.0.1" - "@smithy/util-defaults-mode-browser" "^1.0.1" - "@smithy/util-defaults-mode-node" "^1.0.1" - "@smithy/util-retry" "^1.0.3" - "@smithy/util-stream" "^1.0.1" - "@smithy/util-utf8" "^1.0.1" - "@smithy/util-waiter" "^1.0.1" + "@smithy/config-resolver" "^2.0.16" + "@smithy/eventstream-serde-browser" "^2.0.12" + "@smithy/eventstream-serde-config-resolver" "^2.0.12" + "@smithy/eventstream-serde-node" "^2.0.12" + "@smithy/fetch-http-handler" "^2.2.4" + "@smithy/hash-blob-browser" "^2.0.12" + "@smithy/hash-node" "^2.0.12" + "@smithy/hash-stream-node" "^2.0.12" + "@smithy/invalid-dependency" "^2.0.12" + "@smithy/md5-js" "^2.0.12" + "@smithy/middleware-content-length" "^2.0.14" + "@smithy/middleware-endpoint" "^2.1.3" + "@smithy/middleware-retry" "^2.0.18" + "@smithy/middleware-serde" "^2.0.12" + "@smithy/middleware-stack" "^2.0.6" + "@smithy/node-config-provider" "^2.1.3" + "@smithy/node-http-handler" "^2.1.8" + "@smithy/protocol-http" "^3.0.8" + "@smithy/smithy-client" "^2.1.12" + "@smithy/types" "^2.4.0" + "@smithy/url-parser" "^2.0.12" + "@smithy/util-base64" "^2.0.0" + "@smithy/util-body-length-browser" "^2.0.0" + "@smithy/util-body-length-node" "^2.1.0" + "@smithy/util-defaults-mode-browser" "^2.0.16" + "@smithy/util-defaults-mode-node" "^2.0.21" + "@smithy/util-retry" "^2.0.5" + "@smithy/util-stream" "^2.0.17" + "@smithy/util-utf8" "^2.0.0" + "@smithy/util-waiter" "^2.0.12" fast-xml-parser "4.2.5" tslib "^2.5.0" @@ -525,7 +511,48 @@ "@smithy/util-utf8" "^1.0.1" tslib "^2.5.0" -"@aws-sdk/client-sts@3.145.0", "@aws-sdk/client-sts@3.370.0", "@aws-sdk/client-sts@^3.370.0": +"@aws-sdk/client-sso@3.437.0": + version "3.437.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso/-/client-sso-3.437.0.tgz#25114f5fd734f5c897dd000575cfc051b9e3a9b2" + integrity sha512-AxlLWz9ec3b8Bt+RqRb2Q1ucGQtKrLdKDna+UTjz7AouB/jpoMiegV9NHXVX64N6YFnQnvB0UEGigXiOQE+y/g== + dependencies: + "@aws-crypto/sha256-browser" "3.0.0" + "@aws-crypto/sha256-js" "3.0.0" + "@aws-sdk/core" "3.436.0" + "@aws-sdk/middleware-host-header" "3.433.0" + "@aws-sdk/middleware-logger" "3.433.0" + "@aws-sdk/middleware-recursion-detection" "3.433.0" + "@aws-sdk/middleware-user-agent" "3.433.0" + "@aws-sdk/region-config-resolver" "3.433.0" + "@aws-sdk/types" "3.433.0" + "@aws-sdk/util-endpoints" "3.433.0" + "@aws-sdk/util-user-agent-browser" "3.433.0" + "@aws-sdk/util-user-agent-node" "3.437.0" + "@smithy/config-resolver" "^2.0.16" + "@smithy/fetch-http-handler" "^2.2.4" + "@smithy/hash-node" "^2.0.12" + "@smithy/invalid-dependency" "^2.0.12" + "@smithy/middleware-content-length" "^2.0.14" + "@smithy/middleware-endpoint" "^2.1.3" + "@smithy/middleware-retry" "^2.0.18" + "@smithy/middleware-serde" "^2.0.12" + "@smithy/middleware-stack" "^2.0.6" + "@smithy/node-config-provider" "^2.1.3" + "@smithy/node-http-handler" "^2.1.8" + "@smithy/protocol-http" "^3.0.8" + "@smithy/smithy-client" "^2.1.12" + "@smithy/types" "^2.4.0" + "@smithy/url-parser" "^2.0.12" + "@smithy/util-base64" "^2.0.0" + "@smithy/util-body-length-browser" "^2.0.0" + "@smithy/util-body-length-node" "^2.1.0" + "@smithy/util-defaults-mode-browser" "^2.0.16" + "@smithy/util-defaults-mode-node" "^2.0.21" + "@smithy/util-retry" "^2.0.5" + "@smithy/util-utf8" "^2.0.0" + tslib "^2.5.0" + +"@aws-sdk/client-sts@3.145.0", "@aws-sdk/client-sts@^3.370.0": version "3.370.0" resolved "https://registry.yarnpkg.com/@aws-sdk/client-sts/-/client-sts-3.370.0.tgz#65879fa35b396035dcab446c782056ef768f48af" integrity sha512-utFxOPWIzbN+3kc415Je2o4J72hOLNhgR2Gt5EnRSggC3yOnkC4GzauxG8n7n5gZGBX45eyubHyPOXLOIyoqQA== @@ -568,6 +595,51 @@ fast-xml-parser "4.2.5" tslib "^2.5.0" +"@aws-sdk/client-sts@3.437.0": + version "3.437.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-sts/-/client-sts-3.437.0.tgz#d0842b58c52858cdef7f979da2672192897db4d5" + integrity sha512-ilLcrCVwH81UbKNpB9Vax1Fw/mNx2d/bWXkCNXPvrExO+K39VFGS/VijOuSrru2iBq844NlG3uQV8DL/nbiKdA== + dependencies: + "@aws-crypto/sha256-browser" "3.0.0" + "@aws-crypto/sha256-js" "3.0.0" + "@aws-sdk/core" "3.436.0" + "@aws-sdk/credential-provider-node" "3.437.0" + "@aws-sdk/middleware-host-header" "3.433.0" + "@aws-sdk/middleware-logger" "3.433.0" + "@aws-sdk/middleware-recursion-detection" "3.433.0" + "@aws-sdk/middleware-sdk-sts" "3.433.0" + "@aws-sdk/middleware-signing" "3.433.0" + "@aws-sdk/middleware-user-agent" "3.433.0" + "@aws-sdk/region-config-resolver" "3.433.0" + "@aws-sdk/types" "3.433.0" + "@aws-sdk/util-endpoints" "3.433.0" + "@aws-sdk/util-user-agent-browser" "3.433.0" + "@aws-sdk/util-user-agent-node" "3.437.0" + "@smithy/config-resolver" "^2.0.16" + "@smithy/fetch-http-handler" "^2.2.4" + "@smithy/hash-node" "^2.0.12" + "@smithy/invalid-dependency" "^2.0.12" + "@smithy/middleware-content-length" "^2.0.14" + "@smithy/middleware-endpoint" "^2.1.3" + "@smithy/middleware-retry" "^2.0.18" + "@smithy/middleware-serde" "^2.0.12" + "@smithy/middleware-stack" "^2.0.6" + "@smithy/node-config-provider" "^2.1.3" + "@smithy/node-http-handler" "^2.1.8" + "@smithy/protocol-http" "^3.0.8" + "@smithy/smithy-client" "^2.1.12" + "@smithy/types" "^2.4.0" + "@smithy/url-parser" "^2.0.12" + "@smithy/util-base64" "^2.0.0" + "@smithy/util-body-length-browser" "^2.0.0" + "@smithy/util-body-length-node" "^2.1.0" + "@smithy/util-defaults-mode-browser" "^2.0.16" + "@smithy/util-defaults-mode-node" "^2.0.21" + "@smithy/util-retry" "^2.0.5" + "@smithy/util-utf8" "^2.0.0" + fast-xml-parser "4.2.5" + tslib "^2.5.0" + "@aws-sdk/config-resolver@3.130.0": version "3.130.0" resolved "https://registry.yarnpkg.com/@aws-sdk/config-resolver/-/config-resolver-3.130.0.tgz#ba0fa915fa5613e87051a9826531e59cab4387b1" @@ -579,6 +651,13 @@ "@aws-sdk/util-middleware" "3.127.0" tslib "^2.3.1" +"@aws-sdk/core@3.436.0": + version "3.436.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/core/-/core-3.436.0.tgz#d85ecde9ac524a8f3cfe7e29b9e16942d7291723" + integrity sha512-vX5/LjXvCejC2XUY6TSg1oozjqK6BvkE75t0ys9dgqyr5PlZyZksMoeAFHUlj0sCjhT3ziWCujP1oiSpPWY9hg== + dependencies: + "@smithy/smithy-client" "^2.1.12" + "@aws-sdk/credential-provider-env@3.127.0": version "3.127.0" resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-env/-/credential-provider-env-3.127.0.tgz#06eb67461f7df8feb14abd3b459f682544d78e43" @@ -598,6 +677,16 @@ "@smithy/types" "^1.1.0" tslib "^2.5.0" +"@aws-sdk/credential-provider-env@3.433.0": + version "3.433.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-env/-/credential-provider-env-3.433.0.tgz#7cceca1002ba2e79e10a9dfb119442bea7b88e7c" + integrity sha512-Vl7Qz5qYyxBurMn6hfSiNJeUHSqfVUlMt0C1Bds3tCkl3IzecRWwyBOlxtxO3VCrgVeW3HqswLzCvhAFzPH6nQ== + dependencies: + "@aws-sdk/types" "3.433.0" + "@smithy/property-provider" "^2.0.0" + "@smithy/types" "^2.4.0" + tslib "^2.5.0" + "@aws-sdk/credential-provider-imds@3.127.0": version "3.127.0" resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.127.0.tgz#1fc7b40bf21adcc2a897e47b72796bd8ebcc7d86" @@ -639,6 +728,22 @@ "@smithy/types" "^1.1.0" tslib "^2.5.0" +"@aws-sdk/credential-provider-ini@3.437.0": + version "3.437.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.437.0.tgz#2beea3bfa90e10770a1e06b8178e31ec31414f31" + integrity sha512-UybiJxYPvdwok5OcI9LakaHmaWZBdkX0gY8yU2n7TomYgWOwDJ88MpQgjXUJJ249PH+9/+How5H3vnFp0xJ0uQ== + dependencies: + "@aws-sdk/credential-provider-env" "3.433.0" + "@aws-sdk/credential-provider-process" "3.433.0" + "@aws-sdk/credential-provider-sso" "3.437.0" + "@aws-sdk/credential-provider-web-identity" "3.433.0" + "@aws-sdk/types" "3.433.0" + "@smithy/credential-provider-imds" "^2.0.0" + "@smithy/property-provider" "^2.0.0" + "@smithy/shared-ini-file-loader" "^2.0.6" + "@smithy/types" "^2.4.0" + tslib "^2.5.0" + "@aws-sdk/credential-provider-node@3.145.0": version "3.145.0" resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-node/-/credential-provider-node-3.145.0.tgz#cc6ec178906677131cee05fdc992e1ca786d875b" @@ -672,6 +777,23 @@ "@smithy/types" "^1.1.0" tslib "^2.5.0" +"@aws-sdk/credential-provider-node@3.437.0": + version "3.437.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-node/-/credential-provider-node-3.437.0.tgz#8faf3cd8f9987dabfdd8622f5f399a5c18092cde" + integrity sha512-FMtgEe/me68xZQsymEpMcw7OuuiHaHx/Tp5EqZP5FC0Yv1yX3qr/ncIWU2zY3a9K0iLERmzQI1g3CMd8r4sy8A== + dependencies: + "@aws-sdk/credential-provider-env" "3.433.0" + "@aws-sdk/credential-provider-ini" "3.437.0" + "@aws-sdk/credential-provider-process" "3.433.0" + "@aws-sdk/credential-provider-sso" "3.437.0" + "@aws-sdk/credential-provider-web-identity" "3.433.0" + "@aws-sdk/types" "3.433.0" + "@smithy/credential-provider-imds" "^2.0.0" + "@smithy/property-provider" "^2.0.0" + "@smithy/shared-ini-file-loader" "^2.0.6" + "@smithy/types" "^2.4.0" + tslib "^2.5.0" + "@aws-sdk/credential-provider-process@3.127.0": version "3.127.0" resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-process/-/credential-provider-process-3.127.0.tgz#6046a20013a3edd58b631668ed1d73dfd63a931c" @@ -693,6 +815,17 @@ "@smithy/types" "^1.1.0" tslib "^2.5.0" +"@aws-sdk/credential-provider-process@3.433.0": + version "3.433.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-process/-/credential-provider-process-3.433.0.tgz#dd51c92480ed620e4c3f989852ee408ab1209d59" + integrity sha512-W7FcGlQjio9Y/PepcZGRyl5Bpwb0uWU7qIUCh+u4+q2mW4D5ZngXg8V/opL9/I/p4tUH9VXZLyLGwyBSkdhL+A== + dependencies: + "@aws-sdk/types" "3.433.0" + "@smithy/property-provider" "^2.0.0" + "@smithy/shared-ini-file-loader" "^2.0.6" + "@smithy/types" "^2.4.0" + tslib "^2.5.0" + "@aws-sdk/credential-provider-sso@3.145.0": version "3.145.0" resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.145.0.tgz#217621bd736553c29279cc52932e4e4662bd9442" @@ -717,6 +850,19 @@ "@smithy/types" "^1.1.0" tslib "^2.5.0" +"@aws-sdk/credential-provider-sso@3.437.0": + version "3.437.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.437.0.tgz#0c299745d961674a9631fd11651b63caff39f791" + integrity sha512-kijtnyyA6/+ipOef4KACsLDUTFWDZ97DSWKU0hJFyGEfelaon6o7NNVufuVOWrBNyklNWZqvPLuwWWQCxb6fuQ== + dependencies: + "@aws-sdk/client-sso" "3.437.0" + "@aws-sdk/token-providers" "3.437.0" + "@aws-sdk/types" "3.433.0" + "@smithy/property-provider" "^2.0.0" + "@smithy/shared-ini-file-loader" "^2.0.6" + "@smithy/types" "^2.4.0" + tslib "^2.5.0" + "@aws-sdk/credential-provider-web-identity@3.127.0": version "3.127.0" resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.127.0.tgz#a56c390bf0148f20573abd022930b28df345043a" @@ -736,6 +882,16 @@ "@smithy/types" "^1.1.0" tslib "^2.5.0" +"@aws-sdk/credential-provider-web-identity@3.433.0": + version "3.433.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.433.0.tgz#32403ba9cc47d3c46500f3c8e5e0041d20e4dbe8" + integrity sha512-RlwjP1I5wO+aPpwyCp23Mk8nmRbRL33hqRASy73c4JA2z2YiRua+ryt6MalIxehhwQU6xvXUKulJnPG9VaMFZg== + dependencies: + "@aws-sdk/types" "3.433.0" + "@smithy/property-provider" "^2.0.0" + "@smithy/types" "^2.4.0" + tslib "^2.5.0" + "@aws-sdk/endpoint-cache@3.310.0": version "3.310.0" resolved "https://registry.yarnpkg.com/@aws-sdk/endpoint-cache/-/endpoint-cache-3.310.0.tgz#e6f84bfcd55462966811390ef797145559bab15a" @@ -763,16 +919,6 @@ "@aws-sdk/util-base64-browser" "3.109.0" tslib "^2.3.1" -"@aws-sdk/hash-blob-browser@3.370.0": - version "3.370.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/hash-blob-browser/-/hash-blob-browser-3.370.0.tgz#e18f92c222496de6a26f671ae4d708ad95336859" - integrity sha512-DyStaznfloyF9jN3KvG6puOAjt25alXoBNeHBF2FyLlEEbrOqUmso39JB5LVAw2/KB4UmCNsbAXFb6WktX/yHQ== - dependencies: - "@aws-sdk/chunked-blob-reader" "3.310.0" - "@aws-sdk/chunked-blob-reader-native" "3.310.0" - "@aws-sdk/types" "3.370.0" - tslib "^2.5.0" - "@aws-sdk/hash-node@3.127.0": version "3.127.0" resolved "https://registry.yarnpkg.com/@aws-sdk/hash-node/-/hash-node-3.127.0.tgz#2fbbeb509a515e6a5cfd6846c02cc1967961a40b" @@ -782,15 +928,6 @@ "@aws-sdk/util-buffer-from" "3.55.0" tslib "^2.3.1" -"@aws-sdk/hash-stream-node@3.370.0": - version "3.370.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/hash-stream-node/-/hash-stream-node-3.370.0.tgz#95330f409145c88e162117afd89e3d5e00ff6e86" - integrity sha512-ExsbBiIMiL9AN1VpWlD8+xaO5s0cXUZJC2UONiQbgMb1jz7Wq9fa1GmKUDyaGXOuQTT7DDhAmalb9fIpauZKuA== - dependencies: - "@aws-sdk/types" "3.370.0" - "@aws-sdk/util-utf8" "3.310.0" - tslib "^2.5.0" - "@aws-sdk/invalid-dependency@3.127.0": version "3.127.0" resolved "https://registry.yarnpkg.com/@aws-sdk/invalid-dependency/-/invalid-dependency-3.127.0.tgz#3a99603e1969f67278495b827243e9a391b8cfc4" @@ -799,13 +936,6 @@ "@aws-sdk/types" "3.127.0" tslib "^2.3.1" -"@aws-sdk/is-array-buffer@3.310.0": - version "3.310.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/is-array-buffer/-/is-array-buffer-3.310.0.tgz#f87a79f1b858c88744f07e8d8d0a791df204017e" - integrity sha512-urnbcCR+h9NWUnmOtet/s4ghvzsidFmspfhYaHAmSRdy9yDjdjBJMFjjsn85A1ODUktztm+cVncXjQ38WCMjMQ== - dependencies: - tslib "^2.5.0" - "@aws-sdk/is-array-buffer@3.55.0": version "3.55.0" resolved "https://registry.yarnpkg.com/@aws-sdk/is-array-buffer/-/is-array-buffer-3.55.0.tgz#c46122c5636f01d5895e5256a587768c3425ea7a" @@ -834,15 +964,6 @@ stream-browserify "3.0.0" tslib "^2.5.0" -"@aws-sdk/md5-js@3.370.0": - version "3.370.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/md5-js/-/md5-js-3.370.0.tgz#b0758574fa0556afbfa633ce5d21d5510fa18bb2" - integrity sha512-wch3+hiRdFGsu5E+w3WU9qmumQErKshtgetd6wMgFYm2MPSksFU58rM/aiwiWRA6knpcaShKaPKMmGnuX3HwhQ== - dependencies: - "@aws-sdk/types" "3.370.0" - "@aws-sdk/util-utf8" "3.310.0" - tslib "^2.5.0" - "@aws-sdk/middleware-bucket-endpoint@3.127.0": version "3.127.0" resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.127.0.tgz#789ba99cc4f4100241406fdbb5c6a89226b4d6cf" @@ -854,16 +975,17 @@ "@aws-sdk/util-config-provider" "3.109.0" tslib "^2.3.1" -"@aws-sdk/middleware-bucket-endpoint@3.370.0": - version "3.370.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.370.0.tgz#965a0ea2323b719703d1dec76a4e7b39d5a7463f" - integrity sha512-B36+fOeJVO0D9cjR92Ob6Ki2FTzyTQ/uKk8w+xtur6W6zYVOPU4IQNpNZvN3Ykt4jitR2uUnVSlBb3sXHHhdFA== +"@aws-sdk/middleware-bucket-endpoint@3.433.0": + version "3.433.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.433.0.tgz#2ed355bc78491d093efbe69ad18fef43194a215f" + integrity sha512-Lk1xIu2tWTRa1zDw5hCF1RrpWQYSodUhrS/q3oKz8IAoFqEy+lNaD5jx+fycuZb5EkE4IzWysT+8wVkd0mAnOg== dependencies: - "@aws-sdk/types" "3.370.0" + "@aws-sdk/types" "3.433.0" "@aws-sdk/util-arn-parser" "3.310.0" - "@smithy/protocol-http" "^1.1.0" - "@smithy/types" "^1.1.0" - "@smithy/util-config-provider" "^1.0.1" + "@smithy/node-config-provider" "^2.1.3" + "@smithy/protocol-http" "^3.0.8" + "@smithy/types" "^2.4.0" + "@smithy/util-config-provider" "^2.0.0" tslib "^2.5.0" "@aws-sdk/middleware-content-length@3.127.0": @@ -886,39 +1008,40 @@ "@aws-sdk/types" "3.127.0" tslib "^2.3.1" -"@aws-sdk/middleware-endpoint-discovery@3.370.0": - version "3.370.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-endpoint-discovery/-/middleware-endpoint-discovery-3.370.0.tgz#b9165d8d8319136047071114f2f154a299bc7f14" - integrity sha512-CxTo+AUW1XIT0U1COzBjdQ39eWbWk5Sv9OmA73g1vHwwvy9M3vFl78cnaKnauGv7BI/NtM5IeRy0w5T22BtWgg== +"@aws-sdk/middleware-endpoint-discovery@3.433.0": + version "3.433.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-endpoint-discovery/-/middleware-endpoint-discovery-3.433.0.tgz#e292b876c0d9b20992c108d95502f4fddab5a495" + integrity sha512-eGQcncEtnQs2wMpLkJoreba/5547/eDDojGLuGjBmKtbZbVNZ9nbyCC//WIsmgT5CR5Bg9D+bNSsijmYpU6Qpg== dependencies: "@aws-sdk/endpoint-cache" "3.310.0" - "@aws-sdk/types" "3.370.0" - "@smithy/protocol-http" "^1.1.0" - "@smithy/types" "^1.1.0" + "@aws-sdk/types" "3.433.0" + "@smithy/node-config-provider" "^2.1.3" + "@smithy/protocol-http" "^3.0.8" + "@smithy/types" "^2.4.0" tslib "^2.5.0" -"@aws-sdk/middleware-expect-continue@3.370.0": - version "3.370.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.370.0.tgz#5eb7c7e65fc345ef31bcecb37522550cd12cd29a" - integrity sha512-OlFIpXa53obLryHyrqedE2Cp8lp2k+1Vjd++hlZFDFJncRlWZMxoXSyl6shQPqhIiGnNW4vt7tG5xE4jg4NAvw== +"@aws-sdk/middleware-expect-continue@3.433.0": + version "3.433.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.433.0.tgz#52139e80023a3560266de63e8fc68f517efa0f07" + integrity sha512-Uq2rPIsjz0CR2sulM/HyYr5WiqiefrSRLdwUZuA7opxFSfE808w5DBWSprHxbH3rbDSQR4nFiOiVYIH8Eth7nA== dependencies: - "@aws-sdk/types" "3.370.0" - "@smithy/protocol-http" "^1.1.0" - "@smithy/types" "^1.1.0" + "@aws-sdk/types" "3.433.0" + "@smithy/protocol-http" "^3.0.8" + "@smithy/types" "^2.4.0" tslib "^2.5.0" -"@aws-sdk/middleware-flexible-checksums@3.370.0": - version "3.370.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.370.0.tgz#f3b59ac7c3ec205d063e136fd040ca4922464c07" - integrity sha512-62fyW4hZxppvkQKSXdkzjHQ95dXyVCuL18Sfnlciy9pr9f/t5w6LhZIxsNIW+Ge9mbgc661SVRKTwxlZj6FuLQ== +"@aws-sdk/middleware-flexible-checksums@3.433.0": + version "3.433.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.433.0.tgz#7fd27d903f539f46109afdbae5ff2a23bba36690" + integrity sha512-Ptssx373+I7EzFUWjp/i/YiNFt6I6sDuRHz6DOUR9nmmRTlHHqmdcBXlJL2d9wwFxoBRCN8/PXGsTc/DJ4c95Q== dependencies: "@aws-crypto/crc32" "3.0.0" "@aws-crypto/crc32c" "3.0.0" - "@aws-sdk/types" "3.370.0" - "@smithy/is-array-buffer" "^1.0.1" - "@smithy/protocol-http" "^1.1.0" - "@smithy/types" "^1.1.0" - "@smithy/util-utf8" "^1.0.1" + "@aws-sdk/types" "3.433.0" + "@smithy/is-array-buffer" "^2.0.0" + "@smithy/protocol-http" "^3.0.8" + "@smithy/types" "^2.4.0" + "@smithy/util-utf8" "^2.0.0" tslib "^2.5.0" "@aws-sdk/middleware-host-header@3.127.0": @@ -940,13 +1063,23 @@ "@smithy/types" "^1.1.0" tslib "^2.5.0" -"@aws-sdk/middleware-location-constraint@3.370.0": - version "3.370.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.370.0.tgz#aa12d98a4cd8705dbda2642aac386a7b023ae651" - integrity sha512-NlDZEbBOF1IN7svUTcjbLodkUctt9zsfDI8+DqNlklRs5lsPb91WYvahOfjFO/EvACixa+a5d3cCumMCaIq4Cw== +"@aws-sdk/middleware-host-header@3.433.0": + version "3.433.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-host-header/-/middleware-host-header-3.433.0.tgz#3b6687ee4021c2b56c96cff61b45a33fb762b1c7" + integrity sha512-mBTq3UWv1UzeHG+OfUQ2MB/5GEkt5LTKFaUqzL7ESwzW8XtpBgXnjZvIwu3Vcd3sEetMwijwaGiJhY0ae/YyaA== dependencies: - "@aws-sdk/types" "3.370.0" - "@smithy/types" "^1.1.0" + "@aws-sdk/types" "3.433.0" + "@smithy/protocol-http" "^3.0.8" + "@smithy/types" "^2.4.0" + tslib "^2.5.0" + +"@aws-sdk/middleware-location-constraint@3.433.0": + version "3.433.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.433.0.tgz#d9085df0ff6c7a4cf4077c41ce39386b2acae5a4" + integrity sha512-2YD860TGntwZifIUbxm+lFnNJJhByR/RB/+fV1I8oGKg+XX2rZU+94pRfHXRywoZKlCA0L+LGDA1I56jxrB9sw== + dependencies: + "@aws-sdk/types" "3.433.0" + "@smithy/types" "^2.4.0" tslib "^2.5.0" "@aws-sdk/middleware-logger@3.127.0": @@ -966,6 +1099,15 @@ "@smithy/types" "^1.1.0" tslib "^2.5.0" +"@aws-sdk/middleware-logger@3.433.0": + version "3.433.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-logger/-/middleware-logger-3.433.0.tgz#fcd4e31a8f134861cd519477b959c218a3600186" + integrity sha512-We346Fb5xGonTGVZC9Nvqtnqy74VJzYuTLLiuuftA5sbNzftBDy/22QCfvYSTOAl3bvif+dkDUzQY2ihc5PwOQ== + dependencies: + "@aws-sdk/types" "3.433.0" + "@smithy/types" "^2.4.0" + tslib "^2.5.0" + "@aws-sdk/middleware-recursion-detection@3.127.0": version "3.127.0" resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.127.0.tgz#84949efd4a05a4d00da3e9242825e3c9d715f800" @@ -985,6 +1127,16 @@ "@smithy/types" "^1.1.0" tslib "^2.5.0" +"@aws-sdk/middleware-recursion-detection@3.433.0": + version "3.433.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.433.0.tgz#5b4b7878ea46c70f507c9ea7c30ad0e5ee4ae6bf" + integrity sha512-HEvYC9PQlWY/ccUYtLvAlwwf1iCif2TSAmLNr3YTBRVa98x6jKL0hlCrHWYklFeqOGSKy6XhE+NGJMUII0/HaQ== + dependencies: + "@aws-sdk/types" "3.433.0" + "@smithy/protocol-http" "^3.0.8" + "@smithy/types" "^2.4.0" + tslib "^2.5.0" + "@aws-sdk/middleware-retry@3.127.0": version "3.127.0" resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-retry/-/middleware-retry-3.127.0.tgz#bcd0741ed676588101739083c6bd141d5c1911e1" @@ -1017,15 +1169,16 @@ "@aws-sdk/util-arn-parser" "3.55.0" tslib "^2.3.1" -"@aws-sdk/middleware-sdk-s3@3.370.0": - version "3.370.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.370.0.tgz#4ff48cba4da0465077230c8bdd8a117654aff9bb" - integrity sha512-DPYXtveWBDS5MzSHWTThg2KkLaOzZkCgPejjEuw3yl4ljsHawDs/ZIVCtmWXlBIS2lLCaBMpCV+t9psuJ/6/zQ== +"@aws-sdk/middleware-sdk-s3@3.433.0": + version "3.433.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.433.0.tgz#5b5c2fcd4c012aebe91b9b26b57b6509b4d9959f" + integrity sha512-mkn3DiSuMVh4NTLsduC42Av+ApcOor52LMoQY0Wc6M5Mx7Xd05U+G1j8sjI9n/1bs5cZ/PoeRYJ/9bL1Xxznnw== dependencies: - "@aws-sdk/types" "3.370.0" + "@aws-sdk/types" "3.433.0" "@aws-sdk/util-arn-parser" "3.310.0" - "@smithy/protocol-http" "^1.1.0" - "@smithy/types" "^1.1.0" + "@smithy/protocol-http" "^3.0.8" + "@smithy/smithy-client" "^2.1.12" + "@smithy/types" "^2.4.0" tslib "^2.5.0" "@aws-sdk/middleware-sdk-sts@3.370.0": @@ -1038,6 +1191,16 @@ "@smithy/types" "^1.1.0" tslib "^2.5.0" +"@aws-sdk/middleware-sdk-sts@3.433.0": + version "3.433.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.433.0.tgz#9b30f17a922ecc5fd46b93f1edcd20d7146b814f" + integrity sha512-ORYbJnBejUyonFl5FwIqhvI3Cq6sAp9j+JpkKZtFNma9tFPdrhmYgfCeNH32H/wGTQV/tUoQ3luh0gA4cuk6DA== + dependencies: + "@aws-sdk/middleware-signing" "3.433.0" + "@aws-sdk/types" "3.433.0" + "@smithy/types" "^2.4.0" + tslib "^2.5.0" + "@aws-sdk/middleware-serde@3.127.0": version "3.127.0" resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-serde/-/middleware-serde-3.127.0.tgz#8732d71ed0d28c43e609fcc156b1a1ac307c0d5f" @@ -1070,13 +1233,26 @@ "@smithy/util-middleware" "^1.0.1" tslib "^2.5.0" -"@aws-sdk/middleware-ssec@3.370.0": - version "3.370.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-ssec/-/middleware-ssec-3.370.0.tgz#e7b6f7b6fba23c64cfc9c7ceed12613d6694f1cc" - integrity sha512-NIosfLS7mxCNdGYnuy76W9qP3f3YWVTusUA+uv+s6rnwG+Z2UheXCf1wpnJKzxORA8pioSP7ylZ8w2A0reCgYQ== +"@aws-sdk/middleware-signing@3.433.0": + version "3.433.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-signing/-/middleware-signing-3.433.0.tgz#670557ace5b97729dbabb6a991815e44eb0ef03b" + integrity sha512-jxPvt59NZo/epMNLNTu47ikmP8v0q217I6bQFGJG7JVFnfl36zDktMwGw+0xZR80qiK47/2BWrNpta61Zd2FxQ== + dependencies: + "@aws-sdk/types" "3.433.0" + "@smithy/property-provider" "^2.0.0" + "@smithy/protocol-http" "^3.0.8" + "@smithy/signature-v4" "^2.0.0" + "@smithy/types" "^2.4.0" + "@smithy/util-middleware" "^2.0.5" + tslib "^2.5.0" + +"@aws-sdk/middleware-ssec@3.433.0": + version "3.433.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-ssec/-/middleware-ssec-3.433.0.tgz#91a6d3d12362831e1187e9f81f499e10ee21229e" + integrity sha512-2AMaPx0kYfCiekxoL7aqFqSSoA9du+yI4zefpQNLr+1cZOerYiDxdsZ4mbqStR1CVFaX6U6hrYokXzjInsvETw== dependencies: - "@aws-sdk/types" "3.370.0" - "@smithy/types" "^1.1.0" + "@aws-sdk/types" "3.433.0" + "@smithy/types" "^2.4.0" tslib "^2.5.0" "@aws-sdk/middleware-stack@3.127.0": @@ -1106,6 +1282,17 @@ "@smithy/types" "^1.1.0" tslib "^2.5.0" +"@aws-sdk/middleware-user-agent@3.433.0": + version "3.433.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.433.0.tgz#21b874708e015b6f5cc33bf0545d2a0f9d9ab3a5" + integrity sha512-jMgA1jHfisBK4oSjMKrtKEZf0sl2vzADivkFmyZFzORpSZxBnF6hC21RjaI+70LJLcc9rSCzLgcoz5lHb9LLDg== + dependencies: + "@aws-sdk/types" "3.433.0" + "@aws-sdk/util-endpoints" "3.433.0" + "@smithy/protocol-http" "^3.0.8" + "@smithy/types" "^2.4.0" + tslib "^2.5.0" + "@aws-sdk/node-config-provider@3.127.0": version "3.127.0" resolved "https://registry.yarnpkg.com/@aws-sdk/node-config-provider/-/node-config-provider-3.127.0.tgz#43a460526f0c24a661264189712e0ff5475e9b45" @@ -1127,17 +1314,6 @@ "@aws-sdk/types" "3.127.0" tslib "^2.3.1" -"@aws-sdk/node-http-handler@3.370.0": - version "3.370.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/node-http-handler/-/node-http-handler-3.370.0.tgz#417b37857f2e081f7947102cc679703e537175aa" - integrity sha512-v2mCtrbzbsK5YFopIeD7oIl+aEHtyFeNDq2ODkNlO0HPYBRbvFHFKFeUsyR991tfmffPonae4oeI9RI8eZQu2A== - dependencies: - "@aws-sdk/abort-controller" "3.370.0" - "@aws-sdk/protocol-http" "3.370.0" - "@aws-sdk/querystring-builder" "3.370.0" - "@aws-sdk/types" "3.370.0" - tslib "^2.5.0" - "@aws-sdk/property-provider@3.127.0": version "3.127.0" resolved "https://registry.yarnpkg.com/@aws-sdk/property-provider/-/property-provider-3.127.0.tgz#3b70d23354c35ea04c29c97f05cc4108c2e194ba" @@ -1154,14 +1330,6 @@ "@aws-sdk/types" "3.127.0" tslib "^2.3.1" -"@aws-sdk/protocol-http@3.370.0": - version "3.370.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/protocol-http/-/protocol-http-3.370.0.tgz#8ce4a99ea28ad373c65a86f761e3ccb859b322f7" - integrity sha512-MfZCgSsVmir+4kJps7xT0awOPNi+swBpcVp9ZtAP7POduUVV6zVLurMNLXsppKsErggssD5E9HUgQFs5w06U4Q== - dependencies: - "@aws-sdk/types" "3.370.0" - tslib "^2.5.0" - "@aws-sdk/querystring-builder@3.127.0": version "3.127.0" resolved "https://registry.yarnpkg.com/@aws-sdk/querystring-builder/-/querystring-builder-3.127.0.tgz#50a100d13bd13bb06ee92dcd9568e21a37fb9c49" @@ -1171,15 +1339,6 @@ "@aws-sdk/util-uri-escape" "3.55.0" tslib "^2.3.1" -"@aws-sdk/querystring-builder@3.370.0": - version "3.370.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/querystring-builder/-/querystring-builder-3.370.0.tgz#9a7aeaa7351e39549e8a1dba19cf36df1a8e1eae" - integrity sha512-yrDWn3AtXArHWXh9NATcf+aaF6SPBxgroSIHYKKDA7B0UlSEpCOroz7anj0Lvewwo1D3hLlXcJlBSGVtWI0Xyg== - dependencies: - "@aws-sdk/types" "3.370.0" - "@aws-sdk/util-uri-escape" "3.310.0" - tslib "^2.5.0" - "@aws-sdk/querystring-parser@3.127.0": version "3.127.0" resolved "https://registry.yarnpkg.com/@aws-sdk/querystring-parser/-/querystring-parser-3.127.0.tgz#d485db0d24005e95bb4c9c478691cd805e5fc0f4" @@ -1188,6 +1347,17 @@ "@aws-sdk/types" "3.127.0" tslib "^2.3.1" +"@aws-sdk/region-config-resolver@3.433.0": + version "3.433.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/region-config-resolver/-/region-config-resolver-3.433.0.tgz#37eb5f40db8af7ba9361aeb28c62b45421e780f0" + integrity sha512-xpjRjCZW+CDFdcMmmhIYg81ST5UAnJh61IHziQEk0FXONrg4kjyYPZAOjEdzXQ+HxJQuGQLKPhRdzxmQnbX7pg== + dependencies: + "@smithy/node-config-provider" "^2.1.3" + "@smithy/types" "^2.4.0" + "@smithy/util-config-provider" "^2.0.0" + "@smithy/util-middleware" "^2.0.5" + tslib "^2.5.0" + "@aws-sdk/s3-request-presigner@^3.58.0": version "3.142.0" resolved "https://registry.yarnpkg.com/@aws-sdk/s3-request-presigner/-/s3-request-presigner-3.142.0.tgz#e205b48b138206c89cae953e542bdcab39c77060" @@ -1239,15 +1409,15 @@ "@aws-sdk/util-arn-parser" "3.55.0" tslib "^2.3.1" -"@aws-sdk/signature-v4-multi-region@3.370.0": - version "3.370.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.370.0.tgz#1a6eee2c9a197ca3d48fcf9bfaa326e8990c6042" - integrity sha512-Q3NQopPDnHbJXMhtYl0Mfy5U2o76K6tzhdnYRcrYImY0ze/zOkCQI7KPC4588PuyvAXCdQ02cmCPPjYD55UeNg== +"@aws-sdk/signature-v4-multi-region@3.437.0": + version "3.437.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.437.0.tgz#4c95021a5617884c1fe2440466112a803c4540eb" + integrity sha512-MmrqudssOs87JgVg7HGVdvJws/t4kcOrJJd+975ki+DPeSoyK2U4zBDfDkJ+n0tFuZBs3sLwLh0QXE7BV28rRA== dependencies: - "@aws-sdk/types" "3.370.0" - "@smithy/protocol-http" "^1.1.0" - "@smithy/signature-v4" "^1.0.1" - "@smithy/types" "^1.1.0" + "@aws-sdk/types" "3.433.0" + "@smithy/protocol-http" "^3.0.8" + "@smithy/signature-v4" "^2.0.0" + "@smithy/types" "^2.4.0" tslib "^2.5.0" "@aws-sdk/signature-v4@3.130.0": @@ -1283,7 +1453,49 @@ "@smithy/types" "^1.1.0" tslib "^2.5.0" -"@aws-sdk/types@3.127.0", "@aws-sdk/types@3.370.0", "@aws-sdk/types@^3.1.0", "@aws-sdk/types@^3.222.0", "@aws-sdk/types@^3.370.0", "@aws-sdk/types@^3.58.0": +"@aws-sdk/token-providers@3.437.0": + version "3.437.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/token-providers/-/token-providers-3.437.0.tgz#743b6e556a810c9555c697effbd8b2a81d5bc0c9" + integrity sha512-nV9qIuG0+6XJb7hWpCC+/K7RoY3PZUWndP8BRQv7PQhhpd8tG/I5Kxb0V83h2XFBXyyjnv0aOHO8ehz3Kfcv2Q== + dependencies: + "@aws-crypto/sha256-browser" "3.0.0" + "@aws-crypto/sha256-js" "3.0.0" + "@aws-sdk/middleware-host-header" "3.433.0" + "@aws-sdk/middleware-logger" "3.433.0" + "@aws-sdk/middleware-recursion-detection" "3.433.0" + "@aws-sdk/middleware-user-agent" "3.433.0" + "@aws-sdk/region-config-resolver" "3.433.0" + "@aws-sdk/types" "3.433.0" + "@aws-sdk/util-endpoints" "3.433.0" + "@aws-sdk/util-user-agent-browser" "3.433.0" + "@aws-sdk/util-user-agent-node" "3.437.0" + "@smithy/config-resolver" "^2.0.16" + "@smithy/fetch-http-handler" "^2.2.4" + "@smithy/hash-node" "^2.0.12" + "@smithy/invalid-dependency" "^2.0.12" + "@smithy/middleware-content-length" "^2.0.14" + "@smithy/middleware-endpoint" "^2.1.3" + "@smithy/middleware-retry" "^2.0.18" + "@smithy/middleware-serde" "^2.0.12" + "@smithy/middleware-stack" "^2.0.6" + "@smithy/node-config-provider" "^2.1.3" + "@smithy/node-http-handler" "^2.1.8" + "@smithy/property-provider" "^2.0.0" + "@smithy/protocol-http" "^3.0.8" + "@smithy/shared-ini-file-loader" "^2.0.6" + "@smithy/smithy-client" "^2.1.12" + "@smithy/types" "^2.4.0" + "@smithy/url-parser" "^2.0.12" + "@smithy/util-base64" "^2.0.0" + "@smithy/util-body-length-browser" "^2.0.0" + "@smithy/util-body-length-node" "^2.1.0" + "@smithy/util-defaults-mode-browser" "^2.0.16" + "@smithy/util-defaults-mode-node" "^2.0.21" + "@smithy/util-retry" "^2.0.5" + "@smithy/util-utf8" "^2.0.0" + tslib "^2.5.0" + +"@aws-sdk/types@3.127.0", "@aws-sdk/types@3.370.0", "@aws-sdk/types@^3.1.0", "@aws-sdk/types@^3.370.0", "@aws-sdk/types@^3.58.0": version "3.370.0" resolved "https://registry.yarnpkg.com/@aws-sdk/types/-/types-3.370.0.tgz#79e0e4927529c957b5c5c2a00f7590a76784a5e4" integrity sha512-8PGMKklSkRKjunFhzM2y5Jm0H2TBu7YRNISdYzXLUHKSP9zlMEYagseKVdmox0zKHf1LXVNuSlUV2b6SRrieCQ== @@ -1291,6 +1503,14 @@ "@smithy/types" "^1.1.0" tslib "^2.5.0" +"@aws-sdk/types@3.433.0", "@aws-sdk/types@^3.222.0": + version "3.433.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/types/-/types-3.433.0.tgz#0f94eae2a4a3525ca872c9ab04e143c01806d755" + integrity sha512-0jEE2mSrNDd8VGFjTc1otYrwYPIkzZJEIK90ZxisKvQ/EURGBhNzWn7ejWB9XCMFT6XumYLBR0V9qq5UPisWtA== + dependencies: + "@smithy/types" "^2.4.0" + tslib "^2.5.0" + "@aws-sdk/url-parser@3.127.0": version "3.127.0" resolved "https://registry.yarnpkg.com/@aws-sdk/url-parser/-/url-parser-3.127.0.tgz#7a5c6186e83dc6f823c989c0575aebe384e676b0" @@ -1329,14 +1549,6 @@ "@aws-sdk/util-buffer-from" "3.55.0" tslib "^2.3.1" -"@aws-sdk/util-base64@3.310.0": - version "3.310.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-base64/-/util-base64-3.310.0.tgz#d0fd49aff358c5a6e771d0001c63b1f97acbe34c" - integrity sha512-v3+HBKQvqgdzcbL+pFswlx5HQsd9L6ZTlyPVL2LS9nNXnCcR3XgGz9jRskikRUuUvUXtkSG1J88GAOnJ/apTPg== - dependencies: - "@aws-sdk/util-buffer-from" "3.310.0" - tslib "^2.5.0" - "@aws-sdk/util-body-length-browser@3.55.0": version "3.55.0" resolved "https://registry.yarnpkg.com/@aws-sdk/util-body-length-browser/-/util-body-length-browser-3.55.0.tgz#9c2637097501032f6a1afddb76687415fe9b44b6" @@ -1351,14 +1563,6 @@ dependencies: tslib "^2.3.1" -"@aws-sdk/util-buffer-from@3.310.0": - version "3.310.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-buffer-from/-/util-buffer-from-3.310.0.tgz#7a72cb965984d3c6a7e256ae6cf1621f52e54a57" - integrity sha512-i6LVeXFtGih5Zs8enLrt+ExXY92QV25jtEnTKHsmlFqFAuL3VBeod6boeMXkN2p9lbSVVQ1sAOOYZOHYbYkntw== - dependencies: - "@aws-sdk/is-array-buffer" "3.310.0" - tslib "^2.5.0" - "@aws-sdk/util-buffer-from@3.55.0": version "3.55.0" resolved "https://registry.yarnpkg.com/@aws-sdk/util-buffer-from/-/util-buffer-from-3.55.0.tgz#e7c927974b07a29502aa1ad58509b91d0d7cf0f7" @@ -1421,6 +1625,14 @@ "@aws-sdk/types" "3.370.0" tslib "^2.5.0" +"@aws-sdk/util-endpoints@3.433.0": + version "3.433.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-endpoints/-/util-endpoints-3.433.0.tgz#d1e00b3f0d7c3f77597787aef265fe1b247a1083" + integrity sha512-LFNUh9FH7RMtYjSjPGz9lAJQMzmJ3RcXISzc5X5k2R/9mNwMK7y1k2VAfvx+RbuDbll6xwsXlgv6QHcxVdF2zw== + dependencies: + "@aws-sdk/types" "3.433.0" + tslib "^2.5.0" + "@aws-sdk/util-format-url@3.127.0": version "3.127.0" resolved "https://registry.yarnpkg.com/@aws-sdk/util-format-url/-/util-format-url-3.127.0.tgz#45e4a361d6d34b6368c8df1ae948886f2043d728" @@ -1438,11 +1650,11 @@ tslib "^2.3.1" "@aws-sdk/util-locate-window@^3.0.0": - version "3.55.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-locate-window/-/util-locate-window-3.55.0.tgz#a4136a20ee1bfcb73967a6614caf769ef79db070" - integrity sha512-0sPmK2JaJE2BbTcnvybzob/VrFKCXKfN4CUKcvn0yGg/me7Bz+vtzQRB3Xp+YSx+7OtWxzv63wsvHoAnXvgxgg== + version "3.310.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-locate-window/-/util-locate-window-3.310.0.tgz#b071baf050301adee89051032bd4139bba32cc40" + integrity sha512-qo2t/vBTnoXpjKxlsC2e1gBrRm80M3bId27r0BRB2VniSSe7bL1mmzM+/HFtujm0iAxtPM+aLEflLJlJeDPg0w== dependencies: - tslib "^2.3.1" + tslib "^2.5.0" "@aws-sdk/util-middleware@3.127.0": version "3.127.0" @@ -1452,20 +1664,11 @@ tslib "^2.3.1" "@aws-sdk/util-stream-node@^3.370.0": - version "3.370.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-stream-node/-/util-stream-node-3.370.0.tgz#06a63e64680691b5dab77b4493844d916e0f9c10" - integrity sha512-I8jlLhvpdcf+eFjJcQVhlEaIzg7f03zLgHrjozW6JLjpHUBKEc+xTVHP1mlCJR+KlhU101FIld+RxEB3KmNcBQ== - dependencies: - "@aws-sdk/node-http-handler" "3.370.0" - "@aws-sdk/types" "3.370.0" - "@aws-sdk/util-buffer-from" "3.310.0" - tslib "^2.5.0" - -"@aws-sdk/util-uri-escape@3.310.0": - version "3.310.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-uri-escape/-/util-uri-escape-3.310.0.tgz#9f942f09a715d8278875013a416295746b6085ba" - integrity sha512-drzt+aB2qo2LgtDoiy/3sVG8w63cgLkqFIa2NFlGpUgHFWTXkqtbgf4L5QdjRGKWhmZsnqkbtL7vkSWEcYDJ4Q== + version "3.374.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-stream-node/-/util-stream-node-3.374.0.tgz#249947b048bc17a3d4d3e4996b3950a5fa465aeb" + integrity sha512-E9niTpJC9vYQAlManm8cpXGxMmSOBwGQj0TwLGECIaA51Bk+7RjlXAZkcu85PvIps90N3ollYtWWSsRBnH2SJw== dependencies: + "@smithy/util-stream-node" "^1.0.2" tslib "^2.5.0" "@aws-sdk/util-uri-escape@3.55.0": @@ -1494,6 +1697,16 @@ bowser "^2.11.0" tslib "^2.5.0" +"@aws-sdk/util-user-agent-browser@3.433.0": + version "3.433.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.433.0.tgz#b5ed0c0cca0db34a2c1c2ffc1b65e7cdd8dc88ff" + integrity sha512-2Cf/Lwvxbt5RXvWFXrFr49vXv0IddiUwrZoAiwhDYxvsh+BMnh+NUFot+ZQaTrk/8IPZVDeLPWZRdVy00iaVXQ== + dependencies: + "@aws-sdk/types" "3.433.0" + "@smithy/types" "^2.4.0" + bowser "^2.11.0" + tslib "^2.5.0" + "@aws-sdk/util-user-agent-node@3.127.0": version "3.127.0" resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.127.0.tgz#368dc0c0e1160e8ca9e5ca21f3857004509aa06e" @@ -1513,13 +1726,30 @@ "@smithy/types" "^1.1.0" tslib "^2.5.0" -"@aws-sdk/util-utf8-browser@3.109.0", "@aws-sdk/util-utf8-browser@^3.0.0", "@aws-sdk/util-utf8-browser@^3.109.0": +"@aws-sdk/util-user-agent-node@3.437.0": + version "3.437.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.437.0.tgz#f77729854ddf049ccaba8bae3d8fa279812b4716" + integrity sha512-JVEcvWaniamtYVPem4UthtCNoTBCfFTwYj7Y3CrWZ2Qic4TqrwLkAfaBGtI2TGrhIClVr77uzLI6exqMTN7orA== + dependencies: + "@aws-sdk/types" "3.433.0" + "@smithy/node-config-provider" "^2.1.3" + "@smithy/types" "^2.4.0" + tslib "^2.5.0" + +"@aws-sdk/util-utf8-browser@3.109.0", "@aws-sdk/util-utf8-browser@^3.109.0": version "3.109.0" resolved "https://registry.yarnpkg.com/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.109.0.tgz#d013272e1981b23a4c84ac06f154db686c0cf84e" integrity sha512-FmcGSz0v7Bqpl1SE8G1Gc0CtDpug+rvqNCG/szn86JApD/f5x8oByjbEiAyTU2ZH2VevUntx6EW68ulHyH+x+w== dependencies: tslib "^2.3.1" +"@aws-sdk/util-utf8-browser@^3.0.0": + version "3.259.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.259.0.tgz#3275a6f5eb334f96ca76635b961d3c50259fd9ff" + integrity sha512-UvFa/vR+e19XookZF8RzFZBrw2EUkQWxiBW0yYQAhvk3C+QVGl0H3ouca8LDBlBfQKXwmW3huo/59H8rwb1wJw== + dependencies: + tslib "^2.3.1" + "@aws-sdk/util-utf8-node@3.109.0": version "3.109.0" resolved "https://registry.yarnpkg.com/@aws-sdk/util-utf8-node/-/util-utf8-node-3.109.0.tgz#89e06d916f5b246c7265f59bac742973ac0767ac" @@ -1528,14 +1758,6 @@ "@aws-sdk/util-buffer-from" "3.55.0" tslib "^2.3.1" -"@aws-sdk/util-utf8@3.310.0": - version "3.310.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-utf8/-/util-utf8-3.310.0.tgz#4a7b9dcebb88e830d3811aeb21e9a6df4273afb4" - integrity sha512-DnLfFT8uCO22uOJc0pt0DsSNau1GTisngBCDw8jQuWT5CqogMJu4b/uXmwEqfj8B3GX6Xsz8zOd6JpRlPftQoA== - dependencies: - "@aws-sdk/util-buffer-from" "3.310.0" - tslib "^2.5.0" - "@aws-sdk/util-waiter@3.127.0": version "3.127.0" resolved "https://registry.yarnpkg.com/@aws-sdk/util-waiter/-/util-waiter-3.127.0.tgz#3485ebb614cc417fee397daf61ba4ca3aa5bbedb" @@ -1552,7 +1774,15 @@ dependencies: tslib "^2.5.0" -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.18.6": +"@babel/code-frame@^7.0.0": + version "7.22.13" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.22.13.tgz#e3c1c099402598483b7a8c46a721d1038803755e" + integrity sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w== + dependencies: + "@babel/highlight" "^7.22.13" + chalk "^2.4.2" + +"@babel/code-frame@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.18.6.tgz#3b25d38c89600baa2dcc219edfa88a74eb2c427a" integrity sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q== @@ -1664,10 +1894,10 @@ resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz#181f22d28ebe1b3857fa575f5c290b1aaf659b56" integrity sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw== -"@babel/helper-validator-identifier@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz#9c97e30d31b2b8c72a1d08984f2ca9b574d7a076" - integrity sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g== +"@babel/helper-validator-identifier@^7.18.6", "@babel/helper-validator-identifier@^7.22.20": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz#c4ae002c61d2879e724581d96665583dbc1dc0e0" + integrity sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A== "@babel/helper-validator-option@^7.18.6": version "7.18.6" @@ -1683,13 +1913,13 @@ "@babel/traverse" "^7.18.9" "@babel/types" "^7.18.9" -"@babel/highlight@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.18.6.tgz#81158601e93e2563795adcbfbdf5d64be3f2ecdf" - integrity sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g== +"@babel/highlight@^7.18.6", "@babel/highlight@^7.22.13": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.22.20.tgz#4ca92b71d80554b01427815e06f2df965b9c1f54" + integrity sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg== dependencies: - "@babel/helper-validator-identifier" "^7.18.6" - chalk "^2.0.0" + "@babel/helper-validator-identifier" "^7.22.20" + chalk "^2.4.2" js-tokens "^4.0.0" "@babel/parser@^7.18.10", "@babel/parser@^7.18.11": @@ -1697,6 +1927,13 @@ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.18.11.tgz#68bb07ab3d380affa9a3f96728df07969645d2d9" integrity sha512-9JKn5vN+hDt0Hdqn1PiJ2guflwP+B6Ga8qbDuoF0PzzVhrzsKIJo8yGqVk6CmMHiMei9w1C1Bp9IMJSIK+HPIQ== +"@babel/runtime@^7.21.0": + version "7.23.2" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.23.2.tgz#062b0ac103261d68a966c4c7baf2ae3e62ec3885" + integrity sha512-mM8eg4yl5D6i3lu2QKPuPH4FArvJ8KhTofbE7jwMUv9KX5mBvwPAqnV3MlyBNqdp9RyRKP6Yck8TrfYrPvX3bg== + dependencies: + regenerator-runtime "^0.14.0" + "@babel/template@^7.18.10", "@babel/template@^7.18.6": version "7.18.10" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.18.10.tgz#6f9134835970d1dbf0835c0d100c9f38de0c5e71" @@ -1933,14 +2170,26 @@ resolved "https://registry.yarnpkg.com/@cumulus/types/-/types-9.9.4.tgz#b12ea152f3f5f4ef02f414c2ffeb24927ab1838a" integrity sha512-FmarlkG+s6XPicSstHMJX0Z4VzPD1ND43/lKMLuKc9OvlKPmKX+bH90jSuim2THAZ2A7gI8ifj9S4vsLv18BTA== -"@eslint/eslintrc@^1.4.1": - version "1.4.1" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.4.1.tgz#af58772019a2d271b7e2d4c23ff4ddcba3ccfb3e" - integrity sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA== +"@eslint-community/eslint-utils@^4.2.0": + version "4.4.0" + resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59" + integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA== + dependencies: + eslint-visitor-keys "^3.3.0" + +"@eslint-community/regexpp@^4.4.0", "@eslint-community/regexpp@^4.6.1": + version "4.10.0" + resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.10.0.tgz#548f6de556857c8bb73bbee70c35dc82a2e74d63" + integrity sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA== + +"@eslint/eslintrc@^2.1.2": + version "2.1.2" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.1.2.tgz#c6936b4b328c64496692f76944e755738be62396" + integrity sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g== dependencies: ajv "^6.12.4" debug "^4.3.2" - espree "^9.4.0" + espree "^9.6.0" globals "^13.19.0" ignore "^5.2.0" import-fresh "^3.2.1" @@ -1948,6 +2197,11 @@ minimatch "^3.1.2" strip-json-comments "^3.1.1" +"@eslint/js@8.52.0": + version "8.52.0" + resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.52.0.tgz#78fe5f117840f69dc4a353adf9b9cd926353378c" + integrity sha512-mjZVbpaeMZludF2fsWLD0Z9gCref1Tk4i9+wddjRvpUNqqcndPkBD09N/Mapey0b3jaXbLm2kICwFv2E64QinA== + "@httptoolkit/websocket-stream@^6.0.0": version "6.0.1" resolved "https://registry.yarnpkg.com/@httptoolkit/websocket-stream/-/websocket-stream-6.0.1.tgz#8d732f1509860236276f6b0759db4cc9859bbb62" @@ -1962,12 +2216,12 @@ ws "*" xtend "^4.0.0" -"@humanwhocodes/config-array@^0.11.8": - version "0.11.8" - resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.8.tgz#03595ac2075a4dc0f191cc2131de14fbd7d410b9" - integrity sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g== +"@humanwhocodes/config-array@^0.11.13": + version "0.11.13" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.13.tgz#075dc9684f40a531d9b26b0822153c1e832ee297" + integrity sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ== dependencies: - "@humanwhocodes/object-schema" "^1.2.1" + "@humanwhocodes/object-schema" "^2.0.1" debug "^4.1.1" minimatch "^3.0.5" @@ -1976,10 +2230,10 @@ resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== -"@humanwhocodes/object-schema@^1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" - integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== +"@humanwhocodes/object-schema@^2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz#e5211452df060fa8522b55c7b3c0c4d1981cb044" + integrity sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw== "@hutson/parse-repository-url@^3.0.0": version "3.0.2" @@ -2088,7 +2342,7 @@ resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-4.6.0.tgz#3c7c9c46e678feefe7a2e5bb609d3dbd665ffb3f" integrity sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw== -"@smithy/abort-controller@^1.0.1", "@smithy/abort-controller@^1.0.2": +"@smithy/abort-controller@^1.0.1": version "1.0.2" resolved "https://registry.yarnpkg.com/@smithy/abort-controller/-/abort-controller-1.0.2.tgz#74caac052ecea15c5460438272ad8d43a6ccbc53" integrity sha512-tb2h0b+JvMee+eAxTmhnyqyNk51UXIK949HnE14lFeezKsVJTB30maan+CO2IMwnig2wVYQH84B5qk6ylmKCuA== @@ -2096,380 +2350,792 @@ "@smithy/types" "^1.1.1" tslib "^2.5.0" -"@smithy/config-resolver@^1.0.1", "@smithy/config-resolver@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@smithy/config-resolver/-/config-resolver-1.0.2.tgz#d4f556a44292b41b5c067662a4bd5049dea40e35" - integrity sha512-8Bk7CgnVKg1dn5TgnjwPz2ebhxeR7CjGs5yhVYH3S8x0q8yPZZVWwpRIglwXaf5AZBzJlNO1lh+lUhMf2e73zQ== +"@smithy/abort-controller@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@smithy/abort-controller/-/abort-controller-1.1.0.tgz#2da0d73c504b93ca8bb83bdc8d6b8208d73f418b" + integrity sha512-5imgGUlZL4dW4YWdMYAKLmal9ny/tlenM81QZY7xYyb76z9Z/QOg7oM5Ak9HQl8QfFTlGVWwcMXl+54jroRgEQ== dependencies: - "@smithy/types" "^1.1.1" - "@smithy/util-config-provider" "^1.0.2" - "@smithy/util-middleware" "^1.0.2" + "@smithy/types" "^1.2.0" tslib "^2.5.0" -"@smithy/credential-provider-imds@^1.0.1", "@smithy/credential-provider-imds@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@smithy/credential-provider-imds/-/credential-provider-imds-1.0.2.tgz#7aa797c0d95448eb3dccb988b40e62db8989576f" - integrity sha512-fLjCya+JOu2gPJpCiwSUyoLvT8JdNJmOaTOkKYBZoGf7CzqR6lluSyI+eboZnl/V0xqcfcqBG4tgqCISmWS3/w== +"@smithy/abort-controller@^2.0.12": + version "2.0.12" + resolved "https://registry.yarnpkg.com/@smithy/abort-controller/-/abort-controller-2.0.12.tgz#62cd47c81fa1d7d6c2d6fde0c2f54ea89892fb6a" + integrity sha512-YIJyefe1mi3GxKdZxEBEuzYOeQ9xpYfqnFmWzojCssRAuR7ycxwpoRQgp965vuW426xUAQhCV5rCaWElQ7XsaA== dependencies: - "@smithy/node-config-provider" "^1.0.2" - "@smithy/property-provider" "^1.0.2" - "@smithy/types" "^1.1.1" - "@smithy/url-parser" "^1.0.2" + "@smithy/types" "^2.4.0" tslib "^2.5.0" -"@smithy/eventstream-codec@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@smithy/eventstream-codec/-/eventstream-codec-1.0.2.tgz#06d1b6e2510cb2475a39b3a20b0c75e751917c59" - integrity sha512-eW/XPiLauR1VAgHKxhVvgvHzLROUgTtqat2lgljztbH8uIYWugv7Nz+SgCavB+hWRazv2iYgqrSy74GvxXq/rg== +"@smithy/chunked-blob-reader-native@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@smithy/chunked-blob-reader-native/-/chunked-blob-reader-native-2.0.0.tgz#f6d0eeeb5481026b68b054f45540d924c194d558" + integrity sha512-HM8V2Rp1y8+1343tkZUKZllFhEQPNmpNdgFAncbTsxkZ18/gqjk23XXv3qGyXWp412f3o43ZZ1UZHVcHrpRnCQ== + dependencies: + "@smithy/util-base64" "^2.0.0" + tslib "^2.5.0" + +"@smithy/chunked-blob-reader@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@smithy/chunked-blob-reader/-/chunked-blob-reader-2.0.0.tgz#c44fe2c780eaf77f9e5381d982ac99a880cce51b" + integrity sha512-k+J4GHJsMSAIQPChGBrjEmGS+WbPonCXesoqP9fynIqjn7rdOThdH8FAeCmokP9mxTYKQAKoHCLPzNlm6gh7Wg== + dependencies: + tslib "^2.5.0" + +"@smithy/config-resolver@^1.0.1", "@smithy/config-resolver@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@smithy/config-resolver/-/config-resolver-1.1.0.tgz#e604fe25a65a77bc21cc01b66e0bee5bc0c9e57b" + integrity sha512-7WD9eZHp46BxAjNGHJLmxhhyeiNWkBdVStd7SUJPUZqQGeIO/REtIrcIfKUfdiHTQ9jyu2SYoqvzqqaFc6987w== + dependencies: + "@smithy/types" "^1.2.0" + "@smithy/util-config-provider" "^1.1.0" + "@smithy/util-middleware" "^1.1.0" + tslib "^2.5.0" + +"@smithy/config-resolver@^2.0.16": + version "2.0.16" + resolved "https://registry.yarnpkg.com/@smithy/config-resolver/-/config-resolver-2.0.16.tgz#f2abf65a21f56731fdab2d39d2df2dd0e377c9cc" + integrity sha512-1k+FWHQDt2pfpXhJsOmNMmlAZ3NUQ98X5tYsjQhVGq+0X6cOBMhfh6Igd0IX3Ut6lEO6DQAdPMI/blNr3JZfMQ== + dependencies: + "@smithy/node-config-provider" "^2.1.3" + "@smithy/types" "^2.4.0" + "@smithy/util-config-provider" "^2.0.0" + "@smithy/util-middleware" "^2.0.5" + tslib "^2.5.0" + +"@smithy/credential-provider-imds@^1.0.1", "@smithy/credential-provider-imds@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@smithy/credential-provider-imds/-/credential-provider-imds-1.1.0.tgz#4d9444c4c8de70143c3f16bdba188b0e42cb48f9" + integrity sha512-kUMOdEu3RP6ozH0Ga8OeMP8gSkBsK1UqZZKyPLFnpZHrtZuHSSt7M7gsHYB/bYQBZAo3o7qrGmRty3BubYtYxQ== + dependencies: + "@smithy/node-config-provider" "^1.1.0" + "@smithy/property-provider" "^1.2.0" + "@smithy/types" "^1.2.0" + "@smithy/url-parser" "^1.1.0" + tslib "^2.5.0" + +"@smithy/credential-provider-imds@^2.0.0", "@smithy/credential-provider-imds@^2.0.18": + version "2.0.18" + resolved "https://registry.yarnpkg.com/@smithy/credential-provider-imds/-/credential-provider-imds-2.0.18.tgz#9a5b8be3f268bb4ac7b7ef321f57b0e9a61e2940" + integrity sha512-QnPBi6D2zj6AHJdUTo5zXmk8vwHJ2bNevhcVned1y+TZz/OI5cizz5DsYNkqFUIDn8tBuEyKNgbmKVNhBbuY3g== + dependencies: + "@smithy/node-config-provider" "^2.1.3" + "@smithy/property-provider" "^2.0.13" + "@smithy/types" "^2.4.0" + "@smithy/url-parser" "^2.0.12" + tslib "^2.5.0" + +"@smithy/eventstream-codec@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@smithy/eventstream-codec/-/eventstream-codec-1.1.0.tgz#bfe1308ba84ff3db3e79dc1ced8231c52ac0fc36" + integrity sha512-3tEbUb8t8an226jKB6V/Q2XU/J53lCwCzULuBPEaF4JjSh+FlCMp7TmogE/Aij5J9DwlsZ4VAD/IRDuQ/0ZtMw== dependencies: "@aws-crypto/crc32" "3.0.0" - "@smithy/types" "^1.1.1" - "@smithy/util-hex-encoding" "^1.0.2" + "@smithy/types" "^1.2.0" + "@smithy/util-hex-encoding" "^1.1.0" tslib "^2.5.0" -"@smithy/eventstream-serde-browser@^1.0.1": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-browser/-/eventstream-serde-browser-1.0.2.tgz#2f6c9de876ca5e3f35388df9cfa31aeb4281ac76" - integrity sha512-8bDImzBewLQrIF6hqxMz3eoYwEus2E5JrEwKnhpkSFkkoj8fDSKiLeP/26xfcaoVJgZXB8M1c6jSEZiY3cUMsw== +"@smithy/eventstream-codec@^2.0.12": + version "2.0.12" + resolved "https://registry.yarnpkg.com/@smithy/eventstream-codec/-/eventstream-codec-2.0.12.tgz#99fab750d0ac3941f341d912d3c3a1ab985e1a7a" + integrity sha512-ZZQLzHBJkbiAAdj2C5K+lBlYp/XJ+eH2uy+jgJgYIFW/o5AM59Hlj7zyI44/ZTDIQWmBxb3EFv/c5t44V8/g8A== dependencies: - "@smithy/eventstream-serde-universal" "^1.0.2" - "@smithy/types" "^1.1.1" + "@aws-crypto/crc32" "3.0.0" + "@smithy/types" "^2.4.0" + "@smithy/util-hex-encoding" "^2.0.0" tslib "^2.5.0" -"@smithy/eventstream-serde-config-resolver@^1.0.1": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-1.0.2.tgz#37a55970c31f3e4a38d66933ab14398351553daf" - integrity sha512-SeiJ5pfrXzkGP4WCt9V3Pimfr3OM85Nyh9u/V4J6E0O2dLOYuqvSuKdVnktV0Tcmuu1ZYbt78Th0vfetnSEcdQ== +"@smithy/eventstream-serde-browser@^2.0.12": + version "2.0.12" + resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-browser/-/eventstream-serde-browser-2.0.12.tgz#46b578cf30ec4b91139800d89a752502d2b28a41" + integrity sha512-0pi8QlU/pwutNshoeJcbKR1p7Ie5STd8UFAMX5xhSoSJjNlxIv/OsHbF023jscMRN2Prrqd6ToGgdCnsZVQjvg== dependencies: - "@smithy/types" "^1.1.1" + "@smithy/eventstream-serde-universal" "^2.0.12" + "@smithy/types" "^2.4.0" tslib "^2.5.0" -"@smithy/eventstream-serde-node@^1.0.1": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-node/-/eventstream-serde-node-1.0.2.tgz#1c8ba86f70ecdad19c3a25b48b0f9a03799c2a0d" - integrity sha512-jqSfi7bpOBHqgd5OgUtCX0wAVhPqxlVdqcj2c4gHaRRXcbpCmK0DRDg7P+Df0h4JJVvTqI6dy2c0YhHk5ehPCw== +"@smithy/eventstream-serde-config-resolver@^2.0.12": + version "2.0.12" + resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-2.0.12.tgz#07871d226561394dfd6b468a7ede142b01491a76" + integrity sha512-I0XfwQkIX3gAnbrU5rLMkBSjTM9DHttdbLwf12CXmj7SSI5dT87PxtKLRrZGanaCMbdf2yCep+MW5/4M7IbvQA== dependencies: - "@smithy/eventstream-serde-universal" "^1.0.2" - "@smithy/types" "^1.1.1" + "@smithy/types" "^2.4.0" tslib "^2.5.0" -"@smithy/eventstream-serde-universal@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-universal/-/eventstream-serde-universal-1.0.2.tgz#66c1ccc639cb64049291200bcda476b26875fd8e" - integrity sha512-cQ9bT0j0x49cp8TQ1yZSnn4+9qU0WQSTkoucl3jKRoTZMzNYHg62LQao6HTQ3Jgd77nAXo00c7hqUEjHXwNA+A== +"@smithy/eventstream-serde-node@^2.0.12": + version "2.0.12" + resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-node/-/eventstream-serde-node-2.0.12.tgz#9f27037b7c782f9cbde6cc10a054df37915b0726" + integrity sha512-vf1vMHGOkG3uqN9x1zKOhnvW/XgvhJXWqjV6zZiT2FMjlEayugQ1mzpSqr7uf89+BzjTzuZKERmOsEAmewLbxw== dependencies: - "@smithy/eventstream-codec" "^1.0.2" - "@smithy/types" "^1.1.1" + "@smithy/eventstream-serde-universal" "^2.0.12" + "@smithy/types" "^2.4.0" tslib "^2.5.0" -"@smithy/fetch-http-handler@^1.0.1", "@smithy/fetch-http-handler@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@smithy/fetch-http-handler/-/fetch-http-handler-1.0.2.tgz#4186ee6451de22e867f43c05236dcff43eca6e91" - integrity sha512-kynyofLf62LvR8yYphPPdyHb8fWG3LepFinM/vWUTG2Q1pVpmPCM530ppagp3+q2p+7Ox0UvSqldbKqV/d1BpA== +"@smithy/eventstream-serde-universal@^2.0.12": + version "2.0.12" + resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-universal/-/eventstream-serde-universal-2.0.12.tgz#59593439e153c576ab2d46f233c7bc4ddc364cb3" + integrity sha512-xZ3ZNpCxIND+q+UCy7y1n1/5VQEYicgSTNCcPqsKawX+Vd+6OcFX7gUHMyPzL8cZr+GdmJuxNleqHlH4giK2tw== dependencies: - "@smithy/protocol-http" "^1.1.1" - "@smithy/querystring-builder" "^1.0.2" - "@smithy/types" "^1.1.1" - "@smithy/util-base64" "^1.0.2" + "@smithy/eventstream-codec" "^2.0.12" + "@smithy/types" "^2.4.0" + tslib "^2.5.0" + +"@smithy/fetch-http-handler@^1.0.1", "@smithy/fetch-http-handler@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@smithy/fetch-http-handler/-/fetch-http-handler-1.1.0.tgz#933694dcc0e1ade205161237a151c1c818479676" + integrity sha512-N22C9R44u5WGlcY+Wuv8EXmCAq62wWwriRAuoczMEwAIjPbvHSthyPSLqI4S7kAST1j6niWg8kwpeJ3ReAv3xg== + dependencies: + "@smithy/protocol-http" "^1.2.0" + "@smithy/querystring-builder" "^1.1.0" + "@smithy/types" "^1.2.0" + "@smithy/util-base64" "^1.1.0" + tslib "^2.5.0" + +"@smithy/fetch-http-handler@^2.2.4": + version "2.2.4" + resolved "https://registry.yarnpkg.com/@smithy/fetch-http-handler/-/fetch-http-handler-2.2.4.tgz#405716581a5a336f2c162daf4169bff600fc47ce" + integrity sha512-gIPRFEGi+c6V52eauGKrjDzPWF2Cu7Z1r5F8A3j2wcwz25sPG/t8kjsbEhli/tS/2zJp/ybCZXe4j4ro3yv/HA== + dependencies: + "@smithy/protocol-http" "^3.0.8" + "@smithy/querystring-builder" "^2.0.12" + "@smithy/types" "^2.4.0" + "@smithy/util-base64" "^2.0.0" + tslib "^2.5.0" + +"@smithy/hash-blob-browser@^2.0.12": + version "2.0.12" + resolved "https://registry.yarnpkg.com/@smithy/hash-blob-browser/-/hash-blob-browser-2.0.12.tgz#e030356ec480099db614adac8cc30f41a4f8a6ec" + integrity sha512-riLnV16f27yyePX8UF0deRHAeccUK8SrOxyTykSTrnVkgS3DsjNapZtTbd8OGNKEbI60Ncdb5GwN3rHZudXvog== + dependencies: + "@smithy/chunked-blob-reader" "^2.0.0" + "@smithy/chunked-blob-reader-native" "^2.0.0" + "@smithy/types" "^2.4.0" tslib "^2.5.0" "@smithy/hash-node@^1.0.1": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@smithy/hash-node/-/hash-node-1.0.2.tgz#dc65203a348d29e45c493ead3e772e4f7dfb5bc0" - integrity sha512-K6PKhcUNrJXtcesyzhIvNlU7drfIU7u+EMQuGmPw6RQDAg/ufUcfKHz4EcUhFAodUmN+rrejhRG9U6wxjeBOQA== + version "1.1.0" + resolved "https://registry.yarnpkg.com/@smithy/hash-node/-/hash-node-1.1.0.tgz#a8da64fa4b2e2c64185df92897165c8113b499b2" + integrity sha512-yiNKDGMzrQjnpnbLfkYKo+HwIxmBAsv0AI++QIJwvhfkLpUTBylelkv6oo78/YqZZS6h+bGfl0gILJsKE2wAKQ== dependencies: - "@smithy/types" "^1.1.1" - "@smithy/util-buffer-from" "^1.0.2" - "@smithy/util-utf8" "^1.0.2" + "@smithy/types" "^1.2.0" + "@smithy/util-buffer-from" "^1.1.0" + "@smithy/util-utf8" "^1.1.0" + tslib "^2.5.0" + +"@smithy/hash-node@^2.0.12": + version "2.0.12" + resolved "https://registry.yarnpkg.com/@smithy/hash-node/-/hash-node-2.0.12.tgz#514586ca3f54840322273029eef66c41d9001e39" + integrity sha512-fDZnTr5j9t5qcbeJ037aMZXxMka13Znqwrgy3PAqYj6Dm3XHXHftTH3q+NWgayUxl1992GFtQt1RuEzRMy3NnQ== + dependencies: + "@smithy/types" "^2.4.0" + "@smithy/util-buffer-from" "^2.0.0" + "@smithy/util-utf8" "^2.0.0" + tslib "^2.5.0" + +"@smithy/hash-stream-node@^2.0.12": + version "2.0.12" + resolved "https://registry.yarnpkg.com/@smithy/hash-stream-node/-/hash-stream-node-2.0.12.tgz#9ad95895e946998991890e1c6a5694d63ad40fde" + integrity sha512-x/DrSynPKrW0k00q7aZ/vy531a3mRw79mOajHp+cIF0TrA1SqEMFoy/B8X0XtoAtlJWt/vvgeDNqt/KAeaAqMw== + dependencies: + "@smithy/types" "^2.4.0" + "@smithy/util-utf8" "^2.0.0" tslib "^2.5.0" "@smithy/invalid-dependency@^1.0.1": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@smithy/invalid-dependency/-/invalid-dependency-1.0.2.tgz#0a9d82d1a14e5bdbdc0bd2cef5f457c85a942920" - integrity sha512-B1Y3Tsa6dfC+Vvb+BJMhTHOfFieeYzY9jWQSTR1vMwKkxsymD0OIAnEw8rD/RiDj/4E4RPGFdx9Mdgnyd6Bv5Q== + version "1.1.0" + resolved "https://registry.yarnpkg.com/@smithy/invalid-dependency/-/invalid-dependency-1.1.0.tgz#0552eb0090c5a20e86cbd9ca15381a4c2ec53730" + integrity sha512-h2rXn68ClTwzPXYzEUNkz+0B/A0Hz8YdFNTiEwlxkwzkETGKMxmsrQGFXwYm3jd736R5vkXcClXz1ddKrsaBEQ== dependencies: - "@smithy/types" "^1.1.1" + "@smithy/types" "^1.2.0" tslib "^2.5.0" -"@smithy/is-array-buffer@^1.0.1", "@smithy/is-array-buffer@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@smithy/is-array-buffer/-/is-array-buffer-1.0.2.tgz#224702a2364d698f0a36ecb2c240c0c9541ecfb6" - integrity sha512-pkyBnsBRpe+c/6ASavqIMRBdRtZNJEVJOEzhpxZ9JoAXiZYbkfaSMRA/O1dUxGdJ653GHONunnZ4xMo/LJ7utQ== +"@smithy/invalid-dependency@^2.0.12": + version "2.0.12" + resolved "https://registry.yarnpkg.com/@smithy/invalid-dependency/-/invalid-dependency-2.0.12.tgz#de78a5e9457cc397aad0648e18c0260b522fe604" + integrity sha512-p5Y+iMHV3SoEpy3VSR7mifbreHQwVSvHSAz/m4GdoXfOzKzaYC8hYv10Ks7Deblkf7lhas8U+lAp9ThbBM+ZXA== + dependencies: + "@smithy/types" "^2.4.0" + tslib "^2.5.0" + +"@smithy/is-array-buffer@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@smithy/is-array-buffer/-/is-array-buffer-1.1.0.tgz#29948072da2b57575aa9898cda863932e842ab11" + integrity sha512-twpQ/n+3OWZJ7Z+xu43MJErmhB/WO/mMTnqR6PwWQShvSJ/emx5d1N59LQZk6ZpTAeuRWrc+eHhkzTp9NFjNRQ== dependencies: tslib "^2.5.0" +"@smithy/is-array-buffer@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@smithy/is-array-buffer/-/is-array-buffer-2.0.0.tgz#8fa9b8040651e7ba0b2f6106e636a91354ff7d34" + integrity sha512-z3PjFjMyZNI98JFRJi/U0nGoLWMSJlDjAW4QUX2WNZLas5C0CmVV6LJ01JI0k90l7FvpmixjWxPFmENSClQ7ug== + dependencies: + tslib "^2.5.0" + +"@smithy/md5-js@^2.0.12": + version "2.0.12" + resolved "https://registry.yarnpkg.com/@smithy/md5-js/-/md5-js-2.0.12.tgz#9625cb33a894713fb6d8a817bafd4f84e23ea506" + integrity sha512-OgDt+Xnrw+W5z3MSl5KZZzebqmXrYl9UdbCiBYnnjErmNywwSjV6QB/Oic3/7hnsPniSU81n7Rvlhz2kH4EREQ== + dependencies: + "@smithy/types" "^2.4.0" + "@smithy/util-utf8" "^2.0.0" + tslib "^2.5.0" + "@smithy/middleware-content-length@^1.0.1": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@smithy/middleware-content-length/-/middleware-content-length-1.0.2.tgz#63099f8d01b3419b65e21cfd07b0c2ef47d1f473" - integrity sha512-pa1/SgGIrSmnEr2c9Apw7CdU4l/HW0fK3+LKFCPDYJrzM0JdYpqjQzgxi31P00eAkL0EFBccpus/p1n2GF9urw== + version "1.1.0" + resolved "https://registry.yarnpkg.com/@smithy/middleware-content-length/-/middleware-content-length-1.1.0.tgz#77854875535f80efd036d535842c567230b78b0b" + integrity sha512-iNxwhZ7Xc5+LjeDElEOi/Nh8fFsc9Dw9+5w7h7/GLFIU0RgAwBJuJtcP1vNTOwzW4B3hG+gRu8sQLqA9OEaTwA== dependencies: - "@smithy/protocol-http" "^1.1.1" - "@smithy/types" "^1.1.1" + "@smithy/protocol-http" "^1.2.0" + "@smithy/types" "^1.2.0" + tslib "^2.5.0" + +"@smithy/middleware-content-length@^2.0.14": + version "2.0.14" + resolved "https://registry.yarnpkg.com/@smithy/middleware-content-length/-/middleware-content-length-2.0.14.tgz#ee1aa842490cee90b6ac208fb13a7d56d3ed84f2" + integrity sha512-poUNgKTw9XwPXfX9nEHpVgrMNVpaSMZbshqvPxFVoalF4wp6kRzYKOfdesSVectlQ51VtigoLfbXcdyPwvxgTg== + dependencies: + "@smithy/protocol-http" "^3.0.8" + "@smithy/types" "^2.4.0" tslib "^2.5.0" "@smithy/middleware-endpoint@^1.0.2": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@smithy/middleware-endpoint/-/middleware-endpoint-1.0.3.tgz#ff4b1c0a83eb8d8b8d3937f434a95efbbf43e1cd" - integrity sha512-GsWvTXMFjSgl617PCE2km//kIjjtvMRrR2GAuRDIS9sHiLwmkS46VWaVYy+XE7ubEsEtzZ5yK2e8TKDR6Qr5Lw== + version "1.1.0" + resolved "https://registry.yarnpkg.com/@smithy/middleware-endpoint/-/middleware-endpoint-1.1.0.tgz#ce3cfd5933c5a088339192d4fb1dd09ce6186777" + integrity sha512-PvpazNjVpxX2ICrzoFYCpFnjB39DKCpZds8lRpAB3p6HGrx6QHBaNvOzVhJGBf0jcAbfCdc5/W0n9z8VWaSSww== dependencies: - "@smithy/middleware-serde" "^1.0.2" - "@smithy/types" "^1.1.1" - "@smithy/url-parser" "^1.0.2" - "@smithy/util-middleware" "^1.0.2" + "@smithy/middleware-serde" "^1.1.0" + "@smithy/types" "^1.2.0" + "@smithy/url-parser" "^1.1.0" + "@smithy/util-middleware" "^1.1.0" + tslib "^2.5.0" + +"@smithy/middleware-endpoint@^2.1.3": + version "2.1.3" + resolved "https://registry.yarnpkg.com/@smithy/middleware-endpoint/-/middleware-endpoint-2.1.3.tgz#ab7ebff4ecbc9b02ec70dd57179f47c4f16bf03f" + integrity sha512-ZrQ0/YX6hNVTxqMEHtEaDbDv6pNeEji/a5Vk3HuFC5R3ZY8lfoATyxmOGxBVYnF3NUvZLNC7umEv1WzWGWvCGQ== + dependencies: + "@smithy/middleware-serde" "^2.0.12" + "@smithy/node-config-provider" "^2.1.3" + "@smithy/shared-ini-file-loader" "^2.2.2" + "@smithy/types" "^2.4.0" + "@smithy/url-parser" "^2.0.12" + "@smithy/util-middleware" "^2.0.5" tslib "^2.5.0" "@smithy/middleware-retry@^1.0.3": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@smithy/middleware-retry/-/middleware-retry-1.0.4.tgz#8e9de0713dac7f7af405477d46bd4525ca7b9ea8" - integrity sha512-G7uRXGFL8c3F7APnoIMTtNAHH8vT4F2qVnAWGAZaervjupaUQuRRHYBLYubK0dWzOZz86BtAXKieJ5p+Ni2Xpg== - dependencies: - "@smithy/protocol-http" "^1.1.1" - "@smithy/service-error-classification" "^1.0.3" - "@smithy/types" "^1.1.1" - "@smithy/util-middleware" "^1.0.2" - "@smithy/util-retry" "^1.0.4" + version "1.1.0" + resolved "https://registry.yarnpkg.com/@smithy/middleware-retry/-/middleware-retry-1.1.0.tgz#084f70df112f22b5bfa0de8faaa14a5dcf22149e" + integrity sha512-lINKYxIvT+W20YFOtHBKeGm7npuJg0/YCoShttU7fVpsmU+a2rdb9zrJn1MHqWfUL6DhTAWGa0tH2O7l4XrDcw== + dependencies: + "@smithy/protocol-http" "^1.2.0" + "@smithy/service-error-classification" "^1.1.0" + "@smithy/types" "^1.2.0" + "@smithy/util-middleware" "^1.1.0" + "@smithy/util-retry" "^1.1.0" tslib "^2.5.0" uuid "^8.3.2" -"@smithy/middleware-serde@^1.0.1", "@smithy/middleware-serde@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@smithy/middleware-serde/-/middleware-serde-1.0.2.tgz#87b3a0211602ae991d9b756893eb6bf2e3e5f711" - integrity sha512-T4PcdMZF4xme6koUNfjmSZ1MLi7eoFeYCtodQNQpBNsS77TuJt1A6kt5kP/qxrTvfZHyFlj0AubACoaUqgzPeg== +"@smithy/middleware-retry@^2.0.18": + version "2.0.18" + resolved "https://registry.yarnpkg.com/@smithy/middleware-retry/-/middleware-retry-2.0.18.tgz#37982552a1d3815148797831df025e470423fc5e" + integrity sha512-VyrHQRldGSb3v9oFOB5yPxmLT7U2sQic2ytylOnYlnsmVOLlFIaI6sW22c+w2675yq+XZ6HOuzV7x2OBYCWRNA== + dependencies: + "@smithy/node-config-provider" "^2.1.3" + "@smithy/protocol-http" "^3.0.8" + "@smithy/service-error-classification" "^2.0.5" + "@smithy/types" "^2.4.0" + "@smithy/util-middleware" "^2.0.5" + "@smithy/util-retry" "^2.0.5" + tslib "^2.5.0" + uuid "^8.3.2" + +"@smithy/middleware-serde@^1.0.1", "@smithy/middleware-serde@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@smithy/middleware-serde/-/middleware-serde-1.1.0.tgz#daed29eb34337d1206f10c09d801cc28f13e5819" + integrity sha512-RiBMxhxuO9VTjHsjJvhzViyceoLhU6gtrnJGpAXY43wE49IstXIGEQz8MT50/hOq5EumX16FCpup0r5DVyfqNQ== dependencies: - "@smithy/types" "^1.1.1" + "@smithy/types" "^1.2.0" tslib "^2.5.0" -"@smithy/middleware-stack@^1.0.1", "@smithy/middleware-stack@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@smithy/middleware-stack/-/middleware-stack-1.0.2.tgz#d241082bf3cb315c749dda57e233039a9aed804e" - integrity sha512-H7/uAQEcmO+eDqweEFMJ5YrIpsBwmrXSP6HIIbtxKJSQpAcMGY7KrR2FZgZBi1FMnSUOh+rQrbOyj5HQmSeUBA== +"@smithy/middleware-serde@^2.0.12": + version "2.0.12" + resolved "https://registry.yarnpkg.com/@smithy/middleware-serde/-/middleware-serde-2.0.12.tgz#edc93c400a5ffec6c068419163f9d880bdff5e5b" + integrity sha512-IBeco157lIScecq2Z+n0gq56i4MTnfKxS7rbfrAORveDJgnbBAaEQgYqMqp/cYqKrpvEXcyTjwKHrBjCCIZh2A== dependencies: + "@smithy/types" "^2.4.0" tslib "^2.5.0" -"@smithy/node-config-provider@^1.0.1", "@smithy/node-config-provider@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@smithy/node-config-provider/-/node-config-provider-1.0.2.tgz#2d391b96a9e10072e7e0a3698427400f4ef17ec4" - integrity sha512-HU7afWpTToU0wL6KseGDR2zojeyjECQfr8LpjAIeHCYIW7r360ABFf4EaplaJRMVoC3hD9FeltgI3/NtShOqCg== +"@smithy/middleware-stack@^1.0.1", "@smithy/middleware-stack@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@smithy/middleware-stack/-/middleware-stack-1.1.0.tgz#04edd33b5db48d880b9942c38459f193144fa533" + integrity sha512-XynYiIvXNea2BbLcppvpNK0zu8o2woJqgnmxqYTn4FWagH/Hr2QIk8LOsUz7BIJ4tooFhmx8urHKCdlPbbPDCA== dependencies: - "@smithy/property-provider" "^1.0.2" - "@smithy/shared-ini-file-loader" "^1.0.2" - "@smithy/types" "^1.1.1" tslib "^2.5.0" -"@smithy/node-http-handler@^1.0.2", "@smithy/node-http-handler@^1.0.3": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@smithy/node-http-handler/-/node-http-handler-1.0.3.tgz#89b556ca2bdcce7a994a9da1ea265094d76d4791" - integrity sha512-PcPUSzTbIb60VCJCiH0PU0E6bwIekttsIEf5Aoo/M0oTfiqsxHTn0Rcij6QoH6qJy6piGKXzLSegspXg5+Kq6g== +"@smithy/middleware-stack@^2.0.6": + version "2.0.6" + resolved "https://registry.yarnpkg.com/@smithy/middleware-stack/-/middleware-stack-2.0.6.tgz#c58d6e4ffc4498bf47fd27adcddd142395d3ba84" + integrity sha512-YSvNZeOKWLJ0M/ycxwDIe2Ztkp6Qixmcml1ggsSv2fdHKGkBPhGrX5tMzPGMI1yyx55UEYBi2OB4s+RriXX48A== dependencies: - "@smithy/abort-controller" "^1.0.2" - "@smithy/protocol-http" "^1.1.1" - "@smithy/querystring-builder" "^1.0.2" - "@smithy/types" "^1.1.1" + "@smithy/types" "^2.4.0" tslib "^2.5.0" -"@smithy/property-provider@^1.0.1", "@smithy/property-provider@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@smithy/property-provider/-/property-provider-1.0.2.tgz#f99f104cbd6576c9aca9f56cb72819b4a65208e1" - integrity sha512-pXDPyzKX8opzt38B205kDgaxda6LHcTfPvTYQZnwP6BAPp1o9puiCPjeUtkKck7Z6IbpXCPUmUQnzkUzWTA42Q== +"@smithy/node-config-provider@^1.0.1", "@smithy/node-config-provider@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@smithy/node-config-provider/-/node-config-provider-1.1.0.tgz#86c64e4ef6a557863422a236ba10aa7ed51ad85d" + integrity sha512-2G4TlzUnmTrUY26VKTonQqydwb+gtM/mcl+TqDP8CnWtJKVL8ElPpKgLGScP04bPIRY9x2/10lDdoaRXDqPuCw== dependencies: - "@smithy/types" "^1.1.1" + "@smithy/property-provider" "^1.2.0" + "@smithy/shared-ini-file-loader" "^1.1.0" + "@smithy/types" "^1.2.0" tslib "^2.5.0" -"@smithy/protocol-http@^1.1.0", "@smithy/protocol-http@^1.1.1": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@smithy/protocol-http/-/protocol-http-1.1.1.tgz#10977cf71631eed4f5ad1845408920238d52cdba" - integrity sha512-mFLFa2sSvlUxm55U7B4YCIsJJIMkA6lHxwwqOaBkral1qxFz97rGffP/mmd4JDuin1EnygiO5eNJGgudiUgmDQ== +"@smithy/node-config-provider@^2.1.3": + version "2.1.3" + resolved "https://registry.yarnpkg.com/@smithy/node-config-provider/-/node-config-provider-2.1.3.tgz#bf4cee69df08d43618ad4329d234351b14d98ef7" + integrity sha512-J6lXvRHGVnSX3n1PYi+e1L5HN73DkkJpUviV3Ebf+8wSaIjAf+eVNbzyvh/S5EQz7nf4KVfwbD5vdoZMAthAEQ== dependencies: - "@smithy/types" "^1.1.1" + "@smithy/property-provider" "^2.0.13" + "@smithy/shared-ini-file-loader" "^2.2.2" + "@smithy/types" "^2.4.0" tslib "^2.5.0" -"@smithy/querystring-builder@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@smithy/querystring-builder/-/querystring-builder-1.0.2.tgz#ce861f6cbd14792c83aa19b4967a19923bd0706e" - integrity sha512-6P/xANWrtJhMzTPUR87AbXwSBuz1SDHIfL44TFd/GT3hj6rA+IEv7rftEpPjayUiWRocaNnrCPLvmP31mobOyA== +"@smithy/node-http-handler@^1.0.2", "@smithy/node-http-handler@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@smithy/node-http-handler/-/node-http-handler-1.1.0.tgz#887cee930b520e08043c9f41e463f8d8f5dae127" + integrity sha512-d3kRriEgaIiGXLziAM8bjnaLn1fthCJeTLZIwEIpzQqe6yPX0a+yQoLCTyjb2fvdLwkMoG4p7THIIB5cj5lkbg== dependencies: - "@smithy/types" "^1.1.1" - "@smithy/util-uri-escape" "^1.0.2" + "@smithy/abort-controller" "^1.1.0" + "@smithy/protocol-http" "^1.2.0" + "@smithy/querystring-builder" "^1.1.0" + "@smithy/types" "^1.2.0" tslib "^2.5.0" -"@smithy/querystring-parser@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@smithy/querystring-parser/-/querystring-parser-1.0.2.tgz#559d09c46b21e6fbda71e95deda4bcd8a46bdecc" - integrity sha512-IWxwxjn+KHWRRRB+K2Ngl+plTwo2WSgc2w+DvLy0DQZJh9UGOpw40d6q97/63GBlXIt4TEt5NbcFrO30CKlrsA== +"@smithy/node-http-handler@^2.1.8": + version "2.1.8" + resolved "https://registry.yarnpkg.com/@smithy/node-http-handler/-/node-http-handler-2.1.8.tgz#aad989d5445c43a677e7e6161c6fa4abd0e46023" + integrity sha512-KZylM7Wff/So5SmCiwg2kQNXJ+RXgz34wkxS7WNwIUXuZrZZpY/jKJCK+ZaGyuESDu3TxcaY+zeYGJmnFKbQsA== dependencies: - "@smithy/types" "^1.1.1" + "@smithy/abort-controller" "^2.0.12" + "@smithy/protocol-http" "^3.0.8" + "@smithy/querystring-builder" "^2.0.12" + "@smithy/types" "^2.4.0" tslib "^2.5.0" -"@smithy/service-error-classification@^1.0.3": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@smithy/service-error-classification/-/service-error-classification-1.0.3.tgz#c620c1562610d3351985eb6dd04262ca2657ae67" - integrity sha512-2eglIYqrtcUnuI71yweu7rSfCgt6kVvRVf0C72VUqrd0LrV1M0BM0eYN+nitp2CHPSdmMI96pi+dU9U/UqAMSA== +"@smithy/property-provider@^1.0.1", "@smithy/property-provider@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@smithy/property-provider/-/property-provider-1.2.0.tgz#2e4ca34b0994ec6de734316c0093e671a1bfa5c7" + integrity sha512-qlJd9gT751i4T0t/hJAyNGfESfi08Fek8QiLcysoKPgR05qHhG0OYhlaCJHhpXy4ECW0lHyjvFM1smrCLIXVfw== + dependencies: + "@smithy/types" "^1.2.0" + tslib "^2.5.0" -"@smithy/shared-ini-file-loader@^1.0.1", "@smithy/shared-ini-file-loader@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-1.0.2.tgz#c6e79991d87925bd18e0adae00c97da6c8ecae1e" - integrity sha512-bdQj95VN+lCXki+P3EsDyrkpeLn8xDYiOISBGnUG/AGPYJXN8dmp4EhRRR7XOoLoSs8anZHR4UcGEOzFv2jwGw== +"@smithy/property-provider@^2.0.0", "@smithy/property-provider@^2.0.13": + version "2.0.13" + resolved "https://registry.yarnpkg.com/@smithy/property-provider/-/property-provider-2.0.13.tgz#45ee47ad79d638082523f944c49fd2e851312098" + integrity sha512-VJqUf2CbsQX6uUiC5dUPuoEATuFjkbkW3lJHbRnpk9EDC9X+iKqhfTK+WP+lve5EQ9TcCI1Q6R7hrg41FyC54w== dependencies: - "@smithy/types" "^1.1.1" + "@smithy/types" "^2.4.0" tslib "^2.5.0" -"@smithy/signature-v4@^1.0.1": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@smithy/signature-v4/-/signature-v4-1.0.2.tgz#3a7b10ac66c337b404aa061e5f268f0550729680" - integrity sha512-rpKUhmCuPmpV5dloUkOb9w1oBnJatvKQEjIHGmkjRGZnC3437MTdzWej9TxkagcZ8NRRJavYnEUixzxM1amFig== +"@smithy/protocol-http@^1.1.0", "@smithy/protocol-http@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@smithy/protocol-http/-/protocol-http-1.2.0.tgz#a554e4dabb14508f0bc2cdef9c3710e2b294be04" + integrity sha512-GfGfruksi3nXdFok5RhgtOnWe5f6BndzYfmEXISD+5gAGdayFGpjWu5pIqIweTudMtse20bGbc+7MFZXT1Tb8Q== dependencies: - "@smithy/eventstream-codec" "^1.0.2" - "@smithy/is-array-buffer" "^1.0.2" - "@smithy/types" "^1.1.1" - "@smithy/util-hex-encoding" "^1.0.2" - "@smithy/util-middleware" "^1.0.2" - "@smithy/util-uri-escape" "^1.0.2" - "@smithy/util-utf8" "^1.0.2" + "@smithy/types" "^1.2.0" + tslib "^2.5.0" + +"@smithy/protocol-http@^3.0.8": + version "3.0.8" + resolved "https://registry.yarnpkg.com/@smithy/protocol-http/-/protocol-http-3.0.8.tgz#0f7c114f6b8e23a57dff7a275d085bac97b9233c" + integrity sha512-SHJvYeWq8q0FK8xHk+xjV9dzDUDjFMT+G1pZbV+XB6OVoac/FSVshlMNPeUJ8AmSkcDKHRu5vASnRqZHgD3qhw== + dependencies: + "@smithy/types" "^2.4.0" + tslib "^2.5.0" + +"@smithy/querystring-builder@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@smithy/querystring-builder/-/querystring-builder-1.1.0.tgz#de6306104640ade34e59be33949db6cc64aa9d7f" + integrity sha512-gDEi4LxIGLbdfjrjiY45QNbuDmpkwh9DX4xzrR2AzjjXpxwGyfSpbJaYhXARw9p17VH0h9UewnNQXNwaQyYMDA== + dependencies: + "@smithy/types" "^1.2.0" + "@smithy/util-uri-escape" "^1.1.0" + tslib "^2.5.0" + +"@smithy/querystring-builder@^2.0.12": + version "2.0.12" + resolved "https://registry.yarnpkg.com/@smithy/querystring-builder/-/querystring-builder-2.0.12.tgz#d13e0eea08d43596bdbb182206ccdee0956d06fd" + integrity sha512-cDbF07IuCjiN8CdGvPzfJjXIrmDSelScRfyJYrYBNBbKl2+k7QD/KqiHhtRyEKgID5mmEVrV6KE6L/iPJ98sFw== + dependencies: + "@smithy/types" "^2.4.0" + "@smithy/util-uri-escape" "^2.0.0" + tslib "^2.5.0" + +"@smithy/querystring-parser@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@smithy/querystring-parser/-/querystring-parser-1.1.0.tgz#4bf4be6d1db8b769d346a0d98c5b0db4e99a8ba6" + integrity sha512-Lm/FZu2qW3XX+kZ4WPwr+7aAeHf1Lm84UjNkKyBu16XbmEV7ukfhXni2aIwS2rcVf8Yv5E7wchGGpOFldj9V4Q== + dependencies: + "@smithy/types" "^1.2.0" + tslib "^2.5.0" + +"@smithy/querystring-parser@^2.0.12": + version "2.0.12" + resolved "https://registry.yarnpkg.com/@smithy/querystring-parser/-/querystring-parser-2.0.12.tgz#d2c234031e266359716a0c62c8c1208a5bd2557e" + integrity sha512-fytyTcXaMzPBuNtPlhj5v6dbl4bJAnwKZFyyItAGt4Tgm9HFPZNo7a9r1SKPr/qdxUEBzvL9Rh+B9SkTX3kFxg== + dependencies: + "@smithy/types" "^2.4.0" + tslib "^2.5.0" + +"@smithy/service-error-classification@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@smithy/service-error-classification/-/service-error-classification-1.1.0.tgz#264dd432ae513b3f2ad9fc6f461deda8c516173c" + integrity sha512-OCTEeJ1igatd5kFrS2VDlYbainNNpf7Lj1siFOxnRWqYOP9oNvC5HOJBd3t+Z8MbrmehBtuDJ2QqeBsfeiNkww== + +"@smithy/service-error-classification@^2.0.5": + version "2.0.5" + resolved "https://registry.yarnpkg.com/@smithy/service-error-classification/-/service-error-classification-2.0.5.tgz#22c84fad456730adfa31cae91d47acd31304c346" + integrity sha512-M0SeJnEgD2ywJyV99Fb1yKFzmxDe9JfpJiYTVSRMyRLc467BPU0qsuuDPzMCdB1mU8M8u1rVOdkqdoyFN8UFTw== + dependencies: + "@smithy/types" "^2.4.0" + +"@smithy/shared-ini-file-loader@^1.0.1", "@smithy/shared-ini-file-loader@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-1.1.0.tgz#144a03a303590ef7d465ebcb21ffc2a52efc3389" + integrity sha512-S/v33zvCWzFyGZGlsEF0XsZtNNR281UhR7byk3nRfsgw5lGpg51rK/zjMgulM+h6NSuXaFILaYrw1I1v4kMcuA== + dependencies: + "@smithy/types" "^1.2.0" + tslib "^2.5.0" + +"@smithy/shared-ini-file-loader@^2.0.6", "@smithy/shared-ini-file-loader@^2.2.2": + version "2.2.2" + resolved "https://registry.yarnpkg.com/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-2.2.2.tgz#b52064c5254a01f5c98a821207448de439938667" + integrity sha512-noyQUPn7b1M8uB0GEXc/Zyxq+5K2b7aaqWnLp+hgJ7+xu/FCvtyWy5eWLDjQEsHnAet2IZhS5QF8872OR69uNg== + dependencies: + "@smithy/types" "^2.4.0" + tslib "^2.5.0" + +"@smithy/signature-v4@^1.0.1": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@smithy/signature-v4/-/signature-v4-1.1.0.tgz#e85309995c2475d39598a4f56e68b7ed856bdfa6" + integrity sha512-fDo3m7YqXBs7neciOePPd/X9LPm5QLlDMdIC4m1H6dgNLnXfLMFNIxEfPyohGA8VW9Wn4X8lygnPSGxDZSmp0Q== + dependencies: + "@smithy/eventstream-codec" "^1.1.0" + "@smithy/is-array-buffer" "^1.1.0" + "@smithy/types" "^1.2.0" + "@smithy/util-hex-encoding" "^1.1.0" + "@smithy/util-middleware" "^1.1.0" + "@smithy/util-uri-escape" "^1.1.0" + "@smithy/util-utf8" "^1.1.0" + tslib "^2.5.0" + +"@smithy/signature-v4@^2.0.0": + version "2.0.12" + resolved "https://registry.yarnpkg.com/@smithy/signature-v4/-/signature-v4-2.0.12.tgz#4f9f5bba25e784d110fdc4a276b715feae82bb28" + integrity sha512-6Kc2lCZEVmb1nNYngyNbWpq0d82OZwITH11SW/Q0U6PX5fH7B2cIcFe7o6eGEFPkTZTP8itTzmYiGcECL0D0Lw== + dependencies: + "@smithy/eventstream-codec" "^2.0.12" + "@smithy/is-array-buffer" "^2.0.0" + "@smithy/types" "^2.4.0" + "@smithy/util-hex-encoding" "^2.0.0" + "@smithy/util-middleware" "^2.0.5" + "@smithy/util-uri-escape" "^2.0.0" + "@smithy/util-utf8" "^2.0.0" tslib "^2.5.0" "@smithy/smithy-client@^1.0.3": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@smithy/smithy-client/-/smithy-client-1.0.4.tgz#96d03d123d117a637c679a79bb8eae96e3857bd9" - integrity sha512-gpo0Xl5Nyp9sgymEfpt7oa9P2q/GlM3VmQIdm+FeH0QEdYOQx3OtvwVmBYAMv2FIPWxkMZlsPYRTnEiBTK5TYg== + version "1.1.0" + resolved "https://registry.yarnpkg.com/@smithy/smithy-client/-/smithy-client-1.1.0.tgz#a546a41cc377c836756b6fa749fc9ae292472985" + integrity sha512-j32SGgVhv2G9nBTmel9u3OXux8KG20ssxuFakJrEeDug3kqbl1qrGzVLCe+Eib402UDtA0Sp1a4NZ2SEXDBxag== dependencies: - "@smithy/middleware-stack" "^1.0.2" - "@smithy/types" "^1.1.1" - "@smithy/util-stream" "^1.0.2" + "@smithy/middleware-stack" "^1.1.0" + "@smithy/types" "^1.2.0" + "@smithy/util-stream" "^1.1.0" tslib "^2.5.0" -"@smithy/types@^1.1.0", "@smithy/types@^1.1.1": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@smithy/types/-/types-1.1.1.tgz#949394a22e13e7077471bae0d18c146e5f62c456" - integrity sha512-tMpkreknl2gRrniHeBtdgQwaOlo39df8RxSrwsHVNIGXULy5XP6KqgScUw2m12D15wnJCKWxVhCX+wbrBW/y7g== +"@smithy/smithy-client@^2.1.12": + version "2.1.12" + resolved "https://registry.yarnpkg.com/@smithy/smithy-client/-/smithy-client-2.1.12.tgz#a7f10ab846d41ce1042eb81f087c4c9eb438b481" + integrity sha512-XXqhridfkKnpj+lt8vM6HRlZbqUAqBjVC74JIi13F/AYQd/zTj9SOyGfxnbp4mjY9q28LityxIuV8CTinr9r5w== dependencies: + "@smithy/middleware-stack" "^2.0.6" + "@smithy/types" "^2.4.0" + "@smithy/util-stream" "^2.0.17" tslib "^2.5.0" -"@smithy/url-parser@^1.0.1", "@smithy/url-parser@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@smithy/url-parser/-/url-parser-1.0.2.tgz#fb59be6f2283399443d9e7afe08ebf63b3c266bb" - integrity sha512-0JRsDMQe53F6EHRWksdcavKDRjyqp8vrjakg8EcCUOa7PaFRRB1SO/xGZdzSlW1RSTWQDEksFMTCEcVEKmAoqA== +"@smithy/types@^1.1.0", "@smithy/types@^1.1.1", "@smithy/types@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@smithy/types/-/types-1.2.0.tgz#9dc65767b0ee3d6681704fcc67665d6fc9b6a34e" + integrity sha512-z1r00TvBqF3dh4aHhya7nz1HhvCg4TRmw51fjMrh5do3h+ngSstt/yKlNbHeb9QxJmFbmN8KEVSWgb1bRvfEoA== dependencies: - "@smithy/querystring-parser" "^1.0.2" - "@smithy/types" "^1.1.1" tslib "^2.5.0" -"@smithy/util-base64@^1.0.1", "@smithy/util-base64@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@smithy/util-base64/-/util-base64-1.0.2.tgz#6cdd5a9356dafad3c531123c12cd77d674762da0" - integrity sha512-BCm15WILJ3SL93nusoxvJGMVfAMWHZhdeDZPtpAaskozuexd0eF6szdz4kbXaKp38bFCSenA6bkUHqaE3KK0dA== +"@smithy/types@^2.4.0": + version "2.4.0" + resolved "https://registry.yarnpkg.com/@smithy/types/-/types-2.4.0.tgz#ed35e429e3ea3d089c68ed1bf951d0ccbdf2692e" + integrity sha512-iH1Xz68FWlmBJ9vvYeHifVMWJf82ONx+OybPW8ZGf5wnEv2S0UXcU4zwlwJkRXuLKpcSLHrraHbn2ucdVXLb4g== + dependencies: + tslib "^2.5.0" + +"@smithy/url-parser@^1.0.1", "@smithy/url-parser@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@smithy/url-parser/-/url-parser-1.1.0.tgz#1d88af653b02fda0be59064bfe5420c0b34b4dcb" + integrity sha512-tpvi761kzboiLNGEWczuybMPCJh6WHB3cz9gWAG95mSyaKXmmX8ZcMxoV+irZfxDqLwZVJ22XTumu32S7Ow8aQ== dependencies: - "@smithy/util-buffer-from" "^1.0.2" + "@smithy/querystring-parser" "^1.1.0" + "@smithy/types" "^1.2.0" + tslib "^2.5.0" + +"@smithy/url-parser@^2.0.12": + version "2.0.12" + resolved "https://registry.yarnpkg.com/@smithy/url-parser/-/url-parser-2.0.12.tgz#a4cdd1b66176e48f10d119298f8f90b06b7e8a01" + integrity sha512-qgkW2mZqRvlNUcBkxYB/gYacRaAdck77Dk3/g2iw0S9F0EYthIS3loGfly8AwoWpIvHKhkTsCXXQfzksgZ4zIA== + dependencies: + "@smithy/querystring-parser" "^2.0.12" + "@smithy/types" "^2.4.0" + tslib "^2.5.0" + +"@smithy/util-base64@^1.0.1", "@smithy/util-base64@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@smithy/util-base64/-/util-base64-1.1.0.tgz#2b1854013bfd11aefdd0c035eae789d7c4e56a1e" + integrity sha512-FpYmDmVbOXAxqvoVCwqehUN0zXS+lN8V7VS9O7I8MKeVHdSTsZzlwiMEvGoyTNOXWn8luF4CTDYgNHnZViR30g== + dependencies: + "@smithy/util-buffer-from" "^1.1.0" + tslib "^2.5.0" + +"@smithy/util-base64@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@smithy/util-base64/-/util-base64-2.0.0.tgz#1beeabfb155471d1d41c8d0603be1351f883c444" + integrity sha512-Zb1E4xx+m5Lud8bbeYi5FkcMJMnn+1WUnJF3qD7rAdXpaL7UjkFQLdmW5fHadoKbdHpwH9vSR8EyTJFHJs++tA== + dependencies: + "@smithy/util-buffer-from" "^2.0.0" tslib "^2.5.0" "@smithy/util-body-length-browser@^1.0.1": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@smithy/util-body-length-browser/-/util-body-length-browser-1.0.2.tgz#4a9a49497634b5f25ab5ff73f1a8498010b0024a" - integrity sha512-Xh8L06H2anF5BHjSYTg8hx+Itcbf4SQZnVMl4PIkCOsKtneMJoGjPRLy17lEzfoh/GOaa0QxgCP6lRMQWzNl4w== + version "1.1.0" + resolved "https://registry.yarnpkg.com/@smithy/util-body-length-browser/-/util-body-length-browser-1.1.0.tgz#b8e7e25efb494762cb1dcc2e4c7b6f2d06286413" + integrity sha512-cep3ioRxzRZ2Jbp3Kly7gy6iNVefYXiT6ETt8W01RQr3uwi1YMkrbU1p3lMR4KhX/91Nrk6UOgX1RH+oIt48RQ== + dependencies: + tslib "^2.5.0" + +"@smithy/util-body-length-browser@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@smithy/util-body-length-browser/-/util-body-length-browser-2.0.0.tgz#5447853003b4c73da3bc5f3c5e82c21d592d1650" + integrity sha512-JdDuS4ircJt+FDnaQj88TzZY3+njZ6O+D3uakS32f2VNnDo3vyEuNdBOh/oFd8Df1zSZOuH1HEChk2AOYDezZg== dependencies: tslib "^2.5.0" "@smithy/util-body-length-node@^1.0.1": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@smithy/util-body-length-node/-/util-body-length-node-1.0.2.tgz#bc4969022f7d9ffcb239d626d80a85138e986df6" - integrity sha512-nXHbZsUtvZeyfL4Ceds9nmy2Uh2AhWXohG4vWHyjSdmT8cXZlJdmJgnH6SJKDjyUecbu+BpKeVvSrA4cWPSOPA== + version "1.1.0" + resolved "https://registry.yarnpkg.com/@smithy/util-body-length-node/-/util-body-length-node-1.1.0.tgz#afb9d4b33c5c0a5073893e5aacc17bcb2d11250d" + integrity sha512-fRHRjkUuT5em4HZoshySXmB1n3HAU7IS232s+qU4TicexhyGJpXMK/2+c56ePOIa1FOK2tV1Q3J/7Mae35QVSw== dependencies: tslib "^2.5.0" -"@smithy/util-buffer-from@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@smithy/util-buffer-from/-/util-buffer-from-1.0.2.tgz#27e19573d721962bd2443f23d4edadb8206b2cb5" - integrity sha512-lHAYIyrBO9RANrPvccnPjU03MJnWZ66wWuC5GjWWQVfsmPwU6m00aakZkzHdUT6tGCkGacXSgArP5wgTgA+oCw== +"@smithy/util-body-length-node@^2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@smithy/util-body-length-node/-/util-body-length-node-2.1.0.tgz#313a5f7c5017947baf5fa018bfc22628904bbcfa" + integrity sha512-/li0/kj/y3fQ3vyzn36NTLGmUwAICb7Jbe/CsWCktW363gh1MOcpEcSO3mJ344Gv2dqz8YJCLQpb6hju/0qOWw== dependencies: - "@smithy/is-array-buffer" "^1.0.2" tslib "^2.5.0" -"@smithy/util-config-provider@^1.0.1", "@smithy/util-config-provider@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@smithy/util-config-provider/-/util-config-provider-1.0.2.tgz#4d2e867df1cc7b4010d1278bd5767ce1b679dae9" - integrity sha512-HOdmDm+3HUbuYPBABLLHtn8ittuRyy+BSjKOA169H+EMc+IozipvXDydf+gKBRAxUa4dtKQkLraypwppzi+PRw== +"@smithy/util-buffer-from@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@smithy/util-buffer-from/-/util-buffer-from-1.1.0.tgz#a000bd9f95c0e8d5b0edb0112f2a586daa5bed49" + integrity sha512-9m6NXE0ww+ra5HKHCHig20T+FAwxBAm7DIdwc/767uGWbRcY720ybgPacQNB96JMOI7xVr/CDa3oMzKmW4a+kw== + dependencies: + "@smithy/is-array-buffer" "^1.1.0" + tslib "^2.5.0" + +"@smithy/util-buffer-from@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@smithy/util-buffer-from/-/util-buffer-from-2.0.0.tgz#7eb75d72288b6b3001bc5f75b48b711513091deb" + integrity sha512-/YNnLoHsR+4W4Vf2wL5lGv0ksg8Bmk3GEGxn2vEQt52AQaPSCuaO5PM5VM7lP1K9qHRKHwrPGktqVoAHKWHxzw== + dependencies: + "@smithy/is-array-buffer" "^2.0.0" + tslib "^2.5.0" + +"@smithy/util-config-provider@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@smithy/util-config-provider/-/util-config-provider-1.1.0.tgz#eb7dcf9bfec9c359430c77dc9671decebeb0b2f9" + integrity sha512-rQ47YpNmF6Is4I9GiE3T3+0xQ+r7RKRKbmHYyGSbyep/0cSf9kteKcI0ssJTvveJ1K4QvwrxXj1tEFp/G2UqxQ== + dependencies: + tslib "^2.5.0" + +"@smithy/util-config-provider@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@smithy/util-config-provider/-/util-config-provider-2.0.0.tgz#4dd6a793605559d94267312fd06d0f58784b4c38" + integrity sha512-xCQ6UapcIWKxXHEU4Mcs2s7LcFQRiU3XEluM2WcCjjBtQkUN71Tb+ydGmJFPxMUrW/GWMgQEEGipLym4XG0jZg== dependencies: tslib "^2.5.0" "@smithy/util-defaults-mode-browser@^1.0.1": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-1.0.2.tgz#31ad7b9bce7e38fd57f4a370ee416373b4fbd432" - integrity sha512-J1u2PO235zxY7dg0+ZqaG96tFg4ehJZ7isGK1pCBEA072qxNPwIpDzUVGnLJkHZvjWEGA8rxIauDtXfB0qxeAg== + version "1.1.0" + resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-1.1.0.tgz#60a110cdda9595865b98e26eef62206064656beb" + integrity sha512-0bWhs1e412bfC5gwPCMe8Zbz0J8UoZ/meEQdo6MYj8Ne+c+QZ+KxVjx0a1dFYOclvM33SslL9dP0odn8kfblkg== dependencies: - "@smithy/property-provider" "^1.0.2" - "@smithy/types" "^1.1.1" + "@smithy/property-provider" "^1.2.0" + "@smithy/types" "^1.2.0" + bowser "^2.11.0" + tslib "^2.5.0" + +"@smithy/util-defaults-mode-browser@^2.0.16": + version "2.0.16" + resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-2.0.16.tgz#7d60c4e1d00ed569f47fd6343b822c4ff3c2c9f8" + integrity sha512-Uv5Cu8nVkuvLn0puX+R9zWbSNpLIR3AxUlPoLJ7hC5lvir8B2WVqVEkJLwtixKAncVLasnTVjPDCidtAUTGEQw== + dependencies: + "@smithy/property-provider" "^2.0.13" + "@smithy/smithy-client" "^2.1.12" + "@smithy/types" "^2.4.0" bowser "^2.11.0" tslib "^2.5.0" "@smithy/util-defaults-mode-node@^1.0.1": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-1.0.2.tgz#b295fe2a18568c1e21a85b6557e2b769452b4d95" - integrity sha512-9/BN63rlIsFStvI+AvljMh873Xw6bbI6b19b+PVYXyycQ2DDQImWcjnzRlHW7eP65CCUNGQ6otDLNdBQCgMXqg== + version "1.1.0" + resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-1.1.0.tgz#71519554f2486671272fc7ad55ea1b6345361e6d" + integrity sha512-440e25TUH2b+TeK5CwsjYFrI9ShVOgA31CoxCKiv4ncSK4ZM68XW5opYxQmzMbRWARGEMu2XEUeBmOgMU2RLsw== + dependencies: + "@smithy/config-resolver" "^1.1.0" + "@smithy/credential-provider-imds" "^1.1.0" + "@smithy/node-config-provider" "^1.1.0" + "@smithy/property-provider" "^1.2.0" + "@smithy/types" "^1.2.0" + tslib "^2.5.0" + +"@smithy/util-defaults-mode-node@^2.0.21": + version "2.0.21" + resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-2.0.21.tgz#d10c887b3e641c63e235ce95ba32137fd0bd1838" + integrity sha512-cUEsttVZ79B7Al2rWK2FW03HBpD9LyuqFtm+1qFty5u9sHSdesr215gS2Ln53fTopNiPgeXpdoM3IgjvIO0rJw== + dependencies: + "@smithy/config-resolver" "^2.0.16" + "@smithy/credential-provider-imds" "^2.0.18" + "@smithy/node-config-provider" "^2.1.3" + "@smithy/property-provider" "^2.0.13" + "@smithy/smithy-client" "^2.1.12" + "@smithy/types" "^2.4.0" + tslib "^2.5.0" + +"@smithy/util-hex-encoding@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@smithy/util-hex-encoding/-/util-hex-encoding-1.1.0.tgz#b5ba919aa076a3fd5e93e368e34ae2b732fa2090" + integrity sha512-7UtIE9eH0u41zpB60Jzr0oNCQ3hMJUabMcKRUVjmyHTXiWDE4vjSqN6qlih7rCNeKGbioS7f/y2Jgym4QZcKFg== dependencies: - "@smithy/config-resolver" "^1.0.2" - "@smithy/credential-provider-imds" "^1.0.2" - "@smithy/node-config-provider" "^1.0.2" - "@smithy/property-provider" "^1.0.2" - "@smithy/types" "^1.1.1" tslib "^2.5.0" -"@smithy/util-hex-encoding@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@smithy/util-hex-encoding/-/util-hex-encoding-1.0.2.tgz#5b9f2162f2a59b2d2aa39992bd2c7f65b6616ab6" - integrity sha512-Bxydb5rMJorMV6AuDDMOxro3BMDdIwtbQKHpwvQFASkmr52BnpDsWlxgpJi8Iq7nk1Bt4E40oE1Isy/7ubHGzg== +"@smithy/util-hex-encoding@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@smithy/util-hex-encoding/-/util-hex-encoding-2.0.0.tgz#0aa3515acd2b005c6d55675e377080a7c513b59e" + integrity sha512-c5xY+NUnFqG6d7HFh1IFfrm3mGl29lC+vF+geHv4ToiuJCBmIfzx6IeHLg+OgRdPFKDXIw6pvi+p3CsscaMcMA== dependencies: tslib "^2.5.0" -"@smithy/util-middleware@^1.0.1", "@smithy/util-middleware@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@smithy/util-middleware/-/util-middleware-1.0.2.tgz#c3d4c7a6cd31bde33901e54abd7700c8ca73dab3" - integrity sha512-vtXK7GOR2BoseCX8NCGe9SaiZrm9M2lm/RVexFGyPuafTtry9Vyv7hq/vw8ifd/G/pSJ+msByfJVb1642oQHKw== +"@smithy/util-middleware@^1.0.1", "@smithy/util-middleware@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@smithy/util-middleware/-/util-middleware-1.1.0.tgz#9f186489437ca2ef753c5e1de2930f76fd1edc14" + integrity sha512-6hhckcBqVgjWAqLy2vqlPZ3rfxLDhFWEmM7oLh2POGvsi7j0tHkbN7w4DFhuBExVJAbJ/qqxqZdRY6Fu7/OezQ== dependencies: tslib "^2.5.0" -"@smithy/util-retry@^1.0.3", "@smithy/util-retry@^1.0.4": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@smithy/util-retry/-/util-retry-1.0.4.tgz#9d95df3884981414163d5f780d38e3529384d9ad" - integrity sha512-RnZPVFvRoqdj2EbroDo3OsnnQU8eQ4AlnZTOGusbYKybH3269CFdrZfZJloe60AQjX7di3J6t/79PjwCLO5Khw== +"@smithy/util-middleware@^2.0.5": + version "2.0.5" + resolved "https://registry.yarnpkg.com/@smithy/util-middleware/-/util-middleware-2.0.5.tgz#c63dc491de81641c99ade9309f30c54ad0e28fbd" + integrity sha512-1lyT3TcaMJQe+OFfVI+TlomDkPuVzb27NZYdYtmSTltVmLaUjdCyt4KE+OH1CnhZKsz4/cdCL420Lg9UH5Z2Mw== dependencies: - "@smithy/service-error-classification" "^1.0.3" + "@smithy/types" "^2.4.0" tslib "^2.5.0" -"@smithy/util-stream@^1.0.1", "@smithy/util-stream@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@smithy/util-stream/-/util-stream-1.0.2.tgz#2d33aa5168e51d1dd7937c32a09c8334d2da44d9" - integrity sha512-qyN2M9QFMTz4UCHi6GnBfLOGYKxQZD01Ga6nzaXFFC51HP/QmArU72e4kY50Z/EtW8binPxspP2TAsGbwy9l3A== +"@smithy/util-retry@^1.0.3", "@smithy/util-retry@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@smithy/util-retry/-/util-retry-1.1.0.tgz#f6e62ec7d7d30f1dd9608991730ba7a86e445047" + integrity sha512-ygQW5HBqYXpR3ua09UciS0sL7UGJzGiktrKkOuEJwARoUuzz40yaEGU6xd9Gs7KBmAaFC8gMfnghHtwZ2nyBCQ== dependencies: - "@smithy/fetch-http-handler" "^1.0.2" - "@smithy/node-http-handler" "^1.0.3" - "@smithy/types" "^1.1.1" - "@smithy/util-base64" "^1.0.2" - "@smithy/util-buffer-from" "^1.0.2" - "@smithy/util-hex-encoding" "^1.0.2" - "@smithy/util-utf8" "^1.0.2" + "@smithy/service-error-classification" "^1.1.0" tslib "^2.5.0" -"@smithy/util-uri-escape@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@smithy/util-uri-escape/-/util-uri-escape-1.0.2.tgz#c69a5423c9baa7a045a79372320bd40a437ac756" - integrity sha512-k8C0BFNS9HpBMHSgUDnWb1JlCQcFG+PPlVBq9keP4Nfwv6a9Q0yAfASWqUCtzjuMj1hXeLhn/5ADP6JxnID1Pg== +"@smithy/util-retry@^2.0.5": + version "2.0.5" + resolved "https://registry.yarnpkg.com/@smithy/util-retry/-/util-retry-2.0.5.tgz#1a93721da082301aca61d8b42380369761a7e80d" + integrity sha512-x3t1+MQAJ6QONk3GTbJNcugCFDVJ+Bkro5YqQQK1EyVesajNDqxFtCx9WdOFNGm/Cbm7tUdwVEmfKQOJoU2Vtw== dependencies: + "@smithy/service-error-classification" "^2.0.5" + "@smithy/types" "^2.4.0" tslib "^2.5.0" -"@smithy/util-utf8@^1.0.1", "@smithy/util-utf8@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@smithy/util-utf8/-/util-utf8-1.0.2.tgz#b34c27b4efbe4f0edb6560b6d4f743088302671f" - integrity sha512-V4cyjKfJlARui0dMBfWJMQAmJzoW77i4N3EjkH/bwnE2Ngbl4tqD2Y0C/xzpzY/J1BdxeCKxAebVFk8aFCaSCw== +"@smithy/util-stream-node@^1.0.2": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@smithy/util-stream-node/-/util-stream-node-1.1.0.tgz#8ba7960eaabdca2a9facfd2e9c8e82ea8be9987e" + integrity sha512-gC7La6Xh/Q6ruY2tF2kSmVYxZpca9nKMYsbPSNDUv6EKW6kMHO3UqxTQ4kixynUOz2uZ3igvuX+1d2w+LaD2dw== dependencies: - "@smithy/util-buffer-from" "^1.0.2" + "@smithy/node-http-handler" "^1.1.0" + "@smithy/types" "^1.2.0" + "@smithy/util-buffer-from" "^1.1.0" tslib "^2.5.0" -"@smithy/util-waiter@^1.0.1": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@smithy/util-waiter/-/util-waiter-1.0.2.tgz#3b1498a2d4b92e78eafacc8c76f314e30eb7a5e9" - integrity sha512-+jq4/Vd9ejPzR45qwYSePyjQbqYP9QqtyZYsFVyfzRnbGGC0AjswOh7txcxroafuEBExK4qE+L/QZA8wWXsJYw== +"@smithy/util-stream@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@smithy/util-stream/-/util-stream-1.1.0.tgz#3f174223bef33af85aa39261fccb908648e13af9" + integrity sha512-w3lsdGsntaLQIrwDWJkIFKrFscgZXwU/oxsse09aSTNv5TckPhDeYea3LhsDrU5MGAG3vprhVZAKr33S45coVA== + dependencies: + "@smithy/fetch-http-handler" "^1.1.0" + "@smithy/node-http-handler" "^1.1.0" + "@smithy/types" "^1.2.0" + "@smithy/util-base64" "^1.1.0" + "@smithy/util-buffer-from" "^1.1.0" + "@smithy/util-hex-encoding" "^1.1.0" + "@smithy/util-utf8" "^1.1.0" + tslib "^2.5.0" + +"@smithy/util-stream@^2.0.17": + version "2.0.17" + resolved "https://registry.yarnpkg.com/@smithy/util-stream/-/util-stream-2.0.17.tgz#4c980891b0943e9e64949d7afcf1ec4a7b510ea8" + integrity sha512-fP/ZQ27rRvHsqItds8yB7jerwMpZFTL3QqbQbidUiG0+mttMoKdP0ZqnvM8UK5q0/dfc3/pN7g4XKPXOU7oRWw== + dependencies: + "@smithy/fetch-http-handler" "^2.2.4" + "@smithy/node-http-handler" "^2.1.8" + "@smithy/types" "^2.4.0" + "@smithy/util-base64" "^2.0.0" + "@smithy/util-buffer-from" "^2.0.0" + "@smithy/util-hex-encoding" "^2.0.0" + "@smithy/util-utf8" "^2.0.0" + tslib "^2.5.0" + +"@smithy/util-uri-escape@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@smithy/util-uri-escape/-/util-uri-escape-1.1.0.tgz#a8c5edaf19c0efdb9b51661e840549cf600a1808" + integrity sha512-/jL/V1xdVRt5XppwiaEU8Etp5WHZj609n0xMTuehmCqdoOFbId1M+aEeDWZsQ+8JbEB/BJ6ynY2SlYmOaKtt8w== dependencies: - "@smithy/abort-controller" "^1.0.2" - "@smithy/types" "^1.1.1" + tslib "^2.5.0" + +"@smithy/util-uri-escape@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@smithy/util-uri-escape/-/util-uri-escape-2.0.0.tgz#19955b1a0f517a87ae77ac729e0e411963dfda95" + integrity sha512-ebkxsqinSdEooQduuk9CbKcI+wheijxEb3utGXkCoYQkJnwTnLbH1JXGimJtUkQwNQbsbuYwG2+aFVyZf5TLaw== + dependencies: + tslib "^2.5.0" + +"@smithy/util-utf8@^1.0.1", "@smithy/util-utf8@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@smithy/util-utf8/-/util-utf8-1.1.0.tgz#b791ab1e3f694374edfe22811e39dd8424a1be69" + integrity sha512-p/MYV+JmqmPyjdgyN2UxAeYDj9cBqCjp0C/NsTWnnjoZUVqoeZ6IrW915L9CAKWVECgv9lVQGc4u/yz26/bI1A== + dependencies: + "@smithy/util-buffer-from" "^1.1.0" + tslib "^2.5.0" + +"@smithy/util-utf8@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@smithy/util-utf8/-/util-utf8-2.0.0.tgz#b4da87566ea7757435e153799df9da717262ad42" + integrity sha512-rctU1VkziY84n5OXe3bPNpKR001ZCME2JCaBBFgtiM2hfKbHFudc/BkMuPab8hRbLd0j3vbnBTTZ1igBf0wgiQ== + dependencies: + "@smithy/util-buffer-from" "^2.0.0" + tslib "^2.5.0" + +"@smithy/util-waiter@^2.0.12": + version "2.0.12" + resolved "https://registry.yarnpkg.com/@smithy/util-waiter/-/util-waiter-2.0.12.tgz#a7348f9fd2bade5f2f3ee7ecf7c43ab86ed244ee" + integrity sha512-3sENmyVa1NnOPoiT2NCApPmu7ukP7S/v7kL9IxNmnygkDldn7/yK0TP42oPJLwB2k3mospNsSePIlqdXEUyPHA== + dependencies: + "@smithy/abort-controller" "^2.0.12" + "@smithy/types" "^2.4.0" tslib "^2.5.0" "@szmarczak/http-timer@^4.0.5": @@ -2509,11 +3175,16 @@ resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.3.tgz#472eaab5f15c1ffdd7f8628bd4c4f753995ec79e" integrity sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ== -"@types/aws-lambda@^8.10.58", "@types/aws-lambda@^8.10.85": +"@types/aws-lambda@^8.10.58": version "8.10.101" resolved "https://registry.yarnpkg.com/@types/aws-lambda/-/aws-lambda-8.10.101.tgz#35d85783a834e04604d49e85dc7ee6e2820e8939" integrity sha512-84geGyVc0H9P9aGbcg/vkDh5akJq0bEf3tizHNR2d1gcm0wsp9IZ/SW6rPxvgjJFi3OeVxDc8WTKCAjoZbogzg== +"@types/aws-lambda@^8.10.85": + version "8.10.125" + resolved "https://registry.yarnpkg.com/@types/aws-lambda/-/aws-lambda-8.10.125.tgz#c2ba86f7d98fe1827a7b048e0d31a65a8b5aed8c" + integrity sha512-Vqw/WMlV4O1fJT6capim01v7VLDZkcX1n6Yhb52E7IfnMqYbNfwHfyDV8rRN42NLBtdDvfaqcCqs2K0fr5ljZw== + "@types/cacheable-request@^6.0.1": version "6.0.3" resolved "https://registry.yarnpkg.com/@types/cacheable-request/-/cacheable-request-6.0.3.tgz#a430b3260466ca7b5ca5bfd735693b36e7a9d183" @@ -2530,9 +3201,9 @@ integrity sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ== "@types/json-schema@^7.0.9": - version "7.0.11" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3" - integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ== + version "7.0.14" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.14.tgz#74a97a5573980802f32c8e47b663530ab3b6b7d1" + integrity sha512-U3PUjAudAdJBeC2pgN8uTIKgxrb4nlDF3SF0++EldXQvQBGkpFZMSnwQiIoDU77tv45VgNkl/L4ouD+rEomujw== "@types/json5@^0.0.29": version "0.0.29" @@ -2547,29 +3218,34 @@ "@types/node" "*" "@types/lodash@^4.14.177": - version "4.14.182" - resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.182.tgz#05301a4d5e62963227eaafe0ce04dd77c54ea5c2" - integrity sha512-/THyiqyQAP9AfARo4pF+aCGcyiQ94tX/Is2I7HofNRqoYLgN1PBoOWu2/zTA5zMxzP5EFutMtWtGAFRKUe961Q== + version "4.14.200" + resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.200.tgz#435b6035c7eba9cdf1e039af8212c9e9281e7149" + integrity sha512-YI/M/4HRImtNf3pJgbF+W6FrXovqj+T+/HpENLTooK9PnkacBsDpeP3IpHab40CClUfhNmdM2WTNP2sa2dni5Q== -"@types/minimist@^1.2.0", "@types/minimist@^1.2.2": +"@types/minimist@^1.2.0": version "1.2.2" resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.2.tgz#ee771e2ba4b3dc5b372935d549fd9617bf345b8c" integrity sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ== +"@types/minimist@^1.2.2": + version "1.2.4" + resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.4.tgz#81f886786411c45bba3f33e781ab48bd56bfca2e" + integrity sha512-Kfe/D3hxHTusnPNRbycJE1N77WHDsdS4AjUYIzlDzhDrS47NrwuL3YW4VITxwR7KCVpzwgy4Rbj829KSSQmwXQ== + "@types/node@*", "@types/node@>=12": version "18.6.5" resolved "https://registry.yarnpkg.com/@types/node/-/node-18.6.5.tgz#06caea822caf9e59d5034b695186ee74154d2802" integrity sha512-Xjt5ZGUa5WusGZJ4WJPbOT8QOqp6nDynVFRKcUt32bOgvXEoc6o085WNkYTMO7ifAj2isEfQQ2cseE+wT6jsRw== "@types/node@^16.11.1": - version "16.11.47" - resolved "https://registry.yarnpkg.com/@types/node/-/node-16.11.47.tgz#efa9e3e0f72e7aa6a138055dace7437a83d9f91c" - integrity sha512-fpP+jk2zJ4VW66+wAMFoBJlx1bxmBKx4DUFf68UHgdGCOuyUTDlLWqsaNPJh7xhNDykyJ9eIzAygilP/4WoN8g== + version "16.18.59" + resolved "https://registry.yarnpkg.com/@types/node/-/node-16.18.59.tgz#4cdbd631be6d9be266a96fb17b5d0d7ad6bbe26c" + integrity sha512-PJ1w2cNeKUEdey4LiPra0ZuxZFOGvetswE8qHRriV/sUkL5Al4tTmPV9D2+Y/TPIxTHHgxTfRjZVKWhPw/ORhQ== -"@types/normalize-package-data@^2.4.0": - version "2.4.1" - resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz#d3357479a0fdfdd5907fe67e17e0a85c906e1301" - integrity sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw== +"@types/normalize-package-data@^2.4.0", "@types/normalize-package-data@^2.4.1": + version "2.4.3" + resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.3.tgz#291c243e4b94dbfbc0c0ee26b7666f1d5c030e2c" + integrity sha512-ehPtgRgaULsFG8x0NeYJvmyH1hmlfsNLujHe9dQEia/7MAJYdzMSi19JtchUHjmBA6XC/75dK55mzZH+RyieSg== "@types/parse-json@^4.0.0": version "4.0.0" @@ -2589,9 +3265,9 @@ integrity sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA== "@types/semver@^7.3.12": - version "7.3.13" - resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.3.13.tgz#da4bfd73f49bd541d28920ab0e2bf0ee80f71c91" - integrity sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw== + version "7.5.4" + resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.4.tgz#0a41252ad431c473158b22f9bfb9a63df7541cff" + integrity sha512-MMzuxN3GdFwskAnb6fz0orFvhfqi752yjaXylr0Rp4oDg5H0Zn1IuyRhDVvYOwAXoJirx2xuS16I3WjxnAIHiQ== "@types/ws@*": version "8.5.3" @@ -2601,29 +3277,29 @@ "@types/node" "*" "@typescript-eslint/eslint-plugin@^5.1.0": - version "5.52.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.52.0.tgz#5fb0d43574c2411f16ea80f5fc335b8eaa7b28a8" - integrity sha512-lHazYdvYVsBokwCdKOppvYJKaJ4S41CgKBcPvyd0xjZNbvQdhn/pnJlGtQksQ/NhInzdaeaSarlBjDXHuclEbg== - dependencies: - "@typescript-eslint/scope-manager" "5.52.0" - "@typescript-eslint/type-utils" "5.52.0" - "@typescript-eslint/utils" "5.52.0" + version "5.62.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz#aeef0328d172b9e37d9bab6dbc13b87ed88977db" + integrity sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag== + dependencies: + "@eslint-community/regexpp" "^4.4.0" + "@typescript-eslint/scope-manager" "5.62.0" + "@typescript-eslint/type-utils" "5.62.0" + "@typescript-eslint/utils" "5.62.0" debug "^4.3.4" - grapheme-splitter "^1.0.4" + graphemer "^1.4.0" ignore "^5.2.0" natural-compare-lite "^1.4.0" - regexpp "^3.2.0" semver "^7.3.7" tsutils "^3.21.0" "@typescript-eslint/parser@^5.1.0": - version "5.52.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.52.0.tgz#73c136df6c0133f1d7870de7131ccf356f5be5a4" - integrity sha512-e2KiLQOZRo4Y0D/b+3y08i3jsekoSkOYStROYmPUnGMEoA0h+k2qOH5H6tcjIc68WDvGwH+PaOrP1XRzLJ6QlA== + version "5.62.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.62.0.tgz#1b63d082d849a2fcae8a569248fbe2ee1b8a56c7" + integrity sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA== dependencies: - "@typescript-eslint/scope-manager" "5.52.0" - "@typescript-eslint/types" "5.52.0" - "@typescript-eslint/typescript-estree" "5.52.0" + "@typescript-eslint/scope-manager" "5.62.0" + "@typescript-eslint/types" "5.62.0" + "@typescript-eslint/typescript-estree" "5.62.0" debug "^4.3.4" "@typescript-eslint/scope-manager@5.52.0": @@ -2634,13 +3310,21 @@ "@typescript-eslint/types" "5.52.0" "@typescript-eslint/visitor-keys" "5.52.0" -"@typescript-eslint/type-utils@5.52.0": - version "5.52.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.52.0.tgz#9fd28cd02e6f21f5109e35496df41893f33167aa" - integrity sha512-tEKuUHfDOv852QGlpPtB3lHOoig5pyFQN/cUiZtpw99D93nEBjexRLre5sQZlkMoHry/lZr8qDAt2oAHLKA6Jw== +"@typescript-eslint/scope-manager@5.62.0": + version "5.62.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz#d9457ccc6a0b8d6b37d0eb252a23022478c5460c" + integrity sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w== dependencies: - "@typescript-eslint/typescript-estree" "5.52.0" - "@typescript-eslint/utils" "5.52.0" + "@typescript-eslint/types" "5.62.0" + "@typescript-eslint/visitor-keys" "5.62.0" + +"@typescript-eslint/type-utils@5.62.0": + version "5.62.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz#286f0389c41681376cdad96b309cedd17d70346a" + integrity sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew== + dependencies: + "@typescript-eslint/typescript-estree" "5.62.0" + "@typescript-eslint/utils" "5.62.0" debug "^4.3.4" tsutils "^3.21.0" @@ -2649,6 +3333,11 @@ resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.52.0.tgz#19e9abc6afb5bd37a1a9bea877a1a836c0b3241b" integrity sha512-oV7XU4CHYfBhk78fS7tkum+/Dpgsfi91IIDy7fjCyq2k6KB63M6gMC0YIvy+iABzmXThCRI6xpCEyVObBdWSDQ== +"@typescript-eslint/types@5.62.0": + version "5.62.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.62.0.tgz#258607e60effa309f067608931c3df6fed41fd2f" + integrity sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ== + "@typescript-eslint/typescript-estree@5.52.0": version "5.52.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.52.0.tgz#6408cb3c2ccc01c03c278cb201cf07e73347dfca" @@ -2662,7 +3351,34 @@ semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/utils@5.52.0", "@typescript-eslint/utils@^5.10.2": +"@typescript-eslint/typescript-estree@5.62.0": + version "5.62.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz#7d17794b77fabcac615d6a48fb143330d962eb9b" + integrity sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA== + dependencies: + "@typescript-eslint/types" "5.62.0" + "@typescript-eslint/visitor-keys" "5.62.0" + debug "^4.3.4" + globby "^11.1.0" + is-glob "^4.0.3" + semver "^7.3.7" + tsutils "^3.21.0" + +"@typescript-eslint/utils@5.62.0": + version "5.62.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.62.0.tgz#141e809c71636e4a75daa39faed2fb5f4b10df86" + integrity sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ== + dependencies: + "@eslint-community/eslint-utils" "^4.2.0" + "@types/json-schema" "^7.0.9" + "@types/semver" "^7.3.12" + "@typescript-eslint/scope-manager" "5.62.0" + "@typescript-eslint/types" "5.62.0" + "@typescript-eslint/typescript-estree" "5.62.0" + eslint-scope "^5.1.1" + semver "^7.3.7" + +"@typescript-eslint/utils@^5.10.2": version "5.52.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.52.0.tgz#b260bb5a8f6b00a0ed51db66bdba4ed5e4845a72" integrity sha512-As3lChhrbwWQLNk2HC8Ree96hldKIqk98EYvypd3It8Q1f8d5zWyIoaZEp2va5667M4ZyE7X8UUR+azXrFl+NA== @@ -2684,6 +3400,19 @@ "@typescript-eslint/types" "5.52.0" eslint-visitor-keys "^3.3.0" +"@typescript-eslint/visitor-keys@5.62.0": + version "5.62.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz#2174011917ce582875954ffe2f6912d5931e353e" + integrity sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw== + dependencies: + "@typescript-eslint/types" "5.62.0" + eslint-visitor-keys "^3.3.0" + +"@ungap/structured-clone@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.2.0.tgz#756641adb587851b5ccb3e095daf27ae581c8406" + integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ== + JSONStream@^1.0.4: version "1.3.5" resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0" @@ -2712,10 +3441,10 @@ acorn@^8.7.1: resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.1.tgz#0a3f9cbecc4ec3bea6f0a80b66ae8dd2da250b73" integrity sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA== -acorn@^8.8.0: - version "8.8.2" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.2.tgz#1b2f25db02af965399b9776b0c2c391276d37c4a" - integrity sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw== +acorn@^8.9.0: + version "8.11.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.11.1.tgz#29c6f12c3002d884b6f8baa37089e1917425cd3d" + integrity sha512-IJTNCJMRHfRfb8un89z1QtS0x890C2QUrUxFMK8zy+RizcId6mfnqOf68Bu9YkDgpLYuvCm6aYbwDatXVZPjMQ== add-stream@^1.0.0: version "1.0.0" @@ -2745,7 +3474,7 @@ aggregate-error@^4.0.0: clean-stack "^4.0.0" indent-string "^5.0.0" -ajv@^6.10.0, ajv@^6.12.3, ajv@^6.12.4: +ajv@^6.12.3, ajv@^6.12.4: version "6.12.6" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== @@ -2843,6 +3572,14 @@ argv@0.0.2: resolved "https://registry.yarnpkg.com/argv/-/argv-0.0.2.tgz#ecbd16f8949b157183711b1bda334f37840185ab" integrity sha512-dEamhpPEwRUBpLNHeuCm/v+g0anFByHahxodVO/BbAarHVBBg2MccCwf9K+o1Pof+2btdnkJelYVUWjW/VrATw== +array-buffer-byte-length@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz#fabe8bc193fea865f317fe7807085ee0dee5aead" + integrity sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A== + dependencies: + call-bind "^1.0.2" + is-array-buffer "^3.0.1" + array-find-index@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" @@ -2853,15 +3590,15 @@ array-ify@^1.0.0: resolved "https://registry.yarnpkg.com/array-ify/-/array-ify-1.0.0.tgz#9e528762b4a9066ad163a6962a364418e9626ece" integrity sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng== -array-includes@^3.1.6: - version "3.1.6" - resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.6.tgz#9e9e720e194f198266ba9e18c29e6a9b0e4b225f" - integrity sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw== +array-includes@^3.1.7: + version "3.1.7" + resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.7.tgz#8cd2e01b26f7a3086cbc87271593fe921c62abda" + integrity sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ== dependencies: call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - get-intrinsic "^1.1.3" + define-properties "^1.2.0" + es-abstract "^1.22.1" + get-intrinsic "^1.2.1" is-string "^1.0.7" array-union@^2.1.0: @@ -2869,26 +3606,50 @@ array-union@^2.1.0: resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== -array.prototype.flat@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz#ffc6576a7ca3efc2f46a143b9d1dda9b4b3cf5e2" - integrity sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA== +array.prototype.findlastindex@^1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.3.tgz#b37598438f97b579166940814e2c0493a4f50207" + integrity sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA== dependencies: call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" + define-properties "^1.2.0" + es-abstract "^1.22.1" es-shim-unscopables "^1.0.0" + get-intrinsic "^1.2.1" -array.prototype.flatmap@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz#1aae7903c2100433cb8261cd4ed310aab5c4a183" - integrity sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ== +array.prototype.flat@^1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz#1476217df8cff17d72ee8f3ba06738db5b387d18" + integrity sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA== dependencies: call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" + define-properties "^1.2.0" + es-abstract "^1.22.1" es-shim-unscopables "^1.0.0" +array.prototype.flatmap@^1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz#c9a7c6831db8e719d6ce639190146c24bbd3e527" + integrity sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + es-shim-unscopables "^1.0.0" + +arraybuffer.prototype.slice@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz#98bd561953e3e74bb34938e77647179dfe6e9f12" + integrity sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw== + dependencies: + array-buffer-byte-length "^1.0.0" + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + get-intrinsic "^1.2.1" + is-array-buffer "^3.0.2" + is-shared-array-buffer "^1.0.2" + arrgv@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/arrgv/-/arrgv-1.0.2.tgz#025ed55a6a433cad9b604f8112fc4292715a6ec0" @@ -3009,6 +3770,11 @@ base64-js@^1.0.2, base64-js@^1.3.1: resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== +big-integer@^1.6.44: + version "1.6.51" + resolved "https://registry.yarnpkg.com/big-integer/-/big-integer-1.6.51.tgz#0df92a5d9880560d3ff2d5fd20245c889d130686" + integrity sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg== + binary-extensions@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" @@ -3033,6 +3799,13 @@ bowser@^2.11.0: resolved "https://registry.yarnpkg.com/bowser/-/bowser-2.11.0.tgz#5ca3c35757a7aa5771500c70a73a9f91ef420a8f" integrity sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA== +bplist-parser@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/bplist-parser/-/bplist-parser-0.2.0.tgz#43a9d183e5bf9d545200ceac3e712f79ebbe8d0e" + integrity sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw== + dependencies: + big-integer "^1.6.44" + brace-expansion@^1.1.7: version "1.1.11" resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" @@ -3095,6 +3868,13 @@ buffer@^5.5.0: base64-js "^1.3.1" ieee754 "^1.1.13" +bundle-name@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/bundle-name/-/bundle-name-3.0.0.tgz#ba59bcc9ac785fb67ccdbf104a2bf60c099f0e1a" + integrity sha512-PKA4BeSvBpQKQ8iPOGCSiell+N8P+Tf1DlwqmYhpe2gAhKPHn8EYOxVT+ShuGmhg8lN8XiSlS80yiExKXrURlw== + dependencies: + run-applescript "^5.0.0" + cacheable-lookup@^5.0.3: version "5.0.4" resolved "https://registry.yarnpkg.com/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz#5a6b865b2c44357be3d5ebc2a467b032719a7005" @@ -3128,13 +3908,14 @@ caching-transform@^4.0.0: package-hash "^4.0.0" write-file-atomic "^3.0.0" -call-bind@^1.0.0, call-bind@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" - integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== +call-bind@^1.0.0, call-bind@^1.0.2, call-bind@^1.0.4, call-bind@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.5.tgz#6fa2b7845ce0ea49bf4d8b9ef64727a2c2e2e513" + integrity sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ== dependencies: - function-bind "^1.1.1" - get-intrinsic "^1.0.2" + function-bind "^1.1.2" + get-intrinsic "^1.2.1" + set-function-length "^1.1.1" callsites@^3.0.0: version "3.1.0" @@ -3155,25 +3936,25 @@ camelcase-keys@^6.2.2: map-obj "^4.0.0" quick-lru "^4.0.1" -camelcase-keys@^7.0.0: - version "7.0.2" - resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-7.0.2.tgz#d048d8c69448745bb0de6fc4c1c52a30dfbe7252" - integrity sha512-Rjs1H+A9R+Ig+4E/9oyB66UC5Mj9Xq3N//vcLf2WzgdTi/3gUu3Z9KoqmlrEG4VuuLK8wJHofxzdQXz/knhiYg== +camelcase-keys@^8.0.2: + version "8.0.2" + resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-8.0.2.tgz#a7140ba7c797aea32161d4ce5cdbda11d09eb414" + integrity sha512-qMKdlOfsjlezMqxkUGGMaWWs17i2HoL15tM+wtx8ld4nLrUwU58TFdvyGOz/piNP842KeO8yXvggVQSdQ828NA== dependencies: - camelcase "^6.3.0" - map-obj "^4.1.0" - quick-lru "^5.1.1" - type-fest "^1.2.1" + camelcase "^7.0.0" + map-obj "^4.3.0" + quick-lru "^6.1.1" + type-fest "^2.13.0" camelcase@^5.0.0, camelcase@^5.3.1: version "5.3.1" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== -camelcase@^6.3.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" - integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== +camelcase@^7.0.0: + version "7.0.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-7.0.1.tgz#f02e50af9fd7782bc8b88a3558c32fd3a388f048" + integrity sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw== caniuse-lite@^1.0.30001370: version "1.0.30001374" @@ -3187,7 +3968,7 @@ cbor@^8.1.0: dependencies: nofilter "^3.1.0" -chalk@^2.0.0, chalk@^2.4.1, chalk@^2.4.2: +chalk@^2.4.1, chalk@^2.4.2: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== @@ -3681,10 +4462,12 @@ crypto-js@^4.0.0: resolved "https://registry.yarnpkg.com/crypto-js/-/crypto-js-4.1.1.tgz#9e485bcf03521041bd85844786b83fb7619736cf" integrity sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw== -crypto-random-string@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5" - integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA== +crypto-random-string@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-4.0.0.tgz#5a3cc53d7dd86183df5da0312816ceeeb5bb1fc2" + integrity sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA== + dependencies: + type-fest "^1.0.1" currently-unhandled@^0.4.1: version "0.4.1" @@ -3713,9 +4496,11 @@ dargs@^7.0.0: integrity sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg== date-fns@^2.29.3: - version "2.29.3" - resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.29.3.tgz#27402d2fc67eb442b511b70bbdf98e6411cd68a8" - integrity sha512-dDCnyH2WnnKusqvZZ6+jA1O51Ibt8ZMRNkDZdyAyK4YfbDwa/cEmuztzG5pk6hqlp9aSBPYcjOlktquahGwGeA== + version "2.30.0" + resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.30.0.tgz#f367e644839ff57894ec6ac480de40cae4b0f4d0" + integrity sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw== + dependencies: + "@babel/runtime" "^7.21.0" date-time@^3.1.0: version "3.1.0" @@ -3744,9 +4529,9 @@ debug@^3.2.7: ms "^2.1.1" decamelize-keys@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/decamelize-keys/-/decamelize-keys-1.1.0.tgz#d171a87933252807eb3cb61dc1c1445d078df2d9" - integrity sha512-ocLWuYzRPoS9bfiSdDd3cxvrzovVMZnRDVEzAs+hWIVXGDbHxWMECij2OBuyB/An0FFW/nLuq6Kv1i/YC5Qfzg== + version "1.1.1" + resolved "https://registry.yarnpkg.com/decamelize-keys/-/decamelize-keys-1.1.1.tgz#04a2d523b2f18d80d0158a43b895d56dff8d19d8" + integrity sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg== dependencies: decamelize "^1.1.0" map-obj "^1.0.0" @@ -3756,10 +4541,10 @@ decamelize@^1.1.0, decamelize@^1.2.0: resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== -decamelize@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-5.0.1.tgz#db11a92e58c741ef339fb0a2868d8a06a9a7b1e9" - integrity sha512-VfxadyCECXgQlkoEAjeghAr5gY3Hf+IKjKb+X8tGVDtveCjN+USwprd2q3QXBR9T1+x2DG0XZF5/w+7HAtSaXA== +decamelize@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-6.0.0.tgz#8cad4d916fde5c41a264a43d0ecc56fe3d31749e" + integrity sha512-Fv96DCsdOgB6mdGl67MT5JaTNKRzrzill5OH5s8bjYJXVlcXyPYGyPsUkWyGV5p1TXI5esYIYMMeDJL0hEIwaA== decompress-response@^6.0.0: version "6.0.0" @@ -3783,6 +4568,24 @@ deepmerge-ts@^4.0.3: resolved "https://registry.yarnpkg.com/deepmerge-ts/-/deepmerge-ts-4.3.0.tgz#432aff3cd09f947e36cdb3772a43960bf45327fe" integrity sha512-if3ZYdkD2dClhnXR5reKtG98cwyaRT1NeugQoAPTTfsOpV9kqyeiBF9Qa5RHjemb3KzD5ulqygv6ED3t5j9eJw== +default-browser-id@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/default-browser-id/-/default-browser-id-3.0.0.tgz#bee7bbbef1f4e75d31f98f4d3f1556a14cea790c" + integrity sha512-OZ1y3y0SqSICtE8DE4S8YOE9UZOJ8wO16fKWVP5J1Qz42kV9jcnMVFrEE/noXb/ss3Q4pZIH79kxofzyNNtUNA== + dependencies: + bplist-parser "^0.2.0" + untildify "^4.0.0" + +default-browser@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/default-browser/-/default-browser-4.0.0.tgz#53c9894f8810bf86696de117a6ce9085a3cbc7da" + integrity sha512-wX5pXO1+BrhMkSbROFsyxUm0i/cJEScyNhA4PPxc41ICuv05ZZB/MX28s8aZx6xjmatvebIapF6hLEKEcpneUA== + dependencies: + bundle-name "^3.0.0" + default-browser-id "^3.0.0" + execa "^7.1.1" + titleize "^3.0.0" + default-require-extensions@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/default-require-extensions/-/default-require-extensions-3.0.0.tgz#e03f93aac9b2b6443fc52e5e4a37b3ad9ad8df96" @@ -3802,20 +4605,30 @@ defer-to-connect@^2.0.0: resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-2.0.1.tgz#8016bdb4143e4632b77a3449c6236277de520587" integrity sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg== -define-lazy-prop@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz#3f7ae421129bcaaac9bc74905c98a0009ec9ee7f" - integrity sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og== +define-data-property@^1.0.1, define-data-property@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.1.tgz#c35f7cd0ab09883480d12ac5cb213715587800b3" + integrity sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ== + dependencies: + get-intrinsic "^1.2.1" + gopd "^1.0.1" + has-property-descriptors "^1.0.0" -define-properties@^1.1.3, define-properties@^1.1.4: - version "1.2.0" - resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.0.tgz#52988570670c9eacedd8064f4a990f2405849bd5" - integrity sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA== +define-lazy-prop@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz#dbb19adfb746d7fc6d734a06b72f4a00d021255f" + integrity sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg== + +define-properties@^1.1.3, define-properties@^1.1.4, define-properties@^1.2.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.1.tgz#10781cc616eb951a80a034bafcaa7377f6af2b6c" + integrity sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg== dependencies: + define-data-property "^1.0.1" has-property-descriptors "^1.0.0" object-keys "^1.1.1" -del@^6.0.0, del@^6.1.1: +del@^6.1.1: version "6.1.1" resolved "https://registry.yarnpkg.com/del/-/del-6.1.1.tgz#3b70314f1ec0aa325c6b14eb36b95786671edb7a" integrity sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg== @@ -3925,9 +4738,9 @@ duplexify@^4.1.1: stream-shift "^1.0.0" duration-fns@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/duration-fns/-/duration-fns-3.0.1.tgz#72fc3400ee8c511ee36a19edf26bf49104d4c051" - integrity sha512-GHxED15UbbjNyCwk8OBGDs5KV+Zn/cloq66c4IPUslC3JfbbXncW9gtxfpG9b0xDVpVkPFzqy6lZaq9iyqff3Q== + version "3.0.2" + resolved "https://registry.yarnpkg.com/duration-fns/-/duration-fns-3.0.2.tgz#842223e05750b2aa66a28a24f58b611b71a44d96" + integrity sha512-w82IXh/6aWNHFA0qlQazJYJrZTWieTItuuGTE7YX4cxPaZTWhmVImbsBBiMK1/OhGDgiinuCpJoSFILYLDSKDg== eastasianwidth@^0.2.0: version "0.2.0" @@ -3968,7 +4781,7 @@ error-ex@^1.3.1: dependencies: is-arrayish "^0.2.1" -es-abstract@^1.19.0, es-abstract@^1.19.1, es-abstract@^1.20.4: +es-abstract@^1.19.1: version "1.21.1" resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.21.1.tgz#e6105a099967c08377830a0c9cb589d570dd86c6" integrity sha512-QudMsPOz86xYz/1dG1OuGBKOELjCh99IIWHLzy5znUB6j8xG2yMA7bfTV86VSqKF+Y/H08vQPR+9jyXpuC6hfg== @@ -4007,50 +4820,66 @@ es-abstract@^1.19.0, es-abstract@^1.19.1, es-abstract@^1.20.4: unbox-primitive "^1.0.2" which-typed-array "^1.1.9" -es-abstract@^1.20.0: - version "1.20.1" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.20.1.tgz#027292cd6ef44bd12b1913b828116f54787d1814" - integrity sha512-WEm2oBhfoI2sImeM4OF2zE2V3BYdSF+KnSi9Sidz51fQHd7+JuF8Xgcj9/0o+OWeIeIS/MiuNnlruQrJf16GQA== +es-abstract@^1.20.0, es-abstract@^1.22.1: + version "1.22.3" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.22.3.tgz#48e79f5573198de6dee3589195727f4f74bc4f32" + integrity sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA== dependencies: - call-bind "^1.0.2" + array-buffer-byte-length "^1.0.0" + arraybuffer.prototype.slice "^1.0.2" + available-typed-arrays "^1.0.5" + call-bind "^1.0.5" + es-set-tostringtag "^2.0.1" es-to-primitive "^1.2.1" - function-bind "^1.1.1" - function.prototype.name "^1.1.5" - get-intrinsic "^1.1.1" + function.prototype.name "^1.1.6" + get-intrinsic "^1.2.2" get-symbol-description "^1.0.0" - has "^1.0.3" + globalthis "^1.0.3" + gopd "^1.0.1" has-property-descriptors "^1.0.0" + has-proto "^1.0.1" has-symbols "^1.0.3" - internal-slot "^1.0.3" - is-callable "^1.2.4" + hasown "^2.0.0" + internal-slot "^1.0.5" + is-array-buffer "^3.0.2" + is-callable "^1.2.7" is-negative-zero "^2.0.2" is-regex "^1.1.4" is-shared-array-buffer "^1.0.2" is-string "^1.0.7" + is-typed-array "^1.1.12" is-weakref "^1.0.2" - object-inspect "^1.12.0" + object-inspect "^1.13.1" object-keys "^1.1.1" - object.assign "^4.1.2" - regexp.prototype.flags "^1.4.3" - string.prototype.trimend "^1.0.5" - string.prototype.trimstart "^1.0.5" + object.assign "^4.1.4" + regexp.prototype.flags "^1.5.1" + safe-array-concat "^1.0.1" + safe-regex-test "^1.0.0" + string.prototype.trim "^1.2.8" + string.prototype.trimend "^1.0.7" + string.prototype.trimstart "^1.0.7" + typed-array-buffer "^1.0.0" + typed-array-byte-length "^1.0.0" + typed-array-byte-offset "^1.0.0" + typed-array-length "^1.0.4" unbox-primitive "^1.0.2" + which-typed-array "^1.1.13" es-set-tostringtag@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz#338d502f6f674301d710b80c8592de8a15f09cd8" - integrity sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg== + version "2.0.2" + resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.0.2.tgz#11f7cc9f63376930a5f20be4915834f4bc74f9c9" + integrity sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q== dependencies: - get-intrinsic "^1.1.3" - has "^1.0.3" + get-intrinsic "^1.2.2" has-tostringtag "^1.0.0" + hasown "^2.0.0" es-shim-unscopables@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz#702e632193201e3edf8713635d083d378e510241" - integrity sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w== + version "1.0.2" + resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz#1f6942e71ecc7835ed1c8a83006d8771a63a3763" + integrity sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw== dependencies: - has "^1.0.3" + hasown "^2.0.0" es-to-primitive@^1.2.1: version "1.2.1" @@ -4092,23 +4921,23 @@ escape-string-regexp@^4.0.0: integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== eslint-config-prettier@^8.3.0: - version "8.6.0" - resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.6.0.tgz#dec1d29ab728f4fa63061774e1672ac4e363d207" - integrity sha512-bAF0eLpLVqP5oEVUFKpMA+NnRFICwn9X8B5jrR9FcqnYBuPbqWEjTEspPWMj5ye6czoSLDweCzSo3Ko7gGrZaA== + version "8.10.0" + resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.10.0.tgz#3a06a662130807e2502fc3ff8b4143d8a0658e11" + integrity sha512-SM8AMJdeQqRYT9O9zguiruQZaN7+z+E4eAP9oiLNGKMtomwaB1E9dcgUD6ZAn/eQAb52USbvezbiljfZUhbJcg== -eslint-import-resolver-node@^0.3.7: - version "0.3.7" - resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz#83b375187d412324a1963d84fa664377a23eb4d7" - integrity sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA== +eslint-import-resolver-node@^0.3.9: + version "0.3.9" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz#d4eaac52b8a2e7c3cd1903eb00f7e053356118ac" + integrity sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g== dependencies: debug "^3.2.7" - is-core-module "^2.11.0" - resolve "^1.22.1" + is-core-module "^2.13.0" + resolve "^1.22.4" -eslint-module-utils@^2.7.4: - version "2.7.4" - resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz#4f3e41116aaf13a20792261e61d3a2e7e0583974" - integrity sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA== +eslint-module-utils@^2.8.0: + version "2.8.0" + resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz#e439fee65fc33f6bba630ff621efc38ec0375c49" + integrity sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw== dependencies: debug "^3.2.7" @@ -4131,25 +4960,27 @@ eslint-plugin-functional@^4.0.0: semver "^7.3.7" eslint-plugin-import@^2.22.0: - version "2.27.5" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.27.5.tgz#876a6d03f52608a3e5bb439c2550588e51dd6c65" - integrity sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow== - dependencies: - array-includes "^3.1.6" - array.prototype.flat "^1.3.1" - array.prototype.flatmap "^1.3.1" + version "2.29.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.29.0.tgz#8133232e4329ee344f2f612885ac3073b0b7e155" + integrity sha512-QPOO5NO6Odv5lpoTkddtutccQjysJuFxoPS7fAHO+9m9udNHvTCPSAMW9zGAYj8lAIdr40I8yPCdUYrncXtrwg== + dependencies: + array-includes "^3.1.7" + array.prototype.findlastindex "^1.2.3" + array.prototype.flat "^1.3.2" + array.prototype.flatmap "^1.3.2" debug "^3.2.7" doctrine "^2.1.0" - eslint-import-resolver-node "^0.3.7" - eslint-module-utils "^2.7.4" - has "^1.0.3" - is-core-module "^2.11.0" + eslint-import-resolver-node "^0.3.9" + eslint-module-utils "^2.8.0" + hasown "^2.0.0" + is-core-module "^2.13.1" is-glob "^4.0.3" minimatch "^3.1.2" - object.values "^1.1.6" - resolve "^1.22.1" - semver "^6.3.0" - tsconfig-paths "^3.14.1" + object.fromentries "^2.0.7" + object.groupby "^1.0.1" + object.values "^1.1.7" + semver "^6.3.1" + tsconfig-paths "^3.14.2" eslint-plugin-prettier@^4.2.1: version "4.2.1" @@ -4166,10 +4997,10 @@ eslint-scope@^5.1.1: esrecurse "^4.3.0" estraverse "^4.1.1" -eslint-scope@^7.1.1: - version "7.1.1" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.1.1.tgz#fff34894c2f65e5226d3041ac480b4513a163642" - integrity sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw== +eslint-scope@^7.2.2: + version "7.2.2" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.2.2.tgz#deb4f92563390f32006894af62a22dba1c46423f" + integrity sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg== dependencies: esrecurse "^4.3.0" estraverse "^5.2.0" @@ -4186,74 +5017,73 @@ eslint-visitor-keys@^2.0.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== -eslint-visitor-keys@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826" - integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== +eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4.3: + version "3.4.3" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800" + integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== eslint@^8.0.1: - version "8.34.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.34.0.tgz#fe0ab0ef478104c1f9ebc5537e303d25a8fb22d6" - integrity sha512-1Z8iFsucw+7kSqXNZVslXS8Ioa4u2KM7GPwuKtkTFAqZ/cHMcEaR+1+Br0wLlot49cNxIiZk5wp8EAbPcYZxTg== - dependencies: - "@eslint/eslintrc" "^1.4.1" - "@humanwhocodes/config-array" "^0.11.8" + version "8.52.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.52.0.tgz#d0cd4a1fac06427a61ef9242b9353f36ea7062fc" + integrity sha512-zh/JHnaixqHZsolRB/w9/02akBk9EPrOs9JwcTP2ek7yL5bVvXuRariiaAjjoJ5DvuwQ1WAE/HsMz+w17YgBCg== + dependencies: + "@eslint-community/eslint-utils" "^4.2.0" + "@eslint-community/regexpp" "^4.6.1" + "@eslint/eslintrc" "^2.1.2" + "@eslint/js" "8.52.0" + "@humanwhocodes/config-array" "^0.11.13" "@humanwhocodes/module-importer" "^1.0.1" "@nodelib/fs.walk" "^1.2.8" - ajv "^6.10.0" + "@ungap/structured-clone" "^1.2.0" + ajv "^6.12.4" chalk "^4.0.0" cross-spawn "^7.0.2" debug "^4.3.2" doctrine "^3.0.0" escape-string-regexp "^4.0.0" - eslint-scope "^7.1.1" - eslint-utils "^3.0.0" - eslint-visitor-keys "^3.3.0" - espree "^9.4.0" - esquery "^1.4.0" + eslint-scope "^7.2.2" + eslint-visitor-keys "^3.4.3" + espree "^9.6.1" + esquery "^1.4.2" esutils "^2.0.2" fast-deep-equal "^3.1.3" file-entry-cache "^6.0.1" find-up "^5.0.0" glob-parent "^6.0.2" globals "^13.19.0" - grapheme-splitter "^1.0.4" + graphemer "^1.4.0" ignore "^5.2.0" - import-fresh "^3.0.0" imurmurhash "^0.1.4" is-glob "^4.0.0" is-path-inside "^3.0.3" - js-sdsl "^4.1.4" js-yaml "^4.1.0" json-stable-stringify-without-jsonify "^1.0.1" levn "^0.4.1" lodash.merge "^4.6.2" minimatch "^3.1.2" natural-compare "^1.4.0" - optionator "^0.9.1" - regexpp "^3.2.0" + optionator "^0.9.3" strip-ansi "^6.0.1" - strip-json-comments "^3.1.0" text-table "^0.2.0" -espree@^9.4.0: - version "9.4.1" - resolved "https://registry.yarnpkg.com/espree/-/espree-9.4.1.tgz#51d6092615567a2c2cff7833445e37c28c0065bd" - integrity sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg== +espree@^9.6.0, espree@^9.6.1: + version "9.6.1" + resolved "https://registry.yarnpkg.com/espree/-/espree-9.6.1.tgz#a2a17b8e434690a5432f2f8018ce71d331a48c6f" + integrity sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ== dependencies: - acorn "^8.8.0" + acorn "^8.9.0" acorn-jsx "^5.3.2" - eslint-visitor-keys "^3.3.0" + eslint-visitor-keys "^3.4.1" esprima@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== -esquery@^1.4.0: - version "1.4.2" - resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.4.2.tgz#c6d3fee05dd665808e2ad870631f221f5617b1d1" - integrity sha512-JVSoLdTlTDkmjFmab7H/9SL9qGSyjElT3myyKp7krqjVFQCDLmj1QFaCLRFBszBKI0XVZaiiXvuPIX3ZwHe1Ng== +esquery@^1.4.2: + version "1.5.0" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.5.0.tgz#6ce17738de8577694edd7361c57182ac8cb0db0b" + integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== dependencies: estraverse "^5.1.0" @@ -4304,7 +5134,7 @@ execa@^4.0.0: signal-exit "^3.0.2" strip-final-newline "^2.0.0" -execa@^5.1.1: +execa@^5.0.0, execa@^5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== @@ -4319,6 +5149,21 @@ execa@^5.1.1: signal-exit "^3.0.3" strip-final-newline "^2.0.0" +execa@^7.1.1: + version "7.2.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-7.2.0.tgz#657e75ba984f42a70f38928cedc87d6f2d4fe4e9" + integrity sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA== + dependencies: + cross-spawn "^7.0.3" + get-stream "^6.0.1" + human-signals "^4.3.0" + is-stream "^3.0.0" + merge-stream "^2.0.0" + npm-run-path "^5.1.0" + onetime "^6.0.0" + signal-exit "^3.0.7" + strip-final-newline "^3.0.0" + expand-tilde@^2.0.0, expand-tilde@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-2.0.2.tgz#97e801aa052df02454de46b02bf621642cdc8502" @@ -4345,7 +5190,7 @@ fast-diff@^1.1.2, fast-diff@^1.2.0: resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03" integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w== -fast-glob@^3.2.11, fast-glob@^3.2.9: +fast-glob@^3.2.11: version "3.2.12" resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.12.tgz#7f39ec99c2e6ab030337142da9e0c18f37afae80" integrity sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w== @@ -4356,6 +5201,17 @@ fast-glob@^3.2.11, fast-glob@^3.2.9: merge2 "^1.3.0" micromatch "^4.0.4" +fast-glob@^3.2.9: + version "3.3.1" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.1.tgz#784b4e897340f3dbbef17413b3f11acf03c874c4" + 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.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" @@ -4409,14 +5265,14 @@ file-entry-cache@^6.0.1: dependencies: flat-cache "^3.0.4" -file-type@^16.5.0: - version "16.5.4" - resolved "https://registry.yarnpkg.com/file-type/-/file-type-16.5.4.tgz#474fb4f704bee427681f98dd390058a172a6c2fd" - integrity sha512-/yFHK0aGjFEgDJjEKP0pWCplsPFPhwyfwevf/pVxiN0tmE4L9LmwWxWukdJSHdoCli4VgQLehjJtwQBnqmsKcw== +file-type@^18.2.1: + version "18.5.0" + resolved "https://registry.yarnpkg.com/file-type/-/file-type-18.5.0.tgz#604a001ba0d32577d4c3fa420ee104d656b914d2" + integrity sha512-yvpl5U868+V6PqXHMmsESpg6unQ5GfnPssl4dxdJudBrr9qy7Fddt7EVX1VLlddFfe8Gj9N7goCZH22FXuSQXQ== dependencies: - readable-web-to-node-stream "^3.0.0" - strtok3 "^6.2.4" - token-types "^4.1.1" + readable-web-to-node-stream "^3.0.2" + strtok3 "^7.0.0" + token-types "^5.0.1" fill-range@^7.0.1: version "7.0.1" @@ -4477,7 +5333,7 @@ find-up@^5.0.0: locate-path "^6.0.0" path-exists "^4.0.0" -find-up@^6.0.0: +find-up@^6.0.0, find-up@^6.3.0: version "6.3.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-6.3.0.tgz#2abab3d3280b2dc7ac10199ef324c4e002c8c790" integrity sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw== @@ -4496,17 +5352,18 @@ findup-sync@^4.0.0: resolve-dir "^1.0.1" flat-cache@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" - integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== + version "3.1.1" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.1.1.tgz#a02a15fdec25a8f844ff7cc658f03dd99eb4609b" + integrity sha512-/qM2b3LUIaIgviBQovTLvijfyOQXPtSRnRK26ksj2J7rzPIecePUIpJsZ4T02Qg+xiAEKIs5K8dsHEd+VaKa/Q== dependencies: - flatted "^3.1.0" + flatted "^3.2.9" + keyv "^4.5.3" rimraf "^3.0.2" -flatted@^3.1.0: - version "3.2.7" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.7.tgz#609f39207cb614b89d0765b477cb2d437fbf9787" - integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ== +flatted@^3.2.9: + version "3.2.9" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.9.tgz#7eb4c67ca1ba34232ca9d2d93e9886e611ad7daf" + integrity sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ== follow-redirects@^1.14.4, follow-redirects@^1.2.4: version "1.15.1" @@ -4534,9 +5391,9 @@ fp-ts-contrib@^0.1.29: integrity sha512-y+f+xlZqYgj2t+Alu/oat10UC491PByvH7XrT0ITc/DbDJK7LDJLShZJy2orjE7PlcJkO5niDenc1A/woyeB/Q== fp-ts@^2.11.5: - version "2.12.2" - resolved "https://registry.yarnpkg.com/fp-ts/-/fp-ts-2.12.2.tgz#a191db2dbbb04f48a0e75050b94f57cc876c7b40" - integrity sha512-v8J7ud+nTkP5Zz17GhpCsY19wiRbB9miuj61nBcCJyDpu52zs9Z4O7OLDfYoKFQMJ9EsSZA7W1vRgC1d3jy5qw== + version "2.16.1" + resolved "https://registry.yarnpkg.com/fp-ts/-/fp-ts-2.16.1.tgz#6abc401ce42b65364ca8f0b0d995c5840c68a930" + integrity sha512-by7U5W8dkIzcvDofUcO42yl9JbnHTEDBrzu3pt5fKT+Z4Oy85I21K80EYJYdjQGC2qum4Vo55Ag57iiIK4FYuA== fromentries@^1.2.0: version "1.3.2" @@ -4572,22 +5429,22 @@ fsevents@~2.3.2: resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== -function-bind@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" - integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== +function-bind@^1.1.1, function-bind@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" + integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== -function.prototype.name@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.5.tgz#cce0505fe1ffb80503e6f9e46cc64e46a12a9621" - integrity sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA== +function.prototype.name@^1.1.5, function.prototype.name@^1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.6.tgz#cdf315b7d90ee77a4c6ee216c3c3362da07533fd" + integrity sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg== dependencies: call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.0" - functions-have-names "^1.2.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + functions-have-names "^1.2.3" -functions-have-names@^1.2.2: +functions-have-names@^1.2.3: version "1.2.3" resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== @@ -4602,14 +5459,15 @@ get-caller-file@^2.0.1, get-caller-file@^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.0.2, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.0.tgz#7ad1dc0535f3a2904bba075772763e5051f6d05f" - integrity sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q== +get-intrinsic@^1.0.2, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@^1.2.0, get-intrinsic@^1.2.1, get-intrinsic@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.2.tgz#281b7622971123e1ef4b3c90fd7539306da93f3b" + integrity sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA== dependencies: - function-bind "^1.1.1" - has "^1.0.3" + function-bind "^1.1.2" + has-proto "^1.0.1" has-symbols "^1.0.3" + hasown "^2.0.0" get-package-type@^0.1.0: version "0.1.0" @@ -4638,7 +5496,7 @@ get-stream@^5.0.0, get-stream@^5.1.0: dependencies: pump "^3.0.0" -get-stream@^6.0.0: +get-stream@^6.0.0, get-stream@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== @@ -4755,9 +5613,9 @@ globals@^11.1.0: integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== globals@^13.19.0: - version "13.20.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-13.20.0.tgz#ea276a1e508ffd4f1612888f9d1bad1e2717bf82" - integrity sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ== + version "13.23.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.23.0.tgz#ef31673c926a0976e1f61dab4dca57e0c0a8af02" + integrity sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA== dependencies: type-fest "^0.20.2" @@ -4815,15 +5673,20 @@ got@^11.8.1, got@^11.8.5, got@^11.8.6, got@^12.0.0, got@^9.6.0: p-cancelable "^2.0.0" responselike "^2.0.0" -graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4: +graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0: version "4.2.10" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== -grapheme-splitter@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz#9cf3a665c6247479896834af35cf1dbb4400767e" - integrity sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ== +graceful-fs@^4.2.4: + version "4.2.11" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" + integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== + +graphemer@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6" + integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== handlebars@^4.7.7: version "4.7.7" @@ -4858,11 +5721,11 @@ has-flag@^4.0.0: integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== has-property-descriptors@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz#610708600606d36961ed04c196193b6a607fa861" - integrity sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ== + version "1.0.1" + resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz#52ba30b6c5ec87fd89fa574bc1c39125c6f65340" + integrity sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg== dependencies: - get-intrinsic "^1.1.1" + get-intrinsic "^1.2.2" has-proto@^1.0.1: version "1.0.1" @@ -4882,11 +5745,9 @@ has-tostringtag@^1.0.0: has-symbols "^1.0.2" has@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" - integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== - dependencies: - function-bind "^1.1.1" + version "1.0.4" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.4.tgz#2eb2860e000011dae4f1406a86fe80e530fb2ec6" + integrity sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ== hasha@^5.0.0: version "5.2.2" @@ -4896,6 +5757,13 @@ hasha@^5.0.0: is-stream "^2.0.0" type-fest "^0.8.0" +hasown@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.0.tgz#f4c513d454a57b7c7e1650778de226b11700546c" + integrity sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA== + dependencies: + function-bind "^1.1.2" + help-me@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/help-me/-/help-me-3.0.0.tgz#9803c81b5f346ad2bce2c6a0ba01b82257d319e8" @@ -4923,6 +5791,13 @@ hosted-git-info@^4.0.0, hosted-git-info@^4.0.1: dependencies: lru-cache "^6.0.0" +hosted-git-info@^5.0.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-5.2.1.tgz#0ba1c97178ef91f3ab30842ae63d6a272341156f" + integrity sha512-xIcQYMnhcx2Nr4JTjsFmwwnr9vldugPy9uVm0o87bjqqWMv9GaqsTeT+i99wTl0mk1uLxJtHxLb8kymqTENQsw== + dependencies: + lru-cache "^7.5.1" + html-escaper@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" @@ -4968,6 +5843,11 @@ human-signals@^2.1.0: resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== +human-signals@^4.3.0: + version "4.3.1" + resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-4.3.1.tgz#ab7f811e851fca97ffbd2c1fe9a958964de321b2" + integrity sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ== + iconv-lite@^0.4.24: version "0.4.24" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" @@ -5069,24 +5949,24 @@ inquirer@8.2.4: through "^2.3.6" wrap-ansi "^7.0.0" -internal-slot@^1.0.3, internal-slot@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.5.tgz#f2a2ee21f668f8627a4667f309dc0f4fb6674986" - integrity sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ== +internal-slot@^1.0.4, internal-slot@^1.0.5: + version "1.0.6" + resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.6.tgz#37e756098c4911c5e912b8edbf71ed3aa116f930" + integrity sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg== dependencies: - get-intrinsic "^1.2.0" - has "^1.0.3" + get-intrinsic "^1.2.2" + hasown "^2.0.0" side-channel "^1.0.4" io-ts-types@^0.5.16: - version "0.5.16" - resolved "https://registry.yarnpkg.com/io-ts-types/-/io-ts-types-0.5.16.tgz#e9eed75371e217c97050cc507915e8eedc250946" - integrity sha512-h9noYVfY9rlbmKI902SJdnV/06jgiT2chxG6lYDxaYNp88HscPi+SBCtmcU+m0E7WT5QSwt7sIMj93+qu0FEwQ== + version "0.5.19" + resolved "https://registry.yarnpkg.com/io-ts-types/-/io-ts-types-0.5.19.tgz#9c04fa73f15992436605218a5686b610efa7a5d3" + integrity sha512-kQOYYDZG5vKre+INIDZbLeDJe+oM+4zLpUkjXyTMyUfoCpjJNyi29ZLkuEAwcPufaYo3yu/BsemZtbdD+NtRfQ== io-ts@^2.2.16: - version "2.2.17" - resolved "https://registry.yarnpkg.com/io-ts/-/io-ts-2.2.17.tgz#19531c9d49abcebc935d85d282e1db95adb01901" - integrity sha512-RkQY06h6rRyADVEI46OCAUYTP2p18Vdtz9Movi19Mmj7SJ1NhN/yGyW7CxlcBVxh95WKg2YSbTmcUPqqeLuhXw== + version "2.2.20" + resolved "https://registry.yarnpkg.com/io-ts/-/io-ts-2.2.20.tgz#be42b75f6668a2c44f706f72ee6e4c906777c7f5" + integrity sha512-Rq2BsYmtwS5vVttie4rqrOCIfHCS9TgpRLFpKQCM1wZBBRY9nWVGmEvm2FnDbSE2un1UE39DvFpTR5UL47YDcA== ip-regex@^4.0.0: version "4.3.0" @@ -5106,13 +5986,13 @@ is-arguments@^1.0.4: call-bind "^1.0.2" has-tostringtag "^1.0.0" -is-array-buffer@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.1.tgz#deb1db4fcae48308d54ef2442706c0393997052a" - integrity sha512-ASfLknmY8Xa2XtB4wmbz13Wu202baeA18cJBCeCy0wXUHZF0IPyVEXqKEcd+t2fNSLLL1vC6k7lxZEojNbISXQ== +is-array-buffer@^3.0.1, is-array-buffer@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.2.tgz#f2653ced8412081638ecb0ebbd0c41c6e0aecbbe" + integrity sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w== dependencies: call-bind "^1.0.2" - get-intrinsic "^1.1.3" + get-intrinsic "^1.2.0" is-typed-array "^1.1.10" is-arrayish@^0.2.1: @@ -5142,29 +6022,17 @@ is-boolean-object@^1.1.0: call-bind "^1.0.2" has-tostringtag "^1.0.0" -is-callable@^1.1.3: - version "1.2.4" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945" - integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w== - -is-callable@^1.1.4, is-callable@^1.2.4, is-callable@^1.2.7: +is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: version "1.2.7" resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== -is-core-module@^2.11.0, is-core-module@^2.9.0: - version "2.11.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.11.0.tgz#ad4cb3e3863e814523c96f3f58d26cc570ff0144" - integrity sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw== - dependencies: - has "^1.0.3" - -is-core-module@^2.5.0: - version "2.10.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.10.0.tgz#9012ede0a91c69587e647514e1d5277019e728ed" - integrity sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg== +is-core-module@^2.13.0, is-core-module@^2.13.1, is-core-module@^2.5.0, is-core-module@^2.8.1, is-core-module@^2.9.0: + version "2.13.1" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.1.tgz#ad0d7532c6fea9da1ebdc82742d74525c6273384" + integrity sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw== dependencies: - has "^1.0.3" + hasown "^2.0.0" is-date-object@^1.0.1: version "1.0.5" @@ -5173,11 +6041,16 @@ is-date-object@^1.0.1: dependencies: has-tostringtag "^1.0.0" -is-docker@^2.0.0, is-docker@^2.1.1: +is-docker@^2.0.0: version "2.2.1" resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== +is-docker@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-3.0.0.tgz#90093aa3106277d8a77a5910dbae71747e15a200" + integrity sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ== + is-error@^2.2.2: version "2.2.2" resolved "https://registry.yarnpkg.com/is-error/-/is-error-2.2.2.tgz#c10ade187b3c93510c5470a5567833ee25649843" @@ -5212,6 +6085,13 @@ is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: dependencies: is-extglob "^2.1.1" +is-inside-container@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-inside-container/-/is-inside-container-1.0.0.tgz#e81fba699662eb31dbdaf26766a61d4814717ea4" + integrity sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA== + dependencies: + is-docker "^3.0.0" + is-interactive@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-interactive/-/is-interactive-1.0.0.tgz#cea6e6ae5c870a7b0a0004070b7b587e0252912e" @@ -5291,6 +6171,11 @@ is-stream@^2.0.0: resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== +is-stream@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-3.0.0.tgz#e6bfd7aa6bef69f4f472ce9bb681e3e57b4319ac" + integrity sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA== + is-string@^1.0.5, is-string@^1.0.7: version "1.0.7" resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" @@ -5312,18 +6197,14 @@ is-text-path@^1.0.1: dependencies: text-extensions "^1.0.0" -is-typed-array@^1.1.10: - version "1.1.10" - resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.10.tgz#36a5b5cb4189b575d1a3e4b08536bfb485801e3f" - integrity sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A== +is-typed-array@^1.1.10, is-typed-array@^1.1.12, is-typed-array@^1.1.9: + version "1.1.12" + resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.12.tgz#d0bab5686ef4a76f7a73097b95470ab199c57d4a" + integrity sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg== dependencies: - available-typed-arrays "^1.0.5" - call-bind "^1.0.2" - for-each "^0.3.3" - gopd "^1.0.1" - has-tostringtag "^1.0.0" + which-typed-array "^1.1.11" -is-typed-array@^1.1.3, is-typed-array@^1.1.9: +is-typed-array@^1.1.3: version "1.1.9" resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.9.tgz#246d77d2871e7d9f5aeb1d54b9f52c71329ece67" integrity sha512-kfrlnTTn8pZkfpJMUgYD7YZ3qzeJgWUn8XfVYBARc4wnmNOmLbmuuaAs3q5fvB0UJOn6yHAKaGTPM7d6ezoD/A== @@ -5378,6 +6259,11 @@ isarray@^1.0.0, isarray@~1.0.0: resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== +isarray@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" + integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== + isexe@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" @@ -5458,11 +6344,6 @@ js-sdsl@^2.1.2: resolved "https://registry.yarnpkg.com/js-sdsl/-/js-sdsl-2.1.4.tgz#16f31a56cc09ec57723e0c477fdc07e1d2522627" integrity sha512-/Ew+CJWHNddr7sjwgxaVeIORIH4AMVC9dy0hPf540ZGMVgS9d3ajwuVdyhDt6/QUvT8ATjR3yuYBKsS79F+H4A== -js-sdsl@^4.1.4: - version "4.3.0" - resolved "https://registry.yarnpkg.com/js-sdsl/-/js-sdsl-4.3.0.tgz#aeefe32a451f7af88425b11fdb5f58c90ae1d711" - integrity sha512-mifzlm2+5nZ+lEcLJMoBK0/IH/bDg8XnJfd/Wq6IP+xoCjLZsTOnV2QpxlVbX9bMnkl5PdEjNtBJ9Cj1NjifhQ== - js-string-escape@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/js-string-escape/-/js-string-escape-1.0.1.tgz#e2625badbc0d67c7533e9edc1068c587ae4137ef" @@ -5535,7 +6416,7 @@ json-stringify-safe@^5.0.1: resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA== -json5@^1.0.1: +json5@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.2.tgz#63d98d60f21b313b77c4d6da18bfa69d80e1d593" integrity sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA== @@ -5590,6 +6471,13 @@ keyv@^4.0.0: dependencies: json-buffer "3.0.1" +keyv@^4.5.3: + version "4.5.4" + resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93" + integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== + dependencies: + json-buffer "3.0.1" + kind-of@^6.0.3: version "6.0.3" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" @@ -5725,6 +6613,11 @@ lru-cache@^6.0.0: dependencies: yallist "^4.0.0" +lru-cache@^7.5.1: + version "7.18.3" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.18.3.tgz#f793896e0fd0e954a59dfdd82f0773808df6aa89" + integrity sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA== + lunr@^2.3.9: version "2.3.9" resolved "https://registry.yarnpkg.com/lunr/-/lunr-2.3.9.tgz#18b123142832337dd6e964df1a5a7707b25d35e1" @@ -5754,7 +6647,7 @@ map-obj@^1.0.0: resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" integrity sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg== -map-obj@^4.0.0, map-obj@^4.1.0: +map-obj@^4.0.0, map-obj@^4.3.0: version "4.3.0" resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-4.3.0.tgz#9304f906e93faae70880da102a9f1df0ea8bb05a" integrity sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ== @@ -5799,23 +6692,23 @@ memorystream@^0.3.1: resolved "https://registry.yarnpkg.com/memorystream/-/memorystream-0.3.1.tgz#86d7090b30ce455d63fbae12dda51a47ddcaf9b2" integrity sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw== -meow@^10.0.1: - version "10.1.3" - resolved "https://registry.yarnpkg.com/meow/-/meow-10.1.3.tgz#21689959a7d00e8901aff30d208acb2122eb8088" - integrity sha512-0WL7RMCPPdUTE00+GxJjL4d5Dm6eUbmAzxlzywJWiRUKCW093owmZ7/q74tH9VI91vxw9KJJNxAcvdpxb2G4iA== +meow@^11.0.0: + version "11.0.0" + resolved "https://registry.yarnpkg.com/meow/-/meow-11.0.0.tgz#273a19c12d49d013c56effe9f011994022887157" + integrity sha512-Cl0yeeIrko6d94KpUo1M+0X1sB14ikoaqlIGuTH1fW4I+E3+YljL54/hb/BWmVfrV9tTV9zU04+xjw08Fh2WkA== dependencies: "@types/minimist" "^1.2.2" - camelcase-keys "^7.0.0" - decamelize "^5.0.0" + camelcase-keys "^8.0.2" + decamelize "^6.0.0" decamelize-keys "^1.1.0" hard-rejection "^2.1.0" minimist-options "4.1.0" - normalize-package-data "^3.0.2" - read-pkg-up "^8.0.0" + normalize-package-data "^4.0.1" + read-pkg-up "^9.1.0" redent "^4.0.0" trim-newlines "^4.0.2" - type-fest "^1.2.2" - yargs-parser "^20.2.9" + type-fest "^3.1.0" + yargs-parser "^21.1.1" meow@^8.0.0: version "8.1.2" @@ -6058,6 +6951,16 @@ normalize-package-data@^3.0.0, normalize-package-data@^3.0.2: semver "^7.3.4" validate-npm-package-license "^3.0.1" +normalize-package-data@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-4.0.1.tgz#b46b24e0616d06cadf9d5718b29b6d445a82a62c" + integrity sha512-EBk5QKKuocMJhB3BILuKhmaPjI8vNRSpIfO9woLC6NyHVkKKdVEdAO1mrT0ZfxNR1lKwCcTkuZfmGIFdizZ8Pg== + dependencies: + hosted-git-info "^5.0.0" + is-core-module "^2.8.1" + semver "^7.3.5" + validate-npm-package-license "^3.0.4" + normalize-path@^3.0.0, normalize-path@~3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" @@ -6090,6 +6993,13 @@ npm-run-path@^4.0.0, npm-run-path@^4.0.1: dependencies: path-key "^3.0.0" +npm-run-path@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-5.1.0.tgz#bc62f7f3f6952d9894bd08944ba011a6ee7b7e00" + integrity sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q== + dependencies: + path-key "^4.0.0" + number-allocator@^1.0.9: version "1.0.10" resolved "https://registry.yarnpkg.com/number-allocator/-/number-allocator-1.0.10.tgz#efc4c665e45bf60f0ad172aca1540e093b5292e8" @@ -6131,17 +7041,17 @@ nyc@^15.1.0: test-exclude "^6.0.0" yargs "^15.0.2" -object-inspect@^1.12.0, object-inspect@^1.12.2, object-inspect@^1.9.0: - version "1.12.3" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.3.tgz#ba62dffd67ee256c8c086dfae69e016cd1f198b9" - integrity sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g== +object-inspect@^1.12.2, object-inspect@^1.13.1, object-inspect@^1.9.0: + version "1.13.1" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.1.tgz#b96c6109324ccfef6b12216a956ca4dc2ff94bc2" + integrity sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ== object-keys@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== -object.assign@^4.1.2, object.assign@^4.1.4: +object.assign@^4.1.4: version "4.1.4" resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.4.tgz#9673c7c7c351ab8c4d0b516f4343ebf4dfb7799f" integrity sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ== @@ -6151,14 +7061,33 @@ object.assign@^4.1.2, object.assign@^4.1.4: has-symbols "^1.0.3" object-keys "^1.1.1" -object.values@^1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.6.tgz#4abbaa71eba47d63589d402856f908243eea9b1d" - integrity sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw== +object.fromentries@^2.0.7: + version "2.0.7" + resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.7.tgz#71e95f441e9a0ea6baf682ecaaf37fa2a8d7e616" + integrity sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA== dependencies: call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" + define-properties "^1.2.0" + es-abstract "^1.22.1" + +object.groupby@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/object.groupby/-/object.groupby-1.0.1.tgz#d41d9f3c8d6c778d9cbac86b4ee9f5af103152ee" + integrity sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + get-intrinsic "^1.2.1" + +object.values@^1.1.7: + version "1.1.7" + resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.7.tgz#617ed13272e7e1071b43973aa1655d9291b8442a" + integrity sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" obliterator@^1.6.1: version "1.6.1" @@ -6179,37 +7108,45 @@ onetime@^5.1.0, onetime@^5.1.2: dependencies: mimic-fn "^2.1.0" +onetime@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-6.0.0.tgz#7c24c18ed1fd2e9bca4bd26806a33613c77d34b4" + integrity sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ== + dependencies: + mimic-fn "^4.0.0" + open-cli@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/open-cli/-/open-cli-7.0.1.tgz#2de9d9658a35fb04ba397e7c503f4fe52d6e7373" - integrity sha512-w//Mb5nLGTu9aIAsAehgxV+CGEkd+P3CbdoTW8y2coQ/fmGXBSrea0i4RBqGnd9prSPX1akrBYc0e3NnWM4SPA== + version "7.2.0" + resolved "https://registry.yarnpkg.com/open-cli/-/open-cli-7.2.0.tgz#9431203847648890026c54c08dcd3430c6fce23f" + integrity sha512-1ANJc8oJ92FiaNZ0o2Hw4WBvDJoXs1P74aFMtpAvlbkIPV4uPcQvDz7V6kMOrsZkmB4tglrHVMlLQaafuUuxXg== dependencies: - file-type "^16.5.0" + file-type "^18.2.1" get-stdin "^9.0.0" - meow "^10.0.1" - open "^8.2.0" - tempy "^1.0.1" + meow "^11.0.0" + open "^9.0.0" + tempy "^3.0.0" -open@^8.2.0: - version "8.4.0" - resolved "https://registry.yarnpkg.com/open/-/open-8.4.0.tgz#345321ae18f8138f82565a910fdc6b39e8c244f8" - integrity sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q== +open@^9.0.0: + version "9.1.0" + resolved "https://registry.yarnpkg.com/open/-/open-9.1.0.tgz#684934359c90ad25742f5a26151970ff8c6c80b6" + integrity sha512-OS+QTnw1/4vrf+9hh1jc1jnYjzSG4ttTBB8UxOwAnInG3Uo4ssetzC1ihqaIHjLJnA5GGlRl6QlZXOTQhRBUvg== dependencies: - define-lazy-prop "^2.0.0" - is-docker "^2.1.1" + default-browser "^4.0.0" + define-lazy-prop "^3.0.0" + is-inside-container "^1.0.0" is-wsl "^2.2.0" -optionator@^0.9.1: - version "0.9.1" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" - integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== +optionator@^0.9.3: + version "0.9.3" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.3.tgz#007397d44ed1872fdc6ed31360190f81814e2c64" + integrity sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg== dependencies: + "@aashutoshrathi/word-wrap" "^1.2.3" deep-is "^0.1.3" fast-levenshtein "^2.0.6" levn "^0.4.1" prelude-ls "^1.2.1" type-check "^0.4.0" - word-wrap "^1.2.3" ora@^5.4.1: version "5.4.1" @@ -6464,6 +7401,11 @@ path-key@^3.0.0, path-key@^3.1.0: resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== +path-key@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-4.0.0.tgz#295588dc3aee64154f877adb9d780b81c554bf18" + integrity sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ== + path-parse@^1.0.7: version "1.0.7" resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" @@ -6481,10 +7423,10 @@ path-type@^4.0.0: resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== -peek-readable@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/peek-readable/-/peek-readable-4.1.0.tgz#4ece1111bf5c2ad8867c314c81356847e8a62e72" - integrity sha512-ZI3LnwUv5nOGbQzD9c2iDG6toheuXSZP5esSHBjopsXH4dg19soufvpUGA3uohi5anFtGb2lhAVdHzH6R/Evvg== +peek-readable@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/peek-readable/-/peek-readable-5.0.0.tgz#7ead2aff25dc40458c60347ea76cfdfd63efdfec" + integrity sha512-YtCKvLUOvwtMGmrniQPdO7MwPjgkFBtFIrmfSbYmYuq3tKDV/mcfAhBth1+C3ru7uXIZasc/pHnb+YDYNkkj4A== picocolors@^1.0.0: version "1.0.0" @@ -6635,6 +7577,11 @@ quick-lru@^5.1.1: resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932" integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== +quick-lru@^6.1.1: + version "6.1.2" + resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-6.1.2.tgz#e9a90524108629be35287d0b864e7ad6ceb3659e" + integrity sha512-AAFUA5O1d83pIHEhJwWCq/RQcRukCkn/NSm2QsTEMle5f2hP0ChI2+3Xb051PZCkLryI/Ir1MVKviT2FIloaTQ== + randexp@^0.5.3: version "0.5.3" resolved "https://registry.yarnpkg.com/randexp/-/randexp-0.5.3.tgz#f31c2de3148b30bdeb84b7c3f59b0ebb9fec3738" @@ -6660,14 +7607,14 @@ read-pkg-up@^7.0.1: read-pkg "^5.2.0" type-fest "^0.8.1" -read-pkg-up@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-8.0.0.tgz#72f595b65e66110f43b052dd9af4de6b10534670" - integrity sha512-snVCqPczksT0HS2EC+SxUndvSzn6LRCwpfSvLrIfR5BKDQQZMaI6jPRC9dYvYFDRAuFEAnkwww8kBBNE/3VvzQ== +read-pkg-up@^9.1.0: + version "9.1.0" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-9.1.0.tgz#38ca48e0bc6c6b260464b14aad9bcd4e5b1fbdc3" + integrity sha512-vaMRR1AC1nrd5CQM0PhlRsO5oc2AAigqr7cCrZ/MW/Rsaflz4RlgzkpL4qoU/z1F6wrbd85iFv1OQj/y5RdGvg== dependencies: - find-up "^5.0.0" - read-pkg "^6.0.0" - type-fest "^1.0.1" + find-up "^6.3.0" + read-pkg "^7.1.0" + type-fest "^2.5.0" read-pkg@^3.0.0: version "3.0.0" @@ -6688,17 +7635,17 @@ read-pkg@^5.2.0: parse-json "^5.0.0" type-fest "^0.6.0" -read-pkg@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-6.0.0.tgz#a67a7d6a1c2b0c3cd6aa2ea521f40c458a4a504c" - integrity sha512-X1Fu3dPuk/8ZLsMhEj5f4wFAF0DWoK7qhGJvgaijocXxBmSToKfbFtqbxMO7bVjNA1dmE5huAzjXj/ey86iw9Q== +read-pkg@^7.1.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-7.1.0.tgz#438b4caed1ad656ba359b3e00fd094f3c427a43e" + integrity sha512-5iOehe+WF75IccPc30bWTbpdDQLOCc3Uu8bi3Dte3Eueij81yx1Mrufk8qBx/YAbR4uL1FdUr+7BKXDwEtisXg== dependencies: - "@types/normalize-package-data" "^2.4.0" + "@types/normalize-package-data" "^2.4.1" normalize-package-data "^3.0.2" parse-json "^5.2.0" - type-fest "^1.0.1" + type-fest "^2.0.0" -readable-stream@3, readable-stream@^3.0.0, readable-stream@^3.0.2, readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.5.0, readable-stream@^3.6.0: +readable-stream@3, readable-stream@^3.0.0, readable-stream@^3.0.2, readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.5.0: version "3.6.0" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== @@ -6720,7 +7667,16 @@ readable-stream@^2.0.0, readable-stream@^2.3.3, readable-stream@~2.3.6: string_decoder "~1.1.1" util-deprecate "~1.0.1" -readable-web-to-node-stream@^3.0.0: +readable-stream@^3.6.0: + version "3.6.2" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" + integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +readable-web-to-node-stream@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/readable-web-to-node-stream/-/readable-web-to-node-stream-3.0.2.tgz#5d52bb5df7b54861fd48d015e93a2cb87b3ee0bb" integrity sha512-ePeK6cc1EcKLEhJFt/AebMCLL+GgSKhuygrZ/GLaKZYEecIgIECf4UaUuaByiGtzckwR4ain9VzUh95T1exYGw== @@ -6750,19 +7706,19 @@ redent@^4.0.0: indent-string "^5.0.0" strip-indent "^4.0.0" -regexp.prototype.flags@^1.4.3: - version "1.4.3" - resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz#87cab30f80f66660181a3bb7bf5981a872b367ac" - integrity sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA== +regenerator-runtime@^0.14.0: + version "0.14.0" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz#5e19d68eb12d486f797e15a3c6a918f7cec5eb45" + integrity sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA== + +regexp.prototype.flags@^1.4.3, regexp.prototype.flags@^1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz#90ce989138db209f81492edd734183ce99f9677e" + integrity sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg== dependencies: call-bind "^1.0.2" - define-properties "^1.1.3" - functions-have-names "^1.2.2" - -regexpp@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" - integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== + define-properties "^1.2.0" + set-function-name "^2.0.0" reinterval@^1.1.0: version "1.1.0" @@ -6828,7 +7784,7 @@ resolve-global@^1.0.0: dependencies: global-dirs "^0.1.1" -resolve@^1.10.0, resolve@^1.22.1: +resolve@^1.10.0: version "1.22.1" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== @@ -6837,6 +7793,15 @@ resolve@^1.10.0, resolve@^1.22.1: path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" +resolve@^1.22.4: + version "1.22.8" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" + integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== + dependencies: + is-core-module "^2.13.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + responselike@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/responselike/-/responselike-2.0.1.tgz#9a0bc8fdc252f3fb1cca68b016591059ba1422bc" @@ -6879,6 +7844,13 @@ rimraf@^3.0.0, rimraf@^3.0.2: dependencies: glob "^7.1.3" +run-applescript@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/run-applescript/-/run-applescript-5.0.0.tgz#e11e1c932e055d5c6b40d98374e0268d9b11899c" + integrity sha512-XcT5rBksx1QdIhlFOCtgZkB99ZEouFZ1E2Kc2LHqNW13U3/74YGdkQRmThTwxy4QIyookibDKYZOPqX//6BlAg== + dependencies: + execa "^5.0.0" + run-async@^2.4.0: version "2.4.1" resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455" @@ -6898,6 +7870,16 @@ rxjs@^7.5.5: dependencies: tslib "^2.1.0" +safe-array-concat@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.0.1.tgz#91686a63ce3adbea14d61b14c99572a8ff84754c" + integrity sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.2.1" + has-symbols "^1.0.3" + isarray "^2.0.5" + safe-buffer@^5.1.2, safe-buffer@~5.2.0: version "5.2.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" @@ -6937,22 +7919,27 @@ sax@>=0.6.0: resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== -semver@^6.0.0, semver@^6.3.0: +semver@^6.0.0: version "6.3.0" resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== -semver@^7.1.1, semver@^7.3.2, semver@^7.3.4: +semver@^6.3.0, semver@^6.3.1: + version "6.3.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" + integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== + +semver@^7.1.1, semver@^7.3.2: version "7.3.7" resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.7.tgz#12c5b649afdbf9049707796e22a4028814ce523f" integrity sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g== dependencies: lru-cache "^6.0.0" -semver@^7.3.7: - version "7.3.8" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.8.tgz#07a78feafb3f7b32347d725e33de7e2a2df67798" - integrity sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A== +semver@^7.3.4, semver@^7.3.5, semver@^7.3.7: + version "7.5.4" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e" + integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== dependencies: lru-cache "^6.0.0" @@ -6968,6 +7955,25 @@ set-blocking@^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.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.1.1.tgz#4bc39fafb0307224a33e106a7d35ca1218d659ed" + integrity sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ== + dependencies: + define-data-property "^1.1.1" + get-intrinsic "^1.2.1" + gopd "^1.0.1" + has-property-descriptors "^1.0.0" + +set-function-name@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/set-function-name/-/set-function-name-2.0.1.tgz#12ce38b7954310b9f61faa12701620a0c882793a" + integrity sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA== + dependencies: + define-data-property "^1.0.1" + functions-have-names "^1.2.3" + has-property-descriptors "^1.0.0" + shebang-command@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" @@ -7064,9 +8070,9 @@ spawn-wrap@^2.0.0: which "^2.0.1" spdx-correct@^3.0.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" - integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== + version "3.2.0" + resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.2.0.tgz#4f5ab0668f0059e34f9c00dce331784a12de4e9c" + integrity sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA== dependencies: spdx-expression-parse "^3.0.0" spdx-license-ids "^3.0.0" @@ -7085,9 +8091,9 @@ spdx-expression-parse@^3.0.0: spdx-license-ids "^3.0.0" spdx-license-ids@^3.0.0: - version "3.0.11" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz#50c0d8c40a14ec1bf449bae69a0ea4685a9d9f95" - integrity sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g== + version "3.0.16" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.16.tgz#a14f64e0954f6e25cc6587bd4f392522db0d998f" + integrity sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw== split2@^3.0.0, split2@^3.1.0: version "3.2.2" @@ -7182,23 +8188,32 @@ string.prototype.padend@^3.0.0: define-properties "^1.1.3" es-abstract "^1.19.1" -string.prototype.trimend@^1.0.5, string.prototype.trimend@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz#c4a27fa026d979d79c04f17397f250a462944533" - integrity sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ== +string.prototype.trim@^1.2.8: + version "1.2.8" + resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz#f9ac6f8af4bd55ddfa8895e6aea92a96395393bd" + integrity sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ== dependencies: call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" + define-properties "^1.2.0" + es-abstract "^1.22.1" -string.prototype.trimstart@^1.0.5, string.prototype.trimstart@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz#e90ab66aa8e4007d92ef591bbf3cd422c56bdcf4" - integrity sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA== +string.prototype.trimend@^1.0.6, string.prototype.trimend@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz#1bb3afc5008661d73e2dc015cd4853732d6c471e" + integrity sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA== dependencies: call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" + define-properties "^1.2.0" + es-abstract "^1.22.1" + +string.prototype.trimstart@^1.0.6, string.prototype.trimstart@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz#d4cdb44b83a4737ffbac2d406e405d43d0184298" + integrity sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" string_decoder@^1.1.1: version "1.3.0" @@ -7248,6 +8263,11 @@ strip-final-newline@^2.0.0: resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== +strip-final-newline@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-3.0.0.tgz#52894c313fbff318835280aed60ff71ebf12b8fd" + integrity sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw== + strip-indent@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001" @@ -7262,7 +8282,7 @@ strip-indent@^4.0.0: dependencies: min-indent "^1.0.1" -strip-json-comments@3.1.1, strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: +strip-json-comments@3.1.1, strip-json-comments@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== @@ -7272,13 +8292,13 @@ strnum@^1.0.5: resolved "https://registry.yarnpkg.com/strnum/-/strnum-1.0.5.tgz#5c4e829fe15ad4ff0d20c3db5ac97b73c9b072db" integrity sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA== -strtok3@^6.2.4: - version "6.3.0" - resolved "https://registry.yarnpkg.com/strtok3/-/strtok3-6.3.0.tgz#358b80ffe6d5d5620e19a073aa78ce947a90f9a0" - integrity sha512-fZtbhtvI9I48xDSywd/somNqgUHl2L2cstmXCCif0itOf96jeW18MBSyrLuNicYQVkvpOxkZtkzujiTJ9LW5Jw== +strtok3@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/strtok3/-/strtok3-7.0.0.tgz#868c428b4ade64a8fd8fee7364256001c1a4cbe5" + integrity sha512-pQ+V+nYQdC5H3Q7qBZAz/MO6lwGhoC2gOAjuouGf/VO0m7vQRh8QNMl2Uf6SwAtzZ9bOw3UIeBukEGNJl5dtXQ== dependencies: "@tokenizer/token" "^0.3.0" - peek-readable "^4.1.0" + peek-readable "^5.0.0" stubs@^3.0.0: version "3.0.0" @@ -7330,16 +8350,20 @@ temp-dir@^2.0.0: resolved "https://registry.yarnpkg.com/temp-dir/-/temp-dir-2.0.0.tgz#bde92b05bdfeb1516e804c9c00ad45177f31321e" integrity sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg== -tempy@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/tempy/-/tempy-1.0.1.tgz#30fe901fd869cfb36ee2bd999805aa72fbb035de" - integrity sha512-biM9brNqxSc04Ee71hzFbryD11nX7VPhQQY32AdDmjFvodsRFz/3ufeoTZ6uYkRFfGo188tENcASNs3vTdsM0w== +temp-dir@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/temp-dir/-/temp-dir-3.0.0.tgz#7f147b42ee41234cc6ba3138cd8e8aa2302acffa" + integrity sha512-nHc6S/bwIilKHNRgK/3jlhDoIHcp45YgyiwcAk46Tr0LfEqGBVpmiAyuiuxeVE44m3mXnEeVhaipLOEWmH+Njw== + +tempy@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/tempy/-/tempy-3.1.0.tgz#00958b6df85db8589cb595465e691852aac038e9" + integrity sha512-7jDLIdD2Zp0bDe5r3D2qtkd1QOCacylBuL7oa4udvN6v2pqr4+LcCr67C8DR1zkpaZ8XosF5m1yQSabKAW6f2g== dependencies: - del "^6.0.0" - is-stream "^2.0.0" - temp-dir "^2.0.0" - type-fest "^0.16.0" - unique-string "^2.0.0" + is-stream "^3.0.0" + temp-dir "^3.0.0" + type-fest "^2.12.2" + unique-string "^3.0.0" test-exclude@^6.0.0: version "6.0.0" @@ -7385,6 +8409,11 @@ time-zone@^1.0.0: resolved "https://registry.yarnpkg.com/time-zone/-/time-zone-1.0.0.tgz#99c5bf55958966af6d06d83bdf3800dc82faec5d" integrity sha512-TIsDdtKo6+XrPtiTm1ssmMngN1sAhyKnTO2kunQWqNPWIVvCm15Wmw4SWInwTVgJ5u/Tr04+8Ei9TNcw4x4ONA== +titleize@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/titleize/-/titleize-3.0.0.tgz#71c12eb7fdd2558aa8a44b0be83b8a76694acd53" + integrity sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ== + tmp@^0.0.33: version "0.0.33" resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" @@ -7404,10 +8433,10 @@ to-regex-range@^5.0.1: dependencies: is-number "^7.0.0" -token-types@^4.1.1: - version "4.2.1" - resolved "https://registry.yarnpkg.com/token-types/-/token-types-4.2.1.tgz#0f897f03665846982806e138977dbe72d44df753" - integrity sha512-6udB24Q737UD/SDsKAHI9FCRP7Bqc9D/MQUV02ORQg5iskjtLJlZJNdN4kKtcdtwCeWIwIHDGaUsTsCCAa8sFQ== +token-types@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/token-types/-/token-types-5.0.1.tgz#aa9d9e6b23c420a675e55413b180635b86a093b4" + integrity sha512-Y2fmSnZjQdDb9W4w4r1tswlMHylzWIeOKpx0aZH9BgGtACHhrk3OkT52AzwcuqTRBZtvvnTjDBh8eynMulu8Vg== dependencies: "@tokenizer/token" "^0.3.0" ieee754 "^1.2.1" @@ -7423,9 +8452,9 @@ trim-newlines@^3.0.0: integrity sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw== trim-newlines@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-4.0.2.tgz#d6aaaf6a0df1b4b536d183879a6b939489808c7c" - integrity sha512-GJtWyq9InR/2HRiLZgpIKv+ufIKrVrvjQWEj7PxAXNc5dwbNJkqhAUoAGgzRmULAnoOM5EIpveYd3J2VeSAIew== + version "4.1.1" + resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-4.1.1.tgz#28c88deb50ed10c7ba6dc2474421904a00139125" + integrity sha512-jRKj0n0jXWo6kh62nA5TEh3+4igKDXLvzBJcPpiizP7oOolUrYIxmVBG9TOtHYFHoddUk6YvAkGeGoSVTXfQXQ== ts-node@^10.3.0, ts-node@^10.8.1: version "10.9.1" @@ -7446,13 +8475,13 @@ ts-node@^10.3.0, ts-node@^10.8.1: v8-compile-cache-lib "^3.0.1" yn "3.1.1" -tsconfig-paths@^3.14.1: - version "3.14.1" - resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz#ba0734599e8ea36c862798e920bcf163277b137a" - integrity sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ== +tsconfig-paths@^3.14.2: + version "3.14.2" + resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz#6e32f1f79412decd261f92d633a9dc1cfa99f088" + integrity sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g== dependencies: "@types/json5" "^0.0.29" - json5 "^1.0.1" + json5 "^1.0.2" minimist "^1.2.6" strip-bom "^3.0.0" @@ -7461,15 +8490,15 @@ tslib@^1.11.1, tslib@^1.8.1: resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== -tslib@^2.1.0, tslib@^2.3.1: +tslib@^2.1.0: version "2.4.0" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3" integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ== -tslib@^2.5.0: - version "2.6.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.0.tgz#b295854684dbda164e181d259a22cd779dcd7bc3" - integrity sha512-7At1WUettjcSRHXCyYtTselblcHl9PJFFVKiCAy/bY97+BPZXSQ2wbq0P9s8tK2G7dFQfNnlJnPAiArVBVBsfA== +tslib@^2.3.1, tslib@^2.5.0: + version "2.6.2" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae" + integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== tsutils@^3.21.0: version "3.21.0" @@ -7490,11 +8519,6 @@ type-fest@^0.13.1: resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.13.1.tgz#0172cb5bce80b0bd542ea348db50c7e21834d934" integrity sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg== -type-fest@^0.16.0: - version "0.16.0" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.16.0.tgz#3240b891a78b0deae910dbeb86553e552a148860" - integrity sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg== - type-fest@^0.18.0: version "0.18.1" resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.18.1.tgz#db4bc151a4a2cf4eebf9add5db75508db6cc841f" @@ -7520,11 +8544,51 @@ type-fest@^0.8.0, type-fest@^0.8.1: resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== -type-fest@^1.0.1, type-fest@^1.2.1, type-fest@^1.2.2: +type-fest@^1.0.1: version "1.4.0" resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-1.4.0.tgz#e9fb813fe3bf1744ec359d55d1affefa76f14be1" integrity sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA== +type-fest@^2.0.0, type-fest@^2.12.2, type-fest@^2.13.0, type-fest@^2.5.0: + version "2.19.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-2.19.0.tgz#88068015bb33036a598b952e55e9311a60fd3a9b" + integrity sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA== + +type-fest@^3.1.0: + version "3.13.1" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-3.13.1.tgz#bb744c1f0678bea7543a2d1ec24e83e68e8c8706" + integrity sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g== + +typed-array-buffer@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz#18de3e7ed7974b0a729d3feecb94338d1472cd60" + integrity sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.2.1" + is-typed-array "^1.1.10" + +typed-array-byte-length@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz#d787a24a995711611fb2b87a4052799517b230d0" + integrity sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA== + dependencies: + call-bind "^1.0.2" + for-each "^0.3.3" + has-proto "^1.0.1" + is-typed-array "^1.1.10" + +typed-array-byte-offset@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz#cbbe89b51fdef9cd6aaf07ad4707340abbc4ea0b" + integrity sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg== + dependencies: + available-typed-arrays "^1.0.5" + call-bind "^1.0.2" + for-each "^0.3.3" + has-proto "^1.0.1" + is-typed-array "^1.1.10" + typed-array-length@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.4.tgz#89d83785e5c4098bec72e08b319651f0eac9c1bb" @@ -7557,7 +8621,12 @@ typedoc@^0.22.6: minimatch "^5.1.0" shiki "^0.10.1" -typescript@^4.4.4, typescript@^4.6.4: +typescript@^4.4.4: + version "4.9.5" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.5.tgz#095979f9bcc0d09da324d58d03ce8f8374cbe65a" + integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g== + +typescript@^4.6.4: version "4.7.4" resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.7.4.tgz#1a88596d1cf47d59507a1bcdfb5b9dfe4d488235" integrity sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ== @@ -7577,12 +8646,12 @@ unbox-primitive@^1.0.2: has-symbols "^1.0.3" which-boxed-primitive "^1.0.2" -unique-string@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-2.0.0.tgz#39c6451f81afb2749de2b233e3f7c5e8843bd89d" - integrity sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg== +unique-string@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-3.0.0.tgz#84a1c377aff5fd7a8bc6b55d8244b2bd90d75b9a" + integrity sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ== dependencies: - crypto-random-string "^2.0.0" + crypto-random-string "^4.0.0" universalify@^0.1.0: version "0.1.2" @@ -7594,6 +8663,11 @@ universalify@^2.0.0: resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== +untildify@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/untildify/-/untildify-4.0.0.tgz#2bc947b953652487e4600949fb091e3ae8cd919b" + integrity sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw== + update-browserslist-db@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.5.tgz#be06a5eedd62f107b7c19eb5bcefb194411abf38" @@ -7671,7 +8745,7 @@ v8-compile-cache-lib@^3.0.1: resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf" integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== -validate-npm-package-license@^3.0.1: +validate-npm-package-license@^3.0.1, validate-npm-package-license@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== @@ -7730,6 +8804,17 @@ which-module@^2.0.0: resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" integrity sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q== +which-typed-array@^1.1.11, which-typed-array@^1.1.13, which-typed-array@^1.1.9: + version "1.1.13" + resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.13.tgz#870cd5be06ddb616f504e7b039c4c24898184d36" + integrity sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow== + dependencies: + available-typed-arrays "^1.0.5" + call-bind "^1.0.4" + for-each "^0.3.3" + gopd "^1.0.1" + has-tostringtag "^1.0.0" + which-typed-array@^1.1.2: version "1.1.8" resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.8.tgz#0cfd53401a6f334d90ed1125754a42ed663eb01f" @@ -7742,18 +8827,6 @@ which-typed-array@^1.1.2: has-tostringtag "^1.0.0" is-typed-array "^1.1.9" -which-typed-array@^1.1.9: - version "1.1.9" - resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.9.tgz#307cf898025848cf995e795e8423c7f337efbde6" - integrity sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA== - dependencies: - available-typed-arrays "^1.0.5" - call-bind "^1.0.2" - for-each "^0.3.3" - gopd "^1.0.1" - has-tostringtag "^1.0.0" - is-typed-array "^1.1.10" - which@^1.2.14, which@^1.2.9: version "1.3.1" resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" @@ -7768,7 +8841,7 @@ which@^2.0.1: dependencies: isexe "^2.0.0" -word-wrap@^1.0.3, word-wrap@^1.2.3: +word-wrap@^1.0.3: version "1.2.3" resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== @@ -7880,7 +8953,7 @@ yargs-parser@^18.1.2: camelcase "^5.0.0" decamelize "^1.2.0" -yargs-parser@^20.2.2, yargs-parser@^20.2.3, yargs-parser@^20.2.9: +yargs-parser@^20.2.2, yargs-parser@^20.2.3: version "20.2.9" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==