├── .gitignore ├── Cargo.toml ├── LICENSE ├── README.md ├── src └── main.rs └── Cargo.lock /.gitignore: -------------------------------------------------------------------------------- 1 | target/ -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "hf-llm" 3 | version = "0.1.0" 4 | edition = "2021" 5 | 6 | # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html 7 | 8 | [dependencies] 9 | anyhow = "1.0.87" 10 | clap = "4.5.16" 11 | colored = "2.1.0" 12 | futures-util = "0.3.30" 13 | hf-hub = "0.3.2" 14 | reqwest = { version = "0.12.7", features = ["json", "stream"] } 15 | serde_json = "1.0.127" 16 | tokio = { version = "1.40.0", features = ["full"] } 17 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2024 Vaibhav Srivastav 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # HF-LLM.rs 🦀 2 | 3 | HF-LLM.rs is a CLI tool for accessing Large Language Models (LLMs) like Llama 3.1, Mistral, Gemma 2, Cohere and much more hosted on Hugging Face. It allows you to interact with various models, provide input, and receive responses in a terminal environment. 4 | 5 | Also, you can find the list of models supported by this CLI [here](https://huggingface.co/models?inference=warm&pipeline_tag=text-generation&sort=trending)—the list keeps getting updated as new models are released on the Hugging Face Hub. You might require a [Pro subscription](https://huggingface.co/subscribe/pro) to access some models. 6 | 7 | ## Features 8 | 9 | - **Model Selection**: Choose from a variety of models available & deployed on Hugging Face infrastructure. 10 | - **Input Prompt**: Provide an input prompt to generate responses. 11 | - **Streaming Output**: Receive responses in real-time as the model generates output. 12 | - **Chat Mode**: Start an interactive chat session with the LLM. 13 | 14 | ## Installation 15 | 16 | 1. **Clone the repository:** 17 | ``` 18 | git clone https://github.com/vaibhavs10/hf-llm.rs.git 19 | ``` 20 | 21 | 2. **Navigate to the project directory:** 22 | ``` 23 | cd hf-llm.rs 24 | ``` 25 | 26 | 3. **Build the project:** 27 | ``` 28 | cargo build --release 29 | ``` 30 | 31 | 4. **Verify the installation:** 32 | ``` 33 | cargo run --release -- --help 34 | ``` 35 | 36 | ## Usage 37 | 38 | To use HF-LLM.rs, follow these steps: 39 | 40 | ``` 41 | cargo run --release -- -m "meta-llama/Meta-Llama-3.1-70B-Instruct" -p "How to make a dangerously spicy ramen?" 42 | ``` 43 | 44 | You can also use the chat mode to start an interactive chat session with the LLM. 45 | 46 | ``` 47 | cargo run --release -- -m "meta-llama/Meta-Llama-3.1-70B-Instruct" -c 48 | ``` 49 | 50 | Note: Make sure to run `huggingface-cli login` to log into your Hugging Face account to access some of the models. 51 | 52 | ## License 53 | 54 | This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for more details. -------------------------------------------------------------------------------- /src/main.rs: -------------------------------------------------------------------------------- 1 | use anyhow::anyhow; 2 | use clap::{Arg, Command}; 3 | use colored::Colorize; 4 | use futures_util::StreamExt; 5 | use hf_hub::Cache; 6 | use reqwest::Client; 7 | use serde_json::json; 8 | use std::io::{stdin, Write}; 9 | use std::process::Command as ProcessCommand; 10 | use tokio; 11 | 12 | #[tokio::main] 13 | async fn main() -> anyhow::Result<()>{ 14 | let matches = Command::new("hf-llm.rs") 15 | .version("0.1.0") 16 | .author("VB") 17 | .about("A CLI to access LLMs hosted on Hugging Face") 18 | .arg( 19 | Arg::new("model-name") 20 | .short('m') 21 | .long("model-name") 22 | .value_name("MODEL") 23 | .help("Specify the Hugging Face Hub ID of the model to use.") 24 | .required(true), 25 | ) 26 | .arg( 27 | Arg::new("provider") 28 | .short('r') 29 | .long("provider") 30 | .value_name("PROVIDER") 31 | .help("Specify the provider to use.") 32 | .required(true), 33 | ) 34 | .arg( 35 | Arg::new("prompt") 36 | .short('p') 37 | .long("prompt") 38 | .value_name("PROMPT") 39 | .help("Specify the prompt to use.") 40 | .required(false), 41 | ) 42 | .arg( 43 | Arg::new("chat") 44 | .short('c') 45 | .long("chat") 46 | .help("Start a chat session with the model.") 47 | .action(clap::ArgAction::SetTrue), 48 | ) 49 | .arg( 50 | Arg::new("max-tokens") 51 | .short('t') 52 | .long("max-tokens") 53 | .value_name("MAX_TOKENS") 54 | .help("Specify the maximum number of tokens for the model's response.") 55 | .default_value("2048"), 56 | ) 57 | .get_matches(); 58 | 59 | let model_name = matches.get_one::("model-name").unwrap(); 60 | let provider = matches.get_one::("provider").unwrap(); 61 | let chat_mode = matches.get_flag("chat"); 62 | let max_tokens = matches 63 | .get_one::("max-tokens") 64 | .unwrap() 65 | .parse::() 66 | .expect("Failed to parse max-tokens as a positive integer"); 67 | 68 | let cache = Cache::default(); 69 | 70 | if let Some(token) = cache.token() { 71 | let resolved_model = if provider == "hf-inference" { 72 | model_name.clone() 73 | } else if provider == "together" || provider == "sambanova" { 74 | // Fetch the partner mapping 75 | let mapping_url = format!("https://huggingface.co/api/partners/{}/models", provider); 76 | let mapping_resp = Client::new().get(&mapping_url).send().await?; 77 | if !mapping_resp.status().is_success() { 78 | return Err(anyhow!("Failed to fetch partner mapping from {}", mapping_url)); 79 | } 80 | 81 | let mapping_json: serde_json::Value = mapping_resp.json().await?; 82 | 83 | // First check if the model exists in the conversational category 84 | let model_info = mapping_json.get("conversational") 85 | .and_then(|conv| conv.get(model_name)) 86 | // If not found in conversational, try text-generation (for 'together' provider) 87 | .or_else(|| { 88 | mapping_json.get("text-generation") 89 | .and_then(|tg| tg.get(model_name)) 90 | }) 91 | .ok_or_else(|| anyhow!("Model {} not found in partner mapping", model_name))?; 92 | 93 | // Extract the providerId 94 | model_info["providerId"] 95 | .as_str() 96 | .map(|s| s.to_string()) 97 | .ok_or_else(|| anyhow!("providerId not found for model {}", model_name))? 98 | } else { 99 | return Err(anyhow!("Invalid provider specified.")); 100 | }; 101 | 102 | let url = if provider == "hf-inference" { 103 | format!("https://router.huggingface.co/{}/models/{}/v1/chat/completions", provider, resolved_model) 104 | } else { 105 | format!("https://router.huggingface.co/{}/v1/chat/completions", provider) 106 | }; 107 | let client = Client::new(); 108 | 109 | let mut messages = Vec::new(); 110 | 111 | if chat_mode { 112 | println!("Starting chat mode. Type 'exit' to end the conversation."); 113 | loop { 114 | print!("You: "); 115 | std::io::stdout().flush()?; 116 | let mut user_input = String::new(); 117 | stdin().read_line(&mut user_input)?; 118 | user_input = user_input.trim().to_string(); 119 | 120 | match user_input.to_lowercase().as_str() { 121 | "exit" => break, 122 | "clear" => { 123 | messages.clear(); 124 | clear_terminal(); 125 | println!("Chat history cleared. Starting a new conversation."); 126 | continue; 127 | } 128 | _ => {} 129 | } 130 | 131 | messages.push(json!({"role": "user", "content": user_input})); 132 | 133 | let response = send_request( 134 | &client, 135 | &url, 136 | token.clone(), 137 | &resolved_model, 138 | &messages, 139 | max_tokens, 140 | ) 141 | .await?; 142 | messages.push(json!({"role": "assistant", "content": response})); 143 | } 144 | } else if let Some(prompt) = matches.get_one::("prompt") { 145 | messages.push(json!({"role": "user", "content": prompt})); 146 | send_request(&client, &url, token, &resolved_model, &messages, max_tokens).await?; 147 | } else { 148 | println!("Please provide either a prompt or use chat mode."); 149 | std::process::exit(1); 150 | } 151 | 152 | anyhow::Ok(()) 153 | } else { 154 | println!("Token not found, please run `huggingface-cli login`"); 155 | std::process::exit(1); 156 | } 157 | } 158 | 159 | fn clear_terminal() { 160 | if cfg!(target_os = "windows") { 161 | ProcessCommand::new("cmd") 162 | .args(&["/C", "cls"]) 163 | .status() 164 | .unwrap(); 165 | } else { 166 | ProcessCommand::new("clear").status().unwrap(); 167 | } 168 | } 169 | 170 | async fn send_request( 171 | client: &Client, 172 | url: &str, 173 | token: String, 174 | model_name: &str, 175 | messages: &Vec, 176 | max_tokens: u32, 177 | ) -> anyhow::Result { 178 | let res = client 179 | .post(url) 180 | .header("Authorization", format!("Bearer {}", token)) 181 | .header("Content-Type", "application/json") 182 | .json(&json!({ 183 | "model": model_name, 184 | "messages": messages, 185 | "max_tokens": max_tokens, 186 | "stream": true 187 | })) 188 | .send() 189 | .await?; 190 | 191 | let status = res.status(); 192 | if status != 200 { 193 | let error_message = res.text().await?; 194 | return Err(anyhow!("HTTP Error {}: {}", status, error_message)); 195 | } 196 | 197 | let mut stream = res.bytes_stream(); 198 | let mut full_response = String::new(); 199 | while let Some(chunk) = stream.next().await { 200 | let chunk = chunk?; 201 | if let Ok(text) = String::from_utf8(chunk.to_vec()) { 202 | if text.starts_with("data: ") { 203 | let json_str = text.trim_start_matches("data: "); 204 | if json_str != "[DONE]" { 205 | if let Ok(json) = serde_json::from_str::(json_str) { 206 | if let Some(content) = json["choices"][0]["delta"]["content"].as_str() { 207 | print!("{}", content.green()); 208 | std::io::stdout().flush()?; 209 | full_response.push_str(content); 210 | } 211 | } 212 | } 213 | } 214 | } 215 | } 216 | println!(); 217 | Ok(full_response) 218 | } 219 | -------------------------------------------------------------------------------- /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 = "addr2line" 7 | version = "0.22.0" 8 | source = "registry+https://github.com/rust-lang/crates.io-index" 9 | checksum = "6e4503c46a5c0c7844e948c9a4d6acd9f50cccb4de1c48eb9e291ea17470c678" 10 | dependencies = [ 11 | "gimli", 12 | ] 13 | 14 | [[package]] 15 | name = "adler" 16 | version = "1.0.2" 17 | source = "registry+https://github.com/rust-lang/crates.io-index" 18 | checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" 19 | 20 | [[package]] 21 | name = "adler2" 22 | version = "2.0.0" 23 | source = "registry+https://github.com/rust-lang/crates.io-index" 24 | checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" 25 | 26 | [[package]] 27 | name = "anstream" 28 | version = "0.6.15" 29 | source = "registry+https://github.com/rust-lang/crates.io-index" 30 | checksum = "64e15c1ab1f89faffbf04a634d5e1962e9074f2741eef6d97f3c4e322426d526" 31 | dependencies = [ 32 | "anstyle", 33 | "anstyle-parse", 34 | "anstyle-query", 35 | "anstyle-wincon", 36 | "colorchoice", 37 | "is_terminal_polyfill", 38 | "utf8parse", 39 | ] 40 | 41 | [[package]] 42 | name = "anstyle" 43 | version = "1.0.8" 44 | source = "registry+https://github.com/rust-lang/crates.io-index" 45 | checksum = "1bec1de6f59aedf83baf9ff929c98f2ad654b97c9510f4e70cf6f661d49fd5b1" 46 | 47 | [[package]] 48 | name = "anstyle-parse" 49 | version = "0.2.5" 50 | source = "registry+https://github.com/rust-lang/crates.io-index" 51 | checksum = "eb47de1e80c2b463c735db5b217a0ddc39d612e7ac9e2e96a5aed1f57616c1cb" 52 | dependencies = [ 53 | "utf8parse", 54 | ] 55 | 56 | [[package]] 57 | name = "anstyle-query" 58 | version = "1.1.1" 59 | source = "registry+https://github.com/rust-lang/crates.io-index" 60 | checksum = "6d36fc52c7f6c869915e99412912f22093507da8d9e942ceaf66fe4b7c14422a" 61 | dependencies = [ 62 | "windows-sys 0.52.0", 63 | ] 64 | 65 | [[package]] 66 | name = "anstyle-wincon" 67 | version = "3.0.4" 68 | source = "registry+https://github.com/rust-lang/crates.io-index" 69 | checksum = "5bf74e1b6e971609db8ca7a9ce79fd5768ab6ae46441c572e46cf596f59e57f8" 70 | dependencies = [ 71 | "anstyle", 72 | "windows-sys 0.52.0", 73 | ] 74 | 75 | [[package]] 76 | name = "anyhow" 77 | version = "1.0.87" 78 | source = "registry+https://github.com/rust-lang/crates.io-index" 79 | checksum = "10f00e1f6e58a40e807377c75c6a7f97bf9044fab57816f2414e6f5f4499d7b8" 80 | 81 | [[package]] 82 | name = "atomic-waker" 83 | version = "1.1.2" 84 | source = "registry+https://github.com/rust-lang/crates.io-index" 85 | checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" 86 | 87 | [[package]] 88 | name = "autocfg" 89 | version = "1.3.0" 90 | source = "registry+https://github.com/rust-lang/crates.io-index" 91 | checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" 92 | 93 | [[package]] 94 | name = "backtrace" 95 | version = "0.3.73" 96 | source = "registry+https://github.com/rust-lang/crates.io-index" 97 | checksum = "5cc23269a4f8976d0a4d2e7109211a419fe30e8d88d677cd60b6bc79c5732e0a" 98 | dependencies = [ 99 | "addr2line", 100 | "cc", 101 | "cfg-if", 102 | "libc", 103 | "miniz_oxide 0.7.4", 104 | "object", 105 | "rustc-demangle", 106 | ] 107 | 108 | [[package]] 109 | name = "base64" 110 | version = "0.22.1" 111 | source = "registry+https://github.com/rust-lang/crates.io-index" 112 | checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" 113 | 114 | [[package]] 115 | name = "bitflags" 116 | version = "2.6.0" 117 | source = "registry+https://github.com/rust-lang/crates.io-index" 118 | checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" 119 | 120 | [[package]] 121 | name = "bumpalo" 122 | version = "3.16.0" 123 | source = "registry+https://github.com/rust-lang/crates.io-index" 124 | checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" 125 | 126 | [[package]] 127 | name = "byteorder" 128 | version = "1.5.0" 129 | source = "registry+https://github.com/rust-lang/crates.io-index" 130 | checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" 131 | 132 | [[package]] 133 | name = "bytes" 134 | version = "1.7.1" 135 | source = "registry+https://github.com/rust-lang/crates.io-index" 136 | checksum = "8318a53db07bb3f8dca91a600466bdb3f2eaadeedfdbcf02e1accbad9271ba50" 137 | 138 | [[package]] 139 | name = "cc" 140 | version = "1.1.15" 141 | source = "registry+https://github.com/rust-lang/crates.io-index" 142 | checksum = "57b6a275aa2903740dc87da01c62040406b8812552e97129a63ea8850a17c6e6" 143 | dependencies = [ 144 | "shlex", 145 | ] 146 | 147 | [[package]] 148 | name = "cfg-if" 149 | version = "1.0.0" 150 | source = "registry+https://github.com/rust-lang/crates.io-index" 151 | checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" 152 | 153 | [[package]] 154 | name = "clap" 155 | version = "4.5.16" 156 | source = "registry+https://github.com/rust-lang/crates.io-index" 157 | checksum = "ed6719fffa43d0d87e5fd8caeab59be1554fb028cd30edc88fc4369b17971019" 158 | dependencies = [ 159 | "clap_builder", 160 | ] 161 | 162 | [[package]] 163 | name = "clap_builder" 164 | version = "4.5.15" 165 | source = "registry+https://github.com/rust-lang/crates.io-index" 166 | checksum = "216aec2b177652e3846684cbfe25c9964d18ec45234f0f5da5157b207ed1aab6" 167 | dependencies = [ 168 | "anstream", 169 | "anstyle", 170 | "clap_lex", 171 | "strsim", 172 | ] 173 | 174 | [[package]] 175 | name = "clap_lex" 176 | version = "0.7.2" 177 | source = "registry+https://github.com/rust-lang/crates.io-index" 178 | checksum = "1462739cb27611015575c0c11df5df7601141071f07518d56fcc1be504cbec97" 179 | 180 | [[package]] 181 | name = "colorchoice" 182 | version = "1.0.2" 183 | source = "registry+https://github.com/rust-lang/crates.io-index" 184 | checksum = "d3fd119d74b830634cea2a0f58bbd0d54540518a14397557951e79340abc28c0" 185 | 186 | [[package]] 187 | name = "colored" 188 | version = "2.1.0" 189 | source = "registry+https://github.com/rust-lang/crates.io-index" 190 | checksum = "cbf2150cce219b664a8a70df7a1f933836724b503f8a413af9365b4dcc4d90b8" 191 | dependencies = [ 192 | "lazy_static", 193 | "windows-sys 0.48.0", 194 | ] 195 | 196 | [[package]] 197 | name = "console" 198 | version = "0.15.8" 199 | source = "registry+https://github.com/rust-lang/crates.io-index" 200 | checksum = "0e1f83fc076bd6dd27517eacdf25fef6c4dfe5f1d7448bafaaf3a26f13b5e4eb" 201 | dependencies = [ 202 | "encode_unicode", 203 | "lazy_static", 204 | "libc", 205 | "unicode-width", 206 | "windows-sys 0.52.0", 207 | ] 208 | 209 | [[package]] 210 | name = "core-foundation" 211 | version = "0.9.4" 212 | source = "registry+https://github.com/rust-lang/crates.io-index" 213 | checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" 214 | dependencies = [ 215 | "core-foundation-sys", 216 | "libc", 217 | ] 218 | 219 | [[package]] 220 | name = "core-foundation-sys" 221 | version = "0.8.7" 222 | source = "registry+https://github.com/rust-lang/crates.io-index" 223 | checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" 224 | 225 | [[package]] 226 | name = "crc32fast" 227 | version = "1.4.2" 228 | source = "registry+https://github.com/rust-lang/crates.io-index" 229 | checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" 230 | dependencies = [ 231 | "cfg-if", 232 | ] 233 | 234 | [[package]] 235 | name = "dirs" 236 | version = "5.0.1" 237 | source = "registry+https://github.com/rust-lang/crates.io-index" 238 | checksum = "44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225" 239 | dependencies = [ 240 | "dirs-sys", 241 | ] 242 | 243 | [[package]] 244 | name = "dirs-sys" 245 | version = "0.4.1" 246 | source = "registry+https://github.com/rust-lang/crates.io-index" 247 | checksum = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c" 248 | dependencies = [ 249 | "libc", 250 | "option-ext", 251 | "redox_users", 252 | "windows-sys 0.48.0", 253 | ] 254 | 255 | [[package]] 256 | name = "encode_unicode" 257 | version = "0.3.6" 258 | source = "registry+https://github.com/rust-lang/crates.io-index" 259 | checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f" 260 | 261 | [[package]] 262 | name = "encoding_rs" 263 | version = "0.8.34" 264 | source = "registry+https://github.com/rust-lang/crates.io-index" 265 | checksum = "b45de904aa0b010bce2ab45264d0631681847fa7b6f2eaa7dab7619943bc4f59" 266 | dependencies = [ 267 | "cfg-if", 268 | ] 269 | 270 | [[package]] 271 | name = "equivalent" 272 | version = "1.0.1" 273 | source = "registry+https://github.com/rust-lang/crates.io-index" 274 | checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" 275 | 276 | [[package]] 277 | name = "errno" 278 | version = "0.3.9" 279 | source = "registry+https://github.com/rust-lang/crates.io-index" 280 | checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" 281 | dependencies = [ 282 | "libc", 283 | "windows-sys 0.52.0", 284 | ] 285 | 286 | [[package]] 287 | name = "fastrand" 288 | version = "2.1.1" 289 | source = "registry+https://github.com/rust-lang/crates.io-index" 290 | checksum = "e8c02a5121d4ea3eb16a80748c74f5549a5665e4c21333c6098f283870fbdea6" 291 | 292 | [[package]] 293 | name = "flate2" 294 | version = "1.0.33" 295 | source = "registry+https://github.com/rust-lang/crates.io-index" 296 | checksum = "324a1be68054ef05ad64b861cc9eaf1d623d2d8cb25b4bf2cb9cdd902b4bf253" 297 | dependencies = [ 298 | "crc32fast", 299 | "miniz_oxide 0.8.0", 300 | ] 301 | 302 | [[package]] 303 | name = "fnv" 304 | version = "1.0.7" 305 | source = "registry+https://github.com/rust-lang/crates.io-index" 306 | checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" 307 | 308 | [[package]] 309 | name = "foreign-types" 310 | version = "0.3.2" 311 | source = "registry+https://github.com/rust-lang/crates.io-index" 312 | checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" 313 | dependencies = [ 314 | "foreign-types-shared", 315 | ] 316 | 317 | [[package]] 318 | name = "foreign-types-shared" 319 | version = "0.1.1" 320 | source = "registry+https://github.com/rust-lang/crates.io-index" 321 | checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" 322 | 323 | [[package]] 324 | name = "form_urlencoded" 325 | version = "1.2.1" 326 | source = "registry+https://github.com/rust-lang/crates.io-index" 327 | checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" 328 | dependencies = [ 329 | "percent-encoding", 330 | ] 331 | 332 | [[package]] 333 | name = "futures-channel" 334 | version = "0.3.30" 335 | source = "registry+https://github.com/rust-lang/crates.io-index" 336 | checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" 337 | dependencies = [ 338 | "futures-core", 339 | ] 340 | 341 | [[package]] 342 | name = "futures-core" 343 | version = "0.3.30" 344 | source = "registry+https://github.com/rust-lang/crates.io-index" 345 | checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" 346 | 347 | [[package]] 348 | name = "futures-io" 349 | version = "0.3.30" 350 | source = "registry+https://github.com/rust-lang/crates.io-index" 351 | checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" 352 | 353 | [[package]] 354 | name = "futures-macro" 355 | version = "0.3.30" 356 | source = "registry+https://github.com/rust-lang/crates.io-index" 357 | checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" 358 | dependencies = [ 359 | "proc-macro2", 360 | "quote", 361 | "syn", 362 | ] 363 | 364 | [[package]] 365 | name = "futures-sink" 366 | version = "0.3.30" 367 | source = "registry+https://github.com/rust-lang/crates.io-index" 368 | checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" 369 | 370 | [[package]] 371 | name = "futures-task" 372 | version = "0.3.30" 373 | source = "registry+https://github.com/rust-lang/crates.io-index" 374 | checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" 375 | 376 | [[package]] 377 | name = "futures-util" 378 | version = "0.3.30" 379 | source = "registry+https://github.com/rust-lang/crates.io-index" 380 | checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" 381 | dependencies = [ 382 | "futures-core", 383 | "futures-io", 384 | "futures-macro", 385 | "futures-sink", 386 | "futures-task", 387 | "memchr", 388 | "pin-project-lite", 389 | "pin-utils", 390 | "slab", 391 | ] 392 | 393 | [[package]] 394 | name = "getrandom" 395 | version = "0.2.15" 396 | source = "registry+https://github.com/rust-lang/crates.io-index" 397 | checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" 398 | dependencies = [ 399 | "cfg-if", 400 | "libc", 401 | "wasi", 402 | ] 403 | 404 | [[package]] 405 | name = "gimli" 406 | version = "0.29.0" 407 | source = "registry+https://github.com/rust-lang/crates.io-index" 408 | checksum = "40ecd4077b5ae9fd2e9e169b102c6c330d0605168eb0e8bf79952b256dbefffd" 409 | 410 | [[package]] 411 | name = "h2" 412 | version = "0.4.6" 413 | source = "registry+https://github.com/rust-lang/crates.io-index" 414 | checksum = "524e8ac6999421f49a846c2d4411f337e53497d8ec55d67753beffa43c5d9205" 415 | dependencies = [ 416 | "atomic-waker", 417 | "bytes", 418 | "fnv", 419 | "futures-core", 420 | "futures-sink", 421 | "http", 422 | "indexmap", 423 | "slab", 424 | "tokio", 425 | "tokio-util", 426 | "tracing", 427 | ] 428 | 429 | [[package]] 430 | name = "hashbrown" 431 | version = "0.14.5" 432 | source = "registry+https://github.com/rust-lang/crates.io-index" 433 | checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" 434 | 435 | [[package]] 436 | name = "hermit-abi" 437 | version = "0.3.9" 438 | source = "registry+https://github.com/rust-lang/crates.io-index" 439 | checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" 440 | 441 | [[package]] 442 | name = "hf-hub" 443 | version = "0.3.2" 444 | source = "registry+https://github.com/rust-lang/crates.io-index" 445 | checksum = "2b780635574b3d92f036890d8373433d6f9fc7abb320ee42a5c25897fc8ed732" 446 | dependencies = [ 447 | "dirs", 448 | "indicatif", 449 | "log", 450 | "native-tls", 451 | "rand", 452 | "serde", 453 | "serde_json", 454 | "thiserror", 455 | "ureq", 456 | ] 457 | 458 | [[package]] 459 | name = "hf-llm" 460 | version = "0.1.0" 461 | dependencies = [ 462 | "anyhow", 463 | "clap", 464 | "colored", 465 | "futures-util", 466 | "hf-hub", 467 | "reqwest", 468 | "serde_json", 469 | "tokio", 470 | ] 471 | 472 | [[package]] 473 | name = "http" 474 | version = "1.1.0" 475 | source = "registry+https://github.com/rust-lang/crates.io-index" 476 | checksum = "21b9ddb458710bc376481b842f5da65cdf31522de232c1ca8146abce2a358258" 477 | dependencies = [ 478 | "bytes", 479 | "fnv", 480 | "itoa", 481 | ] 482 | 483 | [[package]] 484 | name = "http-body" 485 | version = "1.0.1" 486 | source = "registry+https://github.com/rust-lang/crates.io-index" 487 | checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" 488 | dependencies = [ 489 | "bytes", 490 | "http", 491 | ] 492 | 493 | [[package]] 494 | name = "http-body-util" 495 | version = "0.1.2" 496 | source = "registry+https://github.com/rust-lang/crates.io-index" 497 | checksum = "793429d76616a256bcb62c2a2ec2bed781c8307e797e2598c50010f2bee2544f" 498 | dependencies = [ 499 | "bytes", 500 | "futures-util", 501 | "http", 502 | "http-body", 503 | "pin-project-lite", 504 | ] 505 | 506 | [[package]] 507 | name = "httparse" 508 | version = "1.9.4" 509 | source = "registry+https://github.com/rust-lang/crates.io-index" 510 | checksum = "0fcc0b4a115bf80b728eb8ea024ad5bd707b615bfed49e0665b6e0f86fd082d9" 511 | 512 | [[package]] 513 | name = "hyper" 514 | version = "1.4.1" 515 | source = "registry+https://github.com/rust-lang/crates.io-index" 516 | checksum = "50dfd22e0e76d0f662d429a5f80fcaf3855009297eab6a0a9f8543834744ba05" 517 | dependencies = [ 518 | "bytes", 519 | "futures-channel", 520 | "futures-util", 521 | "h2", 522 | "http", 523 | "http-body", 524 | "httparse", 525 | "itoa", 526 | "pin-project-lite", 527 | "smallvec", 528 | "tokio", 529 | "want", 530 | ] 531 | 532 | [[package]] 533 | name = "hyper-rustls" 534 | version = "0.27.2" 535 | source = "registry+https://github.com/rust-lang/crates.io-index" 536 | checksum = "5ee4be2c948921a1a5320b629c4193916ed787a7f7f293fd3f7f5a6c9de74155" 537 | dependencies = [ 538 | "futures-util", 539 | "http", 540 | "hyper", 541 | "hyper-util", 542 | "rustls", 543 | "rustls-pki-types", 544 | "tokio", 545 | "tokio-rustls", 546 | "tower-service", 547 | ] 548 | 549 | [[package]] 550 | name = "hyper-tls" 551 | version = "0.6.0" 552 | source = "registry+https://github.com/rust-lang/crates.io-index" 553 | checksum = "70206fc6890eaca9fde8a0bf71caa2ddfc9fe045ac9e5c70df101a7dbde866e0" 554 | dependencies = [ 555 | "bytes", 556 | "http-body-util", 557 | "hyper", 558 | "hyper-util", 559 | "native-tls", 560 | "tokio", 561 | "tokio-native-tls", 562 | "tower-service", 563 | ] 564 | 565 | [[package]] 566 | name = "hyper-util" 567 | version = "0.1.7" 568 | source = "registry+https://github.com/rust-lang/crates.io-index" 569 | checksum = "cde7055719c54e36e95e8719f95883f22072a48ede39db7fc17a4e1d5281e9b9" 570 | dependencies = [ 571 | "bytes", 572 | "futures-channel", 573 | "futures-util", 574 | "http", 575 | "http-body", 576 | "hyper", 577 | "pin-project-lite", 578 | "socket2", 579 | "tokio", 580 | "tower", 581 | "tower-service", 582 | "tracing", 583 | ] 584 | 585 | [[package]] 586 | name = "idna" 587 | version = "0.5.0" 588 | source = "registry+https://github.com/rust-lang/crates.io-index" 589 | checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" 590 | dependencies = [ 591 | "unicode-bidi", 592 | "unicode-normalization", 593 | ] 594 | 595 | [[package]] 596 | name = "indexmap" 597 | version = "2.4.0" 598 | source = "registry+https://github.com/rust-lang/crates.io-index" 599 | checksum = "93ead53efc7ea8ed3cfb0c79fc8023fbb782a5432b52830b6518941cebe6505c" 600 | dependencies = [ 601 | "equivalent", 602 | "hashbrown", 603 | ] 604 | 605 | [[package]] 606 | name = "indicatif" 607 | version = "0.17.8" 608 | source = "registry+https://github.com/rust-lang/crates.io-index" 609 | checksum = "763a5a8f45087d6bcea4222e7b72c291a054edf80e4ef6efd2a4979878c7bea3" 610 | dependencies = [ 611 | "console", 612 | "instant", 613 | "number_prefix", 614 | "portable-atomic", 615 | "unicode-width", 616 | ] 617 | 618 | [[package]] 619 | name = "instant" 620 | version = "0.1.13" 621 | source = "registry+https://github.com/rust-lang/crates.io-index" 622 | checksum = "e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222" 623 | dependencies = [ 624 | "cfg-if", 625 | ] 626 | 627 | [[package]] 628 | name = "ipnet" 629 | version = "2.9.0" 630 | source = "registry+https://github.com/rust-lang/crates.io-index" 631 | checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" 632 | 633 | [[package]] 634 | name = "is_terminal_polyfill" 635 | version = "1.70.1" 636 | source = "registry+https://github.com/rust-lang/crates.io-index" 637 | checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf" 638 | 639 | [[package]] 640 | name = "itoa" 641 | version = "1.0.11" 642 | source = "registry+https://github.com/rust-lang/crates.io-index" 643 | checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" 644 | 645 | [[package]] 646 | name = "js-sys" 647 | version = "0.3.70" 648 | source = "registry+https://github.com/rust-lang/crates.io-index" 649 | checksum = "1868808506b929d7b0cfa8f75951347aa71bb21144b7791bae35d9bccfcfe37a" 650 | dependencies = [ 651 | "wasm-bindgen", 652 | ] 653 | 654 | [[package]] 655 | name = "lazy_static" 656 | version = "1.5.0" 657 | source = "registry+https://github.com/rust-lang/crates.io-index" 658 | checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" 659 | 660 | [[package]] 661 | name = "libc" 662 | version = "0.2.158" 663 | source = "registry+https://github.com/rust-lang/crates.io-index" 664 | checksum = "d8adc4bb1803a324070e64a98ae98f38934d91957a99cfb3a43dcbc01bc56439" 665 | 666 | [[package]] 667 | name = "libredox" 668 | version = "0.1.3" 669 | source = "registry+https://github.com/rust-lang/crates.io-index" 670 | checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" 671 | dependencies = [ 672 | "bitflags", 673 | "libc", 674 | ] 675 | 676 | [[package]] 677 | name = "linux-raw-sys" 678 | version = "0.4.14" 679 | source = "registry+https://github.com/rust-lang/crates.io-index" 680 | checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" 681 | 682 | [[package]] 683 | name = "lock_api" 684 | version = "0.4.12" 685 | source = "registry+https://github.com/rust-lang/crates.io-index" 686 | checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" 687 | dependencies = [ 688 | "autocfg", 689 | "scopeguard", 690 | ] 691 | 692 | [[package]] 693 | name = "log" 694 | version = "0.4.22" 695 | source = "registry+https://github.com/rust-lang/crates.io-index" 696 | checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" 697 | 698 | [[package]] 699 | name = "memchr" 700 | version = "2.7.4" 701 | source = "registry+https://github.com/rust-lang/crates.io-index" 702 | checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" 703 | 704 | [[package]] 705 | name = "mime" 706 | version = "0.3.17" 707 | source = "registry+https://github.com/rust-lang/crates.io-index" 708 | checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" 709 | 710 | [[package]] 711 | name = "miniz_oxide" 712 | version = "0.7.4" 713 | source = "registry+https://github.com/rust-lang/crates.io-index" 714 | checksum = "b8a240ddb74feaf34a79a7add65a741f3167852fba007066dcac1ca548d89c08" 715 | dependencies = [ 716 | "adler", 717 | ] 718 | 719 | [[package]] 720 | name = "miniz_oxide" 721 | version = "0.8.0" 722 | source = "registry+https://github.com/rust-lang/crates.io-index" 723 | checksum = "e2d80299ef12ff69b16a84bb182e3b9df68b5a91574d3d4fa6e41b65deec4df1" 724 | dependencies = [ 725 | "adler2", 726 | ] 727 | 728 | [[package]] 729 | name = "mio" 730 | version = "1.0.2" 731 | source = "registry+https://github.com/rust-lang/crates.io-index" 732 | checksum = "80e04d1dcff3aae0704555fe5fee3bcfaf3d1fdf8a7e521d5b9d2b42acb52cec" 733 | dependencies = [ 734 | "hermit-abi", 735 | "libc", 736 | "wasi", 737 | "windows-sys 0.52.0", 738 | ] 739 | 740 | [[package]] 741 | name = "native-tls" 742 | version = "0.2.12" 743 | source = "registry+https://github.com/rust-lang/crates.io-index" 744 | checksum = "a8614eb2c83d59d1c8cc974dd3f920198647674a0a035e1af1fa58707e317466" 745 | dependencies = [ 746 | "libc", 747 | "log", 748 | "openssl", 749 | "openssl-probe", 750 | "openssl-sys", 751 | "schannel", 752 | "security-framework", 753 | "security-framework-sys", 754 | "tempfile", 755 | ] 756 | 757 | [[package]] 758 | name = "number_prefix" 759 | version = "0.4.0" 760 | source = "registry+https://github.com/rust-lang/crates.io-index" 761 | checksum = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3" 762 | 763 | [[package]] 764 | name = "object" 765 | version = "0.36.4" 766 | source = "registry+https://github.com/rust-lang/crates.io-index" 767 | checksum = "084f1a5821ac4c651660a94a7153d27ac9d8a53736203f58b31945ded098070a" 768 | dependencies = [ 769 | "memchr", 770 | ] 771 | 772 | [[package]] 773 | name = "once_cell" 774 | version = "1.19.0" 775 | source = "registry+https://github.com/rust-lang/crates.io-index" 776 | checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" 777 | 778 | [[package]] 779 | name = "openssl" 780 | version = "0.10.66" 781 | source = "registry+https://github.com/rust-lang/crates.io-index" 782 | checksum = "9529f4786b70a3e8c61e11179af17ab6188ad8d0ded78c5529441ed39d4bd9c1" 783 | dependencies = [ 784 | "bitflags", 785 | "cfg-if", 786 | "foreign-types", 787 | "libc", 788 | "once_cell", 789 | "openssl-macros", 790 | "openssl-sys", 791 | ] 792 | 793 | [[package]] 794 | name = "openssl-macros" 795 | version = "0.1.1" 796 | source = "registry+https://github.com/rust-lang/crates.io-index" 797 | checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" 798 | dependencies = [ 799 | "proc-macro2", 800 | "quote", 801 | "syn", 802 | ] 803 | 804 | [[package]] 805 | name = "openssl-probe" 806 | version = "0.1.5" 807 | source = "registry+https://github.com/rust-lang/crates.io-index" 808 | checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" 809 | 810 | [[package]] 811 | name = "openssl-sys" 812 | version = "0.9.103" 813 | source = "registry+https://github.com/rust-lang/crates.io-index" 814 | checksum = "7f9e8deee91df40a943c71b917e5874b951d32a802526c85721ce3b776c929d6" 815 | dependencies = [ 816 | "cc", 817 | "libc", 818 | "pkg-config", 819 | "vcpkg", 820 | ] 821 | 822 | [[package]] 823 | name = "option-ext" 824 | version = "0.2.0" 825 | source = "registry+https://github.com/rust-lang/crates.io-index" 826 | checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" 827 | 828 | [[package]] 829 | name = "parking_lot" 830 | version = "0.12.3" 831 | source = "registry+https://github.com/rust-lang/crates.io-index" 832 | checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" 833 | dependencies = [ 834 | "lock_api", 835 | "parking_lot_core", 836 | ] 837 | 838 | [[package]] 839 | name = "parking_lot_core" 840 | version = "0.9.10" 841 | source = "registry+https://github.com/rust-lang/crates.io-index" 842 | checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" 843 | dependencies = [ 844 | "cfg-if", 845 | "libc", 846 | "redox_syscall", 847 | "smallvec", 848 | "windows-targets 0.52.6", 849 | ] 850 | 851 | [[package]] 852 | name = "percent-encoding" 853 | version = "2.3.1" 854 | source = "registry+https://github.com/rust-lang/crates.io-index" 855 | checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" 856 | 857 | [[package]] 858 | name = "pin-project" 859 | version = "1.1.5" 860 | source = "registry+https://github.com/rust-lang/crates.io-index" 861 | checksum = "b6bf43b791c5b9e34c3d182969b4abb522f9343702850a2e57f460d00d09b4b3" 862 | dependencies = [ 863 | "pin-project-internal", 864 | ] 865 | 866 | [[package]] 867 | name = "pin-project-internal" 868 | version = "1.1.5" 869 | source = "registry+https://github.com/rust-lang/crates.io-index" 870 | checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" 871 | dependencies = [ 872 | "proc-macro2", 873 | "quote", 874 | "syn", 875 | ] 876 | 877 | [[package]] 878 | name = "pin-project-lite" 879 | version = "0.2.14" 880 | source = "registry+https://github.com/rust-lang/crates.io-index" 881 | checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" 882 | 883 | [[package]] 884 | name = "pin-utils" 885 | version = "0.1.0" 886 | source = "registry+https://github.com/rust-lang/crates.io-index" 887 | checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" 888 | 889 | [[package]] 890 | name = "pkg-config" 891 | version = "0.3.30" 892 | source = "registry+https://github.com/rust-lang/crates.io-index" 893 | checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" 894 | 895 | [[package]] 896 | name = "portable-atomic" 897 | version = "1.7.0" 898 | source = "registry+https://github.com/rust-lang/crates.io-index" 899 | checksum = "da544ee218f0d287a911e9c99a39a8c9bc8fcad3cb8db5959940044ecfc67265" 900 | 901 | [[package]] 902 | name = "ppv-lite86" 903 | version = "0.2.20" 904 | source = "registry+https://github.com/rust-lang/crates.io-index" 905 | checksum = "77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04" 906 | dependencies = [ 907 | "zerocopy", 908 | ] 909 | 910 | [[package]] 911 | name = "proc-macro2" 912 | version = "1.0.86" 913 | source = "registry+https://github.com/rust-lang/crates.io-index" 914 | checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77" 915 | dependencies = [ 916 | "unicode-ident", 917 | ] 918 | 919 | [[package]] 920 | name = "quote" 921 | version = "1.0.37" 922 | source = "registry+https://github.com/rust-lang/crates.io-index" 923 | checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" 924 | dependencies = [ 925 | "proc-macro2", 926 | ] 927 | 928 | [[package]] 929 | name = "rand" 930 | version = "0.8.5" 931 | source = "registry+https://github.com/rust-lang/crates.io-index" 932 | checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" 933 | dependencies = [ 934 | "libc", 935 | "rand_chacha", 936 | "rand_core", 937 | ] 938 | 939 | [[package]] 940 | name = "rand_chacha" 941 | version = "0.3.1" 942 | source = "registry+https://github.com/rust-lang/crates.io-index" 943 | checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" 944 | dependencies = [ 945 | "ppv-lite86", 946 | "rand_core", 947 | ] 948 | 949 | [[package]] 950 | name = "rand_core" 951 | version = "0.6.4" 952 | source = "registry+https://github.com/rust-lang/crates.io-index" 953 | checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" 954 | dependencies = [ 955 | "getrandom", 956 | ] 957 | 958 | [[package]] 959 | name = "redox_syscall" 960 | version = "0.5.3" 961 | source = "registry+https://github.com/rust-lang/crates.io-index" 962 | checksum = "2a908a6e00f1fdd0dfd9c0eb08ce85126f6d8bbda50017e74bc4a4b7d4a926a4" 963 | dependencies = [ 964 | "bitflags", 965 | ] 966 | 967 | [[package]] 968 | name = "redox_users" 969 | version = "0.4.6" 970 | source = "registry+https://github.com/rust-lang/crates.io-index" 971 | checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" 972 | dependencies = [ 973 | "getrandom", 974 | "libredox", 975 | "thiserror", 976 | ] 977 | 978 | [[package]] 979 | name = "reqwest" 980 | version = "0.12.7" 981 | source = "registry+https://github.com/rust-lang/crates.io-index" 982 | checksum = "f8f4955649ef5c38cc7f9e8aa41761d48fb9677197daea9984dc54f56aad5e63" 983 | dependencies = [ 984 | "base64", 985 | "bytes", 986 | "encoding_rs", 987 | "futures-core", 988 | "futures-util", 989 | "h2", 990 | "http", 991 | "http-body", 992 | "http-body-util", 993 | "hyper", 994 | "hyper-rustls", 995 | "hyper-tls", 996 | "hyper-util", 997 | "ipnet", 998 | "js-sys", 999 | "log", 1000 | "mime", 1001 | "native-tls", 1002 | "once_cell", 1003 | "percent-encoding", 1004 | "pin-project-lite", 1005 | "rustls-pemfile", 1006 | "serde", 1007 | "serde_json", 1008 | "serde_urlencoded", 1009 | "sync_wrapper", 1010 | "system-configuration", 1011 | "tokio", 1012 | "tokio-native-tls", 1013 | "tokio-util", 1014 | "tower-service", 1015 | "url", 1016 | "wasm-bindgen", 1017 | "wasm-bindgen-futures", 1018 | "wasm-streams", 1019 | "web-sys", 1020 | "windows-registry", 1021 | ] 1022 | 1023 | [[package]] 1024 | name = "ring" 1025 | version = "0.17.8" 1026 | source = "registry+https://github.com/rust-lang/crates.io-index" 1027 | checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" 1028 | dependencies = [ 1029 | "cc", 1030 | "cfg-if", 1031 | "getrandom", 1032 | "libc", 1033 | "spin", 1034 | "untrusted", 1035 | "windows-sys 0.52.0", 1036 | ] 1037 | 1038 | [[package]] 1039 | name = "rustc-demangle" 1040 | version = "0.1.24" 1041 | source = "registry+https://github.com/rust-lang/crates.io-index" 1042 | checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" 1043 | 1044 | [[package]] 1045 | name = "rustix" 1046 | version = "0.38.35" 1047 | source = "registry+https://github.com/rust-lang/crates.io-index" 1048 | checksum = "a85d50532239da68e9addb745ba38ff4612a242c1c7ceea689c4bc7c2f43c36f" 1049 | dependencies = [ 1050 | "bitflags", 1051 | "errno", 1052 | "libc", 1053 | "linux-raw-sys", 1054 | "windows-sys 0.52.0", 1055 | ] 1056 | 1057 | [[package]] 1058 | name = "rustls" 1059 | version = "0.23.12" 1060 | source = "registry+https://github.com/rust-lang/crates.io-index" 1061 | checksum = "c58f8c84392efc0a126acce10fa59ff7b3d2ac06ab451a33f2741989b806b044" 1062 | dependencies = [ 1063 | "log", 1064 | "once_cell", 1065 | "ring", 1066 | "rustls-pki-types", 1067 | "rustls-webpki", 1068 | "subtle", 1069 | "zeroize", 1070 | ] 1071 | 1072 | [[package]] 1073 | name = "rustls-pemfile" 1074 | version = "2.1.3" 1075 | source = "registry+https://github.com/rust-lang/crates.io-index" 1076 | checksum = "196fe16b00e106300d3e45ecfcb764fa292a535d7326a29a5875c579c7417425" 1077 | dependencies = [ 1078 | "base64", 1079 | "rustls-pki-types", 1080 | ] 1081 | 1082 | [[package]] 1083 | name = "rustls-pki-types" 1084 | version = "1.8.0" 1085 | source = "registry+https://github.com/rust-lang/crates.io-index" 1086 | checksum = "fc0a2ce646f8655401bb81e7927b812614bd5d91dbc968696be50603510fcaf0" 1087 | 1088 | [[package]] 1089 | name = "rustls-webpki" 1090 | version = "0.102.7" 1091 | source = "registry+https://github.com/rust-lang/crates.io-index" 1092 | checksum = "84678086bd54edf2b415183ed7a94d0efb049f1b646a33e22a36f3794be6ae56" 1093 | dependencies = [ 1094 | "ring", 1095 | "rustls-pki-types", 1096 | "untrusted", 1097 | ] 1098 | 1099 | [[package]] 1100 | name = "ryu" 1101 | version = "1.0.18" 1102 | source = "registry+https://github.com/rust-lang/crates.io-index" 1103 | checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" 1104 | 1105 | [[package]] 1106 | name = "schannel" 1107 | version = "0.1.23" 1108 | source = "registry+https://github.com/rust-lang/crates.io-index" 1109 | checksum = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534" 1110 | dependencies = [ 1111 | "windows-sys 0.52.0", 1112 | ] 1113 | 1114 | [[package]] 1115 | name = "scopeguard" 1116 | version = "1.2.0" 1117 | source = "registry+https://github.com/rust-lang/crates.io-index" 1118 | checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" 1119 | 1120 | [[package]] 1121 | name = "security-framework" 1122 | version = "2.11.1" 1123 | source = "registry+https://github.com/rust-lang/crates.io-index" 1124 | checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" 1125 | dependencies = [ 1126 | "bitflags", 1127 | "core-foundation", 1128 | "core-foundation-sys", 1129 | "libc", 1130 | "security-framework-sys", 1131 | ] 1132 | 1133 | [[package]] 1134 | name = "security-framework-sys" 1135 | version = "2.11.1" 1136 | source = "registry+https://github.com/rust-lang/crates.io-index" 1137 | checksum = "75da29fe9b9b08fe9d6b22b5b4bcbc75d8db3aa31e639aa56bb62e9d46bfceaf" 1138 | dependencies = [ 1139 | "core-foundation-sys", 1140 | "libc", 1141 | ] 1142 | 1143 | [[package]] 1144 | name = "serde" 1145 | version = "1.0.209" 1146 | source = "registry+https://github.com/rust-lang/crates.io-index" 1147 | checksum = "99fce0ffe7310761ca6bf9faf5115afbc19688edd00171d81b1bb1b116c63e09" 1148 | dependencies = [ 1149 | "serde_derive", 1150 | ] 1151 | 1152 | [[package]] 1153 | name = "serde_derive" 1154 | version = "1.0.209" 1155 | source = "registry+https://github.com/rust-lang/crates.io-index" 1156 | checksum = "a5831b979fd7b5439637af1752d535ff49f4860c0f341d1baeb6faf0f4242170" 1157 | dependencies = [ 1158 | "proc-macro2", 1159 | "quote", 1160 | "syn", 1161 | ] 1162 | 1163 | [[package]] 1164 | name = "serde_json" 1165 | version = "1.0.127" 1166 | source = "registry+https://github.com/rust-lang/crates.io-index" 1167 | checksum = "8043c06d9f82bd7271361ed64f415fe5e12a77fdb52e573e7f06a516dea329ad" 1168 | dependencies = [ 1169 | "itoa", 1170 | "memchr", 1171 | "ryu", 1172 | "serde", 1173 | ] 1174 | 1175 | [[package]] 1176 | name = "serde_urlencoded" 1177 | version = "0.7.1" 1178 | source = "registry+https://github.com/rust-lang/crates.io-index" 1179 | checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" 1180 | dependencies = [ 1181 | "form_urlencoded", 1182 | "itoa", 1183 | "ryu", 1184 | "serde", 1185 | ] 1186 | 1187 | [[package]] 1188 | name = "shlex" 1189 | version = "1.3.0" 1190 | source = "registry+https://github.com/rust-lang/crates.io-index" 1191 | checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" 1192 | 1193 | [[package]] 1194 | name = "signal-hook-registry" 1195 | version = "1.4.2" 1196 | source = "registry+https://github.com/rust-lang/crates.io-index" 1197 | checksum = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1" 1198 | dependencies = [ 1199 | "libc", 1200 | ] 1201 | 1202 | [[package]] 1203 | name = "slab" 1204 | version = "0.4.9" 1205 | source = "registry+https://github.com/rust-lang/crates.io-index" 1206 | checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" 1207 | dependencies = [ 1208 | "autocfg", 1209 | ] 1210 | 1211 | [[package]] 1212 | name = "smallvec" 1213 | version = "1.13.2" 1214 | source = "registry+https://github.com/rust-lang/crates.io-index" 1215 | checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" 1216 | 1217 | [[package]] 1218 | name = "socket2" 1219 | version = "0.5.7" 1220 | source = "registry+https://github.com/rust-lang/crates.io-index" 1221 | checksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c" 1222 | dependencies = [ 1223 | "libc", 1224 | "windows-sys 0.52.0", 1225 | ] 1226 | 1227 | [[package]] 1228 | name = "spin" 1229 | version = "0.9.8" 1230 | source = "registry+https://github.com/rust-lang/crates.io-index" 1231 | checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" 1232 | 1233 | [[package]] 1234 | name = "strsim" 1235 | version = "0.11.1" 1236 | source = "registry+https://github.com/rust-lang/crates.io-index" 1237 | checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" 1238 | 1239 | [[package]] 1240 | name = "subtle" 1241 | version = "2.6.1" 1242 | source = "registry+https://github.com/rust-lang/crates.io-index" 1243 | checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" 1244 | 1245 | [[package]] 1246 | name = "syn" 1247 | version = "2.0.76" 1248 | source = "registry+https://github.com/rust-lang/crates.io-index" 1249 | checksum = "578e081a14e0cefc3279b0472138c513f37b41a08d5a3cca9b6e4e8ceb6cd525" 1250 | dependencies = [ 1251 | "proc-macro2", 1252 | "quote", 1253 | "unicode-ident", 1254 | ] 1255 | 1256 | [[package]] 1257 | name = "sync_wrapper" 1258 | version = "1.0.1" 1259 | source = "registry+https://github.com/rust-lang/crates.io-index" 1260 | checksum = "a7065abeca94b6a8a577f9bd45aa0867a2238b74e8eb67cf10d492bc39351394" 1261 | dependencies = [ 1262 | "futures-core", 1263 | ] 1264 | 1265 | [[package]] 1266 | name = "system-configuration" 1267 | version = "0.6.1" 1268 | source = "registry+https://github.com/rust-lang/crates.io-index" 1269 | checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b" 1270 | dependencies = [ 1271 | "bitflags", 1272 | "core-foundation", 1273 | "system-configuration-sys", 1274 | ] 1275 | 1276 | [[package]] 1277 | name = "system-configuration-sys" 1278 | version = "0.6.0" 1279 | source = "registry+https://github.com/rust-lang/crates.io-index" 1280 | checksum = "8e1d1b10ced5ca923a1fcb8d03e96b8d3268065d724548c0211415ff6ac6bac4" 1281 | dependencies = [ 1282 | "core-foundation-sys", 1283 | "libc", 1284 | ] 1285 | 1286 | [[package]] 1287 | name = "tempfile" 1288 | version = "3.12.0" 1289 | source = "registry+https://github.com/rust-lang/crates.io-index" 1290 | checksum = "04cbcdd0c794ebb0d4cf35e88edd2f7d2c4c3e9a5a6dab322839b321c6a87a64" 1291 | dependencies = [ 1292 | "cfg-if", 1293 | "fastrand", 1294 | "once_cell", 1295 | "rustix", 1296 | "windows-sys 0.59.0", 1297 | ] 1298 | 1299 | [[package]] 1300 | name = "thiserror" 1301 | version = "1.0.63" 1302 | source = "registry+https://github.com/rust-lang/crates.io-index" 1303 | checksum = "c0342370b38b6a11b6cc11d6a805569958d54cfa061a29969c3b5ce2ea405724" 1304 | dependencies = [ 1305 | "thiserror-impl", 1306 | ] 1307 | 1308 | [[package]] 1309 | name = "thiserror-impl" 1310 | version = "1.0.63" 1311 | source = "registry+https://github.com/rust-lang/crates.io-index" 1312 | checksum = "a4558b58466b9ad7ca0f102865eccc95938dca1a74a856f2b57b6629050da261" 1313 | dependencies = [ 1314 | "proc-macro2", 1315 | "quote", 1316 | "syn", 1317 | ] 1318 | 1319 | [[package]] 1320 | name = "tinyvec" 1321 | version = "1.8.0" 1322 | source = "registry+https://github.com/rust-lang/crates.io-index" 1323 | checksum = "445e881f4f6d382d5f27c034e25eb92edd7c784ceab92a0937db7f2e9471b938" 1324 | dependencies = [ 1325 | "tinyvec_macros", 1326 | ] 1327 | 1328 | [[package]] 1329 | name = "tinyvec_macros" 1330 | version = "0.1.1" 1331 | source = "registry+https://github.com/rust-lang/crates.io-index" 1332 | checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" 1333 | 1334 | [[package]] 1335 | name = "tokio" 1336 | version = "1.40.0" 1337 | source = "registry+https://github.com/rust-lang/crates.io-index" 1338 | checksum = "e2b070231665d27ad9ec9b8df639893f46727666c6767db40317fbe920a5d998" 1339 | dependencies = [ 1340 | "backtrace", 1341 | "bytes", 1342 | "libc", 1343 | "mio", 1344 | "parking_lot", 1345 | "pin-project-lite", 1346 | "signal-hook-registry", 1347 | "socket2", 1348 | "tokio-macros", 1349 | "windows-sys 0.52.0", 1350 | ] 1351 | 1352 | [[package]] 1353 | name = "tokio-macros" 1354 | version = "2.4.0" 1355 | source = "registry+https://github.com/rust-lang/crates.io-index" 1356 | checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" 1357 | dependencies = [ 1358 | "proc-macro2", 1359 | "quote", 1360 | "syn", 1361 | ] 1362 | 1363 | [[package]] 1364 | name = "tokio-native-tls" 1365 | version = "0.3.1" 1366 | source = "registry+https://github.com/rust-lang/crates.io-index" 1367 | checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2" 1368 | dependencies = [ 1369 | "native-tls", 1370 | "tokio", 1371 | ] 1372 | 1373 | [[package]] 1374 | name = "tokio-rustls" 1375 | version = "0.26.0" 1376 | source = "registry+https://github.com/rust-lang/crates.io-index" 1377 | checksum = "0c7bc40d0e5a97695bb96e27995cd3a08538541b0a846f65bba7a359f36700d4" 1378 | dependencies = [ 1379 | "rustls", 1380 | "rustls-pki-types", 1381 | "tokio", 1382 | ] 1383 | 1384 | [[package]] 1385 | name = "tokio-util" 1386 | version = "0.7.11" 1387 | source = "registry+https://github.com/rust-lang/crates.io-index" 1388 | checksum = "9cf6b47b3771c49ac75ad09a6162f53ad4b8088b76ac60e8ec1455b31a189fe1" 1389 | dependencies = [ 1390 | "bytes", 1391 | "futures-core", 1392 | "futures-sink", 1393 | "pin-project-lite", 1394 | "tokio", 1395 | ] 1396 | 1397 | [[package]] 1398 | name = "tower" 1399 | version = "0.4.13" 1400 | source = "registry+https://github.com/rust-lang/crates.io-index" 1401 | checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" 1402 | dependencies = [ 1403 | "futures-core", 1404 | "futures-util", 1405 | "pin-project", 1406 | "pin-project-lite", 1407 | "tokio", 1408 | "tower-layer", 1409 | "tower-service", 1410 | ] 1411 | 1412 | [[package]] 1413 | name = "tower-layer" 1414 | version = "0.3.3" 1415 | source = "registry+https://github.com/rust-lang/crates.io-index" 1416 | checksum = "121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e" 1417 | 1418 | [[package]] 1419 | name = "tower-service" 1420 | version = "0.3.3" 1421 | source = "registry+https://github.com/rust-lang/crates.io-index" 1422 | checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" 1423 | 1424 | [[package]] 1425 | name = "tracing" 1426 | version = "0.1.40" 1427 | source = "registry+https://github.com/rust-lang/crates.io-index" 1428 | checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" 1429 | dependencies = [ 1430 | "pin-project-lite", 1431 | "tracing-core", 1432 | ] 1433 | 1434 | [[package]] 1435 | name = "tracing-core" 1436 | version = "0.1.32" 1437 | source = "registry+https://github.com/rust-lang/crates.io-index" 1438 | checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" 1439 | dependencies = [ 1440 | "once_cell", 1441 | ] 1442 | 1443 | [[package]] 1444 | name = "try-lock" 1445 | version = "0.2.5" 1446 | source = "registry+https://github.com/rust-lang/crates.io-index" 1447 | checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" 1448 | 1449 | [[package]] 1450 | name = "unicode-bidi" 1451 | version = "0.3.15" 1452 | source = "registry+https://github.com/rust-lang/crates.io-index" 1453 | checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" 1454 | 1455 | [[package]] 1456 | name = "unicode-ident" 1457 | version = "1.0.12" 1458 | source = "registry+https://github.com/rust-lang/crates.io-index" 1459 | checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" 1460 | 1461 | [[package]] 1462 | name = "unicode-normalization" 1463 | version = "0.1.23" 1464 | source = "registry+https://github.com/rust-lang/crates.io-index" 1465 | checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5" 1466 | dependencies = [ 1467 | "tinyvec", 1468 | ] 1469 | 1470 | [[package]] 1471 | name = "unicode-width" 1472 | version = "0.1.13" 1473 | source = "registry+https://github.com/rust-lang/crates.io-index" 1474 | checksum = "0336d538f7abc86d282a4189614dfaa90810dfc2c6f6427eaf88e16311dd225d" 1475 | 1476 | [[package]] 1477 | name = "untrusted" 1478 | version = "0.9.0" 1479 | source = "registry+https://github.com/rust-lang/crates.io-index" 1480 | checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" 1481 | 1482 | [[package]] 1483 | name = "ureq" 1484 | version = "2.10.1" 1485 | source = "registry+https://github.com/rust-lang/crates.io-index" 1486 | checksum = "b74fc6b57825be3373f7054754755f03ac3a8f5d70015ccad699ba2029956f4a" 1487 | dependencies = [ 1488 | "base64", 1489 | "flate2", 1490 | "log", 1491 | "native-tls", 1492 | "once_cell", 1493 | "rustls", 1494 | "rustls-pki-types", 1495 | "serde", 1496 | "serde_json", 1497 | "url", 1498 | "webpki-roots", 1499 | ] 1500 | 1501 | [[package]] 1502 | name = "url" 1503 | version = "2.5.2" 1504 | source = "registry+https://github.com/rust-lang/crates.io-index" 1505 | checksum = "22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c" 1506 | dependencies = [ 1507 | "form_urlencoded", 1508 | "idna", 1509 | "percent-encoding", 1510 | ] 1511 | 1512 | [[package]] 1513 | name = "utf8parse" 1514 | version = "0.2.2" 1515 | source = "registry+https://github.com/rust-lang/crates.io-index" 1516 | checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" 1517 | 1518 | [[package]] 1519 | name = "vcpkg" 1520 | version = "0.2.15" 1521 | source = "registry+https://github.com/rust-lang/crates.io-index" 1522 | checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" 1523 | 1524 | [[package]] 1525 | name = "want" 1526 | version = "0.3.1" 1527 | source = "registry+https://github.com/rust-lang/crates.io-index" 1528 | checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" 1529 | dependencies = [ 1530 | "try-lock", 1531 | ] 1532 | 1533 | [[package]] 1534 | name = "wasi" 1535 | version = "0.11.0+wasi-snapshot-preview1" 1536 | source = "registry+https://github.com/rust-lang/crates.io-index" 1537 | checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" 1538 | 1539 | [[package]] 1540 | name = "wasm-bindgen" 1541 | version = "0.2.93" 1542 | source = "registry+https://github.com/rust-lang/crates.io-index" 1543 | checksum = "a82edfc16a6c469f5f44dc7b571814045d60404b55a0ee849f9bcfa2e63dd9b5" 1544 | dependencies = [ 1545 | "cfg-if", 1546 | "once_cell", 1547 | "wasm-bindgen-macro", 1548 | ] 1549 | 1550 | [[package]] 1551 | name = "wasm-bindgen-backend" 1552 | version = "0.2.93" 1553 | source = "registry+https://github.com/rust-lang/crates.io-index" 1554 | checksum = "9de396da306523044d3302746f1208fa71d7532227f15e347e2d93e4145dd77b" 1555 | dependencies = [ 1556 | "bumpalo", 1557 | "log", 1558 | "once_cell", 1559 | "proc-macro2", 1560 | "quote", 1561 | "syn", 1562 | "wasm-bindgen-shared", 1563 | ] 1564 | 1565 | [[package]] 1566 | name = "wasm-bindgen-futures" 1567 | version = "0.4.43" 1568 | source = "registry+https://github.com/rust-lang/crates.io-index" 1569 | checksum = "61e9300f63a621e96ed275155c108eb6f843b6a26d053f122ab69724559dc8ed" 1570 | dependencies = [ 1571 | "cfg-if", 1572 | "js-sys", 1573 | "wasm-bindgen", 1574 | "web-sys", 1575 | ] 1576 | 1577 | [[package]] 1578 | name = "wasm-bindgen-macro" 1579 | version = "0.2.93" 1580 | source = "registry+https://github.com/rust-lang/crates.io-index" 1581 | checksum = "585c4c91a46b072c92e908d99cb1dcdf95c5218eeb6f3bf1efa991ee7a68cccf" 1582 | dependencies = [ 1583 | "quote", 1584 | "wasm-bindgen-macro-support", 1585 | ] 1586 | 1587 | [[package]] 1588 | name = "wasm-bindgen-macro-support" 1589 | version = "0.2.93" 1590 | source = "registry+https://github.com/rust-lang/crates.io-index" 1591 | checksum = "afc340c74d9005395cf9dd098506f7f44e38f2b4a21c6aaacf9a105ea5e1e836" 1592 | dependencies = [ 1593 | "proc-macro2", 1594 | "quote", 1595 | "syn", 1596 | "wasm-bindgen-backend", 1597 | "wasm-bindgen-shared", 1598 | ] 1599 | 1600 | [[package]] 1601 | name = "wasm-bindgen-shared" 1602 | version = "0.2.93" 1603 | source = "registry+https://github.com/rust-lang/crates.io-index" 1604 | checksum = "c62a0a307cb4a311d3a07867860911ca130c3494e8c2719593806c08bc5d0484" 1605 | 1606 | [[package]] 1607 | name = "wasm-streams" 1608 | version = "0.4.0" 1609 | source = "registry+https://github.com/rust-lang/crates.io-index" 1610 | checksum = "b65dc4c90b63b118468cf747d8bf3566c1913ef60be765b5730ead9e0a3ba129" 1611 | dependencies = [ 1612 | "futures-util", 1613 | "js-sys", 1614 | "wasm-bindgen", 1615 | "wasm-bindgen-futures", 1616 | "web-sys", 1617 | ] 1618 | 1619 | [[package]] 1620 | name = "web-sys" 1621 | version = "0.3.70" 1622 | source = "registry+https://github.com/rust-lang/crates.io-index" 1623 | checksum = "26fdeaafd9bd129f65e7c031593c24d62186301e0c72c8978fa1678be7d532c0" 1624 | dependencies = [ 1625 | "js-sys", 1626 | "wasm-bindgen", 1627 | ] 1628 | 1629 | [[package]] 1630 | name = "webpki-roots" 1631 | version = "0.26.3" 1632 | source = "registry+https://github.com/rust-lang/crates.io-index" 1633 | checksum = "bd7c23921eeb1713a4e851530e9b9756e4fb0e89978582942612524cf09f01cd" 1634 | dependencies = [ 1635 | "rustls-pki-types", 1636 | ] 1637 | 1638 | [[package]] 1639 | name = "windows-registry" 1640 | version = "0.2.0" 1641 | source = "registry+https://github.com/rust-lang/crates.io-index" 1642 | checksum = "e400001bb720a623c1c69032f8e3e4cf09984deec740f007dd2b03ec864804b0" 1643 | dependencies = [ 1644 | "windows-result", 1645 | "windows-strings", 1646 | "windows-targets 0.52.6", 1647 | ] 1648 | 1649 | [[package]] 1650 | name = "windows-result" 1651 | version = "0.2.0" 1652 | source = "registry+https://github.com/rust-lang/crates.io-index" 1653 | checksum = "1d1043d8214f791817bab27572aaa8af63732e11bf84aa21a45a78d6c317ae0e" 1654 | dependencies = [ 1655 | "windows-targets 0.52.6", 1656 | ] 1657 | 1658 | [[package]] 1659 | name = "windows-strings" 1660 | version = "0.1.0" 1661 | source = "registry+https://github.com/rust-lang/crates.io-index" 1662 | checksum = "4cd9b125c486025df0eabcb585e62173c6c9eddcec5d117d3b6e8c30e2ee4d10" 1663 | dependencies = [ 1664 | "windows-result", 1665 | "windows-targets 0.52.6", 1666 | ] 1667 | 1668 | [[package]] 1669 | name = "windows-sys" 1670 | version = "0.48.0" 1671 | source = "registry+https://github.com/rust-lang/crates.io-index" 1672 | checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" 1673 | dependencies = [ 1674 | "windows-targets 0.48.5", 1675 | ] 1676 | 1677 | [[package]] 1678 | name = "windows-sys" 1679 | version = "0.52.0" 1680 | source = "registry+https://github.com/rust-lang/crates.io-index" 1681 | checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" 1682 | dependencies = [ 1683 | "windows-targets 0.52.6", 1684 | ] 1685 | 1686 | [[package]] 1687 | name = "windows-sys" 1688 | version = "0.59.0" 1689 | source = "registry+https://github.com/rust-lang/crates.io-index" 1690 | checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" 1691 | dependencies = [ 1692 | "windows-targets 0.52.6", 1693 | ] 1694 | 1695 | [[package]] 1696 | name = "windows-targets" 1697 | version = "0.48.5" 1698 | source = "registry+https://github.com/rust-lang/crates.io-index" 1699 | checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" 1700 | dependencies = [ 1701 | "windows_aarch64_gnullvm 0.48.5", 1702 | "windows_aarch64_msvc 0.48.5", 1703 | "windows_i686_gnu 0.48.5", 1704 | "windows_i686_msvc 0.48.5", 1705 | "windows_x86_64_gnu 0.48.5", 1706 | "windows_x86_64_gnullvm 0.48.5", 1707 | "windows_x86_64_msvc 0.48.5", 1708 | ] 1709 | 1710 | [[package]] 1711 | name = "windows-targets" 1712 | version = "0.52.6" 1713 | source = "registry+https://github.com/rust-lang/crates.io-index" 1714 | checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" 1715 | dependencies = [ 1716 | "windows_aarch64_gnullvm 0.52.6", 1717 | "windows_aarch64_msvc 0.52.6", 1718 | "windows_i686_gnu 0.52.6", 1719 | "windows_i686_gnullvm", 1720 | "windows_i686_msvc 0.52.6", 1721 | "windows_x86_64_gnu 0.52.6", 1722 | "windows_x86_64_gnullvm 0.52.6", 1723 | "windows_x86_64_msvc 0.52.6", 1724 | ] 1725 | 1726 | [[package]] 1727 | name = "windows_aarch64_gnullvm" 1728 | version = "0.48.5" 1729 | source = "registry+https://github.com/rust-lang/crates.io-index" 1730 | checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" 1731 | 1732 | [[package]] 1733 | name = "windows_aarch64_gnullvm" 1734 | version = "0.52.6" 1735 | source = "registry+https://github.com/rust-lang/crates.io-index" 1736 | checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" 1737 | 1738 | [[package]] 1739 | name = "windows_aarch64_msvc" 1740 | version = "0.48.5" 1741 | source = "registry+https://github.com/rust-lang/crates.io-index" 1742 | checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" 1743 | 1744 | [[package]] 1745 | name = "windows_aarch64_msvc" 1746 | version = "0.52.6" 1747 | source = "registry+https://github.com/rust-lang/crates.io-index" 1748 | checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" 1749 | 1750 | [[package]] 1751 | name = "windows_i686_gnu" 1752 | version = "0.48.5" 1753 | source = "registry+https://github.com/rust-lang/crates.io-index" 1754 | checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" 1755 | 1756 | [[package]] 1757 | name = "windows_i686_gnu" 1758 | version = "0.52.6" 1759 | source = "registry+https://github.com/rust-lang/crates.io-index" 1760 | checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" 1761 | 1762 | [[package]] 1763 | name = "windows_i686_gnullvm" 1764 | version = "0.52.6" 1765 | source = "registry+https://github.com/rust-lang/crates.io-index" 1766 | checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" 1767 | 1768 | [[package]] 1769 | name = "windows_i686_msvc" 1770 | version = "0.48.5" 1771 | source = "registry+https://github.com/rust-lang/crates.io-index" 1772 | checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" 1773 | 1774 | [[package]] 1775 | name = "windows_i686_msvc" 1776 | version = "0.52.6" 1777 | source = "registry+https://github.com/rust-lang/crates.io-index" 1778 | checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" 1779 | 1780 | [[package]] 1781 | name = "windows_x86_64_gnu" 1782 | version = "0.48.5" 1783 | source = "registry+https://github.com/rust-lang/crates.io-index" 1784 | checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" 1785 | 1786 | [[package]] 1787 | name = "windows_x86_64_gnu" 1788 | version = "0.52.6" 1789 | source = "registry+https://github.com/rust-lang/crates.io-index" 1790 | checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" 1791 | 1792 | [[package]] 1793 | name = "windows_x86_64_gnullvm" 1794 | version = "0.48.5" 1795 | source = "registry+https://github.com/rust-lang/crates.io-index" 1796 | checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" 1797 | 1798 | [[package]] 1799 | name = "windows_x86_64_gnullvm" 1800 | version = "0.52.6" 1801 | source = "registry+https://github.com/rust-lang/crates.io-index" 1802 | checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" 1803 | 1804 | [[package]] 1805 | name = "windows_x86_64_msvc" 1806 | version = "0.48.5" 1807 | source = "registry+https://github.com/rust-lang/crates.io-index" 1808 | checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" 1809 | 1810 | [[package]] 1811 | name = "windows_x86_64_msvc" 1812 | version = "0.52.6" 1813 | source = "registry+https://github.com/rust-lang/crates.io-index" 1814 | checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" 1815 | 1816 | [[package]] 1817 | name = "zerocopy" 1818 | version = "0.7.35" 1819 | source = "registry+https://github.com/rust-lang/crates.io-index" 1820 | checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" 1821 | dependencies = [ 1822 | "byteorder", 1823 | "zerocopy-derive", 1824 | ] 1825 | 1826 | [[package]] 1827 | name = "zerocopy-derive" 1828 | version = "0.7.35" 1829 | source = "registry+https://github.com/rust-lang/crates.io-index" 1830 | checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" 1831 | dependencies = [ 1832 | "proc-macro2", 1833 | "quote", 1834 | "syn", 1835 | ] 1836 | 1837 | [[package]] 1838 | name = "zeroize" 1839 | version = "1.8.1" 1840 | source = "registry+https://github.com/rust-lang/crates.io-index" 1841 | checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" 1842 | --------------------------------------------------------------------------------