nmarshall commited on
Commit
a10771c
·
1 Parent(s): 8fb42db

qvm: recover timed bomb defuse completion

Browse files
docs/FINDINGS.md CHANGED
@@ -1973,3 +1973,5 @@ RE-1015: Rust ports start-state masks, animation selection, shared clock, durati
1973
  RE-1016: Forty-eight original-QVM cases compare far-target and unflagged cancellation. Any nonzero busy6164 clears busy, shared clock35000484, client mask4 and flag104 mask16, then allocates event84 with payload0 and event mask32. Zero busy leaves all fields unchanged, even stale flags or clock. Weapon/animation and unrelated bits survive. Both branches match; native event allocation and caller routing remain excluded. [Evidence](research/QVM_DEFUSE_CANCEL.md).
1974
 
1975
  RE-1017: Rust matches48 far/unflagged cancellation cases. Any nonzero busy state clears the shared clock and owned flags and emits event84 payload0; inactive stale state remains untouched. Weapon/animation words and unrelated bits survive. Unit tests verify idempotence, nonzero high-bit busy values, inactive unused-index preservation and active error atomicity. Native allocation remains a plan. [Evidence](research/RUST_DEFUSE_CANCEL.md).
 
 
 
1973
  RE-1016: Forty-eight original-QVM cases compare far-target and unflagged cancellation. Any nonzero busy6164 clears busy, shared clock35000484, client mask4 and flag104 mask16, then allocates event84 with payload0 and event mask32. Zero busy leaves all fields unchanged, even stale flags or clock. Weapon/animation and unrelated bits survive. Both branches match; native event allocation and caller routing remain excluded. [Evidence](research/QVM_DEFUSE_CANCEL.md).
1974
 
1975
  RE-1017: Rust matches48 far/unflagged cancellation cases. Any nonzero busy state clears the shared clock and owned flags and emits event84 payload0; inactive stale state remains untouched. Weapon/animation words and unrelated bits survive. Unit tests verify idempotence, nonzero high-bit busy values, inactive unused-index preservation and active error atomicity. Native allocation remains a plan. [Evidence](research/RUST_DEFUSE_CANCEL.md).
1976
+
1977
+ RE-1018: Thirty-two source cases recover active completion when signed wrapped elapsed reaches duration*1000, including equality, negative duration and overflow. Waiting preserves every field. Completion logs first, latches35000396=1, clears clock/busy and owned flags, allocates event84 payload1 with mask32, then requests teleport205260 and award283463 value5. Weapon/animation and neighboring event fields survive. Native nested effects remain captured or supplied. [Evidence](research/QVM_DEFUSE_FINISH.md).
docs/PROVISIONAL_TODO.md CHANGED
@@ -2032,3 +2032,5 @@ RE-974–983 completed routing, command rewrite, inactivity, movement-parameter
2032
  - [x] RE-1016 Recover bomb-defuse cancellation branches ([evidence](research/QVM_DEFUSE_CANCEL.md)).
2033
 
2034
  - [x] RE-1017 Port conditional bomb-defuse cancellation ([evidence](research/RUST_DEFUSE_CANCEL.md)).
 
 
 
2032
  - [x] RE-1016 Recover bomb-defuse cancellation branches ([evidence](research/QVM_DEFUSE_CANCEL.md)).
2033
 
2034
  - [x] RE-1017 Port conditional bomb-defuse cancellation ([evidence](research/RUST_DEFUSE_CANCEL.md)).
2035
+
2036
+ - [x] RE-1018 Recover timed bomb-defuse completion and effect order ([evidence](research/QVM_DEFUSE_FINISH.md)).
docs/RESEARCH_LEDGER.md CHANGED
@@ -2743,3 +2743,7 @@ Forty-eight original-QVM cases compare far-target and unflagged cancellation. An
2743
  ## 2026-10-29 — RE-1017 Port conditional bomb-defuse cancellation
2744
 
2745
  Rust matches48 far/unflagged cancellation cases. Any nonzero busy state clears the shared clock and owned flags and emits event84 payload0; inactive stale state remains untouched. Weapon/animation words and unrelated bits survive. Unit tests verify idempotence, nonzero high-bit busy values, inactive unused-index preservation and active error atomicity. Native allocation remains a plan. Focused `cargo xtask test-group rust-defuse-cancel` passes with deterministic report regeneration and selected regressions. Full suite deferred to task ten. Original assets unchanged; Python uses the flake-declared Nix runtime.
 
 
 
 
 
2743
  ## 2026-10-29 — RE-1017 Port conditional bomb-defuse cancellation
2744
 
2745
  Rust matches48 far/unflagged cancellation cases. Any nonzero busy state clears the shared clock and owned flags and emits event84 payload0; inactive stale state remains untouched. Weapon/animation words and unrelated bits survive. Unit tests verify idempotence, nonzero high-bit busy values, inactive unused-index preservation and active error atomicity. Native allocation remains a plan. Focused `cargo xtask test-group rust-defuse-cancel` passes with deterministic report regeneration and selected regressions. Full suite deferred to task ten. Original assets unchanged; Python uses the flake-declared Nix runtime.
2746
+
2747
+ ## 2026-10-29 — RE-1018 Recover timed bomb-defuse completion and effect order
2748
+
2749
+ Thirty-two source cases recover active completion when signed wrapped elapsed reaches duration*1000, including equality, negative duration and overflow. Waiting preserves every field. Completion logs first, latches35000396=1, clears clock/busy and owned flags, allocates event84 payload1 with mask32, then requests teleport205260 and award283463 value5. Weapon/animation and neighboring event fields survive. Native nested effects remain captured or supplied. Focused `cargo xtask test-group qvm-defuse-finish` 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
@@ -2069,3 +2069,5 @@ RE-974–983 recover routing, command rewriting, inactivity and composed setup t
2069
  - [x] RE-1016 Recover bomb-defuse cancellation branches ([evidence](research/QVM_DEFUSE_CANCEL.md)).
2070
 
2071
  - [x] RE-1017 Port conditional bomb-defuse cancellation ([evidence](research/RUST_DEFUSE_CANCEL.md)).
 
 
 
2069
  - [x] RE-1016 Recover bomb-defuse cancellation branches ([evidence](research/QVM_DEFUSE_CANCEL.md)).
2070
 
2071
  - [x] RE-1017 Port conditional bomb-defuse cancellation ([evidence](research/RUST_DEFUSE_CANCEL.md)).
2072
+
2073
+ - [x] RE-1018 Recover timed bomb-defuse completion and effect order ([evidence](research/QVM_DEFUSE_FINISH.md)).
docs/research/QVM_DEFUSE_FINISH.md ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
 
1
+ # Recover timed bomb-defuse completion and effect order
2
+
3
+ RE-1018. Focused validation: `cargo xtask test-group qvm-defuse-finish`. [Machine report](qvm-defuse-finish.json).
4
+
5
+ Thirty-two source cases recover active completion when signed wrapped elapsed reaches duration*1000, including equality, negative duration and overflow. Waiting preserves every field. Completion logs first, latches35000396=1, clears clock/busy and owned flags, allocates event84 payload1 with mask32, then requests teleport205260 and award283463 value5. Weapon/animation and neighboring event fields survive. Native nested effects remain captured or supplied.
docs/research/README.md CHANGED
@@ -1601,3 +1601,5 @@ The extension collector adds five focused tests for native tail calls, command-r
1601
  - [RE-1016: Recover bomb-defuse cancellation branches](QVM_DEFUSE_CANCEL.md).
1602
 
1603
  - [RE-1017: Port conditional bomb-defuse cancellation](RUST_DEFUSE_CANCEL.md).
 
 
 
1601
  - [RE-1016: Recover bomb-defuse cancellation branches](QVM_DEFUSE_CANCEL.md).
