From 182f1e8bfdab7f98edcc6312f9a5948cb6b32a7a Mon Sep 17 00:00:00 2001 From: Eoin Shanaghy Date: Sat, 28 Oct 2023 16:44:47 +0100 Subject: [PATCH] feat: add pricing monitor dashboard --- README.md | 14 + price-monitor/.gitignore | 8 + price-monitor/.npmignore | 6 + price-monitor/README.md | 14 + price-monitor/bin/price-monitor.ts | 14 + price-monitor/cdk.json | 63 + price-monitor/jest.config.js | 8 + price-monitor/lib/price-monitor-stack.ts | 146 + price-monitor/package-lock.json | 5398 ++++++++++++++++++++++ price-monitor/package.json | 28 + price-monitor/price-dashboard.png | Bin 0 -> 193095 bytes price-monitor/test/price-monitor.test.ts | 15 + price-monitor/tsconfig.json | 31 + 13 files changed, 5745 insertions(+) create mode 100644 price-monitor/.gitignore create mode 100644 price-monitor/.npmignore create mode 100644 price-monitor/README.md create mode 100644 price-monitor/bin/price-monitor.ts create mode 100644 price-monitor/cdk.json create mode 100644 price-monitor/jest.config.js create mode 100644 price-monitor/lib/price-monitor-stack.ts create mode 100644 price-monitor/package-lock.json create mode 100644 price-monitor/package.json create mode 100644 price-monitor/price-dashboard.png create mode 100644 price-monitor/test/price-monitor.test.ts create mode 100644 price-monitor/tsconfig.json diff --git a/README.md b/README.md index d36be73..e111f88 100644 --- a/README.md +++ b/README.md @@ -59,3 +59,17 @@ You will be prompted for: - The HTTPS URL of your website GitHub repository, e.g., `https://github.com/awsbites/aws-bites-site.git` Once deployment has completed, you can check the Step Function that orchestrates the whole process in the AWS Console. This state machine is automatically executed when transcripts are placed in the `processed-transcripts/` prefix. + +## Price Monitoring + +Bedrock pricing can be difficult to estimate. This repo comes with a pricing CloudWatch dashboard that helps to show the cost for a given period and the relationship between invocations, input tokens and output tokens. This is calculated based on published on-demand pricing for the ClaudeV2 model as of 28 October 2023. A CloudWatch alarm is also created for the total cost per hour, defaulting to breach when the cost exceeds $1 per hour for three consecutive hours. + +![Pricing Dashboard](./price-monitor/price-dashboard.png) + +The pricing dashboard can be deployed with CDK: + +```bash +cd price-monitor +npm install +npx cdk deploy -c bedrockRegion=us-east-1 +``` \ No newline at end of file diff --git a/price-monitor/.gitignore b/price-monitor/.gitignore new file mode 100644 index 0000000..f60797b --- /dev/null +++ b/price-monitor/.gitignore @@ -0,0 +1,8 @@ +*.js +!jest.config.js +*.d.ts +node_modules + +# CDK asset staging directory +.cdk.staging +cdk.out diff --git a/price-monitor/.npmignore b/price-monitor/.npmignore new file mode 100644 index 0000000..c1d6d45 --- /dev/null +++ b/price-monitor/.npmignore @@ -0,0 +1,6 @@ +*.ts +!*.d.ts + +# CDK asset staging directory +.cdk.staging +cdk.out diff --git a/price-monitor/README.md b/price-monitor/README.md new file mode 100644 index 0000000..320efc0 --- /dev/null +++ b/price-monitor/README.md @@ -0,0 +1,14 @@ +# Welcome to your CDK TypeScript project + +This is a blank project for CDK development with TypeScript. + +The `cdk.json` file tells the CDK Toolkit how to execute your app. + +## Useful commands + +* `npm run build` compile typescript to js +* `npm run watch` watch for changes and compile +* `npm run test` perform the jest unit tests +* `cdk deploy` deploy this stack to your default AWS account/region +* `cdk diff` compare deployed stack with current state +* `cdk synth` emits the synthesized CloudFormation template diff --git a/price-monitor/bin/price-monitor.ts b/price-monitor/bin/price-monitor.ts new file mode 100644 index 0000000..85667a4 --- /dev/null +++ b/price-monitor/bin/price-monitor.ts @@ -0,0 +1,14 @@ +#!/usr/bin/env node +import 'source-map-support/register' +import * as cdk from 'aws-cdk-lib' +import { PriceMonitorStack } from '../lib/price-monitor-stack' + +const app = new cdk.App() +const bedrockRegion = app.node.tryGetContext('bedrockRegion') ?? 'us-east-1' + +// eslint-disable-next-line no-new +new PriceMonitorStack(app, 'PriceMonitorStack', { + env: { account: process.env.CDK_DEFAULT_ACCOUNT, region: bedrockRegion }, + modelId: 'anthropic.claude-v2', + bedrockRegion: 'us-east-1' +}) diff --git a/price-monitor/cdk.json b/price-monitor/cdk.json new file mode 100644 index 0000000..e2f1e72 --- /dev/null +++ b/price-monitor/cdk.json @@ -0,0 +1,63 @@ +{ + "app": "npx ts-node --prefer-ts-exts bin/price-monitor.ts", + "watch": { + "include": [ + "**" + ], + "exclude": [ + "README.md", + "cdk*.json", + "**/*.d.ts", + "**/*.js", + "tsconfig.json", + "package*.json", + "yarn.lock", + "node_modules", + "test" + ] + }, + "context": { + "@aws-cdk/aws-lambda:recognizeLayerVersion": true, + "@aws-cdk/core:checkSecretUsage": true, + "@aws-cdk/core:target-partitions": [ + "aws", + "aws-cn" + ], + "@aws-cdk-containers/ecs-service-extensions:enableDefaultLogDriver": true, + "@aws-cdk/aws-ec2:uniqueImdsv2TemplateName": true, + "@aws-cdk/aws-ecs:arnFormatIncludesClusterName": true, + "@aws-cdk/aws-iam:minimizePolicies": true, + "@aws-cdk/core:validateSnapshotRemovalPolicy": true, + "@aws-cdk/aws-codepipeline:crossAccountKeyAliasStackSafeResourceName": true, + "@aws-cdk/aws-s3:createDefaultLoggingPolicy": true, + "@aws-cdk/aws-sns-subscriptions:restrictSqsDescryption": true, + "@aws-cdk/aws-apigateway:disableCloudWatchRole": true, + "@aws-cdk/core:enablePartitionLiterals": true, + "@aws-cdk/aws-events:eventsTargetQueueSameAccount": true, + "@aws-cdk/aws-iam:standardizedServicePrincipals": true, + "@aws-cdk/aws-ecs:disableExplicitDeploymentControllerForCircuitBreaker": true, + "@aws-cdk/aws-iam:importedRoleStackSafeDefaultPolicyName": true, + "@aws-cdk/aws-s3:serverAccessLogsUseBucketPolicy": true, + "@aws-cdk/aws-route53-patters:useCertificate": true, + "@aws-cdk/customresources:installLatestAwsSdkDefault": false, + "@aws-cdk/aws-rds:databaseProxyUniqueResourceName": true, + "@aws-cdk/aws-codedeploy:removeAlarmsFromDeploymentGroup": true, + "@aws-cdk/aws-apigateway:authorizerChangeDeploymentLogicalId": true, + "@aws-cdk/aws-ec2:launchTemplateDefaultUserData": true, + "@aws-cdk/aws-secretsmanager:useAttachedSecretResourcePolicyForSecretTargetAttachments": true, + "@aws-cdk/aws-redshift:columnId": true, + "@aws-cdk/aws-stepfunctions-tasks:enableEmrServicePolicyV2": true, + "@aws-cdk/aws-ec2:restrictDefaultSecurityGroup": true, + "@aws-cdk/aws-apigateway:requestValidatorUniqueId": true, + "@aws-cdk/aws-kms:aliasNameRef": true, + "@aws-cdk/aws-autoscaling:generateLaunchTemplateInsteadOfLaunchConfig": true, + "@aws-cdk/core:includePrefixInUniqueNameGeneration": true, + "@aws-cdk/aws-efs:denyAnonymousAccess": true, + "@aws-cdk/aws-opensearchservice:enableOpensearchMultiAzWithStandby": true, + "@aws-cdk/aws-lambda-nodejs:useLatestRuntimeVersion": true, + "@aws-cdk/aws-efs:mountTargetOrderInsensitiveLogicalId": true, + "@aws-cdk/aws-rds:auroraClusterChangeScopeOfInstanceParameterGroupWithEachParameters": true, + "@aws-cdk/aws-appsync:useArnForSourceApiAssociationIdentifier": true, + "@aws-cdk/aws-rds:preventRenderingDeprecatedCredentials": true + } +} diff --git a/price-monitor/jest.config.js b/price-monitor/jest.config.js new file mode 100644 index 0000000..08263b8 --- /dev/null +++ b/price-monitor/jest.config.js @@ -0,0 +1,8 @@ +module.exports = { + testEnvironment: 'node', + roots: ['/test'], + testMatch: ['**/*.test.ts'], + transform: { + '^.+\\.tsx?$': 'ts-jest' + } +}; diff --git a/price-monitor/lib/price-monitor-stack.ts b/price-monitor/lib/price-monitor-stack.ts new file mode 100644 index 0000000..8910a12 --- /dev/null +++ b/price-monitor/lib/price-monitor-stack.ts @@ -0,0 +1,146 @@ +/* eslint-disable no-new */ +import * as cdk from 'aws-cdk-lib' +import { } from '@aws-sdk/client-pricing' +import { Construct } from 'constructs' + +import * as cloudwatch from 'aws-cdk-lib/aws-cloudwatch' + +const BEDROCK_METRIC_NAMESPACE = 'AWS/Bedrock' + +const CLAUDE_V2_ON_DEMAND_COST_PER_1000_INPUT_TOKENS = '0.01102' +const CLAUDE_V2_ON_DEMAND_COST_PER_1000_OUTPUT_TOKENS = '0.03268' +const USD_HOURLY_COST_ALARM_THRESHOLD = 1.0 + +interface PriceMonitorStackProps extends cdk.StackProps { + modelId: string + bedrockRegion: string +} + +export class PriceMonitorStack extends cdk.Stack { + constructor (scope: Construct, id: string, props: PriceMonitorStackProps) { + super(scope, id, props) + + const { modelId, bedrockRegion } = props + + const dashboard = new cloudwatch.Dashboard(this, 'Dashboard', { + dashboardName: 'EpisoderPriceMonitor', + defaultInterval: cdk.Duration.days(7), + periodOverride: cloudwatch.PeriodOverride.AUTO + }) + + const invocationsMetric = new cloudwatch.Metric({ + namespace: BEDROCK_METRIC_NAMESPACE, + metricName: 'Invocations', + region: bedrockRegion, + statistic: 'Sum', + label: 'Invocations', + dimensionsMap: { + ModelId: modelId + } + }) + + const inputTokensMetric = new cloudwatch.Metric({ + namespace: BEDROCK_METRIC_NAMESPACE, + metricName: 'InputTokenCount', + region: bedrockRegion, + statistic: 'Sum', + label: 'Input Tokens', + dimensionsMap: { + ModelId: modelId + } + }) + + const outputTokensMetric = new cloudwatch.Metric({ + namespace: BEDROCK_METRIC_NAMESPACE, + metricName: 'OutputTokenCount', + region: bedrockRegion, + statistic: 'Sum', + label: 'Input Tokens', + dimensionsMap: { + ModelId: modelId + } + }) + + const inputTokensCostMetric = new cloudwatch.MathExpression({ + label: 'Input Token Cost ($)', + expression: `(inputTokens / 1000) * ${CLAUDE_V2_ON_DEMAND_COST_PER_1000_INPUT_TOKENS}`, + usingMetrics: { + inputTokens: inputTokensMetric + } + }) + + const outputTokensCostMetric = new cloudwatch.MathExpression({ + label: 'Output Token Cost ($)', + expression: `(outputTokens / 1000) * ${CLAUDE_V2_ON_DEMAND_COST_PER_1000_OUTPUT_TOKENS}`, + usingMetrics: { + outputTokens: outputTokensMetric + } + }) + + const totalCostMetric = new cloudwatch.MathExpression({ + label: 'Total Cost ($)', + expression: '(inputTokensCost + outputTokensCost)', + usingMetrics: { + inputTokensCost: inputTokensCostMetric, + outputTokensCost: outputTokensCostMetric + } + }) + + const costPerInvocationMetric = new cloudwatch.MathExpression({ + label: 'Cost per Invocation ($)', + expression: 'totalCost / invocations', + usingMetrics: { + totalCost: totalCostMetric, + invocations: invocationsMetric + } + }) + + const priceWidget = new cloudwatch.SingleValueWidget({ + title: `Bedrock ${modelId} Price Monitor`, + setPeriodToTimeRange: true, + period: cdk.Duration.days(1), + width: 24, + height: 6, + metrics: [ + invocationsMetric, + inputTokensMetric, + outputTokensMetric, + inputTokensCostMetric, + outputTokensCostMetric, + totalCostMetric, + costPerInvocationMetric + ] + }) + + dashboard.addWidgets(priceWidget) + + const hourlyCostMetric = new cloudwatch.MathExpression({ + label: 'Total Cost ($)', + expression: '(inputTokensCost + outputTokensCost)', + period: cdk.Duration.hours(1), + usingMetrics: { + inputTokensCost: inputTokensCostMetric, + outputTokensCost: outputTokensCostMetric + } + }) + + const hourlyCostAlarm = hourlyCostMetric.createAlarm(this, 'TotalCostAlarm', { + threshold: USD_HOURLY_COST_ALARM_THRESHOLD, + evaluationPeriods: 3, + comparisonOperator: cloudwatch.ComparisonOperator.GREATER_THAN_THRESHOLD, + treatMissingData: cloudwatch.TreatMissingData.NOT_BREACHING, + datapointsToAlarm: 3, + alarmName: `Bedrock ${modelId} Hourly Cost`, + alarmDescription: `Total Cost per Hour exceeds $${USD_HOURLY_COST_ALARM_THRESHOLD}` + }) + + const hourlyCostAlarmWidget = new cloudwatch.AlarmWidget({ + alarm: hourlyCostAlarm, + height: 6, + width: 24, + region: bedrockRegion, + title: `Bedrock ${modelId} Hourly Cost Alarm` + }) + dashboard.addWidgets(hourlyCostAlarmWidget) + } +} diff --git a/price-monitor/package-lock.json b/price-monitor/package-lock.json new file mode 100644 index 0000000..fc172b4 --- /dev/null +++ b/price-monitor/package-lock.json @@ -0,0 +1,5398 @@ +{ + "name": "price-monitor", + "version": "0.1.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "price-monitor", + "version": "0.1.0", + "dependencies": { + "@aws-sdk/client-pricing": "^3.438.0", + "aws-cdk-lib": "2.99.1", + "constructs": "^10.0.0", + "source-map-support": "^0.5.21" + }, + "bin": { + "price-monitor": "bin/price-monitor.js" + }, + "devDependencies": { + "@types/jest": "^29.5.5", + "@types/node": "20.6.3", + "aws-cdk": "2.99.1", + "jest": "^29.7.0", + "ts-jest": "^29.1.1", + "ts-node": "^10.9.1", + "typescript": "~5.2.2" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", + "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@aws-cdk/asset-awscli-v1": { + "version": "2.2.201", + "resolved": "https://registry.npmjs.org/@aws-cdk/asset-awscli-v1/-/asset-awscli-v1-2.2.201.tgz", + "integrity": "sha512-INZqcwDinNaIdb5CtW3ez5s943nX5stGBQS6VOP2JDlOFP81hM3fds/9NDknipqfUkZM43dx+HgVvkXYXXARCQ==" + }, + "node_modules/@aws-cdk/asset-kubectl-v20": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@aws-cdk/asset-kubectl-v20/-/asset-kubectl-v20-2.1.2.tgz", + "integrity": "sha512-3M2tELJOxQv0apCIiuKQ4pAbncz9GuLwnKFqxifWfe77wuMxyTRPmxssYHs42ePqzap1LT6GDcPygGs+hHstLg==" + }, + "node_modules/@aws-cdk/asset-node-proxy-agent-v6": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@aws-cdk/asset-node-proxy-agent-v6/-/asset-node-proxy-agent-v6-2.0.1.tgz", + "integrity": "sha512-DDt4SLdLOwWCjGtltH4VCST7hpOI5DzieuhGZsBpZ+AgJdSI2GCjklCXm0GCTwJG/SolkL5dtQXyUKgg9luBDg==" + }, + "node_modules/@aws-crypto/crc32": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/crc32/-/crc32-3.0.0.tgz", + "integrity": "sha512-IzSgsrxUcsrejQbPVilIKy16kAT52EwB6zSaI+M3xxIhKh5+aldEyvI+z6erM7TCLB2BJsFrtHjp6/4/sr+3dA==", + "dependencies": { + "@aws-crypto/util": "^3.0.0", + "@aws-sdk/types": "^3.222.0", + "tslib": "^1.11.1" + } + }, + "node_modules/@aws-crypto/crc32/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@aws-crypto/ie11-detection": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/ie11-detection/-/ie11-detection-3.0.0.tgz", + "integrity": "sha512-341lBBkiY1DfDNKai/wXM3aujNBkXR7tq1URPQDL9wi3AUbI80NR74uF1TXHMm7po1AcnFk8iu2S2IeU/+/A+Q==", + "dependencies": { + "tslib": "^1.11.1" + } + }, + "node_modules/@aws-crypto/ie11-detection/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@aws-crypto/sha256-browser": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-3.0.0.tgz", + "integrity": "sha512-8VLmW2B+gjFbU5uMeqtQM6Nj0/F1bro80xQXCW6CQBWgosFWXTx77aeOF5CAIAmbOK64SdMBJdNr6J41yP5mvQ==", + "dependencies": { + "@aws-crypto/ie11-detection": "^3.0.0", + "@aws-crypto/sha256-js": "^3.0.0", + "@aws-crypto/supports-web-crypto": "^3.0.0", + "@aws-crypto/util": "^3.0.0", + "@aws-sdk/types": "^3.222.0", + "@aws-sdk/util-locate-window": "^3.0.0", + "@aws-sdk/util-utf8-browser": "^3.0.0", + "tslib": "^1.11.1" + } + }, + "node_modules/@aws-crypto/sha256-browser/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@aws-crypto/sha256-js": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-3.0.0.tgz", + "integrity": "sha512-PnNN7os0+yd1XvXAy23CFOmTbMaDxgxXtTKHybrJ39Y8kGzBATgBFibWJKH6BhytLI/Zyszs87xCOBNyBig6vQ==", + "dependencies": { + "@aws-crypto/util": "^3.0.0", + "@aws-sdk/types": "^3.222.0", + "tslib": "^1.11.1" + } + }, + "node_modules/@aws-crypto/sha256-js/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@aws-crypto/supports-web-crypto": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-3.0.0.tgz", + "integrity": "sha512-06hBdMwUAb2WFTuGG73LSC0wfPu93xWwo5vL2et9eymgmu3Id5vFAHBbajVWiGhPO37qcsdCap/FqXvJGJWPIg==", + "dependencies": { + "tslib": "^1.11.1" + } + }, + "node_modules/@aws-crypto/supports-web-crypto/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@aws-crypto/util": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-3.0.0.tgz", + "integrity": "sha512-2OJlpeJpCR48CC8r+uKVChzs9Iungj9wkZrl8Z041DWEWvyIHILYKCPNzJghKsivj+S3mLo6BVc7mBNzdxA46w==", + "dependencies": { + "@aws-sdk/types": "^3.222.0", + "@aws-sdk/util-utf8-browser": "^3.0.0", + "tslib": "^1.11.1" + } + }, + "node_modules/@aws-crypto/util/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@aws-sdk/client-pricing": { + "version": "3.438.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-pricing/-/client-pricing-3.438.0.tgz", + "integrity": "sha512-x4YETiS8vo15iZY2Dt7Q8A9s6NpYEr/uMMAvQ3Ltb1R1BYkLGiYwVJHRNVSeLkdo3mM+VdpNumphV8ZIjNyh3w==", + "dependencies": { + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/client-sts": "3.438.0", + "@aws-sdk/core": "3.436.0", + "@aws-sdk/credential-provider-node": "3.438.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.438.0", + "@aws-sdk/region-config-resolver": "3.433.0", + "@aws-sdk/types": "3.433.0", + "@aws-sdk/util-endpoints": "3.438.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-endpoints": "^1.0.2", + "@smithy/util-retry": "^2.0.5", + "@smithy/util-utf8": "^2.0.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/client-sso": { + "version": "3.438.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.438.0.tgz", + "integrity": "sha512-L/xKq+K78PShLku8x5gM6lZDUp7LhFJ2ksKH7Vll+exSZq+QUaxuzjp4gqdzh6B0oIshv2jssQlUa0ScOmVRMg==", + "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.438.0", + "@aws-sdk/region-config-resolver": "3.433.0", + "@aws-sdk/types": "3.433.0", + "@aws-sdk/util-endpoints": "3.438.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-endpoints": "^1.0.2", + "@smithy/util-retry": "^2.0.5", + "@smithy/util-utf8": "^2.0.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/client-sts": { + "version": "3.438.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.438.0.tgz", + "integrity": "sha512-UBxLZKVVvbR4LHwSNSqaKx22YBSOGkavrh4SyDP8o8XOlXeRxTCllfSfjL9K5Mktp+ZwQ2NiubNcwmvUcGKbbg==", + "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.438.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.438.0", + "@aws-sdk/region-config-resolver": "3.433.0", + "@aws-sdk/types": "3.433.0", + "@aws-sdk/util-endpoints": "3.438.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-endpoints": "^1.0.2", + "@smithy/util-retry": "^2.0.5", + "@smithy/util-utf8": "^2.0.0", + "fast-xml-parser": "4.2.5", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/core": { + "version": "3.436.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.436.0.tgz", + "integrity": "sha512-vX5/LjXvCejC2XUY6TSg1oozjqK6BvkE75t0ys9dgqyr5PlZyZksMoeAFHUlj0sCjhT3ziWCujP1oiSpPWY9hg==", + "dependencies": { + "@smithy/smithy-client": "^2.1.12" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-env": { + "version": "3.433.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.433.0.tgz", + "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" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-ini": { + "version": "3.438.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.438.0.tgz", + "integrity": "sha512-WYPQR3pXoHJjn9/RMWipUhsUNFy6zhOiII6u8LJ5w84aNqIjV4+BdRYztRNGJD98jdtekhbkX0YKoSuZqP+unQ==", + "dependencies": { + "@aws-sdk/credential-provider-env": "3.433.0", + "@aws-sdk/credential-provider-process": "3.433.0", + "@aws-sdk/credential-provider-sso": "3.438.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" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-node": { + "version": "3.438.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.438.0.tgz", + "integrity": "sha512-uaw3D2R0svyrC32qyZ2aOv/l0AT9eClh+eQsZJTQD3Kz9q+2VdeOBThQ8fsMfRtm26nUbZo6A/CRwxkm6okI+w==", + "dependencies": { + "@aws-sdk/credential-provider-env": "3.433.0", + "@aws-sdk/credential-provider-ini": "3.438.0", + "@aws-sdk/credential-provider-process": "3.433.0", + "@aws-sdk/credential-provider-sso": "3.438.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" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-process": { + "version": "3.433.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.433.0.tgz", + "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" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-sso": { + "version": "3.438.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.438.0.tgz", + "integrity": "sha512-Xykli/64xR18cBV5P0XFxcH120omtfAjC/cFy/9nFU/+dPvbk0uu1yEOZYteWHyGGkPN4PkHmbh60GiUCLQkWQ==", + "dependencies": { + "@aws-sdk/client-sso": "3.438.0", + "@aws-sdk/token-providers": "3.438.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" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-web-identity": { + "version": "3.433.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.433.0.tgz", + "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" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/middleware-host-header": { + "version": "3.433.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.433.0.tgz", + "integrity": "sha512-mBTq3UWv1UzeHG+OfUQ2MB/5GEkt5LTKFaUqzL7ESwzW8XtpBgXnjZvIwu3Vcd3sEetMwijwaGiJhY0ae/YyaA==", + "dependencies": { + "@aws-sdk/types": "3.433.0", + "@smithy/protocol-http": "^3.0.8", + "@smithy/types": "^2.4.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/middleware-logger": { + "version": "3.433.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.433.0.tgz", + "integrity": "sha512-We346Fb5xGonTGVZC9Nvqtnqy74VJzYuTLLiuuftA5sbNzftBDy/22QCfvYSTOAl3bvif+dkDUzQY2ihc5PwOQ==", + "dependencies": { + "@aws-sdk/types": "3.433.0", + "@smithy/types": "^2.4.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/middleware-recursion-detection": { + "version": "3.433.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.433.0.tgz", + "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" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/middleware-sdk-sts": { + "version": "3.433.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.433.0.tgz", + "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" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/middleware-signing": { + "version": "3.433.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.433.0.tgz", + "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" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/middleware-user-agent": { + "version": "3.438.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.438.0.tgz", + "integrity": "sha512-a+xHT1wOxT6EA6YyLmrfaroKWOkwwyiktUfXKM0FsUutGzNi4fKhb5NZ2al58NsXzHgHFrasSDp+Lqbd/X2cEw==", + "dependencies": { + "@aws-sdk/types": "3.433.0", + "@aws-sdk/util-endpoints": "3.438.0", + "@smithy/protocol-http": "^3.0.8", + "@smithy/types": "^2.4.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/region-config-resolver": { + "version": "3.433.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.433.0.tgz", + "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" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/token-providers": { + "version": "3.438.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.438.0.tgz", + "integrity": "sha512-G2fUfTtU6/1ayYRMu0Pd9Ln4qYSvwJOWCqJMdkDgvXSwdgcOSOLsnAIk1AHGJDAvgLikdCzuyOsdJiexr9Vnww==", + "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.438.0", + "@aws-sdk/region-config-resolver": "3.433.0", + "@aws-sdk/types": "3.433.0", + "@aws-sdk/util-endpoints": "3.438.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-endpoints": "^1.0.2", + "@smithy/util-retry": "^2.0.5", + "@smithy/util-utf8": "^2.0.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/types": { + "version": "3.433.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.433.0.tgz", + "integrity": "sha512-0jEE2mSrNDd8VGFjTc1otYrwYPIkzZJEIK90ZxisKvQ/EURGBhNzWn7ejWB9XCMFT6XumYLBR0V9qq5UPisWtA==", + "dependencies": { + "@smithy/types": "^2.4.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/util-endpoints": { + "version": "3.438.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.438.0.tgz", + "integrity": "sha512-6VyPTq1kN3GWxwFt5DdZfOsr6cJZPLjWh0troY/0uUv3hK74C9o3Y0Xf/z8UAUvQFkVqZse12O0/BgPVMImvfA==", + "dependencies": { + "@aws-sdk/types": "3.433.0", + "@smithy/util-endpoints": "^1.0.2", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/util-locate-window": { + "version": "3.310.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.310.0.tgz", + "integrity": "sha512-qo2t/vBTnoXpjKxlsC2e1gBrRm80M3bId27r0BRB2VniSSe7bL1mmzM+/HFtujm0iAxtPM+aLEflLJlJeDPg0w==", + "dependencies": { + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/util-user-agent-browser": { + "version": "3.433.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.433.0.tgz", + "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" + } + }, + "node_modules/@aws-sdk/util-user-agent-node": { + "version": "3.437.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.437.0.tgz", + "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" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "aws-crt": ">=1.0.0" + }, + "peerDependenciesMeta": { + "aws-crt": { + "optional": true + } + } + }, + "node_modules/@aws-sdk/util-utf8-browser": { + "version": "3.259.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.259.0.tgz", + "integrity": "sha512-UvFa/vR+e19XookZF8RzFZBrw2EUkQWxiBW0yYQAhvk3C+QVGl0H3ouca8LDBlBfQKXwmW3huo/59H8rwb1wJw==", + "dependencies": { + "tslib": "^2.3.1" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.22.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", + "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.22.13", + "chalk": "^2.4.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/code-frame/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/code-frame/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/@babel/code-frame/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@babel/code-frame/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.2.tgz", + "integrity": "sha512-0S9TQMmDHlqAZ2ITT95irXKfxN9bncq8ZCoJhun3nHL/lLUxd2NKBJYoNGWH7S0hz6fRQwWlAWn/ILM0C70KZQ==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.2.tgz", + "integrity": "sha512-n7s51eWdaWZ3vGT2tD4T7J6eJs3QoBXydv7vkUM06Bf1cbVD2Kc2UrkzhiQwobfV7NwOnQXYL7UBJ5VPU+RGoQ==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.22.13", + "@babel/generator": "^7.23.0", + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-module-transforms": "^7.23.0", + "@babel/helpers": "^7.23.2", + "@babel/parser": "^7.23.0", + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.23.2", + "@babel/types": "^7.23.0", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/generator": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz", + "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==", + "dev": true, + "dependencies": { + "@babel/types": "^7.23.0", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.15.tgz", + "integrity": "sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.22.9", + "@babel/helper-validator-option": "^7.22.15", + "browserslist": "^4.21.9", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", + "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", + "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", + "dev": true, + "dependencies": { + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", + "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.0.tgz", + "integrity": "sha512-WhDWw1tdrlT0gMgUJSlX0IQvoO1eN279zrAUbVB+KpV2c3Tylz8+GnKOLllCS6Z/iZQEyVYxhZVUdPTqs2YYPw==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-simple-access": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/helper-validator-identifier": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", + "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", + "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", + "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.15.tgz", + "integrity": "sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.2.tgz", + "integrity": "sha512-lzchcp8SjTSVe/fPmLwtWVBFC7+Tbn8LGHDVfDp9JGxpAY5opSaEFgt8UQvrnECWOTdji2mOWMz1rOhkHscmGQ==", + "dev": true, + "dependencies": { + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.23.2", + "@babel/types": "^7.23.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", + "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/highlight/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/@babel/highlight/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@babel/highlight/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/parser": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz", + "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz", + "integrity": "sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.22.5.tgz", + "integrity": "sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/template": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", + "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.22.13", + "@babel/parser": "^7.22.15", + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.2.tgz", + "integrity": "sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.22.13", + "@babel/generator": "^7.23.0", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.23.0", + "@babel/types": "^7.23.0", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz", + "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==", + "dev": true, + "dependencies": { + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.20", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", + "dev": true + }, + "node_modules/@cspotcode/source-map-support": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "0.3.9" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "node_modules/@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "dev": true, + "dependencies": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/console": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.7.0.tgz", + "integrity": "sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/core": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.7.0.tgz", + "integrity": "sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==", + "dev": true, + "dependencies": { + "@jest/console": "^29.7.0", + "@jest/reporters": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^29.7.0", + "jest-config": "^29.7.0", + "jest-haste-map": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-resolve-dependencies": "^29.7.0", + "jest-runner": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "jest-watcher": "^29.7.0", + "micromatch": "^4.0.4", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/@jest/environment": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz", + "integrity": "sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==", + "dev": true, + "dependencies": { + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/expect": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.7.0.tgz", + "integrity": "sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==", + "dev": true, + "dependencies": { + "expect": "^29.7.0", + "jest-snapshot": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/expect-utils": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz", + "integrity": "sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==", + "dev": true, + "dependencies": { + "jest-get-type": "^29.6.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/fake-timers": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz", + "integrity": "sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "@sinonjs/fake-timers": "^10.0.2", + "@types/node": "*", + "jest-message-util": "^29.7.0", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/globals": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.7.0.tgz", + "integrity": "sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==", + "dev": true, + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/expect": "^29.7.0", + "@jest/types": "^29.6.3", + "jest-mock": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/reporters": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.7.0.tgz", + "integrity": "sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==", + "dev": true, + "dependencies": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^6.0.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "jest-worker": "^29.7.0", + "slash": "^3.0.0", + "string-length": "^4.0.1", + "strip-ansi": "^6.0.0", + "v8-to-istanbul": "^9.0.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/@jest/schemas": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", + "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", + "dev": true, + "dependencies": { + "@sinclair/typebox": "^0.27.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/source-map": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz", + "integrity": "sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.18", + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/test-result": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.7.0.tgz", + "integrity": "sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==", + "dev": true, + "dependencies": { + "@jest/console": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/test-sequencer": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz", + "integrity": "sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==", + "dev": true, + "dependencies": { + "@jest/test-result": "^29.7.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/transform": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz", + "integrity": "sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==", + "dev": true, + "dependencies": { + "@babel/core": "^7.11.6", + "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/types": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", + "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", + "dev": true, + "dependencies": { + "@jest/schemas": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "dev": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.20", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", + "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", + "dev": true + }, + "node_modules/@sinonjs/commons": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", + "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", + "dev": true, + "dependencies": { + "type-detect": "4.0.8" + } + }, + "node_modules/@sinonjs/fake-timers": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", + "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", + "dev": true, + "dependencies": { + "@sinonjs/commons": "^3.0.0" + } + }, + "node_modules/@smithy/abort-controller": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-2.0.12.tgz", + "integrity": "sha512-YIJyefe1mi3GxKdZxEBEuzYOeQ9xpYfqnFmWzojCssRAuR7ycxwpoRQgp965vuW426xUAQhCV5rCaWElQ7XsaA==", + "dependencies": { + "@smithy/types": "^2.4.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/config-resolver": { + "version": "2.0.16", + "resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-2.0.16.tgz", + "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" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/credential-provider-imds": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-2.0.18.tgz", + "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" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/eventstream-codec": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-codec/-/eventstream-codec-2.0.12.tgz", + "integrity": "sha512-ZZQLzHBJkbiAAdj2C5K+lBlYp/XJ+eH2uy+jgJgYIFW/o5AM59Hlj7zyI44/ZTDIQWmBxb3EFv/c5t44V8/g8A==", + "dependencies": { + "@aws-crypto/crc32": "3.0.0", + "@smithy/types": "^2.4.0", + "@smithy/util-hex-encoding": "^2.0.0", + "tslib": "^2.5.0" + } + }, + "node_modules/@smithy/fetch-http-handler": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-2.2.4.tgz", + "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" + } + }, + "node_modules/@smithy/hash-node": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-2.0.12.tgz", + "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" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/invalid-dependency": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-2.0.12.tgz", + "integrity": "sha512-p5Y+iMHV3SoEpy3VSR7mifbreHQwVSvHSAz/m4GdoXfOzKzaYC8hYv10Ks7Deblkf7lhas8U+lAp9ThbBM+ZXA==", + "dependencies": { + "@smithy/types": "^2.4.0", + "tslib": "^2.5.0" + } + }, + "node_modules/@smithy/is-array-buffer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.0.0.tgz", + "integrity": "sha512-z3PjFjMyZNI98JFRJi/U0nGoLWMSJlDjAW4QUX2WNZLas5C0CmVV6LJ01JI0k90l7FvpmixjWxPFmENSClQ7ug==", + "dependencies": { + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/middleware-content-length": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-2.0.14.tgz", + "integrity": "sha512-poUNgKTw9XwPXfX9nEHpVgrMNVpaSMZbshqvPxFVoalF4wp6kRzYKOfdesSVectlQ51VtigoLfbXcdyPwvxgTg==", + "dependencies": { + "@smithy/protocol-http": "^3.0.8", + "@smithy/types": "^2.4.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/middleware-endpoint": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-2.1.3.tgz", + "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" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/middleware-retry": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-2.0.18.tgz", + "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" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/middleware-serde": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-2.0.12.tgz", + "integrity": "sha512-IBeco157lIScecq2Z+n0gq56i4MTnfKxS7rbfrAORveDJgnbBAaEQgYqMqp/cYqKrpvEXcyTjwKHrBjCCIZh2A==", + "dependencies": { + "@smithy/types": "^2.4.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/middleware-stack": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-2.0.6.tgz", + "integrity": "sha512-YSvNZeOKWLJ0M/ycxwDIe2Ztkp6Qixmcml1ggsSv2fdHKGkBPhGrX5tMzPGMI1yyx55UEYBi2OB4s+RriXX48A==", + "dependencies": { + "@smithy/types": "^2.4.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/node-config-provider": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-2.1.3.tgz", + "integrity": "sha512-J6lXvRHGVnSX3n1PYi+e1L5HN73DkkJpUviV3Ebf+8wSaIjAf+eVNbzyvh/S5EQz7nf4KVfwbD5vdoZMAthAEQ==", + "dependencies": { + "@smithy/property-provider": "^2.0.13", + "@smithy/shared-ini-file-loader": "^2.2.2", + "@smithy/types": "^2.4.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/node-http-handler": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-2.1.8.tgz", + "integrity": "sha512-KZylM7Wff/So5SmCiwg2kQNXJ+RXgz34wkxS7WNwIUXuZrZZpY/jKJCK+ZaGyuESDu3TxcaY+zeYGJmnFKbQsA==", + "dependencies": { + "@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" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/property-provider": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-2.0.13.tgz", + "integrity": "sha512-VJqUf2CbsQX6uUiC5dUPuoEATuFjkbkW3lJHbRnpk9EDC9X+iKqhfTK+WP+lve5EQ9TcCI1Q6R7hrg41FyC54w==", + "dependencies": { + "@smithy/types": "^2.4.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/protocol-http": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-3.0.8.tgz", + "integrity": "sha512-SHJvYeWq8q0FK8xHk+xjV9dzDUDjFMT+G1pZbV+XB6OVoac/FSVshlMNPeUJ8AmSkcDKHRu5vASnRqZHgD3qhw==", + "dependencies": { + "@smithy/types": "^2.4.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/querystring-builder": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-2.0.12.tgz", + "integrity": "sha512-cDbF07IuCjiN8CdGvPzfJjXIrmDSelScRfyJYrYBNBbKl2+k7QD/KqiHhtRyEKgID5mmEVrV6KE6L/iPJ98sFw==", + "dependencies": { + "@smithy/types": "^2.4.0", + "@smithy/util-uri-escape": "^2.0.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/querystring-parser": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-2.0.12.tgz", + "integrity": "sha512-fytyTcXaMzPBuNtPlhj5v6dbl4bJAnwKZFyyItAGt4Tgm9HFPZNo7a9r1SKPr/qdxUEBzvL9Rh+B9SkTX3kFxg==", + "dependencies": { + "@smithy/types": "^2.4.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/service-error-classification": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-2.0.5.tgz", + "integrity": "sha512-M0SeJnEgD2ywJyV99Fb1yKFzmxDe9JfpJiYTVSRMyRLc467BPU0qsuuDPzMCdB1mU8M8u1rVOdkqdoyFN8UFTw==", + "dependencies": { + "@smithy/types": "^2.4.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/shared-ini-file-loader": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-2.2.2.tgz", + "integrity": "sha512-noyQUPn7b1M8uB0GEXc/Zyxq+5K2b7aaqWnLp+hgJ7+xu/FCvtyWy5eWLDjQEsHnAet2IZhS5QF8872OR69uNg==", + "dependencies": { + "@smithy/types": "^2.4.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/signature-v4": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-2.0.12.tgz", + "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" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/smithy-client": { + "version": "2.1.12", + "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-2.1.12.tgz", + "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" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/types": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-2.4.0.tgz", + "integrity": "sha512-iH1Xz68FWlmBJ9vvYeHifVMWJf82ONx+OybPW8ZGf5wnEv2S0UXcU4zwlwJkRXuLKpcSLHrraHbn2ucdVXLb4g==", + "dependencies": { + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/url-parser": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-2.0.12.tgz", + "integrity": "sha512-qgkW2mZqRvlNUcBkxYB/gYacRaAdck77Dk3/g2iw0S9F0EYthIS3loGfly8AwoWpIvHKhkTsCXXQfzksgZ4zIA==", + "dependencies": { + "@smithy/querystring-parser": "^2.0.12", + "@smithy/types": "^2.4.0", + "tslib": "^2.5.0" + } + }, + "node_modules/@smithy/util-base64": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-2.0.0.tgz", + "integrity": "sha512-Zb1E4xx+m5Lud8bbeYi5FkcMJMnn+1WUnJF3qD7rAdXpaL7UjkFQLdmW5fHadoKbdHpwH9vSR8EyTJFHJs++tA==", + "dependencies": { + "@smithy/util-buffer-from": "^2.0.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/util-body-length-browser": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-body-length-browser/-/util-body-length-browser-2.0.0.tgz", + "integrity": "sha512-JdDuS4ircJt+FDnaQj88TzZY3+njZ6O+D3uakS32f2VNnDo3vyEuNdBOh/oFd8Df1zSZOuH1HEChk2AOYDezZg==", + "dependencies": { + "tslib": "^2.5.0" + } + }, + "node_modules/@smithy/util-body-length-node": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@smithy/util-body-length-node/-/util-body-length-node-2.1.0.tgz", + "integrity": "sha512-/li0/kj/y3fQ3vyzn36NTLGmUwAICb7Jbe/CsWCktW363gh1MOcpEcSO3mJ344Gv2dqz8YJCLQpb6hju/0qOWw==", + "dependencies": { + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/util-buffer-from": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.0.0.tgz", + "integrity": "sha512-/YNnLoHsR+4W4Vf2wL5lGv0ksg8Bmk3GEGxn2vEQt52AQaPSCuaO5PM5VM7lP1K9qHRKHwrPGktqVoAHKWHxzw==", + "dependencies": { + "@smithy/is-array-buffer": "^2.0.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/util-config-provider": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-config-provider/-/util-config-provider-2.0.0.tgz", + "integrity": "sha512-xCQ6UapcIWKxXHEU4Mcs2s7LcFQRiU3XEluM2WcCjjBtQkUN71Tb+ydGmJFPxMUrW/GWMgQEEGipLym4XG0jZg==", + "dependencies": { + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/util-defaults-mode-browser": { + "version": "2.0.16", + "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-2.0.16.tgz", + "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" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@smithy/util-defaults-mode-node": { + "version": "2.0.21", + "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-2.0.21.tgz", + "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" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@smithy/util-endpoints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@smithy/util-endpoints/-/util-endpoints-1.0.2.tgz", + "integrity": "sha512-QEdq+sP68IJHAMVB2ugKVVZEWeKQtZLuf+akHzc8eTVElsZ2ZdVLWC6Cp+uKjJ/t4yOj1qu6ZzyxJQEQ8jdEjg==", + "dependencies": { + "@smithy/node-config-provider": "^2.1.3", + "@smithy/types": "^2.4.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@smithy/util-hex-encoding": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-2.0.0.tgz", + "integrity": "sha512-c5xY+NUnFqG6d7HFh1IFfrm3mGl29lC+vF+geHv4ToiuJCBmIfzx6IeHLg+OgRdPFKDXIw6pvi+p3CsscaMcMA==", + "dependencies": { + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/util-middleware": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-2.0.5.tgz", + "integrity": "sha512-1lyT3TcaMJQe+OFfVI+TlomDkPuVzb27NZYdYtmSTltVmLaUjdCyt4KE+OH1CnhZKsz4/cdCL420Lg9UH5Z2Mw==", + "dependencies": { + "@smithy/types": "^2.4.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/util-retry": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-2.0.5.tgz", + "integrity": "sha512-x3t1+MQAJ6QONk3GTbJNcugCFDVJ+Bkro5YqQQK1EyVesajNDqxFtCx9WdOFNGm/Cbm7tUdwVEmfKQOJoU2Vtw==", + "dependencies": { + "@smithy/service-error-classification": "^2.0.5", + "@smithy/types": "^2.4.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@smithy/util-stream": { + "version": "2.0.17", + "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-2.0.17.tgz", + "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" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/util-uri-escape": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-2.0.0.tgz", + "integrity": "sha512-ebkxsqinSdEooQduuk9CbKcI+wheijxEb3utGXkCoYQkJnwTnLbH1JXGimJtUkQwNQbsbuYwG2+aFVyZf5TLaw==", + "dependencies": { + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/util-utf8": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.0.0.tgz", + "integrity": "sha512-rctU1VkziY84n5OXe3bPNpKR001ZCME2JCaBBFgtiM2hfKbHFudc/BkMuPab8hRbLd0j3vbnBTTZ1igBf0wgiQ==", + "dependencies": { + "@smithy/util-buffer-from": "^2.0.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@tsconfig/node10": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", + "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==", + "dev": true + }, + "node_modules/@tsconfig/node12": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", + "dev": true + }, + "node_modules/@tsconfig/node14": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", + "dev": true + }, + "node_modules/@tsconfig/node16": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", + "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", + "dev": true + }, + "node_modules/@types/babel__core": { + "version": "7.20.3", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.3.tgz", + "integrity": "sha512-54fjTSeSHwfan8AyHWrKbfBWiEUrNTZsUwPTDSNaaP1QDQIZbeNUg3a59E9D+375MzUw/x1vx2/0F5LBz+AeYA==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.6.6", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.6.tgz", + "integrity": "sha512-66BXMKb/sUWbMdBNdMvajU7i/44RkrA3z/Yt1c7R5xejt8qh84iU54yUWCtm0QwGJlDcf/gg4zd/x4mpLAlb/w==", + "dev": true, + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.3", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.3.tgz", + "integrity": "sha512-ciwyCLeuRfxboZ4isgdNZi/tkt06m8Tw6uGbBSBgWrnnZGNXiEyM27xc/PjXGQLqlZ6ylbgHMnm7ccF9tCkOeQ==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.20.3", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.3.tgz", + "integrity": "sha512-Lsh766rGEFbaxMIDH7Qa+Yha8cMVI3qAK6CHt3OR0YfxOIn5Z54iHiyDRycHrBqeIiqGa20Kpsv1cavfBKkRSw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.20.7" + } + }, + "node_modules/@types/graceful-fs": { + "version": "4.1.8", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.8.tgz", + "integrity": "sha512-NhRH7YzWq8WiNKVavKPBmtLYZHxNY19Hh+az28O/phfp68CF45pMFud+ZzJ8ewnxnC5smIdF3dqFeiSUQ5I+pw==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz", + "integrity": "sha512-zONci81DZYCZjiLe0r6equvZut0b+dBRPBN5kBDjsONnutYNtJMoWQ9uR2RkL1gLG9NMTzvf+29e5RFfPbeKhQ==", + "dev": true + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.2.tgz", + "integrity": "sha512-8toY6FgdltSdONav1XtUHl4LN1yTmLza+EuDazb/fEmRNCwjyqNVIQWs2IfC74IqjHkREs/nQ2FWq5kZU9IC0w==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@types/istanbul-reports": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.3.tgz", + "integrity": "sha512-1nESsePMBlf0RPRffLZi5ujYh7IH1BWL4y9pr+Bn3cJBdxz+RTP8bUFljLz9HvzhhOSWKdyBZ4DIivdL6rvgZg==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/jest": { + "version": "29.5.6", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.6.tgz", + "integrity": "sha512-/t9NnzkOpXb4Nfvg17ieHE6EeSjDS2SGSpNYfoLbUAeL/EOueU/RSdOWFpfQTXBEM7BguYW1XQ0EbM+6RlIh6w==", + "dev": true, + "dependencies": { + "expect": "^29.0.0", + "pretty-format": "^29.0.0" + } + }, + "node_modules/@types/node": { + "version": "20.6.3", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.6.3.tgz", + "integrity": "sha512-HksnYH4Ljr4VQgEy2lTStbCKv/P590tmPe5HqOnv9Gprffgv5WXAY+Y5Gqniu0GGqeTCUdBnzC3QSrzPkBkAMA==", + "dev": true + }, + "node_modules/@types/stack-utils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.2.tgz", + "integrity": "sha512-g7CK9nHdwjK2n0ymT2CW698FuWJRIx+RP6embAzZ2Qi8/ilIrA1Imt2LVSeHUzKvpoi7BhmmQcXz95eS0f2JXw==", + "dev": true + }, + "node_modules/@types/yargs": { + "version": "17.0.29", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.29.tgz", + "integrity": "sha512-nacjqA3ee9zRF/++a3FUY1suHTFKZeHba2n8WeDw9cCVdmzmHpIxyzOJBcpHvvEmS8E9KqWlSnWHUkOrkhWcvA==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "21.0.2", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.2.tgz", + "integrity": "sha512-5qcvofLPbfjmBfKaLfj/+f+Sbd6pN4zl7w7VSVI5uz7m9QZTuB2aZAa2uo1wHFBNN2x6g/SoTkXmd8mQnQF2Cw==", + "dev": true + }, + "node_modules/acorn": { + "version": "8.11.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz", + "integrity": "sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-walk": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.0.tgz", + "integrity": "sha512-FS7hV565M5l1R08MXqo8odwMTB02C2UqzB17RVgu9EyuYFBqJZ3/ZY97sQD5FewVu1UyDFc1yztUDrAwT0EypA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "dev": true + }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/aws-cdk": { + "version": "2.99.1", + "resolved": "https://registry.npmjs.org/aws-cdk/-/aws-cdk-2.99.1.tgz", + "integrity": "sha512-uWg4xhBrHNoRMlEgvWzr0MacJ92dLFeJ5AvT7nruxrgShU1fgt/Rsxw1WCXSASaVUsIUGgtO+P89x8cRU2nf7w==", + "dev": true, + "bin": { + "cdk": "bin/cdk" + }, + "engines": { + "node": ">= 14.15.0" + }, + "optionalDependencies": { + "fsevents": "2.3.2" + } + }, + "node_modules/aws-cdk-lib": { + "version": "2.99.1", + "resolved": "https://registry.npmjs.org/aws-cdk-lib/-/aws-cdk-lib-2.99.1.tgz", + "integrity": "sha512-mUhuT2JTy3VyX9o9IOSuy7UYDimFHGnmpASwTb4rD10Hksb1dTqqN2BsXU5kogHakYevBD3vwYc87rOVso4M7Q==", + "bundleDependencies": [ + "@balena/dockerignore", + "case", + "fs-extra", + "ignore", + "jsonschema", + "minimatch", + "punycode", + "semver", + "table", + "yaml" + ], + "dependencies": { + "@aws-cdk/asset-awscli-v1": "^2.2.200", + "@aws-cdk/asset-kubectl-v20": "^2.1.2", + "@aws-cdk/asset-node-proxy-agent-v6": "^2.0.1", + "@balena/dockerignore": "^1.0.2", + "case": "1.6.3", + "fs-extra": "^11.1.1", + "ignore": "^5.2.4", + "jsonschema": "^1.4.1", + "minimatch": "^3.1.2", + "punycode": "^2.3.0", + "semver": "^7.5.4", + "table": "^6.8.1", + "yaml": "1.10.2" + }, + "engines": { + "node": ">= 14.15.0" + }, + "peerDependencies": { + "constructs": "^10.0.0" + } + }, + "node_modules/aws-cdk-lib/node_modules/@balena/dockerignore": { + "version": "1.0.2", + "inBundle": true, + "license": "Apache-2.0" + }, + "node_modules/aws-cdk-lib/node_modules/ajv": { + "version": "8.12.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/aws-cdk-lib/node_modules/ansi-regex": { + "version": "5.0.1", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/aws-cdk-lib/node_modules/ansi-styles": { + "version": "4.3.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/aws-cdk-lib/node_modules/astral-regex": { + "version": "2.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/aws-cdk-lib/node_modules/balanced-match": { + "version": "1.0.2", + "inBundle": true, + "license": "MIT" + }, + "node_modules/aws-cdk-lib/node_modules/brace-expansion": { + "version": "1.1.11", + "inBundle": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/aws-cdk-lib/node_modules/case": { + "version": "1.6.3", + "inBundle": true, + "license": "(MIT OR GPL-3.0-or-later)", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/aws-cdk-lib/node_modules/color-convert": { + "version": "2.0.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/aws-cdk-lib/node_modules/color-name": { + "version": "1.1.4", + "inBundle": true, + "license": "MIT" + }, + "node_modules/aws-cdk-lib/node_modules/concat-map": { + "version": "0.0.1", + "inBundle": true, + "license": "MIT" + }, + "node_modules/aws-cdk-lib/node_modules/emoji-regex": { + "version": "8.0.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/aws-cdk-lib/node_modules/fast-deep-equal": { + "version": "3.1.3", + "inBundle": true, + "license": "MIT" + }, + "node_modules/aws-cdk-lib/node_modules/fs-extra": { + "version": "11.1.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/aws-cdk-lib/node_modules/graceful-fs": { + "version": "4.2.11", + "inBundle": true, + "license": "ISC" + }, + "node_modules/aws-cdk-lib/node_modules/ignore": { + "version": "5.2.4", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/aws-cdk-lib/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/aws-cdk-lib/node_modules/json-schema-traverse": { + "version": "1.0.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/aws-cdk-lib/node_modules/jsonfile": { + "version": "6.1.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/aws-cdk-lib/node_modules/jsonschema": { + "version": "1.4.1", + "inBundle": true, + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/aws-cdk-lib/node_modules/lodash.truncate": { + "version": "4.4.2", + "inBundle": true, + "license": "MIT" + }, + "node_modules/aws-cdk-lib/node_modules/lru-cache": { + "version": "6.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/aws-cdk-lib/node_modules/minimatch": { + "version": "3.1.2", + "inBundle": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/aws-cdk-lib/node_modules/punycode": { + "version": "2.3.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/aws-cdk-lib/node_modules/require-from-string": { + "version": "2.0.2", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/aws-cdk-lib/node_modules/semver": { + "version": "7.5.4", + "inBundle": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/aws-cdk-lib/node_modules/slice-ansi": { + "version": "4.0.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/aws-cdk-lib/node_modules/string-width": { + "version": "4.2.3", + "inBundle": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/aws-cdk-lib/node_modules/strip-ansi": { + "version": "6.0.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/aws-cdk-lib/node_modules/table": { + "version": "6.8.1", + "inBundle": true, + "license": "BSD-3-Clause", + "dependencies": { + "ajv": "^8.0.1", + "lodash.truncate": "^4.4.2", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/aws-cdk-lib/node_modules/universalify": { + "version": "2.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/aws-cdk-lib/node_modules/uri-js": { + "version": "4.4.1", + "inBundle": true, + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/aws-cdk-lib/node_modules/yallist": { + "version": "4.0.0", + "inBundle": true, + "license": "ISC" + }, + "node_modules/aws-cdk-lib/node_modules/yaml": { + "version": "1.10.2", + "inBundle": true, + "license": "ISC", + "engines": { + "node": ">= 6" + } + }, + "node_modules/babel-jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz", + "integrity": "sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==", + "dev": true, + "dependencies": { + "@jest/transform": "^29.7.0", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^29.6.3", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.8.0" + } + }, + "node_modules/babel-plugin-istanbul": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-istanbul/node_modules/istanbul-lib-instrument": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", + "dev": true, + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-jest-hoist": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz", + "integrity": "sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==", + "dev": true, + "dependencies": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.1.14", + "@types/babel__traverse": "^7.0.6" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/babel-preset-current-node-syntax": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", + "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", + "dev": true, + "dependencies": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-top-level-await": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/babel-preset-jest": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz", + "integrity": "sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==", + "dev": true, + "dependencies": { + "babel-plugin-jest-hoist": "^29.6.3", + "babel-preset-current-node-syntax": "^1.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/bowser": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.11.0.tgz", + "integrity": "sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==" + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.1.tgz", + "integrity": "sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001541", + "electron-to-chromium": "^1.4.535", + "node-releases": "^2.0.13", + "update-browserslist-db": "^1.0.13" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/bs-logger": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", + "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", + "dev": true, + "dependencies": { + "fast-json-stable-stringify": "2.x" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "dev": true, + "dependencies": { + "node-int64": "^0.4.0" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001555", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001555.tgz", + "integrity": "sha512-NzbUFKUnJ3DTcq6YyZB6+qqhfD112uR3uoEnkmfzm2wVzUNsFkU7AwBjKQ654Sp5cau0JxhFyRSn/tQZ+XfygA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, + "node_modules/cjs-module-lexer": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz", + "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==", + "dev": true + }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", + "dev": true, + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" + } + }, + "node_modules/collect-v8-coverage": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", + "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", + "dev": true + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/constructs": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/constructs/-/constructs-10.3.0.tgz", + "integrity": "sha512-vbK8i3rIb/xwZxSpTjz3SagHn1qq9BChLEfy5Hf6fB3/2eFbrwt2n9kHwQcS0CPTRBesreeAcsJfMq2229FnbQ==", + "engines": { + "node": ">= 16.14.0" + } + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true + }, + "node_modules/create-jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz", + "integrity": "sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-config": "^29.7.0", + "jest-util": "^29.7.0", + "prompts": "^2.0.1" + }, + "bin": { + "create-jest": "bin/create-jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", + "dev": true + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/dedent": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.1.tgz", + "integrity": "sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==", + "dev": true, + "peerDependencies": { + "babel-plugin-macros": "^3.1.0" + }, + "peerDependenciesMeta": { + "babel-plugin-macros": { + "optional": true + } + } + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "dev": true, + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/diff-sequences": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", + "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", + "dev": true, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.4.569", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.569.tgz", + "integrity": "sha512-LsrJjZ0IbVy12ApW3gpYpcmHS3iRxH4bkKOW98y1/D+3cvDUWGcbzbsFinfUS8knpcZk/PG/2p/RnkMCYN7PVg==", + "dev": true + }, + "node_modules/emittery": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", + "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sindresorhus/emittery?sponsor=1" + } + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/expect": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz", + "integrity": "sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==", + "dev": true, + "dependencies": { + "@jest/expect-utils": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fast-xml-parser": { + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.2.5.tgz", + "integrity": "sha512-B9/wizE4WngqQftFPmdaMYlXoJlJOYxGQOanC77fq9k8+Z0v5dDSVh+3glErdIROP//s/jgb7ZuxKfB8nVyo0g==", + "funding": [ + { + "type": "paypal", + "url": "https://paypal.me/naturalintelligence" + }, + { + "type": "github", + "url": "https://github.com/sponsors/NaturalIntelligence" + } + ], + "dependencies": { + "strnum": "^1.0.5" + }, + "bin": { + "fxparser": "src/cli/cli.js" + } + }, + "node_modules/fb-watchman": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", + "dev": true, + "dependencies": { + "bser": "2.1.1" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "dev": true, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/hasown": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", + "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true + }, + "node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true, + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/import-local": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "dev": true, + "dependencies": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true + }, + "node_modules/is-core-module": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", + "dev": true, + "dependencies": { + "hasown": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/istanbul-lib-coverage": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", + "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.1.tgz", + "integrity": "sha512-EAMEJBsYuyyztxMxW3g7ugGPkrZsV57v0Hmv3mm1uQsmB+QnZuepg731CRaIgeUVSdmsTngOkSnauNF8p7FIhA==", + "dev": true, + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^7.5.4" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-instrument/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-instrument/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-instrument/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", + "dev": true, + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-source-maps": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-reports": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.6.tgz", + "integrity": "sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==", + "dev": true, + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest/-/jest-29.7.0.tgz", + "integrity": "sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==", + "dev": true, + "dependencies": { + "@jest/core": "^29.7.0", + "@jest/types": "^29.6.3", + "import-local": "^3.0.2", + "jest-cli": "^29.7.0" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/jest-changed-files": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.7.0.tgz", + "integrity": "sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==", + "dev": true, + "dependencies": { + "execa": "^5.0.0", + "jest-util": "^29.7.0", + "p-limit": "^3.1.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-circus": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.7.0.tgz", + "integrity": "sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==", + "dev": true, + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/expect": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^1.0.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^29.7.0", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "p-limit": "^3.1.0", + "pretty-format": "^29.7.0", + "pure-rand": "^6.0.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-cli": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.7.0.tgz", + "integrity": "sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==", + "dev": true, + "dependencies": { + "@jest/core": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "create-jest": "^29.7.0", + "exit": "^0.1.2", + "import-local": "^3.0.2", + "jest-config": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "yargs": "^17.3.1" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/jest-config": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.7.0.tgz", + "integrity": "sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==", + "dev": true, + "dependencies": { + "@babel/core": "^7.11.6", + "@jest/test-sequencer": "^29.7.0", + "@jest/types": "^29.6.3", + "babel-jest": "^29.7.0", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-circus": "^29.7.0", + "jest-environment-node": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-runner": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@types/node": "*", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/jest-diff": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", + "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^29.6.3", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-docblock": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.7.0.tgz", + "integrity": "sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==", + "dev": true, + "dependencies": { + "detect-newline": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-each": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.7.0.tgz", + "integrity": "sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "jest-get-type": "^29.6.3", + "jest-util": "^29.7.0", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-environment-node": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz", + "integrity": "sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==", + "dev": true, + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-get-type": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", + "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", + "dev": true, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-haste-map": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz", + "integrity": "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "jest-worker": "^29.7.0", + "micromatch": "^4.0.4", + "walker": "^1.0.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + } + }, + "node_modules/jest-leak-detector": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz", + "integrity": "sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==", + "dev": true, + "dependencies": { + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-matcher-utils": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz", + "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^29.7.0", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-message-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", + "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^29.6.3", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-mock": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz", + "integrity": "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-pnp-resolver": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", + "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", + "dev": true, + "engines": { + "node": ">=6" + }, + "peerDependencies": { + "jest-resolve": "*" + }, + "peerDependenciesMeta": { + "jest-resolve": { + "optional": true + } + } + }, + "node_modules/jest-regex-util": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz", + "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==", + "dev": true, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-resolve": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.7.0.tgz", + "integrity": "sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "resolve": "^1.20.0", + "resolve.exports": "^2.0.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-resolve-dependencies": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz", + "integrity": "sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==", + "dev": true, + "dependencies": { + "jest-regex-util": "^29.6.3", + "jest-snapshot": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-runner": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.7.0.tgz", + "integrity": "sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==", + "dev": true, + "dependencies": { + "@jest/console": "^29.7.0", + "@jest/environment": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^29.7.0", + "jest-environment-node": "^29.7.0", + "jest-haste-map": "^29.7.0", + "jest-leak-detector": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-resolve": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-util": "^29.7.0", + "jest-watcher": "^29.7.0", + "jest-worker": "^29.7.0", + "p-limit": "^3.1.0", + "source-map-support": "0.5.13" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-runner/node_modules/source-map-support": { + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/jest-runtime": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.7.0.tgz", + "integrity": "sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==", + "dev": true, + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/globals": "^29.7.0", + "@jest/source-map": "^29.6.3", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-mock": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-snapshot": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz", + "integrity": "sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==", + "dev": true, + "dependencies": { + "@babel/core": "^7.11.6", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-jsx": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/types": "^7.3.3", + "@jest/expect-utils": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^29.7.0", + "graceful-fs": "^4.2.9", + "jest-diff": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "natural-compare": "^1.4.0", + "pretty-format": "^29.7.0", + "semver": "^7.5.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-snapshot/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-snapshot/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/jest-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", + "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-validate": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz", + "integrity": "sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^29.6.3", + "leven": "^3.1.0", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-validate/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-watcher": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.7.0.tgz", + "integrity": "sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==", + "dev": true, + "dependencies": { + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "jest-util": "^29.7.0", + "string-length": "^4.0.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-worker": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", + "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", + "dev": true, + "dependencies": { + "@types/node": "*", + "jest-util": "^29.7.0", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true + }, + "node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", + "dev": true + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/make-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", + "dev": true, + "dependencies": { + "semver": "^7.5.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/make-dir/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/make-dir/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/make-dir/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true + }, + "node_modules/makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "dev": true, + "dependencies": { + "tmpl": "1.0.5" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "node_modules/node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", + "dev": true + }, + "node_modules/node-releases": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", + "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==", + "dev": true + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-locate/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "dev": true, + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "dev": true, + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/pure-rand": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.0.4.tgz", + "integrity": "sha512-LA0Y9kxMYv47GIPJy6MI84fqTd2HmYZI83W/kM/SkKfDlajnZYfmXFTxkbY+xSBPkLJxltMa9hIkmdc29eguMA==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/dubzzz" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fast-check" + } + ] + }, + "node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "dev": true, + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dev": true, + "dependencies": { + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve.exports": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", + "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true + }, + "node_modules/stack-utils": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "dev": true, + "dependencies": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/strnum": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz", + "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==" + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "dev": true, + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", + "dev": true + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/ts-jest": { + "version": "29.1.1", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.1.1.tgz", + "integrity": "sha512-D6xjnnbP17cC85nliwGiL+tpoKN0StpgE0TeOjXQTU6MVCfsB4v7aW05CgQ/1OywGb0x/oy9hHFnN+sczTiRaA==", + "dev": true, + "dependencies": { + "bs-logger": "0.x", + "fast-json-stable-stringify": "2.x", + "jest-util": "^29.0.0", + "json5": "^2.2.3", + "lodash.memoize": "4.x", + "make-error": "1.x", + "semver": "^7.5.3", + "yargs-parser": "^21.0.1" + }, + "bin": { + "ts-jest": "cli.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": ">=7.0.0-beta.0 <8", + "@jest/types": "^29.0.0", + "babel-jest": "^29.0.0", + "jest": "^29.0.0", + "typescript": ">=4.3 <6" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "@jest/types": { + "optional": true + }, + "babel-jest": { + "optional": true + }, + "esbuild": { + "optional": true + } + } + }, + "node_modules/ts-jest/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/ts-jest/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/ts-jest/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/ts-node": { + "version": "10.9.1", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", + "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", + "dev": true, + "dependencies": { + "@cspotcode/source-map-support": "^0.8.0", + "@tsconfig/node10": "^1.0.7", + "@tsconfig/node12": "^1.0.7", + "@tsconfig/node14": "^1.0.0", + "@tsconfig/node16": "^1.0.2", + "acorn": "^8.4.1", + "acorn-walk": "^8.1.1", + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "v8-compile-cache-lib": "^3.0.1", + "yn": "3.1.1" + }, + "bin": { + "ts-node": "dist/bin.js", + "ts-node-cwd": "dist/bin-cwd.js", + "ts-node-esm": "dist/bin-esm.js", + "ts-node-script": "dist/bin-script.js", + "ts-node-transpile-only": "dist/bin-transpile.js", + "ts-script": "dist/bin-script-deprecated.js" + }, + "peerDependencies": { + "@swc/core": ">=1.2.50", + "@swc/wasm": ">=1.2.50", + "@types/node": "*", + "typescript": ">=2.7" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "@swc/wasm": { + "optional": true + } + } + }, + "node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + }, + "node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typescript": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz", + "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", + "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/v8-compile-cache-lib": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", + "dev": true + }, + "node_modules/v8-to-istanbul": { + "version": "9.1.3", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.1.3.tgz", + "integrity": "sha512-9lDD+EVI2fjFsMWXc6dy5JJzBsVTcQ2fVkfBvncZ6xJWG9wtBhOldG+mHkSL0+V1K/xgZz0JDO5UT5hFwHUghg==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.12", + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^2.0.0" + }, + "engines": { + "node": ">=10.12.0" + } + }, + "node_modules/walker": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "dev": true, + "dependencies": { + "makeerror": "1.0.12" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "node_modules/write-file-atomic": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, + "node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + } +} diff --git a/price-monitor/package.json b/price-monitor/package.json new file mode 100644 index 0000000..0bcfa84 --- /dev/null +++ b/price-monitor/package.json @@ -0,0 +1,28 @@ +{ + "name": "episoder-price-monitor", + "version": "0.1.0", + "bin": { + "price-monitor": "bin/price-monitor.js" + }, + "scripts": { + "build": "tsc", + "watch": "tsc -w", + "test": "jest", + "cdk": "cdk" + }, + "devDependencies": { + "@types/jest": "^29.5.5", + "@types/node": "20.6.3", + "aws-cdk": "2.99.1", + "jest": "^29.7.0", + "ts-jest": "^29.1.1", + "ts-node": "^10.9.1", + "typescript": "~5.2.2" + }, + "dependencies": { + "@aws-sdk/client-pricing": "^3.438.0", + "aws-cdk-lib": "2.99.1", + "constructs": "^10.0.0", + "source-map-support": "^0.5.21" + } +} diff --git a/price-monitor/price-dashboard.png b/price-monitor/price-dashboard.png new file mode 100644 index 0000000000000000000000000000000000000000..554feae19c96eaf2ed9cdfae9af5658b118a1320 GIT binary patch literal 193095 zcmeFZWmr`0+As`)APv$|Dj-TD-5@H`N+aDO-OYeVNhwG-NH<8w&GJ07JZs zd*Aoo`*`;Ay?f)I_s6$~V~)AF)^)Bpud`zXy_J{5!F+&;goK16_2#7_5)!rp5)$gl zJv3mZDz~x(2?;aTOhV$Vl!U~?w|3ShW){XsNN<9oV$hW%C+~a1uCsaH-?^js!g}cL zoi`Y1esc*qpXtP&K0J`tb9zEBOr9=WtqqKH?xwWHG9j zI|7q&>1K@~>~bMQfqP9{41EWuT%G;w4}_NqNm^d0lOqYmwGuGg5gU88bHr@*_h%9_W2$W}8BvztuP4?-M){qDmpSj^PUe1(UOdb}iCLyPhy}esU%?3RL8; zxnAEsosWoSjO$4Yf66blL-ncPjrLoRbZzl>zkOsMd*+4S(|((XHbIZD8uEfz{x#bf z&rEkEl#4Y!@rADFjxM8sUJlV#T8FUq%|}C87zQNvVf;&H^%37~a)pEXqdWR#FoP49 znZ;i=QJVhveBOsB`QcPb_wv1{?#3!l%D9r-$lE_Tj-bf#Xu4z-?YQY^y&PVy4DM!7FxZ}csX$}eK@b`H;bSlwSLz)u zZ(MfNtT&dGO$61Ci4opn_-N_Pc1?Gs9^wRw^QhzSc)xgyUHK^~^}ez%N-8xanxr@d z-`zeRnS}?{7|>4vdiWvUq9@=QgmY8FPRR-ESws$E5>RiNfk_qWlgL4};T%-;68%VT26}=qK&>SQks2Y^m zus!0%zMJ9C(afhe5&Km3@e>NAz-OH!2J(8W22g|7?66Yxg8O4g<^jhYuMHzh^GoO_ z8YW0A7%E8xLz0>nZ5a6o6A4-IJDZJ{Fm3B>18huft88ei!(Hy{5L)}e+d3EgPCY#M z8wo&YAS}@@DRjRGj_%=p7P}MvRpu!@C7lDl75?jckuP1-kq3jwUdukQdZ>z@5JVb; z(pE)xUn;>!0rLsQn{6rLAGAMuemojtD7!Nm3whibLBGPXB4EdGCUVB&_hK-+TG8NX z+;^7mXx*;ehTW3nc_DGwn*I#s@>$YZDr?aYCXG)8$;?VlH5SPhH9H)W6lH9y_w3H? znEAtI-q$eJMA~`U5gsVJ%AARvah=^idws@q&`)H8d5%eqDdcy@4+V3b*gyAa9&XgD zRYhJ!JViD|$q(xB$f0sFS;WJ*!)_mzzhHg|CZ;8_C(0*MV8Ufg`+gKPA)PCoDJ>ZV zedei?+UQ;54c0sSw05_O#N(|_&Q2agjaAX=U1R=*hF{TAT10x8T&CRWH^%p)>fGww znvN-3uSR3A%&@3P?MO*jglhME9u$}qkfc{i?|M%;R$w^dII=l@JGVMM++ySY&ZWg2 z!R_=Ragc2I$43EkOfKgS$)g_fYCkwPbB{33@19pj$46I1zcdG{hL8QI^l_?oYIF)d zp`}X4m0%Dz4UmuNt1ika0z*H}KAA;#LlySdiI`(;uxh|NM?3#^o^UjMltTWLq6Fsv zJ02Si`ofoLM|>#BTFtz!bIA{%jC?&(xe#T*lP%>igQi?m6w#hso?vtKcLt=)cJhAto0x? zs+4#15PuUXM~tiq50DPvuMMluuZn7jZzb7``gC#s!*o!h&el z%c|?D*<6b1sp>fz3Be(v@eAMIM(;5XKC^XSQjd^PbRCjGmU;WkC21!~E9v49J$ojr zF(dc$3VNIrk{Bn&oQJXmI&a3`^h?2r;{q{X`7%+dLbdo=Pl(4&#K?P|PjQ<4vT@Kh zczP!P{QGL6O4Koj;A4b(m`51pKM-m*D!&r7r=|L-{9HO-ZnRq!-fO=*T$gPv#ep0mz8H*q)77c2x1zg6B9 z^<~2XBDr@g!P)vswT-Fvy~R5%or}!Rns&$NJv5A7u~QKxnb{+i4)dxzs*7Xp(^{3I zFtDw-rIgM1on>f+M1y$WTM<7d1EBw zUWJ5XIAZ}Lx*tl+KYUO&XSV#5KqqGyV1PF(wBuFXF!|FJ6s#z-Phj)XZsn}sR&-u) z%l+pz*|PefZNsv={96U0iWh}7h0B&wmcF}#yA2GU@=lI?PKl@OJ2ACN@3ZsdnUYzB zC4`i0OtviMCWGYPt@qdmt^3!hItUBVI9~PnEno?gda~&>uDEV`@RlQXjI(>Pi}J_Y~S!&06c$wl>=DS~bni zxi7-c5e5h}gzIHLG#@{ z4?^X&@7@8^eT|u{m>eDcF^os3+|B7D#C~V(FtcA$Cs0SWk@-U6DqOf2TbJs3__%+2 z`Q0*YaeHz0-1mAFS53IpeqB*eYEUO^cuv9V>3PmU=@sF!5`6tve@5h_u8l5Z;{(s# z(=~*p9;4+)={5p;lh?>Z={7I!AX#rArM^TFYrsIV-Q1BCrXAS1_9nk`9b~!=B`>|Z zV8ehUUW8Qb+*d|z5bc;$;a78KV(NXK{UHoeAi`o7fMnC-SblVb2yJG(d;N8i|BB7= z+WziP4oLI*?#p**&knz4B>=W-w6VIBiJTk~BQU;)bQk$P5(+Rv2L6zcA0XZRV~m6( zjZE?Pu_E%*KiAwrLJBZLLj7~id*Jux^A-34(0~4-MEE121OMFzzMoU?{Iwd}Ar)TPBq0|8U}$OVp#RXt(!$DKz(x4+A1efa@y#^b!J`}PuG7(UG`T9?A;6LHV9~>NP1lZV|ot;^o zIa#gkOxZa2`T5z{pR+xG&H}7pv3Ip{(05_6vZwvqN&Y&|OJjROJ2M*xGi$4dH|Nzi zuy%A1e*F06LVy4K?LLiN%>HpDEBikm3wS`bnNc$^Qq~&5^%>{qbCX zyPVL?$pqe-xfolhzcjN1Pz~Ig2qy<0pU@xI`IkfgxYNIZs@NObNmyF~kPagM*sMQ+ z|M}qm1pMQg8vnQ^$8+xI|9s7VI`mJVHxD78Xl!q7;dp~Y6)Q6b5diFeoBp3r8vg(j z;o#!>6X>63|0jg{{|fQXv;Px9!Ojdog#OK~iE#XRg@2y=bG;DT&F23TG5n3v{+IK^4dL&@SYJK#z9%T0Ws5Mqs=S&W?_b$HT%6 z7w=&8p;MJGA^xYR_wXNzc_Sg;xz&JEHgz9cFp`kqH(*ik{kU^SKgJ>;XmNT!~#rj{irvP?7nwV9Uyu(*|fJu73#fv8++KlgJe{b5^wJ?a%`x> z@1P19nJW2rkmTKjO@cqb;oF=Pc3Y~rxy^^Et(?DuB>dQBfGSMbtA~G!rcfPR(0-4S z)y2d*vC*6bZpQ$B+YxVX-2UG|l9(PE*1e6`<^_4l-=RnRfkpD)Vmyc*Koy*1Gn>DK zDu8KGeuonO%e4PF_y50PT6V!tQ+K1^f9x8_mC4>a2rmB2Vc0R^)g(KWZrl@{=D4k@ z@>NlLT}E{Vnu_v(eE!xo`KNTl_?_&i?gpd>Yg*X8lJ$815_ z!9?UWhFm;Xt{uOw$JHyo)bVDOEsO6YA3pTUngwY%_b1x-k-N>iSZ++@8eTn?#HRVy zNa~M6kz8CpWP|#E*NUjq5H6q-QJST%jcrt*n@DR#QjoB~();_Dtf@|uHF>l4RVdDB{g^#c-U zrOnhfiKYb!wdc{kn}{#;R@`s$%7>hKptLPQ=Ckn0lxIA10*^V5#2o?E_pa>_TPNtu zvvQr)5aQS=)7<%(%NBmq6q=>7#vaH8q@Zq2K)*GV=NH}CPI-STMKL(8hArRj8pYkO zuyXFPxthyarkcr?cNq8hd)mWV1MhD`d#DCZVGSpfoS;SbC!l$1&_x%Qrexy~=B+fD z54KMSxntfHKAE72MOM3-E>3rW8o&KLhwV9*qsILyo0g!?QG~bYsA<+XvT#r3$7ob7 z%f|LBL;!J5Wk#Y*VJH`5y z#%20s_eFuytq^)|%N9_iyO71io?A_p##tQyLepg{K>(FXh7z{wgvoTF zxdmrAY-bwoJ78Fs)bb?3^1kYOv-Z73bQ=FoYWK%&7?&EEGBJG`qgy7(K4e5=mD{8xGYvj%f?lf34Rfx&@B{syP#t@k#3P*}Bd>-ua2_5x)G9aOz8m zsNKz)L0FI1;+LMH_~h&XXJM?F2}G6+TpOO%&>>5(J6(mPX;I-i;T5nugfZ@y9gKj_ zITzbNC)Y_;6^74&y*CI)FLUDv70rVVcvQV_Z_s-@mG_}W=HZAozjpC@g#24C_J>LfiPyp3Lm z-1GT@u|dXdr%cB6Vb7sv&2>G2m$~uOAkFMh?5jC9mZG1q~ z5l*9f!aY7xqLP2s+7=`_I;ERvA!;`C!$WOfr!zIt`gI64I*prNqe#_IgL~D?$E0Zc zK7P{=gXykhf=*gdhoiZXAssB5mDn8ltruO#VGp8&1Y5yU$!XunS<3SbkYuV>;sqEy zWnBX@DtfzZ-5b`u^y=5CbU%yx4M(^}|Y@wCF~ygr^Nxj5+YCsxyX zRDV1+9rfI3`8IospTmB$sj(z66o?~S?K-C}=l#Qe(EvG~86k_3#q-6$3|y>32&aOV zu9fkDb!2NsxCk|C?ZT3l%HVVP?pcGL-rz0xjAshF(cV|aW83>jI_@w6rwLmGJAB4o zZBngze=<8IAb{q|+2vx80W&|p09K1&-DCsv0-Gc4X+;}$2@o)@X|k8oB=X}1+zoQ4 zIoD2h1Z8`b$4s^D;#?i9$5A)iIHpLuMN}T)PJF#ZRlk3puvoy^-$iMTU0HJ(rukyn zMD8%40ReSijHL~isdAol%r04bZ|>h7qs|NwLBI@QrL*!%#ECZjvvB`Qyq!20gL6w? zlHj`P@aooe)q6g~3`n(W&33k;Vb}tjluf|E? zoi3*ktG$0jX|r%;_OKHWhbq-f+Sj%h;ftHu$rx30cA9Gyou;ebm99xtbv-L0kWu&J zgbzc?Th~)Obw)rn#7xCycIrRMkq zw&rH1C@O;hJ@*+M3VPbs6ucYR6ipwa^_aQhDB{(wL3?Q@O{5p5a|i4fr-G=adQ=hH zfRm5SIr;UQMwDRE-5!+?Do!3P&*KX2Mzu1bZqFk7_1tZ{Gva70(?mzN4}iVX8X2+(|7rnD7@o-Z>l+G;X_eBHAxPOQjU$n`hZp z+8K20JnQaWeKEw;x*Q&biyIW#(=V_NDVf^JSKT)5HaRpZJ8l$)$0@#Bd*82v@SlZG z6dD0B&;&m5>tqBJ8+1LLyI9CO->s6}bFw?FhOrhHCBsr-6gbJpT62`n<^CcHCChes z`rUjMVIfvskT@&HTiO^YI{B0E$V#jpX{JIlk@JNNn?6@l;?SxRZS8TxhXWW4)TBH! zAABF+g(9;}TUE)CiFmkFZ}++9{nU1DaBQ(ImU{cFdwcKsMC=N|0T+|32mLQOvjT;ZIoC&sX8Bhk}ExO@Y z6xQ|ne7iKJCTI%AuCm4J0=#{k{Q|VEtO=_;*>2?J**gvW$(+oov|iWtDI_fKf5b&h zJu&FwdUJTa@@r2Y0ULV}smbPz;oTa(+(|zfbsn%t+lWCM0ePeQ zB+kU(p*HrxFVCz8oj$kn1vv|wmvtIis$X(_6* zOUfm+V`F(*HI&Me<1TSt&ED37ih4oACowHMlr{V9wPfD+eUI!s3rg1>)Xbi(y2Fm;e1*>&uf^}j z!i`KG$~Tr0-^McX(U4CyxFb+0TV~wW1?G;DygF2m0L z>)7>MK5vb_nm#6n5D3C5uDyndAOxNEEAIkGLpfF3bg!??mJ}Y+YtoP}RDJ`!2B?-zFV(uHW@cY5_ruCH!8%^QwixLK_pkLxHrZ!L(PF0ifXGNBmf zkEI=7j5jYNh}L$B8>oVz*W|frvNk{zkH^%s1->A23OmiDu?DP6ckJ*WcIwos(;&>u z$Cp~`=n(}%ai}~Fq8DFV@^W=x_DU(aB9${JhU}fxQcX&^2XYbmhU)j*2En>ucCVS! zy*5Gxm9D;Tf~;tPRFOtrQx@fNFUsj8x`6G?^kM1EYXD*T3NOL)+)k3TK+(72rSdGX zc2tM9uIm6ASM|_tj_nRP-e}%jXF#GaM#bpjz~>QSWb8J2ff_VR#e+1CM+BR0$AnaN z8{%o>Ug)aDMUH}K7)DW=)_|z;To=~AINjfbn)Jr|-DqbFN)3*-)PR<R9wtK5uEUV_e$qvxas9u9dU-Tyd z5RGn+z(4@F6e+0h?%s5=yuLX8u{@j_+TtX7b!vFJPHq~Yrt8X57#7*qFMM5)E;6oR zx@(5JaeB6{i>aVJ=2k@~(6+0NJ@(WzWPrYhz!X*>73XTcTU+ zDFNwzr+(uX2TtDW2#FigUA&q(cb@m8f!3{GrAt96EX(w(55D9NFIP=EZNC+!mB%)! zg~rbr-*sp+T^(pG<6LQbSWJe*W%O&n;l;(GBz1h4AaCQ$!6}%U;sh|hW=slu$Z`&v zF7f<|8y|e1>cFPem|u+@q;C}5y8njf95J}K#Z)ZUS+Zl-^O?*>v7ya*7$N24-*PY* zK(orLa6XNZX1m;RwmTzD*{PzYLn!j*xd3E7PvwC+VL7%6Tis5jeKimTkf7`tiOzK` z%1_yDT)C`Un=)T5S5}_ag*riu2oUjetI#?qPJVHzn@Ikz2|D(zB`j79!_E*KSOeTE z5Ts_8GS%^%%hkkQoSQ?P7OvrSw)!GCnq_E*tv6CHT-~5Dk*p-=KM!630*H(G#(I4k z(D1GUbzQL&=gpH}SC=aw<;ly_4291(fsXv*x-x0cnLxs;^(5;#0R``5&oGM?(q#8X zG!OzrxDS;z_*nitXxh(sUE7&)22$Lq7q%QO%mJPS95(&E)aJz_PKDm_RaKsOyK2eccCFWP?%i}TRVjf&;hi!+X4 zo${On7yUxFZ%eYJyfJiLPQT?vmP|7bWNl0od?6dz>l1|e$LM(QV?W?}ievO48nx&m zIs{z#@N?{4qf4AIxw<6J6aJPLQerQ+c?!$rBgYy}!7Wor%4v{Nn5s{Z@Yl za`q=#KG+iAtJ)F`jcs>Wx#`;H%UI-vufDig^Iiz;!pkE-k-SSVO>r%fW|y?EF@zb8E2 zhQBN+o%RS8gV`Eoc@6Q!j;c@2^M~MSMRHnwB8Z(wA~X%f;L;KS`v#Ge?E=C?=f1PW zbBZFIngzcC9`4b0y~>Hskf$8wy`_>=G^~wBEdwkVZXW?F_7qI_6`EL{y?fy&{%~JI zaDRpHfO=nq+VPabY;P>2`t|zlyeLYaoe!V8$#omTSB4ctv2?u#*&K9#Xug}LBGD@8 zL#Aqt47$`<{gTgy9hYDM58m**$fR|tc^W>gNn3^$F3 z7}0?UgUyi|rQ_MnlLYH}75Z4(@^?5Vy^J#Xnhd_QpdhM`+Fem53>>Pb^Vvgn4sx?ao z`Q4anff_7J#TRO990@Y2L6ahR=nf9hp_&5kFc%Pw$3hx@xd>4-OV!+C5BMegmBx#u zmE+i?jF};Na!J*o^@6L}AaUw`p+k!ayL^@}xIyHy=O>q`IgM`ZfdsU9YMJv0GUm}z zrTs(g5f=fqHbjJq!Rv4>c1bG`cH$Rg-t44z+%7CowowJ>#7r5mkyn3c@frV(IeRWHCl%5*H9>rYUO0@>MDBCub!H>N=9$V8Uv9 zWGX5_69rk&qTe+Mm0HY~K60POHxUTHFb#fQ_Y8aO7k4ZJ#vWk$(T+R0u}XqO1riUc zhO^e6NuSK-D%m#mDiDG&S52_YfN%<=Q9)?)bNa);2^+vQWBMqn8}Th`#!e<>x&>Fz zie@d=Fzn(H2UZ&pP)wTdE3DtU0JZ-5Mk|3W@GSc~rjW~duIY2U@M8^Rs?77Q9l8v= zje%mO$Eg|0-ZI!mU5p&Ta;ndWN1{fZ+{R~}VJP~&72}vaY+#Ed`D2{}uh7oEjr+a= zVIoTtZa7;x)DQxcu0FZvpf;qZez)@O^f8rX#X5V~8X}C!tBX78Zej=z;4yXfBfs9o z$&tR#kudR;i?UsUfvCOcEb3-?;(Bia>0_Fp*`veub=}W0tc}bb2m1_Xl^lD9MK$Z) z*6XUTL(h4t-v4AK#wK9+1U}i?HbW?mKR-y=F=rEy3i_fLxmJD$P1=FL>!Nfmgg!GY zzxcchEQbr9zZR=r%iDedv0=}U!S*(rDli)~3otbbd;0N6@>QCIDWd=#rPX}NxoDk841XvEp#v}6hLczOGUywb1^*LFSveTbBQzVzt)=&#T^Z(-vAd#ipo;mWln22hH0{=o4Qqv zaqCZ`Equtn>Fld@`db84l`C&dHjktW0WXLX2W|K1{xYY+@J|g_!q9x0i((m8taAEE z%*rXZ;H|nm3%0V2$BTL9tauH@b&qDerjs@s&(>4G(g`!KAp`I7+JZVXGJEe}t>kM~ znI-A6X_2c*fcyjEmqqu=NaV&B2#jxFWtoQd{EH*VFp434&$Bt&HfB@b*F-geR z`@R9v{3gjp0;;$)JVHk`xe9zodlKCOG8Po!XPhz~YVERA49OlZCX9wd55=k0>EgJ% zS$Y$A@vduk(gzCNtB&yF_`9QqZ)sR1!dYzPK*dl^>SQ-~mz04V zn;JKO+Uc#jemgOyGjSnYAl206`m%Ac6;A|n-ZMtnwaz%0AOF^+k5a^-uUl(6B*$#!$%5coNf+IYeB$174Pha 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

