git: ac0274dfb75a - main - net/sendme: New port: A tool to send files and directories, based on iroh

From: Mark Felder <feld_at_FreeBSD.org>
Date: Fri, 11 Apr 2025 18:43:46 UTC
The branch main has been updated by feld:

URL: https://cgit.FreeBSD.org/ports/commit/?id=ac0274dfb75aaa5e2204f3be711a5a8f7fa0832e

commit ac0274dfb75aaa5e2204f3be711a5a8f7fa0832e
Author:     Mark Felder <feld@FreeBSD.org>
AuthorDate: 2025-04-11 18:40:37 +0000
Commit:     Mark Felder <feld@FreeBSD.org>
CommitDate: 2025-04-11 18:43:04 +0000

    net/sendme: New port: A tool to send files and directories, based on iroh
    
    Add some files to sendme, and it will give you a pasteable ticket that
    you can give to anyone who needs your files. Sendme will connect your
    devices directly & transfer the data without any accounts or
    configuration.
---
 net/Makefile               |    1 +
 net/sendme/Makefile        |   21 +
 net/sendme/Makefile.crates |  573 ++++++++++++++++++++++
 net/sendme/distinfo        | 1149 ++++++++++++++++++++++++++++++++++++++++++++
 net/sendme/pkg-descr       |    4 +
 5 files changed, 1748 insertions(+)

diff --git a/net/Makefile b/net/Makefile
index bc608af4341f..0e2025ec7f1b 100644
--- a/net/Makefile
+++ b/net/Makefile
@@ -1497,6 +1497,7 @@
     SUBDIR += self-service-password
     SUBDIR += sems
     SUBDIR += sendemail
+    SUBDIR += sendme
     SUBDIR += sendsms
     SUBDIR += sendsnpp
     SUBDIR += serveez
