[INFO] cloning repository https://github.com/Stryk91/carbyne-phinance
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Stryk91/carbyne-phinance" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FStryk91%2Fcarbyne-phinance", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FStryk91%2Fcarbyne-phinance'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 4e5ccf25324cc008d32ad185f8cb2acabfde7cc0
[INFO] checking Stryk91/carbyne-phinance against master#656ccbe796ff98def9b555c118e1620c5389e3b2 for pr-133502-24
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FStryk91%2Fcarbyne-phinance" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Stryk91/carbyne-phinance
[INFO] finished tweaking git repo https://github.com/Stryk91/carbyne-phinance
[INFO] tweaked toml for git repo https://github.com/Stryk91/carbyne-phinance written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Stryk91/carbyne-phinance on toolchain 656ccbe796ff98def9b555c118e1620c5389e3b2
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+656ccbe796ff98def9b555c118e1620c5389e3b2" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Stryk91/carbyne-phinance already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+656ccbe796ff98def9b555c118e1620c5389e3b2" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded version-compare v0.0.11
[INFO] [stderr]   Downloaded javascriptcore-rs-sys v0.4.0
[INFO] [stderr]   Downloaded gdk-pixbuf-sys v0.15.10
[INFO] [stderr]   Downloaded gtk3-macros v0.15.6
[INFO] [stderr]   Downloaded system-deps v5.0.0
[INFO] [stderr]   Downloaded gobject-sys v0.15.10
[INFO] [stderr]   Downloaded pango-sys v0.15.10
[INFO] [stderr]   Downloaded gdk-pixbuf v0.15.11
[INFO] [stderr]   Downloaded serialize-to-javascript v0.1.2
[INFO] [stderr]   Downloaded soup2-sys v0.2.0
[INFO] [stderr]   Downloaded cairo-sys-rs v0.15.1
[INFO] [stderr]   Downloaded windows-tokens v0.39.0
[INFO] [stderr]   Downloaded webview2-com-macros v0.6.0
[INFO] [stderr]   Downloaded cfg-expr v0.9.1
[INFO] [stderr]   Downloaded gdkwayland-sys v0.15.3
[INFO] [stderr]   Downloaded gdkx11-sys v0.15.1
[INFO] [stderr]   Downloaded tauri-macros v1.4.7
[INFO] [stderr]   Downloaded serialize-to-javascript-impl v0.1.2
[INFO] [stderr]   Downloaded windows-implement v0.39.0
[INFO] [stderr]   Downloaded version-compare v0.2.1
[INFO] [stderr]   Downloaded atk v0.15.1
[INFO] [stderr]   Downloaded json-patch v2.0.0
[INFO] [stderr]   Downloaded fluent-uri v0.1.4
[INFO] [stderr]   Downloaded webview2-com v0.19.1
[INFO] [stderr]   Downloaded state v0.5.3
[INFO] [stderr]   Downloaded glib-macros v0.15.13
[INFO] [stderr]   Downloaded serde_with_macros v3.16.1
[INFO] [stderr]   Downloaded infer v0.13.0
[INFO] [stderr]   Downloaded tauri-runtime-wry v0.14.11
[INFO] [stderr]   Downloaded tauri-codegen v1.4.6
[INFO] [stderr]   Downloaded windows-bindgen v0.39.0
[INFO] [stderr]   Downloaded atk-sys v0.15.1
[INFO] [stderr]   Downloaded javascriptcore-rs v0.16.0
[INFO] [stderr]   Downloaded cairo-rs v0.15.12
[INFO] [stderr]   Downloaded jsonptr v0.4.7
[INFO] [stderr]   Downloaded webkit2gtk-sys v0.18.0
[INFO] [stderr]   Downloaded pango v0.15.10
[INFO] [stderr]   Downloaded tauri-runtime v0.14.6
[INFO] [stderr]   Downloaded generator v0.7.5
[INFO] [stderr]   Downloaded open v3.2.0
[INFO] [stderr]   Downloaded cookie_store v0.22.0
[INFO] [stderr]   Downloaded glib-sys v0.15.10
[INFO] [stderr]   Downloaded gio-sys v0.15.10
[INFO] [stderr]   Downloaded soup2 v0.2.1
[INFO] [stderr]   Downloaded tauri-utils v1.6.2
[INFO] [stderr]   Downloaded ndk v0.6.0
[INFO] [stderr]   Downloaded gdk-sys v0.15.1
[INFO] [stderr]   Downloaded jni v0.20.0
[INFO] [stderr]   Downloaded loom v0.5.6
[INFO] [stderr]   Downloaded webkit2gtk v0.18.2
[INFO] [stderr]   Downloaded gdk v0.15.4
[INFO] [stderr]   Downloaded wry v0.24.11
[INFO] [stderr]   Downloaded tauri v1.8.3
[INFO] [stderr]   Downloaded gtk-sys v0.15.3
[INFO] [stderr]   Downloaded rusqlite v0.31.0
[INFO] [stderr]   Downloaded serde_with v3.16.1
[INFO] [stderr]   Downloaded brotli-decompressor v4.0.3
[INFO] [stderr]   Downloaded gio v0.15.12
[INFO] [stderr]   Downloaded glib v0.15.12
[INFO] [stderr]   Downloaded ndk-sys v0.3.0
[INFO] [stderr]   Downloaded gtk v0.15.5
[INFO] [stderr]   Downloaded windows_x86_64_msvc v0.39.0
[INFO] [stderr]   Downloaded windows_i686_msvc v0.39.0
[INFO] [stderr]   Downloaded windows_aarch64_msvc v0.39.0
[INFO] [stderr]   Downloaded windows_x86_64_gnu v0.39.0
[INFO] [stderr]   Downloaded windows_i686_gnu v0.39.0
[INFO] [stderr]   Downloaded brotli v7.0.0
[INFO] [stderr]   Downloaded tao v0.16.10
[INFO] [stderr]   Downloaded windows-sys v0.42.0
[INFO] [stderr]   Downloaded libsqlite3-sys v0.28.0
[INFO] [stderr]   Downloaded windows-metadata v0.39.0
[INFO] [stderr]   Downloaded webview2-com-sys v0.19.0
[INFO] [stderr]   Downloaded windows v0.39.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 52a94fe9e6a5a5392fa4e1f9f07adceb02c75087855a01043177f834036d77b8
[INFO] running `Command { std: "docker" "start" "52a94fe9e6a5a5392fa4e1f9f07adceb02c75087855a01043177f834036d77b8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "52a94fe9e6a5a5392fa4e1f9f07adceb02c75087855a01043177f834036d77b8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "52a94fe9e6a5a5392fa4e1f9f07adceb02c75087855a01043177f834036d77b8" "/opt/rustwide/cargo-home/bin/cargo" "+656ccbe796ff98def9b555c118e1620c5389e3b2" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "52a94fe9e6a5a5392fa4e1f9f07adceb02c75087855a01043177f834036d77b8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "52a94fe9e6a5a5392fa4e1f9f07adceb02c75087855a01043177f834036d77b8" "/opt/rustwide/cargo-home/bin/cargo" "+656ccbe796ff98def9b555c118e1620c5389e3b2" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling quote v1.0.44
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling openssl-sys v0.9.111
[INFO] [stderr]     Checking bitflags v2.10.0
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]    Compiling zmij v1.0.16
[INFO] [stderr]    Compiling time-core v0.1.7
[INFO] [stderr]     Checking log v0.4.29
[INFO] [stderr]    Compiling cookie v0.18.1
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking ahash v0.8.12
[INFO] [stderr]    Compiling libsqlite3-sys v0.28.0
[INFO] [stderr]     Checking psl-types v2.0.11
[INFO] [stderr]     Checking ryu v1.0.22
[INFO] [stderr]     Checking http-body-util v0.1.3
[INFO] [stderr]     Checking iri-string v0.7.10
[INFO] [stderr]     Checking rustls-pki-types v1.14.0
[INFO] [stderr]     Checking csv-core v0.1.13
[INFO] [stderr]     Checking fallible-streaming-iterator v0.1.9
[INFO] [stderr]     Checking fallible-iterator v0.3.0
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]    Compiling time-macros v0.2.25
[INFO] [stderr]     Checking csv v1.4.0
[INFO] [stderr]    Compiling openssl v0.10.75
[INFO] [stderr]    Compiling native-tls v0.2.14
[INFO] [stderr]     Checking serde_json v1.0.149
[INFO] [stderr]    Compiling syn v2.0.114
[INFO] [stderr]     Checking hashlink v0.9.1
[INFO] [stderr]     Checking time v0.3.45
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling clap_derive v4.5.49
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]     Checking tokio v1.49.0
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking zerofrom v0.1.6
[INFO] [stderr]     Checking yoke v0.8.1
[INFO] [stderr]     Checking zerovec v0.11.5
[INFO] [stderr]     Checking zerotrie v0.2.3
[INFO] [stderr]     Checking tinystr v0.8.2
[INFO] [stderr]     Checking potential_utf v0.1.4
[INFO] [stderr]     Checking icu_collections v2.1.1
[INFO] [stderr]     Checking icu_locale_core v2.1.1
[INFO] [stderr]     Checking clap v4.5.54
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking icu_provider v2.1.1
[INFO] [stderr]     Checking icu_normalizer v2.1.1
[INFO] [stderr]     Checking icu_properties v2.1.2
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking chrono v0.4.43
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking publicsuffix v2.3.0
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking rusqlite v0.31.0
[INFO] [stderr]     Checking cookie_store v0.22.0
[INFO] [stderr]     Checking tokio-util v0.7.18
[INFO] [stderr]     Checking tower v0.5.3
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]     Checking h2 v0.4.13
[INFO] [stderr]     Checking tower-http v0.6.8
[INFO] [stderr]     Checking hyper v1.8.1
[INFO] [stderr]     Checking hyper-util v0.1.19
[INFO] [stderr]     Checking hyper-tls v0.6.0
[INFO] [stderr]     Checking reqwest v0.12.28
[INFO] [stderr]     Checking financial_pipeline v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused variable: `kalic_wallet`
[INFO] [stdout]     --> src/db.rs:2707:13
[INFO] [stdout]      |
[INFO] [stdout] 2707 |         let kalic_wallet = self.get_paper_wallet()?;
[INFO] [stdout]      |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_kalic_wallet`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `obv` is never read
[INFO] [stdout]    --> src/indicators.rs:384:24
[INFO] [stdout]     |
[INFO] [stdout] 384 |     let mut obv: i64 = 0;
[INFO] [stdout]     |                        ^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 387 |     obv = prices[0].volume;
[INFO] [stdout]     |     ---------------------- `obv` is overwritten here before the previous value is read
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `kalic_wallet`
[INFO] [stdout]     --> src/db.rs:2707:13
[INFO] [stdout]      |
[INFO] [stdout] 2707 |         let kalic_wallet = self.get_paper_wallet()?;
[INFO] [stdout]      |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_kalic_wallet`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `obv` is never read
[INFO] [stdout]    --> src/indicators.rs:384:24
[INFO] [stdout]     |
[INFO] [stdout] 384 |     let mut obv: i64 = 0;
[INFO] [stdout]     |                        ^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 387 |     obv = prices[0].volume;
[INFO] [stdout]     |     ---------------------- `obv` is overwritten here before the previous value is read
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]     --> src/ai_trader.rs:1426:9
[INFO] [stdout]      |
[INFO] [stdout] 1426 |         context: &MarketContext,
[INFO] [stdout]      |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `total_value`
[INFO] [stdout]     --> src/ai_trader.rs:1428:23
[INFO] [stdout]      |
[INFO] [stdout] 1428 |         let (cash, _, total_value) = db.get_paper_portfolio_value()?;
[INFO] [stdout]      |                       ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_total_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `positions_value`
[INFO] [stdout]     --> src/ai_trader.rs:1074:20
[INFO] [stdout]      |
[INFO] [stdout] 1074 |         let (cash, positions_value, total_value) = db.get_paper_portfolio_value()?;
[INFO] [stdout]      |                    ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_positions_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `stop_reason` is never read
[INFO] [stdout]   --> src/claude.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 29 | struct ClaudeResponse {
[INFO] [stdout]    |        -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 33 |     stop_reason: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ClaudeResponse` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `content_type` is never read
[INFO] [stdout]   --> src/claude.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | struct ContentBlock {
[INFO] [stdout]    |        ------------ field in this struct
[INFO] [stdout] 39 |     #[serde(rename = "type")]
[INFO] [stdout] 40 |     content_type: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ContentBlock` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]     --> src/ai_trader.rs:1426:9
[INFO] [stdout]      |
[INFO] [stdout] 1426 |         context: &MarketContext,
[INFO] [stdout]      |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `total_value`
[INFO] [stdout]     --> src/ai_trader.rs:1428:23
[INFO] [stdout]      |
[INFO] [stdout] 1428 |         let (cash, _, total_value) = db.get_paper_portfolio_value()?;
[INFO] [stdout]      |                       ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_total_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `positions_value`
[INFO] [stdout]     --> src/ai_trader.rs:1074:20
[INFO] [stdout]      |
[INFO] [stdout] 1074 |         let (cash, positions_value, total_value) = db.get_paper_portfolio_value()?;
[INFO] [stdout]      |                    ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_positions_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `stop_reason` is never read
[INFO] [stdout]   --> src/claude.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 29 | struct ClaudeResponse {
[INFO] [stdout]    |        -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 33 |     stop_reason: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ClaudeResponse` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `content_type` is never read
[INFO] [stdout]   --> src/claude.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | struct ContentBlock {
[INFO] [stdout]    |        ------------ field in this struct
[INFO] [stdout] 39 |     #[serde(rename = "type")]
[INFO] [stdout] 40 |     content_type: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ContentBlock` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `session`
[INFO] [stdout]   --> examples/ai_trader_live_test.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 63 |     let session = match db.get_active_ai_session() {
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 44.80s
[INFO] running `Command { std: "docker" "inspect" "52a94fe9e6a5a5392fa4e1f9f07adceb02c75087855a01043177f834036d77b8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "52a94fe9e6a5a5392fa4e1f9f07adceb02c75087855a01043177f834036d77b8", kill_on_drop: false }`
[INFO] [stdout] 52a94fe9e6a5a5392fa4e1f9f07adceb02c75087855a01043177f834036d77b8