Rd!Ru>sd^T+k*Vr^Z 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 literal 0 HcmV?d00001 diff --git a/price-monitor/test/price-monitor.test.ts b/price-monitor/test/price-monitor.test.ts new file mode 100644 index 0000000..a75ed84 --- /dev/null +++ b/price-monitor/test/price-monitor.test.ts @@ -0,0 +1,15 @@ +import * as cdk from 'aws-cdk-lib' +import { Template } from 'aws-cdk-lib/assertions' +import * as PriceMonitor from '../lib/price-monitor-stack' + +test('Dashboard Created', () => { + const app = new cdk.App() + const stack = new PriceMonitor.PriceMonitorStack(app, 'MyTestStack', { + bedrockRegion: 'us-west-2', + modelId: 'anthropic.claude-v2' + }) + + const template = Template.fromStack(stack) + + template.hasResourceProperties('AWS::CloudWatch::Dashboard', {}) +}) diff --git a/price-monitor/tsconfig.json b/price-monitor/tsconfig.json new file mode 100644 index 0000000..aaa7dc5 --- /dev/null +++ b/price-monitor/tsconfig.json @@ -0,0 +1,31 @@ +{ + "compilerOptions": { + "target": "ES2020", + "module": "commonjs", + "lib": [ + "es2020", + "dom" + ], + "declaration": true, + "strict": true, + "noImplicitAny": true, + "strictNullChecks": true, + "noImplicitThis": true, + "alwaysStrict": true, + "noUnusedLocals": false, + "noUnusedParameters": false, + "noImplicitReturns": true, + "noFallthroughCasesInSwitch": false, + "inlineSourceMap": true, + "inlineSources": true, + "experimentalDecorators": true, + "strictPropertyInitialization": false, + "typeRoots": [ + "./node_modules/@types" + ] + }, + "exclude": [ + "node_modules", + "cdk.out" + ] +}