diff --git a/net/sendme/Makefile b/net/sendme/Makefile
new file mode 100644
index 000000000000..0927028ffa27
--- /dev/null
+++ b/net/sendme/Makefile
@@ -0,0 +1,21 @@
+PORTNAME=		sendme
+DISTVERSIONPREFIX=	v
+DISTVERSION=		0.25.0
+CATEGORIES=		net
+
+MAINTAINER=		feld@FreeBSD.org
+COMMENT=		Like scp without needing to know the IP address
+WWW=			https://www.iroh.computer/sendme
+
+LICENSE=		APACHE20 MIT
+LICENSE_COMB=	dual
+LICENSE_FILE_APACHE20=	LICENSE-APACHE
+LICENSE_FILE_MIT=	LICENSE-MIT
+
+USES=		cargo
+USE_GITHUB=	yes
+GH_ACCOUNT=	n0-computer
+
+PLIST_FILES=	bin/sendme
+
+.include <bsd.port.mk>
diff --git a/net/sendme/Makefile.crates b/net/sendme/Makefile.crates
new file mode 100644
index 000000000000..f26a79425476
--- /dev/null
+++ b/net/sendme/Makefile.crates
@@ -0,0 +1,573 @@
+CARGO_CRATES=	addr2line-0.24.2 \
+		adler2-2.0.0 \
+		aead-0.5.2 \
+		ahash-0.8.11 \
+		aho-corasick-1.1.3 \
+		allocator-api2-0.2.21 \
+		android-tzdata-0.1.1 \
+		android_system_properties-0.1.5 \
+		anstream-0.6.18 \
+		anstyle-1.0.10 \
+		anstyle-parse-0.2.6 \
+		anstyle-query-1.1.2 \
+		anstyle-wincon-3.0.7 \
+		anyhow-1.0.95 \
+		arboard-3.4.1 \
+		arrayref-0.3.9 \
+		arrayvec-0.7.6 \
+		asn1-rs-0.6.2 \
+		asn1-rs-derive-0.5.1 \
+		asn1-rs-impl-0.2.0 \
+		async-channel-2.3.1 \
+		async-recursion-1.1.1 \
+		async-trait-0.1.86 \
+		atomic-waker-1.1.2 \
+		attohttpc-0.24.1 \
+		autocfg-1.4.0 \
+		backon-1.4.0 \
+		backtrace-0.3.74 \
+		bao-tree-0.13.0 \
+		base16ct-0.2.0 \
+		base64-0.22.1 \
+		base64ct-1.6.0 \
+		binary-merge-0.1.2 \
+		bitflags-1.3.2 \
+		bitflags-2.8.0 \
+		block-buffer-0.10.4 \
+		block2-0.5.1 \
+		bounded-integer-0.5.8 \
+		bumpalo-3.17.0 \
+		bytemuck-1.21.0 \
+		byteorder-1.5.0 \
+		byteorder-lite-0.1.0 \
+		bytes-1.10.0 \
+		cc-1.2.14 \
+		cesu8-1.1.0 \
+		cfg-if-1.0.0 \
+		cfg_aliases-0.2.1 \
+		chacha20-0.9.1 \
+		chrono-0.4.39 \
+		cipher-0.4.4 \
+		clap-4.5.29 \
+		clap_builder-4.5.29 \
+		clap_derive-4.5.28 \
+		clap_lex-0.7.4 \
+		clipboard-win-5.4.0 \
+		cobs-0.2.3 \
+		colorchoice-1.0.3 \
+		combine-4.6.7 \
+		concurrent-queue-2.5.0 \
+		console-0.15.10 \
+		const-oid-0.9.6 \
+		constant_time_eq-0.3.1 \
+		cordyceps-0.3.2 \
+		core-foundation-0.9.4 \
+		core-foundation-0.10.0 \
+		core-foundation-sys-0.8.7 \
+		core-graphics-0.23.2 \
+		core-graphics-types-0.1.3 \
+		cpufeatures-0.2.17 \
+		crc-3.2.1 \
+		crc-catalog-2.4.0 \
+		crc32fast-1.4.2 \
+		crossbeam-channel-0.5.14 \
+		crossbeam-epoch-0.9.18 \
+		crossbeam-utils-0.8.21 \
+		crypto-bigint-0.5.5 \
+		crypto-common-0.1.6 \
+		crypto_box-0.9.1 \
+		crypto_secretbox-0.1.1 \
+		curve25519-dalek-4.1.3 \
+		curve25519-dalek-derive-0.1.1 \
+		data-encoding-2.8.0 \
+		der-0.7.9 \
+		der-parser-9.0.0 \
+		der_derive-0.7.3 \
+		deranged-0.3.11 \
+		derive_more-1.0.0 \
+		derive_more-impl-1.0.0 \
+		diatomic-waker-0.2.3 \
+		digest-0.10.7 \
+		displaydoc-0.2.5 \
+		dlopen2-0.5.0 \
+		document-features-0.2.10 \
+		dtoa-1.0.9 \
+		duct-0.13.7 \
+		ecdsa-0.16.9 \
+		ed25519-2.2.3 \
+		ed25519-dalek-2.1.1 \
+		elliptic-curve-0.13.8 \
+		embedded-io-0.4.0 \
+		embedded-io-0.6.1 \
+		encode_unicode-1.0.0 \
+		enum-as-inner-0.6.1 \
+		enumflags2-0.7.11 \
+		enumflags2_derive-0.7.11 \
+		equivalent-1.0.2 \
+		erased-serde-0.3.31 \
+		erased_set-0.8.0 \
+		errno-0.3.10 \
+		error-code-3.3.1 \
+		event-listener-5.4.0 \
+		event-listener-strategy-0.5.3 \
+		fallible-iterator-0.3.0 \
+		fastrand-2.3.0 \
+		fdeflate-0.3.7 \
+		ff-0.13.1 \
+		fiat-crypto-0.2.9 \
+		flate2-1.0.35 \
+		flume-0.11.1 \
+		fnv-1.0.7 \
+		foldhash-0.1.4 \
+		foreign-types-0.5.0 \
+		foreign-types-macros-0.2.3 \
+		foreign-types-shared-0.3.1 \
+		form_urlencoded-1.2.1 \
+		futures-0.3.31 \
+		futures-buffered-0.2.9 \
+		futures-channel-0.3.31 \
+		futures-core-0.3.31 \
+		futures-executor-0.3.31 \
+		futures-io-0.3.31 \
+		futures-lite-2.6.0 \
+		futures-macro-0.3.31 \
+		futures-sink-0.3.31 \
+		futures-task-0.3.31 \
+		futures-util-0.3.31 \
+		genawaiter-0.99.1 \
+		genawaiter-macro-0.99.1 \
+		genawaiter-proc-macro-0.99.1 \
+		generator-0.7.5 \
+		generator-0.8.4 \
+		generic-array-0.14.7 \
+		gethostname-0.4.3 \
+		getrandom-0.2.15 \
+		getrandom-0.3.1 \
+		gimli-0.31.1 \
+		glob-0.3.2 \
+		gloo-timers-0.3.0 \
+		group-0.13.0 \
+		h2-0.4.7 \
+		hashbrown-0.14.5 \
+		hashbrown-0.15.2 \
+		hashlink-0.9.1 \
+		heck-0.5.0 \
+		hermit-abi-0.3.9 \
+		hex-0.4.3 \
+		hickory-proto-0.25.0-alpha.5 \
+		hickory-resolver-0.25.0-alpha.5 \
+		hmac-0.12.1 \
+		hmac-sha1-0.2.2 \
+		hmac-sha256-1.1.8 \
+		hostname-0.3.1 \
+		hostname-validator-1.1.1 \
+		http-0.2.12 \
+		http-1.2.0 \
+		http-body-1.0.1 \
+		http-body-util-0.1.2 \
+		httparse-1.10.0 \
+		httpdate-1.0.3 \
+		hyper-1.6.0 \
+		hyper-rustls-0.27.5 \
+		hyper-util-0.1.10 \
+		iana-time-zone-0.1.61 \
+		iana-time-zone-haiku-0.1.2 \
+		icu_collections-1.5.0 \
+		icu_locid-1.5.0 \
+		icu_locid_transform-1.5.0 \
+		icu_locid_transform_data-1.5.0 \
+		icu_normalizer-1.5.0 \
+		icu_normalizer_data-1.5.0 \
+		icu_properties-1.5.1 \
+		icu_properties_data-1.5.0 \
+		icu_provider-1.5.0 \
+		icu_provider_macros-1.5.0 \
+		idna-1.0.3 \
+		idna_adapter-1.2.0 \
+		igd-next-0.15.1 \
+		image-0.25.5 \
+		indexmap-2.7.1 \
+		indicatif-0.17.11 \
+		inout-0.1.3 \
+		inplace-vec-builder-0.1.1 \
+		instant-0.1.13 \
+		ipconfig-0.3.2 \
+		ipnet-2.11.0 \
+		iroh-0.34.0 \
+		iroh-base-0.34.0 \
+		iroh-blake3-1.4.5 \
+		iroh-blobs-0.34.0 \
+		iroh-io-0.6.1 \
+		iroh-metrics-0.32.0 \
+		iroh-net-report-0.34.0 \
+		iroh-quinn-0.13.0 \
+		iroh-quinn-proto-0.13.0 \
+		iroh-quinn-udp-0.5.7 \
+		iroh-relay-0.34.0 \
+		is_terminal_polyfill-1.70.1 \
+		itoa-1.0.14 \
+		jni-0.21.1 \
+		jni-sys-0.3.0 \
+		jpeg-decoder-0.3.1 \
+		js-sys-0.3.77 \
+		lazy_static-1.5.0 \
+		libc-0.2.169 \
+		libm-0.2.11 \
+		linux-raw-sys-0.4.15 \
+		litemap-0.7.4 \
+		litrs-0.4.1 \
+		lock_api-0.4.12 \
+		log-0.4.25 \
+		loom-0.5.6 \
+		loom-0.7.2 \
+		lru-0.12.5 \
+		match_cfg-0.1.0 \
+		matchers-0.1.0 \
+		md5-0.7.0 \
+		memchr-2.7.4 \
+		mime-0.3.17 \
+		minimal-lexical-0.2.1 \
+		miniz_oxide-0.8.4 \
+		mio-1.0.3 \
+		moka-0.12.10 \
+		n0-future-0.1.2 \
+		nanorand-0.7.0 \
+		nested_enum_utils-0.1.0 \
+		netdev-0.31.0 \
+		netlink-packet-core-0.7.0 \
+		netlink-packet-route-0.17.1 \
+		netlink-packet-route-0.19.0 \
+		netlink-packet-utils-0.5.2 \
+		netlink-proto-0.11.5 \
+		netlink-sys-0.8.7 \
+		netwatch-0.3.0 \
+		netwatch-0.4.0 \
+		nix-0.26.4 \
+		nix-0.27.1 \
+		nix-0.29.0 \
+		no-std-net-0.6.0 \
+		nom-7.1.3 \
+		nu-ansi-term-0.46.0 \
+		num-bigint-0.4.6 \
+		num-bigint-dig-0.8.4 \
+		num-conv-0.1.0 \
+		num-integer-0.1.46 \
+		num-iter-0.1.45 \
+		num-traits-0.2.19 \
+		num_cpus-1.16.0 \
+		num_enum-0.7.3 \
+		num_enum_derive-0.7.3 \
+		number_prefix-0.4.0 \
+		objc-sys-0.3.5 \
+		objc2-0.5.2 \
+		objc2-app-kit-0.2.2 \
+		objc2-core-data-0.2.2 \
+		objc2-core-image-0.2.2 \
+		objc2-encode-4.1.0 \
+		objc2-foundation-0.2.2 \
+		objc2-metal-0.2.2 \
+		objc2-quartz-core-0.2.2 \
+		object-0.36.7 \
+		oid-registry-0.7.1 \
+		once_cell-1.20.3 \
+		oneshot-0.1.10 \
+		opaque-debug-0.3.1 \
+		openssl-probe-0.1.6 \
+		os_pipe-1.2.1 \
+		overload-0.1.1 \
+		p256-0.13.2 \
+		p384-0.13.1 \
+		p521-0.13.3 \
+		parking-2.2.1 \
+		parking_lot-0.12.3 \
+		parking_lot_core-0.9.10 \
+		paste-1.0.15 \
+		pem-3.0.4 \
+		pem-rfc7468-0.7.0 \
+		percent-encoding-2.3.1 \
+		pest-2.7.15 \
+		pest_derive-2.7.15 \
+		pest_generator-2.7.15 \
+		pest_meta-2.7.15 \
+		pin-project-1.1.9 \
+		pin-project-internal-1.1.9 \
+		pin-project-lite-0.2.16 \
+		pin-utils-0.1.0 \
+		pkarr-2.3.1 \
+		pkcs1-0.7.5 \
+		pkcs8-0.10.2 \
+		pnet_base-0.34.0 \
+		pnet_macros-0.34.0 \
+		pnet_macros_support-0.34.0 \
+		pnet_packet-0.34.0 \
+		png-0.17.16 \
+		poly1305-0.8.0 \
+		portable-atomic-1.10.0 \
+		portmapper-0.4.0 \
+		positioned-io-0.3.3 \
+		postcard-1.1.1 \
+		postcard-derive-0.1.2 \
+		powerfmt-0.2.0 \
+		ppv-lite86-0.2.20 \
+		precis-core-0.1.10 \
+		precis-profiles-0.1.11 \
+		precis-tools-0.1.8 \
+		primeorder-0.13.6 \
+		proc-macro-crate-3.2.0 \
+		proc-macro-error-0.4.12 \
+		proc-macro-error-attr-0.4.12 \
+		proc-macro-hack-0.5.20+deprecated \
+		proc-macro2-1.0.93 \
+		prometheus-client-0.22.3 \
+		prometheus-client-derive-encode-0.4.2 \
+		quic-rpc-0.19.0 \
+		quic-rpc-derive-0.19.0 \
+		quick-error-1.2.3 \
+		quinn-0.11.6 \
+		quinn-proto-0.11.9 \
+		quinn-udp-0.5.10 \
+		quote-1.0.38 \
+		quoted-string-parser-0.1.0 \
+		rand-0.8.5 \
+		rand-0.9.0 \
+		rand_chacha-0.3.1 \
+		rand_chacha-0.9.0 \
+		rand_core-0.6.4 \
+		rand_core-0.9.0 \
+		range-collections-0.4.5 \
+		rcgen-0.13.2 \
+		redb-2.4.0 \
+		redox_syscall-0.5.8 \
+		ref-cast-1.0.23 \
+		ref-cast-impl-1.0.23 \
+		reflink-copy-0.1.23 \
+		regex-1.11.1 \
+		regex-automata-0.1.10 \
+		regex-automata-0.4.9 \
+		regex-lite-0.1.6 \
+		regex-syntax-0.6.29 \
+		regex-syntax-0.8.5 \
+		reqwest-0.12.12 \
+		resolv-conf-0.7.0 \
+		rfc6979-0.4.0 \
+		ring-0.17.9 \
+		rsa-0.9.8 \
+		rtnetlink-0.13.1 \
+		rtnetlink-0.14.1 \
+		rustc-demangle-0.1.24 \
+		rustc-hash-2.1.1 \
+		rustc_version-0.4.1 \
+		rusticata-macros-4.1.0 \
+		rustix-0.38.44 \
+		rustls-0.23.23 \
+		rustls-native-certs-0.8.1 \
+		rustls-pemfile-2.2.0 \
+		rustls-pki-types-1.11.0 \
+		rustls-platform-verifier-0.5.0 \
+		rustls-platform-verifier-android-0.1.1 \
+		rustls-webpki-0.102.8 \
+		rustversion-1.0.19 \
+		ryu-1.0.19 \
+		salsa20-0.10.2 \
+		same-file-1.0.6 \
+		schannel-0.1.27 \
+		scoped-tls-1.0.1 \
+		scopeguard-1.2.0 \
+		sec1-0.7.3 \
+		security-framework-3.2.0 \
+		security-framework-sys-2.14.0 \
+		self_cell-1.1.0 \
+		semver-1.0.25 \
+		send_wrapper-0.6.0 \
+		serde-1.0.217 \
+		serde-error-0.1.3 \
+		serde_derive-1.0.217 \
+		serde_json-1.0.138 \
+		serde_urlencoded-0.7.1 \
+		serdect-0.2.0 \
+		sha1-0.10.6 \
+		sha2-0.10.8 \
+		sharded-slab-0.1.7 \
+		shared_child-1.0.1 \
+		shlex-1.3.0 \
+		signal-hook-registry-1.4.2 \
+		signature-2.2.0 \
+		simd-adler32-0.3.7 \
+		simple-dns-0.9.3 \
+		slab-0.4.9 \
+		smallvec-1.13.2 \
+		socket2-0.5.8 \
+		spin-0.9.8 \
+		spki-0.7.3 \
+		ssh-cipher-0.2.0 \
+		ssh-encoding-0.2.0 \
+		ssh-key-0.6.7 \
+		stable_deref_trait-1.2.0 \
+		strsim-0.11.1 \
+		struct_iterable-0.1.1 \
+		struct_iterable_derive-0.1.0 \
+		struct_iterable_internal-0.1.1 \
+		strum-0.26.3 \
+		strum_macros-0.26.4 \
+		stun-rs-0.1.9 \
+		subtle-2.6.1 \
+		surge-ping-0.8.1 \
+		syn-1.0.109 \
+		syn-2.0.98 \
+		syn-mid-0.5.4 \
+		sync_wrapper-1.0.2 \
+		synstructure-0.13.1 \
+		system-configuration-0.6.1 \
+		system-configuration-sys-0.6.0 \
+		tagptr-0.2.0 \
+		tempfile-3.16.0 \
+		thiserror-1.0.69 \
+		thiserror-2.0.11 \
+		thiserror-impl-1.0.69 \
+		thiserror-impl-2.0.11 \
+		thread_local-1.1.8 \
+		tiff-0.9.1 \
+		time-0.3.37 \
+		time-core-0.1.2 \
+		time-macros-0.2.19 \
+		tinystr-0.7.6 \
+		tinyvec-1.8.1 \
+		tinyvec_macros-0.1.1 \
+		tokio-1.43.0 \
+		tokio-macros-2.5.0 \
+		tokio-rustls-0.26.1 \
+		tokio-stream-0.1.17 \
+		tokio-tungstenite-0.24.0 \
+		tokio-tungstenite-wasm-0.4.0 \
+		tokio-util-0.7.13 \
+		toml_datetime-0.6.8 \
+		toml_edit-0.22.24 \
+		tower-0.5.2 \
+		tower-layer-0.3.3 \
+		tower-service-0.3.3 \
+		tracing-0.1.41 \
+		tracing-attributes-0.1.28 \
+		tracing-core-0.1.33 \
+		tracing-futures-0.2.5 \
+		tracing-log-0.2.0 \
+		tracing-subscriber-0.3.19 \
+		tracing-test-0.2.5 \
+		tracing-test-macro-0.2.5 \
+		try-lock-0.2.5 \
+		tungstenite-0.24.0 \
+		typenum-1.17.0 \
+		ucd-parse-0.1.13 \
+		ucd-trie-0.1.7 \
+		unicode-ident-1.0.16 \
+		unicode-normalization-0.1.24 \
+		unicode-width-0.2.0 \
+		unicode-xid-0.2.6 \
+		universal-hash-0.5.1 \
+		untrusted-0.9.0 \
+		ureq-2.12.1 \
+		url-2.5.4 \
+		utf-8-0.7.6 \
+		utf16_iter-1.0.5 \
+		utf8_iter-1.0.4 \
+		utf8parse-0.2.2 \
+		uuid-1.13.1 \
+		valuable-0.1.1 \
+		version_check-0.9.5 \
+		walkdir-2.5.0 \
+		want-0.3.1 \
+		wasi-0.11.0+wasi-snapshot-preview1 \
+		wasi-0.13.3+wasi-0.2.2 \
+		wasm-bindgen-0.2.100 \
+		wasm-bindgen-backend-0.2.100 \
+		wasm-bindgen-futures-0.4.50 \
+		wasm-bindgen-macro-0.2.100 \
+		wasm-bindgen-macro-support-0.2.100 \
+		wasm-bindgen-shared-0.2.100 \
+		wasm-streams-0.4.2 \
+		web-sys-0.3.77 \
+		web-time-1.1.0 \
+		webpki-root-certs-0.26.8 \
+		webpki-roots-0.26.8 \
+		weezl-0.1.8 \
+		widestring-1.1.0 \
+		winapi-0.3.9 \
+		winapi-i686-pc-windows-gnu-0.4.0 \
+		winapi-util-0.1.9 \
+		winapi-x86_64-pc-windows-gnu-0.4.0 \
+		windows-0.48.0 \
+		windows-0.58.0 \
+		windows-0.59.0 \
+		windows-core-0.52.0 \
+		windows-core-0.58.0 \
+		windows-core-0.59.0 \
+		windows-implement-0.58.0 \
+		windows-implement-0.59.0 \
+		windows-interface-0.58.0 \
+		windows-interface-0.59.0 \
+		windows-registry-0.2.0 \
+		windows-result-0.2.0 \
+		windows-result-0.3.0 \
+		windows-strings-0.1.0 \
+		windows-strings-0.3.0 \
+		windows-sys-0.45.0 \
+		windows-sys-0.48.0 \
+		windows-sys-0.52.0 \
+		windows-sys-0.59.0 \
+		windows-targets-0.42.2 \
+		windows-targets-0.48.5 \
+		windows-targets-0.52.6 \
+		windows-targets-0.53.0 \
+		windows_aarch64_gnullvm-0.42.2 \
+		windows_aarch64_gnullvm-0.48.5 \
+		windows_aarch64_gnullvm-0.52.6 \
+		windows_aarch64_gnullvm-0.53.0 \
+		windows_aarch64_msvc-0.42.2 \
+		windows_aarch64_msvc-0.48.5 \
+		windows_aarch64_msvc-0.52.6 \
+		windows_aarch64_msvc-0.53.0 \
+		windows_i686_gnu-0.42.2 \
+		windows_i686_gnu-0.48.5 \
+		windows_i686_gnu-0.52.6 \
+		windows_i686_gnu-0.53.0 \
+		windows_i686_gnullvm-0.52.6 \
+		windows_i686_gnullvm-0.53.0 \
+		windows_i686_msvc-0.42.2 \
+		windows_i686_msvc-0.48.5 \
+		windows_i686_msvc-0.52.6 \
+		windows_i686_msvc-0.53.0 \
+		windows_x86_64_gnu-0.42.2 \
+		windows_x86_64_gnu-0.48.5 \
+		windows_x86_64_gnu-0.52.6 \
+		windows_x86_64_gnu-0.53.0 \
+		windows_x86_64_gnullvm-0.42.2 \
+		windows_x86_64_gnullvm-0.48.5 \
+		windows_x86_64_gnullvm-0.52.6 \
+		windows_x86_64_gnullvm-0.53.0 \
+		windows_x86_64_msvc-0.42.2 \
+		windows_x86_64_msvc-0.48.5 \
+		windows_x86_64_msvc-0.52.6 \
+		windows_x86_64_msvc-0.53.0 \
+		winnow-0.7.2 \
+		winreg-0.50.0 \
+		wit-bindgen-rt-0.33.0 \
+		wmi-0.14.5 \
+		write16-1.0.0 \
+		writeable-0.5.5 \
+		x11rb-0.13.1 \
+		x11rb-protocol-0.13.1 \
+		x509-parser-0.16.0 \
+		xml-rs-0.8.25 \
+		xmltree-0.10.3 \
+		yasna-0.5.2 \
+		yoke-0.7.5 \
+		yoke-derive-0.7.5 \
+		z32-1.3.0 \
+		zerocopy-0.7.35 \
+		zerocopy-0.8.18 \
+		zerocopy-derive-0.7.35 \
+		zerocopy-derive-0.8.18 \
+		zerofrom-0.1.5 \
+		zerofrom-derive-0.1.5 \
+		zeroize-1.8.1 \
+		zerovec-0.10.4 \
+		zerovec-derive-0.10.3
diff --git a/net/sendme/distinfo b/net/sendme/distinfo
new file mode 100644
index 000000000000..ce13813d30d5
--- /dev/null
+++ b/net/sendme/distinfo
@@ -0,0 +1,1149 @@
+TIMESTAMP = 1744348485
+SHA256 (rust/crates/addr2line-0.24.2.crate) = dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1
+SIZE (rust/crates/addr2line-0.24.2.crate) = 39015
+SHA256 (rust/crates/adler2-2.0.0.crate) = 512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627
+SIZE (rust/crates/adler2-2.0.0.crate) = 13529
+SHA256 (rust/crates/aead-0.5.2.crate) = d122413f284cf2d62fb1b7db97e02edb8cda96d769b16e443a4f6195e35662b0
+SIZE (rust/crates/aead-0.5.2.crate) = 15509
+SHA256 (rust/crates/ahash-0.8.11.crate) = e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011
+SIZE (rust/crates/ahash-0.8.11.crate) = 43607
+SHA256 (rust/crates/aho-corasick-1.1.3.crate) = 8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916
+SIZE (rust/crates/aho-corasick-1.1.3.crate) = 183311
+SHA256 (rust/crates/allocator-api2-0.2.21.crate) = 683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923
+SIZE (rust/crates/allocator-api2-0.2.21.crate) = 63622
+SHA256 (rust/crates/android-tzdata-0.1.1.crate) = e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0
+SIZE (rust/crates/android-tzdata-0.1.1.crate) = 7674
+SHA256 (rust/crates/android_system_properties-0.1.5.crate) = 819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311
+SIZE (rust/crates/android_system_properties-0.1.5.crate) = 5243
+SHA256 (rust/crates/anstream-0.6.18.crate) = 8acc5369981196006228e28809f761875c0327210a891e941f4c683b3a99529b
+SIZE (rust/crates/anstream-0.6.18.crate) = 29681
+SHA256 (rust/crates/anstyle-1.0.10.crate) = 55cc3b69f167a1ef2e161439aa98aed94e6028e5f9a59be9a6ffb47aef1651f9
+SIZE (rust/crates/anstyle-1.0.10.crate) = 15725
+SHA256 (rust/crates/anstyle-parse-0.2.6.crate) = 3b2d16507662817a6a20a9ea92df6652ee4f94f914589377d69f3b21bc5798a9
+SIZE (rust/crates/anstyle-parse-0.2.6.crate) = 22343
+SHA256 (rust/crates/anstyle-query-1.1.2.crate) = 79947af37f4177cfead1110013d678905c37501914fba0efea834c3fe9a8d60c
+SIZE (rust/crates/anstyle-query-1.1.2.crate) = 9969
+SHA256 (rust/crates/anstyle-wincon-3.0.7.crate) = ca3534e77181a9cc07539ad51f2141fe32f6c3ffd4df76db8ad92346b003ae4e
+SIZE (rust/crates/anstyle-wincon-3.0.7.crate) = 12400
+SHA256 (rust/crates/anyhow-1.0.95.crate) = 34ac096ce696dc2fcabef30516bb13c0a68a11d30131d3df6f04711467681b04
+SIZE (rust/crates/anyhow-1.0.95.crate) = 52155
+SHA256 (rust/crates/arboard-3.4.1.crate) = df099ccb16cd014ff054ac1bf392c67feeef57164b05c42f037cd40f5d4357f4
+SIZE (rust/crates/arboard-3.4.1.crate) = 47070
+SHA256 (rust/crates/arrayref-0.3.9.crate) = 76a2e8124351fda1ef8aaaa3bbd7ebbcb486bbcd4225aca0aa0d84bb2db8fecb
+SIZE (rust/crates/arrayref-0.3.9.crate) = 9186
+SHA256 (rust/crates/arrayvec-0.7.6.crate) = 7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50
+SIZE (rust/crates/arrayvec-0.7.6.crate) = 31237
+SHA256 (rust/crates/asn1-rs-0.6.2.crate) = 5493c3bedbacf7fd7382c6346bbd66687d12bbaad3a89a2d2c303ee6cf20b048
+SIZE (rust/crates/asn1-rs-0.6.2.crate) = 90647
+SHA256 (rust/crates/asn1-rs-derive-0.5.1.crate) = 965c2d33e53cb6b267e148a4cb0760bc01f4904c1cd4bb4002a085bb016d1490
+SIZE (rust/crates/asn1-rs-derive-0.5.1.crate) = 9692
+SHA256 (rust/crates/asn1-rs-impl-0.2.0.crate) = 7b18050c2cd6fe86c3a76584ef5e0baf286d038cda203eb6223df2cc413565f7
+SIZE (rust/crates/asn1-rs-impl-0.2.0.crate) = 2261
+SHA256 (rust/crates/async-channel-2.3.1.crate) = 89b47800b0be77592da0afd425cc03468052844aff33b84e33cc696f64e77b6a
+SIZE (rust/crates/async-channel-2.3.1.crate) = 14576
+SHA256 (rust/crates/async-recursion-1.1.1.crate) = 3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11
+SIZE (rust/crates/async-recursion-1.1.1.crate) = 14874
+SHA256 (rust/crates/async-trait-0.1.86.crate) = 644dd749086bf3771a2fbc5f256fdb982d53f011c7d5d560304eafeecebce79d
+SIZE (rust/crates/async-trait-0.1.86.crate) = 31946
+SHA256 (rust/crates/atomic-waker-1.1.2.crate) = 1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0
+SIZE (rust/crates/atomic-waker-1.1.2.crate) = 12422
+SHA256 (rust/crates/attohttpc-0.24.1.crate) = 8d9a9bf8b79a749ee0b911b91b671cc2b6c670bdbc7e3dfd537576ddc94bb2a2
+SIZE (rust/crates/attohttpc-0.24.1.crate) = 60895
+SHA256 (rust/crates/autocfg-1.4.0.crate) = ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26
+SIZE (rust/crates/autocfg-1.4.0.crate) = 17712
+SHA256 (rust/crates/backon-1.4.0.crate) = 49fef586913a57ff189f25c9b3d034356a5bf6b3fa9a7f067588fe1698ba1f5d
+SIZE (rust/crates/backon-1.4.0.crate) = 38683
+SHA256 (rust/crates/backtrace-0.3.74.crate) = 8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a
+SIZE (rust/crates/backtrace-0.3.74.crate) = 88516
+SHA256 (rust/crates/bao-tree-0.13.0.crate) = f1f7a89a8ee5889d2593ae422ce6e1bb03e48a0e8a16e4fa0882dfcbe7e182ef
+SIZE (rust/crates/bao-tree-0.13.0.crate) = 229463
+SHA256 (rust/crates/base16ct-0.2.0.crate) = 4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf
+SIZE (rust/crates/base16ct-0.2.0.crate) = 10240
+SHA256 (rust/crates/base64-0.22.1.crate) = 72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6
+SIZE (rust/crates/base64-0.22.1.crate) = 81597
+SHA256 (rust/crates/base64ct-1.6.0.crate) = 8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b
+SIZE (rust/crates/base64ct-1.6.0.crate) = 28870
+SHA256 (rust/crates/binary-merge-0.1.2.crate) = 597bb81c80a54b6a4381b23faba8d7774b144c94cbd1d6fe3f1329bd776554ab
+SIZE (rust/crates/binary-merge-0.1.2.crate) = 8406
+SHA256 (rust/crates/bitflags-1.3.2.crate) = bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a
+SIZE (rust/crates/bitflags-1.3.2.crate) = 23021
+SHA256 (rust/crates/bitflags-2.8.0.crate) = 8f68f53c83ab957f72c32642f3868eec03eb974d1fb82e453128456482613d36
+SIZE (rust/crates/bitflags-2.8.0.crate) = 47482
+SHA256 (rust/crates/block-buffer-0.10.4.crate) = 3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71
+SIZE (rust/crates/block-buffer-0.10.4.crate) = 10538
+SHA256 (rust/crates/block2-0.5.1.crate) = 2c132eebf10f5cad5289222520a4a058514204aed6d791f1cf4fe8088b82d15f
+SIZE (rust/crates/block2-0.5.1.crate) = 24191
+SHA256 (rust/crates/bounded-integer-0.5.8.crate) = 102dbef1187b1893e6dfe05a774e79fd52265f49f214f6879c8ff49f52c8188b
+SIZE (rust/crates/bounded-integer-0.5.8.crate) = 15878
+SHA256 (rust/crates/bumpalo-3.17.0.crate) = 1628fb46dfa0b37568d12e5edd512553eccf6a22a78e8bde00bb4aed84d5bdbf
+SIZE (rust/crates/bumpalo-3.17.0.crate) = 91975
+SHA256 (rust/crates/bytemuck-1.21.0.crate) = ef657dfab802224e671f5818e9a4935f9b1957ed18e58292690cc39e7a4092a3
+SIZE (rust/crates/bytemuck-1.21.0.crate) = 51553
+SHA256 (rust/crates/byteorder-1.5.0.crate) = 1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b
+SIZE (rust/crates/byteorder-1.5.0.crate) = 23288
+SHA256 (rust/crates/byteorder-lite-0.1.0.crate) = 8f1fe948ff07f4bd06c30984e69f5b4899c516a3ef74f34df92a2df2ab535495
+SIZE (rust/crates/byteorder-lite-0.1.0.crate) = 15909
+SHA256 (rust/crates/bytes-1.10.0.crate) = f61dac84819c6588b558454b194026eb1f09c293b9036ae9b159e74e73ab6cf9
+SIZE (rust/crates/bytes-1.10.0.crate) = 76656
+SHA256 (rust/crates/cc-1.2.14.crate) = 0c3d1b2e905a3a7b00a6141adb0e4c0bb941d11caf55349d863942a1cc44e3c9
+SIZE (rust/crates/cc-1.2.14.crate) = 103164
+SHA256 (rust/crates/cesu8-1.1.0.crate) = 6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c
+SIZE (rust/crates/cesu8-1.1.0.crate) = 10555
+SHA256 (rust/crates/cfg-if-1.0.0.crate) = baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd
+SIZE (rust/crates/cfg-if-1.0.0.crate) = 7934
+SHA256 (rust/crates/cfg_aliases-0.2.1.crate) = 613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724
+SIZE (rust/crates/cfg_aliases-0.2.1.crate) = 6355
+SHA256 (rust/crates/chacha20-0.9.1.crate) = c3613f74bd2eac03dad61bd53dbe620703d4371614fe0bc3b9f04dd36fe4e818
+SIZE (rust/crates/chacha20-0.9.1.crate) = 23424
+SHA256 (rust/crates/chrono-0.4.39.crate) = 7e36cc9d416881d2e24f9a963be5fb1cd90966419ac844274161d10488b3e825
+SIZE (rust/crates/chrono-0.4.39.crate) = 222248
+SHA256 (rust/crates/cipher-0.4.4.crate) = 773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad
+SIZE (rust/crates/cipher-0.4.4.crate) = 19073
+SHA256 (rust/crates/clap-4.5.29.crate) = 8acebd8ad879283633b343856142139f2da2317c96b05b4dd6181c61e2480184
+SIZE (rust/crates/clap-4.5.29.crate) = 56074
+SHA256 (rust/crates/clap_builder-4.5.29.crate) = f6ba32cbda51c7e1dfd49acc1457ba1a7dec5b64fe360e828acb13ca8dc9c2f9
+SIZE (rust/crates/clap_builder-4.5.29.crate) = 168096
+SHA256 (rust/crates/clap_derive-4.5.28.crate) = bf4ced95c6f4a675af3da73304b9ac4ed991640c36374e4b46795c49e17cf1ed
+SIZE (rust/crates/clap_derive-4.5.28.crate) = 33428
+SHA256 (rust/crates/clap_lex-0.7.4.crate) = f46ad14479a25103f283c0f10005961cf086d8dc42205bb44c46ac563475dca6
+SIZE (rust/crates/clap_lex-0.7.4.crate) = 12858
+SHA256 (rust/crates/clipboard-win-5.4.0.crate) = 15efe7a882b08f34e38556b14f2fb3daa98769d06c7f0c1b076dfd0d983bc892
+SIZE (rust/crates/clipboard-win-5.4.0.crate) = 20559
+SHA256 (rust/crates/cobs-0.2.3.crate) = 67ba02a97a2bd10f4b59b25c7973101c79642302776489e030cd13cdab09ed15
+SIZE (rust/crates/cobs-0.2.3.crate) = 12576
+SHA256 (rust/crates/colorchoice-1.0.3.crate) = 5b63caa9aa9397e2d9480a9b13673856c78d8ac123288526c37d7839f2a86990
+SIZE (rust/crates/colorchoice-1.0.3.crate) = 7923
+SHA256 (rust/crates/combine-4.6.7.crate) = ba5a308b75df32fe02788e748662718f03fde005016435c444eea572398219fd
+SIZE (rust/crates/combine-4.6.7.crate) = 134808
+SHA256 (rust/crates/concurrent-queue-2.5.0.crate) = 4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973
+SIZE (rust/crates/concurrent-queue-2.5.0.crate) = 22654
+SHA256 (rust/crates/console-0.15.10.crate) = ea3c6ecd8059b57859df5c69830340ed3c41d30e3da0c1cbed90a96ac853041b
+SIZE (rust/crates/console-0.15.10.crate) = 36449
+SHA256 (rust/crates/const-oid-0.9.6.crate) = c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8
+SIZE (rust/crates/const-oid-0.9.6.crate) = 45382
+SHA256 (rust/crates/constant_time_eq-0.3.1.crate) = 7c74b8349d32d297c9134b8c88677813a227df8f779daa29bfc29c183fe3dca6
+SIZE (rust/crates/constant_time_eq-0.3.1.crate) = 11561
+SHA256 (rust/crates/cordyceps-0.3.2.crate) = ec10f0a762d93c4498d2e97a333805cb6250d60bead623f71d8034f9a4152ba3
+SIZE (rust/crates/cordyceps-0.3.2.crate) = 49791
+SHA256 (rust/crates/core-foundation-0.9.4.crate) = 91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f
+SIZE (rust/crates/core-foundation-0.9.4.crate) = 27743
+SHA256 (rust/crates/core-foundation-0.10.0.crate) = b55271e5c8c478ad3f38ad24ef34923091e0548492a266d19b3c0b4d82574c63
+SIZE (rust/crates/core-foundation-0.10.0.crate) = 27023
+SHA256 (rust/crates/core-foundation-sys-0.8.7.crate) = 773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b
+SIZE (rust/crates/core-foundation-sys-0.8.7.crate) = 37712
+SHA256 (rust/crates/core-graphics-0.23.2.crate) = c07782be35f9e1140080c6b96f0d44b739e2278479f64e02fdab4e32dfd8b081
+SIZE (rust/crates/core-graphics-0.23.2.crate) = 30763
+SHA256 (rust/crates/core-graphics-types-0.1.3.crate) = 45390e6114f68f718cc7a830514a96f903cccd70d02a8f6d9f643ac4ba45afaf
+SIZE (rust/crates/core-graphics-types-0.1.3.crate) = 7063
+SHA256 (rust/crates/cpufeatures-0.2.17.crate) = 59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280
+SIZE (rust/crates/cpufeatures-0.2.17.crate) = 13466
+SHA256 (rust/crates/crc-3.2.1.crate) = 69e6e4d7b33a94f0991c26729976b10ebde1d34c3ee82408fb536164fa10d636
+SIZE (rust/crates/crc-3.2.1.crate) = 15070
+SHA256 (rust/crates/crc-catalog-2.4.0.crate) = 19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5
+SIZE (rust/crates/crc-catalog-2.4.0.crate) = 10155
+SHA256 (rust/crates/crc32fast-1.4.2.crate) = a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3
+SIZE (rust/crates/crc32fast-1.4.2.crate) = 38491
+SHA256 (rust/crates/crossbeam-channel-0.5.14.crate) = 06ba6d68e24814cb8de6bb986db8222d3a027d15872cabc0d18817bc3c0e4471
+SIZE (rust/crates/crossbeam-channel-0.5.14.crate) = 92728
+SHA256 (rust/crates/crossbeam-epoch-0.9.18.crate) = 5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e
+SIZE (rust/crates/crossbeam-epoch-0.9.18.crate) = 46875
+SHA256 (rust/crates/crossbeam-utils-0.8.21.crate) = d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28
+SIZE (rust/crates/crossbeam-utils-0.8.21.crate) = 42691
+SHA256 (rust/crates/crypto-bigint-0.5.5.crate) = 0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76
+SIZE (rust/crates/crypto-bigint-0.5.5.crate) = 83384
+SHA256 (rust/crates/crypto-common-0.1.6.crate) = 1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3
+SIZE (rust/crates/crypto-common-0.1.6.crate) = 8760
+SHA256 (rust/crates/crypto_box-0.9.1.crate) = 16182b4f39a82ec8a6851155cc4c0cda3065bb1db33651726a29e1951de0f009
+SIZE (rust/crates/crypto_box-0.9.1.crate) = 16702
+SHA256 (rust/crates/crypto_secretbox-0.1.1.crate) = b9d6cf87adf719ddf43a805e92c6870a531aedda35ff640442cbaf8674e141e1
+SIZE (rust/crates/crypto_secretbox-0.1.1.crate) = 11377
+SHA256 (rust/crates/curve25519-dalek-4.1.3.crate) = 97fb8b7c4503de7d6ae7b42ab72a5a59857b4c937ec27a3d4539dba95b5ab2be
+SIZE (rust/crates/curve25519-dalek-4.1.3.crate) = 306017
+SHA256 (rust/crates/curve25519-dalek-derive-0.1.1.crate) = f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3
+SIZE (rust/crates/curve25519-dalek-derive-0.1.1.crate) = 11723
+SHA256 (rust/crates/data-encoding-2.8.0.crate) = 575f75dfd25738df5b91b8e43e14d44bda14637a58fae779fd2b064f8bf3e010
+SIZE (rust/crates/data-encoding-2.8.0.crate) = 21394
+SHA256 (rust/crates/der-0.7.9.crate) = f55bf8e7b65898637379c1b74eb1551107c8294ed26d855ceb9fd1a09cfc9bc0
+SIZE (rust/crates/der-0.7.9.crate) = 85173
+SHA256 (rust/crates/der-parser-9.0.0.crate) = 5cd0a5c643689626bec213c4d8bd4d96acc8ffdb4ad4bb6bc16abf27d5f4b553
+SIZE (rust/crates/der-parser-9.0.0.crate) = 63191
+SHA256 (rust/crates/der_derive-0.7.3.crate) = 8034092389675178f570469e6c3b0465d3d30b4505c294a6550db47f3c17ad18
+SIZE (rust/crates/der_derive-0.7.3.crate) = 24657
+SHA256 (rust/crates/deranged-0.3.11.crate) = b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4
+SIZE (rust/crates/deranged-0.3.11.crate) = 18043
+SHA256 (rust/crates/derive_more-1.0.0.crate) = 4a9b99b9cbbe49445b21764dc0625032a89b145a2642e67603e1c936f5458d05
+SIZE (rust/crates/derive_more-1.0.0.crate) = 64854
+SHA256 (rust/crates/derive_more-impl-1.0.0.crate) = cb7330aeadfbe296029522e6c40f315320aba36fc43a5b3632f3795348f3bd22
+SIZE (rust/crates/derive_more-impl-1.0.0.crate) = 76182
+SHA256 (rust/crates/diatomic-waker-0.2.3.crate) = ab03c107fafeb3ee9f5925686dbb7a73bc76e3932abb0d2b365cb64b169cf04c
+SIZE (rust/crates/diatomic-waker-0.2.3.crate) = 18221
+SHA256 (rust/crates/digest-0.10.7.crate) = 9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292
+SIZE (rust/crates/digest-0.10.7.crate) = 19557
+SHA256 (rust/crates/displaydoc-0.2.5.crate) = 97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0
+SIZE (rust/crates/displaydoc-0.2.5.crate) = 24219
+SHA256 (rust/crates/dlopen2-0.5.0.crate) = 09b4f5f101177ff01b8ec4ecc81eead416a8aa42819a2869311b3420fa114ffa
+SIZE (rust/crates/dlopen2-0.5.0.crate) = 28703
+SHA256 (rust/crates/document-features-0.2.10.crate) = cb6969eaabd2421f8a2775cfd2471a2b634372b4a25d41e3bd647b79912850a0
+SIZE (rust/crates/document-features-0.2.10.crate) = 14005
+SHA256 (rust/crates/dtoa-1.0.9.crate) = dcbb2bf8e87535c23f7a8a321e364ce21462d0ff10cb6407820e8e96dfff6653
+SIZE (rust/crates/dtoa-1.0.9.crate) = 17002
+SHA256 (rust/crates/duct-0.13.7.crate) = e4ab5718d1224b63252cd0c6f74f6480f9ffeb117438a2e0f5cf6d9a4798929c
+SIZE (rust/crates/duct-0.13.7.crate) = 30055
+SHA256 (rust/crates/ecdsa-0.16.9.crate) = ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca
+SIZE (rust/crates/ecdsa-0.16.9.crate) = 31406
+SHA256 (rust/crates/ed25519-2.2.3.crate) = 115531babc129696a58c64a4fef0a8bf9e9698629fb97e9e40767d235cfbcd53
+SIZE (rust/crates/ed25519-2.2.3.crate) = 17802
+SHA256 (rust/crates/ed25519-dalek-2.1.1.crate) = 4a3daa8e81a3963a60642bcc1f90a670680bd4a77535faa384e9d1c79d620871
+SIZE (rust/crates/ed25519-dalek-2.1.1.crate) = 85736
+SHA256 (rust/crates/elliptic-curve-0.13.8.crate) = b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47
+SIZE (rust/crates/elliptic-curve-0.13.8.crate) = 63198
+SHA256 (rust/crates/embedded-io-0.4.0.crate) = ef1a6892d9eef45c8fa6b9e0086428a2cca8491aca8f787c534a3d6d0bcb3ced
+SIZE (rust/crates/embedded-io-0.4.0.crate) = 12901
+SHA256 (rust/crates/embedded-io-0.6.1.crate) = edd0f118536f44f5ccd48bcb8b111bdc3de888b58c74639dfb034a357d0f206d
+SIZE (rust/crates/embedded-io-0.6.1.crate) = 13133
+SHA256 (rust/crates/encode_unicode-1.0.0.crate) = 34aa73646ffb006b8f5147f3dc182bd4bcb190227ce861fc4a4844bf8e3cb2c0
+SIZE (rust/crates/encode_unicode-1.0.0.crate) = 56986
+SHA256 (rust/crates/enum-as-inner-0.6.1.crate) = a1e6a265c649f3f5979b601d26f1d05ada116434c87741c9493cb56218f76cbc
+SIZE (rust/crates/enum-as-inner-0.6.1.crate) = 12190
+SHA256 (rust/crates/enumflags2-0.7.11.crate) = ba2f4b465f5318854c6f8dd686ede6c0a9dc67d4b1ac241cf0eb51521a309147
+SIZE (rust/crates/enumflags2-0.7.11.crate) = 17500
+SHA256 (rust/crates/enumflags2_derive-0.7.11.crate) = fc4caf64a58d7a6d65ab00639b046ff54399a39f5f2554728895ace4b297cd79
+SIZE (rust/crates/enumflags2_derive-0.7.11.crate) = 8524
+SHA256 (rust/crates/equivalent-1.0.2.crate) = 877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f
+SIZE (rust/crates/equivalent-1.0.2.crate) = 7419
+SHA256 (rust/crates/erased-serde-0.3.31.crate) = 6c138974f9d5e7fe373eb04df7cae98833802ae4b11c24ac7039a21d5af4b26c
+SIZE (rust/crates/erased-serde-0.3.31.crate) = 24182
+SHA256 (rust/crates/erased_set-0.8.0.crate) = a02a5d186d7bf1cb21f1f95e1a9cfa5c1f2dcd803a47aad454423ceec13525c5
+SIZE (rust/crates/erased_set-0.8.0.crate) = 4501
+SHA256 (rust/crates/errno-0.3.10.crate) = 33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d
+SIZE (rust/crates/errno-0.3.10.crate) = 11824
+SHA256 (rust/crates/error-code-3.3.1.crate) = a5d9305ccc6942a704f4335694ecd3de2ea531b114ac2d51f5f843750787a92f
+SIZE (rust/crates/error-code-3.3.1.crate) = 7646
+SHA256 (rust/crates/event-listener-5.4.0.crate) = 3492acde4c3fc54c845eaab3eed8bd00c7a7d881f78bfc801e43a93dec1331ae
+SIZE (rust/crates/event-listener-5.4.0.crate) = 43452
+SHA256 (rust/crates/event-listener-strategy-0.5.3.crate) = 3c3e4e0dd3673c1139bf041f3008816d9cf2946bbfac2945c09e523b8d7b05b2
+SIZE (rust/crates/event-listener-strategy-0.5.3.crate) = 10920
+SHA256 (rust/crates/fallible-iterator-0.3.0.crate) = 2acce4a10f12dc2fb14a218589d4f1f62ef011b2d0cc4b3cb1bba8e94da14649
+SIZE (rust/crates/fallible-iterator-0.3.0.crate) = 19639
+SHA256 (rust/crates/fastrand-2.3.0.crate) = 37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be
+SIZE (rust/crates/fastrand-2.3.0.crate) = 15076
+SHA256 (rust/crates/fdeflate-0.3.7.crate) = 1e6853b52649d4ac5c0bd02320cddc5ba956bdb407c4b75a2c6b75bf51500f8c
+SIZE (rust/crates/fdeflate-0.3.7.crate) = 27188
+SHA256 (rust/crates/ff-0.13.1.crate) = c0b50bfb653653f9ca9095b427bed08ab8d75a137839d9ad64eb11810d5b6393
+SIZE (rust/crates/ff-0.13.1.crate) = 18607
+SHA256 (rust/crates/fiat-crypto-0.2.9.crate) = 28dea519a9695b9977216879a3ebfddf92f1c08c05d984f8996aecd6ecdc811d
+SIZE (rust/crates/fiat-crypto-0.2.9.crate) = 495390
+SHA256 (rust/crates/flate2-1.0.35.crate) = c936bfdafb507ebbf50b8074c54fa31c5be9a1e7e5f467dd659697041407d07c
+SIZE (rust/crates/flate2-1.0.35.crate) = 109188
+SHA256 (rust/crates/flume-0.11.1.crate) = da0e4dd2a88388a1f4ccc7c9ce104604dab68d9f408dc34cd45823d5a9069095
+SIZE (rust/crates/flume-0.11.1.crate) = 67947
+SHA256 (rust/crates/fnv-1.0.7.crate) = 3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1
+SIZE (rust/crates/fnv-1.0.7.crate) = 11266
+SHA256 (rust/crates/foldhash-0.1.4.crate) = a0d2fde1f7b3d48b8395d5f2de76c18a528bd6a9cdde438df747bfcba3e05d6f
+SIZE (rust/crates/foldhash-0.1.4.crate) = 13764
+SHA256 (rust/crates/foreign-types-0.5.0.crate) = d737d9aa519fb7b749cbc3b962edcf310a8dd1f4b67c91c4f83975dbdd17d965
+SIZE (rust/crates/foreign-types-0.5.0.crate) = 7824
+SHA256 (rust/crates/foreign-types-macros-0.2.3.crate) = 1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742
+SIZE (rust/crates/foreign-types-macros-0.2.3.crate) = 7635
+SHA256 (rust/crates/foreign-types-shared-0.3.1.crate) = aa9a19cbb55df58761df49b23516a86d432839add4af60fc256da840f66ed35b
+SIZE (rust/crates/foreign-types-shared-0.3.1.crate) = 6006
+SHA256 (rust/crates/form_urlencoded-1.2.1.crate) = e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456
+SIZE (rust/crates/form_urlencoded-1.2.1.crate) = 8969
+SHA256 (rust/crates/futures-0.3.31.crate) = 65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876
+SIZE (rust/crates/futures-0.3.31.crate) = 54953
+SHA256 (rust/crates/futures-buffered-0.2.9.crate) = 34acda8ae8b63fbe0b2195c998b180cff89a8212fb2622a78b572a9f1c6f7684
+SIZE (rust/crates/futures-buffered-0.2.9.crate) = 30905
+SHA256 (rust/crates/futures-channel-0.3.31.crate) = 2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10
+SIZE (rust/crates/futures-channel-0.3.31.crate) = 31971
+SHA256 (rust/crates/futures-core-0.3.31.crate) = 05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e
+SIZE (rust/crates/futures-core-0.3.31.crate) = 14318
+SHA256 (rust/crates/futures-executor-0.3.31.crate) = 1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f
+SIZE (rust/crates/futures-executor-0.3.31.crate) = 17965
+SHA256 (rust/crates/futures-io-0.3.31.crate) = 9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6
+SIZE (rust/crates/futures-io-0.3.31.crate) = 9047
+SHA256 (rust/crates/futures-lite-2.6.0.crate) = f5edaec856126859abb19ed65f39e90fea3a9574b9707f13539acf4abf7eb532
+SIZE (rust/crates/futures-lite-2.6.0.crate) = 45157
+SHA256 (rust/crates/futures-macro-0.3.31.crate) = 162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650
+SIZE (rust/crates/futures-macro-0.3.31.crate) = 11341
+SHA256 (rust/crates/futures-sink-0.3.31.crate) = e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7
+SIZE (rust/crates/futures-sink-0.3.31.crate) = 7958
+SHA256 (rust/crates/futures-task-0.3.31.crate) = f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988
+SIZE (rust/crates/futures-task-0.3.31.crate) = 11217
+SHA256 (rust/crates/futures-util-0.3.31.crate) = 9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81
+SIZE (rust/crates/futures-util-0.3.31.crate) = 162124
+SHA256 (rust/crates/genawaiter-0.99.1.crate) = c86bd0361bcbde39b13475e6e36cb24c329964aa2611be285289d1e4b751c1a0
+SIZE (rust/crates/genawaiter-0.99.1.crate) = 20028
+SHA256 (rust/crates/genawaiter-macro-0.99.1.crate) = 0b32dfe1fdfc0bbde1f22a5da25355514b5e450c33a6af6770884c8750aedfbc
+SIZE (rust/crates/genawaiter-macro-0.99.1.crate) = 1602
+SHA256 (rust/crates/genawaiter-proc-macro-0.99.1.crate) = 784f84eebc366e15251c4a8c3acee82a6a6f427949776ecb88377362a9621738
+SIZE (rust/crates/genawaiter-proc-macro-0.99.1.crate) = 2593
+SHA256 (rust/crates/generator-0.7.5.crate) = 5cc16584ff22b460a382b7feec54b23d2908d858152e5739a120b949293bd74e
+SIZE (rust/crates/generator-0.7.5.crate) = 29947
+SHA256 (rust/crates/generator-0.8.4.crate) = cc6bd114ceda131d3b1d665eba35788690ad37f5916457286b32ab6fd3c438dd
+SIZE (rust/crates/generator-0.8.4.crate) = 34400
+SHA256 (rust/crates/generic-array-0.14.7.crate) = 85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a
+SIZE (rust/crates/generic-array-0.14.7.crate) = 15950
+SHA256 (rust/crates/gethostname-0.4.3.crate) = 0176e0459c2e4a1fe232f984bca6890e681076abb9934f6cea7c326f3fc47818
+SIZE (rust/crates/gethostname-0.4.3.crate) = 9336
+SHA256 (rust/crates/getrandom-0.2.15.crate) = c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7
+SIZE (rust/crates/getrandom-0.2.15.crate) = 37163
+SHA256 (rust/crates/getrandom-0.3.1.crate) = 43a49c392881ce6d5c3b8cb70f98717b7c07aabbdff06687b9030dbfbe2725f8
+SIZE (rust/crates/getrandom-0.3.1.crate) = 42449
+SHA256 (rust/crates/gimli-0.31.1.crate) = 07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f
+SIZE (rust/crates/gimli-0.31.1.crate) = 279515
+SHA256 (rust/crates/glob-0.3.2.crate) = a8d1add55171497b4705a648c6b583acafb01d58050a51727785f0b2c8e0a2b2
+SIZE (rust/crates/glob-0.3.2.crate) = 22359
+SHA256 (rust/crates/gloo-timers-0.3.0.crate) = bbb143cf96099802033e0d4f4963b19fd2e0b728bcf076cd9cf7f6634f092994
+SIZE (rust/crates/gloo-timers-0.3.0.crate) = 5530
+SHA256 (rust/crates/group-0.13.0.crate) = f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63
+SIZE (rust/crates/group-0.13.0.crate) = 16526
+SHA256 (rust/crates/h2-0.4.7.crate) = ccae279728d634d083c00f6099cb58f01cc99c145b84b8be2f6c74618d79922e
+SIZE (rust/crates/h2-0.4.7.crate) = 174114
+SHA256 (rust/crates/hashbrown-0.14.5.crate) = e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1
+SIZE (rust/crates/hashbrown-0.14.5.crate) = 141498
+SHA256 (rust/crates/hashbrown-0.15.2.crate) = bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289
+SIZE (rust/crates/hashbrown-0.15.2.crate) = 138478
+SHA256 (rust/crates/hashlink-0.9.1.crate) = 6ba4ff7128dee98c7dc9794b6a411377e1404dba1c97deb8d1a55297bd25d8af
+SIZE (rust/crates/hashlink-0.9.1.crate) = 28928
+SHA256 (rust/crates/heck-0.5.0.crate) = 2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea
+SIZE (rust/crates/heck-0.5.0.crate) = 11517
+SHA256 (rust/crates/hermit-abi-0.3.9.crate) = d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024
+SIZE (rust/crates/hermit-abi-0.3.9.crate) = 16165
+SHA256 (rust/crates/hex-0.4.3.crate) = 7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70
+SIZE (rust/crates/hex-0.4.3.crate) = 13299
+SHA256 (rust/crates/hickory-proto-0.25.0-alpha.5.crate) = 1d00147af6310f4392a31680db52a3ed45a2e0f68eb18e8c3fe5537ecc96d9e2
+SIZE (rust/crates/hickory-proto-0.25.0-alpha.5.crate) = 405101
+SHA256 (rust/crates/hickory-resolver-0.25.0-alpha.5.crate) = 5762f69ebdbd4ddb2e975cd24690bf21fe6b2604039189c26acddbc427f12887
+SIZE (rust/crates/hickory-resolver-0.25.0-alpha.5.crate) = 89327
+SHA256 (rust/crates/hmac-0.12.1.crate) = 6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e
+SIZE (rust/crates/hmac-0.12.1.crate) = 42657
+SHA256 (rust/crates/hmac-sha1-0.2.2.crate) = 6b05da5b9e5d4720bfb691eebb2b9d42da3570745da71eac8a1f5bb7e59aab88
+SIZE (rust/crates/hmac-sha1-0.2.2.crate) = 3234
+SHA256 (rust/crates/hmac-sha256-1.1.8.crate) = 4a8575493d277c9092b988c780c94737fb9fd8651a1001e16bee3eccfc1baedb
+SIZE (rust/crates/hmac-sha256-1.1.8.crate) = 6332
+SHA256 (rust/crates/hostname-0.3.1.crate) = 3c731c3e10504cc8ed35cfe2f1db4c9274c3d35fa486e3b31df46f068ef3e867
+SIZE (rust/crates/hostname-0.3.1.crate) = 9272
+SHA256 (rust/crates/hostname-validator-1.1.1.crate) = f558a64ac9af88b5ba400d99b579451af0d39c6d360980045b91aac966d705e2
+SIZE (rust/crates/hostname-validator-1.1.1.crate) = 2377
+SHA256 (rust/crates/http-0.2.12.crate) = 601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1
+SIZE (rust/crates/http-0.2.12.crate) = 101964
+SHA256 (rust/crates/http-1.2.0.crate) = f16ca2af56261c99fba8bac40a10251ce8188205a4c448fbb745a2e4daa76fea
+SIZE (rust/crates/http-1.2.0.crate) = 105932
+SHA256 (rust/crates/http-body-1.0.1.crate) = 1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184
+SIZE (rust/crates/http-body-1.0.1.crate) = 6125
+SHA256 (rust/crates/http-body-util-0.1.2.crate) = 793429d76616a256bcb62c2a2ec2bed781c8307e797e2598c50010f2bee2544f
+SIZE (rust/crates/http-body-util-0.1.2.crate) = 12821
+SHA256 (rust/crates/httparse-1.10.0.crate) = f2d708df4e7140240a16cd6ab0ab65c972d7433ab77819ea693fde9c43811e2a
+SIZE (rust/crates/httparse-1.10.0.crate) = 44882
+SHA256 (rust/crates/httpdate-1.0.3.crate) = df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9
*** 821 LINES SKIPPED ***