├── .cargo-ok
├── examples
├── shadow-cljs
│ ├── public
│ │ └── index.html
│ ├── package.json
│ ├── shadow-cljs.edn
│ ├── src
│ │ └── main
│ │ │ └── app.cljs
│ └── package-lock.json
└── parcel
│ ├── index.html
│ ├── index.js
│ └── package.json
├── .gitignore
├── rust-toolchain.toml
├── .appveyor.yml
├── index.d.ts
├── rollup.config.mjs
├── index.js
├── Cargo.toml
├── package.json
├── LICENSE_MIT
├── .github
└── workflows
│ └── main.yml
├── README.md
├── CHANGELOG.md
├── tests
├── all.test.js
└── all.rs
├── src
└── lib.rs
├── supply-chain
├── imports.lock
├── config.toml
└── audits.toml
├── LICENSE_APACHE
└── Cargo.lock
/.cargo-ok:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/examples/shadow-cljs/public/index.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | /target
2 | **/*.rs.bk
3 | bin/
4 | pkg/
5 | wasm-pack.log
6 | node_modules
7 | dist
8 | .parcel-cache
9 | .vscode
--------------------------------------------------------------------------------
/rust-toolchain.toml:
--------------------------------------------------------------------------------
1 | [toolchain]
2 | channel = "nightly"
3 | components = ["rust-src"]
4 | targets = ["wasm32-unknown-unknown"]
5 | profile = "minimal"
6 |
--------------------------------------------------------------------------------
/examples/parcel/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/examples/shadow-cljs/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "rage-wasm-example",
3 | "version": "0.0.1",
4 | "private": "true",
5 | "devDependencies": {
6 | "shadow-cljs": "2.20.2",
7 | "@kanru/rage-wasm": "../../"
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/examples/shadow-cljs/shadow-cljs.edn:
--------------------------------------------------------------------------------
1 | {:source-paths
2 | ["src/main"]
3 |
4 | :dependencies
5 | [[funcool/promesa "4.0.2"]]
6 |
7 | :dev-http {8060 "public"}
8 |
9 | :builds
10 | {:app
11 | {:target :browser
12 | :modules {:main {:init-fn app/init}}
13 | :compiler-options {:output-feature-set :es8}}}}
--------------------------------------------------------------------------------
/examples/parcel/index.js:
--------------------------------------------------------------------------------
1 | import { html, render } from 'htm/preact';
2 | import * as rage from '@kanru/rage-wasm';
3 |
4 | async function run() {
5 | let key = await rage.keygen();
6 | render(html`
7 |
Generating AGE key...
8 |
Private key: ${key[0]}
9 |
Public key: ${key[1]}
10 |
`, document.body);
11 | }
12 |
13 | run();
--------------------------------------------------------------------------------
/.appveyor.yml:
--------------------------------------------------------------------------------
1 | install:
2 | - appveyor-retry appveyor DownloadFile https://win.rustup.rs/ -FileName rustup-init.exe
3 | - if not defined RUSTFLAGS rustup-init.exe -y --default-host x86_64-pc-windows-msvc --default-toolchain nightly
4 | - set PATH=%PATH%;C:\Users\appveyor\.cargo\bin
5 | - rustc -V
6 | - cargo -V
7 |
8 | build: false
9 |
10 | test_script:
11 | - cargo test --locked
12 |
--------------------------------------------------------------------------------
/examples/parcel/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "rage-wasm-example-parcel",
3 | "version": "1.0.0",
4 | "description": "",
5 | "scripts": {
6 | "dev": "parcel index.html"
7 | },
8 | "author": "",
9 | "license": "Apache-2.0",
10 | "devDependencies": {
11 | "parcel": "^2.11.0"
12 | },
13 | "dependencies": {
14 | "@kanru/rage-wasm": "^0.3.0",
15 | "htm": "^3.1.1",
16 | "preact": "^10.19.3"
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/index.d.ts:
--------------------------------------------------------------------------------
1 | /* tslint:disable */
2 | /* eslint-disable */
3 | export function keygen(): Promise;
4 | export function encrypt_with_x25519(public_key: string, data: Uint8Array, armor: boolean): Promise;
5 | export function decrypt_with_x25519(secret_key: string, data: Uint8Array): Promise;
6 | export function encrypt_with_user_passphrase(passphrase: string, data: Uint8Array, armor: boolean): Promise;
7 | export function decrypt_with_user_passphrase(passphrase: string, data: Uint8Array): Promise;
8 |
--------------------------------------------------------------------------------
/rollup.config.mjs:
--------------------------------------------------------------------------------
1 | import rust from "@wasm-tool/rollup-plugin-rust";
2 | import replace from 'rollup-plugin-re'
3 |
4 | export default {
5 | input: 'index.js',
6 | output: {
7 | dir: 'dist',
8 | },
9 | plugins: [
10 | rust({
11 | cargoArgs: ["-Zbuild-std=std,panic_abort", "-Zbuild-std-features=panic_immediate_abort"],
12 | wasmOptArgs: ["-Oz"],
13 | verbose: true,
14 | inlineWasm: true
15 | }),
16 | replace({
17 | patterns: [
18 | {
19 | test: 'input = import.meta.url.replace(/\\.js$/, \'_bg.wasm\');',
20 | replace: ''
21 | },
22 | {
23 | test: 'input = new URL(\'index_bg.wasm\', import.meta.url);',
24 | replace: ''
25 | }
26 | ]
27 | })
28 | ],
29 | };
30 |
--------------------------------------------------------------------------------
/index.js:
--------------------------------------------------------------------------------
1 | import * as wasm from './Cargo.toml';
2 |
3 | const rage_wasm = wasm.default();
4 |
5 | export async function keygen() {
6 | return (await rage_wasm).keygen();
7 | }
8 |
9 | export async function encrypt_with_x25519(public_key, data, armor) {
10 | return (await rage_wasm).encrypt_with_x25519(public_key, data, armor);
11 | }
12 |
13 | export async function decrypt_with_x25519(secret_key, data) {
14 | return (await rage_wasm).decrypt_with_x25519(secret_key, data);
15 | }
16 |
17 | export async function encrypt_with_user_passphrase(passphrase, data, armor) {
18 | return (await rage_wasm).encrypt_with_user_passphrase(passphrase, data, armor);
19 | }
20 |
21 | export async function decrypt_with_user_passphrase(passphrase, data) {
22 | return (await rage_wasm).decrypt_with_user_passphrase(passphrase, data);
23 | }
--------------------------------------------------------------------------------
/Cargo.toml:
--------------------------------------------------------------------------------
1 | [package]
2 | name = "rage-wasm"
3 | version = "0.3.1"
4 | authors = ["Kan-Ru Chen "]
5 | repository = "https://github.com/kanru/rage-wasm"
6 | readme = "README.md"
7 | keywords = ["rage", "encryption", "wasm"]
8 | categories = ["cryptography"]
9 | edition = "2021"
10 | license = "MIT OR Apache-2.0"
11 |
12 | [badges]
13 | maintenance = { status = "experimental" }
14 |
15 | [lib]
16 | crate-type = ["cdylib", "rlib"]
17 |
18 | [dependencies]
19 | # WebAssembly interop
20 | wasm-bindgen = "0.2.83"
21 | js-sys = "0.3.60"
22 | # Core encryption library
23 | age = { version = "0.9.2", features = ["armor", "web-sys"] }
24 | # For key generation
25 | secrecy = "0.8.0"
26 |
27 | # Enable rand_core's wasm support with js runtime
28 | getrandom_2_7 = { package = "getrandom", version = "0.2.7", features = ["js"] }
29 | getrandom_1_16 = { package = "getrandom", version = "0.1.16", features = ["wasm-bindgen"] }
30 |
31 | [dev-dependencies]
32 | wasm-bindgen-test = "0.3.33"
33 |
34 | [profile.release]
35 | opt-level = "z"
36 | lto = true
37 | panic = 'abort'
38 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@kanru/rage-wasm",
3 | "collaborators": [
4 | "Kan-Ru Chen "
5 | ],
6 | "version": "0.3.2",
7 | "license": "MIT OR Apache-2.0",
8 | "repository": {
9 | "type": "git",
10 | "url": "git+https://github.com/kanru/rage-wasm.git"
11 | },
12 | "scripts": {
13 | "build": "RUSTFLAGS='-C target-feature=+atomics,+bulk-memory,+mutable-globals' rollup -c rollup.config.mjs",
14 | "test": "web-test-runner tests/**/*.test.js --node-resolve --playwright --browsers chromium firefox webkit",
15 | "clean": "cargo clean"
16 | },
17 | "files": [
18 | "dist/index.js",
19 | "index.d.ts",
20 | "LICENSE_APACHE",
21 | "LICENSE_MIT"
22 | ],
23 | "type": "module",
24 | "module": "dist/index.js",
25 | "types": "index.d.ts",
26 | "sideEffects": false,
27 | "devDependencies": {
28 | "@esm-bundle/chai": "^4.3.4-fix.0",
29 | "@wasm-tool/rollup-plugin-rust": "^2.4.5",
30 | "@web/test-runner": "^0.18.0",
31 | "@web/test-runner-playwright": "^0.11.0",
32 | "rollup": "^4.9.6",
33 | "rollup-plugin-re": "^1.0.7"
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/LICENSE_MIT:
--------------------------------------------------------------------------------
1 | Copyright (c) 2021 Kan-Ru Chen
2 |
3 | Permission is hereby granted, free of charge, to any
4 | person obtaining a copy of this software and associated
5 | documentation files (the "Software"), to deal in the
6 | Software without restriction, including without
7 | limitation the rights to use, copy, modify, merge,
8 | publish, distribute, sublicense, and/or sell copies of
9 | the Software, and to permit persons to whom the Software
10 | is furnished to do so, subject to the following
11 | conditions:
12 |
13 | The above copyright notice and this permission notice
14 | shall be included in all copies or substantial portions
15 | of the Software.
16 |
17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
18 | ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
19 | TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
20 | PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
21 | SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
22 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
23 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
24 | IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
25 | DEALINGS IN THE SOFTWARE.
26 |
--------------------------------------------------------------------------------
/.github/workflows/main.yml:
--------------------------------------------------------------------------------
1 | name: CI
2 |
3 | on: [push, pull_request]
4 |
5 | jobs:
6 | cargo-vet:
7 | name: Vet Dependencies
8 | runs-on: ubuntu-latest
9 | env:
10 | CARGO_VET_VERSION: 0.9.0
11 | steps:
12 | - uses: actions/checkout@master
13 | - uses: actions/cache@v2
14 | with:
15 | path: ${{ runner.tool_cache }}/cargo-vet
16 | key: cargo-vet-bin-${{ env.CARGO_VET_VERSION }}
17 | - name: Add the tool cache directory to the search path
18 | run: echo "${{ runner.tool_cache }}/cargo-vet/bin" >> $GITHUB_PATH
19 | - name: Ensure that the tool cache is populated with the cargo-vet binary
20 | run: cargo install --root ${{ runner.tool_cache }}/cargo-vet --version ${{ env.CARGO_VET_VERSION }} cargo-vet
21 | - name: Invoke cargo-vet
22 | run: cargo vet --locked
23 | test:
24 | name: Web Test Runner
25 | runs-on: ubuntu-latest
26 | steps:
27 | - uses: actions/checkout@v3
28 | - uses: actions/setup-node@v3
29 | with:
30 | node-version: 20
31 | - uses: microsoft/playwright-github-action@v1
32 | - name: Install dependencies and run tests
33 | run: cargo check && npm install && npm run build && npx playwright install && npm test
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # rage-wasm: WebAssembly wrapper of rage
2 |
3 | rage is a simple, modern, and secure file encryption tool, using the age format.
4 | It features small explicit keys, no config options, and UNIX-style
5 | composability.
6 |
7 | The format specification is at [age-encryption.org/v1](https://age-encryption.org/v1).
8 | To discuss the spec or other age related topics, please email
9 | [the mailing list](https://groups.google.com/d/forum/age-dev) at
10 | age-dev@googlegroups.com. age was designed by
11 | [@Benjojo12](https://twitter.com/Benjojo12) and
12 | [@FiloSottile](https://twitter.com/FiloSottile).
13 |
14 | This package is a WebAssembly wrapper of the Rust
15 | [rage](https://github.com/str4d/rage) package, providing basic encryption and
16 | descryption operations.
17 |
18 | ## 🚴 Usage
19 |
20 | ### 🐑 Use NPM or Yarn to install the package
21 |
22 | ```
23 | npm install @kanru/rage-wasm
24 | ```
25 |
26 | The package exports a single module with 5 async methods. Upon first use
27 | an inlined webassembly module will be loaded asynchronously.
28 |
29 | - keygen - generate x25519 key pairs
30 | - encrypt_with_x25519
31 | - decrypt_with_x25519
32 | - encrypt_with_user_passphrase
33 | - decrypt_with_user_passphrase
34 |
35 | ### Examples
36 |
37 | Some examples with parcel or shadow-cljs are available under the `examples/` directory.
38 |
39 | ## Contribute
40 |
41 | ### 🛠️ Build
42 |
43 | ```
44 | npm install
45 | npm run build
46 | ```
47 |
48 | ### 🔬 Test in Headless Browsers
49 |
50 | ```
51 | npm test
52 | ```
53 |
54 | ### 🎁 Publish to NPM
55 |
56 | ```
57 | npm publish
58 | ```
59 |
--------------------------------------------------------------------------------
/CHANGELOG.md:
--------------------------------------------------------------------------------
1 | # Changelog
2 |
3 | All notable changes to this project will be documented in this file.
4 |
5 | The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6 | and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7 |
8 | ## [Unreleased]
9 |
10 | ### Changed
11 |
12 | - Remove all direct dependency on wasm-pack
13 | - Use web-test-runner to run tests
14 |
15 | ## [0.3.0] - 2022-09-22
16 |
17 | ### Added
18 |
19 | - Dependencies are partially audited and documented with [cargo-vet]
20 |
21 | [cargo-vet]: https://mozilla.github.io/cargo-vet/index.html
22 |
23 | ### Changed
24 |
25 | - Removed cog.toml and adopted Keep a Changelog format.
26 | - Removed unmaintained dependency wee_alloc. Default allocator will be used.
27 | - Added shadow-cljs example
28 |
29 | ## [0.2.2] - 2021-08-29
30 |
31 | ### Added
32 |
33 | - 40888e add an example with parcel, htm, and preact - Kan-Ru Chen
34 |
35 | ### Changed
36 |
37 | - aae08f optimize new wasm-pack output - Kan-Ru Chen
38 | - 781a44 fix cog pre-bump hook - Kan-Ru Chen
39 | - 622881 update dependencies - Kan-Ru Chen
40 | - f27933 update dependencies - Kan-Ru Chen
41 |
42 | ### Fixed
43 |
44 | - a5c93e use correct return type in type declaration - Kan-Ru Chen
45 |
46 | ## [0.2.1] - 2021-02-10
47 |
48 | ### Changed
49 |
50 | - 2eb37c minimal CI with github action (#1) - Kan-Ru Chen
51 | - 6ac451 enable panic_immedate_abort when using nightly to get smallest wasm - Kan-Ru Chen
52 | - 21f888 build rlib so we can run tests - Kan-Ru Chen
53 |
54 | ## [0.2.0] - 2021-02-10
55 |
56 | ### Added
57 |
58 | - d7489f use rollup to bundle generated files - Kan-Ru Chen
59 |
60 | ### Removed
61 |
62 | - 872ead remove unused keygen_from_random_bytes function - Kan-Ru Chen
63 |
64 | ### Changed
65 |
66 | - 014e68 add pre_bump_hooks to cog.toml - Kan-Ru Chen
67 | - 5e7595 update wasm-bindgen - Kan-Ru Chen
68 |
69 | ## [0.1.4] - 2021-02-03
70 |
71 | ### Changed
72 |
73 | - 95874f switch to rage from git to enable faster passphrase encryption - Kan-Ru Chen
74 | - e82b2f add initial cog.toml for cocogitto - Kan-Ru Chen
75 |
76 |
77 | [Unreleased]: https://github.com/kanru/rage-wasm/compare/v0.3.0..main
78 | [0.3.0]: https://github.com/kanru/rage-wasm/releases/v0.3.0
79 | [0.2.2]: https://github.com/kanru/rage-wasm/releases/tag/0.2.2
80 | [0.2.1]: https://github.com/kanru/rage-wasm/releases/tag/0.2.1
81 | [0.2.0]: https://github.com/kanru/rage-wasm/releases/tag/0.2.0
82 | [0.1.4]: https://github.com/kanru/rage-wasm/releases/tag/0.1.4
--------------------------------------------------------------------------------
/tests/all.test.js:
--------------------------------------------------------------------------------
1 | import { expect } from "@esm-bundle/chai";
2 | import { keygen, encrypt_with_x25519, decrypt_with_x25519, encrypt_with_user_passphrase, decrypt_with_user_passphrase } from "../dist/index.js";
3 |
4 | const ENCODER = new TextEncoder("utf-8");
5 | const DECODER = new TextDecoder("utf-8");
6 |
7 | function encode(s) {
8 | return ENCODER.encode(s);
9 | }
10 |
11 | function decode(arr) {
12 | return DECODER.decode(arr);
13 | }
14 |
15 | it('x25519 encryption and decryption', async () => {
16 | let secret_key = "AGE-SECRET-KEY-17QZPZDKGN49PAJHQGKDT056ND8MEZ6ZQK9HPXGMCS85VXNXEPATSQTYK6T";
17 | let public_key = "age1mfqmqkz9ga3a3lrgw8yatm79h5pqdu7z2hclghck5v8lrtwerysq97u6j8";
18 | let data = "test";
19 | let encrypted = await encrypt_with_x25519(public_key, encode(data), true);
20 | let decrypted = decode(await decrypt_with_x25519(secret_key, encrypted));
21 | expect(decrypted).to.equal(data);
22 | });
23 |
24 | it('x25519 keygen and encryption and decryption', async () => {
25 | let keys = await keygen();
26 | let secret_key = keys[0];
27 | let public_key = keys[1];
28 | let data = "test";
29 | let encrypted = await encrypt_with_x25519(public_key, encode(data), true);
30 | let decrypted = decode(await decrypt_with_x25519(secret_key, encrypted));
31 | expect(decrypted).to.equal(data);
32 | });
33 |
34 | it('x25519 keygen and unaromored encryption and decryption', async () => {
35 | let keys = await keygen();
36 | let secret_key = keys[0];
37 | let public_key = keys[1];
38 | let data = "test";
39 | let encrypted = await encrypt_with_x25519(public_key, encode(data), false);
40 | let decrypted = decode(await decrypt_with_x25519(secret_key, encrypted));
41 | expect(decrypted).to.equal(data);
42 | });
43 |
44 | it('passphrase encryption and decryption', async function () {
45 | this.timeout(5000);
46 | let key = "passphrase";
47 | let data = "test";
48 | let encrypted = await encrypt_with_user_passphrase(key, encode(data), true);
49 | let decrypted = decode(await decrypt_with_user_passphrase(key, encrypted));
50 | expect(decrypted).to.equal(data);
51 | });
52 |
53 | it('passphrase unarmored encryption and decryption', async function () {
54 | this.timeout(5000);
55 | let key = "passphrase";
56 | let data = "test";
57 | let encrypted = await encrypt_with_user_passphrase(key, encode(data), false);
58 | let decrypted = decode(await decrypt_with_user_passphrase(key, encrypted));
59 | expect(decrypted).to.equal(data);
60 | });
--------------------------------------------------------------------------------
/tests/all.rs:
--------------------------------------------------------------------------------
1 | #![cfg(target_arch = "wasm32")]
2 |
3 | extern crate wasm_bindgen_test;
4 | use rage_wasm::{
5 | decrypt_with_user_passphrase, decrypt_with_x25519, encrypt_with_user_passphrase,
6 | encrypt_with_x25519, keygen,
7 | };
8 | use wasm_bindgen_test::*;
9 |
10 | wasm_bindgen_test_configure!(run_in_browser);
11 |
12 | #[wasm_bindgen_test]
13 | fn x25519_encryption_and_decryption() {
14 | let secret_key = "AGE-SECRET-KEY-17QZPZDKGN49PAJHQGKDT056ND8MEZ6ZQK9HPXGMCS85VXNXEPATSQTYK6T";
15 | let public_key = "age1mfqmqkz9ga3a3lrgw8yatm79h5pqdu7z2hclghck5v8lrtwerysq97u6j8";
16 | let data = "test";
17 | let encrypted = encrypt_with_x25519(&public_key, data.as_bytes(), true).unwrap();
18 | let decrypted = decrypt_with_x25519(&secret_key, &encrypted).unwrap();
19 |
20 | assert_eq!(data.as_bytes(), decrypted.as_ref());
21 | }
22 |
23 | #[wasm_bindgen_test]
24 | fn x25519_keygen_and_encryption_and_decryption() {
25 | let keys = keygen();
26 | let secret_key = keys[0].as_string().unwrap();
27 | let public_key = keys[1].as_string().unwrap();
28 | let data = "test";
29 | let encrypted = encrypt_with_x25519(&public_key, data.as_bytes(), true).unwrap();
30 | let decrypted = decrypt_with_x25519(&secret_key, &encrypted).unwrap();
31 |
32 | assert_eq!(data.as_bytes(), decrypted.as_ref());
33 | }
34 |
35 | #[wasm_bindgen_test]
36 | fn x25519_keygen_and_unarmored_encryption_and_decryption() {
37 | let keys = keygen();
38 | let secret_key = keys[0].as_string().unwrap();
39 | let public_key = keys[1].as_string().unwrap();
40 | let data = "test";
41 | let encrypted = encrypt_with_x25519(&public_key, data.as_bytes(), false).unwrap();
42 | let decrypted = decrypt_with_x25519(&secret_key, &encrypted).unwrap();
43 |
44 | assert_eq!(data.as_bytes(), decrypted.as_ref());
45 | }
46 |
47 | #[wasm_bindgen_test]
48 | fn passphrase_encryption_and_decryption() {
49 | let key = "password";
50 | let data = "test";
51 | let encrypted = encrypt_with_user_passphrase(&key, data.as_bytes(), true).unwrap();
52 | let decrypted = decrypt_with_user_passphrase(&key, &encrypted).unwrap();
53 |
54 | assert_eq!(data.as_bytes(), decrypted.as_ref());
55 | }
56 |
57 | #[wasm_bindgen_test]
58 | fn passphrase_unarmored_encryption_and_decryption() {
59 | let key = "password";
60 | let data = "test";
61 | let encrypted = encrypt_with_user_passphrase(&key, data.as_bytes(), false).unwrap();
62 | let decrypted = decrypt_with_user_passphrase(&key, &encrypted).unwrap();
63 |
64 | assert_eq!(data.as_bytes(), decrypted.as_ref());
65 | }
66 |
--------------------------------------------------------------------------------
/examples/shadow-cljs/src/main/app.cljs:
--------------------------------------------------------------------------------
1 | (ns app
2 | (:require ["@kanru/rage-wasm" :as rage]
3 | [promesa.core :as p]))
4 |
5 | (defonce encoder
6 | (js/TextEncoder. "utf-8"))
7 |
8 | (defonce decoder
9 | (js/TextDecoder. "utf-8"))
10 |
11 | (defn encode [s]
12 | (.encode encoder s))
13 |
14 | (defn decode [arr]
15 | (.decode decoder arr))
16 |
17 | (defn x25519-encryption-and-decryption []
18 | (p/let [secret_key "AGE-SECRET-KEY-17QZPZDKGN49PAJHQGKDT056ND8MEZ6ZQK9HPXGMCS85VXNXEPATSQTYK6T"
19 | public_key "age1mfqmqkz9ga3a3lrgw8yatm79h5pqdu7z2hclghck5v8lrtwerysq97u6j8"
20 | data "test"
21 | encrypted (rage/encrypt_with_x25519 public_key (encode data) true)
22 | decrypted (rage/decrypt_with_x25519 secret_key encrypted)]
23 | (assert (= data (decode decrypted)))
24 | "ok"))
25 |
26 | (defn x25519-keygen-and-encryption-and-decryption []
27 | (p/let [keys (rage/keygen)
28 | secret_key (first keys)
29 | public_key (second keys)
30 | data "test"
31 | encrypted (rage/encrypt_with_x25519 public_key (encode data) true)
32 | decrypted (rage/decrypt_with_x25519 secret_key encrypted)]
33 | (assert (= data (decode decrypted)))
34 | "ok"))
35 |
36 | (defn x25519-keygen-and-unarmored-encryption-and-decryption []
37 | (p/let [keys (rage/keygen)
38 | secret_key (first keys)
39 | public_key (second keys)
40 | data "test"
41 | encrypted (rage/encrypt_with_x25519 public_key (encode data) false)
42 | decrypted (rage/decrypt_with_x25519 secret_key encrypted)]
43 | (assert (= data (decode decrypted)))
44 | "ok"))
45 |
46 | (defn passphrase-encryption-and-decryption []
47 | (p/let [keys (rage/keygen)
48 | key "password"
49 | data "test"
50 | encrypted (rage/encrypt_with_user_passphrase key (encode data) true)
51 | decrypted (rage/decrypt_with_user_passphrase key encrypted)]
52 | (assert (= data (decode decrypted)))
53 | "ok"))
54 |
55 | (defn passphrase-unarmored-encryption-and-decryption []
56 | (p/let [keys (rage/keygen)
57 | key "password"
58 | data "test"
59 | encrypted (rage/encrypt_with_user_passphrase key (encode data) false)
60 | decrypted (rage/decrypt_with_user_passphrase key encrypted)]
61 | (assert (= data (decode decrypted)))
62 | "ok"))
63 |
64 |
65 | (defn init []
66 | (p/let [t1 (x25519-encryption-and-decryption)
67 | t2 (x25519-keygen-and-encryption-and-decryption)
68 | t3 (x25519-keygen-and-unarmored-encryption-and-decryption)
69 | t4 (passphrase-encryption-and-decryption)
70 | t5 (passphrase-unarmored-encryption-and-decryption)]
71 | (js/console.log "x25519-encryption-and-decryption..." t1)
72 | (js/console.log "x25519-keygen-and-encryption-and-decryption..." t2)
73 | (js/console.log "x25519-keygen-and-unarmored-encryption-and-decryption..." t3)
74 | (js/console.log "passphrase-encryption-and-decryption..." t4)
75 | (js/console.log "passphrase-unarmored-encryption-and-decryption..." t5)))
--------------------------------------------------------------------------------
/src/lib.rs:
--------------------------------------------------------------------------------
1 | use age::{
2 | armor::{ArmoredReader, ArmoredWriter, Format},
3 | x25519, Decryptor, Encryptor,
4 | };
5 | use secrecy::{ExposeSecret, Secret};
6 | use std::{
7 | io::{Read, Write},
8 | iter, vec,
9 | };
10 | use wasm_bindgen::prelude::*;
11 |
12 | fn encrypt_error(_: T) -> JsValue {
13 | js_sys::Error::new("encryption error").into()
14 | }
15 |
16 | fn decrypt_error(_: T) -> JsValue {
17 | js_sys::Error::new("decryption error").into()
18 | }
19 |
20 | #[wasm_bindgen]
21 | pub fn keygen() -> Vec {
22 | let secret = x25519::Identity::generate();
23 | let public = secret.to_public();
24 | vec![
25 | JsValue::from(secret.to_string().expose_secret()),
26 | JsValue::from(public.to_string()),
27 | ]
28 | }
29 |
30 | #[wasm_bindgen]
31 | pub fn encrypt_with_x25519(
32 | public_key: &str,
33 | data: &[u8],
34 | armor: bool,
35 | ) -> Result, JsValue> {
36 | let key: x25519::Recipient = public_key.parse().map_err(encrypt_error)?;
37 | let recipients = vec![Box::new(key) as Box];
38 | let encryptor = Encryptor::with_recipients(recipients).unwrap();
39 | let mut output = vec![];
40 | let format = if armor {
41 | Format::AsciiArmor
42 | } else {
43 | Format::Binary
44 | };
45 | let armor = ArmoredWriter::wrap_output(&mut output, format).map_err(encrypt_error)?;
46 | let mut writer = encryptor.wrap_output(armor).map_err(encrypt_error)?;
47 | writer.write_all(data).map_err(encrypt_error)?;
48 | writer
49 | .finish()
50 | .and_then(|armor| armor.finish())
51 | .map_err(encrypt_error)?;
52 | Ok(output.into_boxed_slice())
53 | }
54 |
55 | #[wasm_bindgen]
56 | pub fn decrypt_with_x25519(secret_key: &str, data: &[u8]) -> Result, JsValue> {
57 | let identity: x25519::Identity = secret_key.parse().map_err(encrypt_error)?;
58 | let armor = ArmoredReader::new(data);
59 | let decryptor = match Decryptor::new(armor).map_err(decrypt_error)? {
60 | Decryptor::Recipients(d) => d,
61 | _ => return Err(decrypt_error(())),
62 | };
63 | let mut decrypted = vec![];
64 | let mut reader = decryptor
65 | .decrypt(iter::once(&identity as &dyn age::Identity))
66 | .map_err(decrypt_error)?;
67 | reader.read_to_end(&mut decrypted).map_err(decrypt_error)?;
68 | Ok(decrypted.into_boxed_slice())
69 | }
70 |
71 | #[wasm_bindgen]
72 | pub fn encrypt_with_user_passphrase(
73 | passphrase: &str,
74 | data: &[u8],
75 | armor: bool,
76 | ) -> Result, JsValue> {
77 | let encryptor = Encryptor::with_user_passphrase(Secret::new(passphrase.to_owned()));
78 | let mut output = vec![];
79 | let format = if armor {
80 | Format::AsciiArmor
81 | } else {
82 | Format::Binary
83 | };
84 | let armor = ArmoredWriter::wrap_output(&mut output, format).map_err(encrypt_error)?;
85 | let mut writer = encryptor.wrap_output(armor).map_err(encrypt_error)?;
86 | writer.write_all(data).map_err(encrypt_error)?;
87 | writer
88 | .finish()
89 | .and_then(|armor| armor.finish())
90 | .map_err(encrypt_error)?;
91 | Ok(output.into_boxed_slice())
92 | }
93 |
94 | #[wasm_bindgen]
95 | pub fn decrypt_with_user_passphrase(passphrase: &str, data: &[u8]) -> Result, JsValue> {
96 | let armor = ArmoredReader::new(data);
97 | let decryptor = match age::Decryptor::new(armor).map_err(decrypt_error)? {
98 | age::Decryptor::Passphrase(d) => d,
99 | _ => return Err(decrypt_error(())),
100 | };
101 | let mut decrypted = vec![];
102 | let mut reader = decryptor
103 | .decrypt(&Secret::new(passphrase.to_owned()), None)
104 | .map_err(decrypt_error)?;
105 | reader.read_to_end(&mut decrypted).map_err(decrypt_error)?;
106 | Ok(decrypted.into_boxed_slice())
107 | }
108 |
--------------------------------------------------------------------------------
/supply-chain/imports.lock:
--------------------------------------------------------------------------------
1 |
2 | # cargo-vet imports lock
3 |
4 | [[audits.firefox.audits.autocfg]]
5 | who = "Josh Stone "
6 | criteria = "safe-to-deploy"
7 | version = "1.1.0"
8 | notes = "All code written or reviewed by Josh Stone."
9 |
10 | [[audits.firefox.audits.bumpalo]]
11 | who = "Bobby Holley "
12 | criteria = "safe-to-run"
13 | delta = "3.9.1 -> 3.10.0"
14 | notes = """
15 | Some nontrivial functional changes but certainly meets the no-malware bar of
16 | safe-to-run. If we needed safe-to-deploy for this in m-c I'd ask Nick to re-
17 | certify this version, but we don't, so this is fine for now.
18 | """
19 |
20 | [[audits.firefox.audits.cpufeatures]]
21 | who = "Mike Hommey "
22 | criteria = "safe-to-deploy"
23 | delta = "0.2.2 -> 0.2.4"
24 |
25 | [[audits.firefox.audits.crypto-common]]
26 | who = "Mike Hommey "
27 | criteria = "safe-to-deploy"
28 | delta = "0.1.3 -> 0.1.6"
29 |
30 | [[audits.firefox.audits.fluent]]
31 | who = "Zibi Braniecki "
32 | criteria = "safe-to-deploy"
33 | version = "0.16.0"
34 |
35 | [[audits.firefox.audits.fluent-bundle]]
36 | who = "Zibi Braniecki "
37 | criteria = "safe-to-deploy"
38 | version = "0.15.2"
39 |
40 | [[audits.firefox.audits.fluent-langneg]]
41 | who = "Zibi Braniecki "
42 | criteria = "safe-to-deploy"
43 | version = "0.13.0"
44 |
45 | [[audits.firefox.audits.fluent-syntax]]
46 | who = "Zibi Braniecki "
47 | criteria = "safe-to-deploy"
48 | version = "0.11.0"
49 |
50 | [[audits.firefox.audits.generic-array]]
51 | who = "Mike Hommey "
52 | criteria = "safe-to-deploy"
53 | delta = "0.14.5 -> 0.14.6"
54 |
55 | [[audits.firefox.audits.getrandom]]
56 | who = "Mike Hommey "
57 | criteria = "safe-to-deploy"
58 | delta = "0.2.6 -> 0.2.7"
59 |
60 | [[audits.firefox.audits.hashbrown]]
61 | who = "Mike Hommey "
62 | criteria = "safe-to-deploy"
63 | version = "0.12.3"
64 | notes = "This version is used in rust's libstd, so effectively we're already trusting it"
65 |
66 | [[audits.firefox.audits.intl-memoizer]]
67 | who = "Zibi Braniecki "
68 | criteria = "safe-to-deploy"
69 | version = "0.5.1"
70 |
71 | [[audits.firefox.audits.intl_pluralrules]]
72 | who = "Zibi Braniecki "
73 | criteria = "safe-to-deploy"
74 | version = "7.0.1"
75 |
76 | [[audits.firefox.audits.libc]]
77 | who = "Mike Hommey "
78 | criteria = "safe-to-deploy"
79 | delta = "0.2.126 -> 0.2.132"
80 |
81 | [[audits.firefox.audits.log]]
82 | who = "Mike Hommey "
83 | criteria = "safe-to-deploy"
84 | version = "0.4.17"
85 |
86 | [[audits.firefox.audits.pin-project]]
87 | who = "Mike Hommey "
88 | criteria = "safe-to-run"
89 | delta = "1.0.10 -> 1.0.12"
90 |
91 | [[audits.firefox.audits.pin-project-internal]]
92 | who = "Mike Hommey "
93 | criteria = "safe-to-run"
94 | delta = "1.0.10 -> 1.0.12"
95 |
96 | [[audits.firefox.audits.proc-macro2]]
97 | who = "Nika Layzell "
98 | criteria = "safe-to-deploy"
99 | version = "1.0.39"
100 | notes = """
101 | `proc-macro2` acts as either a thin(-ish) wrapper around the std-provided
102 | `proc_macro` crate, or as a fallback implementation of the crate, depending on
103 | where it is used.
104 |
105 | If using this crate on older versions of rustc (1.56 and earlier), it will
106 | temporarily replace the panic handler while initializing in order to detect if
107 | it is running within a `proc_macro`, which could lead to surprising behaviour.
108 | This should not be an issue for more recent compiler versions, which support
109 | `proc_macro::is_available()`.
110 |
111 | The `proc-macro2` crate's fallback behaviour is not identical to the complex
112 | behaviour of the rustc compiler (e.g. it does not perform unicode normalization
113 | for identifiers), however it behaves well enough for its intended use-case
114 | (tests and scripts processing rust code).
115 |
116 | `proc-macro2` does not use unsafe code, however exposes one `unsafe` API to
117 | allow bypassing checks in the fallback implementation when constructing
118 | `Literal` using `from_str_unchecked`. This was intended to only be used by the
119 | `quote!` macro, however it has been removed
120 | (https://github.com/dtolnay/quote/commit/f621fe64a8a501cae8e95ebd6848e637bbc79078),
121 | and is likely completely unused. Even when used, this API shouldn't be able to
122 | cause unsoundness.
123 | """
124 |
125 | [[audits.firefox.audits.proc-macro2]]
126 | who = "Mike Hommey "
127 | criteria = "safe-to-deploy"
128 | delta = "1.0.39 -> 1.0.43"
129 |
130 | [[audits.firefox.audits.quote]]
131 | who = "Nika Layzell "
132 | criteria = "safe-to-deploy"
133 | version = "1.0.18"
134 | notes = """
135 | `quote` is a utility crate used by proc-macros to generate TokenStreams
136 | conveniently from source code. The bulk of the logic is some complex
137 | interlocking `macro_rules!` macros which are used to parse and build the
138 | `TokenStream` within the proc-macro.
139 |
140 | This crate contains no unsafe code, and the internal logic, while difficult to
141 | read, is generally straightforward. I have audited the the quote macros, ident
142 | formatter, and runtime logic.
143 | """
144 |
145 | [[audits.firefox.audits.quote]]
146 | who = "Mike Hommey "
147 | criteria = "safe-to-deploy"
148 | delta = "1.0.18 -> 1.0.21"
149 |
150 | [[audits.firefox.audits.redox_syscall]]
151 | who = "Mike Hommey "
152 | criteria = "safe-to-deploy"
153 | delta = "0.2.13 -> 0.2.16"
154 |
155 | [[audits.firefox.audits.rustc-hash]]
156 | who = "Bobby Holley "
157 | criteria = "safe-to-deploy"
158 | version = "1.1.0"
159 | notes = "Straightforward crate with no unsafe code, does what it says on the tin."
160 |
161 | [[audits.firefox.audits.serde]]
162 | who = "Mike Hommey "
163 | criteria = "safe-to-deploy"
164 | delta = "1.0.137 -> 1.0.143"
165 |
166 | [[audits.firefox.audits.serde]]
167 | who = "Mike Hommey "
168 | criteria = "safe-to-deploy"
169 | delta = "1.0.143 -> 1.0.144"
170 |
171 | [[audits.firefox.audits.serde_derive]]
172 | who = "Mike Hommey "
173 | criteria = "safe-to-deploy"
174 | delta = "1.0.137 -> 1.0.143"
175 |
176 | [[audits.firefox.audits.serde_derive]]
177 | who = "Mike Hommey "
178 | criteria = "safe-to-deploy"
179 | delta = "1.0.143 -> 1.0.144"
180 |
181 | [[audits.firefox.audits.smallvec]]
182 | who = "Mike Hommey "
183 | criteria = "safe-to-deploy"
184 | delta = "1.8.0 -> 1.9.0"
185 |
186 | [[audits.firefox.audits.syn]]
187 | who = "Mike Hommey "
188 | criteria = "safe-to-deploy"
189 | delta = "1.0.96 -> 1.0.99"
190 |
191 | [[audits.firefox.audits.synstructure]]
192 | who = "Nika Layzell "
193 | criteria = "safe-to-deploy"
194 | version = "0.12.6"
195 | notes = """
196 | I am the primary author of the `synstructure` crate, and its current
197 | maintainer. The one use of `unsafe` is unnecessary, but documented and
198 | harmless. It will be removed in the next version.
199 | """
200 |
201 | [[audits.firefox.audits.thiserror]]
202 | who = "Mike Hommey "
203 | criteria = "safe-to-deploy"
204 | delta = "1.0.31 -> 1.0.32"
205 |
206 | [[audits.firefox.audits.thiserror-impl]]
207 | who = "Mike Hommey "
208 | criteria = "safe-to-deploy"
209 | delta = "1.0.31 -> 1.0.32"
210 |
211 | [[audits.firefox.audits.tinystr]]
212 | who = "Zibi Braniecki "
213 | criteria = "safe-to-deploy"
214 | version = "0.3.4"
215 |
216 | [[audits.firefox.audits.tinystr]]
217 | who = "Zibi Braniecki "
218 | criteria = "safe-to-deploy"
219 | version = "0.6.0"
220 |
221 | [[audits.firefox.audits.unic-langid]]
222 | who = "Zibi Braniecki "
223 | criteria = "safe-to-deploy"
224 | version = "0.9.0"
225 |
226 | [[audits.firefox.audits.unic-langid-impl]]
227 | who = "Zibi Braniecki "
228 | criteria = "safe-to-deploy"
229 | version = "0.9.0"
230 |
231 |
--------------------------------------------------------------------------------
/supply-chain/config.toml:
--------------------------------------------------------------------------------
1 |
2 | # cargo-vet config file
3 |
4 | [imports.firefox]
5 | url = "https://hg.mozilla.org/mozilla-central/raw-file/tip/supply-chain/audits.toml"
6 |
7 | [[exemptions.aead]]
8 | version = "0.3.2"
9 | criteria = "safe-to-deploy"
10 |
11 | [[exemptions.age-core]]
12 | version = "0.6.0"
13 | criteria = "safe-to-deploy"
14 |
15 | [[exemptions.base64]]
16 | version = "0.13.0"
17 | criteria = "safe-to-deploy"
18 |
19 | [[exemptions.bech32]]
20 | version = "0.8.1"
21 | criteria = "safe-to-deploy"
22 |
23 | [[exemptions.bitflags]]
24 | version = "1.3.2"
25 | criteria = "safe-to-deploy"
26 |
27 | [[exemptions.block-buffer]]
28 | version = "0.9.0"
29 | criteria = "safe-to-deploy"
30 |
31 | [[exemptions.bumpalo]]
32 | version = "3.7.0"
33 | criteria = "safe-to-deploy"
34 |
35 | [[exemptions.byteorder]]
36 | version = "1.4.3"
37 | criteria = "safe-to-deploy"
38 |
39 | [[exemptions.chacha20]]
40 | version = "0.8.2"
41 | criteria = "safe-to-deploy"
42 |
43 | [[exemptions.chacha20poly1305]]
44 | version = "0.7.1"
45 | criteria = "safe-to-deploy"
46 |
47 | [[exemptions.cipher]]
48 | version = "0.3.0"
49 | criteria = "safe-to-deploy"
50 |
51 | [[exemptions.cookie-factory]]
52 | version = "0.3.2"
53 | criteria = "safe-to-deploy"
54 |
55 | [[exemptions.cpufeatures]]
56 | version = "0.2.1"
57 | criteria = "safe-to-deploy"
58 |
59 | [[exemptions.curve25519-dalek]]
60 | version = "3.2.0"
61 | criteria = "safe-to-deploy"
62 |
63 | [[exemptions.dashmap]]
64 | version = "4.0.2"
65 | criteria = "safe-to-deploy"
66 |
67 | [[exemptions.digest]]
68 | version = "0.9.0"
69 | criteria = "safe-to-deploy"
70 |
71 | [[exemptions.find-crate]]
72 | version = "0.6.3"
73 | criteria = "safe-to-deploy"
74 |
75 | [[exemptions.generic-array]]
76 | version = "0.14.4"
77 | criteria = "safe-to-deploy"
78 |
79 | [[exemptions.hkdf]]
80 | version = "0.11.0"
81 | criteria = "safe-to-deploy"
82 |
83 | [[exemptions.hmac]]
84 | version = "0.11.0"
85 | criteria = "safe-to-deploy"
86 |
87 | [[exemptions.i18n-config]]
88 | version = "0.4.2"
89 | criteria = "safe-to-deploy"
90 |
91 | [[exemptions.i18n-embed]]
92 | version = "0.12.1"
93 | criteria = "safe-to-deploy"
94 |
95 | [[exemptions.i18n-embed-fl]]
96 | version = "0.5.0"
97 | criteria = "safe-to-deploy"
98 |
99 | [[exemptions.i18n-embed-impl]]
100 | version = "0.7.0"
101 | criteria = "safe-to-deploy"
102 |
103 | [[exemptions.js-sys]]
104 | version = "0.3.53"
105 | criteria = "safe-to-deploy"
106 |
107 | [[exemptions.lazy_static]]
108 | version = "1.4.0"
109 | criteria = "safe-to-deploy"
110 |
111 | [[exemptions.libc]]
112 | version = "0.2.101"
113 | criteria = "safe-to-deploy"
114 |
115 | [[exemptions.lock_api]]
116 | version = "0.4.5"
117 | criteria = "safe-to-deploy"
118 |
119 | [[exemptions.memchr]]
120 | version = "2.3.4"
121 | criteria = "safe-to-deploy"
122 |
123 | [[exemptions.minimal-lexical]]
124 | version = "0.2.1"
125 | criteria = "safe-to-deploy"
126 |
127 | [[exemptions.nom]]
128 | version = "6.2.1"
129 | criteria = "safe-to-deploy"
130 |
131 | [[exemptions.once_cell]]
132 | version = "1.15.0"
133 | criteria = "safe-to-deploy"
134 |
135 | [[exemptions.opaque-debug]]
136 | version = "0.3.0"
137 | criteria = "safe-to-deploy"
138 |
139 | [[exemptions.parking_lot]]
140 | version = "0.11.2"
141 | criteria = "safe-to-deploy"
142 |
143 | [[exemptions.parking_lot_core]]
144 | version = "0.8.5"
145 | criteria = "safe-to-deploy"
146 |
147 | [[exemptions.pbkdf2]]
148 | version = "0.8.0"
149 | criteria = "safe-to-deploy"
150 |
151 | [[exemptions.pin-project]]
152 | version = "1.0.12"
153 | criteria = "safe-to-deploy"
154 |
155 | [[exemptions.pin-project-internal]]
156 | version = "1.0.8"
157 | criteria = "safe-to-deploy"
158 |
159 | [[exemptions.poly1305]]
160 | version = "0.6.2"
161 | criteria = "safe-to-deploy"
162 |
163 | [[exemptions.ppv-lite86]]
164 | version = "0.2.10"
165 | criteria = "safe-to-deploy"
166 |
167 | [[exemptions.proc-macro-error]]
168 | version = "1.0.4"
169 | criteria = "safe-to-deploy"
170 |
171 | [[exemptions.proc-macro-error-attr]]
172 | version = "1.0.4"
173 | criteria = "safe-to-deploy"
174 |
175 | [[exemptions.rand]]
176 | version = "0.7.3"
177 | criteria = "safe-to-deploy"
178 |
179 | [[exemptions.rand_chacha]]
180 | version = "0.2.2"
181 | criteria = "safe-to-deploy"
182 |
183 | [[exemptions.rand_core]]
184 | version = "0.5.1"
185 | criteria = "safe-to-deploy"
186 |
187 | [[exemptions.rand_hc]]
188 | version = "0.2.0"
189 | criteria = "safe-to-deploy"
190 |
191 | [[exemptions.redox_syscall]]
192 | version = "0.2.13"
193 | criteria = "safe-to-deploy"
194 |
195 | [[exemptions.rust-embed]]
196 | version = "5.9.0"
197 | criteria = "safe-to-deploy"
198 |
199 | [[exemptions.rust-embed-impl]]
200 | version = "5.9.0"
201 | criteria = "safe-to-deploy"
202 |
203 | [[exemptions.rust-embed-utils]]
204 | version = "5.1.0"
205 | criteria = "safe-to-deploy"
206 |
207 | [[exemptions.salsa20]]
208 | version = "0.8.1"
209 | criteria = "safe-to-deploy"
210 |
211 | [[exemptions.same-file]]
212 | version = "1.0.6"
213 | criteria = "safe-to-deploy"
214 |
215 | [[exemptions.scopeguard]]
216 | version = "1.1.0"
217 | criteria = "safe-to-deploy"
218 |
219 | [[exemptions.scrypt]]
220 | version = "0.7.0"
221 | criteria = "safe-to-deploy"
222 |
223 | [[exemptions.self_cell]]
224 | version = "0.10.2"
225 | criteria = "safe-to-deploy"
226 |
227 | [[exemptions.serde]]
228 | version = "1.0.130"
229 | criteria = "safe-to-deploy"
230 |
231 | [[exemptions.serde_derive]]
232 | version = "1.0.130"
233 | criteria = "safe-to-deploy"
234 |
235 | [[exemptions.sha2]]
236 | version = "0.9.6"
237 | criteria = "safe-to-deploy"
238 |
239 | [[exemptions.smallvec]]
240 | version = "1.6.1"
241 | criteria = "safe-to-deploy"
242 |
243 | [[exemptions.strsim]]
244 | version = "0.10.0"
245 | criteria = "safe-to-deploy"
246 |
247 | [[exemptions.subtle]]
248 | version = "2.4.1"
249 | criteria = "safe-to-deploy"
250 |
251 | [[exemptions.syn]]
252 | version = "1.0.100"
253 | criteria = "safe-to-deploy"
254 |
255 | [[exemptions.thiserror]]
256 | version = "1.0.28"
257 | criteria = "safe-to-deploy"
258 |
259 | [[exemptions.thiserror-impl]]
260 | version = "1.0.28"
261 | criteria = "safe-to-deploy"
262 |
263 | [[exemptions.toml]]
264 | version = "0.5.8"
265 | criteria = "safe-to-deploy"
266 |
267 | [[exemptions.type-map]]
268 | version = "0.4.0"
269 | criteria = "safe-to-deploy"
270 |
271 | [[exemptions.typenum]]
272 | version = "1.13.0"
273 | criteria = "safe-to-deploy"
274 |
275 | [[exemptions.universal-hash]]
276 | version = "0.4.1"
277 | criteria = "safe-to-deploy"
278 |
279 | [[exemptions.version_check]]
280 | version = "0.9.3"
281 | criteria = "safe-to-deploy"
282 |
283 | [[exemptions.walkdir]]
284 | version = "2.3.2"
285 | criteria = "safe-to-deploy"
286 |
287 | [[exemptions.wasi]]
288 | version = "0.9.0+wasi-snapshot-preview1"
289 | criteria = "safe-to-deploy"
290 |
291 | [[exemptions.wasi]]
292 | version = "0.11.0+wasi-snapshot-preview1"
293 | criteria = "safe-to-deploy"
294 |
295 | [[exemptions.wasm-bindgen]]
296 | version = "0.2.76"
297 | criteria = "safe-to-deploy"
298 |
299 | [[exemptions.wasm-bindgen-backend]]
300 | version = "0.2.76"
301 | criteria = "safe-to-deploy"
302 |
303 | [[exemptions.wasm-bindgen-macro]]
304 | version = "0.2.76"
305 | criteria = "safe-to-deploy"
306 |
307 | [[exemptions.wasm-bindgen-macro-support]]
308 | version = "0.2.76"
309 | criteria = "safe-to-deploy"
310 |
311 | [[exemptions.wasm-bindgen-shared]]
312 | version = "0.2.76"
313 | criteria = "safe-to-deploy"
314 |
315 | [[exemptions.web-sys]]
316 | version = "0.3.53"
317 | criteria = "safe-to-deploy"
318 |
319 | [[exemptions.winapi]]
320 | version = "0.3.9"
321 | criteria = "safe-to-deploy"
322 |
323 | [[exemptions.winapi-i686-pc-windows-gnu]]
324 | version = "0.4.0"
325 | criteria = "safe-to-deploy"
326 |
327 | [[exemptions.winapi-util]]
328 | version = "0.1.5"
329 | criteria = "safe-to-deploy"
330 |
331 | [[exemptions.winapi-x86_64-pc-windows-gnu]]
332 | version = "0.4.0"
333 | criteria = "safe-to-deploy"
334 |
335 | [[exemptions.windows-sys]]
336 | version = "0.36.1"
337 | criteria = "safe-to-deploy"
338 |
339 | [[exemptions.windows_aarch64_msvc]]
340 | version = "0.36.1"
341 | criteria = "safe-to-deploy"
342 |
343 | [[exemptions.windows_i686_gnu]]
344 | version = "0.36.1"
345 | criteria = "safe-to-deploy"
346 |
347 | [[exemptions.windows_i686_msvc]]
348 | version = "0.36.1"
349 | criteria = "safe-to-deploy"
350 |
351 | [[exemptions.windows_x86_64_gnu]]
352 | version = "0.36.1"
353 | criteria = "safe-to-deploy"
354 |
355 | [[exemptions.windows_x86_64_msvc]]
356 | version = "0.36.1"
357 | criteria = "safe-to-deploy"
358 |
359 | [[exemptions.x25519-dalek]]
360 | version = "1.1.1"
361 | criteria = "safe-to-deploy"
362 |
363 |
--------------------------------------------------------------------------------
/LICENSE_APACHE:
--------------------------------------------------------------------------------
1 | Apache License
2 | Version 2.0, January 2004
3 | http://www.apache.org/licenses/
4 |
5 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
6 |
7 | 1. Definitions.
8 |
9 | "License" shall mean the terms and conditions for use, reproduction,
10 | and distribution as defined by Sections 1 through 9 of this document.
11 |
12 | "Licensor" shall mean the copyright owner or entity authorized by
13 | the copyright owner that is granting the License.
14 |
15 | "Legal Entity" shall mean the union of the acting entity and all
16 | other entities that control, are controlled by, or are under common
17 | control with that entity. For the purposes of this definition,
18 | "control" means (i) the power, direct or indirect, to cause the
19 | direction or management of such entity, whether by contract or
20 | otherwise, or (ii) ownership of fifty percent (50%) or more of the
21 | outstanding shares, or (iii) beneficial ownership of such entity.
22 |
23 | "You" (or "Your") shall mean an individual or Legal Entity
24 | exercising permissions granted by this License.
25 |
26 | "Source" form shall mean the preferred form for making modifications,
27 | including but not limited to software source code, documentation
28 | source, and configuration files.
29 |
30 | "Object" form shall mean any form resulting from mechanical
31 | transformation or translation of a Source form, including but
32 | not limited to compiled object code, generated documentation,
33 | and conversions to other media types.
34 |
35 | "Work" shall mean the work of authorship, whether in Source or
36 | Object form, made available under the License, as indicated by a
37 | copyright notice that is included in or attached to the work
38 | (an example is provided in the Appendix below).
39 |
40 | "Derivative Works" shall mean any work, whether in Source or Object
41 | form, that is based on (or derived from) the Work and for which the
42 | editorial revisions, annotations, elaborations, or other modifications
43 | represent, as a whole, an original work of authorship. For the purposes
44 | of this License, Derivative Works shall not include works that remain
45 | separable from, or merely link (or bind by name) to the interfaces of,
46 | the Work and Derivative Works thereof.
47 |
48 | "Contribution" shall mean any work of authorship, including
49 | the original version of the Work and any modifications or additions
50 | to that Work or Derivative Works thereof, that is intentionally
51 | submitted to Licensor for inclusion in the Work by the copyright owner
52 | or by an individual or Legal Entity authorized to submit on behalf of
53 | the copyright owner. For the purposes of this definition, "submitted"
54 | means any form of electronic, verbal, or written communication sent
55 | to the Licensor or its representatives, including but not limited to
56 | communication on electronic mailing lists, source code control systems,
57 | and issue tracking systems that are managed by, or on behalf of, the
58 | Licensor for the purpose of discussing and improving the Work, but
59 | excluding communication that is conspicuously marked or otherwise
60 | designated in writing by the copyright owner as "Not a Contribution."
61 |
62 | "Contributor" shall mean Licensor and any individual or Legal Entity
63 | on behalf of whom a Contribution has been received by Licensor and
64 | subsequently incorporated within the Work.
65 |
66 | 2. Grant of Copyright License. Subject to the terms and conditions of
67 | this License, each Contributor hereby grants to You a perpetual,
68 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable
69 | copyright license to reproduce, prepare Derivative Works of,
70 | publicly display, publicly perform, sublicense, and distribute the
71 | Work and such Derivative Works in Source or Object form.
72 |
73 | 3. Grant of Patent License. Subject to the terms and conditions of
74 | this License, each Contributor hereby grants to You a perpetual,
75 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable
76 | (except as stated in this section) patent license to make, have made,
77 | use, offer to sell, sell, import, and otherwise transfer the Work,
78 | where such license applies only to those patent claims licensable
79 | by such Contributor that are necessarily infringed by their
80 | Contribution(s) alone or by combination of their Contribution(s)
81 | with the Work to which such Contribution(s) was submitted. If You
82 | institute patent litigation against any entity (including a
83 | cross-claim or counterclaim in a lawsuit) alleging that the Work
84 | or a Contribution incorporated within the Work constitutes direct
85 | or contributory patent infringement, then any patent licenses
86 | granted to You under this License for that Work shall terminate
87 | as of the date such litigation is filed.
88 |
89 | 4. Redistribution. You may reproduce and distribute copies of the
90 | Work or Derivative Works thereof in any medium, with or without
91 | modifications, and in Source or Object form, provided that You
92 | meet the following conditions:
93 |
94 | (a) You must give any other recipients of the Work or
95 | Derivative Works a copy of this License; and
96 |
97 | (b) You must cause any modified files to carry prominent notices
98 | stating that You changed the files; and
99 |
100 | (c) You must retain, in the Source form of any Derivative Works
101 | that You distribute, all copyright, patent, trademark, and
102 | attribution notices from the Source form of the Work,
103 | excluding those notices that do not pertain to any part of
104 | the Derivative Works; and
105 |
106 | (d) If the Work includes a "NOTICE" text file as part of its
107 | distribution, then any Derivative Works that You distribute must
108 | include a readable copy of the attribution notices contained
109 | within such NOTICE file, excluding those notices that do not
110 | pertain to any part of the Derivative Works, in at least one
111 | of the following places: within a NOTICE text file distributed
112 | as part of the Derivative Works; within the Source form or
113 | documentation, if provided along with the Derivative Works; or,
114 | within a display generated by the Derivative Works, if and
115 | wherever such third-party notices normally appear. The contents
116 | of the NOTICE file are for informational purposes only and
117 | do not modify the License. You may add Your own attribution
118 | notices within Derivative Works that You distribute, alongside
119 | or as an addendum to the NOTICE text from the Work, provided
120 | that such additional attribution notices cannot be construed
121 | as modifying the License.
122 |
123 | You may add Your own copyright statement to Your modifications and
124 | may provide additional or different license terms and conditions
125 | for use, reproduction, or distribution of Your modifications, or
126 | for any such Derivative Works as a whole, provided Your use,
127 | reproduction, and distribution of the Work otherwise complies with
128 | the conditions stated in this License.
129 |
130 | 5. Submission of Contributions. Unless You explicitly state otherwise,
131 | any Contribution intentionally submitted for inclusion in the Work
132 | by You to the Licensor shall be under the terms and conditions of
133 | this License, without any additional terms or conditions.
134 | Notwithstanding the above, nothing herein shall supersede or modify
135 | the terms of any separate license agreement you may have executed
136 | with Licensor regarding such Contributions.
137 |
138 | 6. Trademarks. This License does not grant permission to use the trade
139 | names, trademarks, service marks, or product names of the Licensor,
140 | except as required for reasonable and customary use in describing the
141 | origin of the Work and reproducing the content of the NOTICE file.
142 |
143 | 7. Disclaimer of Warranty. Unless required by applicable law or
144 | agreed to in writing, Licensor provides the Work (and each
145 | Contributor provides its Contributions) on an "AS IS" BASIS,
146 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
147 | implied, including, without limitation, any warranties or conditions
148 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
149 | PARTICULAR PURPOSE. You are solely responsible for determining the
150 | appropriateness of using or redistributing the Work and assume any
151 | risks associated with Your exercise of permissions under this License.
152 |
153 | 8. Limitation of Liability. In no event and under no legal theory,
154 | whether in tort (including negligence), contract, or otherwise,
155 | unless required by applicable law (such as deliberate and grossly
156 | negligent acts) or agreed to in writing, shall any Contributor be
157 | liable to You for damages, including any direct, indirect, special,
158 | incidental, or consequential damages of any character arising as a
159 | result of this License or out of the use or inability to use the
160 | Work (including but not limited to damages for loss of goodwill,
161 | work stoppage, computer failure or malfunction, or any and all
162 | other commercial damages or losses), even if such Contributor
163 | has been advised of the possibility of such damages.
164 |
165 | 9. Accepting Warranty or Additional Liability. While redistributing
166 | the Work or Derivative Works thereof, You may choose to offer,
167 | and charge a fee for, acceptance of support, warranty, indemnity,
168 | or other liability obligations and/or rights consistent with this
169 | License. However, in accepting such obligations, You may act only
170 | on Your own behalf and on Your sole responsibility, not on behalf
171 | of any other Contributor, and only if You agree to indemnify,
172 | defend, and hold each Contributor harmless for any liability
173 | incurred by, or claims asserted against, such Contributor by reason
174 | of your accepting any such warranty or additional liability.
175 |
176 | END OF TERMS AND CONDITIONS
177 |
--------------------------------------------------------------------------------
/supply-chain/audits.toml:
--------------------------------------------------------------------------------
1 |
2 | # cargo-vet audits file
3 |
4 | [[audits.aead]]
5 | who = "Kan-Ru Chen "
6 | criteria = "safe-to-deploy"
7 | delta = "0.3.2 -> 0.4.3"
8 |
9 | [[audits.age]]
10 | who = "Kan-Ru Chen "
11 | criteria = "safe-to-deploy"
12 | version = "0.6.0"
13 |
14 | [[audits.age]]
15 | who = "Kan-Ru Chen "
16 | criteria = "safe-to-deploy"
17 | delta = "0.6.0 -> 0.8.1"
18 |
19 | [[audits.age-core]]
20 | who = "Kan-Ru Chen "
21 | criteria = "safe-to-deploy"
22 | delta = "0.6.0 -> 0.8.0"
23 |
24 | [[audits.block-buffer]]
25 | who = "Kan-Ru Chen "
26 | criteria = "safe-to-deploy"
27 | delta = "0.9.0 -> 0.10.3"
28 |
29 | [[audits.bumpalo]]
30 | who = "Kan-Ru Chen "
31 | criteria = "safe-to-deploy"
32 | delta = "3.7.0 -> 3.11.0"
33 |
34 | [[audits.cfg-if]]
35 | who = "Kan-Ru Chen "
36 | criteria = "safe-to-deploy"
37 | version = "0.1.10"
38 |
39 | [[audits.cfg-if]]
40 | who = "Kan-Ru Chen "
41 | criteria = "safe-to-deploy"
42 | version = "0.1.10"
43 |
44 | [[audits.cfg-if]]
45 | who = "Kan-Ru Chen "
46 | criteria = "safe-to-deploy"
47 | version = "0.1.10"
48 |
49 | [[audits.cfg-if]]
50 | who = "Kan-Ru Chen "
51 | criteria = "safe-to-deploy"
52 | delta = "0.1.10 -> 1.0.0"
53 |
54 | [[audits.chacha20poly1305]]
55 | who = "Kan-Ru Chen "
56 | criteria = "safe-to-deploy"
57 | delta = "0.7.1 -> 0.9.1"
58 |
59 | [[audits.cipher]]
60 | who = "Kan-Ru Chen "
61 | criteria = "safe-to-deploy"
62 | delta = "0.3.0 -> 0.4.3"
63 |
64 | [[audits.console_error_panic_hook]]
65 | who = "Kan-Ru Chen "
66 | criteria = "safe-to-run"
67 | version = "0.1.6"
68 |
69 | [[audits.console_error_panic_hook]]
70 | who = "Kan-Ru Chen "
71 | criteria = "safe-to-run"
72 | delta = "0.1.6 -> 0.1.7"
73 |
74 | [[audits.cpufeatures]]
75 | who = "Kan-Ru Chen "
76 | criteria = "safe-to-deploy"
77 | delta = "0.2.1 -> 0.2.5"
78 |
79 | [[audits.crypto-common]]
80 | who = "Kan-Ru Chen "
81 | criteria = "safe-to-deploy"
82 | version = "0.1.3"
83 |
84 | [[audits.dashmap]]
85 | who = "Kan-Ru Chen "
86 | criteria = "safe-to-deploy"
87 | delta = "4.0.2 -> 5.4.0"
88 |
89 | [[audits.digest]]
90 | who = "Kan-Ru Chen "
91 | criteria = "safe-to-deploy"
92 | delta = "0.9.0 -> 0.10.5"
93 |
94 | [[audits.generic-array]]
95 | who = "Kan-Ru Chen "
96 | criteria = "safe-to-deploy"
97 | delta = "0.14.4 -> 0.14.5"
98 |
99 | [[audits.getrandom]]
100 | who = "Kan-Ru Chen "
101 | criteria = "safe-to-deploy"
102 | version = "0.1.16"
103 |
104 | [[audits.getrandom]]
105 | who = "Kan-Ru Chen "
106 | criteria = "safe-to-deploy"
107 | delta = "0.1.16 -> 0.2.6"
108 |
109 | [[audits.hkdf]]
110 | who = "Kan-Ru Chen "
111 | criteria = "safe-to-deploy"
112 | delta = "0.11.0 -> 0.12.3"
113 |
114 | [[audits.hmac]]
115 | who = "Kan-Ru Chen "
116 | criteria = "safe-to-deploy"
117 | delta = "0.11.0 -> 0.12.1"
118 |
119 | [[audits.i18n-embed]]
120 | who = "Kan-Ru Chen "
121 | criteria = "safe-to-deploy"
122 | delta = "0.12.1 -> 0.13.4"
123 |
124 | [[audits.i18n-embed-fl]]
125 | who = "Kan-Ru Chen "
126 | criteria = "safe-to-deploy"
127 | delta = "0.5.0 -> 0.6.4"
128 |
129 | [[audits.i18n-embed-impl]]
130 | who = "Kan-Ru Chen "
131 | criteria = "safe-to-deploy"
132 | delta = "0.7.0 -> 0.8.0"
133 |
134 | [[audits.inout]]
135 | who = "Kan-Ru Chen "
136 | criteria = "safe-to-deploy"
137 | version = "0.1.3"
138 |
139 | [[audits.io_tee]]
140 | who = "Kan-Ru Chen "
141 | criteria = "safe-to-deploy"
142 | version = "0.1.1"
143 |
144 | [[audits.js-sys]]
145 | who = "Kan-Ru Chen "
146 | criteria = "safe-to-deploy"
147 | delta = "0.3.53 -> 0.3.60"
148 |
149 | [[audits.libc]]
150 | who = "Kan-Ru Chen "
151 | criteria = "safe-to-deploy"
152 | delta = "0.2.101 -> 0.2.133"
153 |
154 | [[audits.lock_api]]
155 | who = "Kan-Ru Chen "
156 | criteria = "safe-to-deploy"
157 | delta = "0.4.5 -> 0.4.9"
158 |
159 | [[audits.nom]]
160 | who = "Kan-Ru Chen "
161 | criteria = "safe-to-deploy"
162 | delta = "6.2.1 -> 7.1.1"
163 |
164 | [[audits.parking_lot]]
165 | who = "Kan-Ru Chen "
166 | criteria = "safe-to-deploy"
167 | delta = "0.11.2 -> 0.12.1"
168 |
169 | [[audits.parking_lot_core]]
170 | who = "Kan-Ru Chen "
171 | criteria = "safe-to-deploy"
172 | delta = "0.8.5 -> 0.9.3"
173 |
174 | [[audits.pbkdf2]]
175 | who = "Kan-Ru Chen "
176 | criteria = "safe-to-deploy"
177 | delta = "0.8.0 -> 0.10.1"
178 |
179 | [[audits.pin-project-internal]]
180 | who = "Kan-Ru Chen "
181 | criteria = "safe-to-deploy"
182 | delta = "1.0.8 -> 1.0.12"
183 |
184 | [[audits.poly1305]]
185 | who = "Kan-Ru Chen "
186 | criteria = "safe-to-deploy"
187 | delta = "0.6.2 -> 0.7.2"
188 |
189 | [[audits.ppv-lite86]]
190 | who = "Kan-Ru Chen "
191 | criteria = "safe-to-deploy"
192 | delta = "0.2.10 -> 0.2.16"
193 |
194 | [[audits.proc-macro2]]
195 | who = "Kan-Ru Chen "
196 | criteria = "safe-to-deploy"
197 | delta = "1.0.39 -> 1.0.28"
198 |
199 | [[audits.quote]]
200 | who = "Kan-Ru Chen "
201 | criteria = "safe-to-deploy"
202 | delta = "1.0.18 -> 1.0.9"
203 |
204 | [[audits.rand]]
205 | who = "Kan-Ru Chen "
206 | criteria = "safe-to-deploy"
207 | delta = "0.7.3 -> 0.8.5"
208 |
209 | [[audits.rand_chacha]]
210 | who = "Kan-Ru Chen "
211 | criteria = "safe-to-deploy"
212 | delta = "0.2.2 -> 0.3.1"
213 |
214 | [[audits.rand_core]]
215 | who = "Kan-Ru Chen "
216 | criteria = "safe-to-deploy"
217 | delta = "0.5.1 -> 0.6.4"
218 |
219 | [[audits.rust-embed]]
220 | who = "Kan-Ru Chen "
221 | criteria = "safe-to-deploy"
222 | delta = "5.9.0 -> 6.4.1"
223 |
224 | [[audits.rust-embed-impl]]
225 | who = "Kan-Ru Chen "
226 | criteria = "safe-to-deploy"
227 | delta = "5.9.0 -> 6.3.0"
228 |
229 | [[audits.rust-embed-utils]]
230 | who = "Kan-Ru Chen "
231 | criteria = "safe-to-deploy"
232 | delta = "5.1.0 -> 7.3.0"
233 |
234 | [[audits.salsa20]]
235 | who = "Kan-Ru Chen "
236 | criteria = "safe-to-deploy"
237 | delta = "0.8.1 -> 0.10.2"
238 |
239 | [[audits.scoped-tls]]
240 | who = "Kan-Ru Chen "
241 | criteria = "safe-to-run"
242 | version = "1.0.0"
243 |
244 | [[audits.scrypt]]
245 | who = "Kan-Ru Chen "
246 | criteria = "safe-to-deploy"
247 | delta = "0.7.0 -> 0.9.0"
248 |
249 | [[audits.secrecy]]
250 | who = "Kan-Ru Chen "
251 | criteria = "safe-to-deploy"
252 | version = "0.7.0"
253 |
254 | [[audits.secrecy]]
255 | who = "Kan-Ru Chen "
256 | criteria = "safe-to-deploy"
257 | delta = "0.7.0 -> 0.8.0"
258 |
259 | [[audits.serde]]
260 | who = "Kan-Ru Chen "
261 | criteria = "safe-to-deploy"
262 | delta = "1.0.130 -> 1.0.137"
263 |
264 | [[audits.serde_derive]]
265 | who = "Kan-Ru Chen "
266 | criteria = "safe-to-deploy"
267 | delta = "1.0.130 -> 1.0.137"
268 |
269 | [[audits.sha2]]
270 | who = "Kan-Ru Chen "
271 | criteria = "safe-to-deploy"
272 | delta = "0.9.6 -> 0.9.9"
273 |
274 | [[audits.sha2]]
275 | who = "Kan-Ru Chen "
276 | criteria = "safe-to-deploy"
277 | delta = "0.9.9 -> 0.10.6"
278 |
279 | [[audits.smallvec]]
280 | who = "Kan-Ru Chen "
281 | criteria = "safe-to-deploy"
282 | delta = "1.6.1 -> 1.8.0"
283 |
284 | [[audits.synstructure]]
285 | who = "Kan-Ru Chen "
286 | criteria = "safe-to-deploy"
287 | delta = "0.12.6 -> 0.12.5"
288 |
289 | [[audits.thiserror]]
290 | who = "Kan-Ru Chen "
291 | criteria = "safe-to-deploy"
292 | delta = "1.0.28 -> 1.0.35"
293 |
294 | [[audits.thiserror-impl]]
295 | who = "Kan-Ru Chen "
296 | criteria = "safe-to-deploy"
297 | delta = "1.0.28 -> 1.0.35"
298 |
299 | [[audits.toml]]
300 | who = "Kan-Ru Chen "
301 | criteria = "safe-to-deploy"
302 | delta = "0.5.8 -> 0.5.9"
303 |
304 | [[audits.typenum]]
305 | who = "Kan-Ru Chen "
306 | criteria = "safe-to-deploy"
307 | delta = "1.13.0 -> 1.15.0"
308 |
309 | [[audits.unicode-ident]]
310 | who = "Kan-Ru Chen "
311 | criteria = "safe-to-deploy"
312 | version = "1.0.4"
313 |
314 | [[audits.unicode-xid]]
315 | who = "Kan-Ru Chen "
316 | criteria = "safe-to-deploy"
317 | version = "0.2.2"
318 |
319 | [[audits.unicode-xid]]
320 | who = "Kan-Ru Chen "
321 | criteria = "safe-to-deploy"
322 | delta = "0.2.2 -> 0.2.4"
323 |
324 | [[audits.version_check]]
325 | who = "Kan-Ru Chen "
326 | criteria = "safe-to-deploy"
327 | delta = "0.9.3 -> 0.9.4"
328 |
329 | [[audits.wasm-bindgen]]
330 | who = "Kan-Ru Chen "
331 | criteria = "safe-to-deploy"
332 | delta = "0.2.76 -> 0.2.83"
333 |
334 | [[audits.wasm-bindgen-backend]]
335 | who = "Kan-Ru Chen "
336 | criteria = "safe-to-deploy"
337 | delta = "0.2.76 -> 0.2.83"
338 |
339 | [[audits.wasm-bindgen-futures]]
340 | who = "Kan-Ru Chen "
341 | criteria = "safe-to-run"
342 | version = "0.4.26"
343 |
344 | [[audits.wasm-bindgen-futures]]
345 | who = "Kan-Ru Chen "
346 | criteria = "safe-to-run"
347 | delta = "0.4.26 -> 0.4.33"
348 |
349 | [[audits.wasm-bindgen-macro]]
350 | who = "Kan-Ru Chen "
351 | criteria = "safe-to-deploy"
352 | delta = "0.2.76 -> 0.2.83"
353 |
354 | [[audits.wasm-bindgen-macro-support]]
355 | who = "Kan-Ru Chen "
356 | criteria = "safe-to-deploy"
357 | delta = "0.2.76 -> 0.2.83"
358 |
359 | [[audits.wasm-bindgen-shared]]
360 | who = "Kan-Ru Chen "
361 | criteria = "safe-to-deploy"
362 | delta = "0.2.76 -> 0.2.83"
363 |
364 | [[audits.wasm-bindgen-test]]
365 | who = "Kan-Ru Chen "
366 | criteria = "safe-to-run"
367 | version = "0.3.26"
368 |
369 | [[audits.wasm-bindgen-test]]
370 | who = "Kan-Ru Chen "
371 | criteria = "safe-to-run"
372 | delta = "0.3.26 -> 0.3.33"
373 |
374 | [[audits.wasm-bindgen-test-macro]]
375 | who = "Kan-Ru Chen "
376 | criteria = "safe-to-run"
377 | version = "0.3.26"
378 |
379 | [[audits.wasm-bindgen-test-macro]]
380 | who = "Kan-Ru Chen "
381 | criteria = "safe-to-run"
382 | delta = "0.3.26 -> 0.3.33"
383 |
384 | [[audits.web-sys]]
385 | who = "Kan-Ru Chen "
386 | criteria = "safe-to-deploy"
387 | delta = "0.3.53 -> 0.3.60"
388 |
389 | [[audits.zeroize]]
390 | who = "Kan-Ru Chen "
391 | criteria = "safe-to-deploy"
392 | version = "1.4.1"
393 |
394 | [[audits.zeroize]]
395 | who = "Kan-Ru Chen "
396 | criteria = "safe-to-deploy"
397 | delta = "1.4.1 -> 1.5.7"
398 |
399 | [[audits.zeroize_derive]]
400 | who = "Kan-Ru Chen "
401 | criteria = "safe-to-deploy"
402 | version = "1.1.0"
403 |
404 | [[audits.zeroize_derive]]
405 | who = "Kan-Ru Chen "
406 | criteria = "safe-to-deploy"
407 | delta = "1.1.0 -> 1.3.2"
408 |
409 |
--------------------------------------------------------------------------------
/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 = "aead"
7 | version = "0.5.2"
8 | source = "registry+https://github.com/rust-lang/crates.io-index"
9 | checksum = "d122413f284cf2d62fb1b7db97e02edb8cda96d769b16e443a4f6195e35662b0"
10 | dependencies = [
11 | "crypto-common",
12 | "generic-array",
13 | ]
14 |
15 | [[package]]
16 | name = "age"
17 | version = "0.9.2"
18 | source = "registry+https://github.com/rust-lang/crates.io-index"
19 | checksum = "6d55a4d912c80a92762ffd1c884065f3f9646467d22c95390e824a0ff7def472"
20 | dependencies = [
21 | "age-core",
22 | "base64",
23 | "bech32",
24 | "chacha20poly1305",
25 | "cookie-factory",
26 | "hkdf",
27 | "hmac",
28 | "i18n-embed",
29 | "i18n-embed-fl",
30 | "lazy_static",
31 | "nom",
32 | "pin-project",
33 | "rand 0.7.3",
34 | "rand 0.8.5",
35 | "rust-embed",
36 | "scrypt",
37 | "sha2",
38 | "subtle",
39 | "web-sys",
40 | "x25519-dalek",
41 | "zeroize",
42 | ]
43 |
44 | [[package]]
45 | name = "age-core"
46 | version = "0.9.0"
47 | source = "registry+https://github.com/rust-lang/crates.io-index"
48 | checksum = "e3d2e815ac879dc23c1139e720d21c6cd4d1276345c772587285d965a69b8f32"
49 | dependencies = [
50 | "base64",
51 | "chacha20poly1305",
52 | "cookie-factory",
53 | "hkdf",
54 | "io_tee",
55 | "nom",
56 | "rand 0.8.5",
57 | "secrecy",
58 | "sha2",
59 | ]
60 |
61 | [[package]]
62 | name = "arc-swap"
63 | version = "1.6.0"
64 | source = "registry+https://github.com/rust-lang/crates.io-index"
65 | checksum = "bddcadddf5e9015d310179a59bb28c4d4b9920ad0f11e8e14dbadf654890c9a6"
66 |
67 | [[package]]
68 | name = "autocfg"
69 | version = "1.1.0"
70 | source = "registry+https://github.com/rust-lang/crates.io-index"
71 | checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
72 |
73 | [[package]]
74 | name = "base64"
75 | version = "0.13.1"
76 | source = "registry+https://github.com/rust-lang/crates.io-index"
77 | checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8"
78 |
79 | [[package]]
80 | name = "bech32"
81 | version = "0.9.1"
82 | source = "registry+https://github.com/rust-lang/crates.io-index"
83 | checksum = "d86b93f97252c47b41663388e6d155714a9d0c398b99f1005cbc5f978b29f445"
84 |
85 | [[package]]
86 | name = "bitflags"
87 | version = "1.3.2"
88 | source = "registry+https://github.com/rust-lang/crates.io-index"
89 | checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
90 |
91 | [[package]]
92 | name = "block-buffer"
93 | version = "0.10.4"
94 | source = "registry+https://github.com/rust-lang/crates.io-index"
95 | checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71"
96 | dependencies = [
97 | "generic-array",
98 | ]
99 |
100 | [[package]]
101 | name = "bumpalo"
102 | version = "3.14.0"
103 | source = "registry+https://github.com/rust-lang/crates.io-index"
104 | checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec"
105 |
106 | [[package]]
107 | name = "byteorder"
108 | version = "1.5.0"
109 | source = "registry+https://github.com/rust-lang/crates.io-index"
110 | checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
111 |
112 | [[package]]
113 | name = "cfg-if"
114 | version = "1.0.0"
115 | source = "registry+https://github.com/rust-lang/crates.io-index"
116 | checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
117 |
118 | [[package]]
119 | name = "chacha20"
120 | version = "0.9.1"
121 | source = "registry+https://github.com/rust-lang/crates.io-index"
122 | checksum = "c3613f74bd2eac03dad61bd53dbe620703d4371614fe0bc3b9f04dd36fe4e818"
123 | dependencies = [
124 | "cfg-if",
125 | "cipher",
126 | "cpufeatures",
127 | ]
128 |
129 | [[package]]
130 | name = "chacha20poly1305"
131 | version = "0.10.1"
132 | source = "registry+https://github.com/rust-lang/crates.io-index"
133 | checksum = "10cd79432192d1c0f4e1a0fef9527696cc039165d729fb41b3f4f4f354c2dc35"
134 | dependencies = [
135 | "aead",
136 | "chacha20",
137 | "cipher",
138 | "poly1305",
139 | "zeroize",
140 | ]
141 |
142 | [[package]]
143 | name = "cipher"
144 | version = "0.4.4"
145 | source = "registry+https://github.com/rust-lang/crates.io-index"
146 | checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad"
147 | dependencies = [
148 | "crypto-common",
149 | "inout",
150 | "zeroize",
151 | ]
152 |
153 | [[package]]
154 | name = "console_error_panic_hook"
155 | version = "0.1.7"
156 | source = "registry+https://github.com/rust-lang/crates.io-index"
157 | checksum = "a06aeb73f470f66dcdbf7223caeebb85984942f22f1adb2a088cf9668146bbbc"
158 | dependencies = [
159 | "cfg-if",
160 | "wasm-bindgen",
161 | ]
162 |
163 | [[package]]
164 | name = "cookie-factory"
165 | version = "0.3.2"
166 | source = "registry+https://github.com/rust-lang/crates.io-index"
167 | checksum = "396de984970346b0d9e93d1415082923c679e5ae5c3ee3dcbd104f5610af126b"
168 |
169 | [[package]]
170 | name = "cpufeatures"
171 | version = "0.2.12"
172 | source = "registry+https://github.com/rust-lang/crates.io-index"
173 | checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504"
174 | dependencies = [
175 | "libc",
176 | ]
177 |
178 | [[package]]
179 | name = "crypto-common"
180 | version = "0.1.6"
181 | source = "registry+https://github.com/rust-lang/crates.io-index"
182 | checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3"
183 | dependencies = [
184 | "generic-array",
185 | "typenum",
186 | ]
187 |
188 | [[package]]
189 | name = "curve25519-dalek"
190 | version = "3.2.0"
191 | source = "registry+https://github.com/rust-lang/crates.io-index"
192 | checksum = "0b9fdf9972b2bd6af2d913799d9ebc165ea4d2e65878e329d9c6b372c4491b61"
193 | dependencies = [
194 | "byteorder",
195 | "digest 0.9.0",
196 | "rand_core 0.5.1",
197 | "subtle",
198 | "zeroize",
199 | ]
200 |
201 | [[package]]
202 | name = "dashmap"
203 | version = "5.5.3"
204 | source = "registry+https://github.com/rust-lang/crates.io-index"
205 | checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856"
206 | dependencies = [
207 | "cfg-if",
208 | "hashbrown",
209 | "lock_api",
210 | "once_cell",
211 | "parking_lot_core",
212 | ]
213 |
214 | [[package]]
215 | name = "digest"
216 | version = "0.9.0"
217 | source = "registry+https://github.com/rust-lang/crates.io-index"
218 | checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066"
219 | dependencies = [
220 | "generic-array",
221 | ]
222 |
223 | [[package]]
224 | name = "digest"
225 | version = "0.10.7"
226 | source = "registry+https://github.com/rust-lang/crates.io-index"
227 | checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292"
228 | dependencies = [
229 | "block-buffer",
230 | "crypto-common",
231 | "subtle",
232 | ]
233 |
234 | [[package]]
235 | name = "displaydoc"
236 | version = "0.2.4"
237 | source = "registry+https://github.com/rust-lang/crates.io-index"
238 | checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d"
239 | dependencies = [
240 | "proc-macro2",
241 | "quote",
242 | "syn 2.0.48",
243 | ]
244 |
245 | [[package]]
246 | name = "equivalent"
247 | version = "1.0.1"
248 | source = "registry+https://github.com/rust-lang/crates.io-index"
249 | checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
250 |
251 | [[package]]
252 | name = "find-crate"
253 | version = "0.6.3"
254 | source = "registry+https://github.com/rust-lang/crates.io-index"
255 | checksum = "59a98bbaacea1c0eb6a0876280051b892eb73594fd90cf3b20e9c817029c57d2"
256 | dependencies = [
257 | "toml 0.5.11",
258 | ]
259 |
260 | [[package]]
261 | name = "fluent"
262 | version = "0.16.0"
263 | source = "registry+https://github.com/rust-lang/crates.io-index"
264 | checksum = "61f69378194459db76abd2ce3952b790db103ceb003008d3d50d97c41ff847a7"
265 | dependencies = [
266 | "fluent-bundle",
267 | "unic-langid",
268 | ]
269 |
270 | [[package]]
271 | name = "fluent-bundle"
272 | version = "0.15.2"
273 | source = "registry+https://github.com/rust-lang/crates.io-index"
274 | checksum = "e242c601dec9711505f6d5bbff5bedd4b61b2469f2e8bb8e57ee7c9747a87ffd"
275 | dependencies = [
276 | "fluent-langneg",
277 | "fluent-syntax",
278 | "intl-memoizer",
279 | "intl_pluralrules",
280 | "rustc-hash",
281 | "self_cell 0.10.3",
282 | "smallvec",
283 | "unic-langid",
284 | ]
285 |
286 | [[package]]
287 | name = "fluent-langneg"
288 | version = "0.13.0"
289 | source = "registry+https://github.com/rust-lang/crates.io-index"
290 | checksum = "2c4ad0989667548f06ccd0e306ed56b61bd4d35458d54df5ec7587c0e8ed5e94"
291 | dependencies = [
292 | "unic-langid",
293 | ]
294 |
295 | [[package]]
296 | name = "fluent-syntax"
297 | version = "0.11.0"
298 | source = "registry+https://github.com/rust-lang/crates.io-index"
299 | checksum = "c0abed97648395c902868fee9026de96483933faa54ea3b40d652f7dfe61ca78"
300 | dependencies = [
301 | "thiserror",
302 | ]
303 |
304 | [[package]]
305 | name = "generic-array"
306 | version = "0.14.7"
307 | source = "registry+https://github.com/rust-lang/crates.io-index"
308 | checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a"
309 | dependencies = [
310 | "typenum",
311 | "version_check",
312 | ]
313 |
314 | [[package]]
315 | name = "getrandom"
316 | version = "0.1.16"
317 | source = "registry+https://github.com/rust-lang/crates.io-index"
318 | checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce"
319 | dependencies = [
320 | "cfg-if",
321 | "js-sys",
322 | "libc",
323 | "wasi 0.9.0+wasi-snapshot-preview1",
324 | "wasm-bindgen",
325 | ]
326 |
327 | [[package]]
328 | name = "getrandom"
329 | version = "0.2.12"
330 | source = "registry+https://github.com/rust-lang/crates.io-index"
331 | checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5"
332 | dependencies = [
333 | "cfg-if",
334 | "js-sys",
335 | "libc",
336 | "wasi 0.11.0+wasi-snapshot-preview1",
337 | "wasm-bindgen",
338 | ]
339 |
340 | [[package]]
341 | name = "hashbrown"
342 | version = "0.14.3"
343 | source = "registry+https://github.com/rust-lang/crates.io-index"
344 | checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604"
345 |
346 | [[package]]
347 | name = "hkdf"
348 | version = "0.12.4"
349 | source = "registry+https://github.com/rust-lang/crates.io-index"
350 | checksum = "7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7"
351 | dependencies = [
352 | "hmac",
353 | ]
354 |
355 | [[package]]
356 | name = "hmac"
357 | version = "0.12.1"
358 | source = "registry+https://github.com/rust-lang/crates.io-index"
359 | checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e"
360 | dependencies = [
361 | "digest 0.10.7",
362 | ]
363 |
364 | [[package]]
365 | name = "i18n-config"
366 | version = "0.4.6"
367 | source = "registry+https://github.com/rust-lang/crates.io-index"
368 | checksum = "0c9ce3c48cbc21fd5b22b9331f32b5b51f6ad85d969b99e793427332e76e7640"
369 | dependencies = [
370 | "log",
371 | "serde",
372 | "serde_derive",
373 | "thiserror",
374 | "toml 0.8.8",
375 | "unic-langid",
376 | ]
377 |
378 | [[package]]
379 | name = "i18n-embed"
380 | version = "0.13.9"
381 | source = "registry+https://github.com/rust-lang/crates.io-index"
382 | checksum = "92a86226a7a16632de6723449ee5fe70bac5af718bc642ee9ca2f0f6e14fa1fa"
383 | dependencies = [
384 | "arc-swap",
385 | "fluent",
386 | "fluent-langneg",
387 | "fluent-syntax",
388 | "i18n-embed-impl",
389 | "intl-memoizer",
390 | "lazy_static",
391 | "log",
392 | "parking_lot",
393 | "rust-embed",
394 | "thiserror",
395 | "unic-langid",
396 | "walkdir",
397 | ]
398 |
399 | [[package]]
400 | name = "i18n-embed-fl"
401 | version = "0.6.7"
402 | source = "registry+https://github.com/rust-lang/crates.io-index"
403 | checksum = "d26a3d3569737dfaac7fc1c4078e6af07471c3060b8e570bcd83cdd5f4685395"
404 | dependencies = [
405 | "dashmap",
406 | "find-crate",
407 | "fluent",
408 | "fluent-syntax",
409 | "i18n-config",
410 | "i18n-embed",
411 | "lazy_static",
412 | "proc-macro-error",
413 | "proc-macro2",
414 | "quote",
415 | "strsim",
416 | "syn 2.0.48",
417 | "unic-langid",
418 | ]
419 |
420 | [[package]]
421 | name = "i18n-embed-impl"
422 | version = "0.8.3"
423 | source = "registry+https://github.com/rust-lang/crates.io-index"
424 | checksum = "81093c4701672f59416582fe3145676126fd23ba5db910acad0793c1108aaa58"
425 | dependencies = [
426 | "find-crate",
427 | "i18n-config",
428 | "proc-macro2",
429 | "quote",
430 | "syn 2.0.48",
431 | ]
432 |
433 | [[package]]
434 | name = "indexmap"
435 | version = "2.2.1"
436 | source = "registry+https://github.com/rust-lang/crates.io-index"
437 | checksum = "433de089bd45971eecf4668ee0ee8f4cec17db4f8bd8f7bc3197a6ce37aa7d9b"
438 | dependencies = [
439 | "equivalent",
440 | "hashbrown",
441 | ]
442 |
443 | [[package]]
444 | name = "inout"
445 | version = "0.1.3"
446 | source = "registry+https://github.com/rust-lang/crates.io-index"
447 | checksum = "a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5"
448 | dependencies = [
449 | "generic-array",
450 | ]
451 |
452 | [[package]]
453 | name = "intl-memoizer"
454 | version = "0.5.1"
455 | source = "registry+https://github.com/rust-lang/crates.io-index"
456 | checksum = "c310433e4a310918d6ed9243542a6b83ec1183df95dff8f23f87bb88a264a66f"
457 | dependencies = [
458 | "type-map",
459 | "unic-langid",
460 | ]
461 |
462 | [[package]]
463 | name = "intl_pluralrules"
464 | version = "7.0.2"
465 | source = "registry+https://github.com/rust-lang/crates.io-index"
466 | checksum = "078ea7b7c29a2b4df841a7f6ac8775ff6074020c6776d48491ce2268e068f972"
467 | dependencies = [
468 | "unic-langid",
469 | ]
470 |
471 | [[package]]
472 | name = "io_tee"
473 | version = "0.1.1"
474 | source = "registry+https://github.com/rust-lang/crates.io-index"
475 | checksum = "4b3f7cef34251886990511df1c61443aa928499d598a9473929ab5a90a527304"
476 |
477 | [[package]]
478 | name = "js-sys"
479 | version = "0.3.67"
480 | source = "registry+https://github.com/rust-lang/crates.io-index"
481 | checksum = "9a1d36f1235bc969acba30b7f5990b864423a6068a10f7c90ae8f0112e3a59d1"
482 | dependencies = [
483 | "wasm-bindgen",
484 | ]
485 |
486 | [[package]]
487 | name = "lazy_static"
488 | version = "1.4.0"
489 | source = "registry+https://github.com/rust-lang/crates.io-index"
490 | checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
491 |
492 | [[package]]
493 | name = "libc"
494 | version = "0.2.152"
495 | source = "registry+https://github.com/rust-lang/crates.io-index"
496 | checksum = "13e3bf6590cbc649f4d1a3eefc9d5d6eb746f5200ffb04e5e142700b8faa56e7"
497 |
498 | [[package]]
499 | name = "lock_api"
500 | version = "0.4.11"
501 | source = "registry+https://github.com/rust-lang/crates.io-index"
502 | checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45"
503 | dependencies = [
504 | "autocfg",
505 | "scopeguard",
506 | ]
507 |
508 | [[package]]
509 | name = "log"
510 | version = "0.4.20"
511 | source = "registry+https://github.com/rust-lang/crates.io-index"
512 | checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
513 |
514 | [[package]]
515 | name = "memchr"
516 | version = "2.7.1"
517 | source = "registry+https://github.com/rust-lang/crates.io-index"
518 | checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149"
519 |
520 | [[package]]
521 | name = "minimal-lexical"
522 | version = "0.2.1"
523 | source = "registry+https://github.com/rust-lang/crates.io-index"
524 | checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
525 |
526 | [[package]]
527 | name = "nom"
528 | version = "7.1.3"
529 | source = "registry+https://github.com/rust-lang/crates.io-index"
530 | checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a"
531 | dependencies = [
532 | "memchr",
533 | "minimal-lexical",
534 | ]
535 |
536 | [[package]]
537 | name = "once_cell"
538 | version = "1.19.0"
539 | source = "registry+https://github.com/rust-lang/crates.io-index"
540 | checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
541 |
542 | [[package]]
543 | name = "opaque-debug"
544 | version = "0.3.0"
545 | source = "registry+https://github.com/rust-lang/crates.io-index"
546 | checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5"
547 |
548 | [[package]]
549 | name = "parking_lot"
550 | version = "0.12.1"
551 | source = "registry+https://github.com/rust-lang/crates.io-index"
552 | checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f"
553 | dependencies = [
554 | "lock_api",
555 | "parking_lot_core",
556 | ]
557 |
558 | [[package]]
559 | name = "parking_lot_core"
560 | version = "0.9.9"
561 | source = "registry+https://github.com/rust-lang/crates.io-index"
562 | checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e"
563 | dependencies = [
564 | "cfg-if",
565 | "libc",
566 | "redox_syscall",
567 | "smallvec",
568 | "windows-targets",
569 | ]
570 |
571 | [[package]]
572 | name = "pbkdf2"
573 | version = "0.11.0"
574 | source = "registry+https://github.com/rust-lang/crates.io-index"
575 | checksum = "83a0692ec44e4cf1ef28ca317f14f8f07da2d95ec3fa01f86e4467b725e60917"
576 | dependencies = [
577 | "digest 0.10.7",
578 | ]
579 |
580 | [[package]]
581 | name = "pin-project"
582 | version = "1.1.4"
583 | source = "registry+https://github.com/rust-lang/crates.io-index"
584 | checksum = "0302c4a0442c456bd56f841aee5c3bfd17967563f6fadc9ceb9f9c23cf3807e0"
585 | dependencies = [
586 | "pin-project-internal",
587 | ]
588 |
589 | [[package]]
590 | name = "pin-project-internal"
591 | version = "1.1.4"
592 | source = "registry+https://github.com/rust-lang/crates.io-index"
593 | checksum = "266c042b60c9c76b8d53061e52b2e0d1116abc57cefc8c5cd671619a56ac3690"
594 | dependencies = [
595 | "proc-macro2",
596 | "quote",
597 | "syn 2.0.48",
598 | ]
599 |
600 | [[package]]
601 | name = "poly1305"
602 | version = "0.8.0"
603 | source = "registry+https://github.com/rust-lang/crates.io-index"
604 | checksum = "8159bd90725d2df49889a078b54f4f79e87f1f8a8444194cdca81d38f5393abf"
605 | dependencies = [
606 | "cpufeatures",
607 | "opaque-debug",
608 | "universal-hash",
609 | ]
610 |
611 | [[package]]
612 | name = "ppv-lite86"
613 | version = "0.2.17"
614 | source = "registry+https://github.com/rust-lang/crates.io-index"
615 | checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
616 |
617 | [[package]]
618 | name = "proc-macro-error"
619 | version = "1.0.4"
620 | source = "registry+https://github.com/rust-lang/crates.io-index"
621 | checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c"
622 | dependencies = [
623 | "proc-macro-error-attr",
624 | "proc-macro2",
625 | "quote",
626 | "syn 1.0.109",
627 | "version_check",
628 | ]
629 |
630 | [[package]]
631 | name = "proc-macro-error-attr"
632 | version = "1.0.4"
633 | source = "registry+https://github.com/rust-lang/crates.io-index"
634 | checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869"
635 | dependencies = [
636 | "proc-macro2",
637 | "quote",
638 | "version_check",
639 | ]
640 |
641 | [[package]]
642 | name = "proc-macro2"
643 | version = "1.0.78"
644 | source = "registry+https://github.com/rust-lang/crates.io-index"
645 | checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae"
646 | dependencies = [
647 | "unicode-ident",
648 | ]
649 |
650 | [[package]]
651 | name = "quote"
652 | version = "1.0.35"
653 | source = "registry+https://github.com/rust-lang/crates.io-index"
654 | checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef"
655 | dependencies = [
656 | "proc-macro2",
657 | ]
658 |
659 | [[package]]
660 | name = "rage-wasm"
661 | version = "0.3.1"
662 | dependencies = [
663 | "age",
664 | "getrandom 0.1.16",
665 | "getrandom 0.2.12",
666 | "js-sys",
667 | "secrecy",
668 | "wasm-bindgen",
669 | "wasm-bindgen-test",
670 | ]
671 |
672 | [[package]]
673 | name = "rand"
674 | version = "0.7.3"
675 | source = "registry+https://github.com/rust-lang/crates.io-index"
676 | checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03"
677 | dependencies = [
678 | "getrandom 0.1.16",
679 | "libc",
680 | "rand_chacha 0.2.2",
681 | "rand_core 0.5.1",
682 | "rand_hc",
683 | ]
684 |
685 | [[package]]
686 | name = "rand"
687 | version = "0.8.5"
688 | source = "registry+https://github.com/rust-lang/crates.io-index"
689 | checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
690 | dependencies = [
691 | "libc",
692 | "rand_chacha 0.3.1",
693 | "rand_core 0.6.4",
694 | ]
695 |
696 | [[package]]
697 | name = "rand_chacha"
698 | version = "0.2.2"
699 | source = "registry+https://github.com/rust-lang/crates.io-index"
700 | checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402"
701 | dependencies = [
702 | "ppv-lite86",
703 | "rand_core 0.5.1",
704 | ]
705 |
706 | [[package]]
707 | name = "rand_chacha"
708 | version = "0.3.1"
709 | source = "registry+https://github.com/rust-lang/crates.io-index"
710 | checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
711 | dependencies = [
712 | "ppv-lite86",
713 | "rand_core 0.6.4",
714 | ]
715 |
716 | [[package]]
717 | name = "rand_core"
718 | version = "0.5.1"
719 | source = "registry+https://github.com/rust-lang/crates.io-index"
720 | checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19"
721 | dependencies = [
722 | "getrandom 0.1.16",
723 | ]
724 |
725 | [[package]]
726 | name = "rand_core"
727 | version = "0.6.4"
728 | source = "registry+https://github.com/rust-lang/crates.io-index"
729 | checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
730 | dependencies = [
731 | "getrandom 0.2.12",
732 | ]
733 |
734 | [[package]]
735 | name = "rand_hc"
736 | version = "0.2.0"
737 | source = "registry+https://github.com/rust-lang/crates.io-index"
738 | checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c"
739 | dependencies = [
740 | "rand_core 0.5.1",
741 | ]
742 |
743 | [[package]]
744 | name = "redox_syscall"
745 | version = "0.4.1"
746 | source = "registry+https://github.com/rust-lang/crates.io-index"
747 | checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa"
748 | dependencies = [
749 | "bitflags",
750 | ]
751 |
752 | [[package]]
753 | name = "rust-embed"
754 | version = "6.8.1"
755 | source = "registry+https://github.com/rust-lang/crates.io-index"
756 | checksum = "a36224c3276f8c4ebc8c20f158eca7ca4359c8db89991c4925132aaaf6702661"
757 | dependencies = [
758 | "rust-embed-impl",
759 | "rust-embed-utils",
760 | "walkdir",
761 | ]
762 |
763 | [[package]]
764 | name = "rust-embed-impl"
765 | version = "6.8.1"
766 | source = "registry+https://github.com/rust-lang/crates.io-index"
767 | checksum = "49b94b81e5b2c284684141a2fb9e2a31be90638caf040bf9afbc5a0416afe1ac"
768 | dependencies = [
769 | "proc-macro2",
770 | "quote",
771 | "rust-embed-utils",
772 | "syn 2.0.48",
773 | "walkdir",
774 | ]
775 |
776 | [[package]]
777 | name = "rust-embed-utils"
778 | version = "7.8.1"
779 | source = "registry+https://github.com/rust-lang/crates.io-index"
780 | checksum = "9d38ff6bf570dc3bb7100fce9f7b60c33fa71d80e88da3f2580df4ff2bdded74"
781 | dependencies = [
782 | "sha2",
783 | "walkdir",
784 | ]
785 |
786 | [[package]]
787 | name = "rustc-hash"
788 | version = "1.1.0"
789 | source = "registry+https://github.com/rust-lang/crates.io-index"
790 | checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
791 |
792 | [[package]]
793 | name = "salsa20"
794 | version = "0.10.2"
795 | source = "registry+https://github.com/rust-lang/crates.io-index"
796 | checksum = "97a22f5af31f73a954c10289c93e8a50cc23d971e80ee446f1f6f7137a088213"
797 | dependencies = [
798 | "cipher",
799 | ]
800 |
801 | [[package]]
802 | name = "same-file"
803 | version = "1.0.6"
804 | source = "registry+https://github.com/rust-lang/crates.io-index"
805 | checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502"
806 | dependencies = [
807 | "winapi-util",
808 | ]
809 |
810 | [[package]]
811 | name = "scoped-tls"
812 | version = "1.0.1"
813 | source = "registry+https://github.com/rust-lang/crates.io-index"
814 | checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294"
815 |
816 | [[package]]
817 | name = "scopeguard"
818 | version = "1.2.0"
819 | source = "registry+https://github.com/rust-lang/crates.io-index"
820 | checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
821 |
822 | [[package]]
823 | name = "scrypt"
824 | version = "0.10.0"
825 | source = "registry+https://github.com/rust-lang/crates.io-index"
826 | checksum = "9f9e24d2b632954ded8ab2ef9fea0a0c769ea56ea98bddbafbad22caeeadf45d"
827 | dependencies = [
828 | "hmac",
829 | "pbkdf2",
830 | "salsa20",
831 | "sha2",
832 | ]
833 |
834 | [[package]]
835 | name = "secrecy"
836 | version = "0.8.0"
837 | source = "registry+https://github.com/rust-lang/crates.io-index"
838 | checksum = "9bd1c54ea06cfd2f6b63219704de0b9b4f72dcc2b8fdef820be6cd799780e91e"
839 | dependencies = [
840 | "zeroize",
841 | ]
842 |
843 | [[package]]
844 | name = "self_cell"
845 | version = "0.10.3"
846 | source = "registry+https://github.com/rust-lang/crates.io-index"
847 | checksum = "e14e4d63b804dc0c7ec4a1e52bcb63f02c7ac94476755aa579edac21e01f915d"
848 | dependencies = [
849 | "self_cell 1.0.3",
850 | ]
851 |
852 | [[package]]
853 | name = "self_cell"
854 | version = "1.0.3"
855 | source = "registry+https://github.com/rust-lang/crates.io-index"
856 | checksum = "58bf37232d3bb9a2c4e641ca2a11d83b5062066f88df7fed36c28772046d65ba"
857 |
858 | [[package]]
859 | name = "serde"
860 | version = "1.0.196"
861 | source = "registry+https://github.com/rust-lang/crates.io-index"
862 | checksum = "870026e60fa08c69f064aa766c10f10b1d62db9ccd4d0abb206472bee0ce3b32"
863 | dependencies = [
864 | "serde_derive",
865 | ]
866 |
867 | [[package]]
868 | name = "serde_derive"
869 | version = "1.0.196"
870 | source = "registry+https://github.com/rust-lang/crates.io-index"
871 | checksum = "33c85360c95e7d137454dc81d9a4ed2b8efd8fbe19cee57357b32b9771fccb67"
872 | dependencies = [
873 | "proc-macro2",
874 | "quote",
875 | "syn 2.0.48",
876 | ]
877 |
878 | [[package]]
879 | name = "serde_spanned"
880 | version = "0.6.5"
881 | source = "registry+https://github.com/rust-lang/crates.io-index"
882 | checksum = "eb3622f419d1296904700073ea6cc23ad690adbd66f13ea683df73298736f0c1"
883 | dependencies = [
884 | "serde",
885 | ]
886 |
887 | [[package]]
888 | name = "sha2"
889 | version = "0.10.8"
890 | source = "registry+https://github.com/rust-lang/crates.io-index"
891 | checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8"
892 | dependencies = [
893 | "cfg-if",
894 | "cpufeatures",
895 | "digest 0.10.7",
896 | ]
897 |
898 | [[package]]
899 | name = "smallvec"
900 | version = "1.13.1"
901 | source = "registry+https://github.com/rust-lang/crates.io-index"
902 | checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7"
903 |
904 | [[package]]
905 | name = "strsim"
906 | version = "0.10.0"
907 | source = "registry+https://github.com/rust-lang/crates.io-index"
908 | checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
909 |
910 | [[package]]
911 | name = "subtle"
912 | version = "2.4.1"
913 | source = "registry+https://github.com/rust-lang/crates.io-index"
914 | checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601"
915 |
916 | [[package]]
917 | name = "syn"
918 | version = "1.0.109"
919 | source = "registry+https://github.com/rust-lang/crates.io-index"
920 | checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
921 | dependencies = [
922 | "proc-macro2",
923 | "unicode-ident",
924 | ]
925 |
926 | [[package]]
927 | name = "syn"
928 | version = "2.0.48"
929 | source = "registry+https://github.com/rust-lang/crates.io-index"
930 | checksum = "0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f"
931 | dependencies = [
932 | "proc-macro2",
933 | "quote",
934 | "unicode-ident",
935 | ]
936 |
937 | [[package]]
938 | name = "thiserror"
939 | version = "1.0.56"
940 | source = "registry+https://github.com/rust-lang/crates.io-index"
941 | checksum = "d54378c645627613241d077a3a79db965db602882668f9136ac42af9ecb730ad"
942 | dependencies = [
943 | "thiserror-impl",
944 | ]
945 |
946 | [[package]]
947 | name = "thiserror-impl"
948 | version = "1.0.56"
949 | source = "registry+https://github.com/rust-lang/crates.io-index"
950 | checksum = "fa0faa943b50f3db30a20aa7e265dbc66076993efed8463e8de414e5d06d3471"
951 | dependencies = [
952 | "proc-macro2",
953 | "quote",
954 | "syn 2.0.48",
955 | ]
956 |
957 | [[package]]
958 | name = "tinystr"
959 | version = "0.7.5"
960 | source = "registry+https://github.com/rust-lang/crates.io-index"
961 | checksum = "83c02bf3c538ab32ba913408224323915f4ef9a6d61c0e85d493f355921c0ece"
962 | dependencies = [
963 | "displaydoc",
964 | ]
965 |
966 | [[package]]
967 | name = "toml"
968 | version = "0.5.11"
969 | source = "registry+https://github.com/rust-lang/crates.io-index"
970 | checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234"
971 | dependencies = [
972 | "serde",
973 | ]
974 |
975 | [[package]]
976 | name = "toml"
977 | version = "0.8.8"
978 | source = "registry+https://github.com/rust-lang/crates.io-index"
979 | checksum = "a1a195ec8c9da26928f773888e0742ca3ca1040c6cd859c919c9f59c1954ab35"
980 | dependencies = [
981 | "serde",
982 | "serde_spanned",
983 | "toml_datetime",
984 | "toml_edit",
985 | ]
986 |
987 | [[package]]
988 | name = "toml_datetime"
989 | version = "0.6.5"
990 | source = "registry+https://github.com/rust-lang/crates.io-index"
991 | checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1"
992 | dependencies = [
993 | "serde",
994 | ]
995 |
996 | [[package]]
997 | name = "toml_edit"
998 | version = "0.21.0"
999 | source = "registry+https://github.com/rust-lang/crates.io-index"
1000 | checksum = "d34d383cd00a163b4a5b85053df514d45bc330f6de7737edfe0a93311d1eaa03"
1001 | dependencies = [
1002 | "indexmap",
1003 | "serde",
1004 | "serde_spanned",
1005 | "toml_datetime",
1006 | "winnow",
1007 | ]
1008 |
1009 | [[package]]
1010 | name = "type-map"
1011 | version = "0.4.0"
1012 | source = "registry+https://github.com/rust-lang/crates.io-index"
1013 | checksum = "b6d3364c5e96cb2ad1603037ab253ddd34d7fb72a58bdddf4b7350760fc69a46"
1014 | dependencies = [
1015 | "rustc-hash",
1016 | ]
1017 |
1018 | [[package]]
1019 | name = "typenum"
1020 | version = "1.17.0"
1021 | source = "registry+https://github.com/rust-lang/crates.io-index"
1022 | checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825"
1023 |
1024 | [[package]]
1025 | name = "unic-langid"
1026 | version = "0.9.4"
1027 | source = "registry+https://github.com/rust-lang/crates.io-index"
1028 | checksum = "238722e6d794ed130f91f4ea33e01fcff4f188d92337a21297892521c72df516"
1029 | dependencies = [
1030 | "unic-langid-impl",
1031 | ]
1032 |
1033 | [[package]]
1034 | name = "unic-langid-impl"
1035 | version = "0.9.4"
1036 | source = "registry+https://github.com/rust-lang/crates.io-index"
1037 | checksum = "4bd55a2063fdea4ef1f8633243a7b0524cbeef1905ae04c31a1c9b9775c55bc6"
1038 | dependencies = [
1039 | "serde",
1040 | "tinystr",
1041 | ]
1042 |
1043 | [[package]]
1044 | name = "unicode-ident"
1045 | version = "1.0.12"
1046 | source = "registry+https://github.com/rust-lang/crates.io-index"
1047 | checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
1048 |
1049 | [[package]]
1050 | name = "universal-hash"
1051 | version = "0.5.1"
1052 | source = "registry+https://github.com/rust-lang/crates.io-index"
1053 | checksum = "fc1de2c688dc15305988b563c3854064043356019f97a4b46276fe734c4f07ea"
1054 | dependencies = [
1055 | "crypto-common",
1056 | "subtle",
1057 | ]
1058 |
1059 | [[package]]
1060 | name = "version_check"
1061 | version = "0.9.4"
1062 | source = "registry+https://github.com/rust-lang/crates.io-index"
1063 | checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
1064 |
1065 | [[package]]
1066 | name = "walkdir"
1067 | version = "2.4.0"
1068 | source = "registry+https://github.com/rust-lang/crates.io-index"
1069 | checksum = "d71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee"
1070 | dependencies = [
1071 | "same-file",
1072 | "winapi-util",
1073 | ]
1074 |
1075 | [[package]]
1076 | name = "wasi"
1077 | version = "0.9.0+wasi-snapshot-preview1"
1078 | source = "registry+https://github.com/rust-lang/crates.io-index"
1079 | checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519"
1080 |
1081 | [[package]]
1082 | name = "wasi"
1083 | version = "0.11.0+wasi-snapshot-preview1"
1084 | source = "registry+https://github.com/rust-lang/crates.io-index"
1085 | checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
1086 |
1087 | [[package]]
1088 | name = "wasm-bindgen"
1089 | version = "0.2.90"
1090 | source = "registry+https://github.com/rust-lang/crates.io-index"
1091 | checksum = "b1223296a201415c7fad14792dbefaace9bd52b62d33453ade1c5b5f07555406"
1092 | dependencies = [
1093 | "cfg-if",
1094 | "wasm-bindgen-macro",
1095 | ]
1096 |
1097 | [[package]]
1098 | name = "wasm-bindgen-backend"
1099 | version = "0.2.90"
1100 | source = "registry+https://github.com/rust-lang/crates.io-index"
1101 | checksum = "fcdc935b63408d58a32f8cc9738a0bffd8f05cc7c002086c6ef20b7312ad9dcd"
1102 | dependencies = [
1103 | "bumpalo",
1104 | "log",
1105 | "once_cell",
1106 | "proc-macro2",
1107 | "quote",
1108 | "syn 2.0.48",
1109 | "wasm-bindgen-shared",
1110 | ]
1111 |
1112 | [[package]]
1113 | name = "wasm-bindgen-futures"
1114 | version = "0.4.40"
1115 | source = "registry+https://github.com/rust-lang/crates.io-index"
1116 | checksum = "bde2032aeb86bdfaecc8b261eef3cba735cc426c1f3a3416d1e0791be95fc461"
1117 | dependencies = [
1118 | "cfg-if",
1119 | "js-sys",
1120 | "wasm-bindgen",
1121 | "web-sys",
1122 | ]
1123 |
1124 | [[package]]
1125 | name = "wasm-bindgen-macro"
1126 | version = "0.2.90"
1127 | source = "registry+https://github.com/rust-lang/crates.io-index"
1128 | checksum = "3e4c238561b2d428924c49815533a8b9121c664599558a5d9ec51f8a1740a999"
1129 | dependencies = [
1130 | "quote",
1131 | "wasm-bindgen-macro-support",
1132 | ]
1133 |
1134 | [[package]]
1135 | name = "wasm-bindgen-macro-support"
1136 | version = "0.2.90"
1137 | source = "registry+https://github.com/rust-lang/crates.io-index"
1138 | checksum = "bae1abb6806dc1ad9e560ed242107c0f6c84335f1749dd4e8ddb012ebd5e25a7"
1139 | dependencies = [
1140 | "proc-macro2",
1141 | "quote",
1142 | "syn 2.0.48",
1143 | "wasm-bindgen-backend",
1144 | "wasm-bindgen-shared",
1145 | ]
1146 |
1147 | [[package]]
1148 | name = "wasm-bindgen-shared"
1149 | version = "0.2.90"
1150 | source = "registry+https://github.com/rust-lang/crates.io-index"
1151 | checksum = "4d91413b1c31d7539ba5ef2451af3f0b833a005eb27a631cec32bc0635a8602b"
1152 |
1153 | [[package]]
1154 | name = "wasm-bindgen-test"
1155 | version = "0.3.40"
1156 | source = "registry+https://github.com/rust-lang/crates.io-index"
1157 | checksum = "139bd73305d50e1c1c4333210c0db43d989395b64a237bd35c10ef3832a7f70c"
1158 | dependencies = [
1159 | "console_error_panic_hook",
1160 | "js-sys",
1161 | "scoped-tls",
1162 | "wasm-bindgen",
1163 | "wasm-bindgen-futures",
1164 | "wasm-bindgen-test-macro",
1165 | ]
1166 |
1167 | [[package]]
1168 | name = "wasm-bindgen-test-macro"
1169 | version = "0.3.40"
1170 | source = "registry+https://github.com/rust-lang/crates.io-index"
1171 | checksum = "70072aebfe5da66d2716002c729a14e4aec4da0e23cc2ea66323dac541c93928"
1172 | dependencies = [
1173 | "proc-macro2",
1174 | "quote",
1175 | "syn 2.0.48",
1176 | ]
1177 |
1178 | [[package]]
1179 | name = "web-sys"
1180 | version = "0.3.67"
1181 | source = "registry+https://github.com/rust-lang/crates.io-index"
1182 | checksum = "58cd2333b6e0be7a39605f0e255892fd7418a682d8da8fe042fe25128794d2ed"
1183 | dependencies = [
1184 | "js-sys",
1185 | "wasm-bindgen",
1186 | ]
1187 |
1188 | [[package]]
1189 | name = "winapi"
1190 | version = "0.3.9"
1191 | source = "registry+https://github.com/rust-lang/crates.io-index"
1192 | checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
1193 | dependencies = [
1194 | "winapi-i686-pc-windows-gnu",
1195 | "winapi-x86_64-pc-windows-gnu",
1196 | ]
1197 |
1198 | [[package]]
1199 | name = "winapi-i686-pc-windows-gnu"
1200 | version = "0.4.0"
1201 | source = "registry+https://github.com/rust-lang/crates.io-index"
1202 | checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
1203 |
1204 | [[package]]
1205 | name = "winapi-util"
1206 | version = "0.1.6"
1207 | source = "registry+https://github.com/rust-lang/crates.io-index"
1208 | checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596"
1209 | dependencies = [
1210 | "winapi",
1211 | ]
1212 |
1213 | [[package]]
1214 | name = "winapi-x86_64-pc-windows-gnu"
1215 | version = "0.4.0"
1216 | source = "registry+https://github.com/rust-lang/crates.io-index"
1217 | checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
1218 |
1219 | [[package]]
1220 | name = "windows-targets"
1221 | version = "0.48.5"
1222 | source = "registry+https://github.com/rust-lang/crates.io-index"
1223 | checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
1224 | dependencies = [
1225 | "windows_aarch64_gnullvm",
1226 | "windows_aarch64_msvc",
1227 | "windows_i686_gnu",
1228 | "windows_i686_msvc",
1229 | "windows_x86_64_gnu",
1230 | "windows_x86_64_gnullvm",
1231 | "windows_x86_64_msvc",
1232 | ]
1233 |
1234 | [[package]]
1235 | name = "windows_aarch64_gnullvm"
1236 | version = "0.48.5"
1237 | source = "registry+https://github.com/rust-lang/crates.io-index"
1238 | checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
1239 |
1240 | [[package]]
1241 | name = "windows_aarch64_msvc"
1242 | version = "0.48.5"
1243 | source = "registry+https://github.com/rust-lang/crates.io-index"
1244 | checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
1245 |
1246 | [[package]]
1247 | name = "windows_i686_gnu"
1248 | version = "0.48.5"
1249 | source = "registry+https://github.com/rust-lang/crates.io-index"
1250 | checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
1251 |
1252 | [[package]]
1253 | name = "windows_i686_msvc"
1254 | version = "0.48.5"
1255 | source = "registry+https://github.com/rust-lang/crates.io-index"
1256 | checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
1257 |
1258 | [[package]]
1259 | name = "windows_x86_64_gnu"
1260 | version = "0.48.5"
1261 | source = "registry+https://github.com/rust-lang/crates.io-index"
1262 | checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
1263 |
1264 | [[package]]
1265 | name = "windows_x86_64_gnullvm"
1266 | version = "0.48.5"
1267 | source = "registry+https://github.com/rust-lang/crates.io-index"
1268 | checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
1269 |
1270 | [[package]]
1271 | name = "windows_x86_64_msvc"
1272 | version = "0.48.5"
1273 | source = "registry+https://github.com/rust-lang/crates.io-index"
1274 | checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
1275 |
1276 | [[package]]
1277 | name = "winnow"
1278 | version = "0.5.35"
1279 | source = "registry+https://github.com/rust-lang/crates.io-index"
1280 | checksum = "1931d78a9c73861da0134f453bb1f790ce49b2e30eba8410b4b79bac72b46a2d"
1281 | dependencies = [
1282 | "memchr",
1283 | ]
1284 |
1285 | [[package]]
1286 | name = "x25519-dalek"
1287 | version = "1.1.1"
1288 | source = "registry+https://github.com/rust-lang/crates.io-index"
1289 | checksum = "5a0c105152107e3b96f6a00a65e86ce82d9b125230e1c4302940eca58ff71f4f"
1290 | dependencies = [
1291 | "curve25519-dalek",
1292 | "rand_core 0.5.1",
1293 | "zeroize",
1294 | ]
1295 |
1296 | [[package]]
1297 | name = "zeroize"
1298 | version = "1.7.0"
1299 | source = "registry+https://github.com/rust-lang/crates.io-index"
1300 | checksum = "525b4ec142c6b68a2d10f01f7bbf6755599ca3f81ea53b8431b7dd348f5fdb2d"
1301 | dependencies = [
1302 | "zeroize_derive",
1303 | ]
1304 |
1305 | [[package]]
1306 | name = "zeroize_derive"
1307 | version = "1.4.2"
1308 | source = "registry+https://github.com/rust-lang/crates.io-index"
1309 | checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69"
1310 | dependencies = [
1311 | "proc-macro2",
1312 | "quote",
1313 | "syn 2.0.48",
1314 | ]
1315 |
--------------------------------------------------------------------------------
/examples/shadow-cljs/package-lock.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "rage-wasm-example",
3 | "version": "0.0.1",
4 | "lockfileVersion": 2,
5 | "requires": true,
6 | "packages": {
7 | "": {
8 | "name": "rage-wasm-example",
9 | "version": "0.0.1",
10 | "devDependencies": {
11 | "@kanru/rage-wasm": "../../",
12 | "shadow-cljs": "2.20.2"
13 | }
14 | },
15 | "../..": {
16 | "name": "@kanru/rage-wasm",
17 | "version": "0.3.1",
18 | "dev": true,
19 | "license": "MIT OR Apache-2.0",
20 | "devDependencies": {
21 | "@esm-bundle/chai": "^4.3.4-fix.0",
22 | "@wasm-tool/rollup-plugin-rust": "^2.4.5",
23 | "@web/test-runner": "^0.18.0",
24 | "@web/test-runner-playwright": "^0.11.0",
25 | "rollup": "^4.9.6",
26 | "rollup-plugin-re": "^1.0.7"
27 | }
28 | },
29 | "node_modules/@kanru/rage-wasm": {
30 | "resolved": "../..",
31 | "link": true
32 | },
33 | "node_modules/asn1.js": {
34 | "version": "5.4.1",
35 | "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz",
36 | "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==",
37 | "dev": true,
38 | "dependencies": {
39 | "bn.js": "^4.0.0",
40 | "inherits": "^2.0.1",
41 | "minimalistic-assert": "^1.0.0",
42 | "safer-buffer": "^2.1.0"
43 | }
44 | },
45 | "node_modules/asn1.js/node_modules/bn.js": {
46 | "version": "4.12.0",
47 | "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
48 | "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
49 | "dev": true
50 | },
51 | "node_modules/assert": {
52 | "version": "1.5.0",
53 | "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz",
54 | "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==",
55 | "dev": true,
56 | "dependencies": {
57 | "object-assign": "^4.1.1",
58 | "util": "0.10.3"
59 | }
60 | },
61 | "node_modules/assert/node_modules/inherits": {
62 | "version": "2.0.1",
63 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz",
64 | "integrity": "sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==",
65 | "dev": true
66 | },
67 | "node_modules/assert/node_modules/util": {
68 | "version": "0.10.3",
69 | "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz",
70 | "integrity": "sha512-5KiHfsmkqacuKjkRkdV7SsfDJ2EGiPsK92s2MhNSY0craxjTdKTtqKsJaCWp4LW33ZZ0OPUv1WO/TFvNQRiQxQ==",
71 | "dev": true,
72 | "dependencies": {
73 | "inherits": "2.0.1"
74 | }
75 | },
76 | "node_modules/base64-js": {
77 | "version": "1.5.1",
78 | "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
79 | "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
80 | "dev": true,
81 | "funding": [
82 | {
83 | "type": "github",
84 | "url": "https://github.com/sponsors/feross"
85 | },
86 | {
87 | "type": "patreon",
88 | "url": "https://www.patreon.com/feross"
89 | },
90 | {
91 | "type": "consulting",
92 | "url": "https://feross.org/support"
93 | }
94 | ]
95 | },
96 | "node_modules/bn.js": {
97 | "version": "5.2.1",
98 | "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz",
99 | "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==",
100 | "dev": true
101 | },
102 | "node_modules/brorand": {
103 | "version": "1.1.0",
104 | "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz",
105 | "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==",
106 | "dev": true
107 | },
108 | "node_modules/browserify-aes": {
109 | "version": "1.2.0",
110 | "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz",
111 | "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==",
112 | "dev": true,
113 | "dependencies": {
114 | "buffer-xor": "^1.0.3",
115 | "cipher-base": "^1.0.0",
116 | "create-hash": "^1.1.0",
117 | "evp_bytestokey": "^1.0.3",
118 | "inherits": "^2.0.1",
119 | "safe-buffer": "^5.0.1"
120 | }
121 | },
122 | "node_modules/browserify-cipher": {
123 | "version": "1.0.1",
124 | "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz",
125 | "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==",
126 | "dev": true,
127 | "dependencies": {
128 | "browserify-aes": "^1.0.4",
129 | "browserify-des": "^1.0.0",
130 | "evp_bytestokey": "^1.0.0"
131 | }
132 | },
133 | "node_modules/browserify-des": {
134 | "version": "1.0.2",
135 | "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz",
136 | "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==",
137 | "dev": true,
138 | "dependencies": {
139 | "cipher-base": "^1.0.1",
140 | "des.js": "^1.0.0",
141 | "inherits": "^2.0.1",
142 | "safe-buffer": "^5.1.2"
143 | }
144 | },
145 | "node_modules/browserify-rsa": {
146 | "version": "4.1.0",
147 | "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz",
148 | "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==",
149 | "dev": true,
150 | "dependencies": {
151 | "bn.js": "^5.0.0",
152 | "randombytes": "^2.0.1"
153 | }
154 | },
155 | "node_modules/browserify-sign": {
156 | "version": "4.2.2",
157 | "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.2.tgz",
158 | "integrity": "sha512-1rudGyeYY42Dk6texmv7c4VcQ0EsvVbLwZkA+AQB7SxvXxmcD93jcHie8bzecJ+ChDlmAm2Qyu0+Ccg5uhZXCg==",
159 | "dev": true,
160 | "dependencies": {
161 | "bn.js": "^5.2.1",
162 | "browserify-rsa": "^4.1.0",
163 | "create-hash": "^1.2.0",
164 | "create-hmac": "^1.1.7",
165 | "elliptic": "^6.5.4",
166 | "inherits": "^2.0.4",
167 | "parse-asn1": "^5.1.6",
168 | "readable-stream": "^3.6.2",
169 | "safe-buffer": "^5.2.1"
170 | },
171 | "engines": {
172 | "node": ">= 4"
173 | }
174 | },
175 | "node_modules/browserify-sign/node_modules/readable-stream": {
176 | "version": "3.6.2",
177 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
178 | "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
179 | "dev": true,
180 | "dependencies": {
181 | "inherits": "^2.0.3",
182 | "string_decoder": "^1.1.1",
183 | "util-deprecate": "^1.0.1"
184 | },
185 | "engines": {
186 | "node": ">= 6"
187 | }
188 | },
189 | "node_modules/browserify-zlib": {
190 | "version": "0.2.0",
191 | "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz",
192 | "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==",
193 | "dev": true,
194 | "dependencies": {
195 | "pako": "~1.0.5"
196 | }
197 | },
198 | "node_modules/buffer": {
199 | "version": "4.9.2",
200 | "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz",
201 | "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==",
202 | "dev": true,
203 | "dependencies": {
204 | "base64-js": "^1.0.2",
205 | "ieee754": "^1.1.4",
206 | "isarray": "^1.0.0"
207 | }
208 | },
209 | "node_modules/buffer-xor": {
210 | "version": "1.0.3",
211 | "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz",
212 | "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==",
213 | "dev": true
214 | },
215 | "node_modules/builtin-status-codes": {
216 | "version": "3.0.0",
217 | "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz",
218 | "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==",
219 | "dev": true
220 | },
221 | "node_modules/cipher-base": {
222 | "version": "1.0.4",
223 | "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz",
224 | "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==",
225 | "dev": true,
226 | "dependencies": {
227 | "inherits": "^2.0.1",
228 | "safe-buffer": "^5.0.1"
229 | }
230 | },
231 | "node_modules/console-browserify": {
232 | "version": "1.2.0",
233 | "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz",
234 | "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==",
235 | "dev": true
236 | },
237 | "node_modules/constants-browserify": {
238 | "version": "1.0.0",
239 | "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz",
240 | "integrity": "sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==",
241 | "dev": true
242 | },
243 | "node_modules/core-util-is": {
244 | "version": "1.0.3",
245 | "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz",
246 | "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==",
247 | "dev": true
248 | },
249 | "node_modules/create-ecdh": {
250 | "version": "4.0.4",
251 | "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz",
252 | "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==",
253 | "dev": true,
254 | "dependencies": {
255 | "bn.js": "^4.1.0",
256 | "elliptic": "^6.5.3"
257 | }
258 | },
259 | "node_modules/create-ecdh/node_modules/bn.js": {
260 | "version": "4.12.0",
261 | "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
262 | "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
263 | "dev": true
264 | },
265 | "node_modules/create-hash": {
266 | "version": "1.2.0",
267 | "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz",
268 | "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==",
269 | "dev": true,
270 | "dependencies": {
271 | "cipher-base": "^1.0.1",
272 | "inherits": "^2.0.1",
273 | "md5.js": "^1.3.4",
274 | "ripemd160": "^2.0.1",
275 | "sha.js": "^2.4.0"
276 | }
277 | },
278 | "node_modules/create-hmac": {
279 | "version": "1.1.7",
280 | "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz",
281 | "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==",
282 | "dev": true,
283 | "dependencies": {
284 | "cipher-base": "^1.0.3",
285 | "create-hash": "^1.1.0",
286 | "inherits": "^2.0.1",
287 | "ripemd160": "^2.0.0",
288 | "safe-buffer": "^5.0.1",
289 | "sha.js": "^2.4.8"
290 | }
291 | },
292 | "node_modules/crypto-browserify": {
293 | "version": "3.12.0",
294 | "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz",
295 | "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==",
296 | "dev": true,
297 | "dependencies": {
298 | "browserify-cipher": "^1.0.0",
299 | "browserify-sign": "^4.0.0",
300 | "create-ecdh": "^4.0.0",
301 | "create-hash": "^1.1.0",
302 | "create-hmac": "^1.1.0",
303 | "diffie-hellman": "^5.0.0",
304 | "inherits": "^2.0.1",
305 | "pbkdf2": "^3.0.3",
306 | "public-encrypt": "^4.0.0",
307 | "randombytes": "^2.0.0",
308 | "randomfill": "^1.0.3"
309 | },
310 | "engines": {
311 | "node": "*"
312 | }
313 | },
314 | "node_modules/des.js": {
315 | "version": "1.0.1",
316 | "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz",
317 | "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==",
318 | "dev": true,
319 | "dependencies": {
320 | "inherits": "^2.0.1",
321 | "minimalistic-assert": "^1.0.0"
322 | }
323 | },
324 | "node_modules/diffie-hellman": {
325 | "version": "5.0.3",
326 | "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz",
327 | "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==",
328 | "dev": true,
329 | "dependencies": {
330 | "bn.js": "^4.1.0",
331 | "miller-rabin": "^4.0.0",
332 | "randombytes": "^2.0.0"
333 | }
334 | },
335 | "node_modules/diffie-hellman/node_modules/bn.js": {
336 | "version": "4.12.0",
337 | "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
338 | "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
339 | "dev": true
340 | },
341 | "node_modules/domain-browser": {
342 | "version": "1.2.0",
343 | "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz",
344 | "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==",
345 | "dev": true,
346 | "engines": {
347 | "node": ">=0.4",
348 | "npm": ">=1.2"
349 | }
350 | },
351 | "node_modules/elliptic": {
352 | "version": "6.5.4",
353 | "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz",
354 | "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==",
355 | "dev": true,
356 | "dependencies": {
357 | "bn.js": "^4.11.9",
358 | "brorand": "^1.1.0",
359 | "hash.js": "^1.0.0",
360 | "hmac-drbg": "^1.0.1",
361 | "inherits": "^2.0.4",
362 | "minimalistic-assert": "^1.0.1",
363 | "minimalistic-crypto-utils": "^1.0.1"
364 | }
365 | },
366 | "node_modules/elliptic/node_modules/bn.js": {
367 | "version": "4.12.0",
368 | "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
369 | "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
370 | "dev": true
371 | },
372 | "node_modules/events": {
373 | "version": "3.3.0",
374 | "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
375 | "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
376 | "dev": true,
377 | "engines": {
378 | "node": ">=0.8.x"
379 | }
380 | },
381 | "node_modules/evp_bytestokey": {
382 | "version": "1.0.3",
383 | "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz",
384 | "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==",
385 | "dev": true,
386 | "dependencies": {
387 | "md5.js": "^1.3.4",
388 | "safe-buffer": "^5.1.1"
389 | }
390 | },
391 | "node_modules/hash-base": {
392 | "version": "3.1.0",
393 | "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz",
394 | "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==",
395 | "dev": true,
396 | "dependencies": {
397 | "inherits": "^2.0.4",
398 | "readable-stream": "^3.6.0",
399 | "safe-buffer": "^5.2.0"
400 | },
401 | "engines": {
402 | "node": ">=4"
403 | }
404 | },
405 | "node_modules/hash-base/node_modules/readable-stream": {
406 | "version": "3.6.0",
407 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
408 | "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
409 | "dev": true,
410 | "dependencies": {
411 | "inherits": "^2.0.3",
412 | "string_decoder": "^1.1.1",
413 | "util-deprecate": "^1.0.1"
414 | },
415 | "engines": {
416 | "node": ">= 6"
417 | }
418 | },
419 | "node_modules/hash.js": {
420 | "version": "1.1.7",
421 | "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz",
422 | "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==",
423 | "dev": true,
424 | "dependencies": {
425 | "inherits": "^2.0.3",
426 | "minimalistic-assert": "^1.0.1"
427 | }
428 | },
429 | "node_modules/hmac-drbg": {
430 | "version": "1.0.1",
431 | "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz",
432 | "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==",
433 | "dev": true,
434 | "dependencies": {
435 | "hash.js": "^1.0.3",
436 | "minimalistic-assert": "^1.0.0",
437 | "minimalistic-crypto-utils": "^1.0.1"
438 | }
439 | },
440 | "node_modules/https-browserify": {
441 | "version": "1.0.0",
442 | "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz",
443 | "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==",
444 | "dev": true
445 | },
446 | "node_modules/ieee754": {
447 | "version": "1.2.1",
448 | "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
449 | "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
450 | "dev": true,
451 | "funding": [
452 | {
453 | "type": "github",
454 | "url": "https://github.com/sponsors/feross"
455 | },
456 | {
457 | "type": "patreon",
458 | "url": "https://www.patreon.com/feross"
459 | },
460 | {
461 | "type": "consulting",
462 | "url": "https://feross.org/support"
463 | }
464 | ]
465 | },
466 | "node_modules/inherits": {
467 | "version": "2.0.4",
468 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
469 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
470 | "dev": true
471 | },
472 | "node_modules/isarray": {
473 | "version": "1.0.0",
474 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
475 | "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==",
476 | "dev": true
477 | },
478 | "node_modules/isexe": {
479 | "version": "2.0.0",
480 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
481 | "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
482 | "dev": true
483 | },
484 | "node_modules/md5.js": {
485 | "version": "1.3.5",
486 | "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz",
487 | "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==",
488 | "dev": true,
489 | "dependencies": {
490 | "hash-base": "^3.0.0",
491 | "inherits": "^2.0.1",
492 | "safe-buffer": "^5.1.2"
493 | }
494 | },
495 | "node_modules/miller-rabin": {
496 | "version": "4.0.1",
497 | "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz",
498 | "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==",
499 | "dev": true,
500 | "dependencies": {
501 | "bn.js": "^4.0.0",
502 | "brorand": "^1.0.1"
503 | },
504 | "bin": {
505 | "miller-rabin": "bin/miller-rabin"
506 | }
507 | },
508 | "node_modules/miller-rabin/node_modules/bn.js": {
509 | "version": "4.12.0",
510 | "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
511 | "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
512 | "dev": true
513 | },
514 | "node_modules/minimalistic-assert": {
515 | "version": "1.0.1",
516 | "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz",
517 | "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==",
518 | "dev": true
519 | },
520 | "node_modules/minimalistic-crypto-utils": {
521 | "version": "1.0.1",
522 | "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz",
523 | "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==",
524 | "dev": true
525 | },
526 | "node_modules/node-libs-browser": {
527 | "version": "2.2.1",
528 | "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz",
529 | "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==",
530 | "dev": true,
531 | "dependencies": {
532 | "assert": "^1.1.1",
533 | "browserify-zlib": "^0.2.0",
534 | "buffer": "^4.3.0",
535 | "console-browserify": "^1.1.0",
536 | "constants-browserify": "^1.0.0",
537 | "crypto-browserify": "^3.11.0",
538 | "domain-browser": "^1.1.1",
539 | "events": "^3.0.0",
540 | "https-browserify": "^1.0.0",
541 | "os-browserify": "^0.3.0",
542 | "path-browserify": "0.0.1",
543 | "process": "^0.11.10",
544 | "punycode": "^1.2.4",
545 | "querystring-es3": "^0.2.0",
546 | "readable-stream": "^2.3.3",
547 | "stream-browserify": "^2.0.1",
548 | "stream-http": "^2.7.2",
549 | "string_decoder": "^1.0.0",
550 | "timers-browserify": "^2.0.4",
551 | "tty-browserify": "0.0.0",
552 | "url": "^0.11.0",
553 | "util": "^0.11.0",
554 | "vm-browserify": "^1.0.1"
555 | }
556 | },
557 | "node_modules/object-assign": {
558 | "version": "4.1.1",
559 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
560 | "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
561 | "dev": true,
562 | "engines": {
563 | "node": ">=0.10.0"
564 | }
565 | },
566 | "node_modules/os-browserify": {
567 | "version": "0.3.0",
568 | "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz",
569 | "integrity": "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==",
570 | "dev": true
571 | },
572 | "node_modules/pako": {
573 | "version": "1.0.11",
574 | "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz",
575 | "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==",
576 | "dev": true
577 | },
578 | "node_modules/parse-asn1": {
579 | "version": "5.1.6",
580 | "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz",
581 | "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==",
582 | "dev": true,
583 | "dependencies": {
584 | "asn1.js": "^5.2.0",
585 | "browserify-aes": "^1.0.0",
586 | "evp_bytestokey": "^1.0.0",
587 | "pbkdf2": "^3.0.3",
588 | "safe-buffer": "^5.1.1"
589 | }
590 | },
591 | "node_modules/path-browserify": {
592 | "version": "0.0.1",
593 | "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz",
594 | "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==",
595 | "dev": true
596 | },
597 | "node_modules/pbkdf2": {
598 | "version": "3.1.2",
599 | "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz",
600 | "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==",
601 | "dev": true,
602 | "dependencies": {
603 | "create-hash": "^1.1.2",
604 | "create-hmac": "^1.1.4",
605 | "ripemd160": "^2.0.1",
606 | "safe-buffer": "^5.0.1",
607 | "sha.js": "^2.4.8"
608 | },
609 | "engines": {
610 | "node": ">=0.12"
611 | }
612 | },
613 | "node_modules/process": {
614 | "version": "0.11.10",
615 | "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
616 | "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==",
617 | "dev": true,
618 | "engines": {
619 | "node": ">= 0.6.0"
620 | }
621 | },
622 | "node_modules/process-nextick-args": {
623 | "version": "2.0.1",
624 | "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
625 | "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
626 | "dev": true
627 | },
628 | "node_modules/public-encrypt": {
629 | "version": "4.0.3",
630 | "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz",
631 | "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==",
632 | "dev": true,
633 | "dependencies": {
634 | "bn.js": "^4.1.0",
635 | "browserify-rsa": "^4.0.0",
636 | "create-hash": "^1.1.0",
637 | "parse-asn1": "^5.0.0",
638 | "randombytes": "^2.0.1",
639 | "safe-buffer": "^5.1.2"
640 | }
641 | },
642 | "node_modules/public-encrypt/node_modules/bn.js": {
643 | "version": "4.12.0",
644 | "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
645 | "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
646 | "dev": true
647 | },
648 | "node_modules/punycode": {
649 | "version": "1.4.1",
650 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
651 | "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==",
652 | "dev": true
653 | },
654 | "node_modules/querystring": {
655 | "version": "0.2.0",
656 | "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz",
657 | "integrity": "sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==",
658 | "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.",
659 | "dev": true,
660 | "engines": {
661 | "node": ">=0.4.x"
662 | }
663 | },
664 | "node_modules/querystring-es3": {
665 | "version": "0.2.1",
666 | "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz",
667 | "integrity": "sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==",
668 | "dev": true,
669 | "engines": {
670 | "node": ">=0.4.x"
671 | }
672 | },
673 | "node_modules/randombytes": {
674 | "version": "2.1.0",
675 | "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
676 | "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
677 | "dev": true,
678 | "dependencies": {
679 | "safe-buffer": "^5.1.0"
680 | }
681 | },
682 | "node_modules/randomfill": {
683 | "version": "1.0.4",
684 | "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz",
685 | "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==",
686 | "dev": true,
687 | "dependencies": {
688 | "randombytes": "^2.0.5",
689 | "safe-buffer": "^5.1.0"
690 | }
691 | },
692 | "node_modules/readable-stream": {
693 | "version": "2.3.7",
694 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
695 | "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
696 | "dev": true,
697 | "dependencies": {
698 | "core-util-is": "~1.0.0",
699 | "inherits": "~2.0.3",
700 | "isarray": "~1.0.0",
701 | "process-nextick-args": "~2.0.0",
702 | "safe-buffer": "~5.1.1",
703 | "string_decoder": "~1.1.1",
704 | "util-deprecate": "~1.0.1"
705 | }
706 | },
707 | "node_modules/readable-stream/node_modules/safe-buffer": {
708 | "version": "5.1.2",
709 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
710 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
711 | "dev": true
712 | },
713 | "node_modules/readable-stream/node_modules/string_decoder": {
714 | "version": "1.1.1",
715 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
716 | "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
717 | "dev": true,
718 | "dependencies": {
719 | "safe-buffer": "~5.1.0"
720 | }
721 | },
722 | "node_modules/readline-sync": {
723 | "version": "1.4.10",
724 | "resolved": "https://registry.npmjs.org/readline-sync/-/readline-sync-1.4.10.tgz",
725 | "integrity": "sha512-gNva8/6UAe8QYepIQH/jQ2qn91Qj0B9sYjMBBs3QOB8F2CXcKgLxQaJRP76sWVRQt+QU+8fAkCbCvjjMFu7Ycw==",
726 | "dev": true,
727 | "engines": {
728 | "node": ">= 0.8.0"
729 | }
730 | },
731 | "node_modules/ripemd160": {
732 | "version": "2.0.2",
733 | "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz",
734 | "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==",
735 | "dev": true,
736 | "dependencies": {
737 | "hash-base": "^3.0.0",
738 | "inherits": "^2.0.1"
739 | }
740 | },
741 | "node_modules/safe-buffer": {
742 | "version": "5.2.1",
743 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
744 | "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
745 | "dev": true,
746 | "funding": [
747 | {
748 | "type": "github",
749 | "url": "https://github.com/sponsors/feross"
750 | },
751 | {
752 | "type": "patreon",
753 | "url": "https://www.patreon.com/feross"
754 | },
755 | {
756 | "type": "consulting",
757 | "url": "https://feross.org/support"
758 | }
759 | ]
760 | },
761 | "node_modules/safer-buffer": {
762 | "version": "2.1.2",
763 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
764 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
765 | "dev": true
766 | },
767 | "node_modules/setimmediate": {
768 | "version": "1.0.5",
769 | "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
770 | "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==",
771 | "dev": true
772 | },
773 | "node_modules/sha.js": {
774 | "version": "2.4.11",
775 | "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz",
776 | "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==",
777 | "dev": true,
778 | "dependencies": {
779 | "inherits": "^2.0.1",
780 | "safe-buffer": "^5.0.1"
781 | },
782 | "bin": {
783 | "sha.js": "bin.js"
784 | }
785 | },
786 | "node_modules/shadow-cljs": {
787 | "version": "2.20.2",
788 | "resolved": "https://registry.npmjs.org/shadow-cljs/-/shadow-cljs-2.20.2.tgz",
789 | "integrity": "sha512-2kzWnV1QM6KBetziCAkCf8BJdnDX2CwiAr4yhvOsiQpaNJcMzwMsJTX/gTHz58yQg0dV5uwPsIyBlvyIfl30rg==",
790 | "dev": true,
791 | "dependencies": {
792 | "node-libs-browser": "^2.2.1",
793 | "readline-sync": "^1.4.7",
794 | "shadow-cljs-jar": "1.3.2",
795 | "source-map-support": "^0.4.15",
796 | "which": "^1.3.1",
797 | "ws": "^7.4.6"
798 | },
799 | "bin": {
800 | "shadow-cljs": "cli/runner.js"
801 | },
802 | "engines": {
803 | "node": ">=6.0.0"
804 | }
805 | },
806 | "node_modules/shadow-cljs-jar": {
807 | "version": "1.3.2",
808 | "resolved": "https://registry.npmjs.org/shadow-cljs-jar/-/shadow-cljs-jar-1.3.2.tgz",
809 | "integrity": "sha512-XmeffAZHv8z7451kzeq9oKh8fh278Ak+UIOGGrapyqrFBB773xN8vMQ3O7J7TYLnb9BUwcqadKkmgaq7q6fhZg==",
810 | "dev": true
811 | },
812 | "node_modules/source-map": {
813 | "version": "0.5.7",
814 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
815 | "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==",
816 | "dev": true,
817 | "engines": {
818 | "node": ">=0.10.0"
819 | }
820 | },
821 | "node_modules/source-map-support": {
822 | "version": "0.4.18",
823 | "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz",
824 | "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==",
825 | "dev": true,
826 | "dependencies": {
827 | "source-map": "^0.5.6"
828 | }
829 | },
830 | "node_modules/stream-browserify": {
831 | "version": "2.0.2",
832 | "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz",
833 | "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==",
834 | "dev": true,
835 | "dependencies": {
836 | "inherits": "~2.0.1",
837 | "readable-stream": "^2.0.2"
838 | }
839 | },
840 | "node_modules/stream-http": {
841 | "version": "2.8.3",
842 | "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz",
843 | "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==",
844 | "dev": true,
845 | "dependencies": {
846 | "builtin-status-codes": "^3.0.0",
847 | "inherits": "^2.0.1",
848 | "readable-stream": "^2.3.6",
849 | "to-arraybuffer": "^1.0.0",
850 | "xtend": "^4.0.0"
851 | }
852 | },
853 | "node_modules/string_decoder": {
854 | "version": "1.3.0",
855 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
856 | "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
857 | "dev": true,
858 | "dependencies": {
859 | "safe-buffer": "~5.2.0"
860 | }
861 | },
862 | "node_modules/timers-browserify": {
863 | "version": "2.0.12",
864 | "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz",
865 | "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==",
866 | "dev": true,
867 | "dependencies": {
868 | "setimmediate": "^1.0.4"
869 | },
870 | "engines": {
871 | "node": ">=0.6.0"
872 | }
873 | },
874 | "node_modules/to-arraybuffer": {
875 | "version": "1.0.1",
876 | "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz",
877 | "integrity": "sha512-okFlQcoGTi4LQBG/PgSYblw9VOyptsz2KJZqc6qtgGdes8VktzUQkj4BI2blit072iS8VODNcMA+tvnS9dnuMA==",
878 | "dev": true
879 | },
880 | "node_modules/tty-browserify": {
881 | "version": "0.0.0",
882 | "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz",
883 | "integrity": "sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw==",
884 | "dev": true
885 | },
886 | "node_modules/url": {
887 | "version": "0.11.0",
888 | "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz",
889 | "integrity": "sha512-kbailJa29QrtXnxgq+DdCEGlbTeYM2eJUxsz6vjZavrCYPMIFHMKQmSKYAIuUK2i7hgPm28a8piX5NTUtM/LKQ==",
890 | "dev": true,
891 | "dependencies": {
892 | "punycode": "1.3.2",
893 | "querystring": "0.2.0"
894 | }
895 | },
896 | "node_modules/url/node_modules/punycode": {
897 | "version": "1.3.2",
898 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
899 | "integrity": "sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==",
900 | "dev": true
901 | },
902 | "node_modules/util": {
903 | "version": "0.11.1",
904 | "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz",
905 | "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==",
906 | "dev": true,
907 | "dependencies": {
908 | "inherits": "2.0.3"
909 | }
910 | },
911 | "node_modules/util-deprecate": {
912 | "version": "1.0.2",
913 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
914 | "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
915 | "dev": true
916 | },
917 | "node_modules/util/node_modules/inherits": {
918 | "version": "2.0.3",
919 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
920 | "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==",
921 | "dev": true
922 | },
923 | "node_modules/vm-browserify": {
924 | "version": "1.1.2",
925 | "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz",
926 | "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==",
927 | "dev": true
928 | },
929 | "node_modules/which": {
930 | "version": "1.3.1",
931 | "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
932 | "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
933 | "dev": true,
934 | "dependencies": {
935 | "isexe": "^2.0.0"
936 | },
937 | "bin": {
938 | "which": "bin/which"
939 | }
940 | },
941 | "node_modules/ws": {
942 | "version": "7.5.10",
943 | "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz",
944 | "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==",
945 | "dev": true,
946 | "engines": {
947 | "node": ">=8.3.0"
948 | },
949 | "peerDependencies": {
950 | "bufferutil": "^4.0.1",
951 | "utf-8-validate": "^5.0.2"
952 | },
953 | "peerDependenciesMeta": {
954 | "bufferutil": {
955 | "optional": true
956 | },
957 | "utf-8-validate": {
958 | "optional": true
959 | }
960 | }
961 | },
962 | "node_modules/xtend": {
963 | "version": "4.0.2",
964 | "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
965 | "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
966 | "dev": true,
967 | "engines": {
968 | "node": ">=0.4"
969 | }
970 | }
971 | },
972 | "dependencies": {
973 | "@kanru/rage-wasm": {
974 | "version": "file:../..",
975 | "requires": {
976 | "@esm-bundle/chai": "^4.3.4-fix.0",
977 | "@wasm-tool/rollup-plugin-rust": "^2.4.5",
978 | "@web/test-runner": "^0.18.0",
979 | "@web/test-runner-playwright": "^0.11.0",
980 | "rollup": "^4.9.6",
981 | "rollup-plugin-re": "^1.0.7"
982 | }
983 | },
984 | "asn1.js": {
985 | "version": "5.4.1",
986 | "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz",
987 | "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==",
988 | "dev": true,
989 | "requires": {
990 | "bn.js": "^4.0.0",
991 | "inherits": "^2.0.1",
992 | "minimalistic-assert": "^1.0.0",
993 | "safer-buffer": "^2.1.0"
994 | },
995 | "dependencies": {
996 | "bn.js": {
997 | "version": "4.12.0",
998 | "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
999 | "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
1000 | "dev": true
1001 | }
1002 | }
1003 | },
1004 | "assert": {
1005 | "version": "1.5.0",
1006 | "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz",
1007 | "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==",
1008 | "dev": true,
1009 | "requires": {
1010 | "object-assign": "^4.1.1",
1011 | "util": "0.10.3"
1012 | },
1013 | "dependencies": {
1014 | "inherits": {
1015 | "version": "2.0.1",
1016 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz",
1017 | "integrity": "sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==",
1018 | "dev": true
1019 | },
1020 | "util": {
1021 | "version": "0.10.3",
1022 | "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz",
1023 | "integrity": "sha512-5KiHfsmkqacuKjkRkdV7SsfDJ2EGiPsK92s2MhNSY0craxjTdKTtqKsJaCWp4LW33ZZ0OPUv1WO/TFvNQRiQxQ==",
1024 | "dev": true,
1025 | "requires": {
1026 | "inherits": "2.0.1"
1027 | }
1028 | }
1029 | }
1030 | },
1031 | "base64-js": {
1032 | "version": "1.5.1",
1033 | "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
1034 | "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
1035 | "dev": true
1036 | },
1037 | "bn.js": {
1038 | "version": "5.2.1",
1039 | "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz",
1040 | "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==",
1041 | "dev": true
1042 | },
1043 | "brorand": {
1044 | "version": "1.1.0",
1045 | "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz",
1046 | "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==",
1047 | "dev": true
1048 | },
1049 | "browserify-aes": {
1050 | "version": "1.2.0",
1051 | "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz",
1052 | "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==",
1053 | "dev": true,
1054 | "requires": {
1055 | "buffer-xor": "^1.0.3",
1056 | "cipher-base": "^1.0.0",
1057 | "create-hash": "^1.1.0",
1058 | "evp_bytestokey": "^1.0.3",
1059 | "inherits": "^2.0.1",
1060 | "safe-buffer": "^5.0.1"
1061 | }
1062 | },
1063 | "browserify-cipher": {
1064 | "version": "1.0.1",
1065 | "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz",
1066 | "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==",
1067 | "dev": true,
1068 | "requires": {
1069 | "browserify-aes": "^1.0.4",
1070 | "browserify-des": "^1.0.0",
1071 | "evp_bytestokey": "^1.0.0"
1072 | }
1073 | },
1074 | "browserify-des": {
1075 | "version": "1.0.2",
1076 | "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz",
1077 | "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==",
1078 | "dev": true,
1079 | "requires": {
1080 | "cipher-base": "^1.0.1",
1081 | "des.js": "^1.0.0",
1082 | "inherits": "^2.0.1",
1083 | "safe-buffer": "^5.1.2"
1084 | }
1085 | },
1086 | "browserify-rsa": {
1087 | "version": "4.1.0",
1088 | "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz",
1089 | "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==",
1090 | "dev": true,
1091 | "requires": {
1092 | "bn.js": "^5.0.0",
1093 | "randombytes": "^2.0.1"
1094 | }
1095 | },
1096 | "browserify-sign": {
1097 | "version": "4.2.2",
1098 | "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.2.tgz",
1099 | "integrity": "sha512-1rudGyeYY42Dk6texmv7c4VcQ0EsvVbLwZkA+AQB7SxvXxmcD93jcHie8bzecJ+ChDlmAm2Qyu0+Ccg5uhZXCg==",
1100 | "dev": true,
1101 | "requires": {
1102 | "bn.js": "^5.2.1",
1103 | "browserify-rsa": "^4.1.0",
1104 | "create-hash": "^1.2.0",
1105 | "create-hmac": "^1.1.7",
1106 | "elliptic": "^6.5.4",
1107 | "inherits": "^2.0.4",
1108 | "parse-asn1": "^5.1.6",
1109 | "readable-stream": "^3.6.2",
1110 | "safe-buffer": "^5.2.1"
1111 | },
1112 | "dependencies": {
1113 | "readable-stream": {
1114 | "version": "3.6.2",
1115 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
1116 | "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
1117 | "dev": true,
1118 | "requires": {
1119 | "inherits": "^2.0.3",
1120 | "string_decoder": "^1.1.1",
1121 | "util-deprecate": "^1.0.1"
1122 | }
1123 | }
1124 | }
1125 | },
1126 | "browserify-zlib": {
1127 | "version": "0.2.0",
1128 | "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz",
1129 | "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==",
1130 | "dev": true,
1131 | "requires": {
1132 | "pako": "~1.0.5"
1133 | }
1134 | },
1135 | "buffer": {
1136 | "version": "4.9.2",
1137 | "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz",
1138 | "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==",
1139 | "dev": true,
1140 | "requires": {
1141 | "base64-js": "^1.0.2",
1142 | "ieee754": "^1.1.4",
1143 | "isarray": "^1.0.0"
1144 | }
1145 | },
1146 | "buffer-xor": {
1147 | "version": "1.0.3",
1148 | "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz",
1149 | "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==",
1150 | "dev": true
1151 | },
1152 | "builtin-status-codes": {
1153 | "version": "3.0.0",
1154 | "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz",
1155 | "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==",
1156 | "dev": true
1157 | },
1158 | "cipher-base": {
1159 | "version": "1.0.4",
1160 | "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz",
1161 | "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==",
1162 | "dev": true,
1163 | "requires": {
1164 | "inherits": "^2.0.1",
1165 | "safe-buffer": "^5.0.1"
1166 | }
1167 | },
1168 | "console-browserify": {
1169 | "version": "1.2.0",
1170 | "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz",
1171 | "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==",
1172 | "dev": true
1173 | },
1174 | "constants-browserify": {
1175 | "version": "1.0.0",
1176 | "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz",
1177 | "integrity": "sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==",
1178 | "dev": true
1179 | },
1180 | "core-util-is": {
1181 | "version": "1.0.3",
1182 | "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz",
1183 | "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==",
1184 | "dev": true
1185 | },
1186 | "create-ecdh": {
1187 | "version": "4.0.4",
1188 | "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz",
1189 | "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==",
1190 | "dev": true,
1191 | "requires": {
1192 | "bn.js": "^4.1.0",
1193 | "elliptic": "^6.5.3"
1194 | },
1195 | "dependencies": {
1196 | "bn.js": {
1197 | "version": "4.12.0",
1198 | "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
1199 | "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
1200 | "dev": true
1201 | }
1202 | }
1203 | },
1204 | "create-hash": {
1205 | "version": "1.2.0",
1206 | "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz",
1207 | "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==",
1208 | "dev": true,
1209 | "requires": {
1210 | "cipher-base": "^1.0.1",
1211 | "inherits": "^2.0.1",
1212 | "md5.js": "^1.3.4",
1213 | "ripemd160": "^2.0.1",
1214 | "sha.js": "^2.4.0"
1215 | }
1216 | },
1217 | "create-hmac": {
1218 | "version": "1.1.7",
1219 | "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz",
1220 | "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==",
1221 | "dev": true,
1222 | "requires": {
1223 | "cipher-base": "^1.0.3",
1224 | "create-hash": "^1.1.0",
1225 | "inherits": "^2.0.1",
1226 | "ripemd160": "^2.0.0",
1227 | "safe-buffer": "^5.0.1",
1228 | "sha.js": "^2.4.8"
1229 | }
1230 | },
1231 | "crypto-browserify": {
1232 | "version": "3.12.0",
1233 | "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz",
1234 | "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==",
1235 | "dev": true,
1236 | "requires": {
1237 | "browserify-cipher": "^1.0.0",
1238 | "browserify-sign": "^4.0.0",
1239 | "create-ecdh": "^4.0.0",
1240 | "create-hash": "^1.1.0",
1241 | "create-hmac": "^1.1.0",
1242 | "diffie-hellman": "^5.0.0",
1243 | "inherits": "^2.0.1",
1244 | "pbkdf2": "^3.0.3",
1245 | "public-encrypt": "^4.0.0",
1246 | "randombytes": "^2.0.0",
1247 | "randomfill": "^1.0.3"
1248 | }
1249 | },
1250 | "des.js": {
1251 | "version": "1.0.1",
1252 | "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz",
1253 | "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==",
1254 | "dev": true,
1255 | "requires": {
1256 | "inherits": "^2.0.1",
1257 | "minimalistic-assert": "^1.0.0"
1258 | }
1259 | },
1260 | "diffie-hellman": {
1261 | "version": "5.0.3",
1262 | "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz",
1263 | "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==",
1264 | "dev": true,
1265 | "requires": {
1266 | "bn.js": "^4.1.0",
1267 | "miller-rabin": "^4.0.0",
1268 | "randombytes": "^2.0.0"
1269 | },
1270 | "dependencies": {
1271 | "bn.js": {
1272 | "version": "4.12.0",
1273 | "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
1274 | "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
1275 | "dev": true
1276 | }
1277 | }
1278 | },
1279 | "domain-browser": {
1280 | "version": "1.2.0",
1281 | "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz",
1282 | "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==",
1283 | "dev": true
1284 | },
1285 | "elliptic": {
1286 | "version": "6.5.4",
1287 | "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz",
1288 | "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==",
1289 | "dev": true,
1290 | "requires": {
1291 | "bn.js": "^4.11.9",
1292 | "brorand": "^1.1.0",
1293 | "hash.js": "^1.0.0",
1294 | "hmac-drbg": "^1.0.1",
1295 | "inherits": "^2.0.4",
1296 | "minimalistic-assert": "^1.0.1",
1297 | "minimalistic-crypto-utils": "^1.0.1"
1298 | },
1299 | "dependencies": {
1300 | "bn.js": {
1301 | "version": "4.12.0",
1302 | "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
1303 | "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
1304 | "dev": true
1305 | }
1306 | }
1307 | },
1308 | "events": {
1309 | "version": "3.3.0",
1310 | "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
1311 | "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
1312 | "dev": true
1313 | },
1314 | "evp_bytestokey": {
1315 | "version": "1.0.3",
1316 | "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz",
1317 | "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==",
1318 | "dev": true,
1319 | "requires": {
1320 | "md5.js": "^1.3.4",
1321 | "safe-buffer": "^5.1.1"
1322 | }
1323 | },
1324 | "hash-base": {
1325 | "version": "3.1.0",
1326 | "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz",
1327 | "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==",
1328 | "dev": true,
1329 | "requires": {
1330 | "inherits": "^2.0.4",
1331 | "readable-stream": "^3.6.0",
1332 | "safe-buffer": "^5.2.0"
1333 | },
1334 | "dependencies": {
1335 | "readable-stream": {
1336 | "version": "3.6.0",
1337 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
1338 | "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
1339 | "dev": true,
1340 | "requires": {
1341 | "inherits": "^2.0.3",
1342 | "string_decoder": "^1.1.1",
1343 | "util-deprecate": "^1.0.1"
1344 | }
1345 | }
1346 | }
1347 | },
1348 | "hash.js": {
1349 | "version": "1.1.7",
1350 | "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz",
1351 | "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==",
1352 | "dev": true,
1353 | "requires": {
1354 | "inherits": "^2.0.3",
1355 | "minimalistic-assert": "^1.0.1"
1356 | }
1357 | },
1358 | "hmac-drbg": {
1359 | "version": "1.0.1",
1360 | "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz",
1361 | "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==",
1362 | "dev": true,
1363 | "requires": {
1364 | "hash.js": "^1.0.3",
1365 | "minimalistic-assert": "^1.0.0",
1366 | "minimalistic-crypto-utils": "^1.0.1"
1367 | }
1368 | },
1369 | "https-browserify": {
1370 | "version": "1.0.0",
1371 | "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz",
1372 | "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==",
1373 | "dev": true
1374 | },
1375 | "ieee754": {
1376 | "version": "1.2.1",
1377 | "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
1378 | "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
1379 | "dev": true
1380 | },
1381 | "inherits": {
1382 | "version": "2.0.4",
1383 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
1384 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
1385 | "dev": true
1386 | },
1387 | "isarray": {
1388 | "version": "1.0.0",
1389 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
1390 | "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==",
1391 | "dev": true
1392 | },
1393 | "isexe": {
1394 | "version": "2.0.0",
1395 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
1396 | "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
1397 | "dev": true
1398 | },
1399 | "md5.js": {
1400 | "version": "1.3.5",
1401 | "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz",
1402 | "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==",
1403 | "dev": true,
1404 | "requires": {
1405 | "hash-base": "^3.0.0",
1406 | "inherits": "^2.0.1",
1407 | "safe-buffer": "^5.1.2"
1408 | }
1409 | },
1410 | "miller-rabin": {
1411 | "version": "4.0.1",
1412 | "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz",
1413 | "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==",
1414 | "dev": true,
1415 | "requires": {
1416 | "bn.js": "^4.0.0",
1417 | "brorand": "^1.0.1"
1418 | },
1419 | "dependencies": {
1420 | "bn.js": {
1421 | "version": "4.12.0",
1422 | "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
1423 | "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
1424 | "dev": true
1425 | }
1426 | }
1427 | },
1428 | "minimalistic-assert": {
1429 | "version": "1.0.1",
1430 | "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz",
1431 | "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==",
1432 | "dev": true
1433 | },
1434 | "minimalistic-crypto-utils": {
1435 | "version": "1.0.1",
1436 | "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz",
1437 | "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==",
1438 | "dev": true
1439 | },
1440 | "node-libs-browser": {
1441 | "version": "2.2.1",
1442 | "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz",
1443 | "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==",
1444 | "dev": true,
1445 | "requires": {
1446 | "assert": "^1.1.1",
1447 | "browserify-zlib": "^0.2.0",
1448 | "buffer": "^4.3.0",
1449 | "console-browserify": "^1.1.0",
1450 | "constants-browserify": "^1.0.0",
1451 | "crypto-browserify": "^3.11.0",
1452 | "domain-browser": "^1.1.1",
1453 | "events": "^3.0.0",
1454 | "https-browserify": "^1.0.0",
1455 | "os-browserify": "^0.3.0",
1456 | "path-browserify": "0.0.1",
1457 | "process": "^0.11.10",
1458 | "punycode": "^1.2.4",
1459 | "querystring-es3": "^0.2.0",
1460 | "readable-stream": "^2.3.3",
1461 | "stream-browserify": "^2.0.1",
1462 | "stream-http": "^2.7.2",
1463 | "string_decoder": "^1.0.0",
1464 | "timers-browserify": "^2.0.4",
1465 | "tty-browserify": "0.0.0",
1466 | "url": "^0.11.0",
1467 | "util": "^0.11.0",
1468 | "vm-browserify": "^1.0.1"
1469 | }
1470 | },
1471 | "object-assign": {
1472 | "version": "4.1.1",
1473 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
1474 | "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
1475 | "dev": true
1476 | },
1477 | "os-browserify": {
1478 | "version": "0.3.0",
1479 | "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz",
1480 | "integrity": "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==",
1481 | "dev": true
1482 | },
1483 | "pako": {
1484 | "version": "1.0.11",
1485 | "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz",
1486 | "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==",
1487 | "dev": true
1488 | },
1489 | "parse-asn1": {
1490 | "version": "5.1.6",
1491 | "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz",
1492 | "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==",
1493 | "dev": true,
1494 | "requires": {
1495 | "asn1.js": "^5.2.0",
1496 | "browserify-aes": "^1.0.0",
1497 | "evp_bytestokey": "^1.0.0",
1498 | "pbkdf2": "^3.0.3",
1499 | "safe-buffer": "^5.1.1"
1500 | }
1501 | },
1502 | "path-browserify": {
1503 | "version": "0.0.1",
1504 | "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz",
1505 | "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==",
1506 | "dev": true
1507 | },
1508 | "pbkdf2": {
1509 | "version": "3.1.2",
1510 | "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz",
1511 | "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==",
1512 | "dev": true,
1513 | "requires": {
1514 | "create-hash": "^1.1.2",
1515 | "create-hmac": "^1.1.4",
1516 | "ripemd160": "^2.0.1",
1517 | "safe-buffer": "^5.0.1",
1518 | "sha.js": "^2.4.8"
1519 | }
1520 | },
1521 | "process": {
1522 | "version": "0.11.10",
1523 | "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
1524 | "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==",
1525 | "dev": true
1526 | },
1527 | "process-nextick-args": {
1528 | "version": "2.0.1",
1529 | "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
1530 | "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
1531 | "dev": true
1532 | },
1533 | "public-encrypt": {
1534 | "version": "4.0.3",
1535 | "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz",
1536 | "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==",
1537 | "dev": true,
1538 | "requires": {
1539 | "bn.js": "^4.1.0",
1540 | "browserify-rsa": "^4.0.0",
1541 | "create-hash": "^1.1.0",
1542 | "parse-asn1": "^5.0.0",
1543 | "randombytes": "^2.0.1",
1544 | "safe-buffer": "^5.1.2"
1545 | },
1546 | "dependencies": {
1547 | "bn.js": {
1548 | "version": "4.12.0",
1549 | "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
1550 | "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
1551 | "dev": true
1552 | }
1553 | }
1554 | },
1555 | "punycode": {
1556 | "version": "1.4.1",
1557 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
1558 | "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==",
1559 | "dev": true
1560 | },
1561 | "querystring": {
1562 | "version": "0.2.0",
1563 | "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz",
1564 | "integrity": "sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==",
1565 | "dev": true
1566 | },
1567 | "querystring-es3": {
1568 | "version": "0.2.1",
1569 | "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz",
1570 | "integrity": "sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==",
1571 | "dev": true
1572 | },
1573 | "randombytes": {
1574 | "version": "2.1.0",
1575 | "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
1576 | "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
1577 | "dev": true,
1578 | "requires": {
1579 | "safe-buffer": "^5.1.0"
1580 | }
1581 | },
1582 | "randomfill": {
1583 | "version": "1.0.4",
1584 | "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz",
1585 | "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==",
1586 | "dev": true,
1587 | "requires": {
1588 | "randombytes": "^2.0.5",
1589 | "safe-buffer": "^5.1.0"
1590 | }
1591 | },
1592 | "readable-stream": {
1593 | "version": "2.3.7",
1594 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
1595 | "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
1596 | "dev": true,
1597 | "requires": {
1598 | "core-util-is": "~1.0.0",
1599 | "inherits": "~2.0.3",
1600 | "isarray": "~1.0.0",
1601 | "process-nextick-args": "~2.0.0",
1602 | "safe-buffer": "~5.1.1",
1603 | "string_decoder": "~1.1.1",
1604 | "util-deprecate": "~1.0.1"
1605 | },
1606 | "dependencies": {
1607 | "safe-buffer": {
1608 | "version": "5.1.2",
1609 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
1610 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
1611 | "dev": true
1612 | },
1613 | "string_decoder": {
1614 | "version": "1.1.1",
1615 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
1616 | "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
1617 | "dev": true,
1618 | "requires": {
1619 | "safe-buffer": "~5.1.0"
1620 | }
1621 | }
1622 | }
1623 | },
1624 | "readline-sync": {
1625 | "version": "1.4.10",
1626 | "resolved": "https://registry.npmjs.org/readline-sync/-/readline-sync-1.4.10.tgz",
1627 | "integrity": "sha512-gNva8/6UAe8QYepIQH/jQ2qn91Qj0B9sYjMBBs3QOB8F2CXcKgLxQaJRP76sWVRQt+QU+8fAkCbCvjjMFu7Ycw==",
1628 | "dev": true
1629 | },
1630 | "ripemd160": {
1631 | "version": "2.0.2",
1632 | "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz",
1633 | "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==",
1634 | "dev": true,
1635 | "requires": {
1636 | "hash-base": "^3.0.0",
1637 | "inherits": "^2.0.1"
1638 | }
1639 | },
1640 | "safe-buffer": {
1641 | "version": "5.2.1",
1642 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
1643 | "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
1644 | "dev": true
1645 | },
1646 | "safer-buffer": {
1647 | "version": "2.1.2",
1648 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
1649 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
1650 | "dev": true
1651 | },
1652 | "setimmediate": {
1653 | "version": "1.0.5",
1654 | "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
1655 | "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==",
1656 | "dev": true
1657 | },
1658 | "sha.js": {
1659 | "version": "2.4.11",
1660 | "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz",
1661 | "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==",
1662 | "dev": true,
1663 | "requires": {
1664 | "inherits": "^2.0.1",
1665 | "safe-buffer": "^5.0.1"
1666 | }
1667 | },
1668 | "shadow-cljs": {
1669 | "version": "2.20.2",
1670 | "resolved": "https://registry.npmjs.org/shadow-cljs/-/shadow-cljs-2.20.2.tgz",
1671 | "integrity": "sha512-2kzWnV1QM6KBetziCAkCf8BJdnDX2CwiAr4yhvOsiQpaNJcMzwMsJTX/gTHz58yQg0dV5uwPsIyBlvyIfl30rg==",
1672 | "dev": true,
1673 | "requires": {
1674 | "node-libs-browser": "^2.2.1",
1675 | "readline-sync": "^1.4.7",
1676 | "shadow-cljs-jar": "1.3.2",
1677 | "source-map-support": "^0.4.15",
1678 | "which": "^1.3.1",
1679 | "ws": "^7.4.6"
1680 | }
1681 | },
1682 | "shadow-cljs-jar": {
1683 | "version": "1.3.2",
1684 | "resolved": "https://registry.npmjs.org/shadow-cljs-jar/-/shadow-cljs-jar-1.3.2.tgz",
1685 | "integrity": "sha512-XmeffAZHv8z7451kzeq9oKh8fh278Ak+UIOGGrapyqrFBB773xN8vMQ3O7J7TYLnb9BUwcqadKkmgaq7q6fhZg==",
1686 | "dev": true
1687 | },
1688 | "source-map": {
1689 | "version": "0.5.7",
1690 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
1691 | "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==",
1692 | "dev": true
1693 | },
1694 | "source-map-support": {
1695 | "version": "0.4.18",
1696 | "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz",
1697 | "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==",
1698 | "dev": true,
1699 | "requires": {
1700 | "source-map": "^0.5.6"
1701 | }
1702 | },
1703 | "stream-browserify": {
1704 | "version": "2.0.2",
1705 | "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz",
1706 | "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==",
1707 | "dev": true,
1708 | "requires": {
1709 | "inherits": "~2.0.1",
1710 | "readable-stream": "^2.0.2"
1711 | }
1712 | },
1713 | "stream-http": {
1714 | "version": "2.8.3",
1715 | "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz",
1716 | "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==",
1717 | "dev": true,
1718 | "requires": {
1719 | "builtin-status-codes": "^3.0.0",
1720 | "inherits": "^2.0.1",
1721 | "readable-stream": "^2.3.6",
1722 | "to-arraybuffer": "^1.0.0",
1723 | "xtend": "^4.0.0"
1724 | }
1725 | },
1726 | "string_decoder": {
1727 | "version": "1.3.0",
1728 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
1729 | "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
1730 | "dev": true,
1731 | "requires": {
1732 | "safe-buffer": "~5.2.0"
1733 | }
1734 | },
1735 | "timers-browserify": {
1736 | "version": "2.0.12",
1737 | "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz",
1738 | "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==",
1739 | "dev": true,
1740 | "requires": {
1741 | "setimmediate": "^1.0.4"
1742 | }
1743 | },
1744 | "to-arraybuffer": {
1745 | "version": "1.0.1",
1746 | "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz",
1747 | "integrity": "sha512-okFlQcoGTi4LQBG/PgSYblw9VOyptsz2KJZqc6qtgGdes8VktzUQkj4BI2blit072iS8VODNcMA+tvnS9dnuMA==",
1748 | "dev": true
1749 | },
1750 | "tty-browserify": {
1751 | "version": "0.0.0",
1752 | "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz",
1753 | "integrity": "sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw==",
1754 | "dev": true
1755 | },
1756 | "url": {
1757 | "version": "0.11.0",
1758 | "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz",
1759 | "integrity": "sha512-kbailJa29QrtXnxgq+DdCEGlbTeYM2eJUxsz6vjZavrCYPMIFHMKQmSKYAIuUK2i7hgPm28a8piX5NTUtM/LKQ==",
1760 | "dev": true,
1761 | "requires": {
1762 | "punycode": "1.3.2",
1763 | "querystring": "0.2.0"
1764 | },
1765 | "dependencies": {
1766 | "punycode": {
1767 | "version": "1.3.2",
1768 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
1769 | "integrity": "sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==",
1770 | "dev": true
1771 | }
1772 | }
1773 | },
1774 | "util": {
1775 | "version": "0.11.1",
1776 | "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz",
1777 | "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==",
1778 | "dev": true,
1779 | "requires": {
1780 | "inherits": "2.0.3"
1781 | },
1782 | "dependencies": {
1783 | "inherits": {
1784 | "version": "2.0.3",
1785 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
1786 | "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==",
1787 | "dev": true
1788 | }
1789 | }
1790 | },
1791 | "util-deprecate": {
1792 | "version": "1.0.2",
1793 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
1794 | "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
1795 | "dev": true
1796 | },
1797 | "vm-browserify": {
1798 | "version": "1.1.2",
1799 | "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz",
1800 | "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==",
1801 | "dev": true
1802 | },
1803 | "which": {
1804 | "version": "1.3.1",
1805 | "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
1806 | "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
1807 | "dev": true,
1808 | "requires": {
1809 | "isexe": "^2.0.0"
1810 | }
1811 | },
1812 | "ws": {
1813 | "version": "7.5.10",
1814 | "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz",
1815 | "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==",
1816 | "dev": true,
1817 | "requires": {}
1818 | },
1819 | "xtend": {
1820 | "version": "4.0.2",
1821 | "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
1822 | "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
1823 | "dev": true
1824 | }
1825 | }
1826 | }
1827 |
--------------------------------------------------------------------------------