[INFO] fetching crate ouch_model 5.0.1...
[INFO] testing ouch_model-5.0.1 against 1.91.0 for beta-1.92-2
[INFO] extracting crate ouch_model 5.0.1 into /workspace/builds/worker-5-tc1/source
[INFO] started tweaking crates.io crate ouch_model 5.0.1
[INFO] finished tweaking crates.io crate ouch_model 5.0.1
[INFO] tweaked toml for crates.io crate ouch_model 5.0.1 written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate ouch_model 5.0.1 on toolchain 1.91.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.91.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.91.0" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 152 packages to latest compatible versions
[INFO] [stderr]       Adding colored v2.2.0 (available: v3.0.0)
[INFO] [stderr]       Adding criterion v0.5.1 (available: v0.7.0)
[INFO] [stderr]       Adding derive_more v0.99.20 (available: v2.0.1)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.91.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded getopts v0.2.24
[INFO] [stderr]   Downloaded soupbintcp_model v4.0.5
[INFO] [stderr]   Downloaded byteserde_derive v0.6.2
[INFO] [stderr]   Downloaded links_core v0.2.12
[INFO] [stderr]   Downloaded byteserde v0.6.2
[INFO] [stderr]   Downloaded links_nonblocking v0.2.12
[INFO] [stderr]   Downloaded term v0.2.14
[INFO] [stderr]   Downloaded byteserde_types v0.6.2
[INFO] [stderr]   Downloaded text-diff v0.4.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1.91.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 7f105e37f3c735c044844c17b12ba3ef6bb978c4e70daa597e4b79913819e579
[INFO] running `Command { std: "docker" "start" "-a" "7f105e37f3c735c044844c17b12ba3ef6bb978c4e70daa597e4b79913819e579", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7f105e37f3c735c044844c17b12ba3ef6bb978c4e70daa597e4b79913819e579", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7f105e37f3c735c044844c17b12ba3ef6bb978c4e70daa597e4b79913819e579", kill_on_drop: false }`
[INFO] [stdout] 7f105e37f3c735c044844c17b12ba3ef6bb978c4e70daa597e4b79913819e579
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1.91.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b8f08712f87c6c7118fb3aca75d2c459981875c39cf8ebc2d703e761a3071e89
[INFO] running `Command { std: "docker" "start" "-a" "b8f08712f87c6c7118fb3aca75d2c459981875c39cf8ebc2d703e761a3071e89", kill_on_drop: false }`
[INFO] [stderr]    Compiling convert_case v0.4.0
[INFO] [stderr]    Compiling byteserde v0.6.2
[INFO] [stderr]    Compiling syn v2.0.108
[INFO] [stderr]    Compiling mio v0.8.11
[INFO] [stderr]    Compiling chrono v0.4.42
[INFO] [stderr]    Compiling links_core v0.2.12
[INFO] [stderr]    Compiling links_nonblocking v0.2.12
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling byteserde_derive v0.6.2
[INFO] [stderr]    Compiling derive_more v0.99.20
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling byteserde_types v0.6.2
[INFO] [stderr]    Compiling soupbintcp_model v4.0.5
[INFO] [stderr]    Compiling ouch_model v5.0.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 17.98s
[INFO] running `Command { std: "docker" "inspect" "b8f08712f87c6c7118fb3aca75d2c459981875c39cf8ebc2d703e761a3071e89", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b8f08712f87c6c7118fb3aca75d2c459981875c39cf8ebc2d703e761a3071e89", kill_on_drop: false }`
[INFO] [stdout] b8f08712f87c6c7118fb3aca75d2c459981875c39cf8ebc2d703e761a3071e89
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1.91.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 2c36b7a4c70002c0d6ec1444ed6e5df00b3f4a4680d7b02174726a3210af9f82
[INFO] running `Command { std: "docker" "start" "-a" "2c36b7a4c70002c0d6ec1444ed6e5df00b3f4a4680d7b02174726a3210af9f82", kill_on_drop: false }`
[INFO] [stderr]    Compiling winapi-build v0.1.1
[INFO] [stderr]    Compiling is_terminal_polyfill v1.70.2
[INFO] [stderr]    Compiling regex-automata v0.4.13
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling colored v2.2.0
[INFO] [stderr]    Compiling plotters-backend v0.3.7
[INFO] [stderr]    Compiling zerocopy-derive v0.8.27
[INFO] [stderr]    Compiling chrono v0.4.42
[INFO] [stderr]    Compiling winapi v0.2.8
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling clap_builder v4.5.51
[INFO] [stderr]    Compiling serde_json v1.0.145
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling mio v0.8.11
[INFO] [stderr]    Compiling getopts v0.2.24
[INFO] [stderr]    Compiling anstream v0.6.21
[INFO] [stderr]    Compiling oorandom v11.1.5
[INFO] [stderr]    Compiling kernel32-sys v0.2.2
[INFO] [stderr]    Compiling plotters-svg v0.3.7
[INFO] [stderr]    Compiling term v0.2.14
[INFO] [stderr]    Compiling plotters v0.3.7
[INFO] [stderr]    Compiling crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling byteserde_types v0.6.2
[INFO] [stderr]    Compiling text-diff v0.4.0
[INFO] [stderr]    Compiling soupbintcp_model v4.0.5
[INFO] [stderr]    Compiling rayon v1.11.0
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling zerocopy v0.8.27
[INFO] [stderr]    Compiling criterion-plot v0.5.0
[INFO] [stderr]    Compiling regex v1.12.2
[INFO] [stderr]    Compiling clap v4.5.51
[INFO] [stderr]    Compiling env_filter v0.1.4
[INFO] [stderr]    Compiling env_logger v0.11.8
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling half v2.7.1
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling criterion v0.5.1
[INFO] [stderr]    Compiling links_core v0.2.12
[INFO] [stderr]    Compiling links_nonblocking v0.2.12
[INFO] [stderr]    Compiling ouch_model v5.0.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 25.95s
[INFO] running `Command { std: "docker" "inspect" "2c36b7a4c70002c0d6ec1444ed6e5df00b3f4a4680d7b02174726a3210af9f82", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2c36b7a4c70002c0d6ec1444ed6e5df00b3f4a4680d7b02174726a3210af9f82", kill_on_drop: false }`
[INFO] [stdout] 2c36b7a4c70002c0d6ec1444ed6e5df00b3f4a4680d7b02174726a3210af9f82
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1.91.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] d1563d9fb3b31678f1fc567b8e3023a68aee3f1a952ce4c8a79740de433ef803
[INFO] running `Command { std: "docker" "start" "-a" "d1563d9fb3b31678f1fc567b8e3023a68aee3f1a952ce4c8a79740de433ef803", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.14s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/ouch_model-a7b7f1b56bb86bd1)
[INFO] [stdout] 
[INFO] [stdout] running 66 tests
[INFO] [stderr] 2025-11-05T03:58:02.067651343Z INFO  (main-Thread) ouch_model::*::_03_cancel_order json_out: {"user_ref_number":1,"quantity":0}
[INFO] [stderr] 2025-11-05T03:58:02.067809963Z INFO  (main-Thread) ouch_model::*::_02_replace_order json_out: {"orig_user_ref_number":1,"user_ref_number":0,"quantity":100,"price":1.2345,"time_in_force":"MARKET_HOURS","display":"VISIBLE","int_mkt_sweep_eligibility":"ELIGIBLE","clt_order_id":"REPLACE_ME____","appendages":{"min_qty":0,"customer_type":"PORT_DEFAULT","max_floor":0,"price_type":"LIMIT","peg_offset":-1.1234,"discretion_price":0.0,"discretion_price_type":"LIMIT","discretion_peg_offset":-1.1234,"post_only":"NO","random_reserves":0,"expire_time":0,"trade_now":"PORT_DEFAULT","handle_inst":"NO_INSTRUCTIONS","group_id":0,"shares_located":"NO"}}
[INFO] [stdout] test model::clt::_03_cancel_order::test::test_msg_serde ... ok
[INFO] [stderr] 2025-11-05T03:58:02.067587003Z INFO  (main-Thread) ouch_model::*::_02_replace_order ser: ByteSerializerStack<128> { len: 111, cap: 128, bytes: 
[INFO] [stdout] test model::clt::_02_replace_order::test::test_msg_serde ... ok
[INFO] [stderr] 0000: 55 00 00 00  01 00 00 00  00 00 00 00  64 00 00 00  | U . . .  . . . .  . . . .  d . . .
[INFO] [stderr] 0001: 00 00 00 30  39 30 59 59  52 45 50 4c  41 43 45 5f  | . . . 0  9 0 Y Y  R E P L  A C E _
[INFO] [stderr] 0002: 4d 45 5f 5f  5f 5f 00 47  05 03 00 00  00 00 02 04  | M E _ _  _ _ . G  . . . .  . . . .
[INFO] [stderr] 0003: 20 05 05 00  00 00 00 02  06 4c 05 07  bf 8f cb 92  | . . . .  . . . .  . L . .  ¿ . Ë .
[INFO] [stderr] 0004: 09 09 00 00  00 00 00 00  00 00 02 0a  4c 05 0b bf  | . . . .  . . . .  . . . .  L . . ¿
[INFO] [stderr] 0005: 8f cb 92 02  0c 4e 05 0d  00 00 00 00  05 0f 00 00  | . Ë . .  . N . .  . . . .  . . . .
[INFO] [stderr] 0006: 00 00 02 10  20 02 11 20  03 18 00 00  02 19 4e     | . . . .  . . . .  . . . .  . . N
[INFO] [stderr]  }
[INFO] [stderr] 2025-11-05T03:58:02.067522793Z INFO  (main-Thread) ouch_model::*::_01_enter_order ser: ByteSerializerStack<256> { len: 131, cap: 256, bytes: 
[INFO] [stderr] 0000: 4f 00 00 00  01 42 00 00  00 64 44 55  4d 4d 59 20  | O . . .  . B . .  . d D U  M M Y .
[INFO] [stderr] 0001: 20 20 20 00  00 00 00 00  00 30 39 30  59 41 59 4e  | . . . .  . . . .  . 0 9 0  Y A Y N
[INFO] [stderr] 0002: 31 20 20 20  20 20 20 20  20 20 20 20  20 20 00 53  | 1 . . .  . . . .  . . . .  . . . S
[INFO] [stderr] 0003: 05 02 3f 3f  3f 3f 05 03  00 00 00 00  02 04 20 05  | . . ? ?  ? ? . .  . . . .  . . . .
[INFO] [stderr] 0004: 05 00 00 00  00 02 06 4c  05 07 bf 8f  cb 92 09 09  | . . . .  . . . L  . . ¿ .  Ë . . .
[INFO] [stderr] 0005: 00 00 00 00  00 00 00 00  02 0a 4c 05  0b bf 8f cb  | . . . .  . . . .  . . L .  . ¿ . Ë
[INFO] [stderr] 0006: 92 02 0c 4e  05 0d 00 00  00 00 05 0e  3f 3f 3f 3f  | . . . N  . . . .  . . . .  ? ? ? ?
[INFO] [stderr] 0007: 05 0f 00 00  00 00 02 10  20 02 11 20  03 18 00 00  | . . . .  . . . .  . . . .  . . . .
[INFO] [stderr] 0008: 02 19 4e                                            | . . N
[INFO] [stderr]  }
[INFO] [stderr] 2025-11-05T03:58:02.067933093Z INFO  (main-Thread) ouch_model::*::_04_modify_order ser: ByteSerializerStack<128> { len: 10, cap: 128, bytes: 
[INFO] [stderr] 0000: 4d 00 00 00  01 42 00 00  00 0a                     | M . . .  . B . .  . .
[INFO] [stderr]  }
[INFO] [stderr] 2025-11-05T03:58:02.068581493Z INFO  (main-Thread) ouch_model::*::_01_enter_order msg_inp: EnterOrder { packet_type: PacketTypeEnterOrder('O'), user_ref_number: UserRefNumber(1), side: Side('B'), quantity: Quantity(100), symbol: Symbol("DUMMY    "), price: Price(1.2345), time_in_force: TimeInForce('0'), display: Display('Y'), capacity: Capacity('A'), int_mkt_sweep_eligibility: IntMktSweepEligibility('Y'), cross_type: CrossType('N'), clt_order_id: CltOrderId("1             "), appendage_length: 83, appendages: EnterOrderAppendage { firm: Some(TagValueElement(5, 2, Firm("????"))), min_qty: Some(TagValueElement(5, 3, MinQty(0))), customer_type: Some(TagValueElement(2, 4, CustomerType(' '))), max_floor: Some(TagValueElement(5, 5, MaxFloor(0))), price_type: Some(TagValueElement(2, 6, PriceType('L'))), peg_offset: Some(TagValueElement(5, 7, PegOffset(-1.1234))), discretion_price: Some(TagValueElement(9, 9, DiscretionPrice(0.0))), discretion_price_type: Some(TagValueElement(2, 10, DiscretionPriceType('L'))), discretion_peg_offset: Some(TagValueElement(5, 11, DiscretionPegOffset(-1.1234))), post_only: Some(TagValueElement(2, 12, PostOnly('N'))), random_reserves: Some(TagValueElement(5, 13, RandomReserves(0))), route: Some(TagValueElement(5, 14, Route("????"))), expire_time: Some(TagValueElement(5, 15, ExpireTime(0))), trade_now: Some(TagValueElement(2, 16, TradeNow(' '))), handle_inst: Some(TagValueElement(2, 17, HandleInst(' '))), group_id: Some(TagValueElement(3, 24, GroupId(0))), shares_located: Some(TagValueElement(2, 25, SharesLocated('N'))) } }
[INFO] [stderr] 2025-11-05T03:58:02.069110763Z INFO  (main-Thread) ouch_model::*::_01_enter_order msg_out: EnterOrder { packet_type: PacketTypeEnterOrder('O'), user_ref_number: UserRefNumber(1), side: Side('B'), quantity: Quantity(100), symbol: Symbol("DUMMY    "), price: Price(1.2345), time_in_force: TimeInForce('0'), display: Display('Y'), capacity: Capacity('A'), int_mkt_sweep_eligibility: IntMktSweepEligibility('Y'), cross_type: CrossType('N'), clt_order_id: CltOrderId("1             "), appendage_length: 83, appendages: EnterOrderAppendage { firm: Some(TagValueElement(5, 2, Firm("????"))), min_qty: Some(TagValueElement(5, 3, MinQty(0))), customer_type: Some(TagValueElement(2, 4, CustomerType(' '))), max_floor: Some(TagValueElement(5, 5, MaxFloor(0))), price_type: Some(TagValueElement(2, 6, PriceType('L'))), peg_offset: Some(TagValueElement(5, 7, PegOffset(-1.1234))), discretion_price: Some(TagValueElement(9, 9, DiscretionPrice(0.0))), discretion_price_type: Some(TagValueElement(2, 10, DiscretionPriceType('L'))), discretion_peg_offset: Some(TagValueElement(5, 11, DiscretionPegOffset(-1.1234))), post_only: Some(TagValueElement(2, 12, PostOnly('N'))), random_reserves: Some(TagValueElement(5, 13, RandomReserves(0))), route: Some(TagValueElement(5, 14, Route("????"))), expire_time: Some(TagValueElement(5, 15, ExpireTime(0))), trade_now: Some(TagValueElement(2, 16, TradeNow(' '))), handle_inst: Some(TagValueElement(2, 17, HandleInst(' '))), group_id: Some(TagValueElement(3, 24, GroupId(0))), shares_located: Some(TagValueElement(2, 25, SharesLocated('N'))) } }
[INFO] [stdout] test model::clt::_01_enter_order::test::test_msg_byteserde ... ok
[INFO] [stderr] 2025-11-05T03:58:02.068320963Z INFO  (main-Thread) ouch_model::*::_04_modify_order json_out: {"user_ref_number":1,"side":"BUY","quantity":10}
[INFO] [stderr] 2025-11-05T03:58:02.068330713Z INFO  (main-Thread) ouch_model::*::_02_replace_order msg_inp: ReplaceOrder { packet_type: PacketTypeReplaceOrder('U'), orig_user_ref_number: UserRefNumber(1), user_ref_number: UserRefNumber(0), quantity: Quantity(100), price: Price(1.2345), time_in_force: TimeInForce('0'), display: Display('Y'), int_mkt_sweep_eligibility: IntMktSweepEligibility('Y'), clt_order_id: CltOrderId("REPLACE_ME____"), appendage_length: 71, appendages: ReplaceOrderAppendage { min_qty: Some(TagValueElement(5, 3, MinQty(0))), customer_type: Some(TagValueElement(2, 4, CustomerType(' '))), max_floor: Some(TagValueElement(5, 5, MaxFloor(0))), price_type: Some(TagValueElement(2, 6, PriceType('L'))), peg_offset: Some(TagValueElement(5, 7, PegOffset(-1.1234))), discretion_price: Some(TagValueElement(9, 9, DiscretionPrice(0.0))), discretion_price_type: Some(TagValueElement(2, 10, DiscretionPriceType('L'))), discretion_peg_offset: Some(TagValueElement(5, 11, DiscretionPegOffset(-1.1234))), post_only: Some(TagValueElement(2, 12, PostOnly('N'))), random_reserves: Some(TagValueElement(5, 13, RandomReserves(0))), expire_time: Some(TagValueElement(5, 15, ExpireTime(0))), trade_now: Some(TagValueElement(2, 16, TradeNow(' '))), handle_inst: Some(TagValueElement(2, 17, HandleInst(' '))), group_id: Some(TagValueElement(3, 24, GroupId(0))), shares_located: Some(TagValueElement(2, 25, SharesLocated('N'))) } }
[INFO] [stdout] test model::clt::_04_modify_order::test::test_msg_serde ... ok
[INFO] [stderr] 2025-11-05T03:58:02.070310232Z INFO  (main-Thread) ouch_model::*::_02_replace_order msg_out: ReplaceOrder { packet_type: PacketTypeReplaceOrder('U'), orig_user_ref_number: UserRefNumber(1), user_ref_number: UserRefNumber(0), quantity: Quantity(100), price: Price(1.2345), time_in_force: TimeInForce('0'), display: Display('Y'), int_mkt_sweep_eligibility: IntMktSweepEligibility('Y'), clt_order_id: CltOrderId("REPLACE_ME____"), appendage_length: 71, appendages: ReplaceOrderAppendage { min_qty: Some(TagValueElement(5, 3, MinQty(0))), customer_type: Some(TagValueElement(2, 4, CustomerType(' '))), max_floor: Some(TagValueElement(5, 5, MaxFloor(0))), price_type: Some(TagValueElement(2, 6, PriceType('L'))), peg_offset: Some(TagValueElement(5, 7, PegOffset(-1.1234))), discretion_price: Some(TagValueElement(9, 9, DiscretionPrice(0.0))), discretion_price_type: Some(TagValueElement(2, 10, DiscretionPriceType('L'))), discretion_peg_offset: Some(TagValueElement(5, 11, DiscretionPegOffset(-1.1234))), post_only: Some(TagValueElement(2, 12, PostOnly('N'))), random_reserves: Some(TagValueElement(5, 13, RandomReserves(0))), expire_time: Some(TagValueElement(5, 15, ExpireTime(0))), trade_now: Some(TagValueElement(2, 16, TradeNow(' '))), handle_inst: Some(TagValueElement(2, 17, HandleInst(' '))), group_id: Some(TagValueElement(3, 24, GroupId(0))), shares_located: Some(TagValueElement(2, 25, SharesLocated('N'))) } }
[INFO] [stderr] 2025-11-05T03:58:02.068234313Z INFO  (main-Thread) ouch_model::*::_03_cancel_order ser: ByteSerializerStack<128> { len: 9, cap: 128, bytes: 
[INFO] [stderr] 0000: 58 00 00 00  01 00 00 00  00                        | X . . .  . . . .  .
[INFO] [stderr]  }
[INFO] [stdout] test model::clt::_02_replace_order::test::test_msg_byteserde ... ok
[INFO] [stderr] 2025-11-05T03:58:02.070873492Z INFO  (main-Thread) ouch_model::*::_03_cancel_order msg_inp: CancelOrder { packet_type: PacketTypeCancelOrder('X'), user_ref_number: UserRefNumber(1), quantity: Quantity(0) }
[INFO] [stdout] test model::clt::_03_cancel_order::test::test_msg_byteserde ... ok
[INFO] [stderr] 2025-11-05T03:58:02.070962632Z INFO  (main-Thread) ouch_model::*::_03_cancel_order msg_out: CancelOrder { packet_type: PacketTypeCancelOrder('X'), user_ref_number: UserRefNumber(1), quantity: Quantity(0) }
[INFO] [stderr] 2025-11-05T03:58:02.068575993Z INFO  (main-Thread) ouch_model::*::order_reference_number next: OrderReferenceNumber(1)
[INFO] [stderr] 2025-11-05T03:58:02.071157262Z INFO  (main-Thread) ouch_model::*::order_reference_number next: OrderReferenceNumber(2)
[INFO] [stderr] 2025-11-05T03:58:02.071226242Z INFO  (main-Thread) ouch_model::*::_05_account_query_req ser: ByteSerializerStack<128> { len: 1, cap: 128, bytes: 
[INFO] [stderr] 0000: 51                                                  | Q
[INFO] [stderr]  }
[INFO] [stderr] 2025-11-05T03:58:02.071340202Z INFO  (main-Thread) ouch_model::*::_05_account_query_req msg_inp: AccountQueryRequest { packet_type: PacketTypeAccountQueryRequest('Q') }
[INFO] [stderr] 2025-11-05T03:58:02.067717723Z INFO  (main-Thread) ouch_model::*::_01_enter_order json_out: {"user_ref_number":1,"side":"BUY","quantity":100,"symbol":"DUMMY","price":1.2345,"time_in_force":"MARKET_HOURS","display":"VISIBLE","capacity":"AGENCY","int_mkt_sweep_eligibility":"ELIGIBLE","cross_type":"CONTINUOUS_MARKET","clt_order_id":"1","appendages":{"firm":"????","min_qty":0,"customer_type":"PORT_DEFAULT","max_floor":0,"price_type":"LIMIT","peg_offset":-1.1234,"discretion_price":0.0,"discretion_price_type":"LIMIT","discretion_peg_offset":-1.1234,"post_only":"NO","random_reserves":0,"route":"????","expire_time":0,"trade_now":"PORT_DEFAULT","handle_inst":"NO_INSTRUCTIONS","group_id":0,"shares_located":"NO"}}
[INFO] [stderr] 2025-11-05T03:58:02.068645593Z INFO  (main-Thread) ouch_model::*::price msg_in: Price(1.1234)
[INFO] [stderr] 2025-11-05T03:58:02.070089042Z INFO  (main-Thread) ouch_model::*::discretion_peg_offset msg_inp: TagValueElement(5, 11, DiscretionPegOffset(-1.1234))
[INFO] [stdout] test model::field_types::order_reference_number::test::test_order_ref_number_iterator ... ok
[INFO] [stderr] 2025-11-05T03:58:02.073200990Z INFO  (main-Thread) ouch_model::*::discretion_price_type msg_inp: TagValueElement(2, 10, DiscretionPriceType('L'))
[INFO] [stderr] 2025-11-05T03:58:02.068925873Z INFO  (main-Thread) ouch_model::*::bbo_weight_indicator msg_inp: TagValueElement(2, 18, BBOWeightIndicator('0'))
[INFO] [stderr] 2025-11-05T03:58:02.073808490Z INFO  (main-Thread) ouch_model::*::bbo_weight_indicator json_out: "ZERO_POINT_2"
[INFO] [stdout] test model::clt::_01_enter_order::test::test_msg_serde ... ok
[INFO] [stderr] 2025-11-05T03:58:02.071403822Z INFO  (main-Thread) ouch_model::*::_05_account_query_req msg_out: AccountQueryRequest { packet_type: PacketTypeAccountQueryRequest('Q') }
[INFO] [stderr] 2025-11-05T03:58:02.068651723Z INFO  (main-Thread) ouch_model::*::_04_modify_order msg_inp: ModifyOrder { packet_type: PacketTypeModifyOrder('M'), user_ref_number: UserRefNumber(1), side: Side('B'), quantity: Quantity(10) }
[INFO] [stderr] 2025-11-05T03:58:02.077890459Z INFO  (main-Thread) ouch_model::*::_04_modify_order msg_out: ModifyOrder { packet_type: PacketTypeModifyOrder('M'), user_ref_number: UserRefNumber(1), side: Side('B'), quantity: Quantity(10) }
[INFO] [stderr] 2025-11-05T03:58:02.071828241Z INFO  (main-Thread) ouch_model::*::price json_out: 1.1234
[INFO] [stderr] 2025-11-05T03:58:02.078058258Z INFO  (main-Thread) ouch_model::*::price msg_out: Price(1.1234)
[INFO] [stderr] 2025-11-05T03:58:02.071964611Z INFO  (main-Thread) ouch_model::*::discretion_price msg_inp: TagValueElement(9, 9, DiscretionPrice(1.1234))
[INFO] [stderr] 2025-11-05T03:58:02.068137903Z INFO  (main-Thread) ouch_model::*::_05_account_query_req json_out: {}
[INFO] [stderr] 2025-11-05T03:58:02.072103741Z INFO  (main-Thread) ouch_model::*::display_price msg_inp: TagValueElement(9, 23, DisplayPrice(1.1234))
[INFO] [stderr] 2025-11-05T03:58:02.078404778Z INFO  (main-Thread) ouch_model::*::display_price json_out: 1.1234
[INFO] [stderr] 2025-11-05T03:58:02.078476688Z INFO  (main-Thread) ouch_model::*::display_price msg_out: TagValueElement(9, 23, DisplayPrice(1.1234))
[INFO] [stderr] 2025-11-05T03:58:02.073217561Z INFO  (main-Thread) ouch_model::*::discretion_peg_offset json_out: -1.1234
[INFO] [stderr] 2025-11-05T03:58:02.078668588Z INFO  (main-Thread) ouch_model::*::discretion_peg_offset msg_out: TagValueElement(5, 11, DiscretionPegOffset(-1.1234))
[INFO] [stderr] 2025-11-05T03:58:02.073717340Z INFO  (main-Thread) ouch_model::*::discretion_price_type json_out: "LIMIT"
[INFO] [stdout] test model::clt::_04_modify_order::test::test_msg_byteserde ... ok
[INFO] [stderr] 2025-11-05T03:58:02.068850993Z INFO  (main-Thread) ouch_model::*::clt_order_id next: CltOrderId("1             ")
[INFO] [stdout] test model::field_types::price::test::test_price ... ok
[INFO] [stdout] test model::clt::_05_account_query_req::test::test_msg_serde ... ok
[INFO] [stdout] test model::optional_filed_types::optional_values::display_price::test::test_msg_serde ... ok
[INFO] [stdout] test model::optional_filed_types::optional_values::discretion_peg_offset::test::test_msg_serde ... ok
[INFO] [stderr] 2025-11-05T03:58:02.078885348Z INFO  (main-Thread) ouch_model::*::max_floor msg_inp: TagValueElement(5, 5, MaxFloor(1))
[INFO] [stdout] test model::clt::_05_account_query_req::test::test_msg_byteserde ... ok
[INFO] [stderr] 2025-11-05T03:58:02.077363209Z INFO  (main-Thread) ouch_model::*::timestamp default timestamp: Timestamp(14282071235142)
[INFO] [stderr] 2025-11-05T03:58:02.079028848Z INFO  (main-Thread) ouch_model::*::timestamp one_th_nano_past_midnight: 2025-11-05T00:00:00.000001
[INFO] [stderr] 2025-11-05T03:58:02.079084638Z INFO  (main-Thread) ouch_model::*::timestamp nanos_shift: 1000, timestamp: Timestamp(1000)
[INFO] [stderr] 2025-11-05T03:58:02.078192068Z INFO  (main-Thread) ouch_model::*::discretion_price json_out: 1.1234
[INFO] [stderr] 2025-11-05T03:58:02.079256848Z INFO  (main-Thread) ouch_model::*::discretion_price msg_out: TagValueElement(9, 9, DiscretionPrice(1.1234))
[INFO] [stderr] 2025-11-05T03:58:02.079543958Z INFO  (main-Thread) ouch_model::*::min_qty msg_inp: TagValueElement(5, 3, MinQty(1))
[INFO] [stdout] test model::field_types::timestamp::test::test_timestamp ... ok
[INFO] [stderr] 2025-11-05T03:58:02.079607658Z INFO  (main-Thread) ouch_model::*::min_qty json_out: 1
[INFO] [stdout] test model::optional_filed_types::optional_values::discretion_price::test::test_msg_serde ... ok
[INFO] [stderr] 2025-11-05T03:58:02.079650278Z INFO  (main-Thread) ouch_model::*::min_qty msg_out: TagValueElement(5, 3, MinQty(1))
[INFO] [stdout] test model::optional_filed_types::optional_values::min_qty::test::test_msg_serde ... ok
[INFO] [stderr] 2025-11-05T03:58:02.079843838Z INFO  (main-Thread) ouch_model::*::post_only msg_inp: TagValueElement(2, 12, PostOnly('P'))
[INFO] [stderr] 2025-11-05T03:58:02.079978767Z INFO  (main-Thread) ouch_model::*::post_only json_out: "YES"
[INFO] [stderr] 2025-11-05T03:58:02.080048198Z INFO  (main-Thread) ouch_model::*::post_only msg_out: TagValueElement(2, 12, PostOnly('P'))
[INFO] [stdout] test model::optional_filed_types::optional_values::post_only::test::test_msg_serde ... ok
[INFO] [stderr] 2025-11-05T03:58:02.078681668Z INFO  (main-Thread) ouch_model::*::handle_inst msg_inp: TagValueElement(2, 17, HandleInst('I'))
[INFO] [stderr] 2025-11-05T03:58:02.080290827Z INFO  (main-Thread) ouch_model::*::handle_inst json_out: "IMBALANCE_ONLY"
[INFO] [stdout] test model::optional_filed_types::optional_values::handle_inst::test::test_msg_serde ... ok
[INFO] [stderr] 2025-11-05T03:58:02.080364737Z INFO  (main-Thread) ouch_model::*::handle_inst msg_out: TagValueElement(2, 17, HandleInst('I'))
[INFO] [stdout] test model::optional_filed_types::optional_values::random_reserves::test::test_msg_serde ... ok
[INFO] [stderr] 2025-11-05T03:58:02.080393257Z INFO  (main-Thread) ouch_model::*::random_reserves msg_inp: TagValueElement(5, 13, RandomReserves(1))
[INFO] [stdout] test model::optional_filed_types::optional_values::customer_type::test::test_msg_serde ... ok
[INFO] [stderr] 2025-11-05T03:58:02.080484867Z INFO  (main-Thread) ouch_model::*::random_reserves json_out: 1
[INFO] [stdout] test model::field_types::clt_order_id::test::test_clt_order_id_iterator ... ok
[INFO] [stderr] 2025-11-05T03:58:02.080536987Z INFO  (main-Thread) ouch_model::*::random_reserves msg_out: TagValueElement(5, 13, RandomReserves(1))
[INFO] [stderr] 2025-11-05T03:58:02.078912278Z INFO  (main-Thread) ouch_model::*::clt_order_id next: CltOrderId("2             ")
[INFO] [stderr] 2025-11-05T03:58:02.069343643Z INFO  (main-Thread) ouch_model::*::customer_type msg_inp: TagValueElement(2, 4, CustomerType('N'))
[INFO] [stderr] 2025-11-05T03:58:02.080706437Z INFO  (main-Thread) ouch_model::*::customer_type json_out: "NON_RETAIL"
[INFO] [stderr] 2025-11-05T03:58:02.080769377Z INFO  (main-Thread) ouch_model::*::customer_type msg_out: TagValueElement(2, 4, CustomerType('N'))
[INFO] [stderr] 2025-11-05T03:58:02.080826567Z INFO  (main-Thread) ouch_model::*::secondary_ord_ref_num msg_inp: TagValueElement(9, 1, SecondaryOrdRefNum(1))
[INFO] [stderr] 2025-11-05T03:58:02.080897967Z INFO  (main-Thread) ouch_model::*::clt_order_id next: CltOrderId("3             ")
[INFO] [stderr] 2025-11-05T03:58:02.077347199Z INFO  (main-Thread) ouch_model::*::display_qty msg_inp: TagValueElement(5, 22, DisplayQty(1))
[INFO] [stderr] 2025-11-05T03:58:02.081042857Z INFO  (main-Thread) ouch_model::*::display_qty json_out: 1
[INFO] [stderr] 2025-11-05T03:58:02.080536107Z INFO  (main-Thread) ouch_model::*::group_id msg_inp: TagValueElement(3, 24, GroupId(1))
[INFO] [stderr] 2025-11-05T03:58:02.081156977Z INFO  (main-Thread) ouch_model::*::group_id json_out: 1
[INFO] [stderr] 2025-11-05T03:58:02.081224507Z INFO  (main-Thread) ouch_model::*::shares_located msg_inp: TagValueElement(2, 25, SharesLocated('Y'))
[INFO] [stderr] 2025-11-05T03:58:02.083827346Z INFO  (main-Thread) ouch_model::*::shares_located json_out: "YES"
[INFO] [stderr] 2025-11-05T03:58:02.083908506Z INFO  (main-Thread) ouch_model::*::shares_located msg_out: TagValueElement(2, 25, SharesLocated('Y'))
[INFO] [stdout] test model::optional_filed_types::optional_values::shares_located::test::test_msg_serde ... ok
[INFO] [stderr] 2025-11-05T03:58:02.077525429Z INFO  (main-Thread) ouch_model::*::bbo_weight_indicator msg_out: TagValueElement(2, 18, BBOWeightIndicator('0'))
[INFO] [stderr] 2025-11-05T03:58:02.078963938Z INFO  (main-Thread) ouch_model::*::discretion_price_type msg_out: TagValueElement(2, 10, DiscretionPriceType('L'))
[INFO] [stderr] 2025-11-05T03:58:02.084196476Z INFO  (main-Thread) ouch_model::*::trade_now msg_inp: TagValueElement(2, 16, TradeNow('Y'))
[INFO] [stderr] 2025-11-05T03:58:02.084277645Z INFO  (main-Thread) ouch_model::*::trade_now json_out: "YES"
[INFO] [stderr] 2025-11-05T03:58:02.084334145Z INFO  (main-Thread) ouch_model::*::trade_now msg_out: TagValueElement(2, 16, TradeNow('Y'))
[INFO] [stderr] 2025-11-05T03:58:02.084601625Z INFO  (main-Thread) ouch_model::*::_00_system_event ser: ByteSerializerStack<128> { len: 10, cap: 128, bytes: 
[INFO] [stderr] 0000: 53 00 00 0c  fd 4e 92 ff  bf 53                     | S . . .  ý N . ÿ  ¿ S
[INFO] [stderr]  }
[INFO] [stderr] 2025-11-05T03:58:02.084737055Z INFO  (main-Thread) ouch_model::*::_00_system_event msg_inp: SystemEvent { packet_type: PacketTypeSystemEvent('S'), timestamp: Timestamp(14282084515775), event_code: EventCode('S') }
[INFO] [stderr] 2025-11-05T03:58:02.084821165Z INFO  (main-Thread) ouch_model::*::_00_system_event msg_out: SystemEvent { packet_type: PacketTypeSystemEvent('S'), timestamp: Timestamp(14282084515775), event_code: EventCode('S') }
[INFO] [stderr] 2025-11-05T03:58:02.078974898Z INFO  (main-Thread) ouch_model::*::max_floor json_out: 1
[INFO] [stderr] 2025-11-05T03:58:02.081106227Z INFO  (main-Thread) ouch_model::*::display_qty msg_out: TagValueElement(5, 22, DisplayQty(1))
[INFO] [stdout] test model::optional_filed_types::optional_values::bbo_weight_indicator::test::test_msg_serde ... ok
[INFO] [stdout] test model::optional_filed_types::optional_values::discretion_price_type::test::test_msg_serde ... ok
[INFO] [stdout] test model::optional_filed_types::optional_values::trade_now::test::test_msg_serde ... ok
[INFO] [stdout] test model::svc::_00_system_event::test::test_msg_byteserde ... ok
[INFO] [stderr] 2025-11-05T03:58:02.081240127Z INFO  (main-Thread) ouch_model::*::group_id msg_out: TagValueElement(3, 24, GroupId(1))
[INFO] [stdout] test model::optional_filed_types::optional_values::display_qty::test::test_msg_serde ... ok
[INFO] [stderr] 2025-11-05T03:58:02.072081151Z INFO  (main-Thread) ouch_model::*::user_ref next: UserRefNumber(1)
[INFO] [stdout] test model::optional_filed_types::optional_values::group_id::test::test_msg_serde ... ok
[INFO] [stderr] 2025-11-05T03:58:02.089722133Z INFO  (main-Thread) ouch_model::*::user_ref next: UserRefNumber(2)
[INFO] [stderr] 2025-11-05T03:58:02.082252936Z INFO  (main-Thread) ouch_model::*::route msg_inp: TagValueElement(5, 14, Route("ABCD"))
[INFO] [stderr] 2025-11-05T03:58:02.089957523Z INFO  (main-Thread) ouch_model::*::route msg_inp: TagValueElement(5, 14, Route("  AB"))
[INFO] [stderr] 2025-11-05T03:58:02.090023113Z INFO  (main-Thread) ouch_model::*::_03_order_canceled json_out: {"timestamp":1,"orig_user_ref_number":1,"user_ref_number":2,"quantity":0,"cancel_reason":"USER_REQUESTED"}
[INFO] [stderr] 2025-11-05T03:58:02.090143393Z INFO  (main-Thread) ouch_model::*::_02_order_replaced json_out: {"timestamp":1,"orig_user_ref_number":1,"user_ref_number":1,"side":"BUY","quantity":50,"symbol":"DUMMY","price":1.2345,"time_in_force":"MARKET_HOURS","display":"VISIBLE","order_reference_number":0,"capacity":"AGENCY","int_mkt_sweep_eligibility":"ELIGIBLE","cross_type":"CONTINUOUS_MARKET","order_state":"LIVE","clt_order_id":"REPLACE_ME____","appendages":{"firm":"????","min_qty":0,"max_floor":0,"price_type":"LIMIT","post_only":"NO","expire_time":0,"trade_now":"PORT_DEFAULT","handle_inst":"NO_INSTRUCTIONS"}}
[INFO] [stdout] test model::field_types::user_ref::test::test_user_ref_number_iterator ... ok
[INFO] [stderr] 2025-11-05T03:58:02.090667922Z INFO  (main-Thread) ouch_model::*::_03_order_canceled ser: ByteSerializerStack<128> { len: 22, cap: 128, bytes: 
[INFO] [stdout] test model::svc::_03_order_canceled::test::test_msg_serde ... ok
[INFO] [stderr] 0000: 43 00 00 0c  fd 4e ef dd  e1 00 00 00  01 00 00 00  | C . . .  ý N ï Ý  á . . .  . . . .
[INFO] [stderr] 0001: 02 00 00 00  00 55                                  | . . . .  . U
[INFO] [stderr]  }
[INFO] [stdout] test model::svc::_02_order_replaced::test::test_msg_serde ... ok
[INFO] [stderr] 2025-11-05T03:58:02.090815602Z INFO  (main-Thread) ouch_model::*::_03_order_canceled msg_inp: OrderCanceled { packet_type: PacketTypeOrderCanceled('C'), timestamp: Timestamp(14282090601953), orig_user_ref_number: UserRefNumber(1), user_ref_number: UserRefNumber(2), quantity: Quantity(0), cancel_reason: CancelReason('U') }
[INFO] [stdout] test model::svc::_03_order_canceled::test::test_msg_byteserde ... ok
[INFO] [stderr] 2025-11-05T03:58:02.090931862Z INFO  (main-Thread) ouch_model::*::_03_order_canceled msg_out: OrderCanceled { packet_type: PacketTypeOrderCanceled('C'), timestamp: Timestamp(14282090601953), orig_user_ref_number: UserRefNumber(1), user_ref_number: UserRefNumber(2), quantity: Quantity(0), cancel_reason: CancelReason('U') }
[INFO] [stdout] test model::svc::_00_system_event::test::test_msg_serde ... ok
[INFO] [stderr] 2025-11-05T03:58:02.089415733Z INFO  (main-Thread) ouch_model::*::_00_system_event json_out: {"timestamp":1,"event_code":"START_OF_DAY"}
[INFO] [stderr] 2025-11-05T03:58:02.089583423Z INFO  (main-Thread) ouch_model::*::_01_order_accepted ser: ByteSerializerStack<256> { len: 148, cap: 256, bytes: 
[INFO] [stderr] 0000: 41 00 00 0c  fd 4e df 0c  9b 00 00 00  01 42 00 00  | A . . .  ý N ß .  . . . .  . B . .
[INFO] [stderr] 0001: 00 64 44 55  4d 4d 59 20  20 20 20 00  00 00 00 00  | . d D U  M M Y .  . . . .  . . . .
[INFO] [stderr] 0002: 00 30 39 30  59 00 00 00  00 00 00 00  01 41 59 4e  | . 0 9 0  Y . . .  . . . .  . A Y N
[INFO] [stderr] 0003: 4c 31 20 20  20 20 20 20  20 20 20 20  20 20 20 00  | L 1 . .  . . . .  . . . .  . . . .
[INFO] [stderr] 0004: 53 05 02 3f  3f 3f 3f 05  03 00 00 00  00 02 04 20  | S . . ?  ? ? ? .  . . . .  . . . .
[INFO] [stderr] 0005: 05 05 00 00  00 00 02 06  4c 05 07 bf  8f cb 92 09  | . . . .  . . . .  L . . ¿  . Ë . .
[INFO] [stderr] 0006: 09 00 00 00  00 00 00 00  00 02 0a 4c  05 0b bf 8f  | . . . .  . . . .  . . . L  . . ¿ .
[INFO] [stderr] 0007: cb 92 02 0c  4e 05 0d 00  00 00 00 05  0e 3f 3f 3f  | Ë . . .  N . . .  . . . .  . ? ? ?
[INFO] [stderr] 0008: 3f 05 0f 00  00 00 00 02  10 20 02 11  20 03 18 00  | ? . . .  . . . .  . . . .  . . . .
[INFO] [stderr] 0009: 00 02 19 4e                                         | . . . N
[INFO] [stderr]  }
[INFO] [stderr] 2025-11-05T03:58:02.091471582Z INFO  (main-Thread) ouch_model::*::_05_order_executed ser: ByteSerializerStack<128> { len: 119, cap: 128, bytes: 
[INFO] [stderr] 0000: 45 00 00 0c  fd 4e fb db  0e 00 00 00  01 00 00 00  | E . . .  ý N û Û  . . . .  . . . .
[INFO] [stderr] 0001: 64 00 00 00  00 00 00 30  39 41 00 00  00 00 00 00  | d . . .  . . . 0  9 A . .  . . . .
[INFO] [stderr] 0002: 00 00 00 53  05 02 3f 3f  3f 3f 05 03  00 00 00 00  | . . . S  . . ? ?  ? ? . .  . . . .
[INFO] [stderr] 0003: 02 04 20 05  05 00 00 00  00 02 06 4c  05 07 bf 8f  | . . . .  . . . .  . . . L  . . ¿ .
[INFO] [stderr] 0004: cb 92 09 09  00 00 00 00  00 00 00 00  02 0a 4c 05  | Ë . . .  . . . .  . . . .  . . L .
[INFO] [stderr] 0005: 0b bf 8f cb  92 02 0c 4e  05 0d 00 00  00 00 05 0e  | . ¿ . Ë  . . . N  . . . .  . . . .
[INFO] [stderr] 0006: 3f 3f 3f 3f  05 0f 00 00  00 00 02 10  20 02 11 20  | ? ? ? ?  . . . .  . . . .  . . . .
[INFO] [stderr] 0007: 03 18 00 00  02 19 4e                               | . . . .  . . N
[INFO] [stderr]  }
[INFO] [stderr] 2025-11-05T03:58:02.091941752Z INFO  (main-Thread) ouch_model::*::_05_order_executed msg_inp: OrderExecuted { packet_type: PacketTypeOrderExecuted('E'), timestamp: Timestamp(14282091387662), user_ref_number: UserRefNumber(1), quantity: Quantity(100), price: Price(1.2345), liquidity_flag: LiquidityFlag('A'), match_number: MatchNumber(0), appendage_length: 83, appendages: EnterOrderAppendage { firm: Some(TagValueElement(5, 2, Firm("????"))), min_qty: Some(TagValueElement(5, 3, MinQty(0))), customer_type: Some(TagValueElement(2, 4, CustomerType(' '))), max_floor: Some(TagValueElement(5, 5, MaxFloor(0))), price_type: Some(TagValueElement(2, 6, PriceType('L'))), peg_offset: Some(TagValueElement(5, 7, PegOffset(-1.1234))), discretion_price: Some(TagValueElement(9, 9, DiscretionPrice(0.0))), discretion_price_type: Some(TagValueElement(2, 10, DiscretionPriceType('L'))), discretion_peg_offset: Some(TagValueElement(5, 11, DiscretionPegOffset(-1.1234))), post_only: Some(TagValueElement(2, 12, PostOnly('N'))), random_reserves: Some(TagValueElement(5, 13, RandomReserves(0))), route: Some(TagValueElement(5, 14, Route("????"))), expire_time: Some(TagValueElement(5, 15, ExpireTime(0))), trade_now: Some(TagValueElement(2, 16, TradeNow(' '))), handle_inst: Some(TagValueElement(2, 17, HandleInst(' '))), group_id: Some(TagValueElement(3, 24, GroupId(0))), shares_located: Some(TagValueElement(2, 25, SharesLocated('N'))) } }
[INFO] [stderr] 2025-11-05T03:58:02.082252726Z INFO  (main-Thread) ouch_model::*::firm msg_inp: TagValueElement(5, 2, Firm("ABCD"))
[INFO] [stderr] 2025-11-05T03:58:02.082331606Z INFO  (main-Thread) ouch_model::*::price_type msg_inp: TagValueElement(2, 6, PriceType('L'))
[INFO] [stderr] 2025-11-05T03:58:02.094666231Z INFO  (main-Thread) ouch_model::*::price_type json_out: "LIMIT"
[INFO] [stderr] 2025-11-05T03:58:02.094739841Z INFO  (main-Thread) ouch_model::*::price_type msg_out: TagValueElement(2, 6, PriceType('L'))
[INFO] [stderr] 2025-11-05T03:58:02.094825931Z INFO  (main-Thread) ouch_model::*::firm msg_inp: TagValueElement(5, 2, Firm("  AB"))
[INFO] [stdout] test model::optional_filed_types::optional_values::price_type::test::test_msg_serde ... ok
[INFO] [stderr] 2025-11-05T03:58:02.080917257Z INFO  (main-Thread) ouch_model::*::secondary_ord_ref_num json_out: 1
[INFO] [stdout] test model::optional_filed_types::optional_values::secondary_ord_ref_num::test::test_msg_serde ... ok
[INFO] [stderr] 2025-11-05T03:58:02.094999711Z INFO  (main-Thread) ouch_model::*::secondary_ord_ref_num msg_out: TagValueElement(9, 1, SecondaryOrdRefNum(1))
[INFO] [stderr] 2025-11-05T03:58:02.090618553Z INFO  (main-Thread) ouch_model::*::_04_order_aiq_canceled ser: ByteSerializerStack<128> { len: 32, cap: 128, bytes: 
[INFO] [stderr] 0000: 44 00 00 0c  fd 4e ee 2f  ff 00 00 00  01 00 00 00  | D . . .  ý N î /  ÿ . . .  . . . .
[INFO] [stderr] 0001: 00 51 00 00  00 00 00 00  00 00 00 00  00 00 41 3f  | . Q . .  . . . .  . . . .  . . A ?
[INFO] [stderr]  }
[INFO] [stdout] test model::svc::_04_order_aiq_canceled::test::test_msg_serde ... ok
[INFO] [stderr] 2025-11-05T03:58:02.091377082Z INFO  (main-Thread) ouch_model::*::_04_order_aiq_canceled json_out: {"timestamp":1,"user_ref_number":1,"decrement_shares":0,"prevented_from_trading":0,"execution_price":0.0,"liquidity_flag":"ADDED","aiq_strategy":"?"}
[INFO] [stderr] 2025-11-05T03:58:02.091643672Z INFO  (main-Thread) ouch_model::*::_01_order_accepted msg_inp: OrderAccepted { packet_type: PacketTypeOrderAccepted('A'), timestamp: Timestamp(14282089499803), user_ref_number: UserRefNumber(1), side: Side('B'), quantity: Quantity(100), symbol: Symbol("DUMMY    "), price: Price(1.2345), time_in_force: TimeInForce('0'), display: Display('Y'), order_reference_number: OrderReferenceNumber(1), capacity: Capacity('A'), int_mkt_sweep_eligibility: IntMktSweepEligibility('Y'), cross_type: CrossType('N'), order_state: OrderState('L'), clt_order_id: CltOrderId("1             "), appendage_length: 83, appendages: OrderAcceptedAppendage { firm: Some(TagValueElement(5, 2, Firm("????"))), min_qty: Some(TagValueElement(5, 3, MinQty(0))), customer_type: Some(TagValueElement(2, 4, CustomerType(' '))), max_floor: Some(TagValueElement(5, 5, MaxFloor(0))), price_type: Some(TagValueElement(2, 6, PriceType('L'))), peg_offset: Some(TagValueElement(5, 7, PegOffset(-1.1234))), discretion_price: Some(TagValueElement(9, 9, DiscretionPrice(0.0))), discretion_price_type: Some(TagValueElement(2, 10, DiscretionPriceType('L'))), discretion_peg_offset: Some(TagValueElement(5, 11, DiscretionPegOffset(-1.1234))), post_only: Some(TagValueElement(2, 12, PostOnly('N'))), random_reserves: Some(TagValueElement(5, 13, RandomReserves(0))), route: Some(TagValueElement(5, 14, Route("????"))), expire_time: Some(TagValueElement(5, 15, ExpireTime(0))), trade_now: Some(TagValueElement(2, 16, TradeNow(' '))), handle_inst: Some(TagValueElement(2, 17, HandleInst(' '))), bbo_weight_indicator: None, group_id: Some(TagValueElement(3, 24, GroupId(0))), shares_located: Some(TagValueElement(2, 25, SharesLocated('N'))) } }
[INFO] [stderr] 2025-11-05T03:58:02.089967463Z INFO  (main-Thread) ouch_model::*::_01_order_accepted json_out: {"timestamp":1,"user_ref_number":1,"side":"BUY","quantity":100,"symbol":"DUMMY","price":1.2345,"time_in_force":"MARKET_HOURS","display":"VISIBLE","order_reference_number":1,"capacity":"AGENCY","int_mkt_sweep_eligibility":"ELIGIBLE","cross_type":"CONTINUOUS_MARKET","order_state":"LIVE","clt_order_id":"1","appendages":{"firm":"????","min_qty":0,"customer_type":"PORT_DEFAULT","max_floor":0,"price_type":"LIMIT","peg_offset":-1.1234,"discretion_price":0.0,"discretion_price_type":"LIMIT","discretion_peg_offset":-1.1234,"post_only":"NO","random_reserves":0,"route":"????","expire_time":0,"trade_now":"PORT_DEFAULT","handle_inst":"NO_INSTRUCTIONS","group_id":0,"shares_located":"NO"}}
[INFO] [stderr] 2025-11-05T03:58:02.092028662Z INFO  (main-Thread) ouch_model::*::_05_order_executed json_out: {"timestamp":1,"user_ref_number":1,"quantity":100,"price":1.2345,"liquidity_flag":"ADDED","match_number":0,"appendages":{"firm":"????","min_qty":0,"customer_type":"PORT_DEFAULT","max_floor":0,"price_type":"LIMIT","peg_offset":-1.1234,"discretion_price":0.0,"discretion_price_type":"LIMIT","discretion_peg_offset":-1.1234,"post_only":"NO","random_reserves":0,"route":"????","expire_time":0,"trade_now":"PORT_DEFAULT","handle_inst":"NO_INSTRUCTIONS","group_id":0,"shares_located":"NO"}}
[INFO] [stdout] test model::svc::_01_order_accepted::test::test_msg_serde ... ok
[INFO] [stdout] test model::svc::_05_order_executed::test::test_msg_serde ... ok
[INFO] [stderr] 2025-11-05T03:58:02.087251914Z INFO  (main-Thread) ouch_model::*::max_floor msg_out: TagValueElement(5, 5, MaxFloor(1))
[INFO] [stderr] 2025-11-05T03:58:02.090031243Z INFO  (main-Thread) ouch_model::*::route json_out: "AB"
[INFO] [stderr] 2025-11-05T03:58:02.096675500Z INFO  (main-Thread) ouch_model::*::route msg_out: TagValueElement(5, 14, Route("  AB"))
[INFO] [stderr] 2025-11-05T03:58:02.094316561Z INFO  (main-Thread) ouch_model::*::_02_order_replaced ser: ByteSerializerStack<128> { len: 105, cap: 128, bytes: 
[INFO] [stderr] 0000: 55 00 00 0c  fd 4f 27 43  d3 00 00 00  01 00 00 00  | U . . .  ý O ' C  Ó . . .  . . . .
[INFO] [stderr] 0001: 01 42 00 00  00 32 44 55  4d 4d 59 20  20 20 20 00  | . B . .  . 2 D U  M M Y .  . . . .
[INFO] [stderr] 0002: 00 00 00 00  00 30 39 30  59 00 00 00  00 00 00 00  | . . . .  . 0 9 0  Y . . .  . . . .
[INFO] [stderr] 0003: 00 41 59 4e  4c 52 45 50  4c 41 43 45  5f 4d 45 5f  | . A Y N  L R E P  L A C E  _ M E _
[INFO] [stderr] 0004: 5f 5f 5f 00  24 05 02 3f  3f 3f 3f 05  03 00 00 00  | _ _ _ .  $ . . ?  ? ? ? .  . . . .
[INFO] [stderr] 0005: 00 05 05 00  00 00 00 02  06 4c 02 0c  4e 05 0f 00  | . . . .  . . . .  . L . .  N . . .
[INFO] [stderr] 0006: 00 00 00 02  10 20 02 11  20                        | . . . .  . . . .  .
[INFO] [stderr]  }
[INFO] [stdout] test model::optional_filed_types::optional_values::route::test::test_msg_serde ... ok
[INFO] [stdout] test model::optional_filed_types::optional_values::max_floor::test::test_msg_serde ... ok
[INFO] [stderr] 2025-11-05T03:58:02.094541211Z INFO  (main-Thread) ouch_model::*::_05_order_executed msg_out: OrderExecuted { packet_type: PacketTypeOrderExecuted('E'), timestamp: Timestamp(14282091387662), user_ref_number: UserRefNumber(1), quantity: Quantity(100), price: Price(1.2345), liquidity_flag: LiquidityFlag('A'), match_number: MatchNumber(0), appendage_length: 83, appendages: EnterOrderAppendage { firm: Some(TagValueElement(5, 2, Firm("????"))), min_qty: Some(TagValueElement(5, 3, MinQty(0))), customer_type: Some(TagValueElement(2, 4, CustomerType(' '))), max_floor: Some(TagValueElement(5, 5, MaxFloor(0))), price_type: Some(TagValueElement(2, 6, PriceType('L'))), peg_offset: Some(TagValueElement(5, 7, PegOffset(-1.1234))), discretion_price: Some(TagValueElement(9, 9, DiscretionPrice(0.0))), discretion_price_type: Some(TagValueElement(2, 10, DiscretionPriceType('L'))), discretion_peg_offset: Some(TagValueElement(5, 11, DiscretionPegOffset(-1.1234))), post_only: Some(TagValueElement(2, 12, PostOnly('N'))), random_reserves: Some(TagValueElement(5, 13, RandomReserves(0))), route: Some(TagValueElement(5, 14, Route("????"))), expire_time: Some(TagValueElement(5, 15, ExpireTime(0))), trade_now: Some(TagValueElement(2, 16, TradeNow(' '))), handle_inst: Some(TagValueElement(2, 17, HandleInst(' '))), group_id: Some(TagValueElement(3, 24, GroupId(0))), shares_located: Some(TagValueElement(2, 25, SharesLocated('N'))) } }
[INFO] [stderr] 2025-11-05T03:58:02.082384456Z INFO  (main-Thread) ouch_model::*::expire_time msg_inp: TagValueElement(5, 15, ExpireTime(1))
[INFO] [stderr] 2025-11-05T03:58:02.100683378Z INFO  (main-Thread) ouch_model::*::_09_cancel_reject ser: ByteSerializerStack<128> { len: 13, cap: 128, bytes: 
[INFO] [stderr] 0000: 49 00 00 0c  fd 4f 88 3b  36 00 00 00  01           | I . . .  ý O . ;  6 . . .  .
[INFO] [stderr]  }
[INFO] [stderr] 2025-11-05T03:58:02.100827958Z INFO  (main-Thread) ouch_model::*::_09_cancel_reject msg_inp: CancelReject { packet_type: PacketTypeCancelReject('I'), timestamp: Timestamp(14282100587318), user_ref_number: UserRefNumber(1) }
[INFO] [stderr] 2025-11-05T03:58:02.100919378Z INFO  (main-Thread) ouch_model::*::_09_cancel_reject msg_out: CancelReject { packet_type: PacketTypeCancelReject('I'), timestamp: Timestamp(14282100587318), user_ref_number: UserRefNumber(1) }
[INFO] [stderr] 2025-11-05T03:58:02.095220591Z INFO  (main-Thread) ouch_model::*::_06_broken_trade ser: ByteSerializerStack<128> { len: 36, cap: 128, bytes: 
[INFO] [stderr] 0000: 42 00 00 0c  fd 4f 34 d3  ef 00 00 00  01 00 00 00  | B . . .  ý O 4 Ó  ï . . .  . . . .
[INFO] [stderr] 0001: 00 00 00 00  01 45 31 20  20 20 20 20  20 20 20 20  | . . . .  . E 1 .  . . . .  . . . .
[INFO] [stderr] 0002: 20 20 20 20                                         | . . . .
[INFO] [stderr]  }
[INFO] [stderr] 2025-11-05T03:58:02.095286080Z INFO  (main-Thread) ouch_model::*::_04_order_aiq_canceled msg_inp: OrderAiqCanceled { packet_type: PacketTypeOrderAiqCanceled('D'), timestamp: Timestamp(14282090491903), user_ref_number: UserRefNumber(1), decrement_shares: Quantity(0), cancel_aiq_reason: CancelAiqReason('Q'), prevented_from_trading: Quantity(0), execution_price: Price(0.0), liquidity_flag: LiquidityFlag('A'), aiq_strategy: AiqStrategy('?') }
[INFO] [stderr] 2025-11-05T03:58:02.101289218Z INFO  (main-Thread) ouch_model::*::_04_order_aiq_canceled msg_out: OrderAiqCanceled { packet_type: PacketTypeOrderAiqCanceled('D'), timestamp: Timestamp(14282090491903), user_ref_number: UserRefNumber(1), decrement_shares: Quantity(0), cancel_aiq_reason: CancelAiqReason('Q'), prevented_from_trading: Quantity(0), execution_price: Price(0.0), liquidity_flag: LiquidityFlag('A'), aiq_strategy: AiqStrategy('?') }
[INFO] [stderr] 2025-11-05T03:58:02.095328520Z INFO  (main-Thread) ouch_model::*::_06_broken_trade json_out: {"timestamp":1,"user_ref_number":1,"match_number":1,"broken_trade_reason":"ERRONEOUS","clt_order_id":"1"}
[INFO] [stdout] test model::svc::_05_order_executed::test::test_msg_byteserde ... ok
[INFO] [stderr] 2025-11-05T03:58:02.095685380Z INFO  (main-Thread) ouch_model::*::_07_order_rejected ser: ByteSerializerStack<128> { len: 29, cap: 128, bytes: 
[INFO] [stderr] 0000: 4a 00 00 0c  fd 4f 3c 72  20 00 00 00  01 00 01 31  | J . . .  ý O < r  . . . .  . . . 1
[INFO] [stderr] 0001: 20 20 20 20  20 20 20 20  20 20 20 20  20           | . . . .  . . . .  . . . .  .
[INFO] [stderr]  }
[INFO] [stdout] test model::svc::_09_cancel_reject::test::test_msg_byteserde ... ok
[INFO] [stderr] 2025-11-05T03:58:02.095965360Z INFO  (main-Thread) ouch_model::*::_01_order_accepted msg_out: OrderAccepted { packet_type: PacketTypeOrderAccepted('A'), timestamp: Timestamp(14282089499803), user_ref_number: UserRefNumber(1), side: Side('B'), quantity: Quantity(100), symbol: Symbol("DUMMY    "), price: Price(1.2345), time_in_force: TimeInForce('0'), display: Display('Y'), order_reference_number: OrderReferenceNumber(1), capacity: Capacity('A'), int_mkt_sweep_eligibility: IntMktSweepEligibility('Y'), cross_type: CrossType('N'), order_state: OrderState('L'), clt_order_id: CltOrderId("1             "), appendage_length: 83, appendages: OrderAcceptedAppendage { firm: Some(TagValueElement(5, 2, Firm("????"))), min_qty: Some(TagValueElement(5, 3, MinQty(0))), customer_type: Some(TagValueElement(2, 4, CustomerType(' '))), max_floor: Some(TagValueElement(5, 5, MaxFloor(0))), price_type: Some(TagValueElement(2, 6, PriceType('L'))), peg_offset: Some(TagValueElement(5, 7, PegOffset(-1.1234))), discretion_price: Some(TagValueElement(9, 9, DiscretionPrice(0.0))), discretion_price_type: Some(TagValueElement(2, 10, DiscretionPriceType('L'))), discretion_peg_offset: Some(TagValueElement(5, 11, DiscretionPegOffset(-1.1234))), post_only: Some(TagValueElement(2, 12, PostOnly('N'))), random_reserves: Some(TagValueElement(5, 13, RandomReserves(0))), route: Some(TagValueElement(5, 14, Route("????"))), expire_time: Some(TagValueElement(5, 15, ExpireTime(0))), trade_now: Some(TagValueElement(2, 16, TradeNow(' '))), handle_inst: Some(TagValueElement(2, 17, HandleInst(' '))), bbo_weight_indicator: None, group_id: Some(TagValueElement(3, 24, GroupId(0))), shares_located: Some(TagValueElement(2, 25, SharesLocated('N'))) } }
[INFO] [stdout] test model::svc::_04_order_aiq_canceled::test::test_msg_byteserde ... ok
[INFO] [stderr] 2025-11-05T03:58:02.096629110Z INFO  (main-Thread) ouch_model::*::_07_order_rejected json_out: {"timestamp":1,"user_ref_number":1,"reject_reason":1,"clt_order_id":"1"}
[INFO] [stdout] test model::svc::_06_broken_trade::test::test_msg_serde ... ok
[INFO] [stderr] 2025-11-05T03:58:02.097053870Z INFO  (main-Thread) ouch_model::*::_02_order_replaced msg_inp: OrderReplaced { packet_type: PacketTypeOrderReplaced('U'), timestamp: Timestamp(14282094232531), orig_user_ref_number: UserRefNumber(1), user_ref_number: UserRefNumber(1), side: Side('B'), quantity: Quantity(50), symbol: Symbol("DUMMY    "), price: Price(1.2345), time_in_force: TimeInForce('0'), display: Display('Y'), order_reference_number: OrderReferenceNumber(0), capacity: Capacity('A'), int_mkt_sweep_eligibility: IntMktSweepEligibility('Y'), cross_type: CrossType('N'), order_state: OrderState('L'), clt_order_id: CltOrderId("REPLACE_ME____"), appendage_length: 36, appendages: OrderReplacedAppendage { firm: Some(TagValueElement(5, 2, Firm("????"))), min_qty: Some(TagValueElement(5, 3, MinQty(0))), max_floor: Some(TagValueElement(5, 5, MaxFloor(0))), price_type: Some(TagValueElement(2, 6, PriceType('L'))), post_only: Some(TagValueElement(2, 12, PostOnly('N'))), expire_time: Some(TagValueElement(5, 15, ExpireTime(0))), trade_now: Some(TagValueElement(2, 16, TradeNow(' '))), handle_inst: Some(TagValueElement(2, 17, HandleInst(' '))), bbo_weight_indicator: None } }
[INFO] [stderr] 2025-11-05T03:58:02.102768817Z INFO  (main-Thread) ouch_model::*::_02_order_replaced msg_out: OrderReplaced { packet_type: PacketTypeOrderReplaced('U'), timestamp: Timestamp(14282094232531), orig_user_ref_number: UserRefNumber(1), user_ref_number: UserRefNumber(1), side: Side('B'), quantity: Quantity(50), symbol: Symbol("DUMMY    "), price: Price(1.2345), time_in_force: TimeInForce('0'), display: Display('Y'), order_reference_number: OrderReferenceNumber(0), capacity: Capacity('A'), int_mkt_sweep_eligibility: IntMktSweepEligibility('Y'), cross_type: CrossType('N'), order_state: OrderState('L'), clt_order_id: CltOrderId("REPLACE_ME____"), appendage_length: 36, appendages: OrderReplacedAppendage { firm: Some(TagValueElement(5, 2, Firm("????"))), min_qty: Some(TagValueElement(5, 3, MinQty(0))), max_floor: Some(TagValueElement(5, 5, MaxFloor(0))), price_type: Some(TagValueElement(2, 6, PriceType('L'))), post_only: Some(TagValueElement(2, 12, PostOnly('N'))), expire_time: Some(TagValueElement(5, 15, ExpireTime(0))), trade_now: Some(TagValueElement(2, 16, TradeNow(' '))), handle_inst: Some(TagValueElement(2, 17, HandleInst(' '))), bbo_weight_indicator: None } }
[INFO] [stderr] 2025-11-05T03:58:02.100497008Z INFO  (main-Thread) ouch_model::*::_08_cancel_pending ser: ByteSerializerStack<128> { len: 13, cap: 128, bytes: 
[INFO] [stderr] 0000: 50 00 00 0c  fd 4f 85 99  12 00 00 00  01           | P . . .  ý O . .  . . . .  .
[INFO] [stderr]  }
[INFO] [stderr] 2025-11-05T03:58:02.100568578Z INFO  (main-Thread) ouch_model::*::_08_cancel_pending json_out: {"timestamp":1,"user_ref_number":1}
[INFO] [stderr] 2025-11-05T03:58:02.100721758Z INFO  (main-Thread) ouch_model::*::expire_time json_out: 1
[INFO] [stderr] 2025-11-05T03:58:02.094932421Z INFO  (main-Thread) ouch_model::*::firm json_out: "AB"
[INFO] [stderr] 2025-11-05T03:58:02.101139418Z INFO  (main-Thread) ouch_model::*::_06_broken_trade msg_inp: BrokenTrade { packet_type: PacketTypeBrokenTrade('B'), timestamp: Timestamp(14282095121391), user_ref_number: UserRefNumber(1), match_number: MatchNumber(1), broken_trade_reason: BrokenTradeReason('E'), clt_order_id: CltOrderId("1             ") }
[INFO] [stderr] 2025-11-05T03:58:02.101745037Z INFO  (main-Thread) ouch_model::*::_07_order_rejected msg_inp: OrderRejected { packet_type: PacketTypeOrderRejected('J'), timestamp: Timestamp(14282095620640), user_ref_number: UserRefNumber(1), reject_reason: OrderRejectReason(1), clt_order_id: CltOrderId("1             ") }
[INFO] [stderr] 2025-11-05T03:58:02.103697687Z INFO  (main-Thread) ouch_model::*::_07_order_rejected msg_out: OrderRejected { packet_type: PacketTypeOrderRejected('J'), timestamp: Timestamp(14282095620640), user_ref_number: UserRefNumber(1), reject_reason: OrderRejectReason(1), clt_order_id: CltOrderId("1             ") }
[INFO] [stderr] 2025-11-05T03:58:02.102467987Z INFO  (main-Thread) ouch_model::*::_10_priority_update json_out: {"timestamp":1,"user_ref_number":1,"price":1.2345,"display":"VISIBLE","order_reference_number":0}
[INFO] [stderr] 2025-11-05T03:58:02.102433807Z INFO  (main-Thread) ouch_model::*::_10_priority_update ser: ByteSerializerStack<128> { len: 30, cap: 128, bytes: 
[INFO] [stderr] 0000: 54 00 00 0c  fd 4f a3 1f  bd 00 00 00  01 00 00 00  | T . . .  ý O £ .  ½ . . .  . . . .
[INFO] [stderr] 0001: 00 00 00 30  39 59 00 00  00 00 00 00  00 00        | . . . 0  9 Y . .  . . . .  . .
[INFO] [stderr]  }
[INFO] [stderr] 2025-11-05T03:58:02.100253508Z INFO  (main-Thread) ouch_model::*::peg_offset msg_inp: TagValueElement(5, 7, PegOffset(-1.1234))
[INFO] [stderr] 2025-11-05T03:58:02.103289597Z INFO  (main-Thread) ouch_model::*::_08_cancel_pending msg_inp: CancelPending { packet_type: PacketTypeCancelPending('P'), timestamp: Timestamp(14282100414738), user_ref_number: UserRefNumber(1) }
[INFO] [stderr] 2025-11-05T03:58:02.104258066Z INFO  (main-Thread) ouch_model::*::_08_cancel_pending msg_out: CancelPending { packet_type: PacketTypeCancelPending('P'), timestamp: Timestamp(14282100414738), user_ref_number: UserRefNumber(1) }
[INFO] [stderr] 2025-11-05T03:58:02.103483127Z INFO  (main-Thread) ouch_model::*::firm msg_out: TagValueElement(5, 2, Firm("  AB"))
[INFO] [stderr] 2025-11-05T03:58:02.103521807Z INFO  (main-Thread) ouch_model::*::expire_time msg_out: TagValueElement(5, 15, ExpireTime(1))
[INFO] [stderr] 2025-11-05T03:58:02.103599776Z INFO  (main-Thread) ouch_model::*::_06_broken_trade msg_out: BrokenTrade { packet_type: PacketTypeBrokenTrade('B'), timestamp: Timestamp(14282095121391), user_ref_number: UserRefNumber(1), match_number: MatchNumber(1), broken_trade_reason: BrokenTradeReason('E'), clt_order_id: CltOrderId("1             ") }
[INFO] [stderr] 2025-11-05T03:58:02.104108276Z INFO  (main-Thread) ouch_model::*::_10_priority_update msg_inp: PriorityUpdate { packet_type: PacketTypePriorityUpdate('T'), timestamp: Timestamp(14282102349757), user_ref_number: UserRefNumber(1), price: Price(1.2345), display: Display('Y'), order_reference_number: OrderReferenceNumber(0) }
[INFO] [stdout] test model::svc::_01_order_accepted::test::test_msg_byteserde ... ok
[INFO] [stderr] 2025-11-05T03:58:02.104762036Z INFO  (main-Thread) ouch_model::*::_10_priority_update msg_out: PriorityUpdate { packet_type: PacketTypePriorityUpdate('T'), timestamp: Timestamp(14282102349757), user_ref_number: UserRefNumber(1), price: Price(1.2345), display: Display('Y'), order_reference_number: OrderReferenceNumber(0) }
[INFO] [stderr] 2025-11-05T03:58:02.104209146Z INFO  (main-Thread) ouch_model::*::peg_offset json_out: -1.1234
[INFO] [stderr] 2025-11-05T03:58:02.104989826Z INFO  (main-Thread) ouch_model::*::_09_cancel_reject json_out: {"timestamp":1,"user_ref_number":1}
[INFO] [stderr] 2025-11-05T03:58:02.105054846Z INFO  (main-Thread) ouch_model::*::peg_offset msg_out: TagValueElement(5, 7, PegOffset(-1.1234))
[INFO] [stdout] test model::svc::_07_order_rejected::test::test_msg_serde ... ok
[INFO] [stderr] 2025-11-05T03:58:02.105503066Z INFO  (main-Thread) ouch_model::*::_11_order_modified json_out: {"timestamp":1,"user_ref_number":1,"side":"BUY","quantity":1}
[INFO] [stdout] test model::svc::_02_order_replaced::test::test_msg_byteserde ... ok
[INFO] [stderr] 2025-11-05T03:58:02.105808175Z INFO  (main-Thread) ouch_model::*::_12_order_restated json_out: {"timestamp":1,"user_ref_number":1,"restate_reason":"REFRESH_OF_DISPLAY","appendages":{"display_qty":1,"display_price":0.0,"secondary_order_ref_num":1}}
[INFO] [stdout] test model::svc::_08_cancel_pending::test::test_msg_serde ... ok
[INFO] [stdout] test model::svc::_07_order_rejected::test::test_msg_byteserde ... ok
[INFO] [stderr] 2025-11-05T03:58:02.105754866Z INFO  (main-Thread) ouch_model::*::_12_order_restated ser: ByteSerializerStack<128> { len: 42, cap: 128, bytes: 
[INFO] [stderr] 0000: 52 00 00 0c  fd 4f d4 07  c6 00 00 00  01 52 00 1a  | R . . .  ý O Ô .  Æ . . .  . R . .
[INFO] [stdout] test model::svc::_10_priority_update::test::test_msg_serde ... ok
[INFO] [stderr] 0001: 05 16 00 00  00 01 09 17  00 00 00 00  00 00 00 00  | . . . .  . . . .  . . . .  . . . .
[INFO] [stdout] test model::svc::_08_cancel_pending::test::test_msg_byteserde ... ok
[INFO] [stderr] 0002: 09 01 00 00  00 00 00 00  00 01                     | . . . .  . . . .  . .
[INFO] [stderr]  }
[INFO] [stdout] test model::optional_filed_types::optional_values::firm::test::test_msg_serde ... ok
[INFO] [stdout] test model::optional_filed_types::optional_values::expire_time::test::test_msg_serde ... ok
[INFO] [stdout] test model::svc::_06_broken_trade::test::test_msg_byteserde ... ok
[INFO] [stderr] 2025-11-05T03:58:02.107424055Z INFO  (main-Thread) ouch_model::*::_12_order_restated msg_inp: OrderRestated { packet_type: PacketTypeOrderRestated('R'), timestamp: Timestamp(14282105554886), user_ref_number: UserRefNumber(1), restate_reason: RestatedReason('R'), appendage_length: 26, appendages: OrderRestatedAppendage { display_qty: Some(TagValueElement(5, 22, DisplayQty(1))), display_price: Some(TagValueElement(9, 23, DisplayPrice(0.0))), secondary_order_ref_num: Some(TagValueElement(9, 1, SecondaryOrdRefNum(1))) } }
[INFO] [stdout] test model::svc::_10_priority_update::test::test_msg_byteserde ... ok
[INFO] [stdout] test model::svc::_09_cancel_reject::test::test_msg_serde ... ok
[INFO] [stdout] test model::optional_filed_types::optional_values::peg_offset::test::test_msg_serde ... ok
[INFO] [stdout] test model::svc::_11_order_modified::test::test_msg_serde ... ok
[INFO] [stdout] test model::svc::_12_order_restated::test::test_msg_serde ... ok
[INFO] [stderr] 2025-11-05T03:58:02.106194586Z INFO  (main-Thread) ouch_model::*::_13_account_query_res json_out: {"timestamp":1,"next_user_ref_number":1}
[INFO] [stdout] test model::svc::_13_account_query_res::test::test_msg_serde ... ok
[INFO] [stderr] 2025-11-05T03:58:02.108130325Z INFO  (main-Thread) ouch_model::*::_12_order_restated msg_out: OrderRestated { packet_type: PacketTypeOrderRestated('R'), timestamp: Timestamp(14282105554886), user_ref_number: UserRefNumber(1), restate_reason: RestatedReason('R'), appendage_length: 26, appendages: OrderRestatedAppendage { display_qty: Some(TagValueElement(5, 22, DisplayQty(1))), display_price: Some(TagValueElement(9, 23, DisplayPrice(0.0))), secondary_order_ref_num: Some(TagValueElement(9, 1, SecondaryOrdRefNum(1))) } }
[INFO] [stderr] 2025-11-05T03:58:02.107691655Z INFO  (main-Thread) ouch_model::*::_13_account_query_res ser: ByteSerializerStack<128> { len: 13, cap: 128, bytes: 
[INFO] [stderr] 0000: 51 00 00 0c  fd 4f f3 5d  d7 00 00 00  01           | Q . . .  ý O ó ]  × . . .  .
[INFO] [stderr]  }
[INFO] [stdout] test model::svc::_12_order_restated::test::test_msg_byteserde ... ok
[INFO] [stderr] 2025-11-05T03:58:02.112439172Z INFO  (main-Thread) ouch_model::*::_13_account_query_res msg_inp: AccountQueryResponse { packet_type: PacketTypeAccountQueryResponse('Q'), timestamp: Timestamp(14282107608535), next_user_ref_number: UserRefNumber(1) }
[INFO] [stdout] test model::svc::_13_account_query_res::test::test_msg_byteserde ... ok
[INFO] [stderr] 2025-11-05T03:58:02.112550052Z INFO  (main-Thread) ouch_model::*::_13_account_query_res msg_out: AccountQueryResponse { packet_type: PacketTypeAccountQueryResponse('Q'), timestamp: Timestamp(14282107608535), next_user_ref_number: UserRefNumber(1) }
[INFO] [stderr] 2025-11-05T03:58:02.104339676Z INFO  (main-Thread) ouch_model::*::_11_order_modified ser: ByteSerializerStack<128> { len: 18, cap: 128, bytes: 
[INFO] [stdout] test model::svc::_11_order_modified::test::test_msg_byteserde ... ok
[INFO] [stderr] 0000: 4d 00 00 0c  fd 4f c0 54  ec 00 00 00  01 42 00 00  | M . . .  ý O À T  ì . . .  . B . .
[INFO] [stderr] 0001: 00 01                                               | . .
[INFO] [stderr]  }
[INFO] [stderr] 2025-11-05T03:58:02.117335590Z INFO  (main-Thread) ouch_model::*::_11_order_modified msg_inp: OrderModified { packet_type: PacketTypeOrderModified('M'), timestamp: Timestamp(14282104263916), user_ref_number: UserRefNumber(1), side: Side('B'), quantity: Quantity(1) }
[INFO] [stderr] 2025-11-05T03:58:02.117488440Z INFO  (main-Thread) ouch_model::*::_11_order_modified msg_out: OrderModified { packet_type: PacketTypeOrderModified('M'), timestamp: Timestamp(14282104263916), user_ref_number: UserRefNumber(1), side: Side('B'), quantity: Quantity(1) }
[INFO] [stdout] test model::field_types::price::test::test_price_fail - should panic ... ok
[INFO] [stdout] test model::optional_filed_types::optional_values::discretion_price::test::test_msg_fail - should panic ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 66 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests ouch_model
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "d1563d9fb3b31678f1fc567b8e3023a68aee3f1a952ce4c8a79740de433ef803", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d1563d9fb3b31678f1fc567b8e3023a68aee3f1a952ce4c8a79740de433ef803", kill_on_drop: false }`
[INFO] [stdout] d1563d9fb3b31678f1fc567b8e3023a68aee3f1a952ce4c8a79740de433ef803
