├── .gitignore ├── README.md ├── infra ├── lambda │ └── .gitignore ├── .gitignore ├── Pulumi.yaml ├── package.json ├── Pulumi.dev.yaml ├── shared.ts ├── tsconfig.json ├── test.ts ├── utils.ts ├── api.ts ├── index.ts └── package-lock.json ├── .cargo └── config.toml ├── _typos.toml ├── test.rest ├── Makefile ├── api ├── Cargo.toml └── src │ └── main.rs ├── Cargo.toml ├── .github └── workflows │ └── build.yml ├── CHANGELOG.md ├── .pre-commit-config.yaml ├── cliff.toml ├── deny.toml └── Cargo.lock /.gitignore: -------------------------------------------------------------------------------- 1 | /target 2 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Rust Lambda 2 | -------------------------------------------------------------------------------- /infra/lambda/.gitignore: -------------------------------------------------------------------------------- 1 | *.zip 2 | -------------------------------------------------------------------------------- /infra/.gitignore: -------------------------------------------------------------------------------- 1 | /bin/ 2 | /node_modules/ 3 | -------------------------------------------------------------------------------- /.cargo/config.toml: -------------------------------------------------------------------------------- 1 | [net] 2 | git-fetch-with-cli = true 3 | 4 | [build] 5 | target-dir = "target" 6 | -------------------------------------------------------------------------------- /infra/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: lambda 2 | runtime: nodejs 3 | description: A minimal AWS TypeScript Pulumi program 4 | -------------------------------------------------------------------------------- /_typos.toml: -------------------------------------------------------------------------------- 1 | [default.extend-words] 2 | Referer = "Referer" 3 | 4 | [files] 5 | extend-exclude = ["*/fixtures/*", "README.md"] 6 | ignore-files = true 7 | -------------------------------------------------------------------------------- /test.rest: -------------------------------------------------------------------------------- 1 | ### GET 2 | GET https://www.sigma.city 3 | 4 | ### POST 5 | POST https://www.sigma.city/users 6 | Content-Type: application/json 7 | 8 | { 9 | "username": "tyr" 10 | } 11 | -------------------------------------------------------------------------------- /infra/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "lambda", 3 | "main": "index.ts", 4 | "devDependencies": { 5 | "@types/node": "^16" 6 | }, 7 | "dependencies": { 8 | "@pulumi/pulumi": "^3.0.0", 9 | "@pulumi/aws": "^5.0.0", 10 | "@pulumi/awsx": "^1.0.0" 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /infra/Pulumi.dev.yaml: -------------------------------------------------------------------------------- 1 | config: 2 | aws:region: us-west-2 3 | lambda:cf-cert-arn: arn:aws:acm:us-east-1:559464001980:certificate/5c524976-b917-442a-a08e-67eca9736488 4 | lambda:cf-lambda-header: X-Proxy-Secret 5 | lambda:cf-lambda-secret: 6 | secure: AAABAHkfcG5jZIRN3Wrl634CeJ06LWWXLSDgbIv8tCLajerditfbHmC9logo2fTQU/W/MHxLQmZ6ZgU3J5WZfg== 7 | -------------------------------------------------------------------------------- /infra/shared.ts: -------------------------------------------------------------------------------- 1 | 2 | import * as aws from "@pulumi/aws"; 3 | 4 | // Create a bucket 5 | export const bucket = new aws.s3.BucketV2("lambda", { 6 | lifecycleRules: [{ 7 | id: "lambda-data-lifecycle", 8 | expirations: [{ 9 | days: 3, 10 | }], 11 | enabled: true, 12 | abortIncompleteMultipartUploadDays: 1, 13 | }] 14 | }); 15 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | test: 2 | @cargo nextest run 3 | 4 | deploy: 5 | @cd infra && pulumi up 6 | 7 | build-lambda: 8 | @cd api && cargo lambda build --release --arm64 --output-format zip && cp ../target/lambda/api/bootstrap.zip ../infra/lambda/lambda-api.zip 9 | 10 | 11 | release: 12 | @cargo release tag --execute 13 | @git cliff -o CHANGELOG.md 14 | @git commit -a -m "Update CHANGELOG.md" || true 15 | @git push origin master 16 | @cargo release push --execute 17 | 18 | .PHONY: test deploy release build-lambda 19 | -------------------------------------------------------------------------------- /infra/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "strict": true, 4 | "outDir": "bin", 5 | "target": "es2016", 6 | "module": "commonjs", 7 | "moduleResolution": "node", 8 | "sourceMap": true, 9 | "experimentalDecorators": true, 10 | "pretty": true, 11 | "noFallthroughCasesInSwitch": true, 12 | "noImplicitReturns": true, 13 | "forceConsistentCasingInFileNames": true 14 | }, 15 | "files": [ 16 | "index.ts" 17 | ] 18 | } 19 | -------------------------------------------------------------------------------- /api/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "api" 3 | version = "0.2.3" 4 | edition = "2021" 5 | 6 | [dependencies] 7 | anyhow = { workspace = true } 8 | aws-config = { workspace = true } 9 | aws-sdk-s3 = { workspace = true } 10 | axum = { version = "0.6.15", features = ["http2", "headers", "query"] } 11 | axum-aws-lambda = "0.4.0" 12 | better-qs = "2.3.1" 13 | bytes = { workspace = true } 14 | lambda_http = { workspace = true } 15 | lambda_runtime = { workspace = true } 16 | serde = { workspace = true, features = ["derive"] } 17 | serde_json = { workspace = true } 18 | tokio = { workspace = true } 19 | tower = "0.4.13" 20 | tower-http = { workspace = true } 21 | tracing = { workspace = true } 22 | tracing-subscriber = { workspace = true } 23 | -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- 1 | [workspace] 2 | members = [ 3 | # binary 4 | "api", 5 | ] 6 | 7 | [workspace.dependencies] 8 | anyhow = "1.0.69" 9 | aws-config = "0.55.0" 10 | aws-sdk-s3 = "0.26.0" 11 | bytes = "1.4.0" 12 | http = "0.2.9" 13 | hyper = { version = "0.14.24", features = ["full"] } 14 | lambda_http = "0.8.0" 15 | lambda_runtime = "0.8.0" 16 | reqwest = { version = "0.11.14", default-features = false, features = ["rustls-tls", "json", "gzip", "brotli", "deflate"] } 17 | serde = { version = "1.0.153", features = ["derive"] } 18 | serde_json = "1.0.94" 19 | tokio = { version = "1.26.0", features = ["rt", "rt-multi-thread", "macros"] } 20 | tower-http = { version = "0.4.0", features = ["compression-full", "cors", "trace"] } 21 | tracing = "0.1.37" 22 | tracing-subscriber = "0.3.16" 23 | -------------------------------------------------------------------------------- /infra/test.ts: -------------------------------------------------------------------------------- 1 | import * as aws from "@pulumi/aws"; 2 | 3 | // Create an S3 bucket for apps 4 | export const testBucket = new aws.s3.BucketV2("lambda-test", { 5 | bucket: "lambda-data-test", 6 | lifecycleRules: [{ 7 | id: "lambda-test-lifecycle", 8 | expirations: [{ 9 | days: 1, 10 | }], 11 | enabled: true, 12 | abortIncompleteMultipartUploadDays: 1, 13 | }] 14 | }); 15 | 16 | // create a user for test purposes 17 | export const testUser = new aws.iam.User("lambda-test-user", { 18 | name: "lambda-test-user", 19 | path: "/", 20 | }, { 21 | protect: false 22 | }); 23 | 24 | // allow s3 access for test user 25 | export const testUserPolicy = new aws.iam.UserPolicy("lambda-test-user-policy", { 26 | user: testUser.name, 27 | policy: { 28 | Version: "2012-10-17", 29 | Statement: [{ 30 | Effect: "Allow", 31 | Action: [ 32 | "s3:*", 33 | ], 34 | Resource: [ 35 | testBucket.bucket.apply(name => `arn:aws:s3:::${name}/*`), 36 | ] 37 | }] 38 | } 39 | }); 40 | -------------------------------------------------------------------------------- /infra/utils.ts: -------------------------------------------------------------------------------- 1 | 2 | import * as pulumi from "@pulumi/pulumi"; 3 | import * as aws from "@pulumi/aws"; 4 | import * as fs from "fs"; 5 | 6 | export function createLambdaRole(name: string) { 7 | return new aws.iam.Role(name, { 8 | assumeRolePolicy: JSON.stringify({ 9 | Version: "2012-10-17", 10 | Statement: [{ 11 | Action: "sts:AssumeRole", 12 | Principal: { 13 | Service: "lambda.amazonaws.com", 14 | }, 15 | Effect: "Allow", 16 | Sid: "", 17 | 18 | }], 19 | }) 20 | }); 21 | } 22 | 23 | export function createLambda(asset_name: string, role: aws.iam.Role, policy: aws.iam.RolePolicy, variables: any) { 24 | return new aws.lambda.Function(asset_name, { 25 | code: new pulumi.asset.FileArchive(`lambda/${asset_name}.zip`), 26 | handler: "bootstrap", 27 | runtime: aws.lambda.Runtime.CustomAL2, 28 | memorySize: 128, 29 | architectures: ["arm64"], 30 | role: role.arn, 31 | tracingConfig: { 32 | mode: "Active", 33 | }, 34 | environment: { 35 | variables, 36 | } 37 | }, { 38 | dependsOn: [policy] 39 | }); 40 | } 41 | 42 | export function loadCfFunctionCode(name: string) { 43 | let content = fs.readFileSync(`functions/${name}`, "utf8"); 44 | return content; 45 | } 46 | -------------------------------------------------------------------------------- /.github/workflows/build.yml: -------------------------------------------------------------------------------- 1 | name: build 2 | 3 | on: 4 | push: 5 | branches: 6 | - master 7 | pull_request: 8 | branches: 9 | - master 10 | 11 | jobs: 12 | build-rust: 13 | strategy: 14 | matrix: 15 | platform: [ubuntu-latest] 16 | runs-on: ${{ matrix.platform }} 17 | steps: 18 | - uses: actions/checkout@v3 19 | with: 20 | fetch-depth: 0 21 | - name: Install Rust 22 | run: rustup toolchain install stable --component llvm-tools-preview 23 | - name: Install cargo-llvm-cov 24 | uses: taiki-e/install-action@cargo-llvm-cov 25 | - name: install nextest 26 | uses: taiki-e/install-action@nextest 27 | - uses: Swatinem/rust-cache@v1 28 | - name: Check code format 29 | run: cargo fmt -- --check 30 | - name: Check the package for errors 31 | run: cargo check --all 32 | - name: Lint rust sources 33 | run: cargo clippy --all-targets --all-features --tests --benches -- -D warnings 34 | - name: run nextest 35 | run: CELLA_ENV=test cargo nextest run --all-targets --all-features 36 | env: 37 | AWS_DEFAULT_REGION: us-west-2 38 | AWS_REGION: us-west-2 39 | AWS_ACCESS_KEY_ID: AKIAYEQVHGG6KXQ4SB4A 40 | AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} 41 | BUILDER_BUCKET: lambda-data-test 42 | -------------------------------------------------------------------------------- /infra/api.ts: -------------------------------------------------------------------------------- 1 | 2 | import * as aws from "@pulumi/aws"; 3 | import { createLambdaRole, createLambda, loadCfFunctionCode } from "./utils"; 4 | import * as fs from "fs"; 5 | import { bucket } from "./shared"; 6 | 7 | // create lambda role 8 | const apiRole = createLambdaRole("api-lambda-role"); 9 | 10 | // create lambda role policy 11 | const apiPolicy = new aws.iam.RolePolicy("api-lambda-role-policy", { 12 | role: apiRole, 13 | policy: { 14 | Version: "2012-10-17", 15 | Statement: [{ 16 | Effect: "Allow", 17 | Action: [ 18 | "s3:Put*", 19 | "s3:Get*", 20 | "s3:List*" 21 | ], 22 | Resource: [ 23 | bucket.bucket.apply(name => `arn:aws:s3:::${name}/*`), 24 | ] 25 | }, { 26 | Effect: "Allow", 27 | Action: [ 28 | "logs:CreateLogGroup", 29 | "logs:CreateLogStream", 30 | "logs:PutLogEvents" 31 | ], 32 | Resource: "arn:aws:logs:*:*:*" 33 | }] 34 | } 35 | }); 36 | 37 | // create lambda functions 38 | const apiLambda = createLambda("lambda-api", apiRole, apiPolicy, {}); 39 | 40 | // create lambda function url 41 | const apiUrl = new aws.lambda.FunctionUrl("lambda-api-url", { 42 | functionName: apiLambda.arn, 43 | authorizationType: "NONE", 44 | cors: { 45 | allowOrigins: ["*"], 46 | } 47 | }); 48 | 49 | // allow function invoke 50 | new aws.lambda.Permission("with-api-public-invoke", { 51 | action: "lambda:InvokeFunctionUrl", 52 | function: apiLambda, 53 | principal: "*", 54 | functionUrlAuthType: "NONE" 55 | }); 56 | 57 | export const api = { 58 | url: apiUrl.functionUrl, 59 | lambda: apiLambda, 60 | } 61 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Changelog 2 | 3 | All notable changes to this project will be documented in this file. 4 | 5 | ## [builder-v0.2.3] - 2023-03-16 6 | 7 | [5eb0398](5eb03988c97fe52bd82b5cd2309875c215383129)...[feab4c6](feab4c69e7ca9002d1c9f9209ab16f21b290e2a2) 8 | 9 | ### Features 10 | 11 | - Add content limit for webott platforms ([18e872e](18e872efd56b12680331242a29a693f842f4e991) - 2023-03-15 by Tyr Chen) 12 | - Introduce json patch and refactor the code ([ead811a](ead811a022afa23c3c9f1e7ec8939b1917c2c193) - 2023-03-16 by Tyr Chen) 13 | 14 | ## [builder-v0.2.2] - 2023-03-13 15 | 16 | [7e3d63f](7e3d63facb68aad892e5526e77672d6997580abe)...[5eb0398](5eb03988c97fe52bd82b5cd2309875c215383129) 17 | 18 | ### Features 19 | 20 | - Support valid duration ([5eb0398](5eb03988c97fe52bd82b5cd2309875c215383129) - 2023-03-13 by Tyr Chen) 21 | 22 | ## [builder-v0.2.1] - 2023-03-13 23 | 24 | [46e48a3](46e48a32c8ffee872ac0b88f4213b8b33c2ad2b3)...[7e3d63f](7e3d63facb68aad892e5526e77672d6997580abe) 25 | 26 | ### Features 27 | 28 | - Support scheduler ([7e3d63f](7e3d63facb68aad892e5526e77672d6997580abe) - 2023-03-13 by Tyr Chen) 29 | 30 | ## [builder-v0.2.0] - 2023-03-12 31 | 32 | ### Bug Fixes 33 | 34 | - Add cookie to whitelist headers ([46e48a3](46e48a32c8ffee872ac0b88f4213b8b33c2ad2b3) - 2023-03-12 by Tyr Chen) 35 | 36 | ### Features 37 | 38 | - Support builder ([648d258](648d25817f0881c14bc03696a42e2bf0fa26ba7a) - 2023-03-11 by Tyr Chen) 39 | - Add homescreen test ([3b850b1](3b850b1685e1d7f04d7069510212f8c7732c433d) - 2023-03-11 by Tyr Chen) 40 | - Add test user and fix country display ([e33f755](e33f7555b131b5debb72db90d2a8cfefa653ca4a) - 2023-03-12 by Tyr Chen) 41 | - Support real api (use s3 data) ([1a4b302](1a4b302a3328ebc9b369a57c1661449e2347ddb4) - 2023-03-12 by Tyr Chen) 42 | 43 | ### Miscellaneous Tasks 44 | 45 | - Add changelog ([86a7405](86a7405f97bde9c36b652951bf36c882c202503a) - 2023-03-12 by Tyr Chen) 46 | 47 | 48 | -------------------------------------------------------------------------------- /.pre-commit-config.yaml: -------------------------------------------------------------------------------- 1 | fail_fast: false 2 | repos: 3 | - repo: https://github.com/pre-commit/pre-commit-hooks 4 | rev: v4.3.0 5 | hooks: 6 | - id: check-byte-order-marker 7 | - id: check-case-conflict 8 | - id: check-merge-conflict 9 | - id: check-symlinks 10 | - id: check-yaml 11 | - id: end-of-file-fixer 12 | - id: mixed-line-ending 13 | - id: trailing-whitespace 14 | - repo: https://github.com/psf/black 15 | rev: 22.10.0 16 | hooks: 17 | - id: black 18 | - repo: local 19 | hooks: 20 | - id: cargo-fmt 21 | name: cargo fmt 22 | description: Format files with rustfmt. 23 | entry: bash -c 'cargo fmt -- --check' 24 | language: rust 25 | files: \.rs$ 26 | args: [] 27 | - id: cargo-deny 28 | name: cargo deny check 29 | description: Check cargo dependencies 30 | entry: bash -c 'cargo deny check -d' 31 | language: rust 32 | files: \.rs$ 33 | args: [] 34 | - id: typos 35 | name: typos 36 | description: check typo 37 | entry: bash -c 'typos' 38 | language: rust 39 | files: \.*$ 40 | pass_filenames: false 41 | - id: cargo-check 42 | name: cargo check 43 | description: Check the package for errors. 44 | entry: bash -c 'cargo check --all' 45 | language: rust 46 | files: \.rs$ 47 | pass_filenames: false 48 | - id: cargo-clippy 49 | name: cargo clippy 50 | description: Lint rust sources 51 | entry: bash -c 'cargo clippy --all-targets --all-features --tests --benches -- -D warnings' 52 | language: rust 53 | files: \.rs$ 54 | pass_filenames: false 55 | - id: cargo-test 56 | name: cargo test 57 | description: unit test for the project 58 | entry: bash -c 'BUILDER_BUCKET=lambda-data-test cargo nextest run --all-features' 59 | language: rust 60 | files: \.rs$ 61 | pass_filenames: false 62 | -------------------------------------------------------------------------------- /api/src/main.rs: -------------------------------------------------------------------------------- 1 | use axum::{ 2 | http::StatusCode, 3 | routing::{get, post}, 4 | Json, Router, 5 | }; 6 | use lambda_http::Error; 7 | use serde::{Deserialize, Serialize}; 8 | 9 | use tower_http::trace::{DefaultOnRequest, DefaultOnResponse, TraceLayer}; 10 | use tracing::Level; 11 | 12 | #[tokio::main] 13 | async fn main() -> Result<(), Error> { 14 | tracing_subscriber::fmt() 15 | .without_time() 16 | .with_ansi(false) 17 | .init(); 18 | 19 | let layer = TraceLayer::new_for_http() 20 | .on_request(DefaultOnRequest::new().level(Level::INFO)) 21 | .on_response(DefaultOnResponse::new().level(Level::INFO)); 22 | 23 | let app = Router::new() 24 | .route("/", get(root)) 25 | .route("/users", post(create_user)) 26 | .layer(layer); 27 | 28 | #[cfg(debug_assertions)] 29 | { 30 | let addr = std::net::SocketAddr::from(([127, 0, 0, 1], 3000)); 31 | axum::Server::bind(&addr) 32 | .serve(app.into_make_service()) 33 | .await 34 | .unwrap(); 35 | } 36 | 37 | // If we compile in release mode, use the Lambda Runtime 38 | #[cfg(not(debug_assertions))] 39 | { 40 | // To run with AWS Lambda runtime, wrap in our `LambdaLayer` 41 | let app = tower::ServiceBuilder::new() 42 | .layer(axum_aws_lambda::LambdaLayer::default()) 43 | .service(app); 44 | 45 | lambda_http::run(app).await.unwrap(); 46 | } 47 | Ok(()) 48 | } 49 | 50 | // basic handler that responds with a static string 51 | async fn root() -> &'static str { 52 | #[cfg(debug_assertions)] 53 | { 54 | "This is from local!" 55 | } 56 | #[cfg(not(debug_assertions))] 57 | { 58 | "This is from lambda!" 59 | } 60 | } 61 | 62 | async fn create_user(Json(payload): Json) -> (StatusCode, Json) { 63 | // insert your application logic here 64 | let user = User { 65 | id: 1337, 66 | username: payload.username, 67 | }; 68 | 69 | // this will be converted into a JSON response 70 | // with a status code of `201 Created` 71 | (StatusCode::CREATED, Json(user)) 72 | } 73 | 74 | // the input to our `create_user` handler 75 | #[derive(Deserialize)] 76 | struct CreateUser { 77 | username: String, 78 | } 79 | 80 | // the output to our `create_user` handler 81 | #[derive(Serialize)] 82 | struct User { 83 | id: u64, 84 | username: String, 85 | } 86 | -------------------------------------------------------------------------------- /cliff.toml: -------------------------------------------------------------------------------- 1 | [changelog] 2 | # changelog header 3 | header = """ 4 | # Changelog\n 5 | All notable changes to this project will be documented in this file.\n 6 | """ 7 | # template for the changelog body 8 | # https://tera.netlify.app/docs/#introduction 9 | body = """ 10 | {% if version %}\ 11 | ## [{{ version | trim_start_matches(pat="v") }}] - {{ timestamp | date(format="%Y-%m-%d") }} 12 | {% else %}\ 13 | ## [unreleased] 14 | {% endif %}\ 15 | {% if previous %}\ 16 | {% if previous.commit_id %} 17 | [{{ previous.commit_id | truncate(length=7, end="") }}]({{ previous.commit_id }})...\ 18 | [{{ commit_id | truncate(length=7, end="") }}]({{ commit_id }}) 19 | {% endif %}\ 20 | {% endif %}\ 21 | {% for group, commits in commits | group_by(attribute="group") %} 22 | ### {{ group | upper_first }} 23 | {% for commit in commits %} 24 | - {{ commit.message | upper_first }} ([{{ commit.id | truncate(length=7, end="") }}]({{ commit.id }}) - {{ commit.author.timestamp | date }} by {{ commit.author.name }})\ 25 | {% for footer in commit.footers -%} 26 | , {{ footer.token }}{{ footer.separator }}{{ footer.value }}\ 27 | {% endfor %}\ 28 | {% endfor %} 29 | {% endfor %}\n 30 | """ 31 | # remove the leading and trailing whitespace from the template 32 | trim = true 33 | # changelog footer 34 | footer = """ 35 | 36 | """ 37 | 38 | [git] 39 | # parse the commits based on https://www.conventionalcommits.org 40 | conventional_commits = true 41 | # filter out the commits that are not conventional 42 | filter_unconventional = true 43 | # process each line of a commit as an individual commit 44 | split_commits = false 45 | # regex for parsing and grouping commits 46 | commit_parsers = [ 47 | { message = "^feat", group = "Features"}, 48 | { message = "^fix", group = "Bug Fixes"}, 49 | { message = "^doc", group = "Documentation"}, 50 | { message = "^perf", group = "Performance"}, 51 | { message = "^refactor", group = "Refactor"}, 52 | { message = "^style", group = "Styling"}, 53 | { message = "^test", group = "Testing"}, 54 | { message = "^chore\\(release\\): prepare for", skip = true}, 55 | { message = "^chore", group = "Miscellaneous Tasks"}, 56 | { body = ".*security", group = "Security"}, 57 | ] 58 | # protect breaking changes from being skipped due to matching a skipping commit_parser 59 | protect_breaking_commits = false 60 | # filter out the commits that are not matched by commit parsers 61 | filter_commits = false 62 | # glob pattern for matching git tags 63 | tag_pattern = "builder*" 64 | # regex for skipping tags 65 | skip_tags = "v0.1.0-beta.1" 66 | # regex for ignoring tags 67 | ignore_tags = "" 68 | # sort the tags chronologically 69 | date_order = false 70 | # sort the commits inside sections by oldest/newest order 71 | sort_commits = "oldest" 72 | -------------------------------------------------------------------------------- /infra/index.ts: -------------------------------------------------------------------------------- 1 | import * as pulumi from "@pulumi/pulumi"; 2 | import * as aws from "@pulumi/aws"; 3 | import { api } from "./api"; 4 | // import { bucket } from "./shared"; 5 | // import * as test from "./test"; 6 | 7 | 8 | const cdnLogs = new aws.s3.BucketV2("lambda-logs", { 9 | acl: "log-delivery-write", 10 | }); 11 | 12 | // const oac = new aws.cloudfront.OriginAccessControl("s3oac", { 13 | // description: "allow s3 access", 14 | // originAccessControlOriginType: "s3", 15 | // signingBehavior: "always", 16 | // signingProtocol: "sigv4", 17 | // }); 18 | 19 | // const rewriteFn = new aws.cloudfront.Function("rewrite-url", { 20 | // runtime: "cloudfront-js-1.0", 21 | // comment: "rewrite path for s3 origin", 22 | // publish: true, 23 | // code: loadCfFunctionCode("rewrite.js"), 24 | // }); 25 | 26 | 27 | const cachePolicy = new aws.cloudfront.CachePolicy("cella-cclr-cdn-cache-policy", { 28 | defaultTtl: 120, 29 | maxTtl: 86400, 30 | minTtl: 0, 31 | parametersInCacheKeyAndForwardedToOrigin: { 32 | cookiesConfig: { 33 | cookieBehavior: "whitelist", 34 | cookies: { 35 | items: ["id"], // this is just an example of the whitelisted cookie 36 | }, 37 | }, 38 | headersConfig: { 39 | headerBehavior: "whitelist", 40 | headers: { 41 | items: ["Authorization"], 42 | } 43 | }, 44 | queryStringsConfig: { 45 | queryStringBehavior: "all", 46 | }, 47 | }, 48 | }); 49 | 50 | const originReqPolicy = new aws.cloudfront.OriginRequestPolicy("lambda-cdn-origin-request-policy", { 51 | comment: "origin request policy", 52 | headersConfig: { 53 | headerBehavior: "whitelist", 54 | headers: { 55 | items: ["Origin", "Referer", "Accept", "Accept-Language", "User-Agent", "CloudFront-Viewer-Address", "CloudFront-Viewer-Country", "X-Api-Outage", "Authority"], 56 | } 57 | }, 58 | cookiesConfig: { 59 | cookieBehavior: "all", 60 | }, 61 | queryStringsConfig: { 62 | queryStringBehavior: "all", 63 | } 64 | }); 65 | 66 | const cfg = new pulumi.Config(); 67 | let apiDomain = api.url.apply(url => url.replace("https://", "").replace("/", "")); 68 | const cdn = new aws.cloudfront.Distribution("lambda-cdn", { 69 | enabled: true, 70 | aliases: ["*.sigma.city"], 71 | origins: [{ 72 | originId: "api", 73 | domainName: apiDomain, 74 | customOriginConfig: { 75 | originProtocolPolicy: "https-only", 76 | httpPort: 80, 77 | httpsPort: 443, 78 | originSslProtocols: ["TLSv1.2"], 79 | }, 80 | customHeaders: [{ 81 | name: cfg.require("cf-lambda-header"), 82 | value: cfg.require("cf-lambda-secret"), 83 | }], 84 | }], 85 | 86 | defaultCacheBehavior: { 87 | targetOriginId: "api", 88 | compress: true, 89 | viewerProtocolPolicy: "redirect-to-https", 90 | allowedMethods: [ 91 | "GET", 92 | "POST", 93 | "PUT", 94 | "PATCH", 95 | "DELETE", 96 | "HEAD", 97 | "OPTIONS", 98 | ], 99 | cachedMethods: [ 100 | "GET", 101 | "HEAD", 102 | "OPTIONS", 103 | ], 104 | cachePolicyId: cachePolicy.id, 105 | originRequestPolicyId: originReqPolicy.id, 106 | }, 107 | 108 | loggingConfig: { 109 | bucket: cdnLogs.bucketDomainName, 110 | includeCookies: true, 111 | prefix: "lambda-cdn/", 112 | }, 113 | 114 | priceClass: "PriceClass_100", 115 | customErrorResponses: [{ 116 | errorCode: 404, 117 | responseCode: 404, 118 | responsePagePath: `/error.html`, 119 | }], 120 | restrictions: { 121 | geoRestriction: { 122 | restrictionType: "none", 123 | }, 124 | }, 125 | viewerCertificate: { 126 | cloudfrontDefaultCertificate: false, 127 | acmCertificateArn: cfg.require("cf-cert-arn"), 128 | sslSupportMethod: "sni-only", 129 | minimumProtocolVersion: "TLSv1.2_2021", 130 | 131 | }, 132 | httpVersion: "http2and3", 133 | }); 134 | 135 | // Exports 136 | // export const bucketName = bucket.id; 137 | export const cndLogName = cdnLogs.id; 138 | export const cdnDomainName = cdn.domainName; 139 | export const lambdaApiUrl = api.url; 140 | 141 | // export test assets 142 | // export const testBucketName = test.testBucket.id; 143 | // export const testUser = test.testUser; 144 | -------------------------------------------------------------------------------- /deny.toml: -------------------------------------------------------------------------------- 1 | # This template contains all of the possible sections and their default values 2 | 3 | # Note that all fields that take a lint level have these possible values: 4 | # * deny - An error will be produced and the check will fail 5 | # * warn - A warning will be produced, but the check will not fail 6 | # * allow - No warning or error will be produced, though in some cases a note 7 | # will be 8 | 9 | # The values provided in this template are the default values that will be used 10 | # when any section or field is not specified in your own configuration 11 | 12 | # If 1 or more target triples (and optionally, target_features) are specified, 13 | # only the specified targets will be checked when running `cargo deny check`. 14 | # This means, if a particular package is only ever used as a target specific 15 | # dependency, such as, for example, the `nix` crate only being used via the 16 | # `target_family = "unix"` configuration, that only having windows targets in 17 | # this list would mean the nix crate, as well as any of its exclusive 18 | # dependencies not shared by any other crates, would be ignored, as the target 19 | # list here is effectively saying which targets you are building for. 20 | targets = [ 21 | # The triple can be any string, but only the target triples built in to 22 | # rustc (as of 1.40) can be checked against actual config expressions 23 | #{ triple = "x86_64-unknown-linux-musl" }, 24 | # You can also specify which target_features you promise are enabled for a 25 | # particular target. target_features are currently not validated against 26 | # the actual valid features supported by the target architecture. 27 | #{ triple = "wasm32-unknown-unknown", features = ["atomics"] }, 28 | ] 29 | 30 | # This section is considered when running `cargo deny check advisories` 31 | # More documentation for the advisories section can be found here: 32 | # https://embarkstudios.github.io/cargo-deny/checks/advisories/cfg.html 33 | [advisories] 34 | # The path where the advisory database is cloned/fetched into 35 | db-path = "~/.cargo/advisory-db" 36 | # The url(s) of the advisory databases to use 37 | db-urls = ["https://github.com/rustsec/advisory-db"] 38 | # The lint level for security vulnerabilities 39 | vulnerability = "deny" 40 | # The lint level for unmaintained crates 41 | unmaintained = "warn" 42 | # The lint level for crates that have been yanked from their source registry 43 | yanked = "warn" 44 | # The lint level for crates with security notices. Note that as of 45 | # 2019-12-17 there are no security notice advisories in 46 | # https://github.com/rustsec/advisory-db 47 | notice = "warn" 48 | # A list of advisory IDs to ignore. Note that ignored advisories will still 49 | # output a note when they are encountered. 50 | ignore = [ 51 | #"RUSTSEC-0000-0000", 52 | "RUSTSEC-2020-0071", 53 | ] 54 | # Threshold for security vulnerabilities, any vulnerability with a CVSS score 55 | # lower than the range specified will be ignored. Note that ignored advisories 56 | # will still output a note when they are encountered. 57 | # * None - CVSS Score 0.0 58 | # * Low - CVSS Score 0.1 - 3.9 59 | # * Medium - CVSS Score 4.0 - 6.9 60 | # * High - CVSS Score 7.0 - 8.9 61 | # * Critical - CVSS Score 9.0 - 10.0 62 | #severity-threshold = 63 | 64 | # This section is considered when running `cargo deny check licenses` 65 | # More documentation for the licenses section can be found here: 66 | # https://embarkstudios.github.io/cargo-deny/checks/licenses/cfg.html 67 | [licenses] 68 | # The lint level for crates which do not have a detectable license 69 | unlicensed = "allow" 70 | # List of explicitly allowed licenses 71 | # See https://spdx.org/licenses/ for list of possible licenses 72 | # [possible values: any SPDX 3.7 short identifier (+ optional exception)]. 73 | allow = [ 74 | "MIT", 75 | "Apache-2.0", 76 | "Apache-2.0 WITH LLVM-exception", 77 | "BSD-3-Clause", 78 | "MPL-2.0", 79 | "ISC", 80 | "Unicode-DFS-2016" 81 | ] 82 | # List of explicitly disallowed licenses 83 | # See https://spdx.org/licenses/ for list of possible licenses 84 | # [possible values: any SPDX 3.7 short identifier (+ optional exception)]. 85 | deny = [ 86 | #"Nokia", 87 | ] 88 | # Lint level for licenses considered copyleft 89 | copyleft = "warn" 90 | # Blanket approval or denial for OSI-approved or FSF Free/Libre licenses 91 | # * both - The license will be approved if it is both OSI-approved *AND* FSF 92 | # * either - The license will be approved if it is either OSI-approved *OR* FSF 93 | # * osi-only - The license will be approved if is OSI-approved *AND NOT* FSF 94 | # * fsf-only - The license will be approved if is FSF *AND NOT* OSI-approved 95 | # * neither - This predicate is ignored and the default lint level is used 96 | allow-osi-fsf-free = "neither" 97 | # Lint level used when no other predicates are matched 98 | # 1. License isn't in the allow or deny lists 99 | # 2. License isn't copyleft 100 | # 3. License isn't OSI/FSF, or allow-osi-fsf-free = "neither" 101 | default = "deny" 102 | # The confidence threshold for detecting a license from license text. 103 | # The higher the value, the more closely the license text must be to the 104 | # canonical license text of a valid SPDX license file. 105 | # [possible values: any between 0.0 and 1.0]. 106 | confidence-threshold = 0.8 107 | # Allow 1 or more licenses on a per-crate basis, so that particular licenses 108 | # aren't accepted for every possible crate as with the normal allow list 109 | exceptions = [ 110 | # Each entry is the crate and version constraint, and its specific allow 111 | # list 112 | #{ allow = ["Zlib"], name = "adler32", version = "*" }, 113 | ] 114 | 115 | # Some crates don't have (easily) machine readable licensing information, 116 | # adding a clarification entry for it allows you to manually specify the 117 | # licensing information 118 | #[[licenses.clarify]] 119 | # The name of the crate the clarification applies to 120 | #name = "ring" 121 | # The optional version constraint for the crate 122 | #version = "*" 123 | # The SPDX expression for the license requirements of the crate 124 | #expression = "MIT AND ISC AND OpenSSL" 125 | # One or more files in the crate's source used as the "source of truth" for 126 | # the license expression. If the contents match, the clarification will be used 127 | # when running the license check, otherwise the clarification will be ignored 128 | # and the crate will be checked normally, which may produce warnings or errors 129 | # depending on the rest of your configuration 130 | #license-files = [ 131 | # Each entry is a crate relative path, and the (opaque) hash of its contents 132 | #{ path = "LICENSE", hash = 0xbd0eed23 } 133 | #] 134 | 135 | [licenses.private] 136 | # If true, ignores workspace crates that aren't published, or are only 137 | # published to private registries 138 | ignore = false 139 | # One or more private registries that you might publish crates to, if a crate 140 | # is only published to private registries, and ignore is true, the crate will 141 | # not have its license(s) checked 142 | registries = [ 143 | #"https://sekretz.com/registry 144 | ] 145 | 146 | # This section is considered when running `cargo deny check bans`. 147 | # More documentation about the 'bans' section can be found here: 148 | # https://embarkstudios.github.io/cargo-deny/checks/bans/cfg.html 149 | [bans] 150 | # Lint level for when multiple versions of the same crate are detected 151 | multiple-versions = "warn" 152 | # Lint level for when a crate version requirement is `*` 153 | wildcards = "allow" 154 | # The graph highlighting used when creating dotgraphs for crates 155 | # with multiple versions 156 | # * lowest-version - The path to the lowest versioned duplicate is highlighted 157 | # * simplest-path - The path to the version with the fewest edges is highlighted 158 | # * all - Both lowest-version and simplest-path are used 159 | highlight = "all" 160 | # List of crates that are allowed. Use with care! 161 | allow = [ 162 | #{ name = "ansi_term", version = "=0.11.0" }, 163 | ] 164 | # List of crates to deny 165 | deny = [ 166 | # Each entry the name of a crate and a version range. If version is 167 | # not specified, all versions will be matched. 168 | #{ name = "ansi_term", version = "=0.11.0" }, 169 | # 170 | # Wrapper crates can optionally be specified to allow the crate when it 171 | # is a direct dependency of the otherwise banned crate 172 | #{ name = "ansi_term", version = "=0.11.0", wrappers = [] }, 173 | ] 174 | # Certain crates/versions that will be skipped when doing duplicate detection. 175 | skip = [ 176 | #{ name = "ansi_term", version = "=0.11.0" }, 177 | ] 178 | # Similarly to `skip` allows you to skip certain crates during duplicate 179 | # detection. Unlike skip, it also includes the entire tree of transitive 180 | # dependencies starting at the specified crate, up to a certain depth, which is 181 | # by default infinite 182 | skip-tree = [ 183 | #{ name = "ansi_term", version = "=0.11.0", depth = 20 }, 184 | ] 185 | 186 | # This section is considered when running `cargo deny check sources`. 187 | # More documentation about the 'sources' section can be found here: 188 | # https://embarkstudios.github.io/cargo-deny/checks/sources/cfg.html 189 | [sources] 190 | # Lint level for what to happen when a crate from a crate registry that is not 191 | # in the allow list is encountered 192 | unknown-registry = "warn" 193 | # Lint level for what to happen when a crate from a git repository that is not 194 | # in the allow list is encountered 195 | unknown-git = "warn" 196 | # List of URLs for allowed crate registries. Defaults to the crates.io index 197 | # if not specified. If it is specified but empty, no registries are allowed. 198 | allow-registry = ["https://github.com/rust-lang/crates.io-index"] 199 | # List of URLs for allowed Git repositories 200 | allow-git = [] 201 | 202 | [sources.allow-org] 203 | # 1 or more github.com organizations to allow git sources for 204 | github = [] 205 | # 1 or more gitlab.com organizations to allow git sources for 206 | gitlab = [] 207 | # 1 or more bitbucket.org organizations to allow git sources for 208 | bitbucket = [] 209 | -------------------------------------------------------------------------------- /Cargo.lock: -------------------------------------------------------------------------------- 1 | # This file is automatically @generated by Cargo. 2 | # It is not intended for manual editing. 3 | version = 3 4 | 5 | [[package]] 6 | name = "adler" 7 | version = "1.0.2" 8 | source = "registry+https://github.com/rust-lang/crates.io-index" 9 | checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" 10 | 11 | [[package]] 12 | name = "aho-corasick" 13 | version = "0.7.20" 14 | source = "registry+https://github.com/rust-lang/crates.io-index" 15 | checksum = "cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac" 16 | dependencies = [ 17 | "memchr", 18 | ] 19 | 20 | [[package]] 21 | name = "alloc-no-stdlib" 22 | version = "2.0.4" 23 | source = "registry+https://github.com/rust-lang/crates.io-index" 24 | checksum = "cc7bb162ec39d46ab1ca8c77bf72e890535becd1751bb45f64c597edb4c8c6b3" 25 | 26 | [[package]] 27 | name = "alloc-stdlib" 28 | version = "0.2.2" 29 | source = "registry+https://github.com/rust-lang/crates.io-index" 30 | checksum = "94fb8275041c72129eb51b7d0322c29b8387a0386127718b096429201a5d6ece" 31 | dependencies = [ 32 | "alloc-no-stdlib", 33 | ] 34 | 35 | [[package]] 36 | name = "anyhow" 37 | version = "1.0.69" 38 | source = "registry+https://github.com/rust-lang/crates.io-index" 39 | checksum = "224afbd727c3d6e4b90103ece64b8d1b67fbb1973b1046c2281eed3f3803f800" 40 | 41 | [[package]] 42 | name = "api" 43 | version = "0.2.3" 44 | dependencies = [ 45 | "anyhow", 46 | "aws-config", 47 | "aws-sdk-s3", 48 | "axum", 49 | "axum-aws-lambda", 50 | "better-qs", 51 | "bytes", 52 | "lambda_http 0.8.0", 53 | "lambda_runtime 0.8.0", 54 | "serde", 55 | "serde_json", 56 | "tokio", 57 | "tower", 58 | "tower-http", 59 | "tracing", 60 | "tracing-subscriber", 61 | ] 62 | 63 | [[package]] 64 | name = "async-compression" 65 | version = "0.3.15" 66 | source = "registry+https://github.com/rust-lang/crates.io-index" 67 | checksum = "942c7cd7ae39e91bde4820d74132e9862e62c2f386c3aa90ccf55949f5bad63a" 68 | dependencies = [ 69 | "brotli", 70 | "flate2", 71 | "futures-core", 72 | "memchr", 73 | "pin-project-lite", 74 | "tokio", 75 | "zstd", 76 | "zstd-safe", 77 | ] 78 | 79 | [[package]] 80 | name = "async-stream" 81 | version = "0.3.4" 82 | source = "registry+https://github.com/rust-lang/crates.io-index" 83 | checksum = "ad445822218ce64be7a341abfb0b1ea43b5c23aa83902542a4542e78309d8e5e" 84 | dependencies = [ 85 | "async-stream-impl", 86 | "futures-core", 87 | "pin-project-lite", 88 | ] 89 | 90 | [[package]] 91 | name = "async-stream-impl" 92 | version = "0.3.4" 93 | source = "registry+https://github.com/rust-lang/crates.io-index" 94 | checksum = "e4655ae1a7b0cdf149156f780c5bf3f1352bc53cbd9e0a361a7ef7b22947e965" 95 | dependencies = [ 96 | "proc-macro2", 97 | "quote", 98 | "syn 1.0.109", 99 | ] 100 | 101 | [[package]] 102 | name = "async-trait" 103 | version = "0.1.68" 104 | source = "registry+https://github.com/rust-lang/crates.io-index" 105 | checksum = "b9ccdd8f2a161be9bd5c023df56f1b2a0bd1d83872ae53b71a84a12c9bf6e842" 106 | dependencies = [ 107 | "proc-macro2", 108 | "quote", 109 | "syn 2.0.15", 110 | ] 111 | 112 | [[package]] 113 | name = "autocfg" 114 | version = "1.1.0" 115 | source = "registry+https://github.com/rust-lang/crates.io-index" 116 | checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" 117 | 118 | [[package]] 119 | name = "aws-config" 120 | version = "0.55.1" 121 | source = "registry+https://github.com/rust-lang/crates.io-index" 122 | checksum = "dd62464d1c4ad70f8b6cd693e7f30229f36bebdcdf3fce8c11803e1bdc0bc052" 123 | dependencies = [ 124 | "aws-credential-types", 125 | "aws-http", 126 | "aws-sdk-sso", 127 | "aws-sdk-sts", 128 | "aws-smithy-async", 129 | "aws-smithy-client", 130 | "aws-smithy-http", 131 | "aws-smithy-http-tower", 132 | "aws-smithy-json", 133 | "aws-smithy-types", 134 | "aws-types", 135 | "bytes", 136 | "fastrand", 137 | "hex", 138 | "http", 139 | "hyper", 140 | "ring", 141 | "time", 142 | "tokio", 143 | "tower", 144 | "tracing", 145 | "zeroize", 146 | ] 147 | 148 | [[package]] 149 | name = "aws-credential-types" 150 | version = "0.55.1" 151 | source = "registry+https://github.com/rust-lang/crates.io-index" 152 | checksum = "f4232d3729eefc287adc0d5a8adc97b7d94eefffe6bbe94312cc86c7ab6b06ce" 153 | dependencies = [ 154 | "aws-smithy-async", 155 | "aws-smithy-types", 156 | "fastrand", 157 | "tokio", 158 | "tracing", 159 | "zeroize", 160 | ] 161 | 162 | [[package]] 163 | name = "aws-endpoint" 164 | version = "0.55.1" 165 | source = "registry+https://github.com/rust-lang/crates.io-index" 166 | checksum = "87f04ab03b3f1cca91f7cccaa213056d732accb14e2e65debfacc1d28627d162" 167 | dependencies = [ 168 | "aws-smithy-http", 169 | "aws-smithy-types", 170 | "aws-types", 171 | "http", 172 | "regex", 173 | "tracing", 174 | ] 175 | 176 | [[package]] 177 | name = "aws-http" 178 | version = "0.55.1" 179 | source = "registry+https://github.com/rust-lang/crates.io-index" 180 | checksum = "e5ad8c53f7560baaf635b6aa811f3213d39b50555d100f83e43801652d4e318e" 181 | dependencies = [ 182 | "aws-credential-types", 183 | "aws-smithy-http", 184 | "aws-smithy-types", 185 | "aws-types", 186 | "bytes", 187 | "http", 188 | "http-body", 189 | "lazy_static", 190 | "percent-encoding", 191 | "pin-project-lite", 192 | "tracing", 193 | ] 194 | 195 | [[package]] 196 | name = "aws-sdk-s3" 197 | version = "0.26.0" 198 | source = "registry+https://github.com/rust-lang/crates.io-index" 199 | checksum = "d4b64fc8b7d76d09e53f4a64ebe2cd44894adb902011a26878aebd0576234d41" 200 | dependencies = [ 201 | "aws-credential-types", 202 | "aws-endpoint", 203 | "aws-http", 204 | "aws-sig-auth", 205 | "aws-sigv4", 206 | "aws-smithy-async", 207 | "aws-smithy-checksums", 208 | "aws-smithy-client", 209 | "aws-smithy-eventstream", 210 | "aws-smithy-http", 211 | "aws-smithy-http-tower", 212 | "aws-smithy-json", 213 | "aws-smithy-types", 214 | "aws-smithy-xml", 215 | "aws-types", 216 | "bytes", 217 | "http", 218 | "http-body", 219 | "once_cell", 220 | "percent-encoding", 221 | "regex", 222 | "tokio-stream", 223 | "tower", 224 | "tracing", 225 | "url", 226 | ] 227 | 228 | [[package]] 229 | name = "aws-sdk-sso" 230 | version = "0.26.0" 231 | source = "registry+https://github.com/rust-lang/crates.io-index" 232 | checksum = "143953d46f77a0b18480e7d8bb1a651080b9484e0bb94c27b8645eaeb3c3e231" 233 | dependencies = [ 234 | "aws-credential-types", 235 | "aws-endpoint", 236 | "aws-http", 237 | "aws-sig-auth", 238 | "aws-smithy-async", 239 | "aws-smithy-client", 240 | "aws-smithy-http", 241 | "aws-smithy-http-tower", 242 | "aws-smithy-json", 243 | "aws-smithy-types", 244 | "aws-types", 245 | "bytes", 246 | "http", 247 | "regex", 248 | "tokio-stream", 249 | "tower", 250 | "tracing", 251 | ] 252 | 253 | [[package]] 254 | name = "aws-sdk-sts" 255 | version = "0.26.0" 256 | source = "registry+https://github.com/rust-lang/crates.io-index" 257 | checksum = "7255c0d8053b89e8b5cdabb52e1dbf596e9968b1f45dce7a56b2cd57038fcfc9" 258 | dependencies = [ 259 | "aws-credential-types", 260 | "aws-endpoint", 261 | "aws-http", 262 | "aws-sig-auth", 263 | "aws-smithy-async", 264 | "aws-smithy-client", 265 | "aws-smithy-http", 266 | "aws-smithy-http-tower", 267 | "aws-smithy-json", 268 | "aws-smithy-query", 269 | "aws-smithy-types", 270 | "aws-smithy-xml", 271 | "aws-types", 272 | "bytes", 273 | "http", 274 | "regex", 275 | "tower", 276 | "tracing", 277 | ] 278 | 279 | [[package]] 280 | name = "aws-sig-auth" 281 | version = "0.55.1" 282 | source = "registry+https://github.com/rust-lang/crates.io-index" 283 | checksum = "24d77d879ab210e958ba65a6d3842969a596738c024989cd3e490cf9f9b560ec" 284 | dependencies = [ 285 | "aws-credential-types", 286 | "aws-sigv4", 287 | "aws-smithy-eventstream", 288 | "aws-smithy-http", 289 | "aws-types", 290 | "http", 291 | "tracing", 292 | ] 293 | 294 | [[package]] 295 | name = "aws-sigv4" 296 | version = "0.55.1" 297 | source = "registry+https://github.com/rust-lang/crates.io-index" 298 | checksum = "4ab4eebc8ec484fb9eab04b15a5d1e71f3dc13bee8fdd2d9ed78bcd6ecbd7192" 299 | dependencies = [ 300 | "aws-smithy-eventstream", 301 | "aws-smithy-http", 302 | "bytes", 303 | "form_urlencoded", 304 | "hex", 305 | "hmac", 306 | "http", 307 | "once_cell", 308 | "percent-encoding", 309 | "regex", 310 | "sha2", 311 | "time", 312 | "tracing", 313 | ] 314 | 315 | [[package]] 316 | name = "aws-smithy-async" 317 | version = "0.55.1" 318 | source = "registry+https://github.com/rust-lang/crates.io-index" 319 | checksum = "88573bcfbe1dcfd54d4912846df028b42d6255cbf9ce07be216b1bbfd11fc4b9" 320 | dependencies = [ 321 | "futures-util", 322 | "pin-project-lite", 323 | "tokio", 324 | "tokio-stream", 325 | ] 326 | 327 | [[package]] 328 | name = "aws-smithy-checksums" 329 | version = "0.55.1" 330 | source = "registry+https://github.com/rust-lang/crates.io-index" 331 | checksum = "71a63d4f1c04b3abb7603001e4513f19617427bf27ca185b2ac663a1e342d39e" 332 | dependencies = [ 333 | "aws-smithy-http", 334 | "aws-smithy-types", 335 | "bytes", 336 | "crc32c", 337 | "crc32fast", 338 | "hex", 339 | "http", 340 | "http-body", 341 | "md-5", 342 | "pin-project-lite", 343 | "sha1", 344 | "sha2", 345 | "tracing", 346 | ] 347 | 348 | [[package]] 349 | name = "aws-smithy-client" 350 | version = "0.55.1" 351 | source = "registry+https://github.com/rust-lang/crates.io-index" 352 | checksum = "b2f52352bae50d3337d5d6151b695d31a8c10ebea113eca5bead531f8301b067" 353 | dependencies = [ 354 | "aws-smithy-async", 355 | "aws-smithy-http", 356 | "aws-smithy-http-tower", 357 | "aws-smithy-types", 358 | "bytes", 359 | "fastrand", 360 | "http", 361 | "http-body", 362 | "hyper", 363 | "hyper-rustls", 364 | "lazy_static", 365 | "pin-project-lite", 366 | "rustls", 367 | "tokio", 368 | "tower", 369 | "tracing", 370 | ] 371 | 372 | [[package]] 373 | name = "aws-smithy-eventstream" 374 | version = "0.55.1" 375 | source = "registry+https://github.com/rust-lang/crates.io-index" 376 | checksum = "168f08f8439c8b317b578a695e514c5cd7b869e73849a2d6b71ced4de6ce193d" 377 | dependencies = [ 378 | "aws-smithy-types", 379 | "bytes", 380 | "crc32fast", 381 | ] 382 | 383 | [[package]] 384 | name = "aws-smithy-http" 385 | version = "0.55.1" 386 | source = "registry+https://github.com/rust-lang/crates.io-index" 387 | checksum = "03bcc02d7ed9649d855c8ce4a735e9848d7b8f7568aad0504c158e3baa955df8" 388 | dependencies = [ 389 | "aws-smithy-eventstream", 390 | "aws-smithy-types", 391 | "bytes", 392 | "bytes-utils", 393 | "futures-core", 394 | "http", 395 | "http-body", 396 | "hyper", 397 | "once_cell", 398 | "percent-encoding", 399 | "pin-project-lite", 400 | "pin-utils", 401 | "tokio", 402 | "tokio-util", 403 | "tracing", 404 | ] 405 | 406 | [[package]] 407 | name = "aws-smithy-http-tower" 408 | version = "0.55.1" 409 | source = "registry+https://github.com/rust-lang/crates.io-index" 410 | checksum = "da88b3a860f65505996c29192d800f1aeb9480440f56d63aad33a3c12045017a" 411 | dependencies = [ 412 | "aws-smithy-http", 413 | "aws-smithy-types", 414 | "bytes", 415 | "http", 416 | "http-body", 417 | "pin-project-lite", 418 | "tower", 419 | "tracing", 420 | ] 421 | 422 | [[package]] 423 | name = "aws-smithy-json" 424 | version = "0.55.1" 425 | source = "registry+https://github.com/rust-lang/crates.io-index" 426 | checksum = "9b0c1e87d75cac889dca2a7f5ba280da2cde8122448e7fec1d614194dfa00c70" 427 | dependencies = [ 428 | "aws-smithy-types", 429 | ] 430 | 431 | [[package]] 432 | name = "aws-smithy-query" 433 | version = "0.55.1" 434 | source = "registry+https://github.com/rust-lang/crates.io-index" 435 | checksum = "f6b50d15f446c19e088009ecb00e2fb2d13133d6fe1db702e9aa67ad135bf6a6" 436 | dependencies = [ 437 | "aws-smithy-types", 438 | "urlencoding", 439 | ] 440 | 441 | [[package]] 442 | name = "aws-smithy-types" 443 | version = "0.55.1" 444 | source = "registry+https://github.com/rust-lang/crates.io-index" 445 | checksum = "cd0afc731fd1417d791f9145a1e0c30e23ae0beaab9b4814017708ead2fc20f1" 446 | dependencies = [ 447 | "base64-simd", 448 | "itoa", 449 | "num-integer", 450 | "ryu", 451 | "time", 452 | ] 453 | 454 | [[package]] 455 | name = "aws-smithy-xml" 456 | version = "0.55.1" 457 | source = "registry+https://github.com/rust-lang/crates.io-index" 458 | checksum = "8b5398c1c25dfc6f8c282b1552a66aa807c9d6e15e1b3a84b94aa44e7859bec3" 459 | dependencies = [ 460 | "xmlparser", 461 | ] 462 | 463 | [[package]] 464 | name = "aws-types" 465 | version = "0.55.1" 466 | source = "registry+https://github.com/rust-lang/crates.io-index" 467 | checksum = "b9b082e329d9a304d39e193ad5c7ab363a0d6507aca6965e0673a746686fb0cc" 468 | dependencies = [ 469 | "aws-credential-types", 470 | "aws-smithy-async", 471 | "aws-smithy-client", 472 | "aws-smithy-http", 473 | "aws-smithy-types", 474 | "http", 475 | "rustc_version", 476 | "tracing", 477 | ] 478 | 479 | [[package]] 480 | name = "aws_lambda_events" 481 | version = "0.7.3" 482 | source = "registry+https://github.com/rust-lang/crates.io-index" 483 | checksum = "d376097ccf49a2699d554558267b2735f62ce94ee1840a9f73253ad7c26fbaa7" 484 | dependencies = [ 485 | "base64 0.13.1", 486 | "bytes", 487 | "chrono", 488 | "http", 489 | "http-body", 490 | "http-serde", 491 | "query_map", 492 | "serde", 493 | "serde_derive", 494 | "serde_json", 495 | ] 496 | 497 | [[package]] 498 | name = "axum" 499 | version = "0.6.15" 500 | source = "registry+https://github.com/rust-lang/crates.io-index" 501 | checksum = "3b32c5ea3aabaf4deb5f5ced2d688ec0844c881c9e6c696a8b769a05fc691e62" 502 | dependencies = [ 503 | "async-trait", 504 | "axum-core", 505 | "bitflags", 506 | "bytes", 507 | "futures-util", 508 | "headers", 509 | "http", 510 | "http-body", 511 | "hyper", 512 | "itoa", 513 | "matchit", 514 | "memchr", 515 | "mime", 516 | "percent-encoding", 517 | "pin-project-lite", 518 | "rustversion", 519 | "serde", 520 | "serde_json", 521 | "serde_path_to_error", 522 | "serde_urlencoded", 523 | "sync_wrapper", 524 | "tokio", 525 | "tower", 526 | "tower-layer", 527 | "tower-service", 528 | ] 529 | 530 | [[package]] 531 | name = "axum-aws-lambda" 532 | version = "0.4.0" 533 | source = "registry+https://github.com/rust-lang/crates.io-index" 534 | checksum = "c168698137f8f47e20a95e9206f2451cc92a170bc3c708a447d9863468776969" 535 | dependencies = [ 536 | "axum", 537 | "bytes", 538 | "http", 539 | "hyper", 540 | "lambda_http 0.7.3", 541 | "tower", 542 | "tower-service", 543 | ] 544 | 545 | [[package]] 546 | name = "axum-core" 547 | version = "0.3.4" 548 | source = "registry+https://github.com/rust-lang/crates.io-index" 549 | checksum = "759fa577a247914fd3f7f76d62972792636412fbfd634cd452f6a385a74d2d2c" 550 | dependencies = [ 551 | "async-trait", 552 | "bytes", 553 | "futures-util", 554 | "http", 555 | "http-body", 556 | "mime", 557 | "rustversion", 558 | "tower-layer", 559 | "tower-service", 560 | ] 561 | 562 | [[package]] 563 | name = "base64" 564 | version = "0.13.1" 565 | source = "registry+https://github.com/rust-lang/crates.io-index" 566 | checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" 567 | 568 | [[package]] 569 | name = "base64" 570 | version = "0.21.0" 571 | source = "registry+https://github.com/rust-lang/crates.io-index" 572 | checksum = "a4a4ddaa51a5bc52a6948f74c06d20aaaddb71924eab79b8c97a8c556e942d6a" 573 | 574 | [[package]] 575 | name = "base64-simd" 576 | version = "0.8.0" 577 | source = "registry+https://github.com/rust-lang/crates.io-index" 578 | checksum = "339abbe78e73178762e23bea9dfd08e697eb3f3301cd4be981c0f78ba5859195" 579 | dependencies = [ 580 | "outref", 581 | "vsimd", 582 | ] 583 | 584 | [[package]] 585 | name = "better-qs" 586 | version = "2.3.1" 587 | source = "registry+https://github.com/rust-lang/crates.io-index" 588 | checksum = "a966d991ef92d8c875a7061f786dd0ff1f1ac36cce40a86e4855a9004c36fae4" 589 | dependencies = [ 590 | "lazy_static", 591 | "percent-encoding", 592 | "regex", 593 | "serde", 594 | "serde_json", 595 | "thiserror", 596 | ] 597 | 598 | [[package]] 599 | name = "bitflags" 600 | version = "1.3.2" 601 | source = "registry+https://github.com/rust-lang/crates.io-index" 602 | checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" 603 | 604 | [[package]] 605 | name = "block-buffer" 606 | version = "0.10.4" 607 | source = "registry+https://github.com/rust-lang/crates.io-index" 608 | checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" 609 | dependencies = [ 610 | "generic-array", 611 | ] 612 | 613 | [[package]] 614 | name = "brotli" 615 | version = "3.3.4" 616 | source = "registry+https://github.com/rust-lang/crates.io-index" 617 | checksum = "a1a0b1dbcc8ae29329621f8d4f0d835787c1c38bb1401979b49d13b0b305ff68" 618 | dependencies = [ 619 | "alloc-no-stdlib", 620 | "alloc-stdlib", 621 | "brotli-decompressor", 622 | ] 623 | 624 | [[package]] 625 | name = "brotli-decompressor" 626 | version = "2.3.4" 627 | source = "registry+https://github.com/rust-lang/crates.io-index" 628 | checksum = "4b6561fd3f895a11e8f72af2cb7d22e08366bebc2b6b57f7744c4bda27034744" 629 | dependencies = [ 630 | "alloc-no-stdlib", 631 | "alloc-stdlib", 632 | ] 633 | 634 | [[package]] 635 | name = "bumpalo" 636 | version = "3.12.0" 637 | source = "registry+https://github.com/rust-lang/crates.io-index" 638 | checksum = "0d261e256854913907f67ed06efbc3338dfe6179796deefc1ff763fc1aee5535" 639 | 640 | [[package]] 641 | name = "bytes" 642 | version = "1.4.0" 643 | source = "registry+https://github.com/rust-lang/crates.io-index" 644 | checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be" 645 | dependencies = [ 646 | "serde", 647 | ] 648 | 649 | [[package]] 650 | name = "bytes-utils" 651 | version = "0.1.3" 652 | source = "registry+https://github.com/rust-lang/crates.io-index" 653 | checksum = "e47d3a8076e283f3acd27400535992edb3ba4b5bb72f8891ad8fbe7932a7d4b9" 654 | dependencies = [ 655 | "bytes", 656 | "either", 657 | ] 658 | 659 | [[package]] 660 | name = "cc" 661 | version = "1.0.79" 662 | source = "registry+https://github.com/rust-lang/crates.io-index" 663 | checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f" 664 | dependencies = [ 665 | "jobserver", 666 | ] 667 | 668 | [[package]] 669 | name = "cfg-if" 670 | version = "1.0.0" 671 | source = "registry+https://github.com/rust-lang/crates.io-index" 672 | checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" 673 | 674 | [[package]] 675 | name = "chrono" 676 | version = "0.4.23" 677 | source = "registry+https://github.com/rust-lang/crates.io-index" 678 | checksum = "16b0a3d9ed01224b22057780a37bb8c5dbfe1be8ba48678e7bf57ec4b385411f" 679 | dependencies = [ 680 | "num-integer", 681 | "num-traits", 682 | "serde", 683 | ] 684 | 685 | [[package]] 686 | name = "core-foundation" 687 | version = "0.9.3" 688 | source = "registry+https://github.com/rust-lang/crates.io-index" 689 | checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146" 690 | dependencies = [ 691 | "core-foundation-sys", 692 | "libc", 693 | ] 694 | 695 | [[package]] 696 | name = "core-foundation-sys" 697 | version = "0.8.3" 698 | source = "registry+https://github.com/rust-lang/crates.io-index" 699 | checksum = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc" 700 | 701 | [[package]] 702 | name = "cpufeatures" 703 | version = "0.2.5" 704 | source = "registry+https://github.com/rust-lang/crates.io-index" 705 | checksum = "28d997bd5e24a5928dd43e46dc529867e207907fe0b239c3477d924f7f2ca320" 706 | dependencies = [ 707 | "libc", 708 | ] 709 | 710 | [[package]] 711 | name = "crc32c" 712 | version = "0.6.3" 713 | source = "registry+https://github.com/rust-lang/crates.io-index" 714 | checksum = "3dfea2db42e9927a3845fb268a10a72faed6d416065f77873f05e411457c363e" 715 | dependencies = [ 716 | "rustc_version", 717 | ] 718 | 719 | [[package]] 720 | name = "crc32fast" 721 | version = "1.3.2" 722 | source = "registry+https://github.com/rust-lang/crates.io-index" 723 | checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d" 724 | dependencies = [ 725 | "cfg-if", 726 | ] 727 | 728 | [[package]] 729 | name = "crypto-common" 730 | version = "0.1.6" 731 | source = "registry+https://github.com/rust-lang/crates.io-index" 732 | checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" 733 | dependencies = [ 734 | "generic-array", 735 | "typenum", 736 | ] 737 | 738 | [[package]] 739 | name = "digest" 740 | version = "0.10.6" 741 | source = "registry+https://github.com/rust-lang/crates.io-index" 742 | checksum = "8168378f4e5023e7218c89c891c0fd8ecdb5e5e4f18cb78f38cf245dd021e76f" 743 | dependencies = [ 744 | "block-buffer", 745 | "crypto-common", 746 | "subtle", 747 | ] 748 | 749 | [[package]] 750 | name = "either" 751 | version = "1.8.1" 752 | source = "registry+https://github.com/rust-lang/crates.io-index" 753 | checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91" 754 | 755 | [[package]] 756 | name = "encoding_rs" 757 | version = "0.8.32" 758 | source = "registry+https://github.com/rust-lang/crates.io-index" 759 | checksum = "071a31f4ee85403370b58aca746f01041ede6f0da2730960ad001edc2b71b394" 760 | dependencies = [ 761 | "cfg-if", 762 | ] 763 | 764 | [[package]] 765 | name = "fastrand" 766 | version = "1.9.0" 767 | source = "registry+https://github.com/rust-lang/crates.io-index" 768 | checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be" 769 | dependencies = [ 770 | "instant", 771 | ] 772 | 773 | [[package]] 774 | name = "flate2" 775 | version = "1.0.25" 776 | source = "registry+https://github.com/rust-lang/crates.io-index" 777 | checksum = "a8a2db397cb1c8772f31494cb8917e48cd1e64f0fa7efac59fbd741a0a8ce841" 778 | dependencies = [ 779 | "crc32fast", 780 | "miniz_oxide", 781 | ] 782 | 783 | [[package]] 784 | name = "fnv" 785 | version = "1.0.7" 786 | source = "registry+https://github.com/rust-lang/crates.io-index" 787 | checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" 788 | 789 | [[package]] 790 | name = "form_urlencoded" 791 | version = "1.1.0" 792 | source = "registry+https://github.com/rust-lang/crates.io-index" 793 | checksum = "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8" 794 | dependencies = [ 795 | "percent-encoding", 796 | ] 797 | 798 | [[package]] 799 | name = "futures" 800 | version = "0.3.26" 801 | source = "registry+https://github.com/rust-lang/crates.io-index" 802 | checksum = "13e2792b0ff0340399d58445b88fd9770e3489eff258a4cbc1523418f12abf84" 803 | dependencies = [ 804 | "futures-channel", 805 | "futures-core", 806 | "futures-executor", 807 | "futures-io", 808 | "futures-sink", 809 | "futures-task", 810 | "futures-util", 811 | ] 812 | 813 | [[package]] 814 | name = "futures-channel" 815 | version = "0.3.26" 816 | source = "registry+https://github.com/rust-lang/crates.io-index" 817 | checksum = "2e5317663a9089767a1ec00a487df42e0ca174b61b4483213ac24448e4664df5" 818 | dependencies = [ 819 | "futures-core", 820 | "futures-sink", 821 | ] 822 | 823 | [[package]] 824 | name = "futures-core" 825 | version = "0.3.26" 826 | source = "registry+https://github.com/rust-lang/crates.io-index" 827 | checksum = "ec90ff4d0fe1f57d600049061dc6bb68ed03c7d2fbd697274c41805dcb3f8608" 828 | 829 | [[package]] 830 | name = "futures-executor" 831 | version = "0.3.26" 832 | source = "registry+https://github.com/rust-lang/crates.io-index" 833 | checksum = "e8de0a35a6ab97ec8869e32a2473f4b1324459e14c29275d14b10cb1fd19b50e" 834 | dependencies = [ 835 | "futures-core", 836 | "futures-task", 837 | "futures-util", 838 | ] 839 | 840 | [[package]] 841 | name = "futures-io" 842 | version = "0.3.26" 843 | source = "registry+https://github.com/rust-lang/crates.io-index" 844 | checksum = "bfb8371b6fb2aeb2d280374607aeabfc99d95c72edfe51692e42d3d7f0d08531" 845 | 846 | [[package]] 847 | name = "futures-macro" 848 | version = "0.3.26" 849 | source = "registry+https://github.com/rust-lang/crates.io-index" 850 | checksum = "95a73af87da33b5acf53acfebdc339fe592ecf5357ac7c0a7734ab9d8c876a70" 851 | dependencies = [ 852 | "proc-macro2", 853 | "quote", 854 | "syn 1.0.109", 855 | ] 856 | 857 | [[package]] 858 | name = "futures-sink" 859 | version = "0.3.26" 860 | source = "registry+https://github.com/rust-lang/crates.io-index" 861 | checksum = "f310820bb3e8cfd46c80db4d7fb8353e15dfff853a127158425f31e0be6c8364" 862 | 863 | [[package]] 864 | name = "futures-task" 865 | version = "0.3.26" 866 | source = "registry+https://github.com/rust-lang/crates.io-index" 867 | checksum = "dcf79a1bf610b10f42aea489289c5a2c478a786509693b80cd39c44ccd936366" 868 | 869 | [[package]] 870 | name = "futures-util" 871 | version = "0.3.26" 872 | source = "registry+https://github.com/rust-lang/crates.io-index" 873 | checksum = "9c1d6de3acfef38d2be4b1f543f553131788603495be83da675e180c8d6b7bd1" 874 | dependencies = [ 875 | "futures-channel", 876 | "futures-core", 877 | "futures-io", 878 | "futures-macro", 879 | "futures-sink", 880 | "futures-task", 881 | "memchr", 882 | "pin-project-lite", 883 | "pin-utils", 884 | "slab", 885 | ] 886 | 887 | [[package]] 888 | name = "generic-array" 889 | version = "0.14.6" 890 | source = "registry+https://github.com/rust-lang/crates.io-index" 891 | checksum = "bff49e947297f3312447abdca79f45f4738097cc82b06e72054d2223f601f1b9" 892 | dependencies = [ 893 | "typenum", 894 | "version_check", 895 | ] 896 | 897 | [[package]] 898 | name = "h2" 899 | version = "0.3.17" 900 | source = "registry+https://github.com/rust-lang/crates.io-index" 901 | checksum = "66b91535aa35fea1523ad1b86cb6b53c28e0ae566ba4a460f4457e936cad7c6f" 902 | dependencies = [ 903 | "bytes", 904 | "fnv", 905 | "futures-core", 906 | "futures-sink", 907 | "futures-util", 908 | "http", 909 | "indexmap", 910 | "slab", 911 | "tokio", 912 | "tokio-util", 913 | "tracing", 914 | ] 915 | 916 | [[package]] 917 | name = "hashbrown" 918 | version = "0.12.3" 919 | source = "registry+https://github.com/rust-lang/crates.io-index" 920 | checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" 921 | 922 | [[package]] 923 | name = "headers" 924 | version = "0.3.8" 925 | source = "registry+https://github.com/rust-lang/crates.io-index" 926 | checksum = "f3e372db8e5c0d213e0cd0b9be18be2aca3d44cf2fe30a9d46a65581cd454584" 927 | dependencies = [ 928 | "base64 0.13.1", 929 | "bitflags", 930 | "bytes", 931 | "headers-core", 932 | "http", 933 | "httpdate", 934 | "mime", 935 | "sha1", 936 | ] 937 | 938 | [[package]] 939 | name = "headers-core" 940 | version = "0.2.0" 941 | source = "registry+https://github.com/rust-lang/crates.io-index" 942 | checksum = "e7f66481bfee273957b1f20485a4ff3362987f85b2c236580d81b4eb7a326429" 943 | dependencies = [ 944 | "http", 945 | ] 946 | 947 | [[package]] 948 | name = "hermit-abi" 949 | version = "0.2.6" 950 | source = "registry+https://github.com/rust-lang/crates.io-index" 951 | checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7" 952 | dependencies = [ 953 | "libc", 954 | ] 955 | 956 | [[package]] 957 | name = "hex" 958 | version = "0.4.3" 959 | source = "registry+https://github.com/rust-lang/crates.io-index" 960 | checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" 961 | 962 | [[package]] 963 | name = "hmac" 964 | version = "0.12.1" 965 | source = "registry+https://github.com/rust-lang/crates.io-index" 966 | checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" 967 | dependencies = [ 968 | "digest", 969 | ] 970 | 971 | [[package]] 972 | name = "http" 973 | version = "0.2.9" 974 | source = "registry+https://github.com/rust-lang/crates.io-index" 975 | checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482" 976 | dependencies = [ 977 | "bytes", 978 | "fnv", 979 | "itoa", 980 | ] 981 | 982 | [[package]] 983 | name = "http-body" 984 | version = "0.4.5" 985 | source = "registry+https://github.com/rust-lang/crates.io-index" 986 | checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1" 987 | dependencies = [ 988 | "bytes", 989 | "http", 990 | "pin-project-lite", 991 | ] 992 | 993 | [[package]] 994 | name = "http-range-header" 995 | version = "0.3.0" 996 | source = "registry+https://github.com/rust-lang/crates.io-index" 997 | checksum = "0bfe8eed0a9285ef776bb792479ea3834e8b94e13d615c2f66d03dd50a435a29" 998 | 999 | [[package]] 1000 | name = "http-serde" 1001 | version = "1.1.2" 1002 | source = "registry+https://github.com/rust-lang/crates.io-index" 1003 | checksum = "0e272971f774ba29341db2f686255ff8a979365a26fb9e4277f6b6d9ec0cdd5e" 1004 | dependencies = [ 1005 | "http", 1006 | "serde", 1007 | ] 1008 | 1009 | [[package]] 1010 | name = "httparse" 1011 | version = "1.8.0" 1012 | source = "registry+https://github.com/rust-lang/crates.io-index" 1013 | checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" 1014 | 1015 | [[package]] 1016 | name = "httpdate" 1017 | version = "1.0.2" 1018 | source = "registry+https://github.com/rust-lang/crates.io-index" 1019 | checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421" 1020 | 1021 | [[package]] 1022 | name = "hyper" 1023 | version = "0.14.26" 1024 | source = "registry+https://github.com/rust-lang/crates.io-index" 1025 | checksum = "ab302d72a6f11a3b910431ff93aae7e773078c769f0a3ef15fb9ec692ed147d4" 1026 | dependencies = [ 1027 | "bytes", 1028 | "futures-channel", 1029 | "futures-core", 1030 | "futures-util", 1031 | "h2", 1032 | "http", 1033 | "http-body", 1034 | "httparse", 1035 | "httpdate", 1036 | "itoa", 1037 | "pin-project-lite", 1038 | "socket2", 1039 | "tokio", 1040 | "tower-service", 1041 | "tracing", 1042 | "want", 1043 | ] 1044 | 1045 | [[package]] 1046 | name = "hyper-rustls" 1047 | version = "0.23.2" 1048 | source = "registry+https://github.com/rust-lang/crates.io-index" 1049 | checksum = "1788965e61b367cd03a62950836d5cd41560c3577d90e40e0819373194d1661c" 1050 | dependencies = [ 1051 | "http", 1052 | "hyper", 1053 | "log", 1054 | "rustls", 1055 | "rustls-native-certs", 1056 | "tokio", 1057 | "tokio-rustls", 1058 | ] 1059 | 1060 | [[package]] 1061 | name = "idna" 1062 | version = "0.3.0" 1063 | source = "registry+https://github.com/rust-lang/crates.io-index" 1064 | checksum = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6" 1065 | dependencies = [ 1066 | "unicode-bidi", 1067 | "unicode-normalization", 1068 | ] 1069 | 1070 | [[package]] 1071 | name = "indexmap" 1072 | version = "1.9.2" 1073 | source = "registry+https://github.com/rust-lang/crates.io-index" 1074 | checksum = "1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399" 1075 | dependencies = [ 1076 | "autocfg", 1077 | "hashbrown", 1078 | ] 1079 | 1080 | [[package]] 1081 | name = "instant" 1082 | version = "0.1.12" 1083 | source = "registry+https://github.com/rust-lang/crates.io-index" 1084 | checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" 1085 | dependencies = [ 1086 | "cfg-if", 1087 | ] 1088 | 1089 | [[package]] 1090 | name = "itoa" 1091 | version = "1.0.6" 1092 | source = "registry+https://github.com/rust-lang/crates.io-index" 1093 | checksum = "453ad9f582a441959e5f0d088b02ce04cfe8d51a8eaf077f12ac6d3e94164ca6" 1094 | 1095 | [[package]] 1096 | name = "jobserver" 1097 | version = "0.1.26" 1098 | source = "registry+https://github.com/rust-lang/crates.io-index" 1099 | checksum = "936cfd212a0155903bcbc060e316fb6cc7cbf2e1907329391ebadc1fe0ce77c2" 1100 | dependencies = [ 1101 | "libc", 1102 | ] 1103 | 1104 | [[package]] 1105 | name = "js-sys" 1106 | version = "0.3.61" 1107 | source = "registry+https://github.com/rust-lang/crates.io-index" 1108 | checksum = "445dde2150c55e483f3d8416706b97ec8e8237c307e5b7b4b8dd15e6af2a0730" 1109 | dependencies = [ 1110 | "wasm-bindgen", 1111 | ] 1112 | 1113 | [[package]] 1114 | name = "lambda_http" 1115 | version = "0.7.3" 1116 | source = "registry+https://github.com/rust-lang/crates.io-index" 1117 | checksum = "16fd842ce9fc6908f1688030cf8b6841e2009bd874eb21244f124570ac06264f" 1118 | dependencies = [ 1119 | "aws_lambda_events", 1120 | "base64 0.13.1", 1121 | "bytes", 1122 | "encoding_rs", 1123 | "http", 1124 | "http-body", 1125 | "hyper", 1126 | "lambda_runtime 0.7.3", 1127 | "mime", 1128 | "percent-encoding", 1129 | "serde", 1130 | "serde_json", 1131 | "serde_urlencoded", 1132 | "url", 1133 | ] 1134 | 1135 | [[package]] 1136 | name = "lambda_http" 1137 | version = "0.8.0" 1138 | source = "registry+https://github.com/rust-lang/crates.io-index" 1139 | checksum = "b2f580d0cf5364705314779cded5f8a4a9c856b104361ce18254e05969793933" 1140 | dependencies = [ 1141 | "aws_lambda_events", 1142 | "base64 0.21.0", 1143 | "bytes", 1144 | "encoding_rs", 1145 | "futures", 1146 | "http", 1147 | "http-body", 1148 | "hyper", 1149 | "lambda_runtime 0.8.0", 1150 | "mime", 1151 | "percent-encoding", 1152 | "serde", 1153 | "serde_json", 1154 | "serde_urlencoded", 1155 | "url", 1156 | ] 1157 | 1158 | [[package]] 1159 | name = "lambda_runtime" 1160 | version = "0.7.3" 1161 | source = "registry+https://github.com/rust-lang/crates.io-index" 1162 | checksum = "bd32d5799db2155ae4d47116bb3e169b59f531ced4d5762a10c2125bdd2bf134" 1163 | dependencies = [ 1164 | "async-stream", 1165 | "bytes", 1166 | "futures", 1167 | "http", 1168 | "hyper", 1169 | "lambda_runtime_api_client 0.7.0", 1170 | "serde", 1171 | "serde_json", 1172 | "tokio", 1173 | "tokio-stream", 1174 | "tower", 1175 | "tracing", 1176 | ] 1177 | 1178 | [[package]] 1179 | name = "lambda_runtime" 1180 | version = "0.8.0" 1181 | source = "registry+https://github.com/rust-lang/crates.io-index" 1182 | checksum = "124a7d502e26b1ae9645bafd964d299d9c0d882cc8b3e228604d02bf0e13fc87" 1183 | dependencies = [ 1184 | "async-stream", 1185 | "bytes", 1186 | "futures", 1187 | "http", 1188 | "hyper", 1189 | "lambda_runtime_api_client 0.8.0", 1190 | "serde", 1191 | "serde_json", 1192 | "tokio", 1193 | "tokio-stream", 1194 | "tower", 1195 | "tracing", 1196 | ] 1197 | 1198 | [[package]] 1199 | name = "lambda_runtime_api_client" 1200 | version = "0.7.0" 1201 | source = "registry+https://github.com/rust-lang/crates.io-index" 1202 | checksum = "7210012be904051520f0dc502140ba599bae3042b65b3737b87727f1aa88a7d6" 1203 | dependencies = [ 1204 | "http", 1205 | "hyper", 1206 | "tokio", 1207 | "tower-service", 1208 | ] 1209 | 1210 | [[package]] 1211 | name = "lambda_runtime_api_client" 1212 | version = "0.8.0" 1213 | source = "registry+https://github.com/rust-lang/crates.io-index" 1214 | checksum = "690c5ae01f3acac8c9c3348b556fc443054e9b7f1deaf53e9ebab716282bf0ed" 1215 | dependencies = [ 1216 | "http", 1217 | "hyper", 1218 | "tokio", 1219 | "tower-service", 1220 | ] 1221 | 1222 | [[package]] 1223 | name = "lazy_static" 1224 | version = "1.4.0" 1225 | source = "registry+https://github.com/rust-lang/crates.io-index" 1226 | checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" 1227 | 1228 | [[package]] 1229 | name = "libc" 1230 | version = "0.2.139" 1231 | source = "registry+https://github.com/rust-lang/crates.io-index" 1232 | checksum = "201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79" 1233 | 1234 | [[package]] 1235 | name = "log" 1236 | version = "0.4.17" 1237 | source = "registry+https://github.com/rust-lang/crates.io-index" 1238 | checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e" 1239 | dependencies = [ 1240 | "cfg-if", 1241 | ] 1242 | 1243 | [[package]] 1244 | name = "matchit" 1245 | version = "0.7.0" 1246 | source = "registry+https://github.com/rust-lang/crates.io-index" 1247 | checksum = "b87248edafb776e59e6ee64a79086f65890d3510f2c656c000bf2a7e8a0aea40" 1248 | 1249 | [[package]] 1250 | name = "md-5" 1251 | version = "0.10.5" 1252 | source = "registry+https://github.com/rust-lang/crates.io-index" 1253 | checksum = "6365506850d44bff6e2fbcb5176cf63650e48bd45ef2fe2665ae1570e0f4b9ca" 1254 | dependencies = [ 1255 | "digest", 1256 | ] 1257 | 1258 | [[package]] 1259 | name = "memchr" 1260 | version = "2.5.0" 1261 | source = "registry+https://github.com/rust-lang/crates.io-index" 1262 | checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" 1263 | 1264 | [[package]] 1265 | name = "mime" 1266 | version = "0.3.16" 1267 | source = "registry+https://github.com/rust-lang/crates.io-index" 1268 | checksum = "2a60c7ce501c71e03a9c9c0d35b861413ae925bd979cc7a4e30d060069aaac8d" 1269 | 1270 | [[package]] 1271 | name = "miniz_oxide" 1272 | version = "0.6.2" 1273 | source = "registry+https://github.com/rust-lang/crates.io-index" 1274 | checksum = "b275950c28b37e794e8c55d88aeb5e139d0ce23fdbbeda68f8d7174abdf9e8fa" 1275 | dependencies = [ 1276 | "adler", 1277 | ] 1278 | 1279 | [[package]] 1280 | name = "mio" 1281 | version = "0.8.6" 1282 | source = "registry+https://github.com/rust-lang/crates.io-index" 1283 | checksum = "5b9d9a46eff5b4ff64b45a9e316a6d1e0bc719ef429cbec4dc630684212bfdf9" 1284 | dependencies = [ 1285 | "libc", 1286 | "log", 1287 | "wasi", 1288 | "windows-sys 0.45.0", 1289 | ] 1290 | 1291 | [[package]] 1292 | name = "nu-ansi-term" 1293 | version = "0.46.0" 1294 | source = "registry+https://github.com/rust-lang/crates.io-index" 1295 | checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" 1296 | dependencies = [ 1297 | "overload", 1298 | "winapi", 1299 | ] 1300 | 1301 | [[package]] 1302 | name = "num-integer" 1303 | version = "0.1.45" 1304 | source = "registry+https://github.com/rust-lang/crates.io-index" 1305 | checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9" 1306 | dependencies = [ 1307 | "autocfg", 1308 | "num-traits", 1309 | ] 1310 | 1311 | [[package]] 1312 | name = "num-traits" 1313 | version = "0.2.15" 1314 | source = "registry+https://github.com/rust-lang/crates.io-index" 1315 | checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" 1316 | dependencies = [ 1317 | "autocfg", 1318 | ] 1319 | 1320 | [[package]] 1321 | name = "num_cpus" 1322 | version = "1.15.0" 1323 | source = "registry+https://github.com/rust-lang/crates.io-index" 1324 | checksum = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b" 1325 | dependencies = [ 1326 | "hermit-abi", 1327 | "libc", 1328 | ] 1329 | 1330 | [[package]] 1331 | name = "once_cell" 1332 | version = "1.17.1" 1333 | source = "registry+https://github.com/rust-lang/crates.io-index" 1334 | checksum = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3" 1335 | 1336 | [[package]] 1337 | name = "openssl-probe" 1338 | version = "0.1.5" 1339 | source = "registry+https://github.com/rust-lang/crates.io-index" 1340 | checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" 1341 | 1342 | [[package]] 1343 | name = "outref" 1344 | version = "0.5.1" 1345 | source = "registry+https://github.com/rust-lang/crates.io-index" 1346 | checksum = "4030760ffd992bef45b0ae3f10ce1aba99e33464c90d14dd7c039884963ddc7a" 1347 | 1348 | [[package]] 1349 | name = "overload" 1350 | version = "0.1.1" 1351 | source = "registry+https://github.com/rust-lang/crates.io-index" 1352 | checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" 1353 | 1354 | [[package]] 1355 | name = "percent-encoding" 1356 | version = "2.2.0" 1357 | source = "registry+https://github.com/rust-lang/crates.io-index" 1358 | checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e" 1359 | 1360 | [[package]] 1361 | name = "pin-project" 1362 | version = "1.0.12" 1363 | source = "registry+https://github.com/rust-lang/crates.io-index" 1364 | checksum = "ad29a609b6bcd67fee905812e544992d216af9d755757c05ed2d0e15a74c6ecc" 1365 | dependencies = [ 1366 | "pin-project-internal", 1367 | ] 1368 | 1369 | [[package]] 1370 | name = "pin-project-internal" 1371 | version = "1.0.12" 1372 | source = "registry+https://github.com/rust-lang/crates.io-index" 1373 | checksum = "069bdb1e05adc7a8990dce9cc75370895fbe4e3d58b9b73bf1aee56359344a55" 1374 | dependencies = [ 1375 | "proc-macro2", 1376 | "quote", 1377 | "syn 1.0.109", 1378 | ] 1379 | 1380 | [[package]] 1381 | name = "pin-project-lite" 1382 | version = "0.2.9" 1383 | source = "registry+https://github.com/rust-lang/crates.io-index" 1384 | checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116" 1385 | 1386 | [[package]] 1387 | name = "pin-utils" 1388 | version = "0.1.0" 1389 | source = "registry+https://github.com/rust-lang/crates.io-index" 1390 | checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" 1391 | 1392 | [[package]] 1393 | name = "pkg-config" 1394 | version = "0.3.26" 1395 | source = "registry+https://github.com/rust-lang/crates.io-index" 1396 | checksum = "6ac9a59f73473f1b8d852421e59e64809f025994837ef743615c6d0c5b305160" 1397 | 1398 | [[package]] 1399 | name = "proc-macro2" 1400 | version = "1.0.56" 1401 | source = "registry+https://github.com/rust-lang/crates.io-index" 1402 | checksum = "2b63bdb0cd06f1f4dedf69b254734f9b45af66e4a031e42a7480257d9898b435" 1403 | dependencies = [ 1404 | "unicode-ident", 1405 | ] 1406 | 1407 | [[package]] 1408 | name = "query_map" 1409 | version = "0.6.0" 1410 | source = "registry+https://github.com/rust-lang/crates.io-index" 1411 | checksum = "4465aacac3bebc9484cf7a56dc8b2d7feacb657da6002a9198b4f7af4247a204" 1412 | dependencies = [ 1413 | "form_urlencoded", 1414 | "serde", 1415 | "serde_derive", 1416 | ] 1417 | 1418 | [[package]] 1419 | name = "quote" 1420 | version = "1.0.26" 1421 | source = "registry+https://github.com/rust-lang/crates.io-index" 1422 | checksum = "4424af4bf778aae2051a77b60283332f386554255d722233d09fbfc7e30da2fc" 1423 | dependencies = [ 1424 | "proc-macro2", 1425 | ] 1426 | 1427 | [[package]] 1428 | name = "regex" 1429 | version = "1.7.1" 1430 | source = "registry+https://github.com/rust-lang/crates.io-index" 1431 | checksum = "48aaa5748ba571fb95cd2c85c09f629215d3a6ece942baa100950af03a34f733" 1432 | dependencies = [ 1433 | "aho-corasick", 1434 | "memchr", 1435 | "regex-syntax", 1436 | ] 1437 | 1438 | [[package]] 1439 | name = "regex-syntax" 1440 | version = "0.6.28" 1441 | source = "registry+https://github.com/rust-lang/crates.io-index" 1442 | checksum = "456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848" 1443 | 1444 | [[package]] 1445 | name = "ring" 1446 | version = "0.16.20" 1447 | source = "registry+https://github.com/rust-lang/crates.io-index" 1448 | checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc" 1449 | dependencies = [ 1450 | "cc", 1451 | "libc", 1452 | "once_cell", 1453 | "spin", 1454 | "untrusted", 1455 | "web-sys", 1456 | "winapi", 1457 | ] 1458 | 1459 | [[package]] 1460 | name = "rustc_version" 1461 | version = "0.4.0" 1462 | source = "registry+https://github.com/rust-lang/crates.io-index" 1463 | checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" 1464 | dependencies = [ 1465 | "semver", 1466 | ] 1467 | 1468 | [[package]] 1469 | name = "rustls" 1470 | version = "0.20.8" 1471 | source = "registry+https://github.com/rust-lang/crates.io-index" 1472 | checksum = "fff78fc74d175294f4e83b28343315ffcfb114b156f0185e9741cb5570f50e2f" 1473 | dependencies = [ 1474 | "log", 1475 | "ring", 1476 | "sct", 1477 | "webpki", 1478 | ] 1479 | 1480 | [[package]] 1481 | name = "rustls-native-certs" 1482 | version = "0.6.2" 1483 | source = "registry+https://github.com/rust-lang/crates.io-index" 1484 | checksum = "0167bac7a9f490495f3c33013e7722b53cb087ecbe082fb0c6387c96f634ea50" 1485 | dependencies = [ 1486 | "openssl-probe", 1487 | "rustls-pemfile", 1488 | "schannel", 1489 | "security-framework", 1490 | ] 1491 | 1492 | [[package]] 1493 | name = "rustls-pemfile" 1494 | version = "1.0.2" 1495 | source = "registry+https://github.com/rust-lang/crates.io-index" 1496 | checksum = "d194b56d58803a43635bdc398cd17e383d6f71f9182b9a192c127ca42494a59b" 1497 | dependencies = [ 1498 | "base64 0.21.0", 1499 | ] 1500 | 1501 | [[package]] 1502 | name = "rustversion" 1503 | version = "1.0.12" 1504 | source = "registry+https://github.com/rust-lang/crates.io-index" 1505 | checksum = "4f3208ce4d8448b3f3e7d168a73f5e0c43a61e32930de3bceeccedb388b6bf06" 1506 | 1507 | [[package]] 1508 | name = "ryu" 1509 | version = "1.0.13" 1510 | source = "registry+https://github.com/rust-lang/crates.io-index" 1511 | checksum = "f91339c0467de62360649f8d3e185ca8de4224ff281f66000de5eb2a77a79041" 1512 | 1513 | [[package]] 1514 | name = "schannel" 1515 | version = "0.1.21" 1516 | source = "registry+https://github.com/rust-lang/crates.io-index" 1517 | checksum = "713cfb06c7059f3588fb8044c0fad1d09e3c01d225e25b9220dbfdcf16dbb1b3" 1518 | dependencies = [ 1519 | "windows-sys 0.42.0", 1520 | ] 1521 | 1522 | [[package]] 1523 | name = "sct" 1524 | version = "0.7.0" 1525 | source = "registry+https://github.com/rust-lang/crates.io-index" 1526 | checksum = "d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4" 1527 | dependencies = [ 1528 | "ring", 1529 | "untrusted", 1530 | ] 1531 | 1532 | [[package]] 1533 | name = "security-framework" 1534 | version = "2.8.2" 1535 | source = "registry+https://github.com/rust-lang/crates.io-index" 1536 | checksum = "a332be01508d814fed64bf28f798a146d73792121129962fdf335bb3c49a4254" 1537 | dependencies = [ 1538 | "bitflags", 1539 | "core-foundation", 1540 | "core-foundation-sys", 1541 | "libc", 1542 | "security-framework-sys", 1543 | ] 1544 | 1545 | [[package]] 1546 | name = "security-framework-sys" 1547 | version = "2.8.0" 1548 | source = "registry+https://github.com/rust-lang/crates.io-index" 1549 | checksum = "31c9bb296072e961fcbd8853511dd39c2d8be2deb1e17c6860b1d30732b323b4" 1550 | dependencies = [ 1551 | "core-foundation-sys", 1552 | "libc", 1553 | ] 1554 | 1555 | [[package]] 1556 | name = "semver" 1557 | version = "1.0.16" 1558 | source = "registry+https://github.com/rust-lang/crates.io-index" 1559 | checksum = "58bc9567378fc7690d6b2addae4e60ac2eeea07becb2c64b9f218b53865cba2a" 1560 | 1561 | [[package]] 1562 | name = "serde" 1563 | version = "1.0.154" 1564 | source = "registry+https://github.com/rust-lang/crates.io-index" 1565 | checksum = "8cdd151213925e7f1ab45a9bbfb129316bd00799784b174b7cc7bcd16961c49e" 1566 | dependencies = [ 1567 | "serde_derive", 1568 | ] 1569 | 1570 | [[package]] 1571 | name = "serde_derive" 1572 | version = "1.0.154" 1573 | source = "registry+https://github.com/rust-lang/crates.io-index" 1574 | checksum = "4fc80d722935453bcafdc2c9a73cd6fac4dc1938f0346035d84bf99fa9e33217" 1575 | dependencies = [ 1576 | "proc-macro2", 1577 | "quote", 1578 | "syn 1.0.109", 1579 | ] 1580 | 1581 | [[package]] 1582 | name = "serde_json" 1583 | version = "1.0.94" 1584 | source = "registry+https://github.com/rust-lang/crates.io-index" 1585 | checksum = "1c533a59c9d8a93a09c6ab31f0fd5e5f4dd1b8fc9434804029839884765d04ea" 1586 | dependencies = [ 1587 | "itoa", 1588 | "ryu", 1589 | "serde", 1590 | ] 1591 | 1592 | [[package]] 1593 | name = "serde_path_to_error" 1594 | version = "0.1.11" 1595 | source = "registry+https://github.com/rust-lang/crates.io-index" 1596 | checksum = "f7f05c1d5476066defcdfacce1f52fc3cae3af1d3089727100c02ae92e5abbe0" 1597 | dependencies = [ 1598 | "serde", 1599 | ] 1600 | 1601 | [[package]] 1602 | name = "serde_urlencoded" 1603 | version = "0.7.1" 1604 | source = "registry+https://github.com/rust-lang/crates.io-index" 1605 | checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" 1606 | dependencies = [ 1607 | "form_urlencoded", 1608 | "itoa", 1609 | "ryu", 1610 | "serde", 1611 | ] 1612 | 1613 | [[package]] 1614 | name = "sha1" 1615 | version = "0.10.5" 1616 | source = "registry+https://github.com/rust-lang/crates.io-index" 1617 | checksum = "f04293dc80c3993519f2d7f6f511707ee7094fe0c6d3406feb330cdb3540eba3" 1618 | dependencies = [ 1619 | "cfg-if", 1620 | "cpufeatures", 1621 | "digest", 1622 | ] 1623 | 1624 | [[package]] 1625 | name = "sha2" 1626 | version = "0.10.6" 1627 | source = "registry+https://github.com/rust-lang/crates.io-index" 1628 | checksum = "82e6b795fe2e3b1e845bafcb27aa35405c4d47cdfc92af5fc8d3002f76cebdc0" 1629 | dependencies = [ 1630 | "cfg-if", 1631 | "cpufeatures", 1632 | "digest", 1633 | ] 1634 | 1635 | [[package]] 1636 | name = "sharded-slab" 1637 | version = "0.1.4" 1638 | source = "registry+https://github.com/rust-lang/crates.io-index" 1639 | checksum = "900fba806f70c630b0a382d0d825e17a0f19fcd059a2ade1ff237bcddf446b31" 1640 | dependencies = [ 1641 | "lazy_static", 1642 | ] 1643 | 1644 | [[package]] 1645 | name = "slab" 1646 | version = "0.4.8" 1647 | source = "registry+https://github.com/rust-lang/crates.io-index" 1648 | checksum = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d" 1649 | dependencies = [ 1650 | "autocfg", 1651 | ] 1652 | 1653 | [[package]] 1654 | name = "smallvec" 1655 | version = "1.10.0" 1656 | source = "registry+https://github.com/rust-lang/crates.io-index" 1657 | checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" 1658 | 1659 | [[package]] 1660 | name = "socket2" 1661 | version = "0.4.9" 1662 | source = "registry+https://github.com/rust-lang/crates.io-index" 1663 | checksum = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662" 1664 | dependencies = [ 1665 | "libc", 1666 | "winapi", 1667 | ] 1668 | 1669 | [[package]] 1670 | name = "spin" 1671 | version = "0.5.2" 1672 | source = "registry+https://github.com/rust-lang/crates.io-index" 1673 | checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" 1674 | 1675 | [[package]] 1676 | name = "subtle" 1677 | version = "2.4.1" 1678 | source = "registry+https://github.com/rust-lang/crates.io-index" 1679 | checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" 1680 | 1681 | [[package]] 1682 | name = "syn" 1683 | version = "1.0.109" 1684 | source = "registry+https://github.com/rust-lang/crates.io-index" 1685 | checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" 1686 | dependencies = [ 1687 | "proc-macro2", 1688 | "quote", 1689 | "unicode-ident", 1690 | ] 1691 | 1692 | [[package]] 1693 | name = "syn" 1694 | version = "2.0.15" 1695 | source = "registry+https://github.com/rust-lang/crates.io-index" 1696 | checksum = "a34fcf3e8b60f57e6a14301a2e916d323af98b0ea63c599441eec8558660c822" 1697 | dependencies = [ 1698 | "proc-macro2", 1699 | "quote", 1700 | "unicode-ident", 1701 | ] 1702 | 1703 | [[package]] 1704 | name = "sync_wrapper" 1705 | version = "0.1.2" 1706 | source = "registry+https://github.com/rust-lang/crates.io-index" 1707 | checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" 1708 | 1709 | [[package]] 1710 | name = "thiserror" 1711 | version = "1.0.39" 1712 | source = "registry+https://github.com/rust-lang/crates.io-index" 1713 | checksum = "a5ab016db510546d856297882807df8da66a16fb8c4101cb8b30054b0d5b2d9c" 1714 | dependencies = [ 1715 | "thiserror-impl", 1716 | ] 1717 | 1718 | [[package]] 1719 | name = "thiserror-impl" 1720 | version = "1.0.39" 1721 | source = "registry+https://github.com/rust-lang/crates.io-index" 1722 | checksum = "5420d42e90af0c38c3290abcca25b9b3bdf379fc9f55c528f53a269d9c9a267e" 1723 | dependencies = [ 1724 | "proc-macro2", 1725 | "quote", 1726 | "syn 1.0.109", 1727 | ] 1728 | 1729 | [[package]] 1730 | name = "thread_local" 1731 | version = "1.1.7" 1732 | source = "registry+https://github.com/rust-lang/crates.io-index" 1733 | checksum = "3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152" 1734 | dependencies = [ 1735 | "cfg-if", 1736 | "once_cell", 1737 | ] 1738 | 1739 | [[package]] 1740 | name = "time" 1741 | version = "0.3.20" 1742 | source = "registry+https://github.com/rust-lang/crates.io-index" 1743 | checksum = "cd0cbfecb4d19b5ea75bb31ad904eb5b9fa13f21079c3b92017ebdf4999a5890" 1744 | dependencies = [ 1745 | "serde", 1746 | "time-core", 1747 | "time-macros", 1748 | ] 1749 | 1750 | [[package]] 1751 | name = "time-core" 1752 | version = "0.1.0" 1753 | source = "registry+https://github.com/rust-lang/crates.io-index" 1754 | checksum = "2e153e1f1acaef8acc537e68b44906d2db6436e2b35ac2c6b42640fff91f00fd" 1755 | 1756 | [[package]] 1757 | name = "time-macros" 1758 | version = "0.2.8" 1759 | source = "registry+https://github.com/rust-lang/crates.io-index" 1760 | checksum = "fd80a657e71da814b8e5d60d3374fc6d35045062245d80224748ae522dd76f36" 1761 | dependencies = [ 1762 | "time-core", 1763 | ] 1764 | 1765 | [[package]] 1766 | name = "tinyvec" 1767 | version = "1.6.0" 1768 | source = "registry+https://github.com/rust-lang/crates.io-index" 1769 | checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" 1770 | dependencies = [ 1771 | "tinyvec_macros", 1772 | ] 1773 | 1774 | [[package]] 1775 | name = "tinyvec_macros" 1776 | version = "0.1.1" 1777 | source = "registry+https://github.com/rust-lang/crates.io-index" 1778 | checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" 1779 | 1780 | [[package]] 1781 | name = "tokio" 1782 | version = "1.26.0" 1783 | source = "registry+https://github.com/rust-lang/crates.io-index" 1784 | checksum = "03201d01c3c27a29c8a5cee5b55a93ddae1ccf6f08f65365c2c918f8c1b76f64" 1785 | dependencies = [ 1786 | "autocfg", 1787 | "bytes", 1788 | "libc", 1789 | "memchr", 1790 | "mio", 1791 | "num_cpus", 1792 | "pin-project-lite", 1793 | "socket2", 1794 | "tokio-macros", 1795 | "windows-sys 0.45.0", 1796 | ] 1797 | 1798 | [[package]] 1799 | name = "tokio-macros" 1800 | version = "1.8.2" 1801 | source = "registry+https://github.com/rust-lang/crates.io-index" 1802 | checksum = "d266c00fde287f55d3f1c3e96c500c362a2b8c695076ec180f27918820bc6df8" 1803 | dependencies = [ 1804 | "proc-macro2", 1805 | "quote", 1806 | "syn 1.0.109", 1807 | ] 1808 | 1809 | [[package]] 1810 | name = "tokio-rustls" 1811 | version = "0.23.4" 1812 | source = "registry+https://github.com/rust-lang/crates.io-index" 1813 | checksum = "c43ee83903113e03984cb9e5cebe6c04a5116269e900e3ddba8f068a62adda59" 1814 | dependencies = [ 1815 | "rustls", 1816 | "tokio", 1817 | "webpki", 1818 | ] 1819 | 1820 | [[package]] 1821 | name = "tokio-stream" 1822 | version = "0.1.12" 1823 | source = "registry+https://github.com/rust-lang/crates.io-index" 1824 | checksum = "8fb52b74f05dbf495a8fba459fdc331812b96aa086d9eb78101fa0d4569c3313" 1825 | dependencies = [ 1826 | "futures-core", 1827 | "pin-project-lite", 1828 | "tokio", 1829 | ] 1830 | 1831 | [[package]] 1832 | name = "tokio-util" 1833 | version = "0.7.7" 1834 | source = "registry+https://github.com/rust-lang/crates.io-index" 1835 | checksum = "5427d89453009325de0d8f342c9490009f76e999cb7672d77e46267448f7e6b2" 1836 | dependencies = [ 1837 | "bytes", 1838 | "futures-core", 1839 | "futures-sink", 1840 | "pin-project-lite", 1841 | "tokio", 1842 | "tracing", 1843 | ] 1844 | 1845 | [[package]] 1846 | name = "tower" 1847 | version = "0.4.13" 1848 | source = "registry+https://github.com/rust-lang/crates.io-index" 1849 | checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" 1850 | dependencies = [ 1851 | "futures-core", 1852 | "futures-util", 1853 | "pin-project", 1854 | "pin-project-lite", 1855 | "tokio", 1856 | "tower-layer", 1857 | "tower-service", 1858 | "tracing", 1859 | ] 1860 | 1861 | [[package]] 1862 | name = "tower-http" 1863 | version = "0.4.0" 1864 | source = "registry+https://github.com/rust-lang/crates.io-index" 1865 | checksum = "5d1d42a9b3f3ec46ba828e8d376aec14592ea199f70a06a548587ecd1c4ab658" 1866 | dependencies = [ 1867 | "async-compression", 1868 | "bitflags", 1869 | "bytes", 1870 | "futures-core", 1871 | "futures-util", 1872 | "http", 1873 | "http-body", 1874 | "http-range-header", 1875 | "pin-project-lite", 1876 | "tokio", 1877 | "tokio-util", 1878 | "tower-layer", 1879 | "tower-service", 1880 | "tracing", 1881 | ] 1882 | 1883 | [[package]] 1884 | name = "tower-layer" 1885 | version = "0.3.2" 1886 | source = "registry+https://github.com/rust-lang/crates.io-index" 1887 | checksum = "c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0" 1888 | 1889 | [[package]] 1890 | name = "tower-service" 1891 | version = "0.3.2" 1892 | source = "registry+https://github.com/rust-lang/crates.io-index" 1893 | checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" 1894 | 1895 | [[package]] 1896 | name = "tracing" 1897 | version = "0.1.37" 1898 | source = "registry+https://github.com/rust-lang/crates.io-index" 1899 | checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8" 1900 | dependencies = [ 1901 | "cfg-if", 1902 | "log", 1903 | "pin-project-lite", 1904 | "tracing-attributes", 1905 | "tracing-core", 1906 | ] 1907 | 1908 | [[package]] 1909 | name = "tracing-attributes" 1910 | version = "0.1.23" 1911 | source = "registry+https://github.com/rust-lang/crates.io-index" 1912 | checksum = "4017f8f45139870ca7e672686113917c71c7a6e02d4924eda67186083c03081a" 1913 | dependencies = [ 1914 | "proc-macro2", 1915 | "quote", 1916 | "syn 1.0.109", 1917 | ] 1918 | 1919 | [[package]] 1920 | name = "tracing-core" 1921 | version = "0.1.30" 1922 | source = "registry+https://github.com/rust-lang/crates.io-index" 1923 | checksum = "24eb03ba0eab1fd845050058ce5e616558e8f8d8fca633e6b163fe25c797213a" 1924 | dependencies = [ 1925 | "once_cell", 1926 | "valuable", 1927 | ] 1928 | 1929 | [[package]] 1930 | name = "tracing-log" 1931 | version = "0.1.3" 1932 | source = "registry+https://github.com/rust-lang/crates.io-index" 1933 | checksum = "78ddad33d2d10b1ed7eb9d1f518a5674713876e97e5bb9b7345a7984fbb4f922" 1934 | dependencies = [ 1935 | "lazy_static", 1936 | "log", 1937 | "tracing-core", 1938 | ] 1939 | 1940 | [[package]] 1941 | name = "tracing-subscriber" 1942 | version = "0.3.16" 1943 | source = "registry+https://github.com/rust-lang/crates.io-index" 1944 | checksum = "a6176eae26dd70d0c919749377897b54a9276bd7061339665dd68777926b5a70" 1945 | dependencies = [ 1946 | "nu-ansi-term", 1947 | "sharded-slab", 1948 | "smallvec", 1949 | "thread_local", 1950 | "tracing-core", 1951 | "tracing-log", 1952 | ] 1953 | 1954 | [[package]] 1955 | name = "try-lock" 1956 | version = "0.2.4" 1957 | source = "registry+https://github.com/rust-lang/crates.io-index" 1958 | checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed" 1959 | 1960 | [[package]] 1961 | name = "typenum" 1962 | version = "1.16.0" 1963 | source = "registry+https://github.com/rust-lang/crates.io-index" 1964 | checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba" 1965 | 1966 | [[package]] 1967 | name = "unicode-bidi" 1968 | version = "0.3.10" 1969 | source = "registry+https://github.com/rust-lang/crates.io-index" 1970 | checksum = "d54675592c1dbefd78cbd98db9bacd89886e1ca50692a0692baefffdeb92dd58" 1971 | 1972 | [[package]] 1973 | name = "unicode-ident" 1974 | version = "1.0.8" 1975 | source = "registry+https://github.com/rust-lang/crates.io-index" 1976 | checksum = "e5464a87b239f13a63a501f2701565754bae92d243d4bb7eb12f6d57d2269bf4" 1977 | 1978 | [[package]] 1979 | name = "unicode-normalization" 1980 | version = "0.1.22" 1981 | source = "registry+https://github.com/rust-lang/crates.io-index" 1982 | checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" 1983 | dependencies = [ 1984 | "tinyvec", 1985 | ] 1986 | 1987 | [[package]] 1988 | name = "untrusted" 1989 | version = "0.7.1" 1990 | source = "registry+https://github.com/rust-lang/crates.io-index" 1991 | checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" 1992 | 1993 | [[package]] 1994 | name = "url" 1995 | version = "2.3.1" 1996 | source = "registry+https://github.com/rust-lang/crates.io-index" 1997 | checksum = "0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643" 1998 | dependencies = [ 1999 | "form_urlencoded", 2000 | "idna", 2001 | "percent-encoding", 2002 | ] 2003 | 2004 | [[package]] 2005 | name = "urlencoding" 2006 | version = "2.1.2" 2007 | source = "registry+https://github.com/rust-lang/crates.io-index" 2008 | checksum = "e8db7427f936968176eaa7cdf81b7f98b980b18495ec28f1b5791ac3bfe3eea9" 2009 | 2010 | [[package]] 2011 | name = "valuable" 2012 | version = "0.1.0" 2013 | source = "registry+https://github.com/rust-lang/crates.io-index" 2014 | checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" 2015 | 2016 | [[package]] 2017 | name = "version_check" 2018 | version = "0.9.4" 2019 | source = "registry+https://github.com/rust-lang/crates.io-index" 2020 | checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" 2021 | 2022 | [[package]] 2023 | name = "vsimd" 2024 | version = "0.8.0" 2025 | source = "registry+https://github.com/rust-lang/crates.io-index" 2026 | checksum = "5c3082ca00d5a5ef149bb8b555a72ae84c9c59f7250f013ac822ac2e49b19c64" 2027 | 2028 | [[package]] 2029 | name = "want" 2030 | version = "0.3.0" 2031 | source = "registry+https://github.com/rust-lang/crates.io-index" 2032 | checksum = "1ce8a968cb1cd110d136ff8b819a556d6fb6d919363c61534f6860c7eb172ba0" 2033 | dependencies = [ 2034 | "log", 2035 | "try-lock", 2036 | ] 2037 | 2038 | [[package]] 2039 | name = "wasi" 2040 | version = "0.11.0+wasi-snapshot-preview1" 2041 | source = "registry+https://github.com/rust-lang/crates.io-index" 2042 | checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" 2043 | 2044 | [[package]] 2045 | name = "wasm-bindgen" 2046 | version = "0.2.84" 2047 | source = "registry+https://github.com/rust-lang/crates.io-index" 2048 | checksum = "31f8dcbc21f30d9b8f2ea926ecb58f6b91192c17e9d33594b3df58b2007ca53b" 2049 | dependencies = [ 2050 | "cfg-if", 2051 | "wasm-bindgen-macro", 2052 | ] 2053 | 2054 | [[package]] 2055 | name = "wasm-bindgen-backend" 2056 | version = "0.2.84" 2057 | source = "registry+https://github.com/rust-lang/crates.io-index" 2058 | checksum = "95ce90fd5bcc06af55a641a86428ee4229e44e07033963a2290a8e241607ccb9" 2059 | dependencies = [ 2060 | "bumpalo", 2061 | "log", 2062 | "once_cell", 2063 | "proc-macro2", 2064 | "quote", 2065 | "syn 1.0.109", 2066 | "wasm-bindgen-shared", 2067 | ] 2068 | 2069 | [[package]] 2070 | name = "wasm-bindgen-macro" 2071 | version = "0.2.84" 2072 | source = "registry+https://github.com/rust-lang/crates.io-index" 2073 | checksum = "4c21f77c0bedc37fd5dc21f897894a5ca01e7bb159884559461862ae90c0b4c5" 2074 | dependencies = [ 2075 | "quote", 2076 | "wasm-bindgen-macro-support", 2077 | ] 2078 | 2079 | [[package]] 2080 | name = "wasm-bindgen-macro-support" 2081 | version = "0.2.84" 2082 | source = "registry+https://github.com/rust-lang/crates.io-index" 2083 | checksum = "2aff81306fcac3c7515ad4e177f521b5c9a15f2b08f4e32d823066102f35a5f6" 2084 | dependencies = [ 2085 | "proc-macro2", 2086 | "quote", 2087 | "syn 1.0.109", 2088 | "wasm-bindgen-backend", 2089 | "wasm-bindgen-shared", 2090 | ] 2091 | 2092 | [[package]] 2093 | name = "wasm-bindgen-shared" 2094 | version = "0.2.84" 2095 | source = "registry+https://github.com/rust-lang/crates.io-index" 2096 | checksum = "0046fef7e28c3804e5e38bfa31ea2a0f73905319b677e57ebe37e49358989b5d" 2097 | 2098 | [[package]] 2099 | name = "web-sys" 2100 | version = "0.3.61" 2101 | source = "registry+https://github.com/rust-lang/crates.io-index" 2102 | checksum = "e33b99f4b23ba3eec1a53ac264e35a755f00e966e0065077d6027c0f575b0b97" 2103 | dependencies = [ 2104 | "js-sys", 2105 | "wasm-bindgen", 2106 | ] 2107 | 2108 | [[package]] 2109 | name = "webpki" 2110 | version = "0.22.0" 2111 | source = "registry+https://github.com/rust-lang/crates.io-index" 2112 | checksum = "f095d78192e208183081cc07bc5515ef55216397af48b873e5edcd72637fa1bd" 2113 | dependencies = [ 2114 | "ring", 2115 | "untrusted", 2116 | ] 2117 | 2118 | [[package]] 2119 | name = "winapi" 2120 | version = "0.3.9" 2121 | source = "registry+https://github.com/rust-lang/crates.io-index" 2122 | checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" 2123 | dependencies = [ 2124 | "winapi-i686-pc-windows-gnu", 2125 | "winapi-x86_64-pc-windows-gnu", 2126 | ] 2127 | 2128 | [[package]] 2129 | name = "winapi-i686-pc-windows-gnu" 2130 | version = "0.4.0" 2131 | source = "registry+https://github.com/rust-lang/crates.io-index" 2132 | checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" 2133 | 2134 | [[package]] 2135 | name = "winapi-x86_64-pc-windows-gnu" 2136 | version = "0.4.0" 2137 | source = "registry+https://github.com/rust-lang/crates.io-index" 2138 | checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" 2139 | 2140 | [[package]] 2141 | name = "windows-sys" 2142 | version = "0.42.0" 2143 | source = "registry+https://github.com/rust-lang/crates.io-index" 2144 | checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7" 2145 | dependencies = [ 2146 | "windows_aarch64_gnullvm", 2147 | "windows_aarch64_msvc", 2148 | "windows_i686_gnu", 2149 | "windows_i686_msvc", 2150 | "windows_x86_64_gnu", 2151 | "windows_x86_64_gnullvm", 2152 | "windows_x86_64_msvc", 2153 | ] 2154 | 2155 | [[package]] 2156 | name = "windows-sys" 2157 | version = "0.45.0" 2158 | source = "registry+https://github.com/rust-lang/crates.io-index" 2159 | checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" 2160 | dependencies = [ 2161 | "windows-targets", 2162 | ] 2163 | 2164 | [[package]] 2165 | name = "windows-targets" 2166 | version = "0.42.1" 2167 | source = "registry+https://github.com/rust-lang/crates.io-index" 2168 | checksum = "8e2522491fbfcd58cc84d47aeb2958948c4b8982e9a2d8a2a35bbaed431390e7" 2169 | dependencies = [ 2170 | "windows_aarch64_gnullvm", 2171 | "windows_aarch64_msvc", 2172 | "windows_i686_gnu", 2173 | "windows_i686_msvc", 2174 | "windows_x86_64_gnu", 2175 | "windows_x86_64_gnullvm", 2176 | "windows_x86_64_msvc", 2177 | ] 2178 | 2179 | [[package]] 2180 | name = "windows_aarch64_gnullvm" 2181 | version = "0.42.1" 2182 | source = "registry+https://github.com/rust-lang/crates.io-index" 2183 | checksum = "8c9864e83243fdec7fc9c5444389dcbbfd258f745e7853198f365e3c4968a608" 2184 | 2185 | [[package]] 2186 | name = "windows_aarch64_msvc" 2187 | version = "0.42.1" 2188 | source = "registry+https://github.com/rust-lang/crates.io-index" 2189 | checksum = "4c8b1b673ffc16c47a9ff48570a9d85e25d265735c503681332589af6253c6c7" 2190 | 2191 | [[package]] 2192 | name = "windows_i686_gnu" 2193 | version = "0.42.1" 2194 | source = "registry+https://github.com/rust-lang/crates.io-index" 2195 | checksum = "de3887528ad530ba7bdbb1faa8275ec7a1155a45ffa57c37993960277145d640" 2196 | 2197 | [[package]] 2198 | name = "windows_i686_msvc" 2199 | version = "0.42.1" 2200 | source = "registry+https://github.com/rust-lang/crates.io-index" 2201 | checksum = "bf4d1122317eddd6ff351aa852118a2418ad4214e6613a50e0191f7004372605" 2202 | 2203 | [[package]] 2204 | name = "windows_x86_64_gnu" 2205 | version = "0.42.1" 2206 | source = "registry+https://github.com/rust-lang/crates.io-index" 2207 | checksum = "c1040f221285e17ebccbc2591ffdc2d44ee1f9186324dd3e84e99ac68d699c45" 2208 | 2209 | [[package]] 2210 | name = "windows_x86_64_gnullvm" 2211 | version = "0.42.1" 2212 | source = "registry+https://github.com/rust-lang/crates.io-index" 2213 | checksum = "628bfdf232daa22b0d64fdb62b09fcc36bb01f05a3939e20ab73aaf9470d0463" 2214 | 2215 | [[package]] 2216 | name = "windows_x86_64_msvc" 2217 | version = "0.42.1" 2218 | source = "registry+https://github.com/rust-lang/crates.io-index" 2219 | checksum = "447660ad36a13288b1db4d4248e857b510e8c3a225c822ba4fb748c0aafecffd" 2220 | 2221 | [[package]] 2222 | name = "xmlparser" 2223 | version = "0.13.5" 2224 | source = "registry+https://github.com/rust-lang/crates.io-index" 2225 | checksum = "4d25c75bf9ea12c4040a97f829154768bbbce366287e2dc044af160cd79a13fd" 2226 | 2227 | [[package]] 2228 | name = "zeroize" 2229 | version = "1.5.7" 2230 | source = "registry+https://github.com/rust-lang/crates.io-index" 2231 | checksum = "c394b5bd0c6f669e7275d9c20aa90ae064cb22e75a1cad54e1b34088034b149f" 2232 | 2233 | [[package]] 2234 | name = "zstd" 2235 | version = "0.11.2+zstd.1.5.2" 2236 | source = "registry+https://github.com/rust-lang/crates.io-index" 2237 | checksum = "20cc960326ece64f010d2d2107537f26dc589a6573a316bd5b1dba685fa5fde4" 2238 | dependencies = [ 2239 | "zstd-safe", 2240 | ] 2241 | 2242 | [[package]] 2243 | name = "zstd-safe" 2244 | version = "5.0.2+zstd.1.5.2" 2245 | source = "registry+https://github.com/rust-lang/crates.io-index" 2246 | checksum = "1d2a5585e04f9eea4b2a3d1eca508c4dee9592a89ef6f450c11719da0726f4db" 2247 | dependencies = [ 2248 | "libc", 2249 | "zstd-sys", 2250 | ] 2251 | 2252 | [[package]] 2253 | name = "zstd-sys" 2254 | version = "2.0.7+zstd.1.5.4" 2255 | source = "registry+https://github.com/rust-lang/crates.io-index" 2256 | checksum = "94509c3ba2fe55294d752b79842c530ccfab760192521df74a081a78d2b3c7f5" 2257 | dependencies = [ 2258 | "cc", 2259 | "libc", 2260 | "pkg-config", 2261 | ] 2262 | -------------------------------------------------------------------------------- /infra/package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "lambda", 3 | "requires": true, 4 | "lockfileVersion": 1, 5 | "dependencies": { 6 | "@grpc/grpc-js": { 7 | "version": "1.8.14", 8 | "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.8.14.tgz", 9 | "integrity": "sha512-w84maJ6CKl5aApCMzFll0hxtFNT6or9WwMslobKaqWUEf1K+zhlL43bSQhFreyYWIWR+Z0xnVFC1KtLm4ZpM/A==", 10 | "requires": { 11 | "@grpc/proto-loader": "^0.7.0", 12 | "@types/node": ">=12.12.47" 13 | }, 14 | "dependencies": { 15 | "@types/node": { 16 | "version": "18.15.11", 17 | "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz", 18 | "integrity": "sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==" 19 | } 20 | } 21 | }, 22 | "@grpc/proto-loader": { 23 | "version": "0.7.6", 24 | "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.7.6.tgz", 25 | "integrity": "sha512-QyAXR8Hyh7uMDmveWxDSUcJr9NAWaZ2I6IXgAYvQmfflwouTM+rArE2eEaCtLlRqO81j7pRLCt81IefUei6Zbw==", 26 | "requires": { 27 | "@types/long": "^4.0.1", 28 | "lodash.camelcase": "^4.3.0", 29 | "long": "^4.0.0", 30 | "protobufjs": "^7.0.0", 31 | "yargs": "^16.2.0" 32 | } 33 | }, 34 | "@logdna/tail-file": { 35 | "version": "2.2.0", 36 | "resolved": "https://registry.npmjs.org/@logdna/tail-file/-/tail-file-2.2.0.tgz", 37 | "integrity": "sha512-XGSsWDweP80Fks16lwkAUIr54ICyBs6PsI4mpfTLQaWgEJRtY9xEV+PeyDpJ+sJEGZxqINlpmAwe/6tS1pP8Ng==" 38 | }, 39 | "@opentelemetry/api": { 40 | "version": "1.4.1", 41 | "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.4.1.tgz", 42 | "integrity": "sha512-O2yRJce1GOc6PAy3QxFM4NzFiWzvScDC1/5ihYBL6BUEVdq0XMWN01sppE+H6bBXbaFYipjwFLEWLg5PaSOThA==" 43 | }, 44 | "@opentelemetry/api-metrics": { 45 | "version": "0.32.0", 46 | "resolved": "https://registry.npmjs.org/@opentelemetry/api-metrics/-/api-metrics-0.32.0.tgz", 47 | "integrity": "sha512-g1WLhpG8B6iuDyZJFRGsR+JKyZ94m5LEmY2f+duEJ9Xb4XRlLHrZvh6G34OH6GJ8iDHxfHb/sWjJ1ZpkI9yGMQ==", 48 | "requires": { 49 | "@opentelemetry/api": "^1.0.0" 50 | } 51 | }, 52 | "@opentelemetry/context-async-hooks": { 53 | "version": "1.12.0", 54 | "resolved": "https://registry.npmjs.org/@opentelemetry/context-async-hooks/-/context-async-hooks-1.12.0.tgz", 55 | "integrity": "sha512-PmwAanPNWCyS9JYFzhzVzHgviLhc0UHjOwdth+hp3HgQQ9XZZNE635P8JhAUHZmbghW9/qQFafRWOS4VN9VVnQ==" 56 | }, 57 | "@opentelemetry/core": { 58 | "version": "1.12.0", 59 | "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-1.12.0.tgz", 60 | "integrity": "sha512-4DWYNb3dLs2mSCGl65jY3aEgbvPWSHVQV/dmDWiYeWUrMakZQFcymqZOSUNZO0uDrEJoxMu8O5tZktX6UKFwag==", 61 | "requires": { 62 | "@opentelemetry/semantic-conventions": "1.12.0" 63 | } 64 | }, 65 | "@opentelemetry/exporter-zipkin": { 66 | "version": "1.12.0", 67 | "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-zipkin/-/exporter-zipkin-1.12.0.tgz", 68 | "integrity": "sha512-HJ4ww7OjVIV4x5ZGgY+h+D1JS0GsCtnHuqZUVHl7EFFQxMGpbQcf5eISRtwqgQwlQKh2iqrEbiHdDyzbgA/7XQ==", 69 | "requires": { 70 | "@opentelemetry/core": "1.12.0", 71 | "@opentelemetry/resources": "1.12.0", 72 | "@opentelemetry/sdk-trace-base": "1.12.0", 73 | "@opentelemetry/semantic-conventions": "1.12.0" 74 | } 75 | }, 76 | "@opentelemetry/instrumentation": { 77 | "version": "0.32.0", 78 | "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation/-/instrumentation-0.32.0.tgz", 79 | "integrity": "sha512-y6ADjHpkUz/v1nkyyYjsQa/zorhX+0qVGpFvXMcbjU4sHnBnC02c6wcc93sIgZfiQClIWo45TGku1KQxJ5UUbQ==", 80 | "requires": { 81 | "@opentelemetry/api-metrics": "0.32.0", 82 | "require-in-the-middle": "^5.0.3", 83 | "semver": "^7.3.2", 84 | "shimmer": "^1.2.1" 85 | }, 86 | "dependencies": { 87 | "semver": { 88 | "version": "7.4.0", 89 | "resolved": "https://registry.npmjs.org/semver/-/semver-7.4.0.tgz", 90 | "integrity": "sha512-RgOxM8Mw+7Zus0+zcLEUn8+JfoLpj/huFTItQy2hsM4khuC1HYRDp0cU482Ewn/Fcy6bCjufD8vAj7voC66KQw==", 91 | "requires": { 92 | "lru-cache": "^6.0.0" 93 | } 94 | } 95 | } 96 | }, 97 | "@opentelemetry/instrumentation-grpc": { 98 | "version": "0.32.0", 99 | "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-grpc/-/instrumentation-grpc-0.32.0.tgz", 100 | "integrity": "sha512-Az6wdkPx/Mi26lT9LKFV6GhCA9prwQFPz5eCNSExTnSP49YhQ7XCjzPd2POPeLKt84ICitrBMdE1mj0zbPdLAQ==", 101 | "requires": { 102 | "@opentelemetry/api-metrics": "0.32.0", 103 | "@opentelemetry/instrumentation": "0.32.0", 104 | "@opentelemetry/semantic-conventions": "1.6.0" 105 | }, 106 | "dependencies": { 107 | "@opentelemetry/semantic-conventions": { 108 | "version": "1.6.0", 109 | "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.6.0.tgz", 110 | "integrity": "sha512-aPfcBeLErM/PPiAuAbNFLN5sNbZLc3KZlar27uohllN8Zs6jJbHyJU1y7cMA6W/zuq+thkaG8mujiS+3iD/FWQ==" 111 | } 112 | } 113 | }, 114 | "@opentelemetry/propagator-b3": { 115 | "version": "1.12.0", 116 | "resolved": "https://registry.npmjs.org/@opentelemetry/propagator-b3/-/propagator-b3-1.12.0.tgz", 117 | "integrity": "sha512-WFcn98075QPc2zE1obhKydJHUehI5/HuLoelPEVwATj+487hjCwjHj9r2fgmQkWpvuNSB7CJaA0ys6qqq1N6lg==", 118 | "requires": { 119 | "@opentelemetry/core": "1.12.0" 120 | } 121 | }, 122 | "@opentelemetry/propagator-jaeger": { 123 | "version": "1.12.0", 124 | "resolved": "https://registry.npmjs.org/@opentelemetry/propagator-jaeger/-/propagator-jaeger-1.12.0.tgz", 125 | "integrity": "sha512-ugtWF7GC6X5RIJ0+iMwW2iVAGNs206CAeq8XQ8OkJRg+v0lp4H0/i+gJ4hubTT8NIL5a3IxtIrAENPLIGdLucQ==", 126 | "requires": { 127 | "@opentelemetry/core": "1.12.0" 128 | } 129 | }, 130 | "@opentelemetry/resources": { 131 | "version": "1.12.0", 132 | "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-1.12.0.tgz", 133 | "integrity": "sha512-gunMKXG0hJrR0LXrqh7BVbziA/+iJBL3ZbXCXO64uY+SrExkwoyJkpiq9l5ismkGF/A20mDEV7tGwh+KyPw00Q==", 134 | "requires": { 135 | "@opentelemetry/core": "1.12.0", 136 | "@opentelemetry/semantic-conventions": "1.12.0" 137 | } 138 | }, 139 | "@opentelemetry/sdk-trace-base": { 140 | "version": "1.12.0", 141 | "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-base/-/sdk-trace-base-1.12.0.tgz", 142 | "integrity": "sha512-pfCOB3tNDlYVoWuz4D7Ji+Jmy9MHnATWHVpkERdCEiwUGEZ+4IvNPXUcPc37wJVmMpjGLeaWgPPrie0KIpWf1A==", 143 | "requires": { 144 | "@opentelemetry/core": "1.12.0", 145 | "@opentelemetry/resources": "1.12.0", 146 | "@opentelemetry/semantic-conventions": "1.12.0" 147 | } 148 | }, 149 | "@opentelemetry/sdk-trace-node": { 150 | "version": "1.12.0", 151 | "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-node/-/sdk-trace-node-1.12.0.tgz", 152 | "integrity": "sha512-PxpDemnNZLLeFNLAu95/K3QubjlaScXVjVQPlwPui65VRxIvxGVysnN7DFfsref+qoh1hI6nlrYSij43vxdm2w==", 153 | "requires": { 154 | "@opentelemetry/context-async-hooks": "1.12.0", 155 | "@opentelemetry/core": "1.12.0", 156 | "@opentelemetry/propagator-b3": "1.12.0", 157 | "@opentelemetry/propagator-jaeger": "1.12.0", 158 | "@opentelemetry/sdk-trace-base": "1.12.0", 159 | "semver": "^7.3.5" 160 | }, 161 | "dependencies": { 162 | "semver": { 163 | "version": "7.4.0", 164 | "resolved": "https://registry.npmjs.org/semver/-/semver-7.4.0.tgz", 165 | "integrity": "sha512-RgOxM8Mw+7Zus0+zcLEUn8+JfoLpj/huFTItQy2hsM4khuC1HYRDp0cU482Ewn/Fcy6bCjufD8vAj7voC66KQw==", 166 | "requires": { 167 | "lru-cache": "^6.0.0" 168 | } 169 | } 170 | } 171 | }, 172 | "@opentelemetry/semantic-conventions": { 173 | "version": "1.12.0", 174 | "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.12.0.tgz", 175 | "integrity": "sha512-hO+bdeGOlJwqowUBoZF5LyP3ORUFOP1G0GRv8N45W/cztXbT2ZEXaAzfokRS9Xc9FWmYrDj32mF6SzH6wuoIyA==" 176 | }, 177 | "@protobufjs/aspromise": { 178 | "version": "1.1.2", 179 | "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", 180 | "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==" 181 | }, 182 | "@protobufjs/base64": { 183 | "version": "1.1.2", 184 | "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", 185 | "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==" 186 | }, 187 | "@protobufjs/codegen": { 188 | "version": "2.0.4", 189 | "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", 190 | "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==" 191 | }, 192 | "@protobufjs/eventemitter": { 193 | "version": "1.1.0", 194 | "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", 195 | "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==" 196 | }, 197 | "@protobufjs/fetch": { 198 | "version": "1.1.0", 199 | "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", 200 | "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==", 201 | "requires": { 202 | "@protobufjs/aspromise": "^1.1.1", 203 | "@protobufjs/inquire": "^1.1.0" 204 | } 205 | }, 206 | "@protobufjs/float": { 207 | "version": "1.0.2", 208 | "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", 209 | "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==" 210 | }, 211 | "@protobufjs/inquire": { 212 | "version": "1.1.0", 213 | "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", 214 | "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==" 215 | }, 216 | "@protobufjs/path": { 217 | "version": "1.1.2", 218 | "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", 219 | "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==" 220 | }, 221 | "@protobufjs/pool": { 222 | "version": "1.1.0", 223 | "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", 224 | "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==" 225 | }, 226 | "@protobufjs/utf8": { 227 | "version": "1.1.0", 228 | "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", 229 | "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==" 230 | }, 231 | "@pulumi/aws": { 232 | "version": "5.35.0", 233 | "resolved": "https://registry.npmjs.org/@pulumi/aws/-/aws-5.35.0.tgz", 234 | "integrity": "sha512-GplJF6Iy0lR8Ygx6FceV7HhcIJv1rjyRjU1fKeuMKjgTZmiWqbRmgD5DokalYe0aQlr0gs/QZidkQdPQt/OUsQ==", 235 | "requires": { 236 | "@pulumi/pulumi": "^3.0.0", 237 | "aws-sdk": "^2.0.0", 238 | "builtin-modules": "3.0.0", 239 | "mime": "^2.0.0", 240 | "read-package-tree": "^5.2.1", 241 | "resolve": "^1.7.1" 242 | } 243 | }, 244 | "@pulumi/awsx": { 245 | "version": "1.0.2", 246 | "resolved": "https://registry.npmjs.org/@pulumi/awsx/-/awsx-1.0.2.tgz", 247 | "integrity": "sha512-gT3piAGSa0ErafYYQ3iu7W175+usJ7fWtmoTcJ+oQW2bpnS+fM6uHro/bJlsBup1Ax2A8ep5Ts9AubPGbq01vA==", 248 | "requires": { 249 | "@pulumi/aws": "^5.16.2", 250 | "@pulumi/docker": "^3.6.1", 251 | "@pulumi/pulumi": "^3.0.0", 252 | "@types/aws-lambda": "^8.10.23", 253 | "mime": "^2.0.0" 254 | } 255 | }, 256 | "@pulumi/docker": { 257 | "version": "3.6.1", 258 | "resolved": "https://registry.npmjs.org/@pulumi/docker/-/docker-3.6.1.tgz", 259 | "integrity": "sha512-BZME50QkT556v+LvmTXPT8ssB2xxNkp9+msB5xYFEnUnWcdGAx5yUysQw70RJCb+U0GbkJSbxtlgMJgOQf/now==", 260 | "requires": { 261 | "@pulumi/pulumi": "^3.0.0", 262 | "semver": "^5.4.0" 263 | }, 264 | "dependencies": { 265 | "semver": { 266 | "version": "5.7.1", 267 | "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", 268 | "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" 269 | } 270 | } 271 | }, 272 | "@pulumi/pulumi": { 273 | "version": "3.63.0", 274 | "resolved": "https://registry.npmjs.org/@pulumi/pulumi/-/pulumi-3.63.0.tgz", 275 | "integrity": "sha512-nPaNYU5eXhgabkxIdLsVOqN7FN5lRdWmJiGUEbSvlS/enXQUp8aprxbCLXSxQtrtzQDdzyl5zd5Z1lrrAxewAA==", 276 | "requires": { 277 | "@grpc/grpc-js": "^1.3.8", 278 | "@logdna/tail-file": "^2.0.6", 279 | "@opentelemetry/api": "^1.2.0", 280 | "@opentelemetry/exporter-zipkin": "^1.6.0", 281 | "@opentelemetry/instrumentation-grpc": "^0.32.0", 282 | "@opentelemetry/resources": "^1.6.0", 283 | "@opentelemetry/sdk-trace-base": "^1.6.0", 284 | "@opentelemetry/sdk-trace-node": "^1.6.0", 285 | "@opentelemetry/semantic-conventions": "^1.6.0", 286 | "@pulumi/query": "^0.3.0", 287 | "execa": "^5.1.0", 288 | "google-protobuf": "^3.5.0", 289 | "ini": "^2.0.0", 290 | "js-yaml": "^3.14.0", 291 | "minimist": "^1.2.6", 292 | "normalize-package-data": "^2.4.0", 293 | "read-package-tree": "^5.3.1", 294 | "require-from-string": "^2.0.1", 295 | "semver": "^6.1.0", 296 | "source-map-support": "^0.5.6", 297 | "ts-node": "^7.0.1", 298 | "typescript": "~3.8.3", 299 | "upath": "^1.1.0" 300 | } 301 | }, 302 | "@pulumi/query": { 303 | "version": "0.3.0", 304 | "resolved": "https://registry.npmjs.org/@pulumi/query/-/query-0.3.0.tgz", 305 | "integrity": "sha512-xfo+yLRM2zVjVEA4p23IjQWzyWl1ZhWOGobsBqRpIarzLvwNH/RAGaoehdxlhx4X92302DrpdIFgTICMN4P38w==" 306 | }, 307 | "@types/aws-lambda": { 308 | "version": "8.10.114", 309 | "resolved": "https://registry.npmjs.org/@types/aws-lambda/-/aws-lambda-8.10.114.tgz", 310 | "integrity": "sha512-M8WpEGfC9iQ6V2Ccq6nGIXoQgeVc6z0Ngk8yCOL5V/TYIxshvb0MWQYLFFTZDesL0zmsoBc4OBjG9DB/4rei6w==" 311 | }, 312 | "@types/long": { 313 | "version": "4.0.2", 314 | "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.2.tgz", 315 | "integrity": "sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==" 316 | }, 317 | "@types/node": { 318 | "version": "16.18.23", 319 | "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.23.tgz", 320 | "integrity": "sha512-XAMpaw1s1+6zM+jn2tmw8MyaRDIJfXxqmIQIS0HfoGYPuf7dUWeiUKopwq13KFX9lEp1+THGtlaaYx39Nxr58g==", 321 | "dev": true 322 | }, 323 | "ansi-regex": { 324 | "version": "5.0.1", 325 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 326 | "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" 327 | }, 328 | "ansi-styles": { 329 | "version": "4.3.0", 330 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", 331 | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", 332 | "requires": { 333 | "color-convert": "^2.0.1" 334 | } 335 | }, 336 | "argparse": { 337 | "version": "1.0.10", 338 | "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", 339 | "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", 340 | "requires": { 341 | "sprintf-js": "~1.0.2" 342 | } 343 | }, 344 | "array-buffer-byte-length": { 345 | "version": "1.0.0", 346 | "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", 347 | "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", 348 | "requires": { 349 | "call-bind": "^1.0.2", 350 | "is-array-buffer": "^3.0.1" 351 | } 352 | }, 353 | "array.prototype.reduce": { 354 | "version": "1.0.5", 355 | "resolved": "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.5.tgz", 356 | "integrity": "sha512-kDdugMl7id9COE8R7MHF5jWk7Dqt/fs4Pv+JXoICnYwqpjjjbUurz6w5fT5IG6brLdJhv6/VoHB0H7oyIBXd+Q==", 357 | "requires": { 358 | "call-bind": "^1.0.2", 359 | "define-properties": "^1.1.4", 360 | "es-abstract": "^1.20.4", 361 | "es-array-method-boxes-properly": "^1.0.0", 362 | "is-string": "^1.0.7" 363 | } 364 | }, 365 | "arrify": { 366 | "version": "1.0.1", 367 | "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", 368 | "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==" 369 | }, 370 | "asap": { 371 | "version": "2.0.6", 372 | "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", 373 | "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" 374 | }, 375 | "available-typed-arrays": { 376 | "version": "1.0.5", 377 | "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", 378 | "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==" 379 | }, 380 | "aws-sdk": { 381 | "version": "2.1359.0", 382 | "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1359.0.tgz", 383 | "integrity": "sha512-uGNIU4czx8P0YITV8uhuLFhmyYvLWsFYINlHJX77/fea4VuTwcCGktYy2OEnrErp3FK9NHQvwXBxZCbY0lcxBg==", 384 | "requires": { 385 | "buffer": "4.9.2", 386 | "events": "1.1.1", 387 | "ieee754": "1.1.13", 388 | "jmespath": "0.16.0", 389 | "querystring": "0.2.0", 390 | "sax": "1.2.1", 391 | "url": "0.10.3", 392 | "util": "^0.12.4", 393 | "uuid": "8.0.0", 394 | "xml2js": "0.5.0" 395 | } 396 | }, 397 | "balanced-match": { 398 | "version": "1.0.2", 399 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", 400 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" 401 | }, 402 | "base64-js": { 403 | "version": "1.5.1", 404 | "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", 405 | "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" 406 | }, 407 | "brace-expansion": { 408 | "version": "1.1.11", 409 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 410 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 411 | "requires": { 412 | "balanced-match": "^1.0.0", 413 | "concat-map": "0.0.1" 414 | } 415 | }, 416 | "buffer": { 417 | "version": "4.9.2", 418 | "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", 419 | "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", 420 | "requires": { 421 | "base64-js": "^1.0.2", 422 | "ieee754": "^1.1.4", 423 | "isarray": "^1.0.0" 424 | } 425 | }, 426 | "buffer-from": { 427 | "version": "1.1.2", 428 | "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", 429 | "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" 430 | }, 431 | "builtin-modules": { 432 | "version": "3.0.0", 433 | "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.0.0.tgz", 434 | "integrity": "sha512-hMIeU4K2ilbXV6Uv93ZZ0Avg/M91RaKXucQ+4me2Do1txxBDyDZWCBa5bJSLqoNTRpXTLwEzIk1KmloenDDjhg==" 435 | }, 436 | "call-bind": { 437 | "version": "1.0.2", 438 | "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", 439 | "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", 440 | "requires": { 441 | "function-bind": "^1.1.1", 442 | "get-intrinsic": "^1.0.2" 443 | } 444 | }, 445 | "cliui": { 446 | "version": "7.0.4", 447 | "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", 448 | "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", 449 | "requires": { 450 | "string-width": "^4.2.0", 451 | "strip-ansi": "^6.0.0", 452 | "wrap-ansi": "^7.0.0" 453 | } 454 | }, 455 | "color-convert": { 456 | "version": "2.0.1", 457 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", 458 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 459 | "requires": { 460 | "color-name": "~1.1.4" 461 | } 462 | }, 463 | "color-name": { 464 | "version": "1.1.4", 465 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 466 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" 467 | }, 468 | "concat-map": { 469 | "version": "0.0.1", 470 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 471 | "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" 472 | }, 473 | "cross-spawn": { 474 | "version": "7.0.3", 475 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", 476 | "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", 477 | "requires": { 478 | "path-key": "^3.1.0", 479 | "shebang-command": "^2.0.0", 480 | "which": "^2.0.1" 481 | } 482 | }, 483 | "debug": { 484 | "version": "4.3.4", 485 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", 486 | "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", 487 | "requires": { 488 | "ms": "2.1.2" 489 | } 490 | }, 491 | "debuglog": { 492 | "version": "1.0.1", 493 | "resolved": "https://registry.npmjs.org/debuglog/-/debuglog-1.0.1.tgz", 494 | "integrity": "sha512-syBZ+rnAK3EgMsH2aYEOLUW7mZSY9Gb+0wUMCFsZvcmiz+HigA0LOcq/HoQqVuGG+EKykunc7QG2bzrponfaSw==" 495 | }, 496 | "define-properties": { 497 | "version": "1.2.0", 498 | "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", 499 | "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", 500 | "requires": { 501 | "has-property-descriptors": "^1.0.0", 502 | "object-keys": "^1.1.1" 503 | } 504 | }, 505 | "dezalgo": { 506 | "version": "1.0.4", 507 | "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.4.tgz", 508 | "integrity": "sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig==", 509 | "requires": { 510 | "asap": "^2.0.0", 511 | "wrappy": "1" 512 | } 513 | }, 514 | "diff": { 515 | "version": "3.5.0", 516 | "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", 517 | "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==" 518 | }, 519 | "emoji-regex": { 520 | "version": "8.0.0", 521 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", 522 | "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" 523 | }, 524 | "es-abstract": { 525 | "version": "1.21.2", 526 | "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.21.2.tgz", 527 | "integrity": "sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg==", 528 | "requires": { 529 | "array-buffer-byte-length": "^1.0.0", 530 | "available-typed-arrays": "^1.0.5", 531 | "call-bind": "^1.0.2", 532 | "es-set-tostringtag": "^2.0.1", 533 | "es-to-primitive": "^1.2.1", 534 | "function.prototype.name": "^1.1.5", 535 | "get-intrinsic": "^1.2.0", 536 | "get-symbol-description": "^1.0.0", 537 | "globalthis": "^1.0.3", 538 | "gopd": "^1.0.1", 539 | "has": "^1.0.3", 540 | "has-property-descriptors": "^1.0.0", 541 | "has-proto": "^1.0.1", 542 | "has-symbols": "^1.0.3", 543 | "internal-slot": "^1.0.5", 544 | "is-array-buffer": "^3.0.2", 545 | "is-callable": "^1.2.7", 546 | "is-negative-zero": "^2.0.2", 547 | "is-regex": "^1.1.4", 548 | "is-shared-array-buffer": "^1.0.2", 549 | "is-string": "^1.0.7", 550 | "is-typed-array": "^1.1.10", 551 | "is-weakref": "^1.0.2", 552 | "object-inspect": "^1.12.3", 553 | "object-keys": "^1.1.1", 554 | "object.assign": "^4.1.4", 555 | "regexp.prototype.flags": "^1.4.3", 556 | "safe-regex-test": "^1.0.0", 557 | "string.prototype.trim": "^1.2.7", 558 | "string.prototype.trimend": "^1.0.6", 559 | "string.prototype.trimstart": "^1.0.6", 560 | "typed-array-length": "^1.0.4", 561 | "unbox-primitive": "^1.0.2", 562 | "which-typed-array": "^1.1.9" 563 | } 564 | }, 565 | "es-array-method-boxes-properly": { 566 | "version": "1.0.0", 567 | "resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", 568 | "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==" 569 | }, 570 | "es-set-tostringtag": { 571 | "version": "2.0.1", 572 | "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", 573 | "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", 574 | "requires": { 575 | "get-intrinsic": "^1.1.3", 576 | "has": "^1.0.3", 577 | "has-tostringtag": "^1.0.0" 578 | } 579 | }, 580 | "es-to-primitive": { 581 | "version": "1.2.1", 582 | "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", 583 | "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", 584 | "requires": { 585 | "is-callable": "^1.1.4", 586 | "is-date-object": "^1.0.1", 587 | "is-symbol": "^1.0.2" 588 | } 589 | }, 590 | "escalade": { 591 | "version": "3.1.1", 592 | "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", 593 | "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" 594 | }, 595 | "esprima": { 596 | "version": "4.0.1", 597 | "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", 598 | "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" 599 | }, 600 | "events": { 601 | "version": "1.1.1", 602 | "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", 603 | "integrity": "sha512-kEcvvCBByWXGnZy6JUlgAp2gBIUjfCAV6P6TgT1/aaQKcmuAEC4OZTV1I4EWQLz2gxZw76atuVyvHhTxvi0Flw==" 604 | }, 605 | "execa": { 606 | "version": "5.1.1", 607 | "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", 608 | "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", 609 | "requires": { 610 | "cross-spawn": "^7.0.3", 611 | "get-stream": "^6.0.0", 612 | "human-signals": "^2.1.0", 613 | "is-stream": "^2.0.0", 614 | "merge-stream": "^2.0.0", 615 | "npm-run-path": "^4.0.1", 616 | "onetime": "^5.1.2", 617 | "signal-exit": "^3.0.3", 618 | "strip-final-newline": "^2.0.0" 619 | } 620 | }, 621 | "for-each": { 622 | "version": "0.3.3", 623 | "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", 624 | "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", 625 | "requires": { 626 | "is-callable": "^1.1.3" 627 | } 628 | }, 629 | "fs.realpath": { 630 | "version": "1.0.0", 631 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 632 | "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" 633 | }, 634 | "function-bind": { 635 | "version": "1.1.1", 636 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", 637 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" 638 | }, 639 | "function.prototype.name": { 640 | "version": "1.1.5", 641 | "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", 642 | "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", 643 | "requires": { 644 | "call-bind": "^1.0.2", 645 | "define-properties": "^1.1.3", 646 | "es-abstract": "^1.19.0", 647 | "functions-have-names": "^1.2.2" 648 | } 649 | }, 650 | "functions-have-names": { 651 | "version": "1.2.3", 652 | "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", 653 | "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==" 654 | }, 655 | "get-caller-file": { 656 | "version": "2.0.5", 657 | "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", 658 | "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" 659 | }, 660 | "get-intrinsic": { 661 | "version": "1.2.0", 662 | "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz", 663 | "integrity": "sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==", 664 | "requires": { 665 | "function-bind": "^1.1.1", 666 | "has": "^1.0.3", 667 | "has-symbols": "^1.0.3" 668 | } 669 | }, 670 | "get-stream": { 671 | "version": "6.0.1", 672 | "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", 673 | "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==" 674 | }, 675 | "get-symbol-description": { 676 | "version": "1.0.0", 677 | "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", 678 | "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", 679 | "requires": { 680 | "call-bind": "^1.0.2", 681 | "get-intrinsic": "^1.1.1" 682 | } 683 | }, 684 | "glob": { 685 | "version": "7.2.3", 686 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", 687 | "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", 688 | "requires": { 689 | "fs.realpath": "^1.0.0", 690 | "inflight": "^1.0.4", 691 | "inherits": "2", 692 | "minimatch": "^3.1.1", 693 | "once": "^1.3.0", 694 | "path-is-absolute": "^1.0.0" 695 | } 696 | }, 697 | "globalthis": { 698 | "version": "1.0.3", 699 | "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", 700 | "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", 701 | "requires": { 702 | "define-properties": "^1.1.3" 703 | } 704 | }, 705 | "google-protobuf": { 706 | "version": "3.21.2", 707 | "resolved": "https://registry.npmjs.org/google-protobuf/-/google-protobuf-3.21.2.tgz", 708 | "integrity": "sha512-3MSOYFO5U9mPGikIYCzK0SaThypfGgS6bHqrUGXG3DPHCrb+txNqeEcns1W0lkGfk0rCyNXm7xB9rMxnCiZOoA==" 709 | }, 710 | "gopd": { 711 | "version": "1.0.1", 712 | "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", 713 | "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", 714 | "requires": { 715 | "get-intrinsic": "^1.1.3" 716 | } 717 | }, 718 | "graceful-fs": { 719 | "version": "4.2.11", 720 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", 721 | "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" 722 | }, 723 | "has": { 724 | "version": "1.0.3", 725 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", 726 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", 727 | "requires": { 728 | "function-bind": "^1.1.1" 729 | } 730 | }, 731 | "has-bigints": { 732 | "version": "1.0.2", 733 | "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", 734 | "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==" 735 | }, 736 | "has-property-descriptors": { 737 | "version": "1.0.0", 738 | "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", 739 | "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", 740 | "requires": { 741 | "get-intrinsic": "^1.1.1" 742 | } 743 | }, 744 | "has-proto": { 745 | "version": "1.0.1", 746 | "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", 747 | "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==" 748 | }, 749 | "has-symbols": { 750 | "version": "1.0.3", 751 | "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", 752 | "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" 753 | }, 754 | "has-tostringtag": { 755 | "version": "1.0.0", 756 | "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", 757 | "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", 758 | "requires": { 759 | "has-symbols": "^1.0.2" 760 | } 761 | }, 762 | "hosted-git-info": { 763 | "version": "2.8.9", 764 | "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", 765 | "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==" 766 | }, 767 | "human-signals": { 768 | "version": "2.1.0", 769 | "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", 770 | "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==" 771 | }, 772 | "ieee754": { 773 | "version": "1.1.13", 774 | "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", 775 | "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==" 776 | }, 777 | "inflight": { 778 | "version": "1.0.6", 779 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 780 | "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", 781 | "requires": { 782 | "once": "^1.3.0", 783 | "wrappy": "1" 784 | } 785 | }, 786 | "inherits": { 787 | "version": "2.0.4", 788 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 789 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" 790 | }, 791 | "ini": { 792 | "version": "2.0.0", 793 | "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", 794 | "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==" 795 | }, 796 | "internal-slot": { 797 | "version": "1.0.5", 798 | "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", 799 | "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", 800 | "requires": { 801 | "get-intrinsic": "^1.2.0", 802 | "has": "^1.0.3", 803 | "side-channel": "^1.0.4" 804 | } 805 | }, 806 | "is-arguments": { 807 | "version": "1.1.1", 808 | "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", 809 | "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", 810 | "requires": { 811 | "call-bind": "^1.0.2", 812 | "has-tostringtag": "^1.0.0" 813 | } 814 | }, 815 | "is-array-buffer": { 816 | "version": "3.0.2", 817 | "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", 818 | "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", 819 | "requires": { 820 | "call-bind": "^1.0.2", 821 | "get-intrinsic": "^1.2.0", 822 | "is-typed-array": "^1.1.10" 823 | } 824 | }, 825 | "is-bigint": { 826 | "version": "1.0.4", 827 | "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", 828 | "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", 829 | "requires": { 830 | "has-bigints": "^1.0.1" 831 | } 832 | }, 833 | "is-boolean-object": { 834 | "version": "1.1.2", 835 | "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", 836 | "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", 837 | "requires": { 838 | "call-bind": "^1.0.2", 839 | "has-tostringtag": "^1.0.0" 840 | } 841 | }, 842 | "is-callable": { 843 | "version": "1.2.7", 844 | "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", 845 | "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==" 846 | }, 847 | "is-core-module": { 848 | "version": "2.12.0", 849 | "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.0.tgz", 850 | "integrity": "sha512-RECHCBCd/viahWmwj6enj19sKbHfJrddi/6cBDsNTKbNq0f7VeaUkBo60BqzvPqo/W54ChS62Z5qyun7cfOMqQ==", 851 | "requires": { 852 | "has": "^1.0.3" 853 | } 854 | }, 855 | "is-date-object": { 856 | "version": "1.0.5", 857 | "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", 858 | "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", 859 | "requires": { 860 | "has-tostringtag": "^1.0.0" 861 | } 862 | }, 863 | "is-fullwidth-code-point": { 864 | "version": "3.0.0", 865 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", 866 | "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" 867 | }, 868 | "is-generator-function": { 869 | "version": "1.0.10", 870 | "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", 871 | "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", 872 | "requires": { 873 | "has-tostringtag": "^1.0.0" 874 | } 875 | }, 876 | "is-negative-zero": { 877 | "version": "2.0.2", 878 | "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", 879 | "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==" 880 | }, 881 | "is-number-object": { 882 | "version": "1.0.7", 883 | "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", 884 | "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", 885 | "requires": { 886 | "has-tostringtag": "^1.0.0" 887 | } 888 | }, 889 | "is-regex": { 890 | "version": "1.1.4", 891 | "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", 892 | "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", 893 | "requires": { 894 | "call-bind": "^1.0.2", 895 | "has-tostringtag": "^1.0.0" 896 | } 897 | }, 898 | "is-shared-array-buffer": { 899 | "version": "1.0.2", 900 | "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", 901 | "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", 902 | "requires": { 903 | "call-bind": "^1.0.2" 904 | } 905 | }, 906 | "is-stream": { 907 | "version": "2.0.1", 908 | "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", 909 | "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==" 910 | }, 911 | "is-string": { 912 | "version": "1.0.7", 913 | "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", 914 | "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", 915 | "requires": { 916 | "has-tostringtag": "^1.0.0" 917 | } 918 | }, 919 | "is-symbol": { 920 | "version": "1.0.4", 921 | "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", 922 | "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", 923 | "requires": { 924 | "has-symbols": "^1.0.2" 925 | } 926 | }, 927 | "is-typed-array": { 928 | "version": "1.1.10", 929 | "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", 930 | "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", 931 | "requires": { 932 | "available-typed-arrays": "^1.0.5", 933 | "call-bind": "^1.0.2", 934 | "for-each": "^0.3.3", 935 | "gopd": "^1.0.1", 936 | "has-tostringtag": "^1.0.0" 937 | } 938 | }, 939 | "is-weakref": { 940 | "version": "1.0.2", 941 | "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", 942 | "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", 943 | "requires": { 944 | "call-bind": "^1.0.2" 945 | } 946 | }, 947 | "isarray": { 948 | "version": "1.0.0", 949 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", 950 | "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" 951 | }, 952 | "isexe": { 953 | "version": "2.0.0", 954 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 955 | "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" 956 | }, 957 | "jmespath": { 958 | "version": "0.16.0", 959 | "resolved": "https://registry.npmjs.org/jmespath/-/jmespath-0.16.0.tgz", 960 | "integrity": "sha512-9FzQjJ7MATs1tSpnco1K6ayiYE3figslrXA72G2HQ/n76RzvYlofyi5QM+iX4YRs/pu3yzxlVQSST23+dMDknw==" 961 | }, 962 | "js-yaml": { 963 | "version": "3.14.1", 964 | "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", 965 | "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", 966 | "requires": { 967 | "argparse": "^1.0.7", 968 | "esprima": "^4.0.0" 969 | } 970 | }, 971 | "json-parse-even-better-errors": { 972 | "version": "2.3.1", 973 | "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", 974 | "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" 975 | }, 976 | "lodash.camelcase": { 977 | "version": "4.3.0", 978 | "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", 979 | "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==" 980 | }, 981 | "long": { 982 | "version": "4.0.0", 983 | "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", 984 | "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" 985 | }, 986 | "lru-cache": { 987 | "version": "6.0.0", 988 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", 989 | "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", 990 | "requires": { 991 | "yallist": "^4.0.0" 992 | } 993 | }, 994 | "make-error": { 995 | "version": "1.3.6", 996 | "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", 997 | "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==" 998 | }, 999 | "merge-stream": { 1000 | "version": "2.0.0", 1001 | "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", 1002 | "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" 1003 | }, 1004 | "mime": { 1005 | "version": "2.6.0", 1006 | "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", 1007 | "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==" 1008 | }, 1009 | "mimic-fn": { 1010 | "version": "2.1.0", 1011 | "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", 1012 | "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" 1013 | }, 1014 | "minimatch": { 1015 | "version": "3.1.2", 1016 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", 1017 | "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", 1018 | "requires": { 1019 | "brace-expansion": "^1.1.7" 1020 | } 1021 | }, 1022 | "minimist": { 1023 | "version": "1.2.8", 1024 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", 1025 | "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==" 1026 | }, 1027 | "mkdirp": { 1028 | "version": "0.5.6", 1029 | "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", 1030 | "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", 1031 | "requires": { 1032 | "minimist": "^1.2.6" 1033 | } 1034 | }, 1035 | "module-details-from-path": { 1036 | "version": "1.0.3", 1037 | "resolved": "https://registry.npmjs.org/module-details-from-path/-/module-details-from-path-1.0.3.tgz", 1038 | "integrity": "sha512-ySViT69/76t8VhE1xXHK6Ch4NcDd26gx0MzKXLO+F7NOtnqH68d9zF94nT8ZWSxXh8ELOERsnJO/sWt1xZYw5A==" 1039 | }, 1040 | "ms": { 1041 | "version": "2.1.2", 1042 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", 1043 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" 1044 | }, 1045 | "normalize-package-data": { 1046 | "version": "2.5.0", 1047 | "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", 1048 | "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", 1049 | "requires": { 1050 | "hosted-git-info": "^2.1.4", 1051 | "resolve": "^1.10.0", 1052 | "semver": "2 || 3 || 4 || 5", 1053 | "validate-npm-package-license": "^3.0.1" 1054 | }, 1055 | "dependencies": { 1056 | "semver": { 1057 | "version": "5.7.1", 1058 | "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", 1059 | "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" 1060 | } 1061 | } 1062 | }, 1063 | "npm-normalize-package-bin": { 1064 | "version": "1.0.1", 1065 | "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz", 1066 | "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==" 1067 | }, 1068 | "npm-run-path": { 1069 | "version": "4.0.1", 1070 | "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", 1071 | "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", 1072 | "requires": { 1073 | "path-key": "^3.0.0" 1074 | } 1075 | }, 1076 | "object-inspect": { 1077 | "version": "1.12.3", 1078 | "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", 1079 | "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==" 1080 | }, 1081 | "object-keys": { 1082 | "version": "1.1.1", 1083 | "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", 1084 | "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" 1085 | }, 1086 | "object.assign": { 1087 | "version": "4.1.4", 1088 | "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", 1089 | "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", 1090 | "requires": { 1091 | "call-bind": "^1.0.2", 1092 | "define-properties": "^1.1.4", 1093 | "has-symbols": "^1.0.3", 1094 | "object-keys": "^1.1.1" 1095 | } 1096 | }, 1097 | "object.getownpropertydescriptors": { 1098 | "version": "2.1.5", 1099 | "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.5.tgz", 1100 | "integrity": "sha512-yDNzckpM6ntyQiGTik1fKV1DcVDRS+w8bvpWNCBanvH5LfRX9O8WTHqQzG4RZwRAM4I0oU7TV11Lj5v0g20ibw==", 1101 | "requires": { 1102 | "array.prototype.reduce": "^1.0.5", 1103 | "call-bind": "^1.0.2", 1104 | "define-properties": "^1.1.4", 1105 | "es-abstract": "^1.20.4" 1106 | } 1107 | }, 1108 | "once": { 1109 | "version": "1.4.0", 1110 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 1111 | "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", 1112 | "requires": { 1113 | "wrappy": "1" 1114 | } 1115 | }, 1116 | "onetime": { 1117 | "version": "5.1.2", 1118 | "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", 1119 | "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", 1120 | "requires": { 1121 | "mimic-fn": "^2.1.0" 1122 | } 1123 | }, 1124 | "path-is-absolute": { 1125 | "version": "1.0.1", 1126 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 1127 | "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" 1128 | }, 1129 | "path-key": { 1130 | "version": "3.1.1", 1131 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", 1132 | "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" 1133 | }, 1134 | "path-parse": { 1135 | "version": "1.0.7", 1136 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", 1137 | "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" 1138 | }, 1139 | "protobufjs": { 1140 | "version": "7.2.3", 1141 | "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.2.3.tgz", 1142 | "integrity": "sha512-TtpvOqwB5Gdz/PQmOjgsrGH1nHjAQVCN7JG4A6r1sXRWESL5rNMAiRcBQlCAdKxZcAbstExQePYG8xof/JVRgg==", 1143 | "requires": { 1144 | "@protobufjs/aspromise": "^1.1.2", 1145 | "@protobufjs/base64": "^1.1.2", 1146 | "@protobufjs/codegen": "^2.0.4", 1147 | "@protobufjs/eventemitter": "^1.1.0", 1148 | "@protobufjs/fetch": "^1.1.0", 1149 | "@protobufjs/float": "^1.0.2", 1150 | "@protobufjs/inquire": "^1.1.0", 1151 | "@protobufjs/path": "^1.1.2", 1152 | "@protobufjs/pool": "^1.1.0", 1153 | "@protobufjs/utf8": "^1.1.0", 1154 | "@types/node": ">=13.7.0", 1155 | "long": "^5.0.0" 1156 | }, 1157 | "dependencies": { 1158 | "@types/node": { 1159 | "version": "18.15.11", 1160 | "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz", 1161 | "integrity": "sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==" 1162 | }, 1163 | "long": { 1164 | "version": "5.2.1", 1165 | "resolved": "https://registry.npmjs.org/long/-/long-5.2.1.tgz", 1166 | "integrity": "sha512-GKSNGeNAtw8IryjjkhZxuKB3JzlcLTwjtiQCHKvqQet81I93kXslhDQruGI/QsddO83mcDToBVy7GqGS/zYf/A==" 1167 | } 1168 | } 1169 | }, 1170 | "punycode": { 1171 | "version": "1.3.2", 1172 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", 1173 | "integrity": "sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==" 1174 | }, 1175 | "querystring": { 1176 | "version": "0.2.0", 1177 | "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", 1178 | "integrity": "sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==" 1179 | }, 1180 | "read-package-json": { 1181 | "version": "2.1.2", 1182 | "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-2.1.2.tgz", 1183 | "integrity": "sha512-D1KmuLQr6ZSJS0tW8hf3WGpRlwszJOXZ3E8Yd/DNRaM5d+1wVRZdHlpGBLAuovjr28LbWvjpWkBHMxpRGGjzNA==", 1184 | "requires": { 1185 | "glob": "^7.1.1", 1186 | "json-parse-even-better-errors": "^2.3.0", 1187 | "normalize-package-data": "^2.0.0", 1188 | "npm-normalize-package-bin": "^1.0.0" 1189 | } 1190 | }, 1191 | "read-package-tree": { 1192 | "version": "5.3.1", 1193 | "resolved": "https://registry.npmjs.org/read-package-tree/-/read-package-tree-5.3.1.tgz", 1194 | "integrity": "sha512-mLUDsD5JVtlZxjSlPPx1RETkNjjvQYuweKwNVt1Sn8kP5Jh44pvYuUHCp6xSVDZWbNxVxG5lyZJ921aJH61sTw==", 1195 | "requires": { 1196 | "read-package-json": "^2.0.0", 1197 | "readdir-scoped-modules": "^1.0.0", 1198 | "util-promisify": "^2.1.0" 1199 | } 1200 | }, 1201 | "readdir-scoped-modules": { 1202 | "version": "1.1.0", 1203 | "resolved": "https://registry.npmjs.org/readdir-scoped-modules/-/readdir-scoped-modules-1.1.0.tgz", 1204 | "integrity": "sha512-asaikDeqAQg7JifRsZn1NJZXo9E+VwlyCfbkZhwyISinqk5zNS6266HS5kah6P0SaQKGF6SkNnZVHUzHFYxYDw==", 1205 | "requires": { 1206 | "debuglog": "^1.0.1", 1207 | "dezalgo": "^1.0.0", 1208 | "graceful-fs": "^4.1.2", 1209 | "once": "^1.3.0" 1210 | } 1211 | }, 1212 | "regexp.prototype.flags": { 1213 | "version": "1.4.3", 1214 | "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", 1215 | "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==", 1216 | "requires": { 1217 | "call-bind": "^1.0.2", 1218 | "define-properties": "^1.1.3", 1219 | "functions-have-names": "^1.2.2" 1220 | } 1221 | }, 1222 | "require-directory": { 1223 | "version": "2.1.1", 1224 | "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", 1225 | "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==" 1226 | }, 1227 | "require-from-string": { 1228 | "version": "2.0.2", 1229 | "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", 1230 | "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==" 1231 | }, 1232 | "require-in-the-middle": { 1233 | "version": "5.2.0", 1234 | "resolved": "https://registry.npmjs.org/require-in-the-middle/-/require-in-the-middle-5.2.0.tgz", 1235 | "integrity": "sha512-efCx3b+0Z69/LGJmm9Yvi4cqEdxnoGnxYxGxBghkkTTFeXRtTCmmhO0AnAfHz59k957uTSuy8WaHqOs8wbYUWg==", 1236 | "requires": { 1237 | "debug": "^4.1.1", 1238 | "module-details-from-path": "^1.0.3", 1239 | "resolve": "^1.22.1" 1240 | } 1241 | }, 1242 | "resolve": { 1243 | "version": "1.22.3", 1244 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.3.tgz", 1245 | "integrity": "sha512-P8ur/gp/AmbEzjr729bZnLjXK5Z+4P0zhIJgBgzqRih7hL7BOukHGtSTA3ACMY467GRFz3duQsi0bDZdR7DKdw==", 1246 | "requires": { 1247 | "is-core-module": "^2.12.0", 1248 | "path-parse": "^1.0.7", 1249 | "supports-preserve-symlinks-flag": "^1.0.0" 1250 | } 1251 | }, 1252 | "safe-regex-test": { 1253 | "version": "1.0.0", 1254 | "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", 1255 | "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", 1256 | "requires": { 1257 | "call-bind": "^1.0.2", 1258 | "get-intrinsic": "^1.1.3", 1259 | "is-regex": "^1.1.4" 1260 | } 1261 | }, 1262 | "sax": { 1263 | "version": "1.2.1", 1264 | "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz", 1265 | "integrity": "sha512-8I2a3LovHTOpm7NV5yOyO8IHqgVsfK4+UuySrXU8YXkSRX7k6hCV9b3HrkKCr3nMpgj+0bmocaJJWpvp1oc7ZA==" 1266 | }, 1267 | "semver": { 1268 | "version": "6.3.0", 1269 | "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", 1270 | "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" 1271 | }, 1272 | "shebang-command": { 1273 | "version": "2.0.0", 1274 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", 1275 | "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", 1276 | "requires": { 1277 | "shebang-regex": "^3.0.0" 1278 | } 1279 | }, 1280 | "shebang-regex": { 1281 | "version": "3.0.0", 1282 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", 1283 | "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" 1284 | }, 1285 | "shimmer": { 1286 | "version": "1.2.1", 1287 | "resolved": "https://registry.npmjs.org/shimmer/-/shimmer-1.2.1.tgz", 1288 | "integrity": "sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw==" 1289 | }, 1290 | "side-channel": { 1291 | "version": "1.0.4", 1292 | "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", 1293 | "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", 1294 | "requires": { 1295 | "call-bind": "^1.0.0", 1296 | "get-intrinsic": "^1.0.2", 1297 | "object-inspect": "^1.9.0" 1298 | } 1299 | }, 1300 | "signal-exit": { 1301 | "version": "3.0.7", 1302 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", 1303 | "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" 1304 | }, 1305 | "source-map": { 1306 | "version": "0.6.1", 1307 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", 1308 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" 1309 | }, 1310 | "source-map-support": { 1311 | "version": "0.5.21", 1312 | "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", 1313 | "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", 1314 | "requires": { 1315 | "buffer-from": "^1.0.0", 1316 | "source-map": "^0.6.0" 1317 | } 1318 | }, 1319 | "spdx-correct": { 1320 | "version": "3.2.0", 1321 | "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", 1322 | "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", 1323 | "requires": { 1324 | "spdx-expression-parse": "^3.0.0", 1325 | "spdx-license-ids": "^3.0.0" 1326 | } 1327 | }, 1328 | "spdx-exceptions": { 1329 | "version": "2.3.0", 1330 | "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", 1331 | "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==" 1332 | }, 1333 | "spdx-expression-parse": { 1334 | "version": "3.0.1", 1335 | "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", 1336 | "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", 1337 | "requires": { 1338 | "spdx-exceptions": "^2.1.0", 1339 | "spdx-license-ids": "^3.0.0" 1340 | } 1341 | }, 1342 | "spdx-license-ids": { 1343 | "version": "3.0.13", 1344 | "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.13.tgz", 1345 | "integrity": "sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==" 1346 | }, 1347 | "sprintf-js": { 1348 | "version": "1.0.3", 1349 | "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", 1350 | "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" 1351 | }, 1352 | "string-width": { 1353 | "version": "4.2.3", 1354 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", 1355 | "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", 1356 | "requires": { 1357 | "emoji-regex": "^8.0.0", 1358 | "is-fullwidth-code-point": "^3.0.0", 1359 | "strip-ansi": "^6.0.1" 1360 | } 1361 | }, 1362 | "string.prototype.trim": { 1363 | "version": "1.2.7", 1364 | "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz", 1365 | "integrity": "sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==", 1366 | "requires": { 1367 | "call-bind": "^1.0.2", 1368 | "define-properties": "^1.1.4", 1369 | "es-abstract": "^1.20.4" 1370 | } 1371 | }, 1372 | "string.prototype.trimend": { 1373 | "version": "1.0.6", 1374 | "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", 1375 | "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", 1376 | "requires": { 1377 | "call-bind": "^1.0.2", 1378 | "define-properties": "^1.1.4", 1379 | "es-abstract": "^1.20.4" 1380 | } 1381 | }, 1382 | "string.prototype.trimstart": { 1383 | "version": "1.0.6", 1384 | "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", 1385 | "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", 1386 | "requires": { 1387 | "call-bind": "^1.0.2", 1388 | "define-properties": "^1.1.4", 1389 | "es-abstract": "^1.20.4" 1390 | } 1391 | }, 1392 | "strip-ansi": { 1393 | "version": "6.0.1", 1394 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 1395 | "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 1396 | "requires": { 1397 | "ansi-regex": "^5.0.1" 1398 | } 1399 | }, 1400 | "strip-final-newline": { 1401 | "version": "2.0.0", 1402 | "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", 1403 | "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==" 1404 | }, 1405 | "supports-preserve-symlinks-flag": { 1406 | "version": "1.0.0", 1407 | "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", 1408 | "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" 1409 | }, 1410 | "ts-node": { 1411 | "version": "7.0.1", 1412 | "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-7.0.1.tgz", 1413 | "integrity": "sha512-BVwVbPJRspzNh2yfslyT1PSbl5uIk03EZlb493RKHN4qej/D06n1cEhjlOJG69oFsE7OT8XjpTUcYf6pKTLMhw==", 1414 | "requires": { 1415 | "arrify": "^1.0.0", 1416 | "buffer-from": "^1.1.0", 1417 | "diff": "^3.1.0", 1418 | "make-error": "^1.1.1", 1419 | "minimist": "^1.2.0", 1420 | "mkdirp": "^0.5.1", 1421 | "source-map-support": "^0.5.6", 1422 | "yn": "^2.0.0" 1423 | } 1424 | }, 1425 | "typed-array-length": { 1426 | "version": "1.0.4", 1427 | "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", 1428 | "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", 1429 | "requires": { 1430 | "call-bind": "^1.0.2", 1431 | "for-each": "^0.3.3", 1432 | "is-typed-array": "^1.1.9" 1433 | } 1434 | }, 1435 | "typescript": { 1436 | "version": "3.8.3", 1437 | "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.8.3.tgz", 1438 | "integrity": "sha512-MYlEfn5VrLNsgudQTVJeNaQFUAI7DkhnOjdpAp4T+ku1TfQClewlbSuTVHiA+8skNBgaf02TL/kLOvig4y3G8w==" 1439 | }, 1440 | "unbox-primitive": { 1441 | "version": "1.0.2", 1442 | "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", 1443 | "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", 1444 | "requires": { 1445 | "call-bind": "^1.0.2", 1446 | "has-bigints": "^1.0.2", 1447 | "has-symbols": "^1.0.3", 1448 | "which-boxed-primitive": "^1.0.2" 1449 | } 1450 | }, 1451 | "upath": { 1452 | "version": "1.2.0", 1453 | "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", 1454 | "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==" 1455 | }, 1456 | "url": { 1457 | "version": "0.10.3", 1458 | "resolved": "https://registry.npmjs.org/url/-/url-0.10.3.tgz", 1459 | "integrity": "sha512-hzSUW2q06EqL1gKM/a+obYHLIO6ct2hwPuviqTTOcfFVc61UbfJ2Q32+uGL/HCPxKqrdGB5QUwIe7UqlDgwsOQ==", 1460 | "requires": { 1461 | "punycode": "1.3.2", 1462 | "querystring": "0.2.0" 1463 | } 1464 | }, 1465 | "util": { 1466 | "version": "0.12.5", 1467 | "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", 1468 | "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", 1469 | "requires": { 1470 | "inherits": "^2.0.3", 1471 | "is-arguments": "^1.0.4", 1472 | "is-generator-function": "^1.0.7", 1473 | "is-typed-array": "^1.1.3", 1474 | "which-typed-array": "^1.1.2" 1475 | } 1476 | }, 1477 | "util-promisify": { 1478 | "version": "2.1.0", 1479 | "resolved": "https://registry.npmjs.org/util-promisify/-/util-promisify-2.1.0.tgz", 1480 | "integrity": "sha512-K+5eQPYs14b3+E+hmE2J6gCZ4JmMl9DbYS6BeP2CHq6WMuNxErxf5B/n0fz85L8zUuoO6rIzNNmIQDu/j+1OcA==", 1481 | "requires": { 1482 | "object.getownpropertydescriptors": "^2.0.3" 1483 | } 1484 | }, 1485 | "uuid": { 1486 | "version": "8.0.0", 1487 | "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.0.0.tgz", 1488 | "integrity": "sha512-jOXGuXZAWdsTH7eZLtyXMqUb9EcWMGZNbL9YcGBJl4MH4nrxHmZJhEHvyLFrkxo+28uLb/NYRcStH48fnD0Vzw==" 1489 | }, 1490 | "validate-npm-package-license": { 1491 | "version": "3.0.4", 1492 | "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", 1493 | "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", 1494 | "requires": { 1495 | "spdx-correct": "^3.0.0", 1496 | "spdx-expression-parse": "^3.0.0" 1497 | } 1498 | }, 1499 | "which": { 1500 | "version": "2.0.2", 1501 | "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", 1502 | "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", 1503 | "requires": { 1504 | "isexe": "^2.0.0" 1505 | } 1506 | }, 1507 | "which-boxed-primitive": { 1508 | "version": "1.0.2", 1509 | "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", 1510 | "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", 1511 | "requires": { 1512 | "is-bigint": "^1.0.1", 1513 | "is-boolean-object": "^1.1.0", 1514 | "is-number-object": "^1.0.4", 1515 | "is-string": "^1.0.5", 1516 | "is-symbol": "^1.0.3" 1517 | } 1518 | }, 1519 | "which-typed-array": { 1520 | "version": "1.1.9", 1521 | "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz", 1522 | "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==", 1523 | "requires": { 1524 | "available-typed-arrays": "^1.0.5", 1525 | "call-bind": "^1.0.2", 1526 | "for-each": "^0.3.3", 1527 | "gopd": "^1.0.1", 1528 | "has-tostringtag": "^1.0.0", 1529 | "is-typed-array": "^1.1.10" 1530 | } 1531 | }, 1532 | "wrap-ansi": { 1533 | "version": "7.0.0", 1534 | "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", 1535 | "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", 1536 | "requires": { 1537 | "ansi-styles": "^4.0.0", 1538 | "string-width": "^4.1.0", 1539 | "strip-ansi": "^6.0.0" 1540 | } 1541 | }, 1542 | "wrappy": { 1543 | "version": "1.0.2", 1544 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 1545 | "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" 1546 | }, 1547 | "xml2js": { 1548 | "version": "0.5.0", 1549 | "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.5.0.tgz", 1550 | "integrity": "sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==", 1551 | "requires": { 1552 | "sax": ">=0.6.0", 1553 | "xmlbuilder": "~11.0.0" 1554 | } 1555 | }, 1556 | "xmlbuilder": { 1557 | "version": "11.0.1", 1558 | "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", 1559 | "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==" 1560 | }, 1561 | "y18n": { 1562 | "version": "5.0.8", 1563 | "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", 1564 | "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" 1565 | }, 1566 | "yallist": { 1567 | "version": "4.0.0", 1568 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", 1569 | "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" 1570 | }, 1571 | "yargs": { 1572 | "version": "16.2.0", 1573 | "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", 1574 | "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", 1575 | "requires": { 1576 | "cliui": "^7.0.2", 1577 | "escalade": "^3.1.1", 1578 | "get-caller-file": "^2.0.5", 1579 | "require-directory": "^2.1.1", 1580 | "string-width": "^4.2.0", 1581 | "y18n": "^5.0.5", 1582 | "yargs-parser": "^20.2.2" 1583 | } 1584 | }, 1585 | "yargs-parser": { 1586 | "version": "20.2.9", 1587 | "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", 1588 | "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==" 1589 | }, 1590 | "yn": { 1591 | "version": "2.0.0", 1592 | "resolved": "https://registry.npmjs.org/yn/-/yn-2.0.0.tgz", 1593 | "integrity": "sha512-uTv8J/wiWTgUTg+9vLTi//leUl5vDQS6uii/emeTb2ssY7vl6QWf2fFbIIGjnhjvbdKlU0ed7QPgY1htTC86jQ==" 1594 | } 1595 | } 1596 | } 1597 | --------------------------------------------------------------------------------