CI image build, locked deps, Rust 1.98 builder, graceful shutdown

a7c4c3c · Gabriel Morell · 2026-10-28 21:21

10 files +4476 -5
Message
{commit_body(@commit)}

Files changed

added .forgejo/workflows/image.yml
+64 −0
@@ -0,0 +1,64 @@
1 +# Builds the image and pushes it to the forge's own registry on every push
2 +# to master, tagged :master, :latest and the commit sha. keel polls
3 +# ggr.neiam.co/neiam/fieri-forever:master and rolls the Deployment
4 +# (argo-01-bos/fieri-eternal/app.yml).
5 +#
6 +# No secrets: the per-job token is accepted by the registry's /v2/token
7 +# endpoint for pushes to this repository's own image path. Same workflow as
8 +# dms and big_tripper.
9 +name: image
10 +on:
11 + push:
12 + branches: [master]
13 +
14 +jobs:
15 + image:
16 + runs-on: self-hosted
17 + steps:
18 + - uses: actions/checkout@v4
19 +
20 + - uses: docker/setup-buildx-action@v3
21 +
22 + # An unset CI_REGISTRY resolves to the empty string, and login-action
23 + # then silently defaults to docker.io. Say what's missing instead.
24 + - name: Check the registry variable is set
25 + env:
26 + CI_REGISTRY: ${{ vars.CI_REGISTRY }}
27 + run: |
28 + set -euo pipefail
29 + if [ -z "${CI_REGISTRY:-}" ]; then
30 + echo "CI_REGISTRY is not set for this repository." >&2
31 + echo "Set it as an organisation-level Actions variable (the" >&2
32 + echo "registry hostname), the same one the other neiam apps use." >&2
33 + exit 1
34 + fi
35 + echo "pushing to $CI_REGISTRY"
36 +
37 + # The username is ignored by the token endpoint but login-action
38 + # requires it to be non-empty.
39 + - uses: docker/login-action@v3
40 + with:
41 + registry: ${{ vars.CI_REGISTRY }}
42 + username: ci
43 + password: ${{ github.token }}
44 +
45 + - uses: docker/metadata-action@v5
46 + id: meta
47 + with:
48 + images: ${{ vars.CI_REGISTRY }}/${{ github.repository }}
49 + tags: |
50 + type=sha,format=long
51 + type=ref,event=branch
52 + # Unconditional: `{{is_default_branch}}` evaluates false on this
53 + # forge. The workflow only runs on master anyway.
54 + type=raw,value=latest
55 +
56 + - uses: docker/build-push-action@v6
57 + with:
58 + context: .
59 + file: ./Dockerfile
60 + push: true
61 + tags: ${{ steps.meta.outputs.tags }}
62 + labels: ${{ steps.meta.outputs.labels }}
63 + cache-from: type=registry,ref=${{ vars.CI_REGISTRY }}/${{ github.repository }}:buildcache
64 + cache-to: type=registry,ref=${{ vars.CI_REGISTRY }}/${{ github.repository }}:buildcache,mode=max
modified .gitignore
+0 −1
@@ -1,3 +1,2 @@
1 1 /target
2 −/Cargo.lock
3 2 storage/
added Cargo.lock
+4354 −0
@@ -0,0 +1,4354 @@
1 +# This file is automatically @generated by Cargo.
2 +# It is not intended for manual editing.
3 +version = 4
4 +
5 +[[package]]
6 +name = "adler2"
7 +version = "2.0.1"
8 +source = "registry+https://github.com/rust-lang/crates.io-index"
9 +checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa"
10 +
11 +[[package]]
12 +name = "aho-corasick"
13 +version = "1.1.5"
14 +source = "registry+https://github.com/rust-lang/crates.io-index"
15 +checksum = "c982642fa9e8606056828ee9a8505737230110bb1099153c79efe865c59d12ba"
16 +dependencies = [
17 + "memchr",
18 +]
19 +
20 +[[package]]
21 +name = "aliasable"
22 +version = "0.1.3"
23 +source = "registry+https://github.com/rust-lang/crates.io-index"
24 +checksum = "250f629c0161ad8107cf89319e990051fae62832fd343083bea452d93e2205fd"
25 +
26 +[[package]]
27 +name = "allocator-api2"
28 +version = "0.2.21"
29 +source = "registry+https://github.com/rust-lang/crates.io-index"
30 +checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923"
31 +
32 +[[package]]
33 +name = "android_system_properties"
34 +version = "0.1.6"
35 +source = "registry+https://github.com/rust-lang/crates.io-index"
36 +checksum = "ae221649c9976a6f6c56ae1facf410f3ddb33cc661c4b7b61020a912d4237fbc"
37 +dependencies = [
38 + "libc",
39 +]
40 +
41 +[[package]]
42 +name = "anstream"
43 +version = "1.0.0"
44 +source = "registry+https://github.com/rust-lang/crates.io-index"
45 +checksum = "824a212faf96e9acacdbd09febd34438f8f711fb84e09a8916013cd7815ca28d"
46 +dependencies = [
47 + "anstyle",
48 + "anstyle-parse",
49 + "anstyle-query",
50 + "anstyle-wincon",
51 + "colorchoice",
52 + "is_terminal_polyfill",
53 + "utf8parse",
54 +]
55 +
56 +[[package]]
57 +name = "anstyle"
58 +version = "1.0.14"
59 +source = "registry+https://github.com/rust-lang/crates.io-index"
60 +checksum = "940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000"
61 +
62 +[[package]]
63 +name = "anstyle-parse"
64 +version = "1.0.0"
65 +source = "registry+https://github.com/rust-lang/crates.io-index"
66 +checksum = "52ce7f38b242319f7cabaa6813055467063ecdc9d355bbb4ce0c68908cd8130e"
67 +dependencies = [
68 + "utf8parse",
69 +]
70 +
71 +[[package]]
72 +name = "anstyle-query"
73 +version = "1.1.5"
74 +source = "registry+https://github.com/rust-lang/crates.io-index"
75 +checksum = "40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc"
76 +dependencies = [
77 + "windows-sys 0.61.2",
78 +]
79 +
80 +[[package]]
81 +name = "anstyle-wincon"
82 +version = "3.0.11"
83 +source = "registry+https://github.com/rust-lang/crates.io-index"
84 +checksum = "291e6a250ff86cd4a820112fb8898808a366d8f9f58ce16d1f538353ad55747d"
85 +dependencies = [
86 + "anstyle",
87 + "once_cell_polyfill",
88 + "windows-sys 0.61.2",
89 +]
90 +
91 +[[package]]
92 +name = "anyhow"
93 +version = "1.0.104"
94 +source = "registry+https://github.com/rust-lang/crates.io-index"
95 +checksum = "330a5ed07fa54e4702c9d6c4174f74427fc0ef6e214bbd677ae50a5099946470"
96 +
97 +[[package]]
98 +name = "argon2"
99 +version = "0.5.3"
100 +source = "registry+https://github.com/rust-lang/crates.io-index"
101 +checksum = "3c3610892ee6e0cbce8ae2700349fcf8f98adb0dbfbee85aec3c9179d29cc072"
102 +dependencies = [
103 + "base64ct",
104 + "blake2",
105 + "cpufeatures 0.2.17",
106 + "password-hash",
107 +]
108 +
109 +[[package]]
110 +name = "arrayvec"
111 +version = "0.7.8"
112 +source = "registry+https://github.com/rust-lang/crates.io-index"
113 +checksum = "d3fb67a6e08acf24fdeccbac2cb6ac4305825bd1f117462e0e6f2f193345ad56"
114 +
115 +[[package]]
116 +name = "async-attributes"
117 +version = "1.1.2"
118 +source = "registry+https://github.com/rust-lang/crates.io-index"
119 +checksum = "a3203e79f4dd9bdda415ed03cf14dae5a2bf775c683a00f94e9cd1faf0f596e5"
120 +dependencies = [
121 + "quote",
122 + "syn 1.0.109",
123 +]
124 +
125 +[[package]]
126 +name = "async-channel"
127 +version = "1.9.0"
128 +source = "registry+https://github.com/rust-lang/crates.io-index"
129 +checksum = "81953c529336010edd6d8e358f886d9581267795c61b19475b71314bffa46d35"
130 +dependencies = [
131 + "concurrent-queue",
132 + "event-listener 2.5.3",
133 + "futures-core",
134 +]
135 +
136 +[[package]]
137 +name = "async-channel"
138 +version = "2.5.0"
139 +source = "registry+https://github.com/rust-lang/crates.io-index"
140 +checksum = "924ed96dd52d1b75e9c1a3e6275715fd320f5f9439fb5a4a11fa51f4221158d2"
141 +dependencies = [
142 + "concurrent-queue",
143 + "event-listener-strategy",
144 + "futures-core",
145 + "pin-project-lite",
146 +]
147 +
148 +[[package]]
149 +name = "async-executor"
150 +version = "1.14.0"
151 +source = "registry+https://github.com/rust-lang/crates.io-index"
152 +checksum = "c96bf972d85afc50bf5ab8fe2d54d1586b4e0b46c97c50a0c9e71e2f7bcd812a"
153 +dependencies = [
154 + "async-task",
155 + "concurrent-queue",
156 + "fastrand",
157 + "futures-lite",
158 + "pin-project-lite",
159 + "slab",
160 +]
161 +
162 +[[package]]
163 +name = "async-global-executor"
164 +version = "2.4.1"
165 +source = "registry+https://github.com/rust-lang/crates.io-index"
166 +checksum = "05b1b633a2115cd122d73b955eadd9916c18c8f510ec9cd1686404c60ad1c29c"
167 +dependencies = [
168 + "async-channel 2.5.0",
169 + "async-executor",
170 + "async-io",
171 + "async-lock",
172 + "blocking",
173 + "futures-lite",
174 + "once_cell",
175 + "tokio",
176 +]
177 +
178 +[[package]]
179 +name = "async-io"
180 +version = "2.6.0"
181 +source = "registry+https://github.com/rust-lang/crates.io-index"
182 +checksum = "456b8a8feb6f42d237746d4b3e9a178494627745c3c56c6ea55d92ba50d026fc"
183 +dependencies = [
184 + "autocfg",
185 + "cfg-if",
186 + "concurrent-queue",
187 + "futures-io",
188 + "futures-lite",
189 + "parking",
190 + "polling",
191 + "rustix",
192 + "slab",
193 + "windows-sys 0.61.2",
194 +]
195 +
196 +[[package]]
197 +name = "async-lock"
198 +version = "3.4.2"
199 +source = "registry+https://github.com/rust-lang/crates.io-index"
200 +checksum = "290f7f2596bd5b78a9fec8088ccd89180d7f9f55b94b0576823bbbdc72ee8311"
201 +dependencies = [
202 + "event-listener 5.4.2",
203 + "event-listener-strategy",
204 + "pin-project-lite",
205 +]
206 +
207 +[[package]]
208 +name = "async-std"
209 +version = "1.13.2"
210 +source = "registry+https://github.com/rust-lang/crates.io-index"
211 +checksum = "2c8e079a4ab67ae52b7403632e4618815d6db36d2a010cfe41b02c1b1578f93b"
212 +dependencies = [
213 + "async-attributes",
214 + "async-channel 1.9.0",
215 + "async-global-executor",
216 + "async-io",
217 + "async-lock",
218 + "crossbeam-utils",
219 + "futures-channel",
220 + "futures-core",
221 + "futures-io",
222 + "futures-lite",
223 + "gloo-timers",
224 + "kv-log-macro",
225 + "log",
226 + "memchr",
227 + "once_cell",
228 + "pin-project-lite",
229 + "pin-utils",
230 + "slab",
231 + "wasm-bindgen-futures",
232 +]
233 +
234 +[[package]]
235 +name = "async-stream"
236 +version = "0.3.6"
237 +source = "registry+https://github.com/rust-lang/crates.io-index"
238 +checksum = "0b5a71a6f37880a80d1d7f19efd781e4b5de42c88f0722cc13bcb6cc2cfe8476"
239 +dependencies = [
240 + "async-stream-impl",
241 + "futures-core",
242 + "pin-project-lite",
243 +]
244 +
245 +[[package]]
246 +name = "async-stream-impl"
247 +version = "0.3.6"
248 +source = "registry+https://github.com/rust-lang/crates.io-index"
249 +checksum = "c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d"
250 +dependencies = [
251 + "proc-macro2",
252 + "quote",
253 + "syn 2.0.119",
254 +]
255 +
256 +[[package]]
257 +name = "async-task"
258 +version = "4.7.1"
259 +source = "registry+https://github.com/rust-lang/crates.io-index"
260 +checksum = "8b75356056920673b02621b35afd0f7dda9306d03c79a30f5c56c44cf256e3de"
261 +
262 +[[package]]
263 +name = "async-trait"
264 +version = "0.1.92"
265 +source = "registry+https://github.com/rust-lang/crates.io-index"
266 +checksum = "82f6aeea286b8eb4dd3431a1be1b59d290ace00f5bfd8e2a159bc2a05e2c1667"
267 +dependencies = [
268 + "proc-macro2",
269 + "quote",
270 + "syn 3.0.9",
271 +]
272 +
273 +[[package]]
274 +name = "atoi"
275 +version = "2.0.0"
276 +source = "registry+https://github.com/rust-lang/crates.io-index"
277 +checksum = "f28d99ec8bfea296261ca1af174f24225171fea9664ba9003cbebee704810528"
278 +dependencies = [
279 + "num-traits",
280 +]
281 +
282 +[[package]]
283 +name = "atomic-waker"
284 +version = "1.1.2"
285 +source = "registry+https://github.com/rust-lang/crates.io-index"
286 +checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0"
287 +
288 +[[package]]
289 +name = "autocfg"
290 +version = "1.5.1"
291 +source = "registry+https://github.com/rust-lang/crates.io-index"
292 +checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53"
293 +
294 +[[package]]
295 +name = "axum"
296 +version = "0.8.9"
297 +source = "registry+https://github.com/rust-lang/crates.io-index"
298 +checksum = "31b698c5f9a010f6573133b09e0de5408834d0c82f8d7475a89fc1867a71cd90"
299 +dependencies = [
300 + "axum-core",
301 + "bytes",
302 + "form_urlencoded",
303 + "futures-util",
304 + "http",
305 + "http-body",
306 + "http-body-util",
307 + "hyper",
308 + "hyper-util",
309 + "itoa",
310 + "matchit",
311 + "memchr",
312 + "mime",
313 + "percent-encoding",
314 + "pin-project-lite",
315 + "serde_core",
316 + "serde_json",
317 + "serde_path_to_error",
318 + "serde_urlencoded",
319 + "sync_wrapper",
320 + "tokio",
321 + "tower",
322 + "tower-layer",
323 + "tower-service",
324 + "tracing",
325 +]
326 +
327 +[[package]]
328 +name = "axum-core"
329 +version = "0.5.6"
330 +source = "registry+https://github.com/rust-lang/crates.io-index"
331 +checksum = "08c78f31d7b1291f7ee735c1c6780ccde7785daae9a9206026862dab7d8792d1"
332 +dependencies = [
333 + "bytes",
334 + "futures-core",
335 + "http",
336 + "http-body",
337 + "http-body-util",
338 + "mime",
339 + "pin-project-lite",
340 + "sync_wrapper",
341 + "tower-layer",
342 + "tower-service",
343 + "tracing",
344 +]
345 +
346 +[[package]]
347 +name = "axum-htmx"
348 +version = "0.7.0"
349 +source = "registry+https://github.com/rust-lang/crates.io-index"
350 +checksum = "d16a4be621f96b959fc829e4cbf02fd79ffb8427525002af31a9e2979599fbb7"
351 +dependencies = [
352 + "axum-core",
353 + "http",
354 + "tokio",
355 +]
356 +
357 +[[package]]
358 +name = "axum-prometheus"
359 +version = "0.9.0"
360 +source = "registry+https://github.com/rust-lang/crates.io-index"
361 +checksum = "fb15221c30bbb32e99873d348d89d7bc2138d6199520aa473a1bdb0d8e5721e8"
362 +dependencies = [
363 + "axum",
364 + "bytes",
365 + "futures-core",
366 + "http",
367 + "http-body",
368 + "matchit",
369 + "metrics",
370 + "metrics-exporter-prometheus",
371 + "pin-project-lite",
372 + "tokio",
373 + "tower",
374 + "tower-http",
375 +]
376 +
377 +[[package]]
378 +name = "base64"
379 +version = "0.22.1"
380 +source = "registry+https://github.com/rust-lang/crates.io-index"
381 +checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6"
382 +
383 +[[package]]
384 +name = "base64"
385 +version = "0.23.1"
386 +source = "registry+https://github.com/rust-lang/crates.io-index"
387 +checksum = "ac07cdecf99051d9a5238b80f35af32cdeba5b336e55d957b318b50137e18da5"
388 +
389 +[[package]]
390 +name = "base64ct"
391 +version = "1.8.3"
392 +source = "registry+https://github.com/rust-lang/crates.io-index"
393 +checksum = "2af50177e190e07a26ab74f8b1efbfe2ef87da2116221318cb1c2e82baf7de06"
394 +
395 +[[package]]
396 +name = "bigdecimal"
397 +version = "0.4.11"
398 +source = "registry+https://github.com/rust-lang/crates.io-index"
399 +checksum = "8fa3f3d8cbf4dffcfe4991de61d012bef509a409ecbe9dd41049bfe32b4d4653"
400 +dependencies = [
401 + "autocfg",
402 + "libm",
403 + "num-bigint",
404 + "num-integer",
405 + "num-traits",
406 + "serde",
407 +]
408 +
409 +[[package]]
410 +name = "bindgen"
411 +version = "0.72.1"
412 +source = "registry+https://github.com/rust-lang/crates.io-index"
413 +checksum = "993776b509cfb49c750f11b8f07a46fa23e0a1386ffc01fb1e7d343efc387895"
414 +dependencies = [
415 + "bitflags",
416 + "cexpr",
417 + "clang-sys",
418 + "itertools",
419 + "proc-macro2",
420 + "quote",
421 + "regex",
422 + "rustc-hash",
423 + "shlex 1.3.0",
424 + "syn 2.0.119",
425 +]
426 +
427 +[[package]]
428 +name = "bitflags"
429 +version = "2.13.2"
430 +source = "registry+https://github.com/rust-lang/crates.io-index"
431 +checksum = "3ded4057c258ba199e2d26386d3af3780957ecaee6c4ef4041c6b4b8b97c0b06"
432 +dependencies = [
433 + "serde_core",
434 +]
435 +
436 +[[package]]
437 +name = "blake2"
438 +version = "0.10.6"
439 +source = "registry+https://github.com/rust-lang/crates.io-index"
440 +checksum = "46502ad458c9a52b69d4d4d32775c788b7a1b85e8bc9d482d92250fc0e3f8efe"
441 +dependencies = [
442 + "digest",
443 +]
444 +
445 +[[package]]
446 +name = "block-buffer"
447 +version = "0.10.4"
448 +source = "registry+https://github.com/rust-lang/crates.io-index"
449 +checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71"
450 +dependencies = [
451 + "generic-array",
452 +]
453 +
454 +[[package]]
455 +name = "blocking"
456 +version = "1.7.0"
457 +source = "registry+https://github.com/rust-lang/crates.io-index"
458 +checksum = "a70e4329df6cb94385eed412ec92375c3cdd8a6e502493d1229b6414e4036dfa"
459 +dependencies = [
460 + "async-channel 2.5.0",
461 + "async-task",
462 + "futures-io",
463 + "futures-lite",
464 + "piper",
465 +]
466 +
467 +[[package]]
468 +name = "borsh"
469 +version = "1.8.1"
470 +source = "registry+https://github.com/rust-lang/crates.io-index"
471 +checksum = "553c5d846a6ba5150c65e3b1b8ec073bcf1abc20f9b7220de384a4443ea4e20a"
472 +dependencies = [
473 + "borsh-derive",
474 + "bytes",
475 + "cfg_aliases",
476 +]
477 +
478 +[[package]]
479 +name = "borsh-derive"
480 +version = "1.8.1"
481 +source = "registry+https://github.com/rust-lang/crates.io-index"
482 +checksum = "12cdfe656708a01f89b451a7d36466e6fe6c414de0aa18fc54f864f6f9ca9f56"
483 +dependencies = [
484 + "once_cell",
485 + "proc-macro-crate",
486 + "proc-macro2",
487 + "quote",
488 + "syn 3.0.9",
489 +]
490 +
491 +[[package]]
492 +name = "bumpalo"
493 +version = "3.20.3"
494 +source = "registry+https://github.com/rust-lang/crates.io-index"
495 +checksum = "72f5acc6cb2ba439de613abc23857ec3d78374d8ed5ac84e9d11336e87da8649"
496 +
497 +[[package]]
498 +name = "byteorder"
499 +version = "1.5.0"
500 +source = "registry+https://github.com/rust-lang/crates.io-index"
501 +checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
502 +
503 +[[package]]
504 +name = "bytes"
505 +version = "1.12.1"
506 +source = "registry+https://github.com/rust-lang/crates.io-index"
507 +checksum = "fc652a48c352aef3ea3aed32080501cf3ef6ed5da78602a020c991775b0aff04"
508 +
509 +[[package]]
510 +name = "cc"
511 +version = "1.10.0"
512 +source = "registry+https://github.com/rust-lang/crates.io-index"
513 +checksum = "86e055fa6e3e40ad6187ba25b6855eeb635d5271f8e0f0e1e9a5826b8d75bea0"
514 +dependencies = [
515 + "find-msvc-tools",
516 + "shlex 2.0.1",
517 +]
518 +
519 +[[package]]
520 +name = "cexpr"
521 +version = "0.6.0"
522 +source = "registry+https://github.com/rust-lang/crates.io-index"
523 +checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766"
524 +dependencies = [
525 + "nom",
526 +]
527 +
528 +[[package]]
529 +name = "cfg-if"
530 +version = "1.0.5"
531 +source = "registry+https://github.com/rust-lang/crates.io-index"
532 +checksum = "4e7648175b45a9a48536d676f68d918270699102aa8dab5496df06904c914600"
533 +
534 +[[package]]
535 +name = "cfg_aliases"
536 +version = "0.2.2"
537 +source = "registry+https://github.com/rust-lang/crates.io-index"
538 +checksum = "f079e83a288787bcd14a6aea84cee5c87a67c5a3e660c30f557a3d24761b3527"
539 +
540 +[[package]]
541 +name = "chacha20"
542 +version = "0.10.2"
543 +source = "registry+https://github.com/rust-lang/crates.io-index"
544 +checksum = "65c35e4b699c7e15ccbe7ee35c005e4fc0a278d22238a2857e6ce2dadeda1b06"
545 +dependencies = [
546 + "cfg-if",
547 + "cpufeatures 0.3.1",
548 + "rand_core 0.10.1",
549 +]
550 +
551 +[[package]]
552 +name = "chrono"
553 +version = "0.4.45"
554 +source = "registry+https://github.com/rust-lang/crates.io-index"
555 +checksum = "1aa79e62e7697b8e29b513a68abacf485adcd1fe8284a4316c5ae868e6633327"
556 +dependencies = [
557 + "iana-time-zone",
558 + "js-sys",
559 + "num-traits",
560 + "serde",
561 + "wasm-bindgen",
562 + "windows-link",
563 +]
564 +
565 +[[package]]
566 +name = "clang-sys"
567 +version = "1.9.1"
568 +source = "registry+https://github.com/rust-lang/crates.io-index"
569 +checksum = "157a8ba7b480713b56f4c09fd13fc3e0a22a5dfab8097ba61cbc5feef950788a"
570 +dependencies = [
571 + "glob",
572 + "libc",
573 + "libloading",
574 +]
575 +
576 +[[package]]
577 +name = "clap"
578 +version = "4.6.7"
579 +source = "registry+https://github.com/rust-lang/crates.io-index"
580 +checksum = "aa8876b300ab35ba921adea3dfd70157a46249b33f95c9084ae5709785478946"
581 +dependencies = [
582 + "clap_builder",
583 + "clap_derive",
584 +]
585 +
586 +[[package]]
587 +name = "clap_builder"
588 +version = "4.6.7"
589 +source = "registry+https://github.com/rust-lang/crates.io-index"
590 +checksum = "ec0797fb7aeb1406c84efac526901f7ec3ead2124f946b494e72879d4b54704d"
591 +dependencies = [
592 + "anstream",
593 + "anstyle",
594 + "clap_lex",
595 + "strsim",
596 +]
597 +
598 +[[package]]
599 +name = "clap_derive"
600 +version = "4.6.7"
601 +source = "registry+https://github.com/rust-lang/crates.io-index"
602 +checksum = "f9c751b79415d4e559e3d1fcf128e09e720eb673a06d26cf6f392d37d75b66e0"
603 +dependencies = [
604 + "heck 0.5.0",
605 + "proc-macro2",
606 + "quote",
607 + "syn 3.0.9",
608 +]
609 +
610 +[[package]]
611 +name = "clap_lex"
612 +version = "1.1.1"
613 +source = "registry+https://github.com/rust-lang/crates.io-index"
614 +checksum = "1c133bc6a41be0d194c306b5506d15e6feeea7b1d6604bd3f8310dfb2ca96486"
615 +
616 +[[package]]
617 +name = "colorchoice"
618 +version = "1.0.5"
619 +source = "registry+https://github.com/rust-lang/crates.io-index"
620 +checksum = "1d07550c9036bf2ae0c684c4297d503f838287c83c53686d05370d0e139ae570"
621 +
622 +[[package]]
623 +name = "compact-calendar"
624 +version = "2.1.4"
625 +source = "registry+https://github.com/rust-lang/crates.io-index"
626 +checksum = "365fbf200c0923b3f5dabc58ae81a00447166bc86a2fc53b2ebee4cdb7549712"
627 +dependencies = [
628 + "chrono",
629 +]
630 +
631 +[[package]]
632 +name = "concurrent-queue"
633 +version = "2.5.0"
634 +source = "registry+https://github.com/rust-lang/crates.io-index"
635 +checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973"
636 +dependencies = [
637 + "crossbeam-utils",
638 +]
639 +
640 +[[package]]
641 +name = "const-oid"
642 +version = "0.9.6"
643 +source = "registry+https://github.com/rust-lang/crates.io-index"
644 +checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8"
645 +
646 +[[package]]
647 +name = "core-foundation-sys"
648 +version = "0.8.7"
649 +source = "registry+https://github.com/rust-lang/crates.io-index"
650 +checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b"
651 +
652 +[[package]]
653 +name = "cpufeatures"
654 +version = "0.2.17"
655 +source = "registry+https://github.com/rust-lang/crates.io-index"
656 +checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280"
657 +dependencies = [
658 + "libc",
659 +]
660 +
661 +[[package]]
662 +name = "cpufeatures"
663 +version = "0.3.1"
664 +source = "registry+https://github.com/rust-lang/crates.io-index"
665 +checksum = "5ca28b0ae3115b884660db4118d803791fd6756b6e88f39c0f3f7859060d7566"
666 +dependencies = [
667 + "libc",
668 +]
669 +
670 +[[package]]
671 +name = "crc"
672 +version = "3.4.0"
673 +source = "registry+https://github.com/rust-lang/crates.io-index"
674 +checksum = "5eb8a2a1cd12ab0d987a5d5e825195d372001a4094a0376319d5a0ad71c1ba0d"
675 +dependencies = [
676 + "crc-catalog",
677 +]
678 +
679 +[[package]]
680 +name = "crc-catalog"
681 +version = "2.5.0"
682 +source = "registry+https://github.com/rust-lang/crates.io-index"
683 +checksum = "217698eaf96b4a3f0bc4f3662aaa55bdf913cd54d7204591faa790070c6d0853"
684 +
685 +[[package]]
686 +name = "crc32fast"
687 +version = "1.5.3"
688 +source = "registry+https://github.com/rust-lang/crates.io-index"
689 +checksum = "0ba106e844045ddc02c20768ac4b0b7cb45f2cc2ecbd833ac9f5dacb183c2055"
690 +dependencies = [
691 + "cfg-if",
692 +]
693 +
694 +[[package]]
695 +name = "crossbeam-epoch"
696 +version = "0.9.21"
697 +source = "registry+https://github.com/rust-lang/crates.io-index"
698 +checksum = "dc74980687109a3b14c72fd458107bf0baa1da1a1a805e178d15501ba9b86d9d"
699 +dependencies = [
700 + "crossbeam-utils",
701 +]
702 +
703 +[[package]]
704 +name = "crossbeam-queue"
705 +version = "0.3.14"
706 +source = "registry+https://github.com/rust-lang/crates.io-index"
707 +checksum = "03e8bd762f7479489c70ed6c768ddca99d7296857de437a68dcb2a94365b3fae"
708 +dependencies = [
709 + "crossbeam-utils",
710 +]
711 +
712 +[[package]]
713 +name = "crossbeam-utils"
714 +version = "0.8.23"
715 +source = "registry+https://github.com/rust-lang/crates.io-index"
716 +checksum = "a31eee39dddec8330830986fcd7625edb5a24ec90ea038215273bbc3adb08ac6"
717 +
718 +[[package]]
719 +name = "crypto-common"
720 +version = "0.1.7"
721 +source = "registry+https://github.com/rust-lang/crates.io-index"
722 +checksum = "78c8292055d1c1df0cce5d180393dc8cce0abec0a7102adb6c7b1eef6016d60a"
723 +dependencies = [
724 + "generic-array",
725 + "typenum",
726 +]
727 +
728 +[[package]]
729 +name = "darling"
730 +version = "0.20.11"
731 +source = "registry+https://github.com/rust-lang/crates.io-index"
732 +checksum = "fc7f46116c46ff9ab3eb1597a45688b6715c6e628b5c133e288e709a29bcb4ee"
733 +dependencies = [
734 + "darling_core",
735 + "darling_macro",
736 +]
737 +
738 +[[package]]
739 +name = "darling_core"
740 +version = "0.20.11"
741 +source = "registry+https://github.com/rust-lang/crates.io-index"
742 +checksum = "0d00b9596d185e565c2207a0b01f8bd1a135483d02d9b7b0a54b11da8d53412e"
743 +dependencies = [
744 + "fnv",
745 + "ident_case",
746 + "proc-macro2",
747 + "quote",
748 + "syn 2.0.119",
749 +]
750 +
751 +[[package]]
752 +name = "darling_macro"
753 +version = "0.20.11"
754 +source = "registry+https://github.com/rust-lang/crates.io-index"
755 +checksum = "fc34b93ccb385b40dc71c6fceac4b2ad23662c7eeb248cf10d529b7e055b6ead"
756 +dependencies = [
757 + "darling_core",
758 + "quote",
759 + "syn 2.0.119",
760 +]
761 +
762 +[[package]]
763 +name = "der"
764 +version = "0.7.10"
765 +source = "registry+https://github.com/rust-lang/crates.io-index"
766 +checksum = "e7c1832837b905bbfb5101e07cc24c8deddf52f93225eee6ead5f4d63d53ddcb"
767 +dependencies = [
768 + "const-oid",
769 + "pem-rfc7468",
770 + "zeroize",
771 +]
772 +
773 +[[package]]
774 +name = "deranged"
775 +version = "0.5.9"
776 +source = "registry+https://github.com/rust-lang/crates.io-index"
777 +checksum = "9e9de72ce2ad1f90dc62fa25f0f430ef85eb4b0d8fa0be4f30373bc40a21d28e"
778 +dependencies = [
779 + "serde_core",
780 +]
781 +
782 +[[package]]
783 +name = "derive_more"
784 +version = "2.1.1"
785 +source = "registry+https://github.com/rust-lang/crates.io-index"
786 +checksum = "d751e9e49156b02b44f9c1815bcb94b984cdcc4396ecc32521c739452808b134"
787 +dependencies = [
788 + "derive_more-impl",
789 +]
790 +
791 +[[package]]
792 +name = "derive_more-impl"
793 +version = "2.1.1"
794 +source = "registry+https://github.com/rust-lang/crates.io-index"
795 +checksum = "799a97264921d8623a957f6c3b9011f3b5492f557bbb7a5a19b7fa6d06ba8dcb"
796 +dependencies = [
797 + "proc-macro2",
798 + "quote",
799 + "rustc_version",
800 + "syn 2.0.119",
801 + "unicode-xid",
802 +]
803 +
804 +[[package]]
805 +name = "digest"
806 +version = "0.10.7"
807 +source = "registry+https://github.com/rust-lang/crates.io-index"
808 +checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292"
809 +dependencies = [
810 + "block-buffer",
811 + "const-oid",
812 + "crypto-common",
813 + "subtle",
814 +]
815 +
816 +[[package]]
817 +name = "displaydoc"
818 +version = "0.2.7"
819 +source = "registry+https://github.com/rust-lang/crates.io-index"
820 +checksum = "c6232dd377dcc64799954cbd3a9bb882e9cdc1308ccd87b1c098f1fb2eaf82a8"
821 +dependencies = [
822 + "proc-macro2",
823 + "quote",
824 + "syn 3.0.9",
825 +]
826 +
827 +[[package]]
828 +name = "dotenvy"
829 +version = "0.15.7"
830 +source = "registry+https://github.com/rust-lang/crates.io-index"
831 +checksum = "1aaf95b3e5c8f23aa320147307562d361db0ae0d51242340f558153b4eb2439b"
832 +
833 +[[package]]
834 +name = "either"
835 +version = "1.19.0"
836 +source = "registry+https://github.com/rust-lang/crates.io-index"
837 +checksum = "0e9c71c2167ca323c882b99918929403426e2373ea17242ff5653e0d5e1058be"
838 +dependencies = [
839 + "serde",
840 +]
841 +
842 +[[package]]
843 +name = "equivalent"
844 +version = "1.0.3"
845 +source = "registry+https://github.com/rust-lang/crates.io-index"
846 +checksum = "00d174d5400e5e8fd687ad1049e2f578285fa914201b1af7e8b112a4546bd826"
847 +
848 +[[package]]
849 +name = "errno"
850 +version = "0.3.14"
851 +source = "registry+https://github.com/rust-lang/crates.io-index"
852 +checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb"
853 +dependencies = [
854 + "libc",
855 + "windows-sys 0.61.2",
856 +]
857 +
858 +[[package]]
859 +name = "etcetera"
860 +version = "0.8.0"
861 +source = "registry+https://github.com/rust-lang/crates.io-index"
862 +checksum = "136d1b5283a1ab77bd9257427ffd09d8667ced0570b6f938942bc7568ed5b943"
863 +dependencies = [
864 + "cfg-if",
865 + "home",
866 + "windows-sys 0.48.0",
867 +]
868 +
869 +[[package]]
870 +name = "event-listener"
871 +version = "2.5.3"
872 +source = "registry+https://github.com/rust-lang/crates.io-index"
873 +checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0"
874 +
875 +[[package]]
876 +name = "event-listener"
877 +version = "5.4.2"
878 +source = "registry+https://github.com/rust-lang/crates.io-index"
879 +checksum = "5a23add41df1562121a9393cb065eab5146a1242410f23a644851e90cfd669d2"
880 +dependencies = [
881 + "parking",
882 + "pin-project-lite",
883 +]
884 +
885 +[[package]]
886 +name = "event-listener-strategy"
887 +version = "0.5.4"
888 +source = "registry+https://github.com/rust-lang/crates.io-index"
889 +checksum = "8be9f3dfaaffdae2972880079a491a1a8bb7cbed0b8dd7a347f668b4150a3b93"
890 +dependencies = [
891 + "event-listener 5.4.2",
892 + "pin-project-lite",
893 +]
894 +
895 +[[package]]
896 +name = "fastrand"
897 +version = "2.5.0"
898 +source = "registry+https://github.com/rust-lang/crates.io-index"
899 +checksum = "da7c62ceae207dd37ea5b845da6a0696c799f85e97da1ab5b7910be3c1c80223"
900 +
901 +[[package]]
902 +name = "fieri-eternal"
903 +version = "0.1.0"
904 +dependencies = [
905 + "anyhow",
906 + "argon2",
907 + "axum",
908 + "axum-htmx",
909 + "axum-prometheus",
910 + "chrono",
911 + "clap",
912 + "log",
913 + "metrics-process",
914 + "migration",
915 + "minijinja",
916 + "minijinja-embed",
917 + "opening-hours",
918 + "rand 0.9.5",
919 + "reqwest",
920 + "sea-orm",
921 + "serde",
922 + "serde_json",
923 + "thiserror",
924 + "tokio",
925 + "tokio-stream",
926 + "tower-http",
927 + "tracing",
928 + "tracing-subscriber",
929 + "uuid",
930 +]
931 +
932 +[[package]]
933 +name = "find-msvc-tools"
934 +version = "0.1.15"
935 +source = "registry+https://github.com/rust-lang/crates.io-index"
936 +checksum = "1c66915cc5391097de7a2b0b972e8505aa33c0df401fd3a6811dbdb32881ba48"
937 +
938 +[[package]]
939 +name = "flate2"
940 +version = "1.1.10"
941 +source = "registry+https://github.com/rust-lang/crates.io-index"
942 +checksum = "6e634e2e0ebac1ee034020da1ca582e17ffe4e0f5e985823721e168928136dcb"
943 +dependencies = [
944 + "crc32fast",
945 + "miniz_oxide",
946 + "zlib-rs",
947 +]
948 +
949 +[[package]]
950 +name = "flume"
951 +version = "0.11.1"
952 +source = "registry+https://github.com/rust-lang/crates.io-index"
953 +checksum = "da0e4dd2a88388a1f4ccc7c9ce104604dab68d9f408dc34cd45823d5a9069095"
954 +dependencies = [
955 + "futures-core",
956 + "futures-sink",
957 + "spin",
958 +]
959 +
960 +[[package]]
961 +name = "fnv"
962 +version = "1.0.7"
963 +source = "registry+https://github.com/rust-lang/crates.io-index"
964 +checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
965 +
966 +[[package]]
967 +name = "foldhash"
968 +version = "0.1.5"
969 +source = "registry+https://github.com/rust-lang/crates.io-index"
970 +checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2"
971 +
972 +[[package]]
973 +name = "foldhash"
974 +version = "0.2.0"
975 +source = "registry+https://github.com/rust-lang/crates.io-index"
976 +checksum = "77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb"
977 +
978 +[[package]]
979 +name = "form_urlencoded"
980 +version = "1.2.2"
981 +source = "registry+https://github.com/rust-lang/crates.io-index"
982 +checksum = "cb4cb245038516f5f85277875cdaa4f7d2c9a0fa0468de06ed190163b1581fcf"
983 +dependencies = [
984 + "percent-encoding",
985 +]
986 +
987 +[[package]]
988 +name = "futures"
989 +version = "0.3.34"
990 +source = "registry+https://github.com/rust-lang/crates.io-index"
991 +checksum = "9a31d2a3fbaaeb2af2368bbdd904aa8e812d3c04a1ee10d3171f52d556e5d0a3"
992 +dependencies = [
993 + "futures-channel",
994 + "futures-core",
995 + "futures-io",
996 + "futures-sink",
997 + "futures-task",
998 + "futures-util",
999 +]
1000 +
1001 +[[package]]
1002 +name = "futures-channel"
1003 +version = "0.3.34"
1004 +source = "registry+https://github.com/rust-lang/crates.io-index"
1005 +checksum = "b1f9e3d69d39e4862ffed03ed071a76f9a13ba1d9109d355b0f0aa6b15e393c4"
1006 +dependencies = [
1007 + "futures-core",
1008 + "futures-sink",
1009 +]
1010 +
1011 +[[package]]
1012 +name = "futures-core"
1013 +version = "0.3.34"
1014 +source = "registry+https://github.com/rust-lang/crates.io-index"
1015 +checksum = "92d699e522242e69e3003b94ecc1f960f3a5e015aa7c5d7486e65ad01dd94f5e"
1016 +
1017 +[[package]]
1018 +name = "futures-executor"
1019 +version = "0.3.34"
1020 +source = "registry+https://github.com/rust-lang/crates.io-index"
1021 +checksum = "031b47cf1a3c6cc8bc2fc76cd437f521619387907d469316e7c0bc278f1f5432"
1022 +dependencies = [
1023 + "futures-core",
1024 + "futures-task",
1025 + "futures-util",
1026 +]
1027 +
1028 +[[package]]
1029 +name = "futures-intrusive"
1030 +version = "0.5.0"
1031 +source = "registry+https://github.com/rust-lang/crates.io-index"
1032 +checksum = "1d930c203dd0b6ff06e0201a4a2fe9149b43c684fd4420555b26d21b1a02956f"
1033 +dependencies = [
1034 + "futures-core",
1035 + "lock_api",
1036 + "parking_lot",
1037 +]
1038 +
1039 +[[package]]
1040 +name = "futures-io"
1041 +version = "0.3.34"
1042 +source = "registry+https://github.com/rust-lang/crates.io-index"
1043 +checksum = "53c0fa8157de1303bfffdaa1cc2a673bfffb60102f76b0ef4441659124373fed"
1044 +
1045 +[[package]]
1046 +name = "futures-lite"
1047 +version = "2.6.1"
1048 +source = "registry+https://github.com/rust-lang/crates.io-index"
1049 +checksum = "f78e10609fe0e0b3f4157ffab1876319b5b0db102a2c60dc4626306dc46b44ad"
1050 +dependencies = [
1051 + "fastrand",
1052 + "futures-core",
1053 + "futures-io",
1054 + "parking",
1055 + "pin-project-lite",
1056 +]
1057 +
1058 +[[package]]
1059 +name = "futures-sink"
1060 +version = "0.3.34"
1061 +source = "registry+https://github.com/rust-lang/crates.io-index"
1062 +checksum = "1944426bf7d03f1d14f708785e4b33efd750b36d48a157b836b3efc15ede8e1d"
1063 +
1064 +[[package]]
1065 +name = "futures-task"
1066 +version = "0.3.34"
1067 +source = "registry+https://github.com/rust-lang/crates.io-index"
1068 +checksum = "cd417de3d1d015fc3bfd2b1ea46dfc7bab72ef86f1cc7cc9c78e728b34a6d1fd"
1069 +
1070 +[[package]]
1071 +name = "futures-util"
1072 +version = "0.3.34"
1073 +source = "registry+https://github.com/rust-lang/crates.io-index"
1074 +checksum = "0d50a92467f8ba5dd6e3ee5d4bd04d73ab2e4e1c44474a0674821dfce14b79bc"
1075 +dependencies = [
1076 + "futures-core",
1077 + "futures-io",
1078 + "futures-sink",
1079 + "futures-task",
1080 + "memchr",
1081 + "pin-project-lite",
1082 + "slab",
1083 +]
1084 +
1085 +[[package]]
1086 +name = "generic-array"
1087 +version = "0.14.7"
1088 +source = "registry+https://github.com/rust-lang/crates.io-index"
1089 +checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a"
1090 +dependencies = [
1091 + "typenum",
1092 + "version_check",
1093 +]
1094 +
1095 +[[package]]
1096 +name = "getrandom"
1097 +version = "0.2.17"
1098 +source = "registry+https://github.com/rust-lang/crates.io-index"
1099 +checksum = "ff2abc00be7fca6ebc474524697ae276ad847ad0a6b3faa4bcb027e9a4614ad0"
1100 +dependencies = [
1101 + "cfg-if",
1102 + "js-sys",
1103 + "libc",
1104 + "wasi",
1105 + "wasm-bindgen",
1106 +]
1107 +
1108 +[[package]]
1109 +name = "getrandom"
1110 +version = "0.3.4"
1111 +source = "registry+https://github.com/rust-lang/crates.io-index"
1112 +checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd"
1113 +dependencies = [
1114 + "cfg-if",
1115 + "libc",
1116 + "r-efi 5.3.0",
1117 + "wasip2",
1118 +]
1119 +
1120 +[[package]]
1121 +name = "getrandom"
1122 +version = "0.4.3"
1123 +source = "registry+https://github.com/rust-lang/crates.io-index"
1124 +checksum = "300e883d756b2e4ec94e02791f39b04b522276138852cfc41d9fb7e904106099"
1125 +dependencies = [
1126 + "cfg-if",
1127 + "js-sys",
1128 + "libc",
1129 + "r-efi 6.0.0",
1130 + "rand_core 0.10.1",
1131 + "wasm-bindgen",
1132 +]
1133 +
1134 +[[package]]
1135 +name = "glob"
1136 +version = "0.3.4"
1137 +source = "registry+https://github.com/rust-lang/crates.io-index"
1138 +checksum = "e4eba85ea1d0a966a983acd07deee566e67395d2d96b6fb39e62b5a833f1eb0b"
1139 +
1140 +[[package]]
1141 +name = "gloo-timers"
1142 +version = "0.3.0"
1143 +source = "registry+https://github.com/rust-lang/crates.io-index"
1144 +checksum = "bbb143cf96099802033e0d4f4963b19fd2e0b728bcf076cd9cf7f6634f092994"
1145 +dependencies = [
1146 + "futures-channel",
1147 + "futures-core",
1148 + "js-sys",
1149 + "wasm-bindgen",
1150 +]
1151 +
1152 +[[package]]
1153 +name = "hashbrown"
1154 +version = "0.15.5"
1155 +source = "registry+https://github.com/rust-lang/crates.io-index"
1156 +checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1"
1157 +dependencies = [
1158 + "allocator-api2",
1159 + "equivalent",
1160 + "foldhash 0.1.5",
1161 +]
1162 +
1163 +[[package]]
1164 +name = "hashbrown"
1165 +version = "0.16.1"
1166 +source = "registry+https://github.com/rust-lang/crates.io-index"
1167 +checksum = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100"
1168 +dependencies = [
1169 + "foldhash 0.2.0",
1170 +]
1171 +
1172 +[[package]]
1173 +name = "hashbrown"
1174 +version = "0.17.1"
1175 +source = "registry+https://github.com/rust-lang/crates.io-index"
1176 +checksum = "ed5909b6e89a2db4456e54cd5f673791d7eca6732202bbf2a9cc504fe2f9b84a"
1177 +
1178 +[[package]]
1179 +name = "hashlink"
1180 +version = "0.10.0"
1181 +source = "registry+https://github.com/rust-lang/crates.io-index"
1182 +checksum = "7382cf6263419f2d8df38c55d7da83da5c18aef87fc7a7fc1fb1e344edfe14c1"
1183 +dependencies = [
1184 + "hashbrown 0.15.5",
1185 +]
1186 +
1187 +[[package]]
1188 +name = "heck"
1189 +version = "0.4.1"
1190 +source = "registry+https://github.com/rust-lang/crates.io-index"
1191 +checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
1192 +
1193 +[[package]]
1194 +name = "heck"
1195 +version = "0.5.0"
1196 +source = "registry+https://github.com/rust-lang/crates.io-index"
1197 +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
1198 +
1199 +[[package]]
1200 +name = "hermit-abi"
1201 +version = "0.5.3"
1202 +source = "registry+https://github.com/rust-lang/crates.io-index"
1203 +checksum = "e17592d60ebacc7d5e169f4663c5f84f9161cc90328abcfe8456f41e4dfcb284"
1204 +
1205 +[[package]]
1206 +name = "hex"
1207 +version = "0.4.3"
1208 +source = "registry+https://github.com/rust-lang/crates.io-index"
1209 +checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"
1210 +
1211 +[[package]]
1212 +name = "hkdf"
1213 +version = "0.12.4"
1214 +source = "registry+https://github.com/rust-lang/crates.io-index"
1215 +checksum = "7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7"
1216 +dependencies = [
1217 + "hmac",
1218 +]
1219 +
1220 +[[package]]
1221 +name = "hmac"
1222 +version = "0.12.1"
1223 +source = "registry+https://github.com/rust-lang/crates.io-index"
1224 +checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e"
1225 +dependencies = [
1226 + "digest",
1227 +]
1228 +
1229 +[[package]]
1230 +name = "home"
1231 +version = "0.5.12"
1232 +source = "registry+https://github.com/rust-lang/crates.io-index"
1233 +checksum = "cc627f471c528ff0c4a49e1d5e60450c8f6461dd6d10ba9dcd3a61d3dff7728d"
1234 +dependencies = [
1235 + "windows-sys 0.61.2",
1236 +]
1237 +
1238 +[[package]]
1239 +name = "http"
1240 +version = "1.5.0"
1241 +source = "registry+https://github.com/rust-lang/crates.io-index"
1242 +checksum = "918d3568bebf352712bc2ef3d46a8bcf1a75b373be6539de198e9105cbbf9ce0"
1243 +dependencies = [
1244 + "bytes",
1245 + "itoa",
1246 +]
1247 +
1248 +[[package]]
1249 +name = "http-body"
1250 +version = "1.1.0"
1251 +source = "registry+https://github.com/rust-lang/crates.io-index"
1252 +checksum = "ca2a8f2913ee65f60facd6a5905613afaa448497a0230cc41ce022d93290bc2c"
1253 +dependencies = [
1254 + "bytes",
1255 + "http",
1256 +]
1257 +
1258 +[[package]]
1259 +name = "http-body-util"
1260 +version = "0.1.5"
1261 +source = "registry+https://github.com/rust-lang/crates.io-index"
1262 +checksum = "23169fe34a5fbcdd3f3862e78fb9b6fccd5f02a6dc6f732547005d45631ce71c"
1263 +dependencies = [
1264 + "bytes",
1265 + "futures-core",
1266 + "http",
1267 + "http-body",
1268 + "pin-project-lite",
1269 +]
1270 +
1271 +[[package]]
1272 +name = "http-range-header"
1273 +version = "0.4.2"
1274 +source = "registry+https://github.com/rust-lang/crates.io-index"
1275 +checksum = "9171a2ea8a68358193d15dd5d70c1c10a2afc3e7e4c5bc92bc9f025cebd7359c"
1276 +
1277 +[[package]]
1278 +name = "httparse"
1279 +version = "1.10.1"
1280 +source = "registry+https://github.com/rust-lang/crates.io-index"
1281 +checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87"
1282 +
1283 +[[package]]
1284 +name = "httpdate"
1285 +version = "1.0.3"
1286 +source = "registry+https://github.com/rust-lang/crates.io-index"
1287 +checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9"
1288 +
1289 +[[package]]
1290 +name = "hyper"
1291 +version = "1.12.0"
1292 +source = "registry+https://github.com/rust-lang/crates.io-index"
1293 +checksum = "2c3e324da4c95177d6291d4c8730197c0d1822f8a9766814a4a44fa5ab797c9c"
1294 +dependencies = [
1295 + "atomic-waker",
1296 + "bytes",
1297 + "futures-core",
1298 + "http",
1299 + "http-body",
1300 + "httparse",
1301 + "httpdate",
1302 + "itoa",
1303 + "pin-project-lite",
1304 + "smallvec",
1305 + "tokio",
1306 + "want",
1307 +]
1308 +
1309 +[[package]]
1310 +name = "hyper-rustls"
1311 +version = "0.27.10"
1312 +source = "registry+https://github.com/rust-lang/crates.io-index"
1313 +checksum = "dfa8e654703247911e29c23fbeaa261834bd9bb74efba2f9acddc37bfb127f53"
1314 +dependencies = [
1315 + "http",
1316 + "hyper",
1317 + "hyper-util",
1318 + "rustls",
1319 + "tokio",
1320 + "tokio-rustls",
1321 + "tower-service",
1322 + "webpki-roots 1.0.11",
1323 +]
1324 +
1325 +[[package]]
1326 +name = "hyper-util"
1327 +version = "0.1.21"
1328 +source = "registry+https://github.com/rust-lang/crates.io-index"
1329 +checksum = "ddc03d96684f9226b8a787cdb71488417b53ab5ea8fdb1dac946cb9431cc8bff"
1330 +dependencies = [
1331 + "base64 0.23.1",
1332 + "bytes",
1333 + "futures-channel",
1334 + "futures-util",
1335 + "http",
1336 + "http-body",
1337 + "httparse",
1338 + "hyper",
1339 + "ipnet",
1340 + "libc",
1341 + "percent-encoding",
1342 + "pin-project-lite",
1343 + "socket2",
1344 + "tokio",
1345 + "tower-service",
1346 + "tracing",
1347 +]
1348 +
1349 +[[package]]
1350 +name = "iana-time-zone"
1351 +version = "0.1.65"
1352 +source = "registry+https://github.com/rust-lang/crates.io-index"
1353 +checksum = "e31bc9ad994ba00e440a8aa5c9ef0ec67d5cb5e5cb0cc7f8b744a35b389cc470"
1354 +dependencies = [
1355 + "android_system_properties",
1356 + "core-foundation-sys",
1357 + "iana-time-zone-haiku",
1358 + "js-sys",
1359 + "log",
1360 + "wasm-bindgen",
1361 + "windows-core",
1362 +]
1363 +
1364 +[[package]]
1365 +name = "iana-time-zone-haiku"
1366 +version = "0.1.2"
1367 +source = "registry+https://github.com/rust-lang/crates.io-index"
1368 +checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f"
1369 +dependencies = [
1370 + "cc",
1371 +]
1372 +
1373 +[[package]]
1374 +name = "icu_collections"
1375 +version = "2.4.0"
1376 +source = "registry+https://github.com/rust-lang/crates.io-index"
1377 +checksum = "fe090a42a0d3140fed8c63263ed1fecc02422cb2f4bfe55cd8de2de1b8e105dd"
1378 +dependencies = [
1379 + "displaydoc",
1380 + "potential_utf",
1381 + "utf8_iter",
1382 + "yoke",
1383 + "zerofrom",
1384 + "zerovec",
1385 +]
1386 +
1387 +[[package]]
1388 +name = "icu_locale_core"
1389 +version = "2.4.0"
1390 +source = "registry+https://github.com/rust-lang/crates.io-index"
1391 +checksum = "25d29b57c17c6528d0dc4c2141cfa2d08200465acb537a3909c8b9b8a4a984c0"
1392 +dependencies = [
1393 + "displaydoc",
1394 + "litemap",
1395 + "tinystr",
1396 + "writeable",
1397 + "zerovec",
1398 +]
1399 +
1400 +[[package]]
1401 +name = "icu_normalizer"
1402 +version = "2.4.0"
1403 +source = "registry+https://github.com/rust-lang/crates.io-index"
1404 +checksum = "404a3b8c486f205c87fe7f23ab6894d84a4ad76d6e4671ae1981ba7def87c599"
1405 +dependencies = [
1406 + "icu_collections",
1407 + "icu_normalizer_data",
1408 + "icu_properties",
1409 + "icu_provider",
1410 + "smallvec",
1411 + "zerovec",
1412 +]
1413 +
1414 +[[package]]
1415 +name = "icu_normalizer_data"
1416 +version = "2.4.0"
1417 +source = "registry+https://github.com/rust-lang/crates.io-index"
1418 +checksum = "20f0088bfb7441f7a37fa0c9e20cb1e9cba1cac6b9ce8cd2a6dc44294f8e8cbc"
1419 +
1420 +[[package]]
1421 +name = "icu_properties"
1422 +version = "2.4.0"
1423 +source = "registry+https://github.com/rust-lang/crates.io-index"
1424 +checksum = "2ea83d991c56158f7cf898bf86436c1dfe7c07ee82fe88951f2695c9f37a379f"
1425 +dependencies = [
1426 + "displaydoc",
1427 + "icu_collections",
1428 + "icu_locale_core",
1429 + "icu_properties_data",
1430 + "icu_provider",
1431 + "zerotrie",
1432 + "zerovec",
1433 +]
1434 +
1435 +[[package]]
1436 +name = "icu_properties_data"
1437 +version = "2.4.0"
1438 +source = "registry+https://github.com/rust-lang/crates.io-index"
1439 +checksum = "b98f29af82d02b163fe50161388350e743bb3107cc8e8c2f7314cb505faddfcf"
1440 +
1441 +[[package]]
1442 +name = "icu_provider"
1443 +version = "2.4.0"
1444 +source = "registry+https://github.com/rust-lang/crates.io-index"
1445 +checksum = "413099315636c588ee8f011190b329b971a09a8fae9d157e01dcae8379468514"
1446 +dependencies = [
1447 + "displaydoc",
1448 + "icu_locale_core",
1449 + "writeable",
1450 + "yoke",
1451 + "zerofrom",
1452 + "zerotrie",
1453 + "zerovec",
1454 +]
1455 +
1456 +[[package]]
1457 +name = "ident_case"
1458 +version = "1.0.1"
1459 +source = "registry+https://github.com/rust-lang/crates.io-index"
1460 +checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39"
1461 +
1462 +[[package]]
1463 +name = "idna"
1464 +version = "1.1.0"
1465 +source = "registry+https://github.com/rust-lang/crates.io-index"
1466 +checksum = "3b0875f23caa03898994f6ddc501886a45c7d3d62d04d2d90788d47be1b1e4de"
1467 +dependencies = [
1468 + "idna_adapter",
1469 + "smallvec",
1470 + "utf8_iter",
1471 +]
1472 +
1473 +[[package]]
1474 +name = "idna_adapter"
1475 +version = "1.2.2"
1476 +source = "registry+https://github.com/rust-lang/crates.io-index"
1477 +checksum = "cb68373c0d6620ef8105e855e7745e18b0d00d3bdb07fb532e434244cdb9a714"
1478 +dependencies = [
1479 + "icu_normalizer",
1480 + "icu_properties",
1481 +]
1482 +
1483 +[[package]]
1484 +name = "indexmap"
1485 +version = "2.14.2"
1486 +source = "registry+https://github.com/rust-lang/crates.io-index"
1487 +checksum = "cc4e190f5d26ca7051642629da2c52fc03bde85a03197c99408dcd291734c855"
1488 +dependencies = [
1489 + "equivalent",
1490 + "hashbrown 0.17.1",
1491 +]
1492 +
1493 +[[package]]
1494 +name = "inherent"
1495 +version = "1.0.14"
1496 +source = "registry+https://github.com/rust-lang/crates.io-index"
1497 +checksum = "bee2c455ca60511a054699102d40ce7153621cb2429558f9eaa600e4499b5984"
1498 +dependencies = [
1499 + "proc-macro2",
1500 + "quote",
1501 + "syn 3.0.9",
1502 +]
1503 +
1504 +[[package]]
1505 +name = "ipnet"
1506 +version = "2.12.2"
1507 +source = "registry+https://github.com/rust-lang/crates.io-index"
1508 +checksum = "791930b43c0d5973160d90a8f3894509f2b273430f5c5c73b668636d0287c5c0"
1509 +
1510 +[[package]]
1511 +name = "is_terminal_polyfill"
1512 +version = "1.70.2"
1513 +source = "registry+https://github.com/rust-lang/crates.io-index"
1514 +checksum = "a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695"
1515 +
1516 +[[package]]
1517 +name = "itertools"
1518 +version = "0.13.0"
1519 +source = "registry+https://github.com/rust-lang/crates.io-index"
1520 +checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186"
1521 +dependencies = [
1522 + "either",
1523 +]
1524 +
1525 +[[package]]
1526 +name = "itoa"
1527 +version = "1.0.18"
1528 +source = "registry+https://github.com/rust-lang/crates.io-index"
1529 +checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682"
1530 +
1531 +[[package]]
1532 +name = "js-sys"
1533 +version = "0.3.106"
1534 +source = "registry+https://github.com/rust-lang/crates.io-index"
1535 +checksum = "7883d941dae510fb2d978fc3fe018c71c9e2892fd38854de3e8b92c2e5ad9cc5"
1536 +dependencies = [
1537 + "cfg-if",
1538 + "futures-util",
1539 + "wasm-bindgen",
1540 +]
1541 +
1542 +[[package]]
1543 +name = "kv-log-macro"
1544 +version = "1.0.7"
1545 +source = "registry+https://github.com/rust-lang/crates.io-index"
1546 +checksum = "0de8b303297635ad57c9f5059fd9cee7a47f8e8daa09df0fcd07dd39fb22977f"
1547 +dependencies = [
1548 + "log",
1549 +]
1550 +
1551 +[[package]]
1552 +name = "lazy_static"
1553 +version = "1.5.1"
1554 +source = "registry+https://github.com/rust-lang/crates.io-index"
1555 +checksum = "20870f649af7073d53e38067b2a84312175d56ea15217e1b15bc83506ec50afb"
1556 +dependencies = [
1557 + "spin",
1558 +]
1559 +
1560 +[[package]]
1561 +name = "libc"
1562 +version = "0.2.191"
1563 +source = "registry+https://github.com/rust-lang/crates.io-index"
1564 +checksum = "65cd87c9a6d60536580b316ad985726104730a5151c99845f2490428ef91240a"
1565 +
1566 +[[package]]
1567 +name = "libloading"
1568 +version = "0.8.9"
1569 +source = "registry+https://github.com/rust-lang/crates.io-index"
1570 +checksum = "d7c4b02199fee7c5d21a5ae7d8cfa79a6ef5bb2fc834d6e9058e89c825efdc55"
1571 +dependencies = [
1572 + "cfg-if",
1573 + "windows-link",
1574 +]
1575 +
1576 +[[package]]
1577 +name = "libm"
1578 +version = "0.2.16"
1579 +source = "registry+https://github.com/rust-lang/crates.io-index"
1580 +checksum = "b6d2cec3eae94f9f509c767b45932f1ada8350c4bdb85af2fcab4a3c14807981"
1581 +
1582 +[[package]]
1583 +name = "libproc"
1584 +version = "0.14.11"
1585 +source = "registry+https://github.com/rust-lang/crates.io-index"
1586 +checksum = "a54ad7278b8bc5301d5ffd2a94251c004feb971feba96c971ea4063645990757"
1587 +dependencies = [
1588 + "bindgen",
1589 + "errno",
1590 + "libc",
1591 +]
1592 +
1593 +[[package]]
1594 +name = "libredox"
1595 +version = "0.1.25"
1596 +source = "registry+https://github.com/rust-lang/crates.io-index"
1597 +checksum = "61ff90caf6077a803a240f62fdbe88645a890bbca49ef8174c3cb0404362171d"
1598 +dependencies = [
1599 + "bitflags",
1600 + "libc",
1601 + "plain",
1602 + "redox_syscall 0.9.5",
1603 +]
1604 +
1605 +[[package]]
1606 +name = "libsqlite3-sys"
1607 +version = "0.30.1"
1608 +source = "registry+https://github.com/rust-lang/crates.io-index"
1609 +checksum = "2e99fb7a497b1e3339bc746195567ed8d3e24945ecd636e3619d20b9de9e9149"
1610 +dependencies = [
1611 + "pkg-config",
1612 + "vcpkg",
1613 +]
1614 +
1615 +[[package]]
1616 +name = "linux-raw-sys"
1617 +version = "0.12.1"
1618 +source = "registry+https://github.com/rust-lang/crates.io-index"
1619 +checksum = "32a66949e030da00e8c7d4434b251670a91556f4144941d37452769c25d58a53"
1620 +
1621 +[[package]]
1622 +name = "litemap"
1623 +version = "0.8.3"
1624 +source = "registry+https://github.com/rust-lang/crates.io-index"
1625 +checksum = "47d9d19d1d6efa0109d2f65ff4c85cddd50bd572e5a00127ab10987290bcefae"
1626 +
1627 +[[package]]
1628 +name = "lock_api"
1629 +version = "0.4.14"
1630 +source = "registry+https://github.com/rust-lang/crates.io-index"
1631 +checksum = "224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965"
1632 +dependencies = [
1633 + "scopeguard",
1634 +]
1635 +
1636 +[[package]]
1637 +name = "log"
1638 +version = "0.4.34"
1639 +source = "registry+https://github.com/rust-lang/crates.io-index"
1640 +checksum = "f9f8bd3e56ce4dfc153cf470fffbfa98c7620958b312ca5c3a4b8d5181fd13c6"
1641 +dependencies = [
1642 + "value-bag",
1643 +]
1644 +
1645 +[[package]]
1646 +name = "lru-slab"
1647 +version = "0.1.3"
1648 +source = "registry+https://github.com/rust-lang/crates.io-index"
1649 +checksum = "4050469837a6ff301cd14c1f8f24f88549e6d548f24f64e2148eb0f72cebc51f"
1650 +
1651 +[[package]]
1652 +name = "mac_address"
1653 +version = "1.2.1"
1654 +source = "registry+https://github.com/rust-lang/crates.io-index"
1655 +checksum = "f3d0581a75c45969c63afd2bb87b1d8b25cfcc556c7a918cf9bb13b0fe8d2381"
1656 +dependencies = [
1657 + "nix",
1658 + "serde",
1659 + "windows-sys 0.61.2",
1660 +]
1661 +
1662 +[[package]]
1663 +name = "mach2"
1664 +version = "0.6.0"
1665 +source = "registry+https://github.com/rust-lang/crates.io-index"
1666 +checksum = "dae608c151f68243f2b000364e1f7b186d9c29845f7d2d85bd31b9ad77ad552b"
1667 +
1668 +[[package]]
1669 +name = "matchers"
1670 +version = "0.2.0"
1671 +source = "registry+https://github.com/rust-lang/crates.io-index"
1672 +checksum = "d1525a2a28c7f4fa0fc98bb91ae755d1e2d1505079e05539e35bc876b5d65ae9"
1673 +dependencies = [
1674 + "regex-automata",
1675 +]
1676 +
1677 +[[package]]
1678 +name = "matchit"
1679 +version = "0.8.4"
1680 +source = "registry+https://github.com/rust-lang/crates.io-index"
1681 +checksum = "47e1ffaa40ddd1f3ed91f717a33c8c0ee23fff369e3aa8772b9605cc1d22f4c3"
1682 +
1683 +[[package]]
1684 +name = "md-5"
1685 +version = "0.10.6"
1686 +source = "registry+https://github.com/rust-lang/crates.io-index"
1687 +checksum = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf"
1688 +dependencies = [
1689 + "cfg-if",
1690 + "digest",
1691 +]
1692 +
1693 +[[package]]
1694 +name = "memchr"
1695 +version = "2.8.3"
1696 +source = "registry+https://github.com/rust-lang/crates.io-index"
1697 +checksum = "cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98"
1698 +
1699 +[[package]]
1700 +name = "memo-map"
1701 +version = "0.3.4"
1702 +source = "registry+https://github.com/rust-lang/crates.io-index"
1703 +checksum = "5449c8c750f1a07ea702bbd212bd999fceece9b3d1508b17023b3e174583124b"
1704 +
1705 +[[package]]
1706 +name = "memoffset"
1707 +version = "0.9.1"
1708 +source = "registry+https://github.com/rust-lang/crates.io-index"
1709 +checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a"
1710 +dependencies = [
1711 + "autocfg",
1712 +]
1713 +
1714 +[[package]]
1715 +name = "metrics"
1716 +version = "0.24.6"
1717 +source = "registry+https://github.com/rust-lang/crates.io-index"
1718 +checksum = "89550ee9f79e88fef3119de263694973a8adb26c21d75322164fb8c493039fe2"
1719 +dependencies = [
1720 + "portable-atomic",
1721 + "rapidhash",
1722 +]
1723 +
1724 +[[package]]
1725 +name = "metrics-exporter-prometheus"
1726 +version = "0.17.2"
1727 +source = "registry+https://github.com/rust-lang/crates.io-index"
1728 +checksum = "2b166dea96003ee2531cf14833efedced545751d800f03535801d833313f8c15"
1729 +dependencies = [
1730 + "base64 0.22.1",
1731 + "indexmap",
1732 + "metrics",
1733 + "metrics-util",
1734 + "quanta",
1735 + "thiserror",
1736 +]
1737 +
1738 +[[package]]
1739 +name = "metrics-process"
1740 +version = "2.4.3"
1741 +source = "registry+https://github.com/rust-lang/crates.io-index"
1742 +checksum = "4268d87f64a752f5a651314fc683f04da10be65701ea3e721ba4d74f79163cac"
1743 +dependencies = [
1744 + "libc",
1745 + "libproc",
1746 + "mach2",
1747 + "metrics",
1748 + "once_cell",
1749 + "procfs",
1750 + "rlimit",
1751 + "windows",
1752 +]
1753 +
1754 +[[package]]
1755 +name = "metrics-util"
1756 +version = "0.20.4"
1757 +source = "registry+https://github.com/rust-lang/crates.io-index"
1758 +checksum = "96f8722f8562635f92f8ed992f26df0532266eb03d5202607c20c0d7e9745e13"
1759 +dependencies = [
1760 + "crossbeam-epoch",
1761 + "crossbeam-utils",
1762 + "hashbrown 0.16.1",
1763 + "metrics",
1764 + "quanta",
1765 + "rand 0.9.5",
1766 + "rand_xoshiro",
1767 + "rapidhash",
1768 + "sketches-ddsketch",
1769 +]
1770 +
1771 +[[package]]
1772 +name = "migration"
1773 +version = "0.1.0"
1774 +dependencies = [
1775 + "async-std",
1776 + "sea-orm-migration",
1777 +]
1778 +
1779 +[[package]]
1780 +name = "mime"
1781 +version = "0.3.17"
1782 +source = "registry+https://github.com/rust-lang/crates.io-index"
1783 +checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a"
1784 +
1785 +[[package]]
1786 +name = "mime_guess"
1787 +version = "2.0.5"
1788 +source = "registry+https://github.com/rust-lang/crates.io-index"
1789 +checksum = "f7c44f8e672c00fe5308fa235f821cb4198414e1c77935c1ab6948d3fd78550e"
1790 +dependencies = [
1791 + "mime",
1792 + "unicase",
1793 +]
1794 +
1795 +[[package]]
1796 +name = "minijinja"
1797 +version = "2.24.0"
1798 +source = "registry+https://github.com/rust-lang/crates.io-index"
1799 +checksum = "86886cf6dbf4e614b19c9a1eec9775f021869d7eadde0fc73921a81b90c9b4c9"
1800 +dependencies = [
1801 + "memo-map",
1802 + "percent-encoding",
1803 + "serde",
1804 + "serde_json",
1805 +]
1806 +
1807 +[[package]]
1808 +name = "minijinja-embed"
1809 +version = "2.24.0"
1810 +source = "registry+https://github.com/rust-lang/crates.io-index"
1811 +checksum = "c2795289c499a1331f73166ff8b8e0e68fdc81ef0b385eecb0e4de96f1638b66"
1812 +
1813 +[[package]]
1814 +name = "minimal-lexical"
1815 +version = "0.2.1"
1816 +source = "registry+https://github.com/rust-lang/crates.io-index"
1817 +checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
1818 +
1819 +[[package]]
1820 +name = "miniz_oxide"
1821 +version = "0.9.1"
1822 +source = "registry+https://github.com/rust-lang/crates.io-index"
1823 +checksum = "b63fbc4a50860e98e7b2aa7804ded1db5cbc3aff9193adaff57a6931bf7c4b4c"
1824 +dependencies = [
1825 + "adler2",
1826 + "simd-adler32",
1827 +]
1828 +
1829 +[[package]]
1830 +name = "mio"
1831 +version = "1.2.4"
1832 +source = "registry+https://github.com/rust-lang/crates.io-index"
1833 +checksum = "1788edb87fdc09c7e26304471e2f5be8cdefb1b6930d6e3985fc02ff53bf86ee"
1834 +dependencies = [
1835 + "libc",
1836 + "wasi",
1837 + "windows-sys 0.61.2",
1838 +]
1839 +
1840 +[[package]]
1841 +name = "nix"
1842 +version = "0.31.3"
1843 +source = "registry+https://github.com/rust-lang/crates.io-index"
1844 +checksum = "cf20d2fde8ff38632c426f1165ed7436270b44f199fc55284c38276f9db47c3d"
1845 +dependencies = [
1846 + "bitflags",
1847 + "cfg-if",
1848 + "cfg_aliases",
1849 + "libc",
1850 + "memoffset",
1851 +]
1852 +
1853 +[[package]]
1854 +name = "nom"
1855 +version = "7.1.3"
1856 +source = "registry+https://github.com/rust-lang/crates.io-index"
1857 +checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a"
1858 +dependencies = [
1859 + "memchr",
1860 + "minimal-lexical",
1861 +]
1862 +
1863 +[[package]]
1864 +name = "nu-ansi-term"
1865 +version = "0.50.3"
1866 +source = "registry+https://github.com/rust-lang/crates.io-index"
1867 +checksum = "7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5"
1868 +dependencies = [
1869 + "windows-sys 0.61.2",
1870 +]
1871 +
1872 +[[package]]
1873 +name = "num-bigint"
1874 +version = "0.4.8"
1875 +source = "registry+https://github.com/rust-lang/crates.io-index"
1876 +checksum = "c89e69e7e0f03bea5ef08013795c25018e101932225a656383bd384495ecc367"
1877 +dependencies = [
1878 + "num-integer",
1879 + "num-traits",
1880 +]
1881 +
1882 +[[package]]
1883 +name = "num-bigint-dig"
1884 +version = "0.8.6"
1885 +source = "registry+https://github.com/rust-lang/crates.io-index"
1886 +checksum = "e661dda6640fad38e827a6d4a310ff4763082116fe217f279885c97f511bb0b7"
1887 +dependencies = [
1888 + "lazy_static",
1889 + "libm",
1890 + "num-integer",
1891 + "num-iter",
1892 + "num-traits",
1893 + "rand 0.8.8",
1894 + "smallvec",
1895 + "zeroize",
1896 +]
1897 +
1898 +[[package]]
1899 +name = "num-conv"
1900 +version = "0.2.2"
1901 +source = "registry+https://github.com/rust-lang/crates.io-index"
1902 +checksum = "521739c6d2bac4aa25192232afe6841231376b2b26d4d9fae5ecf8ca5772e441"
1903 +
1904 +[[package]]
1905 +name = "num-integer"
1906 +version = "0.1.47"
1907 +source = "registry+https://github.com/rust-lang/crates.io-index"
1908 +checksum = "7ce2d95d4b3734dc35aa2f45e1aa22cd416814592a4f9d9205e11affd5b8e10b"
1909 +dependencies = [
1910 + "num-traits",
1911 +]
1912 +
1913 +[[package]]
1914 +name = "num-iter"
1915 +version = "0.1.46"
1916 +source = "registry+https://github.com/rust-lang/crates.io-index"
1917 +checksum = "c92800bd69a1eac91786bcfe9da64a897eb72911b8dc3095decbd07429e8048b"
1918 +dependencies = [
1919 + "num-integer",
1920 + "num-traits",
1921 +]
1922 +
1923 +[[package]]
1924 +name = "num-traits"
1925 +version = "0.2.19"
1926 +source = "registry+https://github.com/rust-lang/crates.io-index"
1927 +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841"
1928 +dependencies = [
1929 + "autocfg",
1930 + "libm",
1931 +]
1932 +
1933 +[[package]]
1934 +name = "once_cell"
1935 +version = "1.21.4"
1936 +source = "registry+https://github.com/rust-lang/crates.io-index"
1937 +checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50"
1938 +
1939 +[[package]]
1940 +name = "once_cell_polyfill"
1941 +version = "1.70.2"
1942 +source = "registry+https://github.com/rust-lang/crates.io-index"
1943 +checksum = "384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe"
1944 +
1945 +[[package]]
1946 +name = "opening-hours"
1947 +version = "2.1.4"
1948 +source = "registry+https://github.com/rust-lang/crates.io-index"
1949 +checksum = "2a437c95d38cb5ea0607f4bce6e458f3afb83b810e621aa7a5d63c460da62d65"
1950 +dependencies = [
1951 + "chrono",
1952 + "compact-calendar",
1953 + "flate2",
1954 + "opening-hours-syntax",
1955 + "sunrise",
1956 +]
1957 +
1958 +[[package]]
1959 +name = "opening-hours-syntax"
1960 +version = "2.1.4"
1961 +source = "registry+https://github.com/rust-lang/crates.io-index"
1962 +checksum = "5ab3f2a858d057c70e242877d293b2123e2ac164da7e8d66edc5b377c2f51670"
1963 +dependencies = [
1964 + "chrono",
1965 + "pest",
1966 + "pest_derive",
1967 +]
1968 +
1969 +[[package]]
1970 +name = "ordered-float"
1971 +version = "4.6.0"
1972 +source = "registry+https://github.com/rust-lang/crates.io-index"
1973 +checksum = "7bb71e1b3fa6ca1c61f383464aaf2bb0e2f8e772a1f01d486832464de363b951"
1974 +dependencies = [
1975 + "num-traits",
1976 +]
1977 +
1978 +[[package]]
1979 +name = "ouroboros"
1980 +version = "0.18.5"
1981 +source = "registry+https://github.com/rust-lang/crates.io-index"
1982 +checksum = "1e0f050db9c44b97a94723127e6be766ac5c340c48f2c4bb3ffa11713744be59"
1983 +dependencies = [
1984 + "aliasable",
1985 + "ouroboros_macro",
1986 + "static_assertions",
1987 +]
1988 +
1989 +[[package]]
1990 +name = "ouroboros_macro"
1991 +version = "0.18.5"
1992 +source = "registry+https://github.com/rust-lang/crates.io-index"
1993 +checksum = "3c7028bdd3d43083f6d8d4d5187680d0d3560d54df4cc9d752005268b41e64d0"
1994 +dependencies = [
1995 + "heck 0.4.1",
1996 + "proc-macro2",
1997 + "proc-macro2-diagnostics",
1998 + "quote",
1999 + "syn 2.0.119",
2000 +]
2001 +
2002 +[[package]]
2003 +name = "parking"
2004 +version = "2.2.1"
2005 +source = "registry+https://github.com/rust-lang/crates.io-index"
2006 +checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba"
2007 +
2008 +[[package]]
2009 +name = "parking_lot"
2010 +version = "0.12.5"
2011 +source = "registry+https://github.com/rust-lang/crates.io-index"
2012 +checksum = "93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a"
2013 +dependencies = [
2014 + "lock_api",
2015 + "parking_lot_core",
2016 +]
2017 +
2018 +[[package]]
2019 +name = "parking_lot_core"
2020 +version = "0.9.12"
2021 +source = "registry+https://github.com/rust-lang/crates.io-index"
2022 +checksum = "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1"
2023 +dependencies = [
2024 + "cfg-if",
2025 + "libc",
2026 + "redox_syscall 0.5.18",
2027 + "smallvec",
2028 + "windows-link",
2029 +]
2030 +
2031 +[[package]]
2032 +name = "password-hash"
2033 +version = "0.5.0"
2034 +source = "registry+https://github.com/rust-lang/crates.io-index"
2035 +checksum = "346f04948ba92c43e8469c1ee6736c7563d71012b17d40745260fe106aac2166"
2036 +dependencies = [
2037 + "base64ct",
2038 + "rand_core 0.6.4",
2039 + "subtle",
2040 +]
2041 +
2042 +[[package]]
2043 +name = "pem-rfc7468"
2044 +version = "0.7.0"
2045 +source = "registry+https://github.com/rust-lang/crates.io-index"
2046 +checksum = "88b39c9bfcfc231068454382784bb460aae594343fb030d46e9f50a645418412"
2047 +dependencies = [
2048 + "base64ct",
2049 +]
2050 +
2051 +[[package]]
2052 +name = "percent-encoding"
2053 +version = "2.3.2"
2054 +source = "registry+https://github.com/rust-lang/crates.io-index"
2055 +checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220"
2056 +
2057 +[[package]]
2058 +name = "pest"
2059 +version = "2.9.5"
2060 +source = "registry+https://github.com/rust-lang/crates.io-index"
2061 +checksum = "a8db75153506001cb36ed924f08cadc862eb3f8c4d0d534139f29074769d7660"
2062 +dependencies = [
2063 + "memchr",
2064 + "pest_stack_guard",
2065 + "ucd-trie",
2066 +]
2067 +
2068 +[[package]]
2069 +name = "pest_derive"
2070 +version = "2.9.5"
2071 +source = "registry+https://github.com/rust-lang/crates.io-index"
2072 +checksum = "20aa17e11fb35664b67d5214a0afac57a360d231b6ec53d6eba0700b27d933b4"
2073 +dependencies = [
2074 + "pest",
2075 + "pest_generator",
2076 +]
2077 +
2078 +[[package]]
2079 +name = "pest_generator"
2080 +version = "2.9.5"
2081 +source = "registry+https://github.com/rust-lang/crates.io-index"
2082 +checksum = "626ec5afccf44ccbfeb2b232316510bb55b4bf34d891afcb0fb07d2b17d7fe9d"
2083 +dependencies = [
2084 + "pest",
2085 + "pest_meta",
2086 + "proc-macro2",
2087 + "quote",
2088 + "syn 3.0.9",
2089 +]
2090 +
2091 +[[package]]
2092 +name = "pest_meta"
2093 +version = "2.9.5"
2094 +source = "registry+https://github.com/rust-lang/crates.io-index"
2095 +checksum = "b3f45b6caa65c1b08186832745159c2529994146340a7bf44168095469720f5d"
2096 +dependencies = [
2097 + "pest",
2098 +]
2099 +
2100 +[[package]]
2101 +name = "pest_stack_guard"
2102 +version = "1.0.0"
2103 +source = "registry+https://github.com/rust-lang/crates.io-index"
2104 +checksum = "97e6cd2217057fa86b6eaa512917e58089d875b957a31e35e7ab729977e0a5f2"
2105 +dependencies = [
2106 + "psm",
2107 + "stacker",
2108 +]
2109 +
2110 +[[package]]
2111 +name = "pgvector"
2112 +version = "0.4.2"
2113 +source = "registry+https://github.com/rust-lang/crates.io-index"
2114 +checksum = "3673cba5b9a124916096a423b806a9f29620972c6c97b08db5f2053e9428b481"
2115 +dependencies = [
2116 + "serde",
2117 +]
2118 +
2119 +[[package]]
2120 +name = "pin-project-lite"
2121 +version = "0.2.17"
2122 +source = "registry+https://github.com/rust-lang/crates.io-index"
2123 +checksum = "a89322df9ebe1c1578d689c92318e070967d1042b512afbe49518723f4e6d5cd"
2124 +
2125 +[[package]]
2126 +name = "pin-utils"
2127 +version = "0.1.1"
2128 +source = "registry+https://github.com/rust-lang/crates.io-index"
2129 +checksum = "13bee6c73da26345c729282832b60b0363cf3dd9f4bfd81d8551b7a1c889a113"
2130 +
2131 +[[package]]
2132 +name = "piper"
2133 +version = "0.2.5"
2134 +source = "registry+https://github.com/rust-lang/crates.io-index"
2135 +checksum = "c835479a4443ded371d6c535cbfd8d31ad92c5d23ae9770a61bc155e4992a3c1"
2136 +dependencies = [
2137 + "atomic-waker",
2138 + "fastrand",
2139 + "futures-io",
2140 +]
2141 +
2142 +[[package]]
2143 +name = "pkcs1"
2144 +version = "0.7.5"
2145 +source = "registry+https://github.com/rust-lang/crates.io-index"
2146 +checksum = "c8ffb9f10fa047879315e6625af03c164b16962a5368d724ed16323b68ace47f"
2147 +dependencies = [
2148 + "der",
2149 + "pkcs8",
2150 + "spki",
2151 +]
2152 +
2153 +[[package]]
2154 +name = "pkcs8"
2155 +version = "0.10.2"
2156 +source = "registry+https://github.com/rust-lang/crates.io-index"
2157 +checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7"
2158 +dependencies = [
2159 + "der",
2160 + "spki",
2161 +]
2162 +
2163 +[[package]]
2164 +name = "pkg-config"
2165 +version = "0.3.34"
2166 +source = "registry+https://github.com/rust-lang/crates.io-index"
2167 +checksum = "f6b464fbc74e149a392436b17d523f769e057cb6877f6a5c4618bc6f11800548"
2168 +
2169 +[[package]]
2170 +name = "plain"
2171 +version = "0.2.3"
2172 +source = "registry+https://github.com/rust-lang/crates.io-index"
2173 +checksum = "b4596b6d070b27117e987119b4dac604f3c58cfb0b191112e24771b2faeac1a6"
2174 +
2175 +[[package]]
2176 +name = "polling"
2177 +version = "3.11.0"
2178 +source = "registry+https://github.com/rust-lang/crates.io-index"
2179 +checksum = "5d0e4f59085d47d8241c88ead0f274e8a0cb551f3625263c05eb8dd897c34218"
2180 +dependencies = [
2181 + "cfg-if",
2182 + "concurrent-queue",
2183 + "hermit-abi",
2184 + "pin-project-lite",
2185 + "rustix",
2186 + "windows-sys 0.61.2",
2187 +]
2188 +
2189 +[[package]]
2190 +name = "portable-atomic"
2191 +version = "1.15.0"
2192 +source = "registry+https://github.com/rust-lang/crates.io-index"
2193 +checksum = "05c8b63e8d9609db387f0324918f81d68fe27748f084ef092fb35954d0539a85"
2194 +
2195 +[[package]]
2196 +name = "potential_utf"
2197 +version = "0.1.6"
2198 +source = "registry+https://github.com/rust-lang/crates.io-index"
2199 +checksum = "d83eb9bc6d8e5cf568e7a1101d60ee05e81ed50ea106026f3d18deeb046d7661"
2200 +dependencies = [
2201 + "zerovec",
2202 +]
2203 +
2204 +[[package]]
2205 +name = "powerfmt"
2206 +version = "0.2.1"
2207 +source = "registry+https://github.com/rust-lang/crates.io-index"
2208 +checksum = "4a6394b9e965e73d0a289ee54f589087e2c676aedf60885baf52c76b771e4958"
2209 +
2210 +[[package]]
2211 +name = "ppv-lite86"
2212 +version = "0.2.21"
2213 +source = "registry+https://github.com/rust-lang/crates.io-index"
2214 +checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9"
2215 +dependencies = [
2216 + "zerocopy",
2217 +]
2218 +
2219 +[[package]]
2220 +name = "proc-macro-crate"
2221 +version = "3.5.0"
2222 +source = "registry+https://github.com/rust-lang/crates.io-index"
2223 +checksum = "e67ba7e9b2b56446f1d419b1d807906278ffa1a658a8a5d8a39dcb1f5a78614f"
2224 +dependencies = [
2225 + "toml_edit",
2226 +]
2227 +
2228 +[[package]]
2229 +name = "proc-macro2"
2230 +version = "1.0.107"
2231 +source = "registry+https://github.com/rust-lang/crates.io-index"
2232 +checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9"
2233 +dependencies = [
2234 + "unicode-ident",
2235 +]
2236 +
2237 +[[package]]
2238 +name = "proc-macro2-diagnostics"
2239 +version = "0.10.1"
2240 +source = "registry+https://github.com/rust-lang/crates.io-index"
2241 +checksum = "af066a9c399a26e020ada66a034357a868728e72cd426f3adcd35f80d88d88c8"
2242 +dependencies = [
2243 + "proc-macro2",
2244 + "quote",
2245 + "syn 2.0.119",
2246 + "version_check",
2247 + "yansi",
2248 +]
2249 +
2250 +[[package]]
2251 +name = "procfs"
2252 +version = "0.18.0"
2253 +source = "registry+https://github.com/rust-lang/crates.io-index"
2254 +checksum = "25485360a54d6861439d60facef26de713b1e126bf015ec8f98239467a2b82f7"
2255 +dependencies = [
2256 + "bitflags",
2257 + "procfs-core",
2258 + "rustix",
2259 +]
2260 +
2261 +[[package]]
2262 +name = "procfs-core"
2263 +version = "0.18.0"
2264 +source = "registry+https://github.com/rust-lang/crates.io-index"
2265 +checksum = "e6401bf7b6af22f78b563665d15a22e9aef27775b79b149a66ca022468a4e405"
2266 +dependencies = [
2267 + "bitflags",
2268 + "hex",
2269 +]
2270 +
2271 +[[package]]
2272 +name = "psm"
2273 +version = "0.1.24"
2274 +source = "registry+https://github.com/rust-lang/crates.io-index"
2275 +checksum = "200b9ff220857e53e184257720a14553b2f4aa02577d2ed9842d45d4b9654810"
2276 +dependencies = [
2277 + "cc",
2278 +]
2279 +
2280 +[[package]]
2281 +name = "quanta"
2282 +version = "0.12.6"
2283 +source = "registry+https://github.com/rust-lang/crates.io-index"
2284 +checksum = "f3ab5a9d756f0d97bdc89019bd2e4ea098cf9cde50ee7564dde6b81ccc8f06c7"
2285 +dependencies = [
2286 + "crossbeam-utils",
2287 + "libc",
2288 + "once_cell",
2289 + "raw-cpuid",
2290 + "wasi",
2291 + "web-sys",
2292 + "winapi",
2293 +]
2294 +
2295 +[[package]]
2296 +name = "quinn"
2297 +version = "0.11.12"
2298 +source = "registry+https://github.com/rust-lang/crates.io-index"
2299 +checksum = "4051e23e9185c255a7e33ef59cdbca87a22d359052eecd22fc6b901fb37d9d11"
2300 +dependencies = [
2301 + "bytes",
2302 + "cfg_aliases",
2303 + "pin-project-lite",
2304 + "quinn-proto",
2305 + "quinn-udp",
2306 + "rustc-hash",
2307 + "rustls",
2308 + "socket2",
2309 + "thiserror",
2310 + "tokio",
2311 + "tracing",
2312 + "web-time",
2313 +]
2314 +
2315 +[[package]]
2316 +name = "quinn-proto"
2317 +version = "0.11.19"
2318 +source = "registry+https://github.com/rust-lang/crates.io-index"
2319 +checksum = "0e750cca55fe4f0439a15d0bb529da9651e79993e8e72c61a899a36d462befbe"
2320 +dependencies = [
2321 + "bytes",
2322 + "getrandom 0.4.3",
2323 + "lru-slab",
2324 + "rand 0.10.3",
2325 + "rand_pcg",
2326 + "ring",
2327 + "rustc-hash",
2328 + "rustls",
2329 + "rustls-pki-types",
2330 + "slab",
2331 + "thiserror",
2332 + "tinyvec",
2333 + "tracing",
2334 + "web-time",
2335 +]
2336 +
2337 +[[package]]
2338 +name = "quinn-udp"
2339 +version = "0.5.16"
2340 +source = "registry+https://github.com/rust-lang/crates.io-index"
2341 +checksum = "af66907df18639dcf4db56ca65490cabc4b27a97dbadd96f2926cca73298f016"
2342 +dependencies = [
2343 + "cfg_aliases",
2344 + "libc",
2345 + "once_cell",
2346 + "socket2",
2347 + "tracing",
2348 + "windows-sys 0.61.2",
2349 +]
2350 +
2351 +[[package]]
2352 +name = "quote"
2353 +version = "1.0.47"
2354 +source = "registry+https://github.com/rust-lang/crates.io-index"
2355 +checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001"
2356 +dependencies = [
2357 + "proc-macro2",
2358 +]
2359 +
2360 +[[package]]
2361 +name = "r-efi"
2362 +version = "5.3.0"
2363 +source = "registry+https://github.com/rust-lang/crates.io-index"
2364 +checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f"
2365 +
2366 +[[package]]
2367 +name = "r-efi"
2368 +version = "6.0.0"
2369 +source = "registry+https://github.com/rust-lang/crates.io-index"
2370 +checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf"
2371 +
2372 +[[package]]
2373 +name = "rand"
2374 +version = "0.8.8"
2375 +source = "registry+https://github.com/rust-lang/crates.io-index"
2376 +checksum = "e058c7de0b26af77780c769414d6257830bb240f3c38477dbc2c16e5f54d6d4c"
2377 +dependencies = [
2378 + "libc",
2379 + "rand_chacha 0.3.1",
2380 + "rand_core 0.6.4",
2381 +]
2382 +
2383 +[[package]]
2384 +name = "rand"
2385 +version = "0.9.5"
2386 +source = "registry+https://github.com/rust-lang/crates.io-index"
2387 +checksum = "b9ef1d0d795eb7d84685bca4f72f3649f064e6641543d3a8c415898726a57b41"
2388 +dependencies = [
2389 + "rand_chacha 0.9.0",
2390 + "rand_core 0.9.5",
2391 +]
2392 +
2393 +[[package]]
2394 +name = "rand"
2395 +version = "0.10.3"
2396 +source = "registry+https://github.com/rust-lang/crates.io-index"
2397 +checksum = "65c9fb96cbc91e3478eaae79a69fcd3f1ae4ad052e471fe6732fff548984b4af"
2398 +dependencies = [
2399 + "chacha20",
2400 + "getrandom 0.4.3",
2401 + "rand_core 0.10.1",
2402 +]
2403 +
2404 +[[package]]
2405 +name = "rand_chacha"
2406 +version = "0.3.1"
2407 +source = "registry+https://github.com/rust-lang/crates.io-index"
2408 +checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
2409 +dependencies = [
2410 + "ppv-lite86",
2411 + "rand_core 0.6.4",
2412 +]
2413 +
2414 +[[package]]
2415 +name = "rand_chacha"
2416 +version = "0.9.0"
2417 +source = "registry+https://github.com/rust-lang/crates.io-index"
2418 +checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb"
2419 +dependencies = [
2420 + "ppv-lite86",
2421 + "rand_core 0.9.5",
2422 +]
2423 +
2424 +[[package]]
2425 +name = "rand_core"
2426 +version = "0.6.4"
2427 +source = "registry+https://github.com/rust-lang/crates.io-index"
2428 +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
2429 +dependencies = [
2430 + "getrandom 0.2.17",
2431 +]
2432 +
2433 +[[package]]
2434 +name = "rand_core"
2435 +version = "0.9.5"
2436 +source = "registry+https://github.com/rust-lang/crates.io-index"
2437 +checksum = "76afc826de14238e6e8c374ddcc1fa19e374fd8dd986b0d2af0d02377261d83c"
2438 +dependencies = [
2439 + "getrandom 0.3.4",
2440 +]
2441 +
2442 +[[package]]
2443 +name = "rand_core"
2444 +version = "0.10.1"
2445 +source = "registry+https://github.com/rust-lang/crates.io-index"
2446 +checksum = "63b8176103e19a2643978565ca18b50549f6101881c443590420e4dc998a3c69"
2447 +
2448 +[[package]]
2449 +name = "rand_pcg"
2450 +version = "0.10.2"
2451 +source = "registry+https://github.com/rust-lang/crates.io-index"
2452 +checksum = "caa0f4137e1c0a72f4c651489402276c8e8e1cf081f3b0ba156d2cbeef09e86a"
2453 +dependencies = [
2454 + "rand_core 0.10.1",
2455 +]
2456 +
2457 +[[package]]
2458 +name = "rand_xoshiro"
2459 +version = "0.7.0"
2460 +source = "registry+https://github.com/rust-lang/crates.io-index"
2461 +checksum = "f703f4665700daf5512dcca5f43afa6af89f09db47fb56be587f80636bda2d41"
2462 +dependencies = [
2463 + "rand_core 0.9.5",
2464 +]
2465 +
2466 +[[package]]
2467 +name = "rapidhash"
2468 +version = "4.5.1"
2469 +source = "registry+https://github.com/rust-lang/crates.io-index"
2470 +checksum = "5da7e78a036ce858e8d55b7e7dc8ba3a88b78350fd2155d3591bbd966b58589e"
2471 +dependencies = [
2472 + "rustversion",
2473 +]
2474 +
2475 +[[package]]
2476 +name = "raw-cpuid"
2477 +version = "11.6.0"
2478 +source = "registry+https://github.com/rust-lang/crates.io-index"
2479 +checksum = "498cd0dc59d73224351ee52a95fee0f1a617a2eae0e7d9d720cc622c73a54186"
2480 +dependencies = [
2481 + "bitflags",
2482 +]
2483 +
2484 +[[package]]
2485 +name = "redox_syscall"
2486 +version = "0.5.18"
2487 +source = "registry+https://github.com/rust-lang/crates.io-index"
2488 +checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d"
2489 +dependencies = [
2490 + "bitflags",
2491 +]
2492 +
2493 +[[package]]
2494 +name = "redox_syscall"
2495 +version = "0.9.5"
2496 +source = "registry+https://github.com/rust-lang/crates.io-index"
2497 +checksum = "580c875845b41ecb1564ad1ae4703044cef774145e3d7a94dc2b3fa7c97868fd"
2498 +dependencies = [
2499 + "bitflags",
2500 +]
2501 +
2502 +[[package]]
2503 +name = "regex"
2504 +version = "1.13.1"
2505 +source = "registry+https://github.com/rust-lang/crates.io-index"
2506 +checksum = "f020237b6c8eed93db2e2cb53c00c60a8e1bc73da7d073199a1180401450218d"
2507 +dependencies = [
2508 + "aho-corasick",
2509 + "memchr",
2510 + "regex-automata",
2511 + "regex-syntax",
2512 +]
2513 +
2514 +[[package]]
2515 +name = "regex-automata"
2516 +version = "0.4.18"
2517 +source = "registry+https://github.com/rust-lang/crates.io-index"
2518 +checksum = "ad8553b9b26413251cbf30e620595c7a41b3887f03da04579c0e6b0d6a06b4b2"
2519 +dependencies = [
2520 + "aho-corasick",
2521 + "memchr",
2522 + "regex-syntax",
2523 +]
2524 +
2525 +[[package]]
2526 +name = "regex-syntax"
2527 +version = "0.8.11"
2528 +source = "registry+https://github.com/rust-lang/crates.io-index"
2529 +checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4"
2530 +
2531 +[[package]]
2532 +name = "reqwest"
2533 +version = "0.12.28"
2534 +source = "registry+https://github.com/rust-lang/crates.io-index"
2535 +checksum = "eddd3ca559203180a307f12d114c268abf583f59b03cb906fd0b3ff8646c1147"
2536 +dependencies = [
2537 + "base64 0.22.1",
2538 + "bytes",
2539 + "futures-core",
2540 + "http",
2541 + "http-body",
2542 + "http-body-util",
2543 + "hyper",
2544 + "hyper-rustls",
2545 + "hyper-util",
2546 + "js-sys",
2547 + "log",
2548 + "percent-encoding",
2549 + "pin-project-lite",
2550 + "quinn",
2551 + "rustls",
2552 + "rustls-pki-types",
2553 + "serde",
2554 + "serde_json",
2555 + "serde_urlencoded",
2556 + "sync_wrapper",
2557 + "tokio",
2558 + "tokio-rustls",
2559 + "tower",
2560 + "tower-http",
2561 + "tower-service",
2562 + "url",
2563 + "wasm-bindgen",
2564 + "wasm-bindgen-futures",
2565 + "web-sys",
2566 + "webpki-roots 1.0.11",
2567 +]
2568 +
2569 +[[package]]
2570 +name = "ring"
2571 +version = "0.17.14"
2572 +source = "registry+https://github.com/rust-lang/crates.io-index"
2573 +checksum = "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7"
2574 +dependencies = [
2575 + "cc",
2576 + "cfg-if",
2577 + "getrandom 0.2.17",
2578 + "libc",
2579 + "untrusted",
2580 + "windows-sys 0.52.0",
2581 +]
2582 +
2583 +[[package]]
2584 +name = "rlimit"
2585 +version = "0.11.0"
2586 +source = "registry+https://github.com/rust-lang/crates.io-index"
2587 +checksum = "f35ee2729c56bb610f6dba436bf78135f728b7373bdffae2ec815b2d3eb98cc3"
2588 +dependencies = [
2589 + "libc",
2590 +]
2591 +
2592 +[[package]]
2593 +name = "rsa"
2594 +version = "0.9.10"
2595 +source = "registry+https://github.com/rust-lang/crates.io-index"
2596 +checksum = "b8573f03f5883dcaebdfcf4725caa1ecb9c15b2ef50c43a07b816e06799bb12d"
2597 +dependencies = [
2598 + "const-oid",
2599 + "digest",
2600 + "num-bigint-dig",
2601 + "num-integer",
2602 + "num-traits",
2603 + "pkcs1",
2604 + "pkcs8",
2605 + "rand_core 0.6.4",
2606 + "signature",
2607 + "spki",
2608 + "subtle",
2609 + "zeroize",
2610 +]
2611 +
2612 +[[package]]
2613 +name = "rust_decimal"
2614 +version = "1.43.0"
2615 +source = "registry+https://github.com/rust-lang/crates.io-index"
2616 +checksum = "7653272e75dcac41dc199fbea6f5797633994fafd339943c06c9af16bf29cd3a"
2617 +dependencies = [
2618 + "arrayvec",
2619 + "borsh",
2620 + "bytes",
2621 + "num-traits",
2622 + "rand 0.8.8",
2623 + "rand 0.9.5",
2624 + "serde",
2625 + "serde_json",
2626 + "wasm-bindgen",
2627 +]
2628 +
2629 +[[package]]
2630 +name = "rustc-hash"
2631 +version = "2.1.3"
2632 +source = "registry+https://github.com/rust-lang/crates.io-index"
2633 +checksum = "6b1e7f9a428571be2dc5bc0505c13fb6bf936822b894ec87abf8a08a4e51742d"
2634 +
2635 +[[package]]
2636 +name = "rustc_version"
2637 +version = "0.4.1"
2638 +source = "registry+https://github.com/rust-lang/crates.io-index"
2639 +checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92"
2640 +dependencies = [
2641 + "semver",
2642 +]
2643 +
2644 +[[package]]
2645 +name = "rustix"
2646 +version = "1.1.6"
2647 +source = "registry+https://github.com/rust-lang/crates.io-index"
2648 +checksum = "e5e76742e5294153d4dde1207dbec5bdd81eef6fabdc0d2118babadabfd858aa"
2649 +dependencies = [
2650 + "bitflags",
2651 + "errno",
2652 + "libc",
2653 + "linux-raw-sys",
2654 + "windows-sys 0.61.2",
2655 +]
2656 +
2657 +[[package]]
2658 +name = "rustls"
2659 +version = "0.23.46"
2660 +source = "registry+https://github.com/rust-lang/crates.io-index"
2661 +checksum = "48e13bd8c0e9365c43cfa5c9e8f9ad49d3c8444926c9aac819e0e4dc503c8fdf"
2662 +dependencies = [
2663 + "once_cell",
2664 + "ring",
2665 + "rustls-pki-types",
2666 + "rustls-webpki",
2667 + "subtle",
2668 + "zeroize",
2669 +]
2670 +
2671 +[[package]]
2672 +name = "rustls-pki-types"
2673 +version = "1.15.1"
2674 +source = "registry+https://github.com/rust-lang/crates.io-index"
2675 +checksum = "2f4925028c7eb5d1fcdaf196971378ed9d2c1c4efc7dc5d011256f76c99c0a96"
2676 +dependencies = [
2677 + "web-time",
2678 + "zeroize",
2679 +]
2680 +
2681 +[[package]]
2682 +name = "rustls-webpki"
2683 +version = "0.103.16"
2684 +source = "registry+https://github.com/rust-lang/crates.io-index"
2685 +checksum = "4443b1b6d39d7c663139942cc4558262562d2c84123bb6282ef177009ca8b281"
2686 +dependencies = [
2687 + "ring",
2688 + "rustls-pki-types",
2689 + "untrusted",
2690 +]
2691 +
2692 +[[package]]
2693 +name = "rustversion"
2694 +version = "1.0.23"
2695 +source = "registry+https://github.com/rust-lang/crates.io-index"
2696 +checksum = "cf54715a573b99ac80df0bc206da022bcd442c974952c7b9720069370852e21f"
2697 +
2698 +[[package]]
2699 +name = "ryu"
2700 +version = "1.0.23"
2701 +source = "registry+https://github.com/rust-lang/crates.io-index"
2702 +checksum = "9774ba4a74de5f7b1c1451ed6cd5285a32eddb5cccb8cc655a4e50009e06477f"
2703 +
2704 +[[package]]
2705 +name = "scopeguard"
2706 +version = "1.2.0"
2707 +source = "registry+https://github.com/rust-lang/crates.io-index"
2708 +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
2709 +
2710 +[[package]]
2711 +name = "sea-bae"
2712 +version = "0.2.2"
2713 +source = "registry+https://github.com/rust-lang/crates.io-index"
2714 +checksum = "260bbc7148a8d6818ac5032a1b9970da1a68bdd723d45b12d59f7c1bf3565e24"
2715 +dependencies = [
2716 + "heck 0.4.1",
2717 + "proc-macro2",
2718 + "quote",
2719 + "syn 2.0.119",
2720 +]
2721 +
2722 +[[package]]
2723 +name = "sea-orm"
2724 +version = "1.1.20"
2725 +source = "registry+https://github.com/rust-lang/crates.io-index"
2726 +checksum = "2dc312fedd460a47ea563911761d254a84e7b51d8cc73ec92c929e78f33fa957"
2727 +dependencies = [
2728 + "async-stream",
2729 + "async-trait",
2730 + "bigdecimal",
2731 + "chrono",
2732 + "derive_more",
2733 + "futures-util",
2734 + "log",
2735 + "mac_address",
2736 + "ouroboros",
2737 + "pgvector",
2738 + "rust_decimal",
2739 + "sea-orm-macros",
2740 + "sea-query",
2741 + "sea-query-binder",
2742 + "serde",
2743 + "serde_json",
2744 + "sqlx",
2745 + "strum",
2746 + "thiserror",
2747 + "time",
2748 + "tracing",
2749 + "url",
2750 + "uuid",
2751 +]
2752 +
2753 +[[package]]
2754 +name = "sea-orm-cli"
2755 +version = "1.1.20"
2756 +source = "registry+https://github.com/rust-lang/crates.io-index"
2757 +checksum = "da80ebcdb44571e86f03a2bdcb5532136a87397f366f38bbce64673fc5e6a450"
2758 +dependencies = [
2759 + "chrono",
2760 + "clap",
2761 + "dotenvy",
2762 + "glob",
2763 + "regex",
2764 + "sea-schema",
2765 + "sqlx",
2766 + "tokio",
2767 + "tracing",
2768 + "tracing-subscriber",
2769 + "url",
2770 +]
2771 +
2772 +[[package]]
2773 +name = "sea-orm-macros"
2774 +version = "1.1.20"
2775 +source = "registry+https://github.com/rust-lang/crates.io-index"
2776 +checksum = "9b9a3f90e336ec74803e8eb98c61bc98754c1adfba3b4f84d946237b752b1c88"
2777 +dependencies = [
2778 + "heck 0.5.0",
2779 + "proc-macro2",
2780 + "quote",
2781 + "sea-bae",
2782 + "syn 2.0.119",
2783 + "unicode-ident",
2784 +]
2785 +
2786 +[[package]]
2787 +name = "sea-orm-migration"
2788 +version = "1.1.20"
2789 +source = "registry+https://github.com/rust-lang/crates.io-index"
2790 +checksum = "07c577f2959277e936c1d08109acd1e08fc36a95ef29ec028190ba82cad8f96e"
2791 +dependencies = [
2792 + "async-trait",
2793 + "clap",
2794 + "dotenvy",
2795 + "sea-orm",
2796 + "sea-orm-cli",
2797 + "sea-schema",
2798 + "tracing",
2799 + "tracing-subscriber",
2800 +]
2801 +
2802 +[[package]]
2803 +name = "sea-query"
2804 +version = "0.32.7"
2805 +source = "registry+https://github.com/rust-lang/crates.io-index"
2806 +checksum = "8a5d1c518eaf5eda38e5773f902b26ab6d5e9e9e2bb2349ca6c64cf96f80448c"
2807 +dependencies = [
2808 + "bigdecimal",
2809 + "chrono",
2810 + "inherent",
2811 + "ordered-float",
2812 + "rust_decimal",
2813 + "sea-query-derive",
2814 + "serde_json",
2815 + "time",
2816 + "uuid",
2817 +]
2818 +
2819 +[[package]]
2820 +name = "sea-query-binder"
2821 +version = "0.7.0"
2822 +source = "registry+https://github.com/rust-lang/crates.io-index"
2823 +checksum = "b0019f47430f7995af63deda77e238c17323359af241233ec768aba1faea7608"
2824 +dependencies = [
2825 + "bigdecimal",
2826 + "chrono",
2827 + "rust_decimal",
2828 + "sea-query",
2829 + "serde_json",
2830 + "sqlx",
2831 + "time",
2832 + "uuid",
2833 +]
2834 +
2835 +[[package]]
2836 +name = "sea-query-derive"
2837 +version = "0.4.3"
2838 +source = "registry+https://github.com/rust-lang/crates.io-index"
2839 +checksum = "bae0cbad6ab996955664982739354128c58d16e126114fe88c2a493642502aab"
2840 +dependencies = [
2841 + "darling",
2842 + "heck 0.4.1",
2843 + "proc-macro2",
2844 + "quote",
2845 + "syn 2.0.119",
2846 + "thiserror",
2847 +]
2848 +
2849 +[[package]]
2850 +name = "sea-schema"
2851 +version = "0.16.2"
2852 +source = "registry+https://github.com/rust-lang/crates.io-index"
2853 +checksum = "2239ff574c04858ca77485f112afea1a15e53135d3097d0c86509cef1def1338"
2854 +dependencies = [
2855 + "futures",
2856 + "sea-query",
2857 + "sea-query-binder",
2858 + "sea-schema-derive",
2859 + "sqlx",
2860 +]
2861 +
2862 +[[package]]
2863 +name = "sea-schema-derive"
2864 +version = "0.3.0"
2865 +source = "registry+https://github.com/rust-lang/crates.io-index"
2866 +checksum = "debdc8729c37fdbf88472f97fd470393089f997a909e535ff67c544d18cfccf0"
2867 +dependencies = [
2868 + "heck 0.4.1",
2869 + "proc-macro2",
2870 + "quote",
2871 + "syn 2.0.119",
2872 +]
2873 +
2874 +[[package]]
2875 +name = "semver"
2876 +version = "1.0.28"
2877 +source = "registry+https://github.com/rust-lang/crates.io-index"
2878 +checksum = "8a7852d02fc848982e0c167ef163aaff9cd91dc640ba85e263cb1ce46fae51cd"
2879 +
2880 +[[package]]
2881 +name = "serde"
2882 +version = "1.0.229"
2883 +source = "registry+https://github.com/rust-lang/crates.io-index"
2884 +checksum = "4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba"
2885 +dependencies = [
2886 + "serde_core",
2887 + "serde_derive",
2888 +]
2889 +
2890 +[[package]]
2891 +name = "serde_core"
2892 +version = "1.0.229"
2893 +source = "registry+https://github.com/rust-lang/crates.io-index"
2894 +checksum = "67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48"
2895 +dependencies = [
2896 + "serde_derive",
2897 +]
2898 +
2899 +[[package]]
2900 +name = "serde_derive"
2901 +version = "1.0.229"
2902 +source = "registry+https://github.com/rust-lang/crates.io-index"
2903 +checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348"
2904 +dependencies = [
2905 + "proc-macro2",
2906 + "quote",
2907 + "syn 3.0.9",
2908 +]
2909 +
2910 +[[package]]
2911 +name = "serde_json"
2912 +version = "1.0.154"
2913 +source = "registry+https://github.com/rust-lang/crates.io-index"
2914 +checksum = "e7e9cc8b1b85264074fbcc02a88680c4096b1e47df8f739dceb03bf482f04bd6"
2915 +dependencies = [
2916 + "itoa",
2917 + "memchr",
2918 + "serde",
2919 + "serde_core",
2920 + "zmij",
2921 +]
2922 +
2923 +[[package]]
2924 +name = "serde_path_to_error"
2925 +version = "0.1.20"
2926 +source = "registry+https://github.com/rust-lang/crates.io-index"
2927 +checksum = "10a9ff822e371bb5403e391ecd83e182e0e77ba7f6fe0160b795797109d1b457"
2928 +dependencies = [
2929 + "itoa",
2930 + "serde",
2931 + "serde_core",
2932 +]
2933 +
2934 +[[package]]
2935 +name = "serde_urlencoded"
2936 +version = "0.7.1"
2937 +source = "registry+https://github.com/rust-lang/crates.io-index"
2938 +checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd"
2939 +dependencies = [
2940 + "form_urlencoded",
2941 + "itoa",
2942 + "ryu",
2943 + "serde",
2944 +]
2945 +
2946 +[[package]]
2947 +name = "sha1"
2948 +version = "0.10.7"
2949 +source = "registry+https://github.com/rust-lang/crates.io-index"
2950 +checksum = "a978451301f4db1d02937a4ab3ccce137717b81826e79b7d49ffe3244a13c3b8"
2951 +dependencies = [
2952 + "cfg-if",
2953 + "cpufeatures 0.2.17",
2954 + "digest",
2955 +]
2956 +
2957 +[[package]]
2958 +name = "sha2"
2959 +version = "0.10.9"
2960 +source = "registry+https://github.com/rust-lang/crates.io-index"
2961 +checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283"
2962 +dependencies = [
2963 + "cfg-if",
2964 + "cpufeatures 0.2.17",
2965 + "digest",
2966 +]
2967 +
2968 +[[package]]
2969 +name = "sharded-slab"
2970 +version = "0.1.7"
2971 +source = "registry+https://github.com/rust-lang/crates.io-index"
2972 +checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6"
2973 +dependencies = [
2974 + "lazy_static",
2975 +]
2976 +
2977 +[[package]]
2978 +name = "shlex"
2979 +version = "1.3.0"
2980 +source = "registry+https://github.com/rust-lang/crates.io-index"
2981 +checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
2982 +
2983 +[[package]]
2984 +name = "shlex"
2985 +version = "2.0.1"
2986 +source = "registry+https://github.com/rust-lang/crates.io-index"
2987 +checksum = "f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba"
2988 +
2989 +[[package]]
2990 +name = "signal-hook-registry"
2991 +version = "1.4.8"
2992 +source = "registry+https://github.com/rust-lang/crates.io-index"
2993 +checksum = "c4db69cba1110affc0e9f7bcd48bbf87b3f4fc7c61fc9155afd4c469eb3d6c1b"
2994 +dependencies = [
2995 + "errno",
2996 + "libc",
2997 +]
2998 +
2999 +[[package]]
3000 +name = "signature"
3001 +version = "2.2.0"
3002 +source = "registry+https://github.com/rust-lang/crates.io-index"
3003 +checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de"
3004 +dependencies = [
3005 + "digest",
3006 + "rand_core 0.6.4",
3007 +]
3008 +
3009 +[[package]]
3010 +name = "simd-adler32"
3011 +version = "0.3.10"
3012 +source = "registry+https://github.com/rust-lang/crates.io-index"
3013 +checksum = "3a219298ac11a56ea9a6d2120044824d6f01aeb034955e7af7bc16858527deea"
3014 +
3015 +[[package]]
3016 +name = "sketches-ddsketch"
3017 +version = "0.3.2"
3018 +source = "registry+https://github.com/rust-lang/crates.io-index"
3019 +checksum = "45f82fa313d625dd72aaa65ec0c9f8c95407add0510c1bef3c18ea7257ec34ce"
3020 +
3021 +[[package]]
3022 +name = "slab"
3023 +version = "0.4.12"
3024 +source = "registry+https://github.com/rust-lang/crates.io-index"
3025 +checksum = "0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5"
3026 +
3027 +[[package]]
3028 +name = "smallvec"
3029 +version = "1.16.4"
3030 +source = "registry+https://github.com/rust-lang/crates.io-index"
3031 +checksum = "d0d5d4b1981b8bbbb7aed204cae5726d683d5d6ac7e74ec54122ea28f315e7c8"
3032 +dependencies = [
3033 + "serde",
3034 +]
3035 +
3036 +[[package]]
3037 +name = "socket2"
3038 +version = "0.6.5"
3039 +source = "registry+https://github.com/rust-lang/crates.io-index"
3040 +checksum = "c3d1e2c7f27f8d4cb10542a02c49005dbd6e93095799d6f3be745fae9f8fedd4"
3041 +dependencies = [
3042 + "libc",
3043 + "windows-sys 0.61.2",
3044 +]
3045 +
3046 +[[package]]
3047 +name = "spin"
3048 +version = "0.9.9"
3049 +source = "registry+https://github.com/rust-lang/crates.io-index"
3050 +checksum = "3763264f6b73151db08c50ff20d7d8a0b8796e021cdea7ceedad07b80155fa0e"
3051 +dependencies = [
3052 + "lock_api",
3053 +]
3054 +
3055 +[[package]]
3056 +name = "spki"
3057 +version = "0.7.3"
3058 +source = "registry+https://github.com/rust-lang/crates.io-index"
3059 +checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d"
3060 +dependencies = [
3061 + "base64ct",
3062 + "der",
3063 +]
3064 +
3065 +[[package]]
3066 +name = "sqlx"
3067 +version = "0.8.6"
3068 +source = "registry+https://github.com/rust-lang/crates.io-index"
3069 +checksum = "1fefb893899429669dcdd979aff487bd78f4064e5e7907e4269081e0ef7d97dc"
3070 +dependencies = [
3071 + "sqlx-core",
3072 + "sqlx-macros",
3073 + "sqlx-mysql",
3074 + "sqlx-postgres",
3075 + "sqlx-sqlite",
3076 +]
3077 +
3078 +[[package]]
3079 +name = "sqlx-core"
3080 +version = "0.8.6"
3081 +source = "registry+https://github.com/rust-lang/crates.io-index"
3082 +checksum = "ee6798b1838b6a0f69c007c133b8df5866302197e404e8b6ee8ed3e3a5e68dc6"
3083 +dependencies = [
3084 + "base64 0.22.1",
3085 + "bigdecimal",
3086 + "bytes",
3087 + "chrono",
3088 + "crc",
3089 + "crossbeam-queue",
3090 + "either",
3091 + "event-listener 5.4.2",
3092 + "futures-core",
3093 + "futures-intrusive",
3094 + "futures-io",
3095 + "futures-util",
3096 + "hashbrown 0.15.5",
3097 + "hashlink",
3098 + "indexmap",
3099 + "log",
3100 + "memchr",
3101 + "once_cell",
3102 + "percent-encoding",
3103 + "rust_decimal",
3104 + "rustls",
3105 + "serde",
3106 + "serde_json",
3107 + "sha2",
3108 + "smallvec",
3109 + "thiserror",
3110 + "time",
3111 + "tokio",
3112 + "tokio-stream",
3113 + "tracing",
3114 + "url",
3115 + "uuid",
3116 + "webpki-roots 0.26.11",
3117 +]
3118 +
3119 +[[package]]
3120 +name = "sqlx-macros"
3121 +version = "0.8.6"
3122 +source = "registry+https://github.com/rust-lang/crates.io-index"
3123 +checksum = "a2d452988ccaacfbf5e0bdbc348fb91d7c8af5bee192173ac3636b5fb6e6715d"
3124 +dependencies = [
3125 + "proc-macro2",
3126 + "quote",
3127 + "sqlx-core",
3128 + "sqlx-macros-core",
3129 + "syn 2.0.119",
3130 +]
3131 +
3132 +[[package]]
3133 +name = "sqlx-macros-core"
3134 +version = "0.8.6"
3135 +source = "registry+https://github.com/rust-lang/crates.io-index"
3136 +checksum = "19a9c1841124ac5a61741f96e1d9e2ec77424bf323962dd894bdb93f37d5219b"
3137 +dependencies = [
3138 + "dotenvy",
3139 + "either",
3140 + "heck 0.5.0",
3141 + "hex",
3142 + "once_cell",
3143 + "proc-macro2",
3144 + "quote",
3145 + "serde",
3146 + "serde_json",
3147 + "sha2",
3148 + "sqlx-core",
3149 + "sqlx-mysql",
3150 + "sqlx-postgres",
3151 + "sqlx-sqlite",
3152 + "syn 2.0.119",
3153 + "tokio",
3154 + "url",
3155 +]
3156 +
3157 +[[package]]
3158 +name = "sqlx-mysql"
3159 +version = "0.8.6"
3160 +source = "registry+https://github.com/rust-lang/crates.io-index"
3161 +checksum = "aa003f0038df784eb8fecbbac13affe3da23b45194bd57dba231c8f48199c526"
3162 +dependencies = [
3163 + "atoi",
3164 + "base64 0.22.1",
3165 + "bigdecimal",
3166 + "bitflags",
3167 + "byteorder",
3168 + "bytes",
3169 + "chrono",
3170 + "crc",
3171 + "digest",
3172 + "dotenvy",
3173 + "either",
3174 + "futures-channel",
3175 + "futures-core",
3176 + "futures-io",
3177 + "futures-util",
3178 + "generic-array",
3179 + "hex",
3180 + "hkdf",
3181 + "hmac",
3182 + "itoa",
3183 + "log",
3184 + "md-5",
3185 + "memchr",
3186 + "once_cell",
3187 + "percent-encoding",
3188 + "rand 0.8.8",
3189 + "rsa",
3190 + "rust_decimal",
3191 + "serde",
3192 + "sha1",
3193 + "sha2",
3194 + "smallvec",
3195 + "sqlx-core",
3196 + "stringprep",
3197 + "thiserror",
3198 + "time",
3199 + "tracing",
3200 + "uuid",
3201 + "whoami",
3202 +]
3203 +
3204 +[[package]]
3205 +name = "sqlx-postgres"
3206 +version = "0.8.6"
3207 +source = "registry+https://github.com/rust-lang/crates.io-index"
3208 +checksum = "db58fcd5a53cf07c184b154801ff91347e4c30d17a3562a635ff028ad5deda46"
3209 +dependencies = [
3210 + "atoi",
3211 + "base64 0.22.1",
3212 + "bigdecimal",
3213 + "bitflags",
3214 + "byteorder",
3215 + "chrono",
3216 + "crc",
3217 + "dotenvy",
3218 + "etcetera",
3219 + "futures-channel",
3220 + "futures-core",
3221 + "futures-util",
3222 + "hex",
3223 + "hkdf",
3224 + "hmac",
3225 + "home",
3226 + "itoa",
3227 + "log",
3228 + "md-5",
3229 + "memchr",
3230 + "num-bigint",
3231 + "once_cell",
3232 + "rand 0.8.8",
3233 + "rust_decimal",
3234 + "serde",
3235 + "serde_json",
3236 + "sha2",
3237 + "smallvec",
3238 + "sqlx-core",
3239 + "stringprep",
3240 + "thiserror",
3241 + "time",
3242 + "tracing",
3243 + "uuid",
3244 + "whoami",
3245 +]
3246 +
3247 +[[package]]
3248 +name = "sqlx-sqlite"
3249 +version = "0.8.6"
3250 +source = "registry+https://github.com/rust-lang/crates.io-index"
3251 +checksum = "c2d12fe70b2c1b4401038055f90f151b78208de1f9f89a7dbfd41587a10c3eea"
3252 +dependencies = [
3253 + "atoi",
3254 + "chrono",
3255 + "flume",
3256 + "futures-channel",
3257 + "futures-core",
3258 + "futures-executor",
3259 + "futures-intrusive",
3260 + "futures-util",
3261 + "libsqlite3-sys",
3262 + "log",
3263 + "percent-encoding",
3264 + "serde",
3265 + "serde_urlencoded",
3266 + "sqlx-core",
3267 + "thiserror",
3268 + "time",
3269 + "tracing",
3270 + "url",
3271 + "uuid",
3272 +]
3273 +
3274 +[[package]]
3275 +name = "stable_deref_trait"
3276 +version = "1.2.1"
3277 +source = "registry+https://github.com/rust-lang/crates.io-index"
3278 +checksum = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596"
3279 +
3280 +[[package]]
3281 +name = "stacker"
3282 +version = "0.1.25"
3283 +source = "registry+https://github.com/rust-lang/crates.io-index"
3284 +checksum = "707f49d46706bacf8a2b00d51dace3f9de527c13eec3778f570c411f89e69967"
3285 +dependencies = [
3286 + "cc",
3287 + "cfg-if",
3288 + "libc",
3289 + "psm",
3290 + "windows-sys 0.61.2",
3291 +]
3292 +
3293 +[[package]]
3294 +name = "static_assertions"
3295 +version = "1.1.0"
3296 +source = "registry+https://github.com/rust-lang/crates.io-index"
3297 +checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
3298 +
3299 +[[package]]
3300 +name = "stringprep"
3301 +version = "0.1.5"
3302 +source = "registry+https://github.com/rust-lang/crates.io-index"
3303 +checksum = "7b4df3d392d81bd458a8a621b8bffbd2302a12ffe288a9d931670948749463b1"
3304 +dependencies = [
3305 + "unicode-bidi",
3306 + "unicode-normalization",
3307 + "unicode-properties",
3308 +]
3309 +
3310 +[[package]]
3311 +name = "strsim"
3312 +version = "0.11.1"
3313 +source = "registry+https://github.com/rust-lang/crates.io-index"
3314 +checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f"
3315 +
3316 +[[package]]
3317 +name = "strum"
3318 +version = "0.26.3"
3319 +source = "registry+https://github.com/rust-lang/crates.io-index"
3320 +checksum = "8fec0f0aef304996cf250b31b5a10dee7980c85da9d759361292b8bca5a18f06"
3321 +
3322 +[[package]]
3323 +name = "subtle"
3324 +version = "2.6.1"
3325 +source = "registry+https://github.com/rust-lang/crates.io-index"
3326 +checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292"
3327 +
3328 +[[package]]
3329 +name = "sunrise"
3330 +version = "3.0.0"
3331 +source = "registry+https://github.com/rust-lang/crates.io-index"
3332 +checksum = "15eecb5ec59a060dd9fe8f88c48b701abecd6be9d9c28d55081b80bdda73981c"
3333 +dependencies = [
3334 + "chrono",
3335 +]
3336 +
3337 +[[package]]
3338 +name = "syn"
3339 +version = "1.0.109"
3340 +source = "registry+https://github.com/rust-lang/crates.io-index"
3341 +checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
3342 +dependencies = [
3343 + "proc-macro2",
3344 + "quote",
3345 + "unicode-ident",
3346 +]
3347 +
3348 +[[package]]
3349 +name = "syn"
3350 +version = "2.0.119"
3351 +source = "registry+https://github.com/rust-lang/crates.io-index"
3352 +checksum = "872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297"
3353 +dependencies = [
3354 + "proc-macro2",
3355 + "quote",
3356 + "unicode-ident",
3357 +]
3358 +
3359 +[[package]]
3360 +name = "syn"
3361 +version = "3.0.9"
3362 +source = "registry+https://github.com/rust-lang/crates.io-index"
3363 +checksum = "d78c8dee4c7bf0e14673097256fed6142ce9d3b85a408189d07482442145823b"
3364 +dependencies = [
3365 + "proc-macro2",
3366 + "quote",
3367 + "unicode-ident",
3368 +]
3369 +
3370 +[[package]]
3371 +name = "sync_wrapper"
3372 +version = "1.0.2"
3373 +source = "registry+https://github.com/rust-lang/crates.io-index"
3374 +checksum = "0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263"
3375 +dependencies = [
3376 + "futures-core",
3377 +]
3378 +
3379 +[[package]]
3380 +name = "synstructure"
3381 +version = "0.14.0"
3382 +source = "registry+https://github.com/rust-lang/crates.io-index"
3383 +checksum = "901704edd0dfe137f1987838ee4f259e4e063c31371bdb423f7ae38ec6f77f02"
3384 +dependencies = [
3385 + "proc-macro2",
3386 + "quote",
3387 + "syn 3.0.9",
3388 +]
3389 +
3390 +[[package]]
3391 +name = "thiserror"
3392 +version = "2.0.21"
3393 +source = "registry+https://github.com/rust-lang/crates.io-index"
3394 +checksum = "09e52cb86a36cede5cb101bf8908837b3e4c6e5e59fe7fd85c23fb56200d189e"
3395 +dependencies = [
3396 + "thiserror-impl",
3397 +]
3398 +
3399 +[[package]]
3400 +name = "thiserror-impl"
3401 +version = "2.0.21"
3402 +source = "registry+https://github.com/rust-lang/crates.io-index"
3403 +checksum = "fe5197923287db20a58125f0bc85c062f7f2c892de97b18c356f9efb14b28524"
3404 +dependencies = [
3405 + "proc-macro2",
3406 + "quote",
3407 + "syn 3.0.9",
3408 +]
3409 +
3410 +[[package]]
3411 +name = "thread_local"
3412 +version = "1.1.10"
3413 +source = "registry+https://github.com/rust-lang/crates.io-index"
3414 +checksum = "1ad99c4c6d32803332c548b1af0540b357b3f5fc0be8f6c6bfe8b2e6ae784070"
3415 +dependencies = [
3416 + "cfg-if",
3417 +]
3418 +
3419 +[[package]]
3420 +name = "time"
3421 +version = "0.3.55"
3422 +source = "registry+https://github.com/rust-lang/crates.io-index"
3423 +checksum = "cdb87b95ec50ddfa440816d227a17b2ccbdda963a316a727fda0fc4334f7d134"
3424 +dependencies = [
3425 + "deranged",
3426 + "num-conv",
3427 + "powerfmt",
3428 + "serde_core",
3429 + "time-core",
3430 + "time-macros",
3431 +]
3432 +
3433 +[[package]]
3434 +name = "time-core"
3435 +version = "0.1.9"
3436 +source = "registry+https://github.com/rust-lang/crates.io-index"
3437 +checksum = "9e1c906769ad99c88eaa54e728060edef082f8e358ff32030cb7c7d315e81109"
3438 +
3439 +[[package]]
3440 +name = "time-macros"
3441 +version = "0.2.32"
3442 +source = "registry+https://github.com/rust-lang/crates.io-index"
3443 +checksum = "7e689342a48d2ea927c87ea50cabf8594854bf940e9310208848d680d668ed85"
3444 +dependencies = [
3445 + "num-conv",
3446 + "time-core",
3447 +]
3448 +
3449 +[[package]]
3450 +name = "tinystr"
3451 +version = "0.8.5"
3452 +source = "registry+https://github.com/rust-lang/crates.io-index"
3453 +checksum = "abc840c238154d58f9e86b2792261edfde565a17696e1cda1a449de27979801a"
3454 +dependencies = [
3455 + "displaydoc",
3456 + "zerovec",
3457 +]
3458 +
3459 +[[package]]
3460 +name = "tinyvec"
3461 +version = "1.13.3"
3462 +source = "registry+https://github.com/rust-lang/crates.io-index"
3463 +checksum = "fd3ca314f692efd6c868f8408f53fe444634a845f96c028b97d35f6a1f79f0ee"
3464 +
3465 +[[package]]
3466 +name = "tokio"
3467 +version = "1.54.1"
3468 +source = "registry+https://github.com/rust-lang/crates.io-index"
3469 +checksum = "b52fd3255258d26fac7264ab5a76b53c13367136dc011d3d6ad4f8ed070396a3"
3470 +dependencies = [
3471 + "bytes",
3472 + "libc",
3473 + "mio",
3474 + "parking_lot",
3475 + "pin-project-lite",
3476 + "signal-hook-registry",
3477 + "socket2",
3478 + "tokio-macros",
3479 + "windows-sys 0.61.2",
3480 +]
3481 +
3482 +[[package]]
3483 +name = "tokio-macros"
3484 +version = "2.7.2"
3485 +source = "registry+https://github.com/rust-lang/crates.io-index"
3486 +checksum = "78773a2a397f451582ce068015985c33193cf6dea8b74d2a639fe457b2f07b0e"
3487 +dependencies = [
3488 + "proc-macro2",
3489 + "quote",
3490 + "syn 3.0.9",
3491 +]
3492 +
3493 +[[package]]
3494 +name = "tokio-rustls"
3495 +version = "0.26.6"
3496 +source = "registry+https://github.com/rust-lang/crates.io-index"
3497 +checksum = "c9cc2678c2cdd569ef8215e2afd7954ada2ae20b4fdd2c5fe6139a3b02d105db"
3498 +dependencies = [
3499 + "rustls",
3500 + "tokio",
3501 +]
3502 +
3503 +[[package]]
3504 +name = "tokio-stream"
3505 +version = "0.1.19"
3506 +source = "registry+https://github.com/rust-lang/crates.io-index"
3507 +checksum = "a3d06f0b082ba57c26b79407372e57cf2a1e28124f78e9479fe80322cf53420b"
3508 +dependencies = [
3509 + "futures-core",
3510 + "pin-project-lite",
3511 + "tokio",
3512 + "tokio-util",
3513 +]
3514 +
3515 +[[package]]
3516 +name = "tokio-util"
3517 +version = "0.7.20"
3518 +source = "registry+https://github.com/rust-lang/crates.io-index"
3519 +checksum = "e464cf451ba96ebfc6f9b6542f17ee8b8956e33f1e40d9690624e59d7a7f8a4b"
3520 +dependencies = [
3521 + "bytes",
3522 + "futures-core",
3523 + "futures-sink",
3524 + "pin-project-lite",
3525 + "tokio",
3526 +]
3527 +
3528 +[[package]]
3529 +name = "toml_datetime"
3530 +version = "1.1.2+spec-1.1.0"
3531 +source = "registry+https://github.com/rust-lang/crates.io-index"
3532 +checksum = "2b86d767906c6c42421dcba507eb9d203e779497710a47782a224bb871653053"
3533 +dependencies = [
3534 + "serde_core",
3535 +]
3536 +
3537 +[[package]]
3538 +name = "toml_edit"
3539 +version = "0.25.17+spec-1.1.0"
3540 +source = "registry+https://github.com/rust-lang/crates.io-index"
3541 +checksum = "e3641d5bbb5349a79e1020a242d251efbc546ad8048d133958323ce9c40a9c9c"
3542 +dependencies = [
3543 + "indexmap",
3544 + "toml_datetime",
3545 + "toml_parser",
3546 + "winnow",
3547 +]
3548 +
3549 +[[package]]
3550 +name = "toml_parser"
3551 +version = "1.1.5+spec-1.1.0"
3552 +source = "registry+https://github.com/rust-lang/crates.io-index"
3553 +checksum = "baa693a8032d7e1cada7d0041e96126df243179ff061456783ac7f12bda4744c"
3554 +dependencies = [
3555 + "winnow",
3556 +]
3557 +
3558 +[[package]]
3559 +name = "tower"
3560 +version = "0.5.3"
3561 +source = "registry+https://github.com/rust-lang/crates.io-index"
3562 +checksum = "ebe5ef63511595f1344e2d5cfa636d973292adc0eec1f0ad45fae9f0851ab1d4"
3563 +dependencies = [
3564 + "futures-core",
3565 + "futures-util",
3566 + "pin-project-lite",
3567 + "sync_wrapper",
3568 + "tokio",
3569 + "tower-layer",
3570 + "tower-service",
3571 + "tracing",
3572 +]
3573 +
3574 +[[package]]
3575 +name = "tower-http"
3576 +version = "0.6.11"
3577 +source = "registry+https://github.com/rust-lang/crates.io-index"
3578 +checksum = "4cfcf7e2740e6fc6d4d688b4ef00650406bb94adf4731e43c096c3a19fe40840"
3579 +dependencies = [
3580 + "bitflags",
3581 + "bytes",
3582 + "futures-core",
3583 + "futures-util",
3584 + "http",
3585 + "http-body",
3586 + "http-body-util",
3587 + "http-range-header",
3588 + "httpdate",
3589 + "mime",
3590 + "mime_guess",
3591 + "percent-encoding",
3592 + "pin-project-lite",
3593 + "tokio",
3594 + "tokio-util",
3595 + "tower",
3596 + "tower-layer",
3597 + "tower-service",
3598 + "tracing",
3599 + "url",
3600 +]
3601 +
3602 +[[package]]
3603 +name = "tower-layer"
3604 +version = "0.3.3"
3605 +source = "registry+https://github.com/rust-lang/crates.io-index"
3606 +checksum = "121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e"
3607 +
3608 +[[package]]
3609 +name = "tower-service"
3610 +version = "0.3.3"
3611 +source = "registry+https://github.com/rust-lang/crates.io-index"
3612 +checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3"
3613 +
3614 +[[package]]
3615 +name = "tracing"
3616 +version = "0.1.44"
3617 +source = "registry+https://github.com/rust-lang/crates.io-index"
3618 +checksum = "63e71662fa4b2a2c3a26f570f037eb95bb1f85397f3cd8076caed2f026a6d100"
3619 +dependencies = [
3620 + "log",
3621 + "pin-project-lite",
3622 + "tracing-attributes",
3623 + "tracing-core",
3624 +]
3625 +
3626 +[[package]]
3627 +name = "tracing-attributes"
3628 +version = "0.1.31"
3629 +source = "registry+https://github.com/rust-lang/crates.io-index"
3630 +checksum = "7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da"
3631 +dependencies = [
3632 + "proc-macro2",
3633 + "quote",
3634 + "syn 2.0.119",
3635 +]
3636 +
3637 +[[package]]
3638 +name = "tracing-core"
3639 +version = "0.1.36"
3640 +source = "registry+https://github.com/rust-lang/crates.io-index"
3641 +checksum = "db97caf9d906fbde555dd62fa95ddba9eecfd14cb388e4f491a66d74cd5fb79a"
3642 +dependencies = [
3643 + "once_cell",
3644 + "valuable",
3645 +]
3646 +
3647 +[[package]]
3648 +name = "tracing-log"
3649 +version = "0.2.0"
3650 +source = "registry+https://github.com/rust-lang/crates.io-index"
3651 +checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3"
3652 +dependencies = [
3653 + "log",
3654 + "once_cell",
3655 + "tracing-core",
3656 +]
3657 +
3658 +[[package]]
3659 +name = "tracing-subscriber"
3660 +version = "0.3.23"
3661 +source = "registry+https://github.com/rust-lang/crates.io-index"
3662 +checksum = "cb7f578e5945fb242538965c2d0b04418d38ec25c79d160cd279bf0731c8d319"
3663 +dependencies = [
3664 + "matchers",
3665 + "nu-ansi-term",
3666 + "once_cell",
3667 + "regex-automata",
3668 + "sharded-slab",
3669 + "smallvec",
3670 + "thread_local",
3671 + "tracing",
3672 + "tracing-core",
3673 + "tracing-log",
3674 +]
3675 +
3676 +[[package]]
3677 +name = "try-lock"
3678 +version = "0.2.5"
3679 +source = "registry+https://github.com/rust-lang/crates.io-index"
3680 +checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b"
3681 +
3682 +[[package]]
3683 +name = "typenum"
3684 +version = "1.20.1"
3685 +source = "registry+https://github.com/rust-lang/crates.io-index"
3686 +checksum = "b6f5e870be6c3b371b77fe0ee0bafb859fa4964b4404c27de1d380043c4dda20"
3687 +
3688 +[[package]]
3689 +name = "ucd-trie"
3690 +version = "0.1.7"
3691 +source = "registry+https://github.com/rust-lang/crates.io-index"
3692 +checksum = "2896d95c02a80c6d6a5d6e953d479f5ddf2dfdb6a244441010e373ac0fb88971"
3693 +
3694 +[[package]]
3695 +name = "unicase"
3696 +version = "2.10.0"
3697 +source = "registry+https://github.com/rust-lang/crates.io-index"
3698 +checksum = "357cc3acc6a036009fd6c973ed009037c732d60d0b4f6c673e9041497482a28f"
3699 +
3700 +[[package]]
3701 +name = "unicode-bidi"
3702 +version = "0.3.18"
3703 +source = "registry+https://github.com/rust-lang/crates.io-index"
3704 +checksum = "5c1cb5db39152898a79168971543b1cb5020dff7fe43c8dc468b0885f5e29df5"
3705 +
3706 +[[package]]
3707 +name = "unicode-ident"
3708 +version = "1.0.27"
3709 +source = "registry+https://github.com/rust-lang/crates.io-index"
3710 +checksum = "a2c754d6c33795a1c324727428e5a7dedb5b06195f9890bdbcba760d3e246563"
3711 +
3712 +[[package]]
3713 +name = "unicode-normalization"
3714 +version = "0.1.26"
3715 +source = "registry+https://github.com/rust-lang/crates.io-index"
3716 +checksum = "75cd3fb03d5288b3ba9a1ee103ac7e9cbb59f0b03d64f8ddfcc04dd42758a85d"
3717 +dependencies = [
3718 + "tinyvec",
3719 +]
3720 +
3721 +[[package]]
3722 +name = "unicode-properties"
3723 +version = "0.1.4"
3724 +source = "registry+https://github.com/rust-lang/crates.io-index"
3725 +checksum = "7df058c713841ad818f1dc5d3fd88063241cc61f49f5fbea4b951e8cf5a8d71d"
3726 +
3727 +[[package]]
3728 +name = "unicode-xid"
3729 +version = "0.2.6"
3730 +source = "registry+https://github.com/rust-lang/crates.io-index"
3731 +checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853"
3732 +
3733 +[[package]]
3734 +name = "untrusted"
3735 +version = "0.9.0"
3736 +source = "registry+https://github.com/rust-lang/crates.io-index"
3737 +checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1"
3738 +
3739 +[[package]]
3740 +name = "url"
3741 +version = "2.5.8"
3742 +source = "registry+https://github.com/rust-lang/crates.io-index"
3743 +checksum = "ff67a8a4397373c3ef660812acab3268222035010ab8680ec4215f38ba3d0eed"
3744 +dependencies = [
3745 + "form_urlencoded",
3746 + "idna",
3747 + "percent-encoding",
3748 + "serde",
3749 +]
3750 +
3751 +[[package]]
3752 +name = "utf8_iter"
3753 +version = "1.0.4"
3754 +source = "registry+https://github.com/rust-lang/crates.io-index"
3755 +checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be"
3756 +
3757 +[[package]]
3758 +name = "utf8parse"
3759 +version = "0.2.2"
3760 +source = "registry+https://github.com/rust-lang/crates.io-index"
3761 +checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821"
3762 +
3763 +[[package]]
3764 +name = "uuid"
3765 +version = "1.29.0"
3766 +source = "registry+https://github.com/rust-lang/crates.io-index"
3767 +checksum = "4a0e2d11620c50695fe12bbbfde96b3477fe606e7284c22d505c12ce51214514"
3768 +dependencies = [
3769 + "getrandom 0.4.3",
3770 + "js-sys",
3771 + "serde_core",
3772 + "wasm-bindgen",
3773 +]
3774 +
3775 +[[package]]
3776 +name = "valuable"
3777 +version = "0.1.1"
3778 +source = "registry+https://github.com/rust-lang/crates.io-index"
3779 +checksum = "ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65"
3780 +
3781 +[[package]]
3782 +name = "value-bag"
3783 +version = "1.14.1"
3784 +source = "registry+https://github.com/rust-lang/crates.io-index"
3785 +checksum = "2799ffb329a792ecfd902b71306c8a815a6ef1c0470fa9953a6aa4d4cecbe511"
3786 +
3787 +[[package]]
3788 +name = "vcpkg"
3789 +version = "0.2.15"
3790 +source = "registry+https://github.com/rust-lang/crates.io-index"
3791 +checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"
3792 +
3793 +[[package]]
3794 +name = "version_check"
3795 +version = "0.9.5"
3796 +source = "registry+https://github.com/rust-lang/crates.io-index"
3797 +checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a"
3798 +
3799 +[[package]]
3800 +name = "want"
3801 +version = "0.3.2"
3802 +source = "registry+https://github.com/rust-lang/crates.io-index"
3803 +checksum = "ec4cdd0dd910afe868b7ef477227d8d538b46b3075031afee8a9f2acb0a2ed0b"
3804 +dependencies = [
3805 + "try-lock",
3806 +]
3807 +
3808 +[[package]]
3809 +name = "wasi"
3810 +version = "0.11.1+wasi-snapshot-preview1"
3811 +source = "registry+https://github.com/rust-lang/crates.io-index"
3812 +checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b"
3813 +
3814 +[[package]]
3815 +name = "wasip2"
3816 +version = "1.0.4+wasi-0.2.12"
3817 +source = "registry+https://github.com/rust-lang/crates.io-index"
3818 +checksum = "b67efb37e106e55ce722a510d6b5f9c17f083e5fc79afc2badeb12cc313d9487"
3819 +dependencies = [
3820 + "wit-bindgen",
3821 +]
3822 +
3823 +[[package]]
3824 +name = "wasite"
3825 +version = "0.1.0"
3826 +source = "registry+https://github.com/rust-lang/crates.io-index"
3827 +checksum = "b8dad83b4f25e74f184f64c43b150b91efe7647395b42289f38e50566d82855b"
3828 +
3829 +[[package]]
3830 +name = "wasm-bindgen"
3831 +version = "0.2.129"
3832 +source = "registry+https://github.com/rust-lang/crates.io-index"
3833 +checksum = "9bb54f33acc68fd454578d9820b0bde1a1a3d17aa17bb7b6595806d02886d409"
3834 +dependencies = [
3835 + "cfg-if",
3836 + "once_cell",
3837 + "rustversion",
3838 + "serde",
3839 + "wasm-bindgen-macro",
3840 + "wasm-bindgen-shared",
3841 +]
3842 +
3843 +[[package]]
3844 +name = "wasm-bindgen-futures"
3845 +version = "0.4.79"
3846 +source = "registry+https://github.com/rust-lang/crates.io-index"
3847 +checksum = "3cbab34de2d982e9b48e18d216d04c4a6f641066ff19ffb699980f591ee3610e"
3848 +dependencies = [
3849 + "js-sys",
3850 + "tokio",
3851 + "wasm-bindgen",
3852 +]
3853 +
3854 +[[package]]
3855 +name = "wasm-bindgen-macro"
3856 +version = "0.2.129"
3857 +source = "registry+https://github.com/rust-lang/crates.io-index"
3858 +checksum = "2e29d0c35b16e224a7eeb5cd2d25e3e1968fbd65604117b44d3b789d00ee8535"
3859 +dependencies = [
3860 + "quote",
3861 + "wasm-bindgen-macro-support",
3862 +]
3863 +
3864 +[[package]]
3865 +name = "wasm-bindgen-macro-support"
3866 +version = "0.2.129"
3867 +source = "registry+https://github.com/rust-lang/crates.io-index"
3868 +checksum = "6f501a8bc3719dba86ef8ae4728879c08001bea749eb1333ac5b91e040e2a6b7"
3869 +dependencies = [
3870 + "bumpalo",
3871 + "proc-macro2",
3872 + "quote",
3873 + "syn 3.0.9",
3874 + "wasm-bindgen-shared",
3875 +]
3876 +
3877 +[[package]]
3878 +name = "wasm-bindgen-shared"
3879 +version = "0.2.129"
3880 +source = "registry+https://github.com/rust-lang/crates.io-index"
3881 +checksum = "23f0c9c52aa7cd7d77769a4cfe2a9adb1b331f489a41d912ce14513d5ab995c6"
3882 +dependencies = [
3883 + "unicode-ident",
3884 +]
3885 +
3886 +[[package]]
3887 +name = "web-sys"
3888 +version = "0.3.106"
3889 +source = "registry+https://github.com/rust-lang/crates.io-index"
3890 +checksum = "88261b9deccee56594c11a3460c462c41f58d148598fe70ad77070126a68aba4"
3891 +dependencies = [
3892 + "js-sys",
3893 + "wasm-bindgen",
3894 +]
3895 +
3896 +[[package]]
3897 +name = "web-time"
3898 +version = "1.1.0"
3899 +source = "registry+https://github.com/rust-lang/crates.io-index"
3900 +checksum = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb"
3901 +dependencies = [
3902 + "js-sys",
3903 + "wasm-bindgen",
3904 +]
3905 +
3906 +[[package]]
3907 +name = "webpki-roots"
3908 +version = "0.26.11"
3909 +source = "registry+https://github.com/rust-lang/crates.io-index"
3910 +checksum = "521bc38abb08001b01866da9f51eb7c5d647a19260e00054a8c7fd5f9e57f7a9"
3911 +dependencies = [
3912 + "webpki-roots 1.0.11",
3913 +]
3914 +
3915 +[[package]]
3916 +name = "webpki-roots"
3917 +version = "1.0.11"
3918 +source = "registry+https://github.com/rust-lang/crates.io-index"
3919 +checksum = "f5f280bbb2b287bc8e7de7e3852945a0ff50d1bbcb5ed42b6c7a568c546df171"
3920 +dependencies = [
3921 + "rustls-pki-types",
3922 +]
3923 +
3924 +[[package]]
3925 +name = "whoami"
3926 +version = "1.6.1"
3927 +source = "registry+https://github.com/rust-lang/crates.io-index"
3928 +checksum = "5d4a4db5077702ca3015d3d02d74974948aba2ad9e12ab7df718ee64ccd7e97d"
3929 +dependencies = [
3930 + "libredox",
3931 + "wasite",
3932 +]
3933 +
3934 +[[package]]
3935 +name = "winapi"
3936 +version = "0.3.9"
3937 +source = "registry+https://github.com/rust-lang/crates.io-index"
3938 +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
3939 +dependencies = [
3940 + "winapi-i686-pc-windows-gnu",
3941 + "winapi-x86_64-pc-windows-gnu",
3942 +]
3943 +
3944 +[[package]]
3945 +name = "winapi-i686-pc-windows-gnu"
3946 +version = "0.4.0"
3947 +source = "registry+https://github.com/rust-lang/crates.io-index"
3948 +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
3949 +
3950 +[[package]]
3951 +name = "winapi-x86_64-pc-windows-gnu"
3952 +version = "0.4.0"
3953 +source = "registry+https://github.com/rust-lang/crates.io-index"
3954 +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
3955 +
3956 +[[package]]
3957 +name = "windows"
3958 +version = "0.62.2"
3959 +source = "registry+https://github.com/rust-lang/crates.io-index"
3960 +checksum = "527fadee13e0c05939a6a05d5bd6eec6cd2e3dbd648b9f8e447c6518133d8580"
3961 +dependencies = [
3962 + "windows-collections",
3963 + "windows-core",
3964 + "windows-future",
3965 + "windows-numerics",
3966 +]
3967 +
3968 +[[package]]
3969 +name = "windows-collections"
3970 +version = "0.3.2"
3971 +source = "registry+https://github.com/rust-lang/crates.io-index"
3972 +checksum = "23b2d95af1a8a14a3c7367e1ed4fc9c20e0a26e79551b1454d72583c97cc6610"
3973 +dependencies = [
3974 + "windows-core",
3975 +]
3976 +
3977 +[[package]]
3978 +name = "windows-core"
3979 +version = "0.62.2"
3980 +source = "registry+https://github.com/rust-lang/crates.io-index"
3981 +checksum = "b8e83a14d34d0623b51dce9581199302a221863196a1dde71a7663a4c2be9deb"
3982 +dependencies = [
3983 + "windows-implement",
3984 + "windows-interface",
3985 + "windows-link",
3986 + "windows-result",
3987 + "windows-strings",
3988 +]
3989 +
3990 +[[package]]
3991 +name = "windows-future"
3992 +version = "0.3.2"
3993 +source = "registry+https://github.com/rust-lang/crates.io-index"
3994 +checksum = "e1d6f90251fe18a279739e78025bd6ddc52a7e22f921070ccdc67dde84c605cb"
3995 +dependencies = [
3996 + "windows-core",
3997 + "windows-link",
3998 + "windows-threading",
3999 +]
4000 +
4001 +[[package]]
4002 +name = "windows-implement"
4003 +version = "0.60.2"
4004 +source = "registry+https://github.com/rust-lang/crates.io-index"
4005 +checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf"
4006 +dependencies = [
4007 + "proc-macro2",
4008 + "quote",
4009 + "syn 2.0.119",
4010 +]
4011 +
4012 +[[package]]
4013 +name = "windows-interface"
4014 +version = "0.59.3"
4015 +source = "registry+https://github.com/rust-lang/crates.io-index"
4016 +checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358"
4017 +dependencies = [
4018 + "proc-macro2",
4019 + "quote",
4020 + "syn 2.0.119",
4021 +]
4022 +
4023 +[[package]]
4024 +name = "windows-link"
4025 +version = "0.2.1"
4026 +source = "registry+https://github.com/rust-lang/crates.io-index"
4027 +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5"
4028 +
4029 +[[package]]
4030 +name = "windows-numerics"
4031 +version = "0.3.1"
4032 +source = "registry+https://github.com/rust-lang/crates.io-index"
4033 +checksum = "6e2e40844ac143cdb44aead537bbf727de9b044e107a0f1220392177d15b0f26"
4034 +dependencies = [
4035 + "windows-core",
4036 + "windows-link",
4037 +]
4038 +
4039 +[[package]]
4040 +name = "windows-result"
4041 +version = "0.4.1"
4042 +source = "registry+https://github.com/rust-lang/crates.io-index"
4043 +checksum = "7781fa89eaf60850ac3d2da7af8e5242a5ea78d1a11c49bf2910bb5a73853eb5"
4044 +dependencies = [
4045 + "windows-link",
4046 +]
4047 +
4048 +[[package]]
4049 +name = "windows-strings"
4050 +version = "0.5.1"
4051 +source = "registry+https://github.com/rust-lang/crates.io-index"
4052 +checksum = "7837d08f69c77cf6b07689544538e017c1bfcf57e34b4c0ff58e6c2cd3b37091"
4053 +dependencies = [
4054 + "windows-link",
4055 +]
4056 +
4057 +[[package]]
4058 +name = "windows-sys"
4059 +version = "0.48.0"
4060 +source = "registry+https://github.com/rust-lang/crates.io-index"
4061 +checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
4062 +dependencies = [
4063 + "windows-targets 0.48.5",
4064 +]
4065 +
4066 +[[package]]
4067 +name = "windows-sys"
4068 +version = "0.52.0"
4069 +source = "registry+https://github.com/rust-lang/crates.io-index"
4070 +checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
4071 +dependencies = [
4072 + "windows-targets 0.52.6",
4073 +]
4074 +
4075 +[[package]]
4076 +name = "windows-sys"
4077 +version = "0.61.2"
4078 +source = "registry+https://github.com/rust-lang/crates.io-index"
4079 +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc"
4080 +dependencies = [
4081 + "windows-link",
4082 +]
4083 +
4084 +[[package]]
4085 +name = "windows-targets"
4086 +version = "0.48.5"
4087 +source = "registry+https://github.com/rust-lang/crates.io-index"
4088 +checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
4089 +dependencies = [
4090 + "windows_aarch64_gnullvm 0.48.5",
4091 + "windows_aarch64_msvc 0.48.5",
4092 + "windows_i686_gnu 0.48.5",
4093 + "windows_i686_msvc 0.48.5",
4094 + "windows_x86_64_gnu 0.48.5",
4095 + "windows_x86_64_gnullvm 0.48.5",
4096 + "windows_x86_64_msvc 0.48.5",
4097 +]
4098 +
4099 +[[package]]
4100 +name = "windows-targets"
4101 +version = "0.52.6"
4102 +source = "registry+https://github.com/rust-lang/crates.io-index"
4103 +checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973"
4104 +dependencies = [
4105 + "windows_aarch64_gnullvm 0.52.6",
4106 + "windows_aarch64_msvc 0.52.6",
4107 + "windows_i686_gnu 0.52.6",
4108 + "windows_i686_gnullvm",
4109 + "windows_i686_msvc 0.52.6",
4110 + "windows_x86_64_gnu 0.52.6",
4111 + "windows_x86_64_gnullvm 0.52.6",
4112 + "windows_x86_64_msvc 0.52.6",
4113 +]
4114 +
4115 +[[package]]
4116 +name = "windows-threading"
4117 +version = "0.2.1"
4118 +source = "registry+https://github.com/rust-lang/crates.io-index"
4119 +checksum = "3949bd5b99cafdf1c7ca86b43ca564028dfe27d66958f2470940f73d86d75b37"
4120 +dependencies = [
4121 + "windows-link",
4122 +]
4123 +
4124 +[[package]]
4125 +name = "windows_aarch64_gnullvm"
4126 +version = "0.48.5"
4127 +source = "registry+https://github.com/rust-lang/crates.io-index"
4128 +checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
4129 +
4130 +[[package]]
4131 +name = "windows_aarch64_gnullvm"
4132 +version = "0.52.6"
4133 +source = "registry+https://github.com/rust-lang/crates.io-index"
4134 +checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3"
4135 +
4136 +[[package]]
4137 +name = "windows_aarch64_msvc"
4138 +version = "0.48.5"
4139 +source = "registry+https://github.com/rust-lang/crates.io-index"
4140 +checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
4141 +
4142 +[[package]]
4143 +name = "windows_aarch64_msvc"
4144 +version = "0.52.6"
4145 +source = "registry+https://github.com/rust-lang/crates.io-index"
4146 +checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469"
4147 +
4148 +[[package]]
4149 +name = "windows_i686_gnu"
4150 +version = "0.48.5"
4151 +source = "registry+https://github.com/rust-lang/crates.io-index"
4152 +checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
4153 +
4154 +[[package]]
4155 +name = "windows_i686_gnu"
4156 +version = "0.52.6"
4157 +source = "registry+https://github.com/rust-lang/crates.io-index"
4158 +checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b"
4159 +
4160 +[[package]]
4161 +name = "windows_i686_gnullvm"
4162 +version = "0.52.6"
4163 +source = "registry+https://github.com/rust-lang/crates.io-index"
4164 +checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66"
4165 +
4166 +[[package]]
4167 +name = "windows_i686_msvc"
4168 +version = "0.48.5"
4169 +source = "registry+https://github.com/rust-lang/crates.io-index"
4170 +checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
4171 +
4172 +[[package]]
4173 +name = "windows_i686_msvc"
4174 +version = "0.52.6"
4175 +source = "registry+https://github.com/rust-lang/crates.io-index"
4176 +checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66"
4177 +
4178 +[[package]]
4179 +name = "windows_x86_64_gnu"
4180 +version = "0.48.5"
4181 +source = "registry+https://github.com/rust-lang/crates.io-index"
4182 +checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
4183 +
4184 +[[package]]
4185 +name = "windows_x86_64_gnu"
4186 +version = "0.52.6"
4187 +source = "registry+https://github.com/rust-lang/crates.io-index"
4188 +checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78"
4189 +
4190 +[[package]]
4191 +name = "windows_x86_64_gnullvm"
4192 +version = "0.48.5"
4193 +source = "registry+https://github.com/rust-lang/crates.io-index"
4194 +checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
4195 +
4196 +[[package]]
4197 +name = "windows_x86_64_gnullvm"
4198 +version = "0.52.6"
4199 +source = "registry+https://github.com/rust-lang/crates.io-index"
4200 +checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d"
4201 +
4202 +[[package]]
4203 +name = "windows_x86_64_msvc"
4204 +version = "0.48.5"
4205 +source = "registry+https://github.com/rust-lang/crates.io-index"
4206 +checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
4207 +
4208 +[[package]]
4209 +name = "windows_x86_64_msvc"
4210 +version = "0.52.6"
4211 +source = "registry+https://github.com/rust-lang/crates.io-index"
4212 +checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
4213 +
4214 +[[package]]
4215 +name = "winnow"
4216 +version = "1.0.4"
4217 +source = "registry+https://github.com/rust-lang/crates.io-index"
4218 +checksum = "23b97319f7b8343df12cc98938e5c3eb436064524c8d2b4e30a1d3a36eecdf81"
4219 +dependencies = [
4220 + "memchr",
4221 +]
4222 +
4223 +[[package]]
4224 +name = "wit-bindgen"
4225 +version = "0.57.1"
4226 +source = "registry+https://github.com/rust-lang/crates.io-index"
4227 +checksum = "1ebf944e87a7c253233ad6766e082e3cd714b5d03812acc24c318f549614536e"
4228 +
4229 +[[package]]
4230 +name = "writeable"
4231 +version = "0.6.4"
4232 +source = "registry+https://github.com/rust-lang/crates.io-index"
4233 +checksum = "3ad82d2a33cdc9674dc7465672f271e096168fcdbe0f799d9e6db8c5892679dc"
4234 +
4235 +[[package]]
4236 +name = "yansi"
4237 +version = "1.0.1"
4238 +source = "registry+https://github.com/rust-lang/crates.io-index"
4239 +checksum = "cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049"
4240 +
4241 +[[package]]
4242 +name = "yoke"
4243 +version = "0.8.4"
4244 +source = "registry+https://github.com/rust-lang/crates.io-index"
4245 +checksum = "417ef3fcf6c300b7dbd25c85531a746931c02ad536f3cf4786ed1e88223340b3"
4246 +dependencies = [
4247 + "stable_deref_trait",
4248 + "yoke-derive",
4249 + "zerofrom",
4250 +]
4251 +
4252 +[[package]]
4253 +name = "yoke-derive"
4254 +version = "0.8.4"
4255 +source = "registry+https://github.com/rust-lang/crates.io-index"
4256 +checksum = "ec8ebde2db3681e8c9980cc27822030e68752690ddfa9473e739aeb4dbde6d71"
4257 +dependencies = [
4258 + "proc-macro2",
4259 + "quote",
4260 + "syn 3.0.9",
4261 + "synstructure",
4262 +]
4263 +
4264 +[[package]]
4265 +name = "zerocopy"
4266 +version = "0.8.63"
4267 +source = "registry+https://github.com/rust-lang/crates.io-index"
4268 +checksum = "e5fe1f8f1b06191a00962174c61aa5005e0bb391a6d80d07e24d115c01a92ed8"
4269 +dependencies = [
4270 + "zerocopy-derive",
4271 +]
4272 +
4273 +[[package]]
4274 +name = "zerocopy-derive"
4275 +version = "0.8.63"
4276 +source = "registry+https://github.com/rust-lang/crates.io-index"
4277 +checksum = "863ad3ac83293fb4d740aedbfdc9240dd8d1a50c1099acd76ce80ce7c7230c7f"
4278 +dependencies = [
4279 + "proc-macro2",
4280 + "quote",
4281 + "syn 2.0.119",
4282 +]
4283 +
4284 +[[package]]
4285 +name = "zerofrom"
4286 +version = "0.1.8"
4287 +source = "registry+https://github.com/rust-lang/crates.io-index"
4288 +checksum = "0ec05a11813ea801ff6d75110ad09cd0824ddba17dfe17128ea0d5f68e6c5272"
4289 +dependencies = [
4290 + "zerofrom-derive",
4291 +]
4292 +
4293 +[[package]]
4294 +name = "zerofrom-derive"
4295 +version = "0.1.8"
4296 +source = "registry+https://github.com/rust-lang/crates.io-index"
4297 +checksum = "f75b4683f6c7f45248d4d64056a24298c6281e0993356d7d1b4a1a962ef10d4a"
4298 +dependencies = [
4299 + "proc-macro2",
4300 + "quote",
4301 + "syn 3.0.9",
4302 + "synstructure",
4303 +]
4304 +
4305 +[[package]]
4306 +name = "zeroize"
4307 +version = "1.9.1"
4308 +source = "registry+https://github.com/rust-lang/crates.io-index"
4309 +checksum = "e13084392c5e4bc371903e2935a5eaeed24905a7511356b883835e18a78f6879"
4310 +
4311 +[[package]]
4312 +name = "zerotrie"
4313 +version = "0.2.5"
4314 +source = "registry+https://github.com/rust-lang/crates.io-index"
4315 +checksum = "4ea269c3bd32f0a32c321907a2ae912ba6f4649bb0fc764a15627e99a7095a3f"
4316 +dependencies = [
4317 + "displaydoc",
4318 + "yoke",
4319 + "zerofrom",
4320 +]
4321 +
4322 +[[package]]
4323 +name = "zerovec"
4324 +version = "0.11.9"
4325 +source = "registry+https://github.com/rust-lang/crates.io-index"
4326 +checksum = "f58a2799cfe9a1670c7ea8edbd52ef8edb93cb37a7f83bf31ba9e35d9dae6a40"
4327 +dependencies = [
4328 + "yoke",
4329 + "zerofrom",
4330 + "zerovec-derive",
4331 +]
4332 +
4333 +[[package]]
4334 +name = "zerovec-derive"
4335 +version = "0.11.7"
4336 +source = "registry+https://github.com/rust-lang/crates.io-index"
4337 +checksum = "c3743ddbf47738d929cd1ae2e199d40d0162979dfe31aef8ae646d2bf00bf97a"
4338 +dependencies = [
4339 + "proc-macro2",
4340 + "quote",
4341 + "syn 3.0.9",
4342 +]
4343 +
4344 +[[package]]
4345 +name = "zlib-rs"
4346 +version = "0.6.8"
4347 +source = "registry+https://github.com/rust-lang/crates.io-index"
4348 +checksum = "b268e58e7c693d7c271f93ffc4ba3b380412554231c85bf61ca7af91042a4112"
4349 +
4350 +[[package]]
4351 +name = "zmij"
4352 +version = "1.0.23"
4353 +source = "registry+https://github.com/rust-lang/crates.io-index"
4354 +checksum = "29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b"
modified Dockerfile
+5 −3
@@ -23,20 +23,22 @@ RUN cd assets \
23 23 # --------------------------------------------------------------------------
24 24 # Stage 2 — rust-builder: build the release binaries.
25 25 # --------------------------------------------------------------------------
26 −FROM rust:1.90-bookworm AS rust-builder
26 +FROM rust:1.98-bookworm AS rust-builder
27 27 WORKDIR /app
28 28 RUN apt-get update \
29 29 && apt-get install -y --no-install-recommends pkg-config libssl-dev ca-certificates \
30 30 && rm -rf /var/lib/apt/lists/*
31 31
32 −COPY Cargo.toml build.rs ./
32 +# Cargo.lock is committed: an app's image should build the same crates every
33 +# time, not whatever resolved on the day.
34 +COPY Cargo.toml Cargo.lock build.rs ./
33 35 COPY migration/Cargo.toml migration/
34 36 COPY migration/src migration/src
35 37 COPY src src
36 38 COPY templates templates
37 39 COPY --from=assets /app/assets/f ./assets/f
38 40
39 −RUN cargo build --release --bin webservice --bin registration-token \
41 +RUN cargo build --release --locked --bin webservice --bin registration-token \
40 42 && mkdir -p /out \
41 43 && cp target/release/webservice /out/app-webservice \
42 44 && cp target/release/registration-token /out/app-registration-token
modified README.md
+13 −0
@@ -213,6 +213,19 @@ All via environment variables (defaults suit local `compose.yml`):
213 213 | `OSM_API_URL` | `https://api.openstreetmap.org` | Tags for places newer than the POI import; empty disables |
214 214 | `DEFAULT_LAT` / `DEFAULT_LON` | Boston | Where the "new area" map opens |
215 215
216 +## Deploying
217 +
218 +`.forgejo/workflows/image.yml` builds the image on every push to `master`
219 +and pushes `ggr.neiam.co/neiam/fieri-forever:{master,latest,<sha>}`; keel
220 +rolls the Deployment. The manifests live in the deployment repo under
221 +`argo-01-bos/fieri-eternal/` (→ https://ff.neiam.org), with a first-deploy
222 +runbook in its README.
223 +
224 +`Cargo.lock` is committed and the image builds `--locked`. The builder is
225 +`rust:1.98`: the opening-hours crate's dependencies need newer than 1.90.
226 +On SIGTERM the server stops accepting, drains for up to 5 s, then exits —
227 +open live-vote streams don't end by themselves, and browsers reconnect.
228 +
216 229 ## Containers
217 230
218 231 ```sh
modified src/bin/webservice.rs
+40 −1
@@ -161,10 +161,49 @@ async fn main() -> anyhow::Result<()> {
161 161
162 162 let listener = tokio::net::TcpListener::bind(&config.bind_address).await?;
163 163 info!("server listening on {}", config.bind_address);
164 − axum::serve(listener, app).await?;
164 + axum::serve(listener, app).with_graceful_shutdown(shutdown_signal()).await?;
165 + info!("shut down");
165 166 Ok(())
166 167 }
167 168
169 +/// Resolves on SIGTERM (what Kubernetes and podman send) or Ctrl-C. As PID 1
170 +/// in a container the process gets no default signal handling, so without
171 +/// this it ignores SIGTERM and is killed after the grace period instead.
172 +///
173 +/// axum then stops accepting and lets in-flight requests finish — but live
174 +/// vote streams (SSE) never finish on their own, so give everything a few
175 +/// seconds and then exit. Browsers' EventSource reconnects by itself, to
176 +/// whichever pod is up.
177 +async fn shutdown_signal() {
178 + let ctrl_c = async {
179 + let _ = tokio::signal::ctrl_c().await;
180 + };
181 + #[cfg(unix)]
182 + let term = async {
183 + match tokio::signal::unix::signal(tokio::signal::unix::SignalKind::terminate()) {
184 + Ok(mut s) => {
185 + s.recv().await;
186 + }
187 + Err(_) => std::future::pending::<()>().await,
188 + }
189 + };
190 + #[cfg(not(unix))]
191 + let term = std::future::pending::<()>();
192 + tokio::select! {
193 + _ = ctrl_c => {},
194 + _ = term => {},
195 + }
196 + info!("shutting down: draining requests for up to {}s", SHUTDOWN_GRACE.as_secs());
197 + tokio::spawn(async {
198 + tokio::time::sleep(SHUTDOWN_GRACE).await;
199 + info!("grace period over; exiting with streams still open");
200 + std::process::exit(0);
201 + });
202 +}
203 +
204 +/// Well inside Kubernetes' default 30 s terminationGracePeriodSeconds.
205 +const SHUTDOWN_GRACE: Duration = Duration::from_secs(5);
206 +
168 207 /// Landing page. htmx `hx-boost` swaps the `#content` region on navigation,
169 208 /// so this can just render the whole page every time.
170 209 async fn root(

Parents: 7049a65