gameplay: port assisted thaw progress
Browse files- crates/urt-gameplay/src/assistance.rs +95 -0
- crates/urt-gameplay/src/bin/urt-assistance.rs +27 -0
- docs/FINDINGS.md +2 -0
- docs/PROVISIONAL_TODO.md +2 -0
- docs/RESEARCH_LEDGER.md +4 -0
- docs/REVERSE_ENGINEERING_TODO.md +2 -0
- docs/research/README.md +2 -0
- docs/research/RUST_ASSIST_PROGRESS.md +5 -0
- docs/research/rust-assist-progress.json +997 -0
- docs/research/rust-health-impulse.json +1 -1
- scripts/analyze_rust_assist_progress.py +18 -0
- scripts/test_rust_assist_progress.py +9 -0
- xtask/checks.tsv +29 -0
- xtask/src/lib.rs +3 -0
crates/urt-gameplay/src/assistance.rs
CHANGED
|
@@ -154,3 +154,98 @@ mod cancel_tests {
|
|
| 154 |
assert_eq!(s, old);
|
| 155 |
}
|
| 156 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 154 |
assert_eq!(s, old);
|
| 155 |
}
|
| 156 |
}
|
| 157 |
+
|
| 158 |
+
/// Original153121 progress fragment with actual152386 meter policy. Selection
|
| 159 |
+
/// already established matching near/protected ownership. Float domains are
|
| 160 |
+
/// finite/in-range; invalid input stages neither helper time nor target state.
|
| 161 |
+
pub fn progress_assistance(
|
| 162 |
+
helper: &mut HelperState,
|
| 163 |
+
target: &mut crate::move_callbacks::MeterState,
|
| 164 |
+
seconds: u32,
|
| 165 |
+
tick: u32,
|
| 166 |
+
slot: i32,
|
| 167 |
+
target_slot: usize,
|
| 168 |
+
owner: u32,
|
| 169 |
+
) -> Result<Vec<AssistEffect>, Error> {
|
| 170 |
+
indices(slot, target_slot)?;
|
| 171 |
+
let seconds = f32::from_bits(seconds);
|
| 172 |
+
if !seconds.is_finite() {
|
| 173 |
+
return Err(Error::NonFinite);
|
| 174 |
+
}
|
| 175 |
+
if seconds == 0. {
|
| 176 |
+
return Err(Error::InvalidInput);
|
| 177 |
+
}
|
| 178 |
+
let mut next = *target;
|
| 179 |
+
let increment = 32000.0 / (seconds * 1000.0) * (tick.wrapping_sub(helper.last) as i32 as f32);
|
| 180 |
+
let carry = f32::from_bits(next.carry) + increment;
|
| 181 |
+
if !increment.is_finite() || !carry.is_finite() {
|
| 182 |
+
return Err(Error::NonFinite);
|
| 183 |
+
}
|
| 184 |
+
next.carry = carry.to_bits();
|
| 185 |
+
let effects = crate::move_callbacks::finish_meter(
|
| 186 |
+
&mut next,
|
| 187 |
+
crate::move_callbacks::MeterInput {
|
| 188 |
+
melt: false,
|
| 189 |
+
mirror: true,
|
| 190 |
+
slot: target_slot as i32,
|
| 191 |
+
other_slot: slot,
|
| 192 |
+
owner,
|
| 193 |
+
},
|
| 194 |
+
)?;
|
| 195 |
+
*target = next;
|
| 196 |
+
helper.last = tick;
|
| 197 |
+
Ok(effects.into_iter().map(AssistEffect::Nested).collect())
|
| 198 |
+
}
|
| 199 |
+
#[cfg(test)]
|
| 200 |
+
mod progress_tests {
|
| 201 |
+
use super::*;
|
| 202 |
+
use crate::move_callbacks::MeterState;
|
| 203 |
+
fn helper() -> HelperState {
|
| 204 |
+
HelperState {
|
| 205 |
+
flags: 8192,
|
| 206 |
+
active: 1,
|
| 207 |
+
target: Some(3),
|
| 208 |
+
last: u32::MAX - 15,
|
| 209 |
+
}
|
| 210 |
+
}
|
| 211 |
+
fn target() -> MeterState {
|
| 212 |
+
MeterState {
|
| 213 |
+
meter: 0,
|
| 214 |
+
carry: 0.5f32.to_bits(),
|
| 215 |
+
flags220: 16384,
|
| 216 |
+
flags104: 16,
|
| 217 |
+
pm_type: 4,
|
| 218 |
+
receiver: 999,
|
| 219 |
+
event_entity: [7, 1],
|
| 220 |
+
}
|
| 221 |
+
}
|
| 222 |
+
#[test]
|
| 223 |
+
fn wrapped_progress_mirrors_meter_and_completion_orders_effects() {
|
| 224 |
+
let mut h = helper();
|
| 225 |
+
let mut t = target();
|
| 226 |
+
progress_assistance(&mut h, &mut t, 2f32.to_bits(), 10, 2, 3, 9).unwrap();
|
| 227 |
+
assert_eq!((t.meter, t.receiver, h.last), (416, 416, 10));
|
| 228 |
+
t.meter = 31999;
|
| 229 |
+
t.carry = 1.25f32.to_bits();
|
| 230 |
+
let e = progress_assistance(&mut h, &mut t, 2f32.to_bits(), 10, 2, 3, 9).unwrap();
|
| 231 |
+
assert_eq!((t.meter, t.receiver, t.pm_type), (0, 0, 0));
|
| 232 |
+
assert!(matches!(
|
| 233 |
+
&e[..],
|
| 234 |
+
[
|
| 235 |
+
AssistEffect::Nested(crate::move_callbacks::CallbackEffect::Teleport { .. }),
|
| 236 |
+
AssistEffect::Nested(crate::move_callbacks::CallbackEffect::Reset { .. }),
|
| 237 |
+
AssistEffect::Nested(crate::move_callbacks::CallbackEffect::Event { event: 108 }),
|
| 238 |
+
AssistEffect::Nested(crate::move_callbacks::CallbackEffect::Log { .. })
|
| 239 |
+
]
|
| 240 |
+
));
|
| 241 |
+
}
|
| 242 |
+
#[test]
|
| 243 |
+
fn late_error_preserves_helper_clock_and_target() {
|
| 244 |
+
let mut h = helper();
|
| 245 |
+
let mut t = target();
|
| 246 |
+
t.carry = f32::MAX.to_bits();
|
| 247 |
+
let old = (h, t);
|
| 248 |
+
assert!(progress_assistance(&mut h, &mut t, 2f32.to_bits(), 10, 2, 3, 9).is_err());
|
| 249 |
+
assert_eq!((h, t), old);
|
| 250 |
+
}
|
| 251 |
+
}
|
crates/urt-gameplay/src/bin/urt-assistance.rs
CHANGED
|
@@ -79,6 +79,33 @@ fn main() {
|
|
| 79 |
let e = cancel_assistance(&mut s, 2, 3).unwrap();
|
| 80 |
println!("{{{}}}", fields(s, &e));
|
| 81 |
}
|
|
|
|
| 82 |
_ => panic!("unknown policy"),
|
| 83 |
}
|
| 84 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 79 |
let e = cancel_assistance(&mut s, 2, 3).unwrap();
|
| 80 |
println!("{{{}}}", fields(s, &e));
|
| 81 |
}
|
| 82 |
+
"progress" => println!("{}", progress(&w)),
|
| 83 |
_ => panic!("unknown policy"),
|
| 84 |
}
|
| 85 |
}
|
| 86 |
+
|
| 87 |
+
fn progress(w: &[u32]) -> String {
|
| 88 |
+
assert_eq!(w.len(), 11);
|
| 89 |
+
let mut h = helper(w);
|
| 90 |
+
let mut t = urt_gameplay::move_callbacks::MeterState {
|
| 91 |
+
meter: w[5],
|
| 92 |
+
carry: w[6],
|
| 93 |
+
flags220: w[7],
|
| 94 |
+
flags104: w[8],
|
| 95 |
+
pm_type: w[9],
|
| 96 |
+
receiver: 999,
|
| 97 |
+
event_entity: [7, 0x80000001],
|
| 98 |
+
};
|
| 99 |
+
let e = progress_assistance(&mut h, &mut t, w[10], w[3], 2, 3, 0x23456789).unwrap();
|
| 100 |
+
format!(
|
| 101 |
+
r#"{{{},"target_meter":{},"carry_bits":{},"target_flags220":{},"target_flags104":{},"target_pm_type":{},"helper_meter":{},"event_entity":{}}}"#,
|
| 102 |
+
fields(h, &e),
|
| 103 |
+
t.meter,
|
| 104 |
+
t.carry,
|
| 105 |
+
t.flags220,
|
| 106 |
+
t.flags104,
|
| 107 |
+
t.pm_type,
|
| 108 |
+
t.receiver,
|
| 109 |
+
list(&t.event_entity)
|
| 110 |
+
)
|
| 111 |
+
}
|
docs/FINDINGS.md
CHANGED
|
@@ -1953,3 +1953,5 @@ RE-1006: Seventy-two source cases recover both cancellation branches. Only a hel
|
|
| 1953 |
RE-1007: Rust matches both original cancellation branches across72 source cases. Matching flagged active ownership clears only assistance state and emits event105; repeated cancellation is silent. Clocks and high bits survive, mismatched targets remain intact, and invalid indices reject before mutation. Native publication remains an explicit effect plan. [Evidence](research/RUST_ASSIST_CANCEL.md).
|
| 1954 |
|
| 1955 |
RE-1008: Twenty-four original-QVM cases execute staged f32 progress using34062368 and helper clock6328, then actual152386 on the target with helper meter mirroring. Negative/wrapped elapsed time, signed duration, fractional carry, precision and threshold completion are covered. Assisted completion orders teleport/reset/event108/log and mirrors zero to the helper. Helper clock advances after the target child; ownership remains until later cancellation. Native nested effects remain captured or supplied. [Evidence](research/QVM_ASSIST_PROGRESS.md).
|
|
|
|
|
|
|
|
|
| 1953 |
RE-1007: Rust matches both original cancellation branches across72 source cases. Matching flagged active ownership clears only assistance state and emits event105; repeated cancellation is silent. Clocks and high bits survive, mismatched targets remain intact, and invalid indices reject before mutation. Native publication remains an explicit effect plan. [Evidence](research/RUST_ASSIST_CANCEL.md).
|
| 1954 |
|
| 1955 |
RE-1008: Twenty-four original-QVM cases execute staged f32 progress using34062368 and helper clock6328, then actual152386 on the target with helper meter mirroring. Negative/wrapped elapsed time, signed duration, fractional carry, precision and threshold completion are covered. Assisted completion orders teleport/reset/event108/log and mirrors zero to the helper. Helper clock advances after the target child; ownership remains until later cancellation. Native nested effects remain captured or supplied. [Evidence](research/QVM_ASSIST_PROGRESS.md).
|
| 1956 |
+
|
| 1957 |
+
RE-1009: Rust matches24 assisted progress cases, including f32 rounding, negative/wrapped elapsed time and completion. Target meter completion mirrors its result to the helper and preserves original nested effect order. Clock and target updates stage together, so invalid duration or late conversion errors leave both unchanged. Unit cases verify wrapped416-unit progress, zero mirroring at completion and rollback. [Evidence](research/RUST_ASSIST_PROGRESS.md).
|
docs/PROVISIONAL_TODO.md
CHANGED
|
@@ -2011,3 +2011,5 @@ RE-974–983 completed routing, command rewrite, inactivity, movement-parameter
|
|
| 2011 |
- [x] RE-1007 Port conditional assistance cancellation ([evidence](research/RUST_ASSIST_CANCEL.md)).
|
| 2012 |
|
| 2013 |
- [x] RE-1008 Recover assisted thaw progress and target completion ([evidence](research/QVM_ASSIST_PROGRESS.md)).
|
|
|
|
|
|
|
|
|
| 2011 |
- [x] RE-1007 Port conditional assistance cancellation ([evidence](research/RUST_ASSIST_CANCEL.md)).
|
| 2012 |
|
| 2013 |
- [x] RE-1008 Recover assisted thaw progress and target completion ([evidence](research/QVM_ASSIST_PROGRESS.md)).
|
| 2014 |
+
|
| 2015 |
+
- [x] RE-1009 Port assisted progress with target meter feedback ([evidence](research/RUST_ASSIST_PROGRESS.md)).
|
docs/RESEARCH_LEDGER.md
CHANGED
|
@@ -2707,3 +2707,7 @@ Rust matches both original cancellation branches across72 source cases. Matching
|
|
| 2707 |
## 2026-10-29 — RE-1008 Recover assisted thaw progress and target completion
|
| 2708 |
|
| 2709 |
Twenty-four original-QVM cases execute staged f32 progress using34062368 and helper clock6328, then actual152386 on the target with helper meter mirroring. Negative/wrapped elapsed time, signed duration, fractional carry, precision and threshold completion are covered. Assisted completion orders teleport/reset/event108/log and mirrors zero to the helper. Helper clock advances after the target child; ownership remains until later cancellation. Native nested effects remain captured or supplied. Focused `cargo xtask test-group qvm-assist-progress` passes with deterministic report regeneration and selected regressions. Full suite deferred to task ten. Original assets unchanged; Python uses the flake-declared Nix runtime.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2707 |
## 2026-10-29 — RE-1008 Recover assisted thaw progress and target completion
|
| 2708 |
|
| 2709 |
Twenty-four original-QVM cases execute staged f32 progress using34062368 and helper clock6328, then actual152386 on the target with helper meter mirroring. Negative/wrapped elapsed time, signed duration, fractional carry, precision and threshold completion are covered. Assisted completion orders teleport/reset/event108/log and mirrors zero to the helper. Helper clock advances after the target child; ownership remains until later cancellation. Native nested effects remain captured or supplied. Focused `cargo xtask test-group qvm-assist-progress` passes with deterministic report regeneration and selected regressions. Full suite deferred to task ten. Original assets unchanged; Python uses the flake-declared Nix runtime.
|
| 2710 |
+
|
| 2711 |
+
## 2026-10-29 — RE-1009 Port assisted progress with target meter feedback
|
| 2712 |
+
|
| 2713 |
+
Rust matches24 assisted progress cases, including f32 rounding, negative/wrapped elapsed time and completion. Target meter completion mirrors its result to the helper and preserves original nested effect order. Clock and target updates stage together, so invalid duration or late conversion errors leave both unchanged. Unit cases verify wrapped416-unit progress, zero mirroring at completion and rollback. Focused `cargo xtask test-group rust-assist-progress` passes with deterministic report regeneration and selected regressions. Full suite deferred to task ten. Original assets unchanged; Python uses the flake-declared Nix runtime.
|
docs/REVERSE_ENGINEERING_TODO.md
CHANGED
|
@@ -2048,3 +2048,5 @@ RE-974–983 recover routing, command rewriting, inactivity and composed setup t
|
|
| 2048 |
- [x] RE-1007 Port conditional assistance cancellation ([evidence](research/RUST_ASSIST_CANCEL.md)).
|
| 2049 |
|
| 2050 |
- [x] RE-1008 Recover assisted thaw progress and target completion ([evidence](research/QVM_ASSIST_PROGRESS.md)).
|
|
|
|
|
|
|
|
|
| 2048 |
- [x] RE-1007 Port conditional assistance cancellation ([evidence](research/RUST_ASSIST_CANCEL.md)).
|
| 2049 |
|
| 2050 |
- [x] RE-1008 Recover assisted thaw progress and target completion ([evidence](research/QVM_ASSIST_PROGRESS.md)).
|
| 2051 |
+
|
| 2052 |
+
- [x] RE-1009 Port assisted progress with target meter feedback ([evidence](research/RUST_ASSIST_PROGRESS.md)).
|
docs/research/README.md
CHANGED
|
@@ -1581,3 +1581,5 @@ The extension collector adds five focused tests for native tail calls, command-r
|
|
| 1581 |
- [RE-1007: Port conditional assistance cancellation](RUST_ASSIST_CANCEL.md).
|
| 1582 |
|
| 1583 |
- [RE-1008: Recover assisted thaw progress and target completion](QVM_ASSIST_PROGRESS.md).
|
|
|
|
|
|
|
|
|
| 1581 |
- [RE-1007: Port conditional assistance cancellation](RUST_ASSIST_CANCEL.md).
|
| 1582 |
|
| 1583 |
- [RE-1008: Recover assisted thaw progress and target completion](QVM_ASSIST_PROGRESS.md).
|
| 1584 |
+
|
| 1585 |
+
- [RE-1009: Port assisted progress with target meter feedback](RUST_ASSIST_PROGRESS.md).
|
docs/research/RUST_ASSIST_PROGRESS.md
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Port assisted progress with target meter feedback
|
| 2 |
+
|
| 3 |
+
RE-1009. Focused validation: `cargo xtask test-group rust-assist-progress`. [Machine report](rust-assist-progress.json).
|
| 4 |
+
|
| 5 |
+
Rust matches24 assisted progress cases, including f32 rounding, negative/wrapped elapsed time and completion. Target meter completion mirrors its result to the helper and preserves original nested effect order. Clock and target updates stage together, so invalid duration or late conversion errors leave both unchanged. Unit cases verify wrapped416-unit progress, zero mirroring at completion and rollback.
|
docs/research/rust-assist-progress.json
ADDED
|
@@ -0,0 +1,997 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"limits": "Finite source/Rust contract parity; native time/file/network replies remain supplied or captured.",
|
| 3 |
+
"probes": [
|
| 4 |
+
{
|
| 5 |
+
"rust": {
|
| 6 |
+
"active": 1,
|
| 7 |
+
"carry_bits": 0,
|
| 8 |
+
"event_entity": [
|
| 9 |
+
7,
|
| 10 |
+
2147483649
|
| 11 |
+
],
|
| 12 |
+
"events": [],
|
| 13 |
+
"flags": 2147491842,
|
| 14 |
+
"helper_meter": 6400,
|
| 15 |
+
"last": 10000,
|
| 16 |
+
"target": 3,
|
| 17 |
+
"target_flags104": 2147483666,
|
| 18 |
+
"target_flags220": 2147500034,
|
| 19 |
+
"target_meter": 6400,
|
| 20 |
+
"target_pm_type": 4
|
| 21 |
+
},
|
| 22 |
+
"source": {
|
| 23 |
+
"active": 1,
|
| 24 |
+
"carry_bits": 0,
|
| 25 |
+
"event_entity": [
|
| 26 |
+
7,
|
| 27 |
+
2147483649
|
| 28 |
+
],
|
| 29 |
+
"events": [],
|
| 30 |
+
"flags": 2147491842,
|
| 31 |
+
"helper_meter": 6400,
|
| 32 |
+
"last": 10000,
|
| 33 |
+
"target": 3,
|
| 34 |
+
"target_flags104": 2147483666,
|
| 35 |
+
"target_flags220": 2147500034,
|
| 36 |
+
"target_meter": 6400,
|
| 37 |
+
"target_pm_type": 4
|
| 38 |
+
}
|
| 39 |
+
},
|
| 40 |
+
{
|
| 41 |
+
"rust": {
|
| 42 |
+
"active": 1,
|
| 43 |
+
"carry_bits": 0,
|
| 44 |
+
"event_entity": [
|
| 45 |
+
7,
|
| 46 |
+
2147483649
|
| 47 |
+
],
|
| 48 |
+
"events": [],
|
| 49 |
+
"flags": 2147491842,
|
| 50 |
+
"helper_meter": 1600,
|
| 51 |
+
"last": 10000,
|
| 52 |
+
"target": 3,
|
| 53 |
+
"target_flags104": 2147483666,
|
| 54 |
+
"target_flags220": 2147500034,
|
| 55 |
+
"target_meter": 1600,
|
| 56 |
+
"target_pm_type": 4
|
| 57 |
+
},
|
| 58 |
+
"source": {
|
| 59 |
+
"active": 1,
|
| 60 |
+
"carry_bits": 0,
|
| 61 |
+
"event_entity": [
|
| 62 |
+
7,
|
| 63 |
+
2147483649
|
| 64 |
+
],
|
| 65 |
+
"events": [],
|
| 66 |
+
"flags": 2147491842,
|
| 67 |
+
"helper_meter": 1600,
|
| 68 |
+
"last": 10000,
|
| 69 |
+
"target": 3,
|
| 70 |
+
"target_flags104": 2147483666,
|
| 71 |
+
"target_flags220": 2147500034,
|
| 72 |
+
"target_meter": 1600,
|
| 73 |
+
"target_pm_type": 4
|
| 74 |
+
}
|
| 75 |
+
},
|
| 76 |
+
{
|
| 77 |
+
"rust": {
|
| 78 |
+
"active": 1,
|
| 79 |
+
"carry_bits": 0,
|
| 80 |
+
"event_entity": [
|
| 81 |
+
7,
|
| 82 |
+
2147483649
|
| 83 |
+
],
|
| 84 |
+
"events": [],
|
| 85 |
+
"flags": 2147491842,
|
| 86 |
+
"helper_meter": 0,
|
| 87 |
+
"last": 10000,
|
| 88 |
+
"target": 3,
|
| 89 |
+
"target_flags104": 2147483666,
|
| 90 |
+
"target_flags220": 2147500034,
|
| 91 |
+
"target_meter": 0,
|
| 92 |
+
"target_pm_type": 4
|
| 93 |
+
},
|
| 94 |
+
"source": {
|
| 95 |
+
"active": 1,
|
| 96 |
+
"carry_bits": 0,
|
| 97 |
+
"event_entity": [
|
| 98 |
+
7,
|
| 99 |
+
2147483649
|
| 100 |
+
],
|
| 101 |
+
"events": [],
|
| 102 |
+
"flags": 2147491842,
|
| 103 |
+
"helper_meter": 0,
|
| 104 |
+
"last": 10000,
|
| 105 |
+
"target": 3,
|
| 106 |
+
"target_flags104": 2147483666,
|
| 107 |
+
"target_flags220": 2147500034,
|
| 108 |
+
"target_meter": 0,
|
| 109 |
+
"target_pm_type": 4
|
| 110 |
+
}
|
| 111 |
+
},
|
| 112 |
+
{
|
| 113 |
+
"rust": {
|
| 114 |
+
"active": 1,
|
| 115 |
+
"carry_bits": 0,
|
| 116 |
+
"event_entity": [
|
| 117 |
+
7,
|
| 118 |
+
2147483649
|
| 119 |
+
],
|
| 120 |
+
"events": [],
|
| 121 |
+
"flags": 2147491842,
|
| 122 |
+
"helper_meter": 0,
|
| 123 |
+
"last": 10000,
|
| 124 |
+
"target": 3,
|
| 125 |
+
"target_flags104": 2147483666,
|
| 126 |
+
"target_flags220": 2147500034,
|
| 127 |
+
"target_meter": 0,
|
| 128 |
+
"target_pm_type": 4
|
| 129 |
+
},
|
| 130 |
+
"source": {
|
| 131 |
+
"active": 1,
|
| 132 |
+
"carry_bits": 0,
|
| 133 |
+
"event_entity": [
|
| 134 |
+
7,
|
| 135 |
+
2147483649
|
| 136 |
+
],
|
| 137 |
+
"events": [],
|
| 138 |
+
"flags": 2147491842,
|
| 139 |
+
"helper_meter": 0,
|
| 140 |
+
"last": 10000,
|
| 141 |
+
"target": 3,
|
| 142 |
+
"target_flags104": 2147483666,
|
| 143 |
+
"target_flags220": 2147500034,
|
| 144 |
+
"target_meter": 0,
|
| 145 |
+
"target_pm_type": 4
|
| 146 |
+
}
|
| 147 |
+
},
|
| 148 |
+
{
|
| 149 |
+
"rust": {
|
| 150 |
+
"active": 1,
|
| 151 |
+
"carry_bits": 0,
|
| 152 |
+
"event_entity": [
|
| 153 |
+
7,
|
| 154 |
+
2147483649
|
| 155 |
+
],
|
| 156 |
+
"events": [],
|
| 157 |
+
"flags": 2147491842,
|
| 158 |
+
"helper_meter": 0,
|
| 159 |
+
"last": 10000,
|
| 160 |
+
"target": 3,
|
| 161 |
+
"target_flags104": 2147483666,
|
| 162 |
+
"target_flags220": 2147500034,
|
| 163 |
+
"target_meter": 0,
|
| 164 |
+
"target_pm_type": 4
|
| 165 |
+
},
|
| 166 |
+
"source": {
|
| 167 |
+
"active": 1,
|
| 168 |
+
"carry_bits": 0,
|
| 169 |
+
"event_entity": [
|
| 170 |
+
7,
|
| 171 |
+
2147483649
|
| 172 |
+
],
|
| 173 |
+
"events": [],
|
| 174 |
+
"flags": 2147491842,
|
| 175 |
+
"helper_meter": 0,
|
| 176 |
+
"last": 10000,
|
| 177 |
+
"target": 3,
|
| 178 |
+
"target_flags104": 2147483666,
|
| 179 |
+
"target_flags220": 2147500034,
|
| 180 |
+
"target_meter": 0,
|
| 181 |
+
"target_pm_type": 4
|
| 182 |
+
}
|
| 183 |
+
},
|
| 184 |
+
{
|
| 185 |
+
"rust": {
|
| 186 |
+
"active": 1,
|
| 187 |
+
"carry_bits": 0,
|
| 188 |
+
"event_entity": [
|
| 189 |
+
7,
|
| 190 |
+
2147483649
|
| 191 |
+
],
|
| 192 |
+
"events": [],
|
| 193 |
+
"flags": 2147491842,
|
| 194 |
+
"helper_meter": 1700,
|
| 195 |
+
"last": 10000,
|
| 196 |
+
"target": 3,
|
| 197 |
+
"target_flags104": 2147483666,
|
| 198 |
+
"target_flags220": 2147500034,
|
| 199 |
+
"target_meter": 1700,
|
| 200 |
+
"target_pm_type": 4
|
| 201 |
+
},
|
| 202 |
+
"source": {
|
| 203 |
+
"active": 1,
|
| 204 |
+
"carry_bits": 0,
|
| 205 |
+
"event_entity": [
|
| 206 |
+
7,
|
| 207 |
+
2147483649
|
| 208 |
+
],
|
| 209 |
+
"events": [],
|
| 210 |
+
"flags": 2147491842,
|
| 211 |
+
"helper_meter": 1700,
|
| 212 |
+
"last": 10000,
|
| 213 |
+
"target": 3,
|
| 214 |
+
"target_flags104": 2147483666,
|
| 215 |
+
"target_flags220": 2147500034,
|
| 216 |
+
"target_meter": 1700,
|
| 217 |
+
"target_pm_type": 4
|
| 218 |
+
}
|
| 219 |
+
},
|
| 220 |
+
{
|
| 221 |
+
"rust": {
|
| 222 |
+
"active": 1,
|
| 223 |
+
"carry_bits": 0,
|
| 224 |
+
"event_entity": [
|
| 225 |
+
7,
|
| 226 |
+
2147483649
|
| 227 |
+
],
|
| 228 |
+
"events": [],
|
| 229 |
+
"flags": 2147491842,
|
| 230 |
+
"helper_meter": 1664,
|
| 231 |
+
"last": 10,
|
| 232 |
+
"target": 3,
|
| 233 |
+
"target_flags104": 2147483666,
|
| 234 |
+
"target_flags220": 2147500034,
|
| 235 |
+
"target_meter": 1664,
|
| 236 |
+
"target_pm_type": 4
|
| 237 |
+
},
|
| 238 |
+
"source": {
|
| 239 |
+
"active": 1,
|
| 240 |
+
"carry_bits": 0,
|
| 241 |
+
"event_entity": [
|
| 242 |
+
7,
|
| 243 |
+
2147483649
|
| 244 |
+
],
|
| 245 |
+
"events": [],
|
| 246 |
+
"flags": 2147491842,
|
| 247 |
+
"helper_meter": 1664,
|
| 248 |
+
"last": 10,
|
| 249 |
+
"target": 3,
|
| 250 |
+
"target_flags104": 2147483666,
|
| 251 |
+
"target_flags220": 2147500034,
|
| 252 |
+
"target_meter": 1664,
|
| 253 |
+
"target_pm_type": 4
|
| 254 |
+
}
|
| 255 |
+
},
|
| 256 |
+
{
|
| 257 |
+
"rust": {
|
| 258 |
+
"active": 1,
|
| 259 |
+
"carry_bits": 0,
|
| 260 |
+
"event_entity": [
|
| 261 |
+
7,
|
| 262 |
+
2147483649
|
| 263 |
+
],
|
| 264 |
+
"events": [],
|
| 265 |
+
"flags": 2147491842,
|
| 266 |
+
"helper_meter": 416,
|
| 267 |
+
"last": 10,
|
| 268 |
+
"target": 3,
|
| 269 |
+
"target_flags104": 2147483666,
|
| 270 |
+
"target_flags220": 2147500034,
|
| 271 |
+
"target_meter": 416,
|
| 272 |
+
"target_pm_type": 4
|
| 273 |
+
},
|
| 274 |
+
"source": {
|
| 275 |
+
"active": 1,
|
| 276 |
+
"carry_bits": 0,
|
| 277 |
+
"event_entity": [
|
| 278 |
+
7,
|
| 279 |
+
2147483649
|
| 280 |
+
],
|
| 281 |
+
"events": [],
|
| 282 |
+
"flags": 2147491842,
|
| 283 |
+
"helper_meter": 416,
|
| 284 |
+
"last": 10,
|
| 285 |
+
"target": 3,
|
| 286 |
+
"target_flags104": 2147483666,
|
| 287 |
+
"target_flags220": 2147500034,
|
| 288 |
+
"target_meter": 416,
|
| 289 |
+
"target_pm_type": 4
|
| 290 |
+
}
|
| 291 |
+
},
|
| 292 |
+
{
|
| 293 |
+
"rust": {
|
| 294 |
+
"active": 1,
|
| 295 |
+
"carry_bits": 0,
|
| 296 |
+
"event_entity": [
|
| 297 |
+
7,
|
| 298 |
+
2147483649
|
| 299 |
+
],
|
| 300 |
+
"events": [],
|
| 301 |
+
"flags": 2147491842,
|
| 302 |
+
"helper_meter": 0,
|
| 303 |
+
"last": 10,
|
| 304 |
+
"target": 3,
|
| 305 |
+
"target_flags104": 2147483666,
|
| 306 |
+
"target_flags220": 2147500034,
|
| 307 |
+
"target_meter": 0,
|
| 308 |
+
"target_pm_type": 4
|
| 309 |
+
},
|
| 310 |
+
"source": {
|
| 311 |
+
"active": 1,
|
| 312 |
+
"carry_bits": 0,
|
| 313 |
+
"event_entity": [
|
| 314 |
+
7,
|
| 315 |
+
2147483649
|
| 316 |
+
],
|
| 317 |
+
"events": [],
|
| 318 |
+
"flags": 2147491842,
|
| 319 |
+
"helper_meter": 0,
|
| 320 |
+
"last": 10,
|
| 321 |
+
"target": 3,
|
| 322 |
+
"target_flags104": 2147483666,
|
| 323 |
+
"target_flags220": 2147500034,
|
| 324 |
+
"target_meter": 0,
|
| 325 |
+
"target_pm_type": 4
|
| 326 |
+
}
|
| 327 |
+
},
|
| 328 |
+
{
|
| 329 |
+
"rust": {
|
| 330 |
+
"active": 1,
|
| 331 |
+
"carry_bits": 0,
|
| 332 |
+
"event_entity": [
|
| 333 |
+
7,
|
| 334 |
+
2147483649
|
| 335 |
+
],
|
| 336 |
+
"events": [],
|
| 337 |
+
"flags": 2147491842,
|
| 338 |
+
"helper_meter": 31999,
|
| 339 |
+
"last": 10000,
|
| 340 |
+
"target": 3,
|
| 341 |
+
"target_flags104": 2147483666,
|
| 342 |
+
"target_flags220": 2147500034,
|
| 343 |
+
"target_meter": 31999,
|
| 344 |
+
"target_pm_type": 4
|
| 345 |
+
},
|
| 346 |
+
"source": {
|
| 347 |
+
"active": 1,
|
| 348 |
+
"carry_bits": 0,
|
| 349 |
+
"event_entity": [
|
| 350 |
+
7,
|
| 351 |
+
2147483649
|
| 352 |
+
],
|
| 353 |
+
"events": [],
|
| 354 |
+
"flags": 2147491842,
|
| 355 |
+
"helper_meter": 31999,
|
| 356 |
+
"last": 10000,
|
| 357 |
+
"target": 3,
|
| 358 |
+
"target_flags104": 2147483666,
|
| 359 |
+
"target_flags220": 2147500034,
|
| 360 |
+
"target_meter": 31999,
|
| 361 |
+
"target_pm_type": 4
|
| 362 |
+
}
|
| 363 |
+
},
|
| 364 |
+
{
|
| 365 |
+
"rust": {
|
| 366 |
+
"active": 1,
|
| 367 |
+
"carry_bits": 0,
|
| 368 |
+
"event_entity": [
|
| 369 |
+
7,
|
| 370 |
+
2147483649
|
| 371 |
+
],
|
| 372 |
+
"events": [],
|
| 373 |
+
"flags": 2147491842,
|
| 374 |
+
"helper_meter": 31999,
|
| 375 |
+
"last": 10000,
|
| 376 |
+
"target": 3,
|
| 377 |
+
"target_flags104": 2147483666,
|
| 378 |
+
"target_flags220": 2147500034,
|
| 379 |
+
"target_meter": 31999,
|
| 380 |
+
"target_pm_type": 4
|
| 381 |
+
},
|
| 382 |
+
"source": {
|
| 383 |
+
"active": 1,
|
| 384 |
+
"carry_bits": 0,
|
| 385 |
+
"event_entity": [
|
| 386 |
+
7,
|
| 387 |
+
2147483649
|
| 388 |
+
],
|
| 389 |
+
"events": [],
|
| 390 |
+
"flags": 2147491842,
|
| 391 |
+
"helper_meter": 31999,
|
| 392 |
+
"last": 10000,
|
| 393 |
+
"target": 3,
|
| 394 |
+
"target_flags104": 2147483666,
|
| 395 |
+
"target_flags220": 2147500034,
|
| 396 |
+
"target_meter": 31999,
|
| 397 |
+
"target_pm_type": 4
|
| 398 |
+
}
|
| 399 |
+
},
|
| 400 |
+
{
|
| 401 |
+
"rust": {
|
| 402 |
+
"active": 1,
|
| 403 |
+
"carry_bits": 0,
|
| 404 |
+
"event_entity": [
|
| 405 |
+
7,
|
| 406 |
+
2147483649
|
| 407 |
+
],
|
| 408 |
+
"events": [],
|
| 409 |
+
"flags": 2147491842,
|
| 410 |
+
"helper_meter": 31999,
|
| 411 |
+
"last": 10000,
|
| 412 |
+
"target": 3,
|
| 413 |
+
"target_flags104": 2147483666,
|
| 414 |
+
"target_flags220": 2147500034,
|
| 415 |
+
"target_meter": 31999,
|
| 416 |
+
"target_pm_type": 4
|
| 417 |
+
},
|
| 418 |
+
"source": {
|
| 419 |
+
"active": 1,
|
| 420 |
+
"carry_bits": 0,
|
| 421 |
+
"event_entity": [
|
| 422 |
+
7,
|
| 423 |
+
2147483649
|
| 424 |
+
],
|
| 425 |
+
"events": [],
|
| 426 |
+
"flags": 2147491842,
|
| 427 |
+
"helper_meter": 31999,
|
| 428 |
+
"last": 10000,
|
| 429 |
+
"target": 3,
|
| 430 |
+
"target_flags104": 2147483666,
|
| 431 |
+
"target_flags220": 2147500034,
|
| 432 |
+
"target_meter": 31999,
|
| 433 |
+
"target_pm_type": 4
|
| 434 |
+
}
|
| 435 |
+
},
|
| 436 |
+
{
|
| 437 |
+
"rust": {
|
| 438 |
+
"active": 1,
|
| 439 |
+
"carry_bits": 0,
|
| 440 |
+
"event_entity": [
|
| 441 |
+
591751049,
|
| 442 |
+
2147483681
|
| 443 |
+
],
|
| 444 |
+
"events": [
|
| 445 |
+
{
|
| 446 |
+
"op": "teleport",
|
| 447 |
+
"slot": 3
|
| 448 |
+
},
|
| 449 |
+
{
|
| 450 |
+
"op": "reset",
|
| 451 |
+
"slot": 3
|
| 452 |
+
},
|
| 453 |
+
{
|
| 454 |
+
"event": 108,
|
| 455 |
+
"op": "event"
|
| 456 |
+
},
|
| 457 |
+
{
|
| 458 |
+
"format": "546861774f757446696e69736865643a2025692025693a20257320746861776564206f75742025730a",
|
| 459 |
+
"op": "log",
|
| 460 |
+
"slots": [
|
| 461 |
+
2,
|
| 462 |
+
3
|
| 463 |
+
]
|
| 464 |
+
}
|
| 465 |
+
],
|
| 466 |
+
"flags": 2147491842,
|
| 467 |
+
"helper_meter": 0,
|
| 468 |
+
"last": 10000,
|
| 469 |
+
"target": 3,
|
| 470 |
+
"target_flags104": 2147483650,
|
| 471 |
+
"target_flags220": 2147483650,
|
| 472 |
+
"target_meter": 0,
|
| 473 |
+
"target_pm_type": 0
|
| 474 |
+
},
|
| 475 |
+
"source": {
|
| 476 |
+
"active": 1,
|
| 477 |
+
"carry_bits": 0,
|
| 478 |
+
"event_entity": [
|
| 479 |
+
591751049,
|
| 480 |
+
2147483681
|
| 481 |
+
],
|
| 482 |
+
"events": [
|
| 483 |
+
{
|
| 484 |
+
"op": "teleport",
|
| 485 |
+
"slot": 3
|
| 486 |
+
},
|
| 487 |
+
{
|
| 488 |
+
"op": "reset",
|
| 489 |
+
"slot": 3
|
| 490 |
+
},
|
| 491 |
+
{
|
| 492 |
+
"event": 108,
|
| 493 |
+
"op": "event"
|
| 494 |
+
},
|
| 495 |
+
{
|
| 496 |
+
"format": "546861774f757446696e69736865643a2025692025693a20257320746861776564206f75742025730a",
|
| 497 |
+
"op": "log",
|
| 498 |
+
"slots": [
|
| 499 |
+
2,
|
| 500 |
+
3
|
| 501 |
+
]
|
| 502 |
+
}
|
| 503 |
+
],
|
| 504 |
+
"flags": 2147491842,
|
| 505 |
+
"helper_meter": 0,
|
| 506 |
+
"last": 10000,
|
| 507 |
+
"target": 3,
|
| 508 |
+
"target_flags104": 2147483650,
|
| 509 |
+
"target_flags220": 2147483650,
|
| 510 |
+
"target_meter": 0,
|
| 511 |
+
"target_pm_type": 0
|
| 512 |
+
}
|
| 513 |
+
},
|
| 514 |
+
{
|
| 515 |
+
"rust": {
|
| 516 |
+
"active": 1,
|
| 517 |
+
"carry_bits": 0,
|
| 518 |
+
"event_entity": [
|
| 519 |
+
591751049,
|
| 520 |
+
2147483681
|
| 521 |
+
],
|
| 522 |
+
"events": [
|
| 523 |
+
{
|
| 524 |
+
"op": "teleport",
|
| 525 |
+
"slot": 3
|
| 526 |
+
},
|
| 527 |
+
{
|
| 528 |
+
"op": "reset",
|
| 529 |
+
"slot": 3
|
| 530 |
+
},
|
| 531 |
+
{
|
| 532 |
+
"event": 108,
|
| 533 |
+
"op": "event"
|
| 534 |
+
},
|
| 535 |
+
{
|
| 536 |
+
"format": "546861774f757446696e69736865643a2025692025693a20257320746861776564206f75742025730a",
|
| 537 |
+
"op": "log",
|
| 538 |
+
"slots": [
|
| 539 |
+
2,
|
| 540 |
+
3
|
| 541 |
+
]
|
| 542 |
+
}
|
| 543 |
+
],
|
| 544 |
+
"flags": 2147491842,
|
| 545 |
+
"helper_meter": 0,
|
| 546 |
+
"last": 10000,
|
| 547 |
+
"target": 3,
|
| 548 |
+
"target_flags104": 2147483650,
|
| 549 |
+
"target_flags220": 2147483650,
|
| 550 |
+
"target_meter": 0,
|
| 551 |
+
"target_pm_type": 0
|
| 552 |
+
},
|
| 553 |
+
"source": {
|
| 554 |
+
"active": 1,
|
| 555 |
+
"carry_bits": 0,
|
| 556 |
+
"event_entity": [
|
| 557 |
+
591751049,
|
| 558 |
+
2147483681
|
| 559 |
+
],
|
| 560 |
+
"events": [
|
| 561 |
+
{
|
| 562 |
+
"op": "teleport",
|
| 563 |
+
"slot": 3
|
| 564 |
+
},
|
| 565 |
+
{
|
| 566 |
+
"op": "reset",
|
| 567 |
+
"slot": 3
|
| 568 |
+
},
|
| 569 |
+
{
|
| 570 |
+
"event": 108,
|
| 571 |
+
"op": "event"
|
| 572 |
+
},
|
| 573 |
+
{
|
| 574 |
+
"format": "546861774f757446696e69736865643a2025692025693a20257320746861776564206f75742025730a",
|
| 575 |
+
"op": "log",
|
| 576 |
+
"slots": [
|
| 577 |
+
2,
|
| 578 |
+
3
|
| 579 |
+
]
|
| 580 |
+
}
|
| 581 |
+
],
|
| 582 |
+
"flags": 2147491842,
|
| 583 |
+
"helper_meter": 0,
|
| 584 |
+
"last": 10000,
|
| 585 |
+
"target": 3,
|
| 586 |
+
"target_flags104": 2147483650,
|
| 587 |
+
"target_flags220": 2147483650,
|
| 588 |
+
"target_meter": 0,
|
| 589 |
+
"target_pm_type": 0
|
| 590 |
+
}
|
| 591 |
+
},
|
| 592 |
+
{
|
| 593 |
+
"rust": {
|
| 594 |
+
"active": 1,
|
| 595 |
+
"carry_bits": 0,
|
| 596 |
+
"event_entity": [
|
| 597 |
+
591751049,
|
| 598 |
+
2147483681
|
| 599 |
+
],
|
| 600 |
+
"events": [
|
| 601 |
+
{
|
| 602 |
+
"op": "teleport",
|
| 603 |
+
"slot": 3
|
| 604 |
+
},
|
| 605 |
+
{
|
| 606 |
+
"op": "reset",
|
| 607 |
+
"slot": 3
|
| 608 |
+
},
|
| 609 |
+
{
|
| 610 |
+
"event": 108,
|
| 611 |
+
"op": "event"
|
| 612 |
+
},
|
| 613 |
+
{
|
| 614 |
+
"format": "546861774f757446696e69736865643a2025692025693a20257320746861776564206f75742025730a",
|
| 615 |
+
"op": "log",
|
| 616 |
+
"slots": [
|
| 617 |
+
2,
|
| 618 |
+
3
|
| 619 |
+
]
|
| 620 |
+
}
|
| 621 |
+
],
|
| 622 |
+
"flags": 2147491842,
|
| 623 |
+
"helper_meter": 0,
|
| 624 |
+
"last": 10000,
|
| 625 |
+
"target": 3,
|
| 626 |
+
"target_flags104": 2147483650,
|
| 627 |
+
"target_flags220": 2147483650,
|
| 628 |
+
"target_meter": 0,
|
| 629 |
+
"target_pm_type": 0
|
| 630 |
+
},
|
| 631 |
+
"source": {
|
| 632 |
+
"active": 1,
|
| 633 |
+
"carry_bits": 0,
|
| 634 |
+
"event_entity": [
|
| 635 |
+
591751049,
|
| 636 |
+
2147483681
|
| 637 |
+
],
|
| 638 |
+
"events": [
|
| 639 |
+
{
|
| 640 |
+
"op": "teleport",
|
| 641 |
+
"slot": 3
|
| 642 |
+
},
|
| 643 |
+
{
|
| 644 |
+
"op": "reset",
|
| 645 |
+
"slot": 3
|
| 646 |
+
},
|
| 647 |
+
{
|
| 648 |
+
"event": 108,
|
| 649 |
+
"op": "event"
|
| 650 |
+
},
|
| 651 |
+
{
|
| 652 |
+
"format": "546861774f757446696e69736865643a2025692025693a20257320746861776564206f75742025730a",
|
| 653 |
+
"op": "log",
|
| 654 |
+
"slots": [
|
| 655 |
+
2,
|
| 656 |
+
3
|
| 657 |
+
]
|
| 658 |
+
}
|
| 659 |
+
],
|
| 660 |
+
"flags": 2147491842,
|
| 661 |
+
"helper_meter": 0,
|
| 662 |
+
"last": 10000,
|
| 663 |
+
"target": 3,
|
| 664 |
+
"target_flags104": 2147483650,
|
| 665 |
+
"target_flags220": 2147483650,
|
| 666 |
+
"target_meter": 0,
|
| 667 |
+
"target_pm_type": 0
|
| 668 |
+
}
|
| 669 |
+
},
|
| 670 |
+
{
|
| 671 |
+
"rust": {
|
| 672 |
+
"active": 1,
|
| 673 |
+
"carry_bits": 0,
|
| 674 |
+
"event_entity": [
|
| 675 |
+
7,
|
| 676 |
+
2147483649
|
| 677 |
+
],
|
| 678 |
+
"events": [],
|
| 679 |
+
"flags": 2147491842,
|
| 680 |
+
"helper_meter": 0,
|
| 681 |
+
"last": 10000,
|
| 682 |
+
"target": 3,
|
| 683 |
+
"target_flags104": 2147483666,
|
| 684 |
+
"target_flags220": 2147500034,
|
| 685 |
+
"target_meter": 0,
|
| 686 |
+
"target_pm_type": 4
|
| 687 |
+
},
|
| 688 |
+
"source": {
|
| 689 |
+
"active": 1,
|
| 690 |
+
"carry_bits": 0,
|
| 691 |
+
"event_entity": [
|
| 692 |
+
7,
|
| 693 |
+
2147483649
|
| 694 |
+
],
|
| 695 |
+
"events": [],
|
| 696 |
+
"flags": 2147491842,
|
| 697 |
+
"helper_meter": 0,
|
| 698 |
+
"last": 10000,
|
| 699 |
+
"target": 3,
|
| 700 |
+
"target_flags104": 2147483666,
|
| 701 |
+
"target_flags220": 2147500034,
|
| 702 |
+
"target_meter": 0,
|
| 703 |
+
"target_pm_type": 4
|
| 704 |
+
}
|
| 705 |
+
},
|
| 706 |
+
{
|
| 707 |
+
"rust": {
|
| 708 |
+
"active": 1,
|
| 709 |
+
"carry_bits": 0,
|
| 710 |
+
"event_entity": [
|
| 711 |
+
7,
|
| 712 |
+
2147483649
|
| 713 |
+
],
|
| 714 |
+
"events": [],
|
| 715 |
+
"flags": 2147491842,
|
| 716 |
+
"helper_meter": 0,
|
| 717 |
+
"last": 10000,
|
| 718 |
+
"target": 3,
|
| 719 |
+
"target_flags104": 2147483666,
|
| 720 |
+
"target_flags220": 2147500034,
|
| 721 |
+
"target_meter": 0,
|
| 722 |
+
"target_pm_type": 4
|
| 723 |
+
},
|
| 724 |
+
"source": {
|
| 725 |
+
"active": 1,
|
| 726 |
+
"carry_bits": 0,
|
| 727 |
+
"event_entity": [
|
| 728 |
+
7,
|
| 729 |
+
2147483649
|
| 730 |
+
],
|
| 731 |
+
"events": [],
|
| 732 |
+
"flags": 2147491842,
|
| 733 |
+
"helper_meter": 0,
|
| 734 |
+
"last": 10000,
|
| 735 |
+
"target": 3,
|
| 736 |
+
"target_flags104": 2147483666,
|
| 737 |
+
"target_flags220": 2147500034,
|
| 738 |
+
"target_meter": 0,
|
| 739 |
+
"target_pm_type": 4
|
| 740 |
+
}
|
| 741 |
+
},
|
| 742 |
+
{
|
| 743 |
+
"rust": {
|
| 744 |
+
"active": 1,
|
| 745 |
+
"carry_bits": 0,
|
| 746 |
+
"event_entity": [
|
| 747 |
+
7,
|
| 748 |
+
2147483649
|
| 749 |
+
],
|
| 750 |
+
"events": [],
|
| 751 |
+
"flags": 2147491842,
|
| 752 |
+
"helper_meter": 0,
|
| 753 |
+
"last": 10000,
|
| 754 |
+
"target": 3,
|
| 755 |
+
"target_flags104": 2147483666,
|
| 756 |
+
"target_flags220": 2147500034,
|
| 757 |
+
"target_meter": 0,
|
| 758 |
+
"target_pm_type": 4
|
| 759 |
+
},
|
| 760 |
+
"source": {
|
| 761 |
+
"active": 1,
|
| 762 |
+
"carry_bits": 0,
|
| 763 |
+
"event_entity": [
|
| 764 |
+
7,
|
| 765 |
+
2147483649
|
| 766 |
+
],
|
| 767 |
+
"events": [],
|
| 768 |
+
"flags": 2147491842,
|
| 769 |
+
"helper_meter": 0,
|
| 770 |
+
"last": 10000,
|
| 771 |
+
"target": 3,
|
| 772 |
+
"target_flags104": 2147483666,
|
| 773 |
+
"target_flags220": 2147500034,
|
| 774 |
+
"target_meter": 0,
|
| 775 |
+
"target_pm_type": 4
|
| 776 |
+
}
|
| 777 |
+
},
|
| 778 |
+
{
|
| 779 |
+
"rust": {
|
| 780 |
+
"active": 1,
|
| 781 |
+
"carry_bits": 0,
|
| 782 |
+
"event_entity": [
|
| 783 |
+
7,
|
| 784 |
+
2147483649
|
| 785 |
+
],
|
| 786 |
+
"events": [],
|
| 787 |
+
"flags": 2147491842,
|
| 788 |
+
"helper_meter": 31064,
|
| 789 |
+
"last": 10000,
|
| 790 |
+
"target": 3,
|
| 791 |
+
"target_flags104": 2147483666,
|
| 792 |
+
"target_flags220": 2147500034,
|
| 793 |
+
"target_meter": 31064,
|
| 794 |
+
"target_pm_type": 4
|
| 795 |
+
},
|
| 796 |
+
"source": {
|
| 797 |
+
"active": 1,
|
| 798 |
+
"carry_bits": 0,
|
| 799 |
+
"event_entity": [
|
| 800 |
+
7,
|
| 801 |
+
2147483649
|
| 802 |
+
],
|
| 803 |
+
"events": [],
|
| 804 |
+
"flags": 2147491842,
|
| 805 |
+
"helper_meter": 31064,
|
| 806 |
+
"last": 10000,
|
| 807 |
+
"target": 3,
|
| 808 |
+
"target_flags104": 2147483666,
|
| 809 |
+
"target_flags220": 2147500034,
|
| 810 |
+
"target_meter": 31064,
|
| 811 |
+
"target_pm_type": 4
|
| 812 |
+
}
|
| 813 |
+
},
|
| 814 |
+
{
|
| 815 |
+
"rust": {
|
| 816 |
+
"active": 1,
|
| 817 |
+
"carry_bits": 0,
|
| 818 |
+
"event_entity": [
|
| 819 |
+
7,
|
| 820 |
+
2147483649
|
| 821 |
+
],
|
| 822 |
+
"events": [],
|
| 823 |
+
"flags": 2147491842,
|
| 824 |
+
"helper_meter": 31016,
|
| 825 |
+
"last": 10000,
|
| 826 |
+
"target": 3,
|
| 827 |
+
"target_flags104": 2147483666,
|
| 828 |
+
"target_flags220": 2147500034,
|
| 829 |
+
"target_meter": 31016,
|
| 830 |
+
"target_pm_type": 4
|
| 831 |
+
},
|
| 832 |
+
"source": {
|
| 833 |
+
"active": 1,
|
| 834 |
+
"carry_bits": 0,
|
| 835 |
+
"event_entity": [
|
| 836 |
+
7,
|
| 837 |
+
2147483649
|
| 838 |
+
],
|
| 839 |
+
"events": [],
|
| 840 |
+
"flags": 2147491842,
|
| 841 |
+
"helper_meter": 31016,
|
| 842 |
+
"last": 10000,
|
| 843 |
+
"target": 3,
|
| 844 |
+
"target_flags104": 2147483666,
|
| 845 |
+
"target_flags220": 2147500034,
|
| 846 |
+
"target_meter": 31016,
|
| 847 |
+
"target_pm_type": 4
|
| 848 |
+
}
|
| 849 |
+
},
|
| 850 |
+
{
|
| 851 |
+
"rust": {
|
| 852 |
+
"active": 1,
|
| 853 |
+
"carry_bits": 0,
|
| 854 |
+
"event_entity": [
|
| 855 |
+
7,
|
| 856 |
+
2147483649
|
| 857 |
+
],
|
| 858 |
+
"events": [],
|
| 859 |
+
"flags": 2147491842,
|
| 860 |
+
"helper_meter": 30984,
|
| 861 |
+
"last": 10000,
|
| 862 |
+
"target": 3,
|
| 863 |
+
"target_flags104": 2147483666,
|
| 864 |
+
"target_flags220": 2147500034,
|
| 865 |
+
"target_meter": 30984,
|
| 866 |
+
"target_pm_type": 4
|
| 867 |
+
},
|
| 868 |
+
"source": {
|
| 869 |
+
"active": 1,
|
| 870 |
+
"carry_bits": 0,
|
| 871 |
+
"event_entity": [
|
| 872 |
+
7,
|
| 873 |
+
2147483649
|
| 874 |
+
],
|
| 875 |
+
"events": [],
|
| 876 |
+
"flags": 2147491842,
|
| 877 |
+
"helper_meter": 30984,
|
| 878 |
+
"last": 10000,
|
| 879 |
+
"target": 3,
|
| 880 |
+
"target_flags104": 2147483666,
|
| 881 |
+
"target_flags220": 2147500034,
|
| 882 |
+
"target_meter": 30984,
|
| 883 |
+
"target_pm_type": 4
|
| 884 |
+
}
|
| 885 |
+
},
|
| 886 |
+
{
|
| 887 |
+
"rust": {
|
| 888 |
+
"active": 1,
|
| 889 |
+
"carry_bits": 0,
|
| 890 |
+
"event_entity": [
|
| 891 |
+
7,
|
| 892 |
+
2147483649
|
| 893 |
+
],
|
| 894 |
+
"events": [],
|
| 895 |
+
"flags": 2147491842,
|
| 896 |
+
"helper_meter": 31000,
|
| 897 |
+
"last": 10000,
|
| 898 |
+
"target": 3,
|
| 899 |
+
"target_flags104": 2147483666,
|
| 900 |
+
"target_flags220": 2147500034,
|
| 901 |
+
"target_meter": 31000,
|
| 902 |
+
"target_pm_type": 4
|
| 903 |
+
},
|
| 904 |
+
"source": {
|
| 905 |
+
"active": 1,
|
| 906 |
+
"carry_bits": 0,
|
| 907 |
+
"event_entity": [
|
| 908 |
+
7,
|
| 909 |
+
2147483649
|
| 910 |
+
],
|
| 911 |
+
"events": [],
|
| 912 |
+
"flags": 2147491842,
|
| 913 |
+
"helper_meter": 31000,
|
| 914 |
+
"last": 10000,
|
| 915 |
+
"target": 3,
|
| 916 |
+
"target_flags104": 2147483666,
|
| 917 |
+
"target_flags220": 2147500034,
|
| 918 |
+
"target_meter": 31000,
|
| 919 |
+
"target_pm_type": 4
|
| 920 |
+
}
|
| 921 |
+
},
|
| 922 |
+
{
|
| 923 |
+
"rust": {
|
| 924 |
+
"active": 1,
|
| 925 |
+
"carry_bits": 0,
|
| 926 |
+
"event_entity": [
|
| 927 |
+
7,
|
| 928 |
+
2147483649
|
| 929 |
+
],
|
| 930 |
+
"events": [],
|
| 931 |
+
"flags": 2147491842,
|
| 932 |
+
"helper_meter": 31000,
|
| 933 |
+
"last": 10000,
|
| 934 |
+
"target": 3,
|
| 935 |
+
"target_flags104": 2147483666,
|
| 936 |
+
"target_flags220": 2147500034,
|
| 937 |
+
"target_meter": 31000,
|
| 938 |
+
"target_pm_type": 4
|
| 939 |
+
},
|
| 940 |
+
"source": {
|
| 941 |
+
"active": 1,
|
| 942 |
+
"carry_bits": 0,
|
| 943 |
+
"event_entity": [
|
| 944 |
+
7,
|
| 945 |
+
2147483649
|
| 946 |
+
],
|
| 947 |
+
"events": [],
|
| 948 |
+
"flags": 2147491842,
|
| 949 |
+
"helper_meter": 31000,
|
| 950 |
+
"last": 10000,
|
| 951 |
+
"target": 3,
|
| 952 |
+
"target_flags104": 2147483666,
|
| 953 |
+
"target_flags220": 2147500034,
|
| 954 |
+
"target_meter": 31000,
|
| 955 |
+
"target_pm_type": 4
|
| 956 |
+
}
|
| 957 |
+
},
|
| 958 |
+
{
|
| 959 |
+
"rust": {
|
| 960 |
+
"active": 1,
|
| 961 |
+
"carry_bits": 0,
|
| 962 |
+
"event_entity": [
|
| 963 |
+
7,
|
| 964 |
+
2147483649
|
| 965 |
+
],
|
| 966 |
+
"events": [],
|
| 967 |
+
"flags": 2147491842,
|
| 968 |
+
"helper_meter": 31000,
|
| 969 |
+
"last": 10000,
|
| 970 |
+
"target": 3,
|
| 971 |
+
"target_flags104": 2147483666,
|
| 972 |
+
"target_flags220": 2147500034,
|
| 973 |
+
"target_meter": 31000,
|
| 974 |
+
"target_pm_type": 4
|
| 975 |
+
},
|
| 976 |
+
"source": {
|
| 977 |
+
"active": 1,
|
| 978 |
+
"carry_bits": 0,
|
| 979 |
+
"event_entity": [
|
| 980 |
+
7,
|
| 981 |
+
2147483649
|
| 982 |
+
],
|
| 983 |
+
"events": [],
|
| 984 |
+
"flags": 2147491842,
|
| 985 |
+
"helper_meter": 31000,
|
| 986 |
+
"last": 10000,
|
| 987 |
+
"target": 3,
|
| 988 |
+
"target_flags104": 2147483666,
|
| 989 |
+
"target_flags220": 2147500034,
|
| 990 |
+
"target_meter": 31000,
|
| 991 |
+
"target_pm_type": 4
|
| 992 |
+
}
|
| 993 |
+
}
|
| 994 |
+
],
|
| 995 |
+
"source_report": "docs/research/qvm-assist-progress.json",
|
| 996 |
+
"source_report_sha256": "5048296baf6b4a357903c1eb8cc75a3364c4db16f424a92f440c3830e4ed3530"
|
| 997 |
+
}
|
docs/research/rust-health-impulse.json
CHANGED
|
@@ -2985,7 +2985,7 @@
|
|
| 2985 |
"exit_code": 2
|
| 2986 |
}
|
| 2987 |
],
|
| 2988 |
-
"rust_unit_tests":
|
| 2989 |
"source_report": "docs/research/qvm-health-impulse.json",
|
| 2990 |
"source_report_sha256": "625fd8064004ea6dbdf398d51d0af844d9c635ff04c0a0790886dddb6ab81e71"
|
| 2991 |
}
|
|
|
|
| 2985 |
"exit_code": 2
|
| 2986 |
}
|
| 2987 |
],
|
| 2988 |
+
"rust_unit_tests": 265,
|
| 2989 |
"source_report": "docs/research/qvm-health-impulse.json",
|
| 2990 |
"source_report_sha256": "625fd8064004ea6dbdf398d51d0af844d9c635ff04c0a0790886dddb6ab81e71"
|
| 2991 |
}
|
scripts/analyze_rust_assist_progress.py
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
"""Compare recovered Rust policy with original QVM fixtures."""
|
| 2 |
+
import hashlib,json,os,subprocess
|
| 3 |
+
from pathlib import Path
|
| 4 |
+
from analyze_qvm import write_json
|
| 5 |
+
from rust_lifecycle_support import result
|
| 6 |
+
|
| 7 |
+
def main():
|
| 8 |
+
subprocess.run(['cargo','build','--offline','--package','urt-gameplay','--bin','urt-assistance'],check=True,capture_output=True)
|
| 9 |
+
binary=Path(os.environ.get('CARGO_TARGET_DIR','target'))/'debug'/'urt-assistance'
|
| 10 |
+
path=Path('docs/research/qvm-assist-progress.json');data=path.read_bytes();probes=[]
|
| 11 |
+
for p in json.loads(data)['probes']:
|
| 12 |
+
probes.append(dict(source={k:p[k] for k in ['flags', 'active', 'target', 'last', 'events', 'target_meter', 'carry_bits', 'target_flags220', 'target_flags104', 'target_pm_type', 'helper_meter', 'event_entity']},rust=result(binary,'progress',encode(p['input']))))
|
| 13 |
+
write_json(Path('docs/research/rust-assist-progress.json'),dict(source_report=str(path),source_report_sha256=hashlib.sha256(data).hexdigest(),probes=probes,limits='Finite source/Rust contract parity; native time/file/network replies remain supplied or captured.'))
|
| 14 |
+
|
| 15 |
+
def encode(a):
|
| 16 |
+
from analyze_qvm_acceleration import word
|
| 17 |
+
return [a['flags'],a['active'],a['target'],a['tick'],a['last'],a['meter'],word(a['carry']),a['target_flags220'],a['target_flags104'],a['target_pm_type'],word(a['seconds'])]
|
| 18 |
+
if __name__=='__main__':main()
|
scripts/test_rust_assist_progress.py
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import hashlib,json,unittest
|
| 2 |
+
from pathlib import Path
|
| 3 |
+
class PortTests(unittest.TestCase):
|
| 4 |
+
def test_original_parity(self):
|
| 5 |
+
r=json.loads(Path('docs/research/rust-assist-progress.json').read_text());self.assertGreaterEqual(len(r['probes']),12)
|
| 6 |
+
for p in r['probes']:self.assertEqual(p['source'],p['rust'])
|
| 7 |
+
def test_identity(self):
|
| 8 |
+
r=json.loads(Path('docs/research/rust-assist-progress.json').read_text());self.assertEqual(hashlib.sha256(Path(r['source_report']).read_bytes()).hexdigest(),r['source_report_sha256'])
|
| 9 |
+
if __name__=='__main__':unittest.main()
|
xtask/checks.tsv
CHANGED
|
@@ -4037,3 +4037,32 @@ report scripts/analyze_qvm_assist_progress.py docs/research/qvm-assist-progress.
|
|
| 4037 |
edge docs/research/qvm-assist-progress.json scripts/test_qvm_assist_progress.py
|
| 4038 |
group qvm-assist-progress scripts/analyze_qvm_assist_progress.py
|
| 4039 |
edge scripts/analyze_qvm_assist_progress.py scripts/analyze_qvm_resumer_audit.py
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 4037 |
edge docs/research/qvm-assist-progress.json scripts/test_qvm_assist_progress.py
|
| 4038 |
group qvm-assist-progress scripts/analyze_qvm_assist_progress.py
|
| 4039 |
edge scripts/analyze_qvm_assist_progress.py scripts/analyze_qvm_resumer_audit.py
|
| 4040 |
+
report scripts/analyze_rust_assist_progress.py docs/research/rust-assist-progress.json
|
| 4041 |
+
edge docs/research/rust-assist-progress.json scripts/test_rust_assist_progress.py
|
| 4042 |
+
group rust-assist-progress scripts/analyze_rust_assist_progress.py
|
| 4043 |
+
edge scripts/analyze_rust_assist_progress.py scripts/analyze_qvm_resumer_audit.py
|
| 4044 |
+
edge Cargo.toml scripts/analyze_rust_assist_progress.py
|
| 4045 |
+
edge Cargo.lock scripts/analyze_rust_assist_progress.py
|
| 4046 |
+
edge crates/urt-gameplay/Cargo.toml scripts/analyze_rust_assist_progress.py
|
| 4047 |
+
edge crates/urt-gameplay/src/lib.rs scripts/analyze_rust_assist_progress.py
|
| 4048 |
+
edge crates/urt-gameplay/src/filter_loading.rs scripts/analyze_rust_assist_progress.py
|
| 4049 |
+
edge crates/urt-gameplay/src/filter_lifecycle.rs scripts/analyze_rust_assist_progress.py
|
| 4050 |
+
edge crates/urt-gameplay/src/native_policy.rs scripts/analyze_rust_assist_progress.py
|
| 4051 |
+
edge crates/urt-gameplay/src/bin/urt-filter-loading.rs scripts/analyze_rust_assist_progress.py
|
| 4052 |
+
edge crates/urt-gameplay/src/qvm_format.rs scripts/analyze_rust_assist_progress.py
|
| 4053 |
+
edge docs/research/qvm-assist-progress.json scripts/analyze_rust_assist_progress.py
|
| 4054 |
+
group rust-assist-progress scripts/analyze_rust_health_impulse.py
|
| 4055 |
+
group gameplay scripts/analyze_rust_assist_progress.py
|
| 4056 |
+
edge crates/urt-gameplay/src/filter_commands.rs scripts/analyze_rust_assist_progress.py
|
| 4057 |
+
edge crates/urt-gameplay/src/bin/urt-filter-commands.rs scripts/analyze_rust_assist_progress.py
|
| 4058 |
+
edge crates/urt-gameplay/src/client_timer.rs scripts/analyze_rust_assist_progress.py
|
| 4059 |
+
edge crates/urt-gameplay/src/bin/urt-client-timer.rs scripts/analyze_rust_assist_progress.py
|
| 4060 |
+
edge crates/urt-gameplay/src/client_processing.rs scripts/analyze_rust_assist_progress.py
|
| 4061 |
+
edge crates/urt-gameplay/src/bin/urt-client-processing.rs scripts/analyze_rust_assist_progress.py
|
| 4062 |
+
edge crates/urt-gameplay/src/client_move_context.rs scripts/analyze_rust_assist_progress.py
|
| 4063 |
+
edge crates/urt-gameplay/src/bin/urt-client-move-context.rs scripts/analyze_rust_assist_progress.py
|
| 4064 |
+
edge crates/urt-gameplay/src/move_callbacks.rs scripts/analyze_rust_assist_progress.py
|
| 4065 |
+
edge crates/urt-gameplay/src/bin/urt-move-callbacks.rs scripts/analyze_rust_assist_progress.py
|
| 4066 |
+
edge crates/urt-gameplay/src/assistance.rs scripts/analyze_rust_assist_progress.py
|
| 4067 |
+
edge crates/urt-gameplay/src/bin/urt-assistance.rs scripts/analyze_rust_assist_progress.py
|
| 4068 |
+
edge crates/urt-gameplay/src/move_callbacks.rs scripts/analyze_rust_assist_progress.py
|
xtask/src/lib.rs
CHANGED
|
@@ -1146,6 +1146,8 @@ mod integration_tests {
|
|
| 1146 |
("move_callbacks", "assist_acquire"),
|
| 1147 |
("assistance", "assist_cancel"),
|
| 1148 |
("move_callbacks", "assist_cancel"),
|
|
|
|
|
|
|
| 1149 |
("client_move_context", "client_move_scratch"),
|
| 1150 |
("client_processing", "client_routing"),
|
| 1151 |
("client_timer", "client_routing"),
|
|
@@ -1371,6 +1373,7 @@ mod integration_tests {
|
|
| 1371 |
("qvm-move-resolved-self", "move_resolved_self"),
|
| 1372 |
("qvm-assist-acquire", "assist_acquire"),
|
| 1373 |
("qvm-assist-cancel", "assist_cancel"),
|
|
|
|
| 1374 |
("qvm-client-move-scratch", "client_move_scratch"),
|
| 1375 |
("qvm-client-routing", "client_routing"),
|
| 1376 |
("qvm-client-command-rewrite", "client_command_rewrite"),
|
|
|
|
| 1146 |
("move_callbacks", "assist_acquire"),
|
| 1147 |
("assistance", "assist_cancel"),
|
| 1148 |
("move_callbacks", "assist_cancel"),
|
| 1149 |
+
("assistance", "assist_progress"),
|
| 1150 |
+
("move_callbacks", "assist_progress"),
|
| 1151 |
("client_move_context", "client_move_scratch"),
|
| 1152 |
("client_processing", "client_routing"),
|
| 1153 |
("client_timer", "client_routing"),
|
|
|
|
| 1373 |
("qvm-move-resolved-self", "move_resolved_self"),
|
| 1374 |
("qvm-assist-acquire", "assist_acquire"),
|
| 1375 |
("qvm-assist-cancel", "assist_cancel"),
|
| 1376 |
+
("qvm-assist-progress", "assist_progress"),
|
| 1377 |
("qvm-client-move-scratch", "client_move_scratch"),
|
| 1378 |
("qvm-client-routing", "client_routing"),
|
| 1379 |
("qvm-client-command-rewrite", "client_command_rewrite"),
|