1602
 
1603
  - [RE-1017: Port conditional bomb-defuse cancellation](RUST_DEFUSE_CANCEL.md).
1604
+
1605
+ - [RE-1018: Recover timed bomb-defuse completion and effect order](QVM_DEFUSE_FINISH.md).
docs/research/qvm-defuse-finish.json ADDED
@@ -0,0 +1,1579 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "limits": "Actual153644..154087 active defuse completion. Signed wrapped duration/elapsed; log, teleport and award captured, event allocation supplied. Caller eligibility/distance excluded.",
3
+ "probes": [
4
+ {
5
+ "animation": 99,
6
+ "busy": 0,
7
+ "clock": 0,
8
+ "complete": 1,
9
+ "event": [
10
+ 1,
11
+ 2147483681
12
+ ],
13
+ "events": [
14
+ {
15
+ "format": "426f6d62207761732064656675736564206279202569210a",
16
+ "op": "log",
17
+ "slot": 2
18
+ },
19
+ {
20
+ "event": 84,
21
+ "op": "allocate"
22
+ },
23
+ {
24
+ "op": "teleport",
25
+ "slot": 2
26
+ },
27
+ {
28
+ "op": "award",
29
+ "slot": 2,
30
+ "value": 5
31
+ }
32
+ ],
33
+ "execution": {
34
+ "stop": 154087,
35
+ "trace_length": 130,
36
+ "trace_sha256": "38d637640c610de36625c3d0ffa2bc7c7f008ec0e1eff333c1e3284f4a82942e"
37
+ },
38
+ "flags": 2147516416,
39
+ "flags104": 2147483650,
40
+ "guards": [
41
+ 2864434397,
42
+ 287454020
43
+ ],
44
+ "input": {
45
+ "animation": 99,
46
+ "busy": 1,
47
+ "clock": 5000,
48
+ "complete": 0,
49
+ "duration": 0,
50
+ "flags": 2147516420,
51
+ "flags104": 2147483650,
52
+ "index": 3,
53
+ "tick": 10000,
54
+ "weapon": 305397771
55
+ },
56
+ "weapon": 305397771
57
+ },
58
+ {
59
+ "animation": 99,
60
+ "busy": 0,
61
+ "clock": 0,
62
+ "complete": 1,
63
+ "event": [
64
+ 1,
65
+ 2147483681
66
+ ],
67
+ "events": [
68
+ {
69
+ "format": "426f6d62207761732064656675736564206279202569210a",
70
+ "op": "log",
71
+ "slot": 2
72
+ },
73
+ {
74
+ "event": 84,
75
+ "op": "allocate"
76
+ },
77
+ {
78
+ "op": "teleport",
79
+ "slot": 2
80
+ },
81
+ {
82
+ "op": "award",
83
+ "slot": 2,
84
+ "value": 5
85
+ }
86
+ ],
87
+ "execution": {
88
+ "stop": 154087,
89
+ "trace_length": 130,
90
+ "trace_sha256": "38d637640c610de36625c3d0ffa2bc7c7f008ec0e1eff333c1e3284f4a82942e"
91
+ },
92
+ "flags": 2147516416,
93
+ "flags104": 2147483650,
94
+ "guards": [
95
+ 2864434397,
96
+ 287454020
97
+ ],
98
+ "input": {
99
+ "animation": 99,
100
+ "busy": 1,
101
+ "clock": 5000,
102
+ "complete": 0,
103
+ "duration": 5,
104
+ "flags": 2147516420,
105
+ "flags104": 2147483650,
106
+ "index": 3,
107
+ "tick": 10000,
108
+ "weapon": 305397771
109
+ },
110
+ "weapon": 305397771
111
+ },
112
+ {
113
+ "animation": 99,
114
+ "busy": 0,
115
+ "clock": 0,
116
+ "complete": 1,
117
+ "event": [
118
+ 1,
119
+ 2147483681
120
+ ],
121
+ "events": [
122
+ {
123
+ "format": "426f6d62207761732064656675736564206279202569210a",
124
+ "op": "log",
125
+ "slot": 2
126
+ },
127
+ {
128
+ "event": 84,
129
+ "op": "allocate"
130
+ },
131
+ {
132
+ "op": "teleport",
133
+ "slot": 2
134
+ },
135
+ {
136
+ "op": "award",
137
+ "slot": 2,
138
+ "value": 5
139
+ }
140
+ ],
141
+ "execution": {
142
+ "stop": 154087,
143
+ "trace_length": 130,
144
+ "trace_sha256": "38d637640c610de36625c3d0ffa2bc7c7f008ec0e1eff333c1e3284f4a82942e"
145
+ },
146
+ "flags": 2147516416,
147
+ "flags104": 2147483650,
148
+ "guards": [
149
+ 2864434397,
150
+ 287454020
151
+ ],
152
+ "input": {
153
+ "animation": 99,
154
+ "busy": 1,
155
+ "clock": 5000,
156
+ "complete": 0,
157
+ "duration": 4294967295,
158
+ "flags": 2147516420,
159
+ "flags104": 2147483650,
160
+ "index": 3,
161
+ "tick": 10000,
162
+ "weapon": 305397771
163
+ },
164
+ "weapon": 305397771
165
+ },
166
+ {
167
+ "animation": 99,
168
+ "busy": 0,
169
+ "clock": 0,
170
+ "complete": 1,
171
+ "event": [
172
+ 1,
173
+ 2147483681
174
+ ],
175
+ "events": [
176
+ {
177
+ "format": "426f6d62207761732064656675736564206279202569210a",
178
+ "op": "log",
179
+ "slot": 2
180
+ },
181
+ {
182
+ "event": 84,
183
+ "op": "allocate"
184
+ },
185
+ {
186
+ "op": "teleport",
187
+ "slot": 2
188
+ },
189
+ {
190
+ "op": "award",
191
+ "slot": 2,
192
+ "value": 5
193
+ }
194
+ ],
195
+ "execution": {
196
+ "stop": 154087,
197
+ "trace_length": 130,
198
+ "trace_sha256": "38d637640c610de36625c3d0ffa2bc7c7f008ec0e1eff333c1e3284f4a82942e"
199
+ },
200
+ "flags": 2147516416,
201
+ "flags104": 2147483650,
202
+ "guards": [
203
+ 2864434397,
204
+ 287454020
205
+ ],
206
+ "input": {
207
+ "animation": 99,
208
+ "busy": 1,
209
+ "clock": 5000,
210
+ "complete": 0,
211
+ "duration": 2147483648,
212
+ "flags": 2147516420,
213
+ "flags104": 2147483650,
214
+ "index": 3,
215
+ "tick": 10000,
216
+ "weapon": 305397771
217
+ },
218
+ "weapon": 305397771
219
+ },
220
+ {
221
+ "animation": 99,
222
+ "busy": 0,
223
+ "clock": 0,
224
+ "complete": 1,
225
+ "event": [
226
+ 1,
227
+ 2147483681
228
+ ],
229
+ "events": [
230
+ {
231
+ "format": "426f6d62207761732064656675736564206279202569210a",
232
+ "op": "log",
233
+ "slot": 2
234
+ },
235
+ {
236
+ "event": 84,
237
+ "op": "allocate"
238
+ },
239
+ {
240
+ "op": "teleport",
241
+ "slot": 2
242
+ },
243
+ {
244
+ "op": "award",
245
+ "slot": 2,
246
+ "value": 5
247
+ }
248
+ ],
249
+ "execution": {
250
+ "stop": 154087,
251
+ "trace_length": 130,
252
+ "trace_sha256": "38d637640c610de36625c3d0ffa2bc7c7f008ec0e1eff333c1e3284f4a82942e"
253
+ },
254
+ "flags": 2147516416,
255
+ "flags104": 2147483650,
256
+ "guards": [
257
+ 2864434397,
258
+ 287454020
259
+ ],
260
+ "input": {
261
+ "animation": 99,
262
+ "busy": 1,
263
+ "clock": 5001,
264
+ "complete": 0,
265
+ "duration": 0,
266
+ "flags": 2147516420,
267
+ "flags104": 2147483650,
268
+ "index": 3,
269
+ "tick": 10000,
270
+ "weapon": 305397771
271
+ },
272
+ "weapon": 305397771
273
+ },
274
+ {
275
+ "animation": 99,
276
+ "busy": 1,
277
+ "clock": 5001,
278
+ "complete": 0,
279
+ "event": [
280
+ 7,
281
+ 2147483649
282
+ ],
283
+ "events": [],
284
+ "execution": {
285
+ "stop": 154087,
286
+ "trace_length": 17,
287
+ "trace_sha256": "e3856d42779ee1671074e4cc462b4948eeacc3e533d4680d8a443561ea96c918"
288
+ },
289
+ "flags": 2147516420,
290
+ "flags104": 2147483650,
291
+ "guards": [
292
+ 2864434397,
293
+ 287454020
294
+ ],
295
+ "input": {
296
+ "animation": 99,
297
+ "busy": 1,
298
+ "clock": 5001,
299
+ "complete": 0,
300
+ "duration": 5,
301
+ "flags": 2147516420,
302
+ "flags104": 2147483650,
303
+ "index": 3,
304
+ "tick": 10000,
305
+ "weapon": 305397771
306
+ },
307
+ "weapon": 305397771
308
+ },
309
+ {
310
+ "animation": 99,
311
+ "busy": 0,
312
+ "clock": 0,
313
+ "complete": 1,
314
+ "event": [
315
+ 1,
316
+ 2147483681
317
+ ],
318
+ "events": [
319
+ {
320
+ "format": "426f6d62207761732064656675736564206279202569210a",
321
+ "op": "log",
322
+ "slot": 2
323
+ },
324
+ {
325
+ "event": 84,
326
+ "op": "allocate"
327
+ },
328
+ {
329
+ "op": "teleport",
330
+ "slot": 2
331
+ },
332
+ {
333
+ "op": "award",
334
+ "slot": 2,
335
+ "value": 5
336
+ }
337
+ ],
338
+ "execution": {
339
+ "stop": 154087,
340
+ "trace_length": 130,
341
+ "trace_sha256": "38d637640c610de36625c3d0ffa2bc7c7f008ec0e1eff333c1e3284f4a82942e"
342
+ },
343
+ "flags": 2147516416,
344
+ "flags104": 2147483650,
345
+ "guards": [
346
+ 2864434397,
347
+ 287454020
348
+ ],
349
+ "input": {
350
+ "animation": 99,
351
+ "busy": 1,
352
+ "clock": 5001,
353
+ "complete": 0,
354
+ "duration": 4294967295,
355
+ "flags": 2147516420,
356
+ "flags104": 2147483650,
357
+ "index": 3,
358
+ "tick": 10000,
359
+ "weapon": 305397771
360
+ },
361
+ "weapon": 305397771
362
+ },
363
+ {
364
+ "animation": 99,
365
+ "busy": 0,
366
+ "clock": 0,
367
+ "complete": 1,
368
+ "event": [
369
+ 1,
370
+ 2147483681
371
+ ],
372
+ "events": [
373
+ {
374
+ "format": "426f6d62207761732064656675736564206279202569210a",
375
+ "op": "log",
376
+ "slot": 2
377
+ },
378
+ {
379
+ "event": 84,
380
+ "op": "allocate"
381
+ },
382
+ {
383
+ "op": "teleport",
384
+ "slot": 2
385
+ },
386
+ {
387
+ "op": "award",
388
+ "slot": 2,
389
+ "value": 5
390
+ }
391
+ ],
392
+ "execution": {
393
+ "stop": 154087,
394
+ "trace_length": 130,
395
+ "trace_sha256": "38d637640c610de36625c3d0ffa2bc7c7f008ec0e1eff333c1e3284f4a82942e"
396
+ },
397
+ "flags": 2147516416,
398
+ "flags104": 2147483650,
399
+ "guards": [
400
+ 2864434397,
401
+ 287454020
402
+ ],
403
+ "input": {
404
+ "animation": 99,
405
+ "busy": 1,
406
+ "clock": 5001,
407
+ "complete": 0,
408
+ "duration": 2147483648,
409
+ "flags": 2147516420,
410
+ "flags104": 2147483650,
411
+ "index": 3,
412
+ "tick": 10000,
413
+ "weapon": 305397771
414
+ },
415
+ "weapon": 305397771
416
+ },
417
+ {
418
+ "animation": 99,
419
+ "busy": 1,
420
+ "clock": 10001,
421
+ "complete": 0,
422
+ "event": [
423
+ 7,
424
+ 2147483649
425
+ ],
426
+ "events": [],
427
+ "execution": {
428
+ "stop": 154087,
429
+ "trace_length": 17,
430
+ "trace_sha256": "e3856d42779ee1671074e4cc462b4948eeacc3e533d4680d8a443561ea96c918"
431
+ },
432
+ "flags": 2147516420,
433
+ "flags104": 2147483650,
434
+ "guards": [
435
+ 2864434397,
436
+ 287454020
437
+ ],
438
+ "input": {
439
+ "animation": 99,
440
+ "busy": 1,
441
+ "clock": 10001,
442
+ "complete": 0,
443
+ "duration": 0,
444
+ "flags": 2147516420,
445
+ "flags104": 2147483650,
446
+ "index": 3,
447
+ "tick": 10000,
448
+ "weapon": 305397771
449
+ },
450
+ "weapon": 305397771
451
+ },
452
+ {
453
+ "animation": 99,
454
+ "busy": 1,
455
+ "clock": 10001,
456
+ "complete": 0,
457
+ "event": [
458
+ 7,
459
+ 2147483649
460
+ ],
461
+ "events": [],
462
+ "execution": {
463
+ "stop": 154087,
464
+ "trace_length": 17,
465
+ "trace_sha256": "e3856d42779ee1671074e4cc462b4948eeacc3e533d4680d8a443561ea96c918"
466
+ },
467
+ "flags": 2147516420,
468
+ "flags104": 2147483650,
469
+ "guards": [
470
+ 2864434397,
471
+ 287454020
472
+ ],
473
+ "input": {
474
+ "animation": 99,
475
+ "busy": 1,
476
+ "clock": 10001,
477
+ "complete": 0,
478
+ "duration": 5,
479
+ "flags": 2147516420,
480
+ "flags104": 2147483650,
481
+ "index": 3,
482
+ "tick": 10000,
483
+ "weapon": 305397771
484
+ },
485
+ "weapon": 305397771
486
+ },
487
+ {
488
+ "animation": 99,
489
+ "busy": 0,
490
+ "clock": 0,
491
+ "complete": 1,
492
+ "event": [
493
+ 1,
494
+ 2147483681
495
+ ],
496
+ "events": [
497
+ {
498
+ "format": "426f6d62207761732064656675736564206279202569210a",
499
+ "op": "log",
500
+ "slot": 2
501
+ },
502
+ {
503
+ "event": 84,
504
+ "op": "allocate"
505
+ },
506
+ {
507
+ "op": "teleport",
508
+ "slot": 2
509
+ },
510
+ {
511
+ "op": "award",
512
+ "slot": 2,
513
+ "value": 5
514
+ }
515
+ ],
516
+ "execution": {
517
+ "stop": 154087,
518
+ "trace_length": 130,
519
+ "trace_sha256": "38d637640c610de36625c3d0ffa2bc7c7f008ec0e1eff333c1e3284f4a82942e"
520
+ },
521
+ "flags": 2147516416,
522
+ "flags104": 2147483650,
523
+ "guards": [
524
+ 2864434397,
525
+ 287454020
526
+ ],
527
+ "input": {
528
+ "animation": 99,
529
+ "busy": 1,
530
+ "clock": 10001,
531
+ "complete": 0,
532
+ "duration": 4294967295,
533
+ "flags": 2147516420,
534
+ "flags104": 2147483650,
535
+ "index": 3,
536
+ "tick": 10000,
537
+ "weapon": 305397771
538
+ },
539
+ "weapon": 305397771
540
+ },
541
+ {
542
+ "animation": 99,
543
+ "busy": 1,
544
+ "clock": 10001,
545
+ "complete": 0,
546
+ "event": [
547
+ 7,
548
+ 2147483649
549
+ ],
550
+ "events": [],
551
+ "execution": {
552
+ "stop": 154087,
553
+ "trace_length": 17,
554
+ "trace_sha256": "e3856d42779ee1671074e4cc462b4948eeacc3e533d4680d8a443561ea96c918"
555
+ },
556
+ "flags": 2147516420,
557
+ "flags104": 2147483650,
558
+ "guards": [
559
+ 2864434397,
560
+ 287454020
561
+ ],
562
+ "input": {
563
+ "animation": 99,
564
+ "busy": 1,
565
+ "clock": 10001,
566
+ "complete": 0,
567
+ "duration": 2147483648,
568
+ "flags": 2147516420,
569
+ "flags104": 2147483650,
570
+ "index": 3,
571
+ "tick": 10000,
572
+ "weapon": 305397771
573
+ },
574
+ "weapon": 305397771
575
+ },
576
+ {
577
+ "animation": 99,
578
+ "busy": 0,
579
+ "clock": 0,
580
+ "complete": 1,
581
+ "event": [
582
+ 1,
583
+ 2147483681
584
+ ],
585
+ "events": [
586
+ {
587
+ "format": "426f6d62207761732064656675736564206279202569210a",
588
+ "op": "log",
589
+ "slot": 2
590
+ },
591
+ {
592
+ "event": 84,
593
+ "op": "allocate"
594
+ },
595
+ {
596
+ "op": "teleport",
597
+ "slot": 2
598
+ },
599
+ {
600
+ "op": "award",
601
+ "slot": 2,
602
+ "value": 5
603
+ }
604
+ ],
605
+ "execution": {
606
+ "stop": 154087,
607
+ "trace_length": 130,
608
+ "trace_sha256": "38d637640c610de36625c3d0ffa2bc7c7f008ec0e1eff333c1e3284f4a82942e"
609
+ },
610
+ "flags": 2147516416,
611
+ "flags104": 2147483650,
612
+ "guards": [
613
+ 2864434397,
614
+ 287454020
615
+ ],
616
+ "input": {
617
+ "animation": 99,
618
+ "busy": 1,
619
+ "clock": 4294967280,
620
+ "complete": 0,
621
+ "duration": 0,
622
+ "flags": 2147516420,
623
+ "flags104": 2147483650,
624
+ "index": 3,
625
+ "tick": 10,
626
+ "weapon": 305397771
627
+ },
628
+ "weapon": 305397771
629
+ },
630
+ {
631
+ "animation": 99,
632
+ "busy": 1,
633
+ "clock": 4294967280,
634
+ "complete": 0,
635
+ "event": [
636
+ 7,
637
+ 2147483649
638
+ ],
639
+ "events": [],
640
+ "execution": {
641
+ "stop": 154087,
642
+ "trace_length": 17,
643
+ "trace_sha256": "e3856d42779ee1671074e4cc462b4948eeacc3e533d4680d8a443561ea96c918"
644
+ },
645
+ "flags": 2147516420,
646
+ "flags104": 2147483650,
647
+ "guards": [
648
+ 2864434397,
649
+ 287454020
650
+ ],
651
+ "input": {
652
+ "animation": 99,
653
+ "busy": 1,
654
+ "clock": 4294967280,
655
+ "complete": 0,
656
+ "duration": 5,
657
+ "flags": 2147516420,
658
+ "flags104": 2147483650,
659
+ "index": 3,
660
+ "tick": 10,
661
+ "weapon": 305397771
662
+ },
663
+ "weapon": 305397771
664
+ },
665
+ {
666
+ "animation": 99,
667
+ "busy": 0,
668
+ "clock": 0,
669
+ "complete": 1,
670
+ "event": [
671
+ 1,
672
+ 2147483681
673
+ ],
674
+ "events": [
675
+ {
676
+ "format": "426f6d62207761732064656675736564206279202569210a",
677
+ "op": "log",
678
+ "slot": 2
679
+ },
680
+ {
681
+ "event": 84,
682
+ "op": "allocate"
683
+ },
684
+ {
685
+ "op": "teleport",
686
+ "slot": 2
687
+ },
688
+ {
689
+ "op": "award",
690
+ "slot": 2,
691
+ "value": 5
692
+ }
693
+ ],
694
+ "execution": {
695
+ "stop": 154087,
696
+ "trace_length": 130,
697
+ "trace_sha256": "38d637640c610de36625c3d0ffa2bc7c7f008ec0e1eff333c1e3284f4a82942e"
698
+ },
699
+ "flags": 2147516416,
700
+ "flags104": 2147483650,
701
+ "guards": [
702
+ 2864434397,
703
+ 287454020
704
+ ],
705
+ "input": {
706
+ "animation": 99,
707
+ "busy": 1,
708
+ "clock": 4294967280,
709
+ "complete": 0,
710
+ "duration": 4294967295,
711
+ "flags": 2147516420,
712
+ "flags104": 2147483650,
713
+ "index": 3,
714
+ "tick": 10,
715
+ "weapon": 305397771
716
+ },
717
+ "weapon": 305397771
718
+ },
719
+ {
720
+ "animation": 99,
721
+ "busy": 0,
722
+ "clock": 0,
723
+ "complete": 1,
724
+ "event": [
725
+ 1,
726
+ 2147483681
727
+ ],
728
+ "events": [
729
+ {
730
+ "format": "426f6d62207761732064656675736564206279202569210a",
731
+ "op": "log",
732
+ "slot": 2
733
+ },
734
+ {
735
+ "event": 84,
736
+ "op": "allocate"
737
+ },
738
+ {
739
+ "op": "teleport",
740
+ "slot": 2
741
+ },
742
+ {
743
+ "op": "award",
744
+ "slot": 2,
745
+ "value": 5
746
+ }
747
+ ],
748
+ "execution": {
749
+ "stop": 154087,
750
+ "trace_length": 130,
751
+ "trace_sha256": "38d637640c610de36625c3d0ffa2bc7c7f008ec0e1eff333c1e3284f4a82942e"
752
+ },
753
+ "flags": 2147516416,
754
+ "flags104": 2147483650,
755
+ "guards": [
756
+ 2864434397,
757
+ 287454020
758
+ ],
759
+ "input": {
760
+ "animation": 99,
761
+ "busy": 1,
762
+ "clock": 4294967280,
763
+ "complete": 0,
764
+ "duration": 2147483648,
765
+ "flags": 2147516420,
766
+ "flags104": 2147483650,
767
+ "index": 3,
768
+ "tick": 10,
769
+ "weapon": 305397771
770
+ },
771
+ "weapon": 305397771
772
+ },
773
+ {
774
+ "animation": 99,
775
+ "busy": 0,
776
+ "clock": 0,
777
+ "complete": 1,
778
+ "event": [
779
+ 1,
780
+ 2147483681
781
+ ],
782
+ "events": [
783
+ {
784
+ "format": "426f6d62207761732064656675736564206279202569210a",
785
+ "op": "log",
786
+ "slot": 2
787
+ },
788
+ {
789
+ "event": 84,
790
+ "op": "allocate"
791
+ },
792
+ {
793
+ "op": "teleport",
794
+ "slot": 2
795
+ },
796
+ {
797
+ "op": "award",
798
+ "slot": 2,
799
+ "value": 5
800
+ }
801
+ ],
802
+ "execution": {
803
+ "stop": 154087,
804
+ "trace_length": 130,
805
+ "trace_sha256": "38d637640c610de36625c3d0ffa2bc7c7f008ec0e1eff333c1e3284f4a82942e"
806
+ },
807
+ "flags": 4294967291,
808
+ "flags104": 2147483650,
809
+ "guards": [
810
+ 2864434397,
811
+ 287454020
812
+ ],
813
+ "input": {
814
+ "animation": 99,
815
+ "busy": 1,
816
+ "clock": 5000,
817
+ "complete": 0,
818
+ "duration": 0,
819
+ "flags": 4294967295,
820
+ "flags104": 2147483650,
821
+ "index": 3,
822
+ "tick": 10000,
823
+ "weapon": 305397771
824
+ },
825
+ "weapon": 305397771
826
+ },
827
+ {
828
+ "animation": 99,
829
+ "busy": 0,
830
+ "clock": 0,
831
+ "complete": 1,
832
+ "event": [
833
+ 1,
834
+ 2147483681
835
+ ],
836
+ "events": [
837
+ {
838
+ "format": "426f6d62207761732064656675736564206279202569210a",
839
+ "op": "log",
840
+ "slot": 2
841
+ },
842
+ {
843
+ "event": 84,
844
+ "op": "allocate"
845
+ },
846
+ {
847
+ "op": "teleport",
848
+ "slot": 2
849
+ },
850
+ {
851
+ "op": "award",
852
+ "slot": 2,
853
+ "value": 5
854
+ }
855
+ ],
856
+ "execution": {
857
+ "stop": 154087,
858
+ "trace_length": 130,
859
+ "trace_sha256": "38d637640c610de36625c3d0ffa2bc7c7f008ec0e1eff333c1e3284f4a82942e"
860
+ },
861
+ "flags": 4294967291,
862
+ "flags104": 2147483650,
863
+ "guards": [
864
+ 2864434397,
865
+ 287454020
866
+ ],
867
+ "input": {
868
+ "animation": 99,
869
+ "busy": 1,
870
+ "clock": 5000,
871
+ "complete": 0,
872
+ "duration": 5,
873
+ "flags": 4294967295,
874
+ "flags104": 2147483650,
875
+ "index": 3,
876
+ "tick": 10000,
877
+ "weapon": 305397771
878
+ },
879
+ "weapon": 305397771
880
+ },
881
+ {
882
+ "animation": 99,
883
+ "busy": 0,
884
+ "clock": 0,
885
+ "complete": 1,
886
+ "event": [
887
+ 1,
888
+ 2147483681
889
+ ],
890
+ "events": [
891
+ {
892
+ "format": "426f6d62207761732064656675736564206279202569210a",
893
+ "op": "log",
894
+ "slot": 2
895
+ },
896
+ {
897
+ "event": 84,
898
+ "op": "allocate"
899
+ },
900
+ {
901
+ "op": "teleport",
902
+ "slot": 2
903
+ },
904
+ {
905
+ "op": "award",
906
+ "slot": 2,
907
+ "value": 5
908
+ }
909
+ ],
910
+ "execution": {
911
+ "stop": 154087,
912
+ "trace_length": 130,
913
+ "trace_sha256": "38d637640c610de36625c3d0ffa2bc7c7f008ec0e1eff333c1e3284f4a82942e"
914
+ },
915
+ "flags": 4294967291,
916
+ "flags104": 2147483650,
917
+ "guards": [
918
+ 2864434397,
919
+ 287454020
920
+ ],
921
+ "input": {
922
+ "animation": 99,
923
+ "busy": 1,
924
+ "clock": 5000,
925
+ "complete": 0,
926
+ "duration": 4294967295,
927
+ "flags": 4294967295,
928
+ "flags104": 2147483650,
929
+ "index": 3,
930
+ "tick": 10000,
931
+ "weapon": 305397771
932
+ },
933
+ "weapon": 305397771
934
+ },
935
+ {
936
+ "animation": 99,
937
+ "busy": 0,
938
+ "clock": 0,
939
+ "complete": 1,
940
+ "event": [
941
+ 1,
942
+ 2147483681
943
+ ],
944
+ "events": [
945
+ {
946
+ "format": "426f6d62207761732064656675736564206279202569210a",
947
+ "op": "log",
948
+ "slot": 2
949
+ },
950
+ {
951
+ "event": 84,
952
+ "op": "allocate"
953
+ },
954
+ {
955
+ "op": "teleport",
956
+ "slot": 2
957
+ },
958
+ {
959
+ "op": "award",
960
+ "slot": 2,
961
+ "value": 5
962
+ }
963
+ ],
964
+ "execution": {
965
+ "stop": 154087,
966
+ "trace_length": 130,
967
+ "trace_sha256": "38d637640c610de36625c3d0ffa2bc7c7f008ec0e1eff333c1e3284f4a82942e"
968
+ },
969
+ "flags": 4294967291,
970
+ "flags104": 2147483650,
971
+ "guards": [
972
+ 2864434397,
973
+ 287454020
974
+ ],
975
+ "input": {
976
+ "animation": 99,
977
+ "busy": 1,
978
+ "clock": 5000,
979
+ "complete": 0,
980
+ "duration": 2147483648,
981
+ "flags": 4294967295,
982
+ "flags104": 2147483650,
983
+ "index": 3,
984
+ "tick": 10000,
985
+ "weapon": 305397771
986
+ },
987
+ "weapon": 305397771
988
+ },
989
+ {
990
+ "animation": 99,
991
+ "busy": 0,
992
+ "clock": 0,
993
+ "complete": 1,
994
+ "event": [
995
+ 1,
996
+ 2147483681
997
+ ],
998
+ "events": [
999
+ {
1000
+ "format": "426f6d62207761732064656675736564206279202569210a",
1001
+ "op": "log",
1002
+ "slot": 2
1003
+ },
1004
+ {
1005
+ "event": 84,
1006
+ "op": "allocate"
1007
+ },
1008
+ {
1009
+ "op": "teleport",
1010
+ "slot": 2
1011
+ },
1012
+ {
1013
+ "op": "award",
1014
+ "slot": 2,
1015
+ "value": 5
1016
+ }
1017
+ ],
1018
+ "execution": {
1019
+ "stop": 154087,
1020
+ "trace_length": 130,
1021
+ "trace_sha256": "38d637640c610de36625c3d0ffa2bc7c7f008ec0e1eff333c1e3284f4a82942e"
1022
+ },
1023
+ "flags": 4294967291,
1024
+ "flags104": 2147483650,
1025
+ "guards": [
1026
+ 2864434397,
1027
+ 287454020
1028
+ ],
1029
+ "input": {
1030
+ "animation": 99,
1031
+ "busy": 1,
1032
+ "clock": 5001,
1033
+ "complete": 0,
1034
+ "duration": 0,
1035
+ "flags": 4294967295,
1036
+ "flags104": 2147483650,
1037
+ "index": 3,
1038
+ "tick": 10000,
1039
+ "weapon": 305397771
1040
+ },
1041
+ "weapon": 305397771
1042
+ },
1043
+ {
1044
+ "animation": 99,
1045
+ "busy": 1,
1046
+ "clock": 5001,
1047
+ "complete": 0,
1048
+ "event": [
1049
+ 7,
1050
+ 2147483649
1051
+ ],
1052
+ "events": [],
1053
+ "execution": {
1054
+ "stop": 154087,
1055
+ "trace_length": 17,
1056
+ "trace_sha256": "e3856d42779ee1671074e4cc462b4948eeacc3e533d4680d8a443561ea96c918"
1057
+ },
1058
+ "flags": 4294967295,
1059
+ "flags104": 2147483650,
1060
+ "guards": [
1061
+ 2864434397,
1062
+ 287454020
1063
+ ],
1064
+ "input": {
1065
+ "animation": 99,
1066
+ "busy": 1,
1067
+ "clock": 5001,
1068
+ "complete": 0,
1069
+ "duration": 5,
1070
+ "flags": 4294967295,
1071
+ "flags104": 2147483650,
1072
+ "index": 3,
1073
+ "tick": 10000,
1074
+ "weapon": 305397771
1075
+ },
1076
+ "weapon": 305397771
1077
+ },
1078
+ {
1079
+ "animation": 99,
1080
+ "busy": 0,
1081
+ "clock": 0,
1082
+ "complete": 1,
1083
+ "event": [
1084
+ 1,
1085
+ 2147483681
1086
+ ],
1087
+ "events": [
1088
+ {
1089
+ "format": "426f6d62207761732064656675736564206279202569210a",
1090
+ "op": "log",
1091
+ "slot": 2
1092
+ },
1093
+ {
1094
+ "event": 84,
1095
+ "op": "allocate"
1096
+ },
1097
+ {
1098
+ "op": "teleport",
1099
+ "slot": 2
1100
+ },
1101
+ {
1102
+ "op": "award",
1103
+ "slot": 2,
1104
+ "value": 5
1105
+ }
1106
+ ],
1107
+ "execution": {
1108
+ "stop": 154087,
1109
+ "trace_length": 130,
1110
+ "trace_sha256": "38d637640c610de36625c3d0ffa2bc7c7f008ec0e1eff333c1e3284f4a82942e"
1111
+ },
1112
+ "flags": 4294967291,
1113
+ "flags104": 2147483650,
1114
+ "guards": [
1115
+ 2864434397,
1116
+ 287454020
1117
+ ],
1118
+ "input": {
1119
+ "animation": 99,
1120
+ "busy": 1,
1121
+ "clock": 5001,
1122
+ "complete": 0,
1123
+ "duration": 4294967295,
1124
+ "flags": 4294967295,
1125
+ "flags104": 2147483650,
1126
+ "index": 3,
1127
+ "tick": 10000,
1128
+ "weapon": 305397771
1129
+ },
1130
+ "weapon": 305397771
1131
+ },
1132
+ {
1133
+ "animation": 99,
1134
+ "busy": 0,
1135
+ "clock": 0,
1136
+ "complete": 1,
1137
+ "event": [
1138
+ 1,
1139
+ 2147483681
1140
+ ],
1141
+ "events": [
1142
+ {
1143
+ "format": "426f6d62207761732064656675736564206279202569210a",
1144
+ "op": "log",
1145
+ "slot": 2
1146
+ },
1147
+ {
1148
+ "event": 84,
1149
+ "op": "allocate"
1150
+ },
1151
+ {
1152
+ "op": "teleport",
1153
+ "slot": 2
1154
+ },
1155
+ {
1156
+ "op": "award",
1157
+ "slot": 2,
1158
+ "value": 5
1159
+ }
1160
+ ],
1161
+ "execution": {
1162
+ "stop": 154087,
1163
+ "trace_length": 130,
1164
+ "trace_sha256": "38d637640c610de36625c3d0ffa2bc7c7f008ec0e1eff333c1e3284f4a82942e"
1165
+ },
1166
+ "flags": 4294967291,
1167
+ "flags104": 2147483650,
1168
+ "guards": [
1169
+ 2864434397,
1170
+ 287454020
1171
+ ],
1172
+ "input": {
1173
+ "animation": 99,
1174
+ "busy": 1,
1175
+ "clock": 5001,
1176
+ "complete": 0,
1177
+ "duration": 2147483648,
1178
+ "flags": 4294967295,
1179
+ "flags104": 2147483650,
1180
+ "index": 3,
1181
+ "tick": 10000,
1182
+ "weapon": 305397771
1183
+ },
1184
+ "weapon": 305397771
1185
+ },
1186
+ {
1187
+ "animation": 99,
1188
+ "busy": 1,
1189
+ "clock": 10001,
1190
+ "complete": 0,
1191
+ "event": [
1192
+ 7,
1193
+ 2147483649
1194
+ ],
1195
+ "events": [],
1196
+ "execution": {
1197
+ "stop": 154087,
1198
+ "trace_length": 17,
1199
+ "trace_sha256": "e3856d42779ee1671074e4cc462b4948eeacc3e533d4680d8a443561ea96c918"
1200
+ },
1201
+ "flags": 4294967295,
1202
+ "flags104": 2147483650,
1203
+ "guards": [
1204
+ 2864434397,
1205
+ 287454020
1206
+ ],
1207
+ "input": {
1208
+ "animation": 99,
1209
+ "busy": 1,
1210
+ "clock": 10001,
1211
+ "complete": 0,
1212
+ "duration": 0,
1213
+ "flags": 4294967295,
1214
+ "flags104": 2147483650,
1215
+ "index": 3,
1216
+ "tick": 10000,
1217
+ "weapon": 305397771
1218
+ },
1219
+ "weapon": 305397771
1220
+ },
1221
+ {
1222
+ "animation": 99,
1223
+ "busy": 1,
1224
+ "clock": 10001,
1225
+ "complete": 0,
1226
+ "event": [
1227
+ 7,
1228
+ 2147483649
1229
+ ],
1230
+ "events": [],
1231
+ "execution": {
1232
+ "stop": 154087,
1233
+ "trace_length": 17,
1234
+ "trace_sha256": "e3856d42779ee1671074e4cc462b4948eeacc3e533d4680d8a443561ea96c918"
1235
+ },
1236
+ "flags": 4294967295,
1237
+ "flags104": 2147483650,
1238
+ "guards": [
1239
+ 2864434397,
1240
+ 287454020
1241
+ ],
1242
+ "input": {
1243
+ "animation": 99,
1244
+ "busy": 1,
1245
+ "clock": 10001,
1246
+ "complete": 0,
1247
+ "duration": 5,
1248
+ "flags": 4294967295,
1249
+ "flags104": 2147483650,
1250
+ "index": 3,
1251
+ "tick": 10000,
1252
+ "weapon": 305397771
1253
+ },
1254
+ "weapon": 305397771
1255
+ },
1256
+ {
1257
+ "animation": 99,
1258
+ "busy": 0,
1259
+ "clock": 0,
1260
+ "complete": 1,
1261
+ "event": [
1262
+ 1,
1263
+ 2147483681
1264
+ ],
1265
+ "events": [
1266
+ {
1267
+ "format": "426f6d62207761732064656675736564206279202569210a",
1268
+ "op": "log",
1269
+ "slot": 2
1270
+ },
1271
+ {
1272
+ "event": 84,
1273
+ "op": "allocate"
1274
+ },
1275
+ {
1276
+ "op": "teleport",
1277
+ "slot": 2
1278
+ },
1279
+ {
1280
+ "op": "award",
1281
+ "slot": 2,
1282
+ "value": 5
1283
+ }
1284
+ ],
1285
+ "execution": {
1286
+ "stop": 154087,
1287
+ "trace_length": 130,
1288
+ "trace_sha256": "38d637640c610de36625c3d0ffa2bc7c7f008ec0e1eff333c1e3284f4a82942e"
1289
+ },
1290
+ "flags": 4294967291,
1291
+ "flags104": 2147483650,
1292
+ "guards": [
1293
+ 2864434397,
1294
+ 287454020
1295
+ ],
1296
+ "input": {
1297
+ "animation": 99,
1298
+ "busy": 1,
1299
+ "clock": 10001,
1300
+ "complete": 0,
1301
+ "duration": 4294967295,
1302
+ "flags": 4294967295,
1303
+ "flags104": 2147483650,
1304
+ "index": 3,
1305
+ "tick": 10000,
1306
+ "weapon": 305397771
1307
+ },
1308
+ "weapon": 305397771
1309
+ },
1310
+ {
1311
+ "animation": 99,
1312
+ "busy": 1,
1313
+ "clock": 10001,
1314
+ "complete": 0,
1315
+ "event": [
1316
+ 7,
1317
+ 2147483649
1318
+ ],
1319
+ "events": [],
1320
+ "execution": {
1321
+ "stop": 154087,
1322
+ "trace_length": 17,
1323
+ "trace_sha256": "e3856d42779ee1671074e4cc462b4948eeacc3e533d4680d8a443561ea96c918"
1324
+ },
1325
+ "flags": 4294967295,
1326
+ "flags104": 2147483650,
1327
+ "guards": [
1328
+ 2864434397,
1329
+ 287454020
1330
+ ],
1331
+ "input": {
1332
+ "animation": 99,
1333
+ "busy": 1,
1334
+ "clock": 10001,
1335
+ "complete": 0,
1336
+ "duration": 2147483648,
1337
+ "flags": 4294967295,
1338
+ "flags104": 2147483650,
1339
+ "index": 3,
1340
+ "tick": 10000,
1341
+ "weapon": 305397771
1342
+ },
1343
+ "weapon": 305397771
1344
+ },
1345
+ {
1346
+ "animation": 99,
1347
+ "busy": 0,
1348
+ "clock": 0,
1349
+ "complete": 1,
1350
+ "event": [
1351
+ 1,
1352
+ 2147483681
1353
+ ],
1354
+ "events": [
1355
+ {
1356
+ "format": "426f6d62207761732064656675736564206279202569210a",
1357
+ "op": "log",
1358
+ "slot": 2
1359
+ },
1360
+ {
1361
+ "event": 84,
1362
+ "op": "allocate"
1363
+ },
1364
+ {
1365
+ "op": "teleport",
1366
+ "slot": 2
1367
+ },
1368
+ {
1369
+ "op": "award",
1370
+ "slot": 2,
1371
+ "value": 5
1372
+ }
1373
+ ],
1374
+ "execution": {
1375
+ "stop": 154087,
1376
+ "trace_length": 130,
1377
+ "trace_sha256": "38d637640c610de36625c3d0ffa2bc7c7f008ec0e1eff333c1e3284f4a82942e"
1378
+ },
1379
+ "flags": 4294967291,
1380
+ "flags104": 2147483650,
1381
+ "guards": [
1382
+ 2864434397,
1383
+ 287454020
1384
+ ],
1385
+ "input": {
1386
+ "animation": 99,
1387
+ "busy": 1,
1388
+ "clock": 4294967280,
1389
+ "complete": 0,
1390
+ "duration": 0,
1391
+ "flags": 4294967295,
1392
+ "flags104": 2147483650,
1393
+ "index": 3,
1394
+ "tick": 10,
1395
+ "weapon": 305397771
1396
+ },
1397
+ "weapon": 305397771
1398
+ },
1399
+ {
1400
+ "animation": 99,
1401
+ "busy": 1,
1402
+ "clock": 4294967280,
1403
+ "complete": 0,
1404
+ "event": [
1405
+ 7,
1406
+ 2147483649
1407
+ ],
1408
+ "events": [],
1409
+ "execution": {
1410
+ "stop": 154087,
1411
+ "trace_length": 17,
1412
+ "trace_sha256": "e3856d42779ee1671074e4cc462b4948eeacc3e533d4680d8a443561ea96c918"
1413
+ },
1414
+ "flags": 4294967295,
1415
+ "flags104": 2147483650,
1416
+ "guards": [
1417
+ 2864434397,
1418
+ 287454020
1419
+ ],
1420
+ "input": {
1421
+ "animation": 99,
1422
+ "busy": 1,
1423
+ "clock": 4294967280,
1424
+ "complete": 0,
1425
+ "duration": 5,
1426
+ "flags": 4294967295,
1427
+ "flags104": 2147483650,
1428
+ "index": 3,
1429
+ "tick": 10,
1430
+ "weapon": 305397771
1431
+ },
1432
+ "weapon": 305397771
1433
+ },
1434
+ {
1435
+ "animation": 99,
1436
+ "busy": 0,
1437
+ "clock": 0,
1438
+ "complete": 1,
1439
+ "event": [
1440
+ 1,
1441
+ 2147483681
1442
+ ],
1443
+ "events": [
1444
+ {
1445
+ "format": "426f6d62207761732064656675736564206279202569210a",
1446
+ "op": "log",
1447
+ "slot": 2
1448
+ },
1449
+ {
1450
+ "event": 84,
1451
+ "op": "allocate"
1452
+ },
1453
+ {
1454
+ "op": "teleport",
1455
+ "slot": 2
1456
+ },
1457
+ {
1458
+ "op": "award",
1459
+ "slot": 2,
1460
+ "value": 5
1461
+ }
1462
+ ],
1463
+ "execution": {
1464
+ "stop": 154087,
1465
+ "trace_length": 130,
1466
+ "trace_sha256": "38d637640c610de36625c3d0ffa2bc7c7f008ec0e1eff333c1e3284f4a82942e"
1467
+ },
1468
+ "flags": 4294967291,
1469
+ "flags104": 2147483650,
1470
+ "guards": [
1471
+ 2864434397,
1472
+ 287454020
1473
+ ],
1474
+ "input": {
1475
+ "animation": 99,
1476
+ "busy": 1,
1477
+ "clock": 4294967280,
1478
+ "complete": 0,
1479
+ "duration": 4294967295,
1480
+ "flags": 4294967295,
1481
+ "flags104": 2147483650,
1482
+ "index": 3,
1483
+ "tick": 10,
1484
+ "weapon": 305397771
1485
+ },
1486
+ "weapon": 305397771
1487
+ },
1488
+ {
1489
+ "animation": 99,
1490
+ "busy": 0,
1491
+ "clock": 0,
1492
+ "complete": 1,
1493
+ "event": [
1494
+ 1,
1495
+ 2147483681
1496
+ ],
1497
+ "events": [
1498
+ {
1499
+ "format": "426f6d62207761732064656675736564206279202569210a",
1500
+ "op": "log",
1501
+ "slot": 2
1502
+ },
1503
+ {
1504
+ "event": 84,
1505
+ "op": "allocate"
1506
+ },
1507
+ {
1508
+ "op": "teleport",
1509
+ "slot": 2
1510
+ },
1511
+ {
1512
+ "op": "award",
1513
+ "slot": 2,
1514
+ "value": 5
1515
+ }
1516
+ ],
1517
+ "execution": {
1518
+ "stop": 154087,
1519
+ "trace_length": 130,
1520
+ "trace_sha256": "38d637640c610de36625c3d0ffa2bc7c7f008ec0e1eff333c1e3284f4a82942e"
1521
+ },
1522
+ "flags": 4294967291,
1523
+ "flags104": 2147483650,
1524
+ "guards": [
1525
+ 2864434397,
1526
+ 287454020
1527
+ ],
1528
+ "input": {
1529
+ "animation": 99,
1530
+ "busy": 1,
1531
+ "clock": 4294967280,
1532
+ "complete": 0,
1533
+ "duration": 2147483648,
1534
+ "flags": 4294967295,
1535
+ "flags104": 2147483650,
1536
+ "index": 3,
1537
+ "tick": 10,
1538
+ "weapon": 305397771
1539
+ },
1540
+ "weapon": 305397771
1541
+ }
1542
+ ],
1543
+ "sha256": "a589351dfe517470a1b121dd2164714987d9e4577bf00c6486e1540035d7a79d",
1544
+ "source": {
1545
+ "archive": "zUrT43_qvm.pk3",
1546
+ "archive_sha256": "b59bf0c5bedf11d50e0edd220da7eade96de40601e98ae14c54c819047df0796",
1547
+ "member": {
1548
+ "bytes": 983300,
1549
+ "comment_hex": "",
1550
+ "compressed_bytes": 246560,
1551
+ "compression": 8,
1552
+ "crc32": "98ea1768",
1553
+ "create_system": 0,
1554
+ "create_version": 63,
1555
+ "date_time": [
1556
+ 2018,
1557
+ 6,
1558
+ 18,
1559
+ 22,
1560
+ 11,
1561
+ 50
1562
+ ],
1563
+ "directory": false,
1564
+ "entry_index": 2,
1565
+ "external_attr": 32,
1566
+ "extra_hex": "0a0020000000000001001800d1e24e974007d40116dcbf962f1fd20116dcbf962f1fd201",
1567
+ "extract_version": 20,
1568
+ "flags": 0,
1569
+ "header_offset": 221309,
1570
+ "internal_attr": 0,
1571
+ "occurrence": 0,
1572
+ "output": "assets/extracted/zUrT43_qvm.pk3/members/000002/vm/qagame.qvm",
1573
+ "path": "vm/qagame.qvm",
1574
+ "sha256": "a589351dfe517470a1b121dd2164714987d9e4577bf00c6486e1540035d7a79d",
1575
+ "type": "member",
1576
+ "volume": 0
1577
+ }
1578
+ }
1579
+ }
scripts/analyze_qvm_defuse_finish.py ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """Verified original movement-context source contract."""
2
+ from pathlib import Path
3
+ from analyze_qvm import write_json
4
+ from qvm_research_support import source
5
+ from qvm_defuse_support import seed,finish,finish_fixtures
6
+
7
+ def main():
8
+ q,raw,h,ins=source();probes=[]
9
+ for a in finish_fixtures():
10
+ m,b=seed(raw,h,a);m,p,b=finish(ins,m,b,a);p['input']=a;probes.append(p)
11
+ write_json(Path('docs/research/qvm-defuse-finish.json'),dict(source=q['source'],sha256=q['sha256'],probes=probes,limits='Actual153644..154087 active defuse completion. Signed wrapped duration/elapsed; log, teleport and award captured, event allocation supplied. Caller eligibility/distance excluded.'))
12
+ if __name__=='__main__':main()
scripts/qvm_defuse_oracle.py CHANGED
@@ -12,3 +12,9 @@ def cancel(a):
12
  out=initial(a);out['events']=[]
13
  if a['busy']:out.update(flags=a['flags']&~4,flags104=a['flags104']&~16,busy=0,clock=0,event=[0,0x80000021],events=[dict(op='allocate',event=84)])
14
  return out
 
 
 
 
 
 
 
12
  out=initial(a);out['events']=[]
13
  if a['busy']:out.update(flags=a['flags']&~4,flags104=a['flags104']&~16,busy=0,clock=0,event=[0,0x80000021],events=[dict(op='allocate',event=84)])
14
  return out
15
+
16
+ def finish(a):
17
+ out=initial(a);out['events']=[]
18
+ if signed((a['tick']-a['clock'])&0xffffffff)>=signed((a['duration']*1000)&0xffffffff):
19
+ out.update(flags=a['flags']&~4,flags104=a['flags104']&~16,busy=0,clock=0,complete=1,event=[1,0x80000021],events=[dict(op='log',format=b'Bomb was defused by %i!\n'.hex(),slot=2),dict(op='allocate',event=84),dict(op='teleport',slot=2),dict(op='award',slot=2,value=5)])
20
+ return out
scripts/qvm_defuse_support.py CHANGED
@@ -43,3 +43,8 @@ def cancel_fixtures():
43
  from itertools import product
44
  return [dict(defaults(),flags=f,busy=busy,clock=clock,reason=reason) for f,busy,clock,reason in product([0,4,0x80008004,0xffffffff],[0,1,0xffffffff],[0,0x80000000],['far','unflagged'])]
45
  def cancel(ins,m,b,a):return fragment(ins,m,b,a,154008 if a['reason']=='far' else 153927)
 
 
 
 
 
 
43
  from itertools import product
44
  return [dict(defaults(),flags=f,busy=busy,clock=clock,reason=reason) for f,busy,clock,reason in product([0,4,0x80008004,0xffffffff],[0,1,0xffffffff],[0,0x80000000],['far','unflagged'])]
45
  def cancel(ins,m,b,a):return fragment(ins,m,b,a,154008 if a['reason']=='far' else 153927)
46
+
47
+ def finish_fixtures():
48
+ from itertools import product
49
+ return [dict(defaults(),busy=1,flags=f,tick=tick,clock=clock,duration=d) for f,(tick,clock),d in product([0x80008004,0xffffffff],[(10000,5000),(10000,5001),(10000,10001),(10,0xfffffff0)],[0,5,0xffffffff,0x80000000])]
50
+ def finish(ins,m,b,a):return fragment(ins,m,b,a,153644)
scripts/test_qvm_defuse_finish.py ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import json,unittest
2
+ from pathlib import Path
3
+ from qvm_defuse_oracle import finish
4
+ class OriginalTests(unittest.TestCase):
5
+ def test_original_contract(self):
6
+ rows=json.loads(Path('docs/research/qvm-defuse-finish.json').read_text())['probes'];self.assertEqual(len(rows),32)
7
+ for p in rows:
8
+ with self.subTest(input=p['input']):
9
+ for k,v in finish(p['input']).items():self.assertEqual(p[k],v,k)
10
+ def test_fixture_identity_and_trace(self):
11
+ r=json.loads(Path('docs/research/qvm-defuse-finish.json').read_text());self.assertEqual(len(r['sha256']),64)
12
+ self.assertTrue(all(p['execution']['trace_length']>0 for p in r['probes']))
13
+ if __name__=='__main__':unittest.main()
xtask/checks.tsv CHANGED
@@ -4206,3 +4206,7 @@ edge crates/urt-gameplay/src/move_callbacks.rs scripts/analyze_rust_defuse_cance
4206
  edge crates/urt-gameplay/src/defuse.rs scripts/analyze_rust_defuse_cancel.py
4207
  edge crates/urt-gameplay/src/bin/urt-defuse.rs scripts/analyze_rust_defuse_cancel.py
4208
  edge crates/urt-gameplay/src/move_callbacks.rs scripts/analyze_rust_defuse_cancel.py
 
 
 
 
 
4206
  edge crates/urt-gameplay/src/defuse.rs scripts/analyze_rust_defuse_cancel.py
4207
  edge crates/urt-gameplay/src/bin/urt-defuse.rs scripts/analyze_rust_defuse_cancel.py
4208
  edge crates/urt-gameplay/src/move_callbacks.rs scripts/analyze_rust_defuse_cancel.py
4209
+ report scripts/analyze_qvm_defuse_finish.py docs/research/qvm-defuse-finish.json
4210
+ edge docs/research/qvm-defuse-finish.json scripts/test_qvm_defuse_finish.py
4211
+ group qvm-defuse-finish scripts/analyze_qvm_defuse_finish.py
4212
+ edge scripts/analyze_qvm_defuse_finish.py scripts/analyze_qvm_resumer_audit.py