├── .gitignore ├── Cargo.toml ├── src ├── promts.rs ├── gpt.rs ├── main.rs └── source.rs ├── README.md └── Cargo.lock /.gitignore: -------------------------------------------------------------------------------- 1 | /target 2 | .env -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "gpt-doc-gen" 3 | version = "0.1.0" 4 | edition = "2021" 5 | description = "A CLI to document Rust code" 6 | license = "MIT" 7 | 8 | [dependencies] 9 | async-openai = "0.10.0" 10 | color-eyre = "0.6.2" 11 | quote = "1.0.26" 12 | structopt = "0.3.26" 13 | tokio = { version = "1.26.0", features = ["full"] } 14 | -------------------------------------------------------------------------------- /src/promts.rs: -------------------------------------------------------------------------------- 1 | pub const RS_PROMPT: &str = "Document and format this Rust code according to Rust standards. Make sure to link to different crate items using [`Item`](path::to::Item) syntax. Ensure you use proper punctiation. For all public functions, add example code showing the usage of that function. Ensure every struct, trait, and function has a doc comment. For private items, do not provide examples. Make sure to add # SAFETY sections for unsafe code describing the invariants, and # Errors sections describing when the function returns an error for functions returning Results. Add a # Panics section for functions that panic, describing when they panic. Only add comments, no new code."; 2 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | `gpt-doc-gen` is a command-line interface (CLI) tool for generating Rust doc comments using OpenAI's [`Dali`] language model. It will document all public items, including adding examples, `# Errors` sections and cross linking types from other crates. 2 | 3 | # Installation 4 | 5 | ```bash 6 | cargo install gpt-doc-gen 7 | ``` 8 | 9 | Or build the binary locally: 10 | 11 | ```bash 12 | git clone git@github.com/kaiserkarel/gpt-doc-gen 13 | cd gpt-doc-gen 14 | cargo install --path . 15 | ``` 16 | 17 | # Usage 18 | 19 | The CLI parameters are still unstable and may change. 20 | 21 | 22 | ``` 23 | cargo gpt-doc-gen --help 24 | 25 | --- 26 | gpt-doc-gen 0.1.0 27 | A CLI to document Rust code 28 | 29 | USAGE: 30 | gpt-doc-gen [FLAGS] --api-key 31 | 32 | FLAGS: 33 | -d, --dryrun Print the output to stdout instead of writing it to a file 34 | -h, --help Prints help information 35 | -V, --version Prints version information 36 | 37 | OPTIONS: 38 | -a, --api-key [env: GPT_DOC_GEN_API_KEY=$API_KEY] 39 | 40 | SUBCOMMANDS: 41 | document-crate Add doc comments to all Rust files in a crate 42 | document-file Add doc comments to a single file 43 | help Prints this message or the help of the given subcommand(s) 44 | ``` 45 | 46 | `gpt-doc-gen` can add documentation to a specific file, -------------------------------------------------------------------------------- /src/gpt.rs: -------------------------------------------------------------------------------- 1 | use async_openai::{types::CreateEditRequest, Client as OpenAiClient}; 2 | 3 | use crate::source::Source; 4 | 5 | /// A client for the [`OpenAI`](https://openai.com/) API, with added functionality for documenting 6 | /// purposes. 7 | pub struct Client { 8 | client: OpenAiClient, 9 | } 10 | 11 | impl Client { 12 | /// Create a new client. 13 | /// 14 | /// # Examples 15 | /// 16 | /// ``` 17 | /// use crate::Client; 18 | /// 19 | /// let client = Client::new("MY_API_KEY"); 20 | /// ``` 21 | pub fn new(api_key: &str) -> Self { 22 | let client = OpenAiClient::new().with_api_key(api_key); 23 | Self { client } 24 | } 25 | 26 | /// Document the given source code. 27 | /// 28 | /// # Examples 29 | /// 30 | /// ``` 31 | /// use crate::{Client, Source}; 32 | /// 33 | /// let mut client = Client::new(); 34 | /// let source = Source::from_file("path/to/file.rs") 35 | /// let document = client.document(&source).await.unwrap(); 36 | /// ``` 37 | pub async fn document(&mut self, source: &Source) -> color_eyre::Result { 38 | let request = CreateEditRequest { 39 | model: "code-davinci-edit-001".to_owned(), 40 | input: Some(source.contents.clone()), 41 | instruction: source.prompt.to_owned(), 42 | n: None, 43 | temperature: Some(0.3), 44 | top_p: None, 45 | }; 46 | 47 | let response = self.client.edits().create(request).await?; 48 | Ok(response.choices[0].text.clone()) 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /src/main.rs: -------------------------------------------------------------------------------- 1 | pub use gpt::Client; 2 | pub use source::{Source, SourceMap}; 3 | use std::path::PathBuf; 4 | use structopt::StructOpt; 5 | 6 | mod gpt; 7 | mod promts; 8 | mod source; 9 | 10 | #[derive(Debug, StructOpt)] 11 | #[structopt(name = "gpt-doc-gen", about = "A CLI to document Rust code")] 12 | #[structopt(rename_all = "kebab-case")] 13 | struct Cli { 14 | /// Print the output to stdout instead of writing it to a file. 15 | #[structopt(short, long)] 16 | dryrun: bool, 17 | 18 | #[structopt(subcommand)] 19 | command: Commands, 20 | 21 | #[structopt(short, long, env = "GPT_DOC_GEN_API_KEY")] 22 | api_key: String, 23 | } 24 | 25 | #[derive(Debug, StructOpt)] 26 | enum Commands { 27 | /// Add doc comments to a single file. 28 | DocumentFile { 29 | /// Path to the file to be documented. 30 | path: PathBuf, 31 | /// Optional output file. Defaults to overwriting the file provided with `path`. 32 | #[structopt(short, long)] 33 | output: Option, 34 | }, 35 | /// Add doc comments to all Rust files in a crate. 36 | DocumentCrate { 37 | /// Path to the crate to be documented, defaults to `src` 38 | #[structopt(short, long, default_value = "src")] 39 | path: PathBuf, 40 | /// Output directory to write the result to, defaults to `src.documented`. 41 | #[structopt(short, long, default_value = "src.documented")] 42 | output: PathBuf, 43 | }, 44 | } 45 | 46 | impl Cli { 47 | async fn run(self) -> color_eyre::Result<()> { 48 | let mut client = Client::new(&self.api_key); 49 | 50 | match self.command { 51 | Commands::DocumentFile { path, output } => { 52 | let source = Source::from_file(&path)?; 53 | let document = client.document(&source).await?; 54 | let output = output.unwrap_or_else(|| path.clone()); 55 | if self.dryrun { 56 | println!("{}", document) 57 | } else { 58 | std::fs::write(output, document.as_bytes())?; 59 | } 60 | } 61 | Commands::DocumentCrate { path, output } => { 62 | let map = SourceMap::from_root(path)?; 63 | let output_dir = output; 64 | 65 | for (path, source) in &map.sources { 66 | let path = output_dir.join(path.clone()); 67 | let document = client.document(source).await?; 68 | let prefix = path 69 | .parent() 70 | .expect("document-crate must be passed a directory"); 71 | std::fs::create_dir_all(prefix)?; 72 | std::fs::write(path, document.as_bytes())?; 73 | } 74 | } 75 | } 76 | Ok(()) 77 | } 78 | } 79 | 80 | #[tokio::main] 81 | async fn main() -> color_eyre::Result<()> { 82 | let cli = Cli::from_args(); 83 | cli.run().await 84 | } 85 | -------------------------------------------------------------------------------- /src/source.rs: -------------------------------------------------------------------------------- 1 | use core::fmt::Debug; 2 | use std::{ 3 | collections::HashMap, 4 | fs::{self, DirEntry, File}, 5 | io::Read, 6 | path::{Path, PathBuf}, 7 | }; 8 | 9 | /// A map of source files to their contents. 10 | pub struct SourceMap { 11 | /// The map of source files to their contents. 12 | pub sources: HashMap, 13 | } 14 | 15 | pub struct Source { 16 | pub contents: String, 17 | pub prompt: &'static str, 18 | } 19 | 20 | impl Source { 21 | pub fn from_file(path: impl AsRef) -> color_eyre::Result { 22 | let path = path.as_ref(); 23 | let mut file = File::open(path)?; 24 | let mut contents = String::new(); 25 | file.read_to_string(&mut contents)?; 26 | 27 | let prompt = match path.extension().map(|ext| ext.to_str()) { 28 | Some(Some("rs")) => crate::promts::RS_PROMPT, 29 | _ => unimplemented!("non-rs files are not supported yet"), 30 | }; 31 | Ok(Source { contents, prompt }) 32 | } 33 | } 34 | 35 | impl Debug for SourceMap { 36 | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { 37 | f.debug_struct("SourceMap") 38 | .field("sources", &self.sources.keys().collect::>()) 39 | .finish() 40 | } 41 | } 42 | 43 | impl SourceMap { 44 | /// Creates a new [`SourceMap`] from the given root path. 45 | /// 46 | /// # Examples 47 | /// 48 | /// ``` 49 | /// use std::path::Path; 50 | /// 51 | /// let map = SourceMap::from_root(Path::new("tests/fixtures")).unwrap(); 52 | /// ``` 53 | pub fn from_root(path: impl AsRef) -> color_eyre::Result { 54 | let mut map = SourceMap { 55 | sources: HashMap::new(), 56 | }; 57 | 58 | let path = path.as_ref(); 59 | 60 | visit_dirs(path, &mut |path, _dir| { 61 | if let Some(ext) = path.extension() { 62 | if ext == "rs" { 63 | map.add_source(path)?; 64 | } 65 | } 66 | Ok(()) 67 | })?; 68 | Ok(map) 69 | } 70 | 71 | /// Adds a source file to the map. 72 | /// 73 | /// # Errors 74 | /// 75 | /// This function will return an error if the file could not be read. 76 | fn add_source(&mut self, path: &Path) -> color_eyre::Result<()> { 77 | let source = Source::from_file(path)?; 78 | self.sources.insert(path.to_path_buf(), source); 79 | Ok(()) 80 | } 81 | } 82 | 83 | /// Visits all directories in the given directory, calling the callback for each file. 84 | /// 85 | /// # Errors 86 | /// 87 | /// This function will return an error if the directory could not be read. 88 | fn visit_dirs color_eyre::Result<()>>( 89 | dir: &Path, 90 | cb: &mut F, 91 | ) -> color_eyre::Result<()> { 92 | if dir.is_dir() { 93 | for entry in fs::read_dir(dir)? { 94 | let entry = entry?; 95 | let path = entry.path(); 96 | if path.is_dir() { 97 | visit_dirs(path.as_path(), cb)?; 98 | } else { 99 | cb(&path, &entry)?; 100 | } 101 | } 102 | } 103 | Ok(()) 104 | } 105 | -------------------------------------------------------------------------------- /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.19.0" 8 | source = "registry+https://github.com/rust-lang/crates.io-index" 9 | checksum = "a76fd60b23679b7d19bd066031410fb7e458ccc5e958eb5c325888ce4baedc97" 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 = "ansi_term" 22 | version = "0.12.1" 23 | source = "registry+https://github.com/rust-lang/crates.io-index" 24 | checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2" 25 | dependencies = [ 26 | "winapi", 27 | ] 28 | 29 | [[package]] 30 | name = "async-openai" 31 | version = "0.10.0" 32 | source = "registry+https://github.com/rust-lang/crates.io-index" 33 | checksum = "fc62bea0dc0376372c6cb0e450168b7805d6655b88a3dfd340036743a3d91fca" 34 | dependencies = [ 35 | "backoff", 36 | "base64", 37 | "derive_builder", 38 | "futures", 39 | "rand", 40 | "reqwest", 41 | "reqwest-eventsource", 42 | "serde", 43 | "serde_json", 44 | "thiserror", 45 | "tokio", 46 | "tokio-stream", 47 | "tokio-util", 48 | "tracing", 49 | ] 50 | 51 | [[package]] 52 | name = "atty" 53 | version = "0.2.14" 54 | source = "registry+https://github.com/rust-lang/crates.io-index" 55 | checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" 56 | dependencies = [ 57 | "hermit-abi 0.1.19", 58 | "libc", 59 | "winapi", 60 | ] 61 | 62 | [[package]] 63 | name = "autocfg" 64 | version = "1.1.0" 65 | source = "registry+https://github.com/rust-lang/crates.io-index" 66 | checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" 67 | 68 | [[package]] 69 | name = "backoff" 70 | version = "0.4.0" 71 | source = "registry+https://github.com/rust-lang/crates.io-index" 72 | checksum = "b62ddb9cb1ec0a098ad4bbf9344d0713fa193ae1a80af55febcff2627b6a00c1" 73 | dependencies = [ 74 | "futures-core", 75 | "getrandom", 76 | "instant", 77 | "pin-project-lite", 78 | "rand", 79 | "tokio", 80 | ] 81 | 82 | [[package]] 83 | name = "backtrace" 84 | version = "0.3.67" 85 | source = "registry+https://github.com/rust-lang/crates.io-index" 86 | checksum = "233d376d6d185f2a3093e58f283f60f880315b6c60075b01f36b3b85154564ca" 87 | dependencies = [ 88 | "addr2line", 89 | "cc", 90 | "cfg-if", 91 | "libc", 92 | "miniz_oxide", 93 | "object", 94 | "rustc-demangle", 95 | ] 96 | 97 | [[package]] 98 | name = "base64" 99 | version = "0.21.0" 100 | source = "registry+https://github.com/rust-lang/crates.io-index" 101 | checksum = "a4a4ddaa51a5bc52a6948f74c06d20aaaddb71924eab79b8c97a8c556e942d6a" 102 | 103 | [[package]] 104 | name = "bitflags" 105 | version = "1.3.2" 106 | source = "registry+https://github.com/rust-lang/crates.io-index" 107 | checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" 108 | 109 | [[package]] 110 | name = "bumpalo" 111 | version = "3.12.0" 112 | source = "registry+https://github.com/rust-lang/crates.io-index" 113 | checksum = "0d261e256854913907f67ed06efbc3338dfe6179796deefc1ff763fc1aee5535" 114 | 115 | [[package]] 116 | name = "bytes" 117 | version = "1.4.0" 118 | source = "registry+https://github.com/rust-lang/crates.io-index" 119 | checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be" 120 | 121 | [[package]] 122 | name = "cc" 123 | version = "1.0.79" 124 | source = "registry+https://github.com/rust-lang/crates.io-index" 125 | checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f" 126 | 127 | [[package]] 128 | name = "cfg-if" 129 | version = "1.0.0" 130 | source = "registry+https://github.com/rust-lang/crates.io-index" 131 | checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" 132 | 133 | [[package]] 134 | name = "clap" 135 | version = "2.34.0" 136 | source = "registry+https://github.com/rust-lang/crates.io-index" 137 | checksum = "a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c" 138 | dependencies = [ 139 | "ansi_term", 140 | "atty", 141 | "bitflags", 142 | "strsim 0.8.0", 143 | "textwrap", 144 | "unicode-width", 145 | "vec_map", 146 | ] 147 | 148 | [[package]] 149 | name = "color-eyre" 150 | version = "0.6.2" 151 | source = "registry+https://github.com/rust-lang/crates.io-index" 152 | checksum = "5a667583cca8c4f8436db8de46ea8233c42a7d9ae424a82d338f2e4675229204" 153 | dependencies = [ 154 | "backtrace", 155 | "color-spantrace", 156 | "eyre", 157 | "indenter", 158 | "once_cell", 159 | "owo-colors", 160 | "tracing-error", 161 | ] 162 | 163 | [[package]] 164 | name = "color-spantrace" 165 | version = "0.2.0" 166 | source = "registry+https://github.com/rust-lang/crates.io-index" 167 | checksum = "1ba75b3d9449ecdccb27ecbc479fdc0b87fa2dd43d2f8298f9bf0e59aacc8dce" 168 | dependencies = [ 169 | "once_cell", 170 | "owo-colors", 171 | "tracing-core", 172 | "tracing-error", 173 | ] 174 | 175 | [[package]] 176 | name = "core-foundation" 177 | version = "0.9.3" 178 | source = "registry+https://github.com/rust-lang/crates.io-index" 179 | checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146" 180 | dependencies = [ 181 | "core-foundation-sys", 182 | "libc", 183 | ] 184 | 185 | [[package]] 186 | name = "core-foundation-sys" 187 | version = "0.8.3" 188 | source = "registry+https://github.com/rust-lang/crates.io-index" 189 | checksum = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc" 190 | 191 | [[package]] 192 | name = "darling" 193 | version = "0.14.4" 194 | source = "registry+https://github.com/rust-lang/crates.io-index" 195 | checksum = "7b750cb3417fd1b327431a470f388520309479ab0bf5e323505daf0290cd3850" 196 | dependencies = [ 197 | "darling_core", 198 | "darling_macro", 199 | ] 200 | 201 | [[package]] 202 | name = "darling_core" 203 | version = "0.14.4" 204 | source = "registry+https://github.com/rust-lang/crates.io-index" 205 | checksum = "109c1ca6e6b7f82cc233a97004ea8ed7ca123a9af07a8230878fcfda9b158bf0" 206 | dependencies = [ 207 | "fnv", 208 | "ident_case", 209 | "proc-macro2", 210 | "quote", 211 | "strsim 0.10.0", 212 | "syn 1.0.109", 213 | ] 214 | 215 | [[package]] 216 | name = "darling_macro" 217 | version = "0.14.4" 218 | source = "registry+https://github.com/rust-lang/crates.io-index" 219 | checksum = "a4aab4dbc9f7611d8b55048a3a16d2d010c2c8334e46304b40ac1cc14bf3b48e" 220 | dependencies = [ 221 | "darling_core", 222 | "quote", 223 | "syn 1.0.109", 224 | ] 225 | 226 | [[package]] 227 | name = "derive_builder" 228 | version = "0.12.0" 229 | source = "registry+https://github.com/rust-lang/crates.io-index" 230 | checksum = "8d67778784b508018359cbc8696edb3db78160bab2c2a28ba7f56ef6932997f8" 231 | dependencies = [ 232 | "derive_builder_macro", 233 | ] 234 | 235 | [[package]] 236 | name = "derive_builder_core" 237 | version = "0.12.0" 238 | source = "registry+https://github.com/rust-lang/crates.io-index" 239 | checksum = "c11bdc11a0c47bc7d37d582b5285da6849c96681023680b906673c5707af7b0f" 240 | dependencies = [ 241 | "darling", 242 | "proc-macro2", 243 | "quote", 244 | "syn 1.0.109", 245 | ] 246 | 247 | [[package]] 248 | name = "derive_builder_macro" 249 | version = "0.12.0" 250 | source = "registry+https://github.com/rust-lang/crates.io-index" 251 | checksum = "ebcda35c7a396850a55ffeac740804b40ffec779b98fffbb1738f4033f0ee79e" 252 | dependencies = [ 253 | "derive_builder_core", 254 | "syn 1.0.109", 255 | ] 256 | 257 | [[package]] 258 | name = "encoding_rs" 259 | version = "0.8.32" 260 | source = "registry+https://github.com/rust-lang/crates.io-index" 261 | checksum = "071a31f4ee85403370b58aca746f01041ede6f0da2730960ad001edc2b71b394" 262 | dependencies = [ 263 | "cfg-if", 264 | ] 265 | 266 | [[package]] 267 | name = "eventsource-stream" 268 | version = "0.2.3" 269 | source = "registry+https://github.com/rust-lang/crates.io-index" 270 | checksum = "74fef4569247a5f429d9156b9d0a2599914385dd189c539334c625d8099d90ab" 271 | dependencies = [ 272 | "futures-core", 273 | "nom", 274 | "pin-project-lite", 275 | ] 276 | 277 | [[package]] 278 | name = "eyre" 279 | version = "0.6.8" 280 | source = "registry+https://github.com/rust-lang/crates.io-index" 281 | checksum = "4c2b6b5a29c02cdc822728b7d7b8ae1bab3e3b05d44522770ddd49722eeac7eb" 282 | dependencies = [ 283 | "indenter", 284 | "once_cell", 285 | ] 286 | 287 | [[package]] 288 | name = "fnv" 289 | version = "1.0.7" 290 | source = "registry+https://github.com/rust-lang/crates.io-index" 291 | checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" 292 | 293 | [[package]] 294 | name = "form_urlencoded" 295 | version = "1.1.0" 296 | source = "registry+https://github.com/rust-lang/crates.io-index" 297 | checksum = "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8" 298 | dependencies = [ 299 | "percent-encoding", 300 | ] 301 | 302 | [[package]] 303 | name = "futures" 304 | version = "0.3.27" 305 | source = "registry+https://github.com/rust-lang/crates.io-index" 306 | checksum = "531ac96c6ff5fd7c62263c5e3c67a603af4fcaee2e1a0ae5565ba3a11e69e549" 307 | dependencies = [ 308 | "futures-channel", 309 | "futures-core", 310 | "futures-executor", 311 | "futures-io", 312 | "futures-sink", 313 | "futures-task", 314 | "futures-util", 315 | ] 316 | 317 | [[package]] 318 | name = "futures-channel" 319 | version = "0.3.27" 320 | source = "registry+https://github.com/rust-lang/crates.io-index" 321 | checksum = "164713a5a0dcc3e7b4b1ed7d3b433cabc18025386f9339346e8daf15963cf7ac" 322 | dependencies = [ 323 | "futures-core", 324 | "futures-sink", 325 | ] 326 | 327 | [[package]] 328 | name = "futures-core" 329 | version = "0.3.27" 330 | source = "registry+https://github.com/rust-lang/crates.io-index" 331 | checksum = "86d7a0c1aa76363dac491de0ee99faf6941128376f1cf96f07db7603b7de69dd" 332 | 333 | [[package]] 334 | name = "futures-executor" 335 | version = "0.3.27" 336 | source = "registry+https://github.com/rust-lang/crates.io-index" 337 | checksum = "1997dd9df74cdac935c76252744c1ed5794fac083242ea4fe77ef3ed60ba0f83" 338 | dependencies = [ 339 | "futures-core", 340 | "futures-task", 341 | "futures-util", 342 | ] 343 | 344 | [[package]] 345 | name = "futures-io" 346 | version = "0.3.27" 347 | source = "registry+https://github.com/rust-lang/crates.io-index" 348 | checksum = "89d422fa3cbe3b40dca574ab087abb5bc98258ea57eea3fd6f1fa7162c778b91" 349 | 350 | [[package]] 351 | name = "futures-macro" 352 | version = "0.3.27" 353 | source = "registry+https://github.com/rust-lang/crates.io-index" 354 | checksum = "3eb14ed937631bd8b8b8977f2c198443447a8355b6e3ca599f38c975e5a963b6" 355 | dependencies = [ 356 | "proc-macro2", 357 | "quote", 358 | "syn 1.0.109", 359 | ] 360 | 361 | [[package]] 362 | name = "futures-sink" 363 | version = "0.3.27" 364 | source = "registry+https://github.com/rust-lang/crates.io-index" 365 | checksum = "ec93083a4aecafb2a80a885c9de1f0ccae9dbd32c2bb54b0c3a65690e0b8d2f2" 366 | 367 | [[package]] 368 | name = "futures-task" 369 | version = "0.3.27" 370 | source = "registry+https://github.com/rust-lang/crates.io-index" 371 | checksum = "fd65540d33b37b16542a0438c12e6aeead10d4ac5d05bd3f805b8f35ab592879" 372 | 373 | [[package]] 374 | name = "futures-timer" 375 | version = "3.0.2" 376 | source = "registry+https://github.com/rust-lang/crates.io-index" 377 | checksum = "e64b03909df88034c26dc1547e8970b91f98bdb65165d6a4e9110d94263dbb2c" 378 | 379 | [[package]] 380 | name = "futures-util" 381 | version = "0.3.27" 382 | source = "registry+https://github.com/rust-lang/crates.io-index" 383 | checksum = "3ef6b17e481503ec85211fed8f39d1970f128935ca1f814cd32ac4a6842e84ab" 384 | dependencies = [ 385 | "futures-channel", 386 | "futures-core", 387 | "futures-io", 388 | "futures-macro", 389 | "futures-sink", 390 | "futures-task", 391 | "memchr", 392 | "pin-project-lite", 393 | "pin-utils", 394 | "slab", 395 | ] 396 | 397 | [[package]] 398 | name = "getrandom" 399 | version = "0.2.8" 400 | source = "registry+https://github.com/rust-lang/crates.io-index" 401 | checksum = "c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31" 402 | dependencies = [ 403 | "cfg-if", 404 | "libc", 405 | "wasi", 406 | ] 407 | 408 | [[package]] 409 | name = "gimli" 410 | version = "0.27.2" 411 | source = "registry+https://github.com/rust-lang/crates.io-index" 412 | checksum = "ad0a93d233ebf96623465aad4046a8d3aa4da22d4f4beba5388838c8a434bbb4" 413 | 414 | [[package]] 415 | name = "gpt-doc-gen" 416 | version = "0.1.0" 417 | dependencies = [ 418 | "async-openai", 419 | "color-eyre", 420 | "quote", 421 | "structopt", 422 | "tokio", 423 | ] 424 | 425 | [[package]] 426 | name = "h2" 427 | version = "0.3.16" 428 | source = "registry+https://github.com/rust-lang/crates.io-index" 429 | checksum = "5be7b54589b581f624f566bf5d8eb2bab1db736c51528720b6bd36b96b55924d" 430 | dependencies = [ 431 | "bytes", 432 | "fnv", 433 | "futures-core", 434 | "futures-sink", 435 | "futures-util", 436 | "http", 437 | "indexmap", 438 | "slab", 439 | "tokio", 440 | "tokio-util", 441 | "tracing", 442 | ] 443 | 444 | [[package]] 445 | name = "hashbrown" 446 | version = "0.12.3" 447 | source = "registry+https://github.com/rust-lang/crates.io-index" 448 | checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" 449 | 450 | [[package]] 451 | name = "heck" 452 | version = "0.3.3" 453 | source = "registry+https://github.com/rust-lang/crates.io-index" 454 | checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c" 455 | dependencies = [ 456 | "unicode-segmentation", 457 | ] 458 | 459 | [[package]] 460 | name = "hermit-abi" 461 | version = "0.1.19" 462 | source = "registry+https://github.com/rust-lang/crates.io-index" 463 | checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" 464 | dependencies = [ 465 | "libc", 466 | ] 467 | 468 | [[package]] 469 | name = "hermit-abi" 470 | version = "0.2.6" 471 | source = "registry+https://github.com/rust-lang/crates.io-index" 472 | checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7" 473 | dependencies = [ 474 | "libc", 475 | ] 476 | 477 | [[package]] 478 | name = "http" 479 | version = "0.2.9" 480 | source = "registry+https://github.com/rust-lang/crates.io-index" 481 | checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482" 482 | dependencies = [ 483 | "bytes", 484 | "fnv", 485 | "itoa", 486 | ] 487 | 488 | [[package]] 489 | name = "http-body" 490 | version = "0.4.5" 491 | source = "registry+https://github.com/rust-lang/crates.io-index" 492 | checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1" 493 | dependencies = [ 494 | "bytes", 495 | "http", 496 | "pin-project-lite", 497 | ] 498 | 499 | [[package]] 500 | name = "httparse" 501 | version = "1.8.0" 502 | source = "registry+https://github.com/rust-lang/crates.io-index" 503 | checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" 504 | 505 | [[package]] 506 | name = "httpdate" 507 | version = "1.0.2" 508 | source = "registry+https://github.com/rust-lang/crates.io-index" 509 | checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421" 510 | 511 | [[package]] 512 | name = "hyper" 513 | version = "0.14.25" 514 | source = "registry+https://github.com/rust-lang/crates.io-index" 515 | checksum = "cc5e554ff619822309ffd57d8734d77cd5ce6238bc956f037ea06c58238c9899" 516 | dependencies = [ 517 | "bytes", 518 | "futures-channel", 519 | "futures-core", 520 | "futures-util", 521 | "h2", 522 | "http", 523 | "http-body", 524 | "httparse", 525 | "httpdate", 526 | "itoa", 527 | "pin-project-lite", 528 | "socket2", 529 | "tokio", 530 | "tower-service", 531 | "tracing", 532 | "want", 533 | ] 534 | 535 | [[package]] 536 | name = "hyper-rustls" 537 | version = "0.23.2" 538 | source = "registry+https://github.com/rust-lang/crates.io-index" 539 | checksum = "1788965e61b367cd03a62950836d5cd41560c3577d90e40e0819373194d1661c" 540 | dependencies = [ 541 | "http", 542 | "hyper", 543 | "rustls", 544 | "tokio", 545 | "tokio-rustls", 546 | ] 547 | 548 | [[package]] 549 | name = "ident_case" 550 | version = "1.0.1" 551 | source = "registry+https://github.com/rust-lang/crates.io-index" 552 | checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" 553 | 554 | [[package]] 555 | name = "idna" 556 | version = "0.3.0" 557 | source = "registry+https://github.com/rust-lang/crates.io-index" 558 | checksum = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6" 559 | dependencies = [ 560 | "unicode-bidi", 561 | "unicode-normalization", 562 | ] 563 | 564 | [[package]] 565 | name = "indenter" 566 | version = "0.3.3" 567 | source = "registry+https://github.com/rust-lang/crates.io-index" 568 | checksum = "ce23b50ad8242c51a442f3ff322d56b02f08852c77e4c0b4d3fd684abc89c683" 569 | 570 | [[package]] 571 | name = "indexmap" 572 | version = "1.9.2" 573 | source = "registry+https://github.com/rust-lang/crates.io-index" 574 | checksum = "1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399" 575 | dependencies = [ 576 | "autocfg", 577 | "hashbrown", 578 | ] 579 | 580 | [[package]] 581 | name = "instant" 582 | version = "0.1.12" 583 | source = "registry+https://github.com/rust-lang/crates.io-index" 584 | checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" 585 | dependencies = [ 586 | "cfg-if", 587 | ] 588 | 589 | [[package]] 590 | name = "ipnet" 591 | version = "2.7.1" 592 | source = "registry+https://github.com/rust-lang/crates.io-index" 593 | checksum = "30e22bd8629359895450b59ea7a776c850561b96a3b1d31321c1949d9e6c9146" 594 | 595 | [[package]] 596 | name = "itoa" 597 | version = "1.0.6" 598 | source = "registry+https://github.com/rust-lang/crates.io-index" 599 | checksum = "453ad9f582a441959e5f0d088b02ce04cfe8d51a8eaf077f12ac6d3e94164ca6" 600 | 601 | [[package]] 602 | name = "js-sys" 603 | version = "0.3.61" 604 | source = "registry+https://github.com/rust-lang/crates.io-index" 605 | checksum = "445dde2150c55e483f3d8416706b97ec8e8237c307e5b7b4b8dd15e6af2a0730" 606 | dependencies = [ 607 | "wasm-bindgen", 608 | ] 609 | 610 | [[package]] 611 | name = "lazy_static" 612 | version = "1.4.0" 613 | source = "registry+https://github.com/rust-lang/crates.io-index" 614 | checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" 615 | 616 | [[package]] 617 | name = "libc" 618 | version = "0.2.140" 619 | source = "registry+https://github.com/rust-lang/crates.io-index" 620 | checksum = "99227334921fae1a979cf0bfdfcc6b3e5ce376ef57e16fb6fb3ea2ed6095f80c" 621 | 622 | [[package]] 623 | name = "lock_api" 624 | version = "0.4.9" 625 | source = "registry+https://github.com/rust-lang/crates.io-index" 626 | checksum = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df" 627 | dependencies = [ 628 | "autocfg", 629 | "scopeguard", 630 | ] 631 | 632 | [[package]] 633 | name = "log" 634 | version = "0.4.17" 635 | source = "registry+https://github.com/rust-lang/crates.io-index" 636 | checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e" 637 | dependencies = [ 638 | "cfg-if", 639 | ] 640 | 641 | [[package]] 642 | name = "memchr" 643 | version = "2.5.0" 644 | source = "registry+https://github.com/rust-lang/crates.io-index" 645 | checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" 646 | 647 | [[package]] 648 | name = "mime" 649 | version = "0.3.16" 650 | source = "registry+https://github.com/rust-lang/crates.io-index" 651 | checksum = "2a60c7ce501c71e03a9c9c0d35b861413ae925bd979cc7a4e30d060069aaac8d" 652 | 653 | [[package]] 654 | name = "mime_guess" 655 | version = "2.0.4" 656 | source = "registry+https://github.com/rust-lang/crates.io-index" 657 | checksum = "4192263c238a5f0d0c6bfd21f336a313a4ce1c450542449ca191bb657b4642ef" 658 | dependencies = [ 659 | "mime", 660 | "unicase", 661 | ] 662 | 663 | [[package]] 664 | name = "minimal-lexical" 665 | version = "0.2.1" 666 | source = "registry+https://github.com/rust-lang/crates.io-index" 667 | checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" 668 | 669 | [[package]] 670 | name = "miniz_oxide" 671 | version = "0.6.2" 672 | source = "registry+https://github.com/rust-lang/crates.io-index" 673 | checksum = "b275950c28b37e794e8c55d88aeb5e139d0ce23fdbbeda68f8d7174abdf9e8fa" 674 | dependencies = [ 675 | "adler", 676 | ] 677 | 678 | [[package]] 679 | name = "mio" 680 | version = "0.8.6" 681 | source = "registry+https://github.com/rust-lang/crates.io-index" 682 | checksum = "5b9d9a46eff5b4ff64b45a9e316a6d1e0bc719ef429cbec4dc630684212bfdf9" 683 | dependencies = [ 684 | "libc", 685 | "log", 686 | "wasi", 687 | "windows-sys 0.45.0", 688 | ] 689 | 690 | [[package]] 691 | name = "nom" 692 | version = "7.1.3" 693 | source = "registry+https://github.com/rust-lang/crates.io-index" 694 | checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" 695 | dependencies = [ 696 | "memchr", 697 | "minimal-lexical", 698 | ] 699 | 700 | [[package]] 701 | name = "num_cpus" 702 | version = "1.15.0" 703 | source = "registry+https://github.com/rust-lang/crates.io-index" 704 | checksum = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b" 705 | dependencies = [ 706 | "hermit-abi 0.2.6", 707 | "libc", 708 | ] 709 | 710 | [[package]] 711 | name = "object" 712 | version = "0.30.3" 713 | source = "registry+https://github.com/rust-lang/crates.io-index" 714 | checksum = "ea86265d3d3dcb6a27fc51bd29a4bf387fae9d2986b823079d4986af253eb439" 715 | dependencies = [ 716 | "memchr", 717 | ] 718 | 719 | [[package]] 720 | name = "once_cell" 721 | version = "1.17.1" 722 | source = "registry+https://github.com/rust-lang/crates.io-index" 723 | checksum = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3" 724 | 725 | [[package]] 726 | name = "openssl-probe" 727 | version = "0.1.5" 728 | source = "registry+https://github.com/rust-lang/crates.io-index" 729 | checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" 730 | 731 | [[package]] 732 | name = "owo-colors" 733 | version = "3.5.0" 734 | source = "registry+https://github.com/rust-lang/crates.io-index" 735 | checksum = "c1b04fb49957986fdce4d6ee7a65027d55d4b6d2265e5848bbb507b58ccfdb6f" 736 | 737 | [[package]] 738 | name = "parking_lot" 739 | version = "0.12.1" 740 | source = "registry+https://github.com/rust-lang/crates.io-index" 741 | checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" 742 | dependencies = [ 743 | "lock_api", 744 | "parking_lot_core", 745 | ] 746 | 747 | [[package]] 748 | name = "parking_lot_core" 749 | version = "0.9.7" 750 | source = "registry+https://github.com/rust-lang/crates.io-index" 751 | checksum = "9069cbb9f99e3a5083476ccb29ceb1de18b9118cafa53e90c9551235de2b9521" 752 | dependencies = [ 753 | "cfg-if", 754 | "libc", 755 | "redox_syscall", 756 | "smallvec", 757 | "windows-sys 0.45.0", 758 | ] 759 | 760 | [[package]] 761 | name = "percent-encoding" 762 | version = "2.2.0" 763 | source = "registry+https://github.com/rust-lang/crates.io-index" 764 | checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e" 765 | 766 | [[package]] 767 | name = "pin-project-lite" 768 | version = "0.2.9" 769 | source = "registry+https://github.com/rust-lang/crates.io-index" 770 | checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116" 771 | 772 | [[package]] 773 | name = "pin-utils" 774 | version = "0.1.0" 775 | source = "registry+https://github.com/rust-lang/crates.io-index" 776 | checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" 777 | 778 | [[package]] 779 | name = "ppv-lite86" 780 | version = "0.2.17" 781 | source = "registry+https://github.com/rust-lang/crates.io-index" 782 | checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" 783 | 784 | [[package]] 785 | name = "proc-macro-error" 786 | version = "1.0.4" 787 | source = "registry+https://github.com/rust-lang/crates.io-index" 788 | checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" 789 | dependencies = [ 790 | "proc-macro-error-attr", 791 | "proc-macro2", 792 | "quote", 793 | "syn 1.0.109", 794 | "version_check", 795 | ] 796 | 797 | [[package]] 798 | name = "proc-macro-error-attr" 799 | version = "1.0.4" 800 | source = "registry+https://github.com/rust-lang/crates.io-index" 801 | checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" 802 | dependencies = [ 803 | "proc-macro2", 804 | "quote", 805 | "version_check", 806 | ] 807 | 808 | [[package]] 809 | name = "proc-macro2" 810 | version = "1.0.52" 811 | source = "registry+https://github.com/rust-lang/crates.io-index" 812 | checksum = "1d0e1ae9e836cc3beddd63db0df682593d7e2d3d891ae8c9083d2113e1744224" 813 | dependencies = [ 814 | "unicode-ident", 815 | ] 816 | 817 | [[package]] 818 | name = "quote" 819 | version = "1.0.26" 820 | source = "registry+https://github.com/rust-lang/crates.io-index" 821 | checksum = "4424af4bf778aae2051a77b60283332f386554255d722233d09fbfc7e30da2fc" 822 | dependencies = [ 823 | "proc-macro2", 824 | ] 825 | 826 | [[package]] 827 | name = "rand" 828 | version = "0.8.5" 829 | source = "registry+https://github.com/rust-lang/crates.io-index" 830 | checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" 831 | dependencies = [ 832 | "libc", 833 | "rand_chacha", 834 | "rand_core", 835 | ] 836 | 837 | [[package]] 838 | name = "rand_chacha" 839 | version = "0.3.1" 840 | source = "registry+https://github.com/rust-lang/crates.io-index" 841 | checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" 842 | dependencies = [ 843 | "ppv-lite86", 844 | "rand_core", 845 | ] 846 | 847 | [[package]] 848 | name = "rand_core" 849 | version = "0.6.4" 850 | source = "registry+https://github.com/rust-lang/crates.io-index" 851 | checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" 852 | dependencies = [ 853 | "getrandom", 854 | ] 855 | 856 | [[package]] 857 | name = "redox_syscall" 858 | version = "0.2.16" 859 | source = "registry+https://github.com/rust-lang/crates.io-index" 860 | checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" 861 | dependencies = [ 862 | "bitflags", 863 | ] 864 | 865 | [[package]] 866 | name = "reqwest" 867 | version = "0.11.14" 868 | source = "registry+https://github.com/rust-lang/crates.io-index" 869 | checksum = "21eed90ec8570952d53b772ecf8f206aa1ec9a3d76b2521c56c42973f2d91ee9" 870 | dependencies = [ 871 | "base64", 872 | "bytes", 873 | "encoding_rs", 874 | "futures-core", 875 | "futures-util", 876 | "h2", 877 | "http", 878 | "http-body", 879 | "hyper", 880 | "hyper-rustls", 881 | "ipnet", 882 | "js-sys", 883 | "log", 884 | "mime", 885 | "mime_guess", 886 | "once_cell", 887 | "percent-encoding", 888 | "pin-project-lite", 889 | "rustls", 890 | "rustls-native-certs", 891 | "rustls-pemfile", 892 | "serde", 893 | "serde_json", 894 | "serde_urlencoded", 895 | "tokio", 896 | "tokio-rustls", 897 | "tokio-util", 898 | "tower-service", 899 | "url", 900 | "wasm-bindgen", 901 | "wasm-bindgen-futures", 902 | "wasm-streams", 903 | "web-sys", 904 | "winreg", 905 | ] 906 | 907 | [[package]] 908 | name = "reqwest-eventsource" 909 | version = "0.4.0" 910 | source = "registry+https://github.com/rust-lang/crates.io-index" 911 | checksum = "8f03f570355882dd8d15acc3a313841e6e90eddbc76a93c748fd82cc13ba9f51" 912 | dependencies = [ 913 | "eventsource-stream", 914 | "futures-core", 915 | "futures-timer", 916 | "mime", 917 | "nom", 918 | "pin-project-lite", 919 | "reqwest", 920 | "thiserror", 921 | ] 922 | 923 | [[package]] 924 | name = "ring" 925 | version = "0.16.20" 926 | source = "registry+https://github.com/rust-lang/crates.io-index" 927 | checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc" 928 | dependencies = [ 929 | "cc", 930 | "libc", 931 | "once_cell", 932 | "spin", 933 | "untrusted", 934 | "web-sys", 935 | "winapi", 936 | ] 937 | 938 | [[package]] 939 | name = "rustc-demangle" 940 | version = "0.1.21" 941 | source = "registry+https://github.com/rust-lang/crates.io-index" 942 | checksum = "7ef03e0a2b150c7a90d01faf6254c9c48a41e95fb2a8c2ac1c6f0d2b9aefc342" 943 | 944 | [[package]] 945 | name = "rustls" 946 | version = "0.20.8" 947 | source = "registry+https://github.com/rust-lang/crates.io-index" 948 | checksum = "fff78fc74d175294f4e83b28343315ffcfb114b156f0185e9741cb5570f50e2f" 949 | dependencies = [ 950 | "log", 951 | "ring", 952 | "sct", 953 | "webpki", 954 | ] 955 | 956 | [[package]] 957 | name = "rustls-native-certs" 958 | version = "0.6.2" 959 | source = "registry+https://github.com/rust-lang/crates.io-index" 960 | checksum = "0167bac7a9f490495f3c33013e7722b53cb087ecbe082fb0c6387c96f634ea50" 961 | dependencies = [ 962 | "openssl-probe", 963 | "rustls-pemfile", 964 | "schannel", 965 | "security-framework", 966 | ] 967 | 968 | [[package]] 969 | name = "rustls-pemfile" 970 | version = "1.0.2" 971 | source = "registry+https://github.com/rust-lang/crates.io-index" 972 | checksum = "d194b56d58803a43635bdc398cd17e383d6f71f9182b9a192c127ca42494a59b" 973 | dependencies = [ 974 | "base64", 975 | ] 976 | 977 | [[package]] 978 | name = "ryu" 979 | version = "1.0.13" 980 | source = "registry+https://github.com/rust-lang/crates.io-index" 981 | checksum = "f91339c0467de62360649f8d3e185ca8de4224ff281f66000de5eb2a77a79041" 982 | 983 | [[package]] 984 | name = "schannel" 985 | version = "0.1.21" 986 | source = "registry+https://github.com/rust-lang/crates.io-index" 987 | checksum = "713cfb06c7059f3588fb8044c0fad1d09e3c01d225e25b9220dbfdcf16dbb1b3" 988 | dependencies = [ 989 | "windows-sys 0.42.0", 990 | ] 991 | 992 | [[package]] 993 | name = "scopeguard" 994 | version = "1.1.0" 995 | source = "registry+https://github.com/rust-lang/crates.io-index" 996 | checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" 997 | 998 | [[package]] 999 | name = "sct" 1000 | version = "0.7.0" 1001 | source = "registry+https://github.com/rust-lang/crates.io-index" 1002 | checksum = "d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4" 1003 | dependencies = [ 1004 | "ring", 1005 | "untrusted", 1006 | ] 1007 | 1008 | [[package]] 1009 | name = "security-framework" 1010 | version = "2.8.2" 1011 | source = "registry+https://github.com/rust-lang/crates.io-index" 1012 | checksum = "a332be01508d814fed64bf28f798a146d73792121129962fdf335bb3c49a4254" 1013 | dependencies = [ 1014 | "bitflags", 1015 | "core-foundation", 1016 | "core-foundation-sys", 1017 | "libc", 1018 | "security-framework-sys", 1019 | ] 1020 | 1021 | [[package]] 1022 | name = "security-framework-sys" 1023 | version = "2.8.0" 1024 | source = "registry+https://github.com/rust-lang/crates.io-index" 1025 | checksum = "31c9bb296072e961fcbd8853511dd39c2d8be2deb1e17c6860b1d30732b323b4" 1026 | dependencies = [ 1027 | "core-foundation-sys", 1028 | "libc", 1029 | ] 1030 | 1031 | [[package]] 1032 | name = "serde" 1033 | version = "1.0.158" 1034 | source = "registry+https://github.com/rust-lang/crates.io-index" 1035 | checksum = "771d4d9c4163ee138805e12c710dd365e4f44be8be0503cb1bb9eb989425d9c9" 1036 | dependencies = [ 1037 | "serde_derive", 1038 | ] 1039 | 1040 | [[package]] 1041 | name = "serde_derive" 1042 | version = "1.0.158" 1043 | source = "registry+https://github.com/rust-lang/crates.io-index" 1044 | checksum = "e801c1712f48475582b7696ac71e0ca34ebb30e09338425384269d9717c62cad" 1045 | dependencies = [ 1046 | "proc-macro2", 1047 | "quote", 1048 | "syn 2.0.3", 1049 | ] 1050 | 1051 | [[package]] 1052 | name = "serde_json" 1053 | version = "1.0.94" 1054 | source = "registry+https://github.com/rust-lang/crates.io-index" 1055 | checksum = "1c533a59c9d8a93a09c6ab31f0fd5e5f4dd1b8fc9434804029839884765d04ea" 1056 | dependencies = [ 1057 | "itoa", 1058 | "ryu", 1059 | "serde", 1060 | ] 1061 | 1062 | [[package]] 1063 | name = "serde_urlencoded" 1064 | version = "0.7.1" 1065 | source = "registry+https://github.com/rust-lang/crates.io-index" 1066 | checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" 1067 | dependencies = [ 1068 | "form_urlencoded", 1069 | "itoa", 1070 | "ryu", 1071 | "serde", 1072 | ] 1073 | 1074 | [[package]] 1075 | name = "sharded-slab" 1076 | version = "0.1.4" 1077 | source = "registry+https://github.com/rust-lang/crates.io-index" 1078 | checksum = "900fba806f70c630b0a382d0d825e17a0f19fcd059a2ade1ff237bcddf446b31" 1079 | dependencies = [ 1080 | "lazy_static", 1081 | ] 1082 | 1083 | [[package]] 1084 | name = "signal-hook-registry" 1085 | version = "1.4.1" 1086 | source = "registry+https://github.com/rust-lang/crates.io-index" 1087 | checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1" 1088 | dependencies = [ 1089 | "libc", 1090 | ] 1091 | 1092 | [[package]] 1093 | name = "slab" 1094 | version = "0.4.8" 1095 | source = "registry+https://github.com/rust-lang/crates.io-index" 1096 | checksum = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d" 1097 | dependencies = [ 1098 | "autocfg", 1099 | ] 1100 | 1101 | [[package]] 1102 | name = "smallvec" 1103 | version = "1.10.0" 1104 | source = "registry+https://github.com/rust-lang/crates.io-index" 1105 | checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" 1106 | 1107 | [[package]] 1108 | name = "socket2" 1109 | version = "0.4.9" 1110 | source = "registry+https://github.com/rust-lang/crates.io-index" 1111 | checksum = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662" 1112 | dependencies = [ 1113 | "libc", 1114 | "winapi", 1115 | ] 1116 | 1117 | [[package]] 1118 | name = "spin" 1119 | version = "0.5.2" 1120 | source = "registry+https://github.com/rust-lang/crates.io-index" 1121 | checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" 1122 | 1123 | [[package]] 1124 | name = "strsim" 1125 | version = "0.8.0" 1126 | source = "registry+https://github.com/rust-lang/crates.io-index" 1127 | checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a" 1128 | 1129 | [[package]] 1130 | name = "strsim" 1131 | version = "0.10.0" 1132 | source = "registry+https://github.com/rust-lang/crates.io-index" 1133 | checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" 1134 | 1135 | [[package]] 1136 | name = "structopt" 1137 | version = "0.3.26" 1138 | source = "registry+https://github.com/rust-lang/crates.io-index" 1139 | checksum = "0c6b5c64445ba8094a6ab0c3cd2ad323e07171012d9c98b0b15651daf1787a10" 1140 | dependencies = [ 1141 | "clap", 1142 | "lazy_static", 1143 | "structopt-derive", 1144 | ] 1145 | 1146 | [[package]] 1147 | name = "structopt-derive" 1148 | version = "0.4.18" 1149 | source = "registry+https://github.com/rust-lang/crates.io-index" 1150 | checksum = "dcb5ae327f9cc13b68763b5749770cb9e048a99bd9dfdfa58d0cf05d5f64afe0" 1151 | dependencies = [ 1152 | "heck", 1153 | "proc-macro-error", 1154 | "proc-macro2", 1155 | "quote", 1156 | "syn 1.0.109", 1157 | ] 1158 | 1159 | [[package]] 1160 | name = "syn" 1161 | version = "1.0.109" 1162 | source = "registry+https://github.com/rust-lang/crates.io-index" 1163 | checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" 1164 | dependencies = [ 1165 | "proc-macro2", 1166 | "quote", 1167 | "unicode-ident", 1168 | ] 1169 | 1170 | [[package]] 1171 | name = "syn" 1172 | version = "2.0.3" 1173 | source = "registry+https://github.com/rust-lang/crates.io-index" 1174 | checksum = "e8234ae35e70582bfa0f1fedffa6daa248e41dd045310b19800c4a36382c8f60" 1175 | dependencies = [ 1176 | "proc-macro2", 1177 | "quote", 1178 | "unicode-ident", 1179 | ] 1180 | 1181 | [[package]] 1182 | name = "textwrap" 1183 | version = "0.11.0" 1184 | source = "registry+https://github.com/rust-lang/crates.io-index" 1185 | checksum = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060" 1186 | dependencies = [ 1187 | "unicode-width", 1188 | ] 1189 | 1190 | [[package]] 1191 | name = "thiserror" 1192 | version = "1.0.40" 1193 | source = "registry+https://github.com/rust-lang/crates.io-index" 1194 | checksum = "978c9a314bd8dc99be594bc3c175faaa9794be04a5a5e153caba6915336cebac" 1195 | dependencies = [ 1196 | "thiserror-impl", 1197 | ] 1198 | 1199 | [[package]] 1200 | name = "thiserror-impl" 1201 | version = "1.0.40" 1202 | source = "registry+https://github.com/rust-lang/crates.io-index" 1203 | checksum = "f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f" 1204 | dependencies = [ 1205 | "proc-macro2", 1206 | "quote", 1207 | "syn 2.0.3", 1208 | ] 1209 | 1210 | [[package]] 1211 | name = "thread_local" 1212 | version = "1.1.7" 1213 | source = "registry+https://github.com/rust-lang/crates.io-index" 1214 | checksum = "3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152" 1215 | dependencies = [ 1216 | "cfg-if", 1217 | "once_cell", 1218 | ] 1219 | 1220 | [[package]] 1221 | name = "tinyvec" 1222 | version = "1.6.0" 1223 | source = "registry+https://github.com/rust-lang/crates.io-index" 1224 | checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" 1225 | dependencies = [ 1226 | "tinyvec_macros", 1227 | ] 1228 | 1229 | [[package]] 1230 | name = "tinyvec_macros" 1231 | version = "0.1.1" 1232 | source = "registry+https://github.com/rust-lang/crates.io-index" 1233 | checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" 1234 | 1235 | [[package]] 1236 | name = "tokio" 1237 | version = "1.26.0" 1238 | source = "registry+https://github.com/rust-lang/crates.io-index" 1239 | checksum = "03201d01c3c27a29c8a5cee5b55a93ddae1ccf6f08f65365c2c918f8c1b76f64" 1240 | dependencies = [ 1241 | "autocfg", 1242 | "bytes", 1243 | "libc", 1244 | "memchr", 1245 | "mio", 1246 | "num_cpus", 1247 | "parking_lot", 1248 | "pin-project-lite", 1249 | "signal-hook-registry", 1250 | "socket2", 1251 | "tokio-macros", 1252 | "windows-sys 0.45.0", 1253 | ] 1254 | 1255 | [[package]] 1256 | name = "tokio-macros" 1257 | version = "1.8.2" 1258 | source = "registry+https://github.com/rust-lang/crates.io-index" 1259 | checksum = "d266c00fde287f55d3f1c3e96c500c362a2b8c695076ec180f27918820bc6df8" 1260 | dependencies = [ 1261 | "proc-macro2", 1262 | "quote", 1263 | "syn 1.0.109", 1264 | ] 1265 | 1266 | [[package]] 1267 | name = "tokio-rustls" 1268 | version = "0.23.4" 1269 | source = "registry+https://github.com/rust-lang/crates.io-index" 1270 | checksum = "c43ee83903113e03984cb9e5cebe6c04a5116269e900e3ddba8f068a62adda59" 1271 | dependencies = [ 1272 | "rustls", 1273 | "tokio", 1274 | "webpki", 1275 | ] 1276 | 1277 | [[package]] 1278 | name = "tokio-stream" 1279 | version = "0.1.12" 1280 | source = "registry+https://github.com/rust-lang/crates.io-index" 1281 | checksum = "8fb52b74f05dbf495a8fba459fdc331812b96aa086d9eb78101fa0d4569c3313" 1282 | dependencies = [ 1283 | "futures-core", 1284 | "pin-project-lite", 1285 | "tokio", 1286 | ] 1287 | 1288 | [[package]] 1289 | name = "tokio-util" 1290 | version = "0.7.7" 1291 | source = "registry+https://github.com/rust-lang/crates.io-index" 1292 | checksum = "5427d89453009325de0d8f342c9490009f76e999cb7672d77e46267448f7e6b2" 1293 | dependencies = [ 1294 | "bytes", 1295 | "futures-core", 1296 | "futures-sink", 1297 | "pin-project-lite", 1298 | "tokio", 1299 | "tracing", 1300 | ] 1301 | 1302 | [[package]] 1303 | name = "tower-service" 1304 | version = "0.3.2" 1305 | source = "registry+https://github.com/rust-lang/crates.io-index" 1306 | checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" 1307 | 1308 | [[package]] 1309 | name = "tracing" 1310 | version = "0.1.37" 1311 | source = "registry+https://github.com/rust-lang/crates.io-index" 1312 | checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8" 1313 | dependencies = [ 1314 | "cfg-if", 1315 | "pin-project-lite", 1316 | "tracing-attributes", 1317 | "tracing-core", 1318 | ] 1319 | 1320 | [[package]] 1321 | name = "tracing-attributes" 1322 | version = "0.1.23" 1323 | source = "registry+https://github.com/rust-lang/crates.io-index" 1324 | checksum = "4017f8f45139870ca7e672686113917c71c7a6e02d4924eda67186083c03081a" 1325 | dependencies = [ 1326 | "proc-macro2", 1327 | "quote", 1328 | "syn 1.0.109", 1329 | ] 1330 | 1331 | [[package]] 1332 | name = "tracing-core" 1333 | version = "0.1.30" 1334 | source = "registry+https://github.com/rust-lang/crates.io-index" 1335 | checksum = "24eb03ba0eab1fd845050058ce5e616558e8f8d8fca633e6b163fe25c797213a" 1336 | dependencies = [ 1337 | "once_cell", 1338 | "valuable", 1339 | ] 1340 | 1341 | [[package]] 1342 | name = "tracing-error" 1343 | version = "0.2.0" 1344 | source = "registry+https://github.com/rust-lang/crates.io-index" 1345 | checksum = "d686ec1c0f384b1277f097b2f279a2ecc11afe8c133c1aabf036a27cb4cd206e" 1346 | dependencies = [ 1347 | "tracing", 1348 | "tracing-subscriber", 1349 | ] 1350 | 1351 | [[package]] 1352 | name = "tracing-subscriber" 1353 | version = "0.3.16" 1354 | source = "registry+https://github.com/rust-lang/crates.io-index" 1355 | checksum = "a6176eae26dd70d0c919749377897b54a9276bd7061339665dd68777926b5a70" 1356 | dependencies = [ 1357 | "sharded-slab", 1358 | "thread_local", 1359 | "tracing-core", 1360 | ] 1361 | 1362 | [[package]] 1363 | name = "try-lock" 1364 | version = "0.2.4" 1365 | source = "registry+https://github.com/rust-lang/crates.io-index" 1366 | checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed" 1367 | 1368 | [[package]] 1369 | name = "unicase" 1370 | version = "2.6.0" 1371 | source = "registry+https://github.com/rust-lang/crates.io-index" 1372 | checksum = "50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6" 1373 | dependencies = [ 1374 | "version_check", 1375 | ] 1376 | 1377 | [[package]] 1378 | name = "unicode-bidi" 1379 | version = "0.3.12" 1380 | source = "registry+https://github.com/rust-lang/crates.io-index" 1381 | checksum = "7d502c968c6a838ead8e69b2ee18ec708802f99db92a0d156705ec9ef801993b" 1382 | 1383 | [[package]] 1384 | name = "unicode-ident" 1385 | version = "1.0.8" 1386 | source = "registry+https://github.com/rust-lang/crates.io-index" 1387 | checksum = "e5464a87b239f13a63a501f2701565754bae92d243d4bb7eb12f6d57d2269bf4" 1388 | 1389 | [[package]] 1390 | name = "unicode-normalization" 1391 | version = "0.1.22" 1392 | source = "registry+https://github.com/rust-lang/crates.io-index" 1393 | checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" 1394 | dependencies = [ 1395 | "tinyvec", 1396 | ] 1397 | 1398 | [[package]] 1399 | name = "unicode-segmentation" 1400 | version = "1.10.1" 1401 | source = "registry+https://github.com/rust-lang/crates.io-index" 1402 | checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36" 1403 | 1404 | [[package]] 1405 | name = "unicode-width" 1406 | version = "0.1.10" 1407 | source = "registry+https://github.com/rust-lang/crates.io-index" 1408 | checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b" 1409 | 1410 | [[package]] 1411 | name = "untrusted" 1412 | version = "0.7.1" 1413 | source = "registry+https://github.com/rust-lang/crates.io-index" 1414 | checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" 1415 | 1416 | [[package]] 1417 | name = "url" 1418 | version = "2.3.1" 1419 | source = "registry+https://github.com/rust-lang/crates.io-index" 1420 | checksum = "0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643" 1421 | dependencies = [ 1422 | "form_urlencoded", 1423 | "idna", 1424 | "percent-encoding", 1425 | ] 1426 | 1427 | [[package]] 1428 | name = "valuable" 1429 | version = "0.1.0" 1430 | source = "registry+https://github.com/rust-lang/crates.io-index" 1431 | checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" 1432 | 1433 | [[package]] 1434 | name = "vec_map" 1435 | version = "0.8.2" 1436 | source = "registry+https://github.com/rust-lang/crates.io-index" 1437 | checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191" 1438 | 1439 | [[package]] 1440 | name = "version_check" 1441 | version = "0.9.4" 1442 | source = "registry+https://github.com/rust-lang/crates.io-index" 1443 | checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" 1444 | 1445 | [[package]] 1446 | name = "want" 1447 | version = "0.3.0" 1448 | source = "registry+https://github.com/rust-lang/crates.io-index" 1449 | checksum = "1ce8a968cb1cd110d136ff8b819a556d6fb6d919363c61534f6860c7eb172ba0" 1450 | dependencies = [ 1451 | "log", 1452 | "try-lock", 1453 | ] 1454 | 1455 | [[package]] 1456 | name = "wasi" 1457 | version = "0.11.0+wasi-snapshot-preview1" 1458 | source = "registry+https://github.com/rust-lang/crates.io-index" 1459 | checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" 1460 | 1461 | [[package]] 1462 | name = "wasm-bindgen" 1463 | version = "0.2.84" 1464 | source = "registry+https://github.com/rust-lang/crates.io-index" 1465 | checksum = "31f8dcbc21f30d9b8f2ea926ecb58f6b91192c17e9d33594b3df58b2007ca53b" 1466 | dependencies = [ 1467 | "cfg-if", 1468 | "wasm-bindgen-macro", 1469 | ] 1470 | 1471 | [[package]] 1472 | name = "wasm-bindgen-backend" 1473 | version = "0.2.84" 1474 | source = "registry+https://github.com/rust-lang/crates.io-index" 1475 | checksum = "95ce90fd5bcc06af55a641a86428ee4229e44e07033963a2290a8e241607ccb9" 1476 | dependencies = [ 1477 | "bumpalo", 1478 | "log", 1479 | "once_cell", 1480 | "proc-macro2", 1481 | "quote", 1482 | "syn 1.0.109", 1483 | "wasm-bindgen-shared", 1484 | ] 1485 | 1486 | [[package]] 1487 | name = "wasm-bindgen-futures" 1488 | version = "0.4.34" 1489 | source = "registry+https://github.com/rust-lang/crates.io-index" 1490 | checksum = "f219e0d211ba40266969f6dbdd90636da12f75bee4fc9d6c23d1260dadb51454" 1491 | dependencies = [ 1492 | "cfg-if", 1493 | "js-sys", 1494 | "wasm-bindgen", 1495 | "web-sys", 1496 | ] 1497 | 1498 | [[package]] 1499 | name = "wasm-bindgen-macro" 1500 | version = "0.2.84" 1501 | source = "registry+https://github.com/rust-lang/crates.io-index" 1502 | checksum = "4c21f77c0bedc37fd5dc21f897894a5ca01e7bb159884559461862ae90c0b4c5" 1503 | dependencies = [ 1504 | "quote", 1505 | "wasm-bindgen-macro-support", 1506 | ] 1507 | 1508 | [[package]] 1509 | name = "wasm-bindgen-macro-support" 1510 | version = "0.2.84" 1511 | source = "registry+https://github.com/rust-lang/crates.io-index" 1512 | checksum = "2aff81306fcac3c7515ad4e177f521b5c9a15f2b08f4e32d823066102f35a5f6" 1513 | dependencies = [ 1514 | "proc-macro2", 1515 | "quote", 1516 | "syn 1.0.109", 1517 | "wasm-bindgen-backend", 1518 | "wasm-bindgen-shared", 1519 | ] 1520 | 1521 | [[package]] 1522 | name = "wasm-bindgen-shared" 1523 | version = "0.2.84" 1524 | source = "registry+https://github.com/rust-lang/crates.io-index" 1525 | checksum = "0046fef7e28c3804e5e38bfa31ea2a0f73905319b677e57ebe37e49358989b5d" 1526 | 1527 | [[package]] 1528 | name = "wasm-streams" 1529 | version = "0.2.3" 1530 | source = "registry+https://github.com/rust-lang/crates.io-index" 1531 | checksum = "6bbae3363c08332cadccd13b67db371814cd214c2524020932f0804b8cf7c078" 1532 | dependencies = [ 1533 | "futures-util", 1534 | "js-sys", 1535 | "wasm-bindgen", 1536 | "wasm-bindgen-futures", 1537 | "web-sys", 1538 | ] 1539 | 1540 | [[package]] 1541 | name = "web-sys" 1542 | version = "0.3.61" 1543 | source = "registry+https://github.com/rust-lang/crates.io-index" 1544 | checksum = "e33b99f4b23ba3eec1a53ac264e35a755f00e966e0065077d6027c0f575b0b97" 1545 | dependencies = [ 1546 | "js-sys", 1547 | "wasm-bindgen", 1548 | ] 1549 | 1550 | [[package]] 1551 | name = "webpki" 1552 | version = "0.22.0" 1553 | source = "registry+https://github.com/rust-lang/crates.io-index" 1554 | checksum = "f095d78192e208183081cc07bc5515ef55216397af48b873e5edcd72637fa1bd" 1555 | dependencies = [ 1556 | "ring", 1557 | "untrusted", 1558 | ] 1559 | 1560 | [[package]] 1561 | name = "winapi" 1562 | version = "0.3.9" 1563 | source = "registry+https://github.com/rust-lang/crates.io-index" 1564 | checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" 1565 | dependencies = [ 1566 | "winapi-i686-pc-windows-gnu", 1567 | "winapi-x86_64-pc-windows-gnu", 1568 | ] 1569 | 1570 | [[package]] 1571 | name = "winapi-i686-pc-windows-gnu" 1572 | version = "0.4.0" 1573 | source = "registry+https://github.com/rust-lang/crates.io-index" 1574 | checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" 1575 | 1576 | [[package]] 1577 | name = "winapi-x86_64-pc-windows-gnu" 1578 | version = "0.4.0" 1579 | source = "registry+https://github.com/rust-lang/crates.io-index" 1580 | checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" 1581 | 1582 | [[package]] 1583 | name = "windows-sys" 1584 | version = "0.42.0" 1585 | source = "registry+https://github.com/rust-lang/crates.io-index" 1586 | checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7" 1587 | dependencies = [ 1588 | "windows_aarch64_gnullvm", 1589 | "windows_aarch64_msvc", 1590 | "windows_i686_gnu", 1591 | "windows_i686_msvc", 1592 | "windows_x86_64_gnu", 1593 | "windows_x86_64_gnullvm", 1594 | "windows_x86_64_msvc", 1595 | ] 1596 | 1597 | [[package]] 1598 | name = "windows-sys" 1599 | version = "0.45.0" 1600 | source = "registry+https://github.com/rust-lang/crates.io-index" 1601 | checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" 1602 | dependencies = [ 1603 | "windows-targets", 1604 | ] 1605 | 1606 | [[package]] 1607 | name = "windows-targets" 1608 | version = "0.42.2" 1609 | source = "registry+https://github.com/rust-lang/crates.io-index" 1610 | checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" 1611 | dependencies = [ 1612 | "windows_aarch64_gnullvm", 1613 | "windows_aarch64_msvc", 1614 | "windows_i686_gnu", 1615 | "windows_i686_msvc", 1616 | "windows_x86_64_gnu", 1617 | "windows_x86_64_gnullvm", 1618 | "windows_x86_64_msvc", 1619 | ] 1620 | 1621 | [[package]] 1622 | name = "windows_aarch64_gnullvm" 1623 | version = "0.42.2" 1624 | source = "registry+https://github.com/rust-lang/crates.io-index" 1625 | checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" 1626 | 1627 | [[package]] 1628 | name = "windows_aarch64_msvc" 1629 | version = "0.42.2" 1630 | source = "registry+https://github.com/rust-lang/crates.io-index" 1631 | checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" 1632 | 1633 | [[package]] 1634 | name = "windows_i686_gnu" 1635 | version = "0.42.2" 1636 | source = "registry+https://github.com/rust-lang/crates.io-index" 1637 | checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" 1638 | 1639 | [[package]] 1640 | name = "windows_i686_msvc" 1641 | version = "0.42.2" 1642 | source = "registry+https://github.com/rust-lang/crates.io-index" 1643 | checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" 1644 | 1645 | [[package]] 1646 | name = "windows_x86_64_gnu" 1647 | version = "0.42.2" 1648 | source = "registry+https://github.com/rust-lang/crates.io-index" 1649 | checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" 1650 | 1651 | [[package]] 1652 | name = "windows_x86_64_gnullvm" 1653 | version = "0.42.2" 1654 | source = "registry+https://github.com/rust-lang/crates.io-index" 1655 | checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" 1656 | 1657 | [[package]] 1658 | name = "windows_x86_64_msvc" 1659 | version = "0.42.2" 1660 | source = "registry+https://github.com/rust-lang/crates.io-index" 1661 | checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" 1662 | 1663 | [[package]] 1664 | name = "winreg" 1665 | version = "0.10.1" 1666 | source = "registry+https://github.com/rust-lang/crates.io-index" 1667 | checksum = "80d0f4e272c85def139476380b12f9ac60926689dd2e01d4923222f40580869d" 1668 | dependencies = [ 1669 | "winapi", 1670 | ] 1671 | --------------------------------------------------------------------------------