From e87c3e562d2ac23cd4f6aab1f2b498cab4c6ca4a Mon Sep 17 00:00:00 2001 From: TomerStarkware Date: Tue, 14 May 2024 20:52:09 +0300 Subject: [PATCH] feat: added sha256 syscall --- Cargo.lock | 5 +- Cargo.toml | 1 + crates/blockifier/Cargo.toml | 1 + .../cairo1/compiled/test_contract.casm.json | 5456 ++++++++++------- .../cairo1/test_contract.cairo | 11 + .../resources/versioned_constants.json | 15 + .../resources/versioned_constants_13_0.json | 10 + .../resources/versioned_constants_13_1.json | 10 + .../resources/versioned_constants_13_1_1.json | 10 + .../src/execution/deprecated_syscalls/mod.rs | 2 + .../src/execution/stack_trace_test.rs | 10 +- .../src/execution/syscalls/hint_processor.rs | 14 +- .../blockifier/src/execution/syscalls/mod.rs | 76 +- .../src/execution/syscalls/syscalls_test.rs | 25 +- crates/blockifier/src/versioned_constants.rs | 1 + 15 files changed, 3435 insertions(+), 2212 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 79aae00c76..d626a9d2de 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -429,6 +429,7 @@ dependencies = [ "rstest", "serde", "serde_json", + "sha2", "sha3", "starknet-crypto 0.5.2", "starknet_api", @@ -939,9 +940,9 @@ dependencies = [ [[package]] name = "cairo-lang-syntax-codegen" -version = "2.6.0" +version = "2.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06841b9eb87842cad1679f3c8534d25bbb5710923fd9e1903ca62e0663d91698" +checksum = "70e2d692eae4bb4179a4a1148fd5eb738a91653d86750c813658ffad4a99fa97" dependencies = [ "genco", "xshell", diff --git a/Cargo.toml b/Cargo.toml index 217ddbdcae..132a9eada5 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -48,6 +48,7 @@ regex = "1.10.4" rstest = "0.17.0" serde = "1.0.184" serde_json = "1.0.81" +sha2 = "0.10.8" sha3 = "0.10.6" starknet-crypto = "0.5.1" starknet_api = "0.12.0-dev.0" diff --git a/crates/blockifier/Cargo.toml b/crates/blockifier/Cargo.toml index bd5cefe3bb..b30062fb28 100644 --- a/crates/blockifier/Cargo.toml +++ b/crates/blockifier/Cargo.toml @@ -44,6 +44,7 @@ rstest = { workspace = true, optional = true } serde = { workspace = true, features = ["derive"] } serde_json = { workspace = true, features = ["arbitrary_precision"] } sha3.workspace = true +sha2.workspace = true starknet-crypto.workspace = true starknet_api = { workspace = true, features = ["testing"] } strum.workspace = true diff --git a/crates/blockifier/feature_contracts/cairo1/compiled/test_contract.casm.json b/crates/blockifier/feature_contracts/cairo1/compiled/test_contract.casm.json index 8b5a51c976..3eaba533bd 100644 --- a/crates/blockifier/feature_contracts/cairo1/compiled/test_contract.casm.json +++ b/crates/blockifier/feature_contracts/cairo1/compiled/test_contract.casm.json @@ -1,6 +1,6 @@ { "prime": "0x800000000000011000000000000000000000000000000000000000000000001", - "compiler_version": "2.6.0", + "compiler_version": "2.7.0", "bytecode": [ "0xa0680017fff8000", "0x7", @@ -100,9 +100,9 @@ "0x1", "0x208b7fff7fff7ffe", "0x1104800180018000", - "0x3aaf", + "0x3d30", "0x482480017fff8000", - "0x3aae", + "0x3d2f", "0x480080007fff8000", "0xa0680017fff8000", "0x9", @@ -275,9 +275,9 @@ "0x1", "0x208b7fff7fff7ffe", "0x1104800180018000", - "0x3a00", + "0x3c81", "0x482480017fff8000", - "0x39ff", + "0x3c80", "0x480080007fff8000", "0xa0680017fff8000", "0x9", @@ -536,7 +536,7 @@ "0x48127ffa7fff8000", "0x480080007ff88000", "0x1104800180018000", - "0x14e0", + "0x1548", "0x20680017fff7ffa", "0xb", "0x48127ff87fff8000", @@ -588,9 +588,9 @@ "0x1", "0x208b7fff7fff7ffe", "0x1104800180018000", - "0x38c7", + "0x3b48", "0x482480017fff8000", - "0x38c6", + "0x3b47", "0x480080007fff8000", "0xa0680017fff8000", "0x9", @@ -805,7 +805,7 @@ "0x48127ffa7fff8000", "0x480080007ff88000", "0x1104800180018000", - "0x13d3", + "0x143b", "0x20680017fff7ffa", "0xb", "0x48127ff87fff8000", @@ -870,7 +870,7 @@ "0x48127ffa7fff8000", "0x480080007ff88000", "0x1104800180018000", - "0x1392", + "0x13fa", "0x20680017fff7ffa", "0xb", "0x48127ff87fff8000", @@ -922,9 +922,9 @@ "0x1", "0x208b7fff7fff7ffe", "0x1104800180018000", - "0x3779", + "0x39fa", "0x482480017fff8000", - "0x3778", + "0x39f9", "0x480080007fff8000", "0xa0680017fff8000", "0x9", @@ -950,7 +950,7 @@ "0x48127ff07fff8000", "0x48127ff07fff8000", "0x1104800180018000", - "0x139e", + "0x1406", "0x20680017fff7ffd", "0xc", "0x40780017fff7fff", @@ -1128,9 +1128,9 @@ "0x1", "0x208b7fff7fff7ffe", "0x1104800180018000", - "0x36ab", + "0x392c", "0x482480017fff8000", - "0x36aa", + "0x392b", "0x480080007fff8000", "0xa0680017fff8000", "0x9", @@ -1245,7 +1245,7 @@ "0x480a7ffc7fff8000", "0x480a7ffd7fff8000", "0x1104800180018000", - "0x12e1", + "0x1349", "0x20680017fff7ffc", "0xf2", "0x48127ff97fff8000", @@ -1256,7 +1256,7 @@ "0x40137ffa7fff8001", "0x40137ffb7fff8002", "0x1104800180018000", - "0x13a3", + "0x140b", "0x20680017fff7feb", "0xdf", "0x20680017fff7fee", @@ -1344,9 +1344,9 @@ "0x1", "0x208b7fff7fff7ffe", "0x1104800180018000", - "0x35d3", + "0x3854", "0x482480017fff8000", - "0x35d2", + "0x3853", "0x480080007fff8000", "0xa0680017fff8000", "0x9", @@ -1388,7 +1388,7 @@ "0x48127fdb7fff8000", "0x48127fdf7fff8000", "0x1104800180018000", - "0x17d4", + "0x183c", "0x20680017fff7ffd", "0xc", "0x40780017fff7fff", @@ -1630,7 +1630,7 @@ "0x48127ffa7fff8000", "0x480080007ff88000", "0x1104800180018000", - "0x109a", + "0x1102", "0x20680017fff7ffa", "0xb", "0x48127ff87fff8000", @@ -1682,9 +1682,9 @@ "0x1", "0x208b7fff7fff7ffe", "0x1104800180018000", - "0x3481", + "0x3702", "0x482480017fff8000", - "0x3480", + "0x3701", "0x480080007fff8000", "0xa0680017fff8000", "0x9", @@ -1969,9 +1969,9 @@ "0x1", "0x208b7fff7fff7ffe", "0x1104800180018000", - "0x3362", + "0x35e3", "0x482480017fff8000", - "0x3361", + "0x35e2", "0x480080007fff8000", "0xa0680017fff8000", "0x9", @@ -1993,7 +1993,7 @@ "0x48127fee7fff8000", "0x48127ff27fff8000", "0x1104800180018000", - "0x16e7", + "0x174f", "0x482480017fc88000", "0x1", "0x48127ffa7fff8000", @@ -2186,9 +2186,9 @@ "0x1", "0x208b7fff7fff7ffe", "0x1104800180018000", - "0x3289", + "0x350a", "0x482480017fff8000", - "0x3288", + "0x3509", "0x480080007fff8000", "0xa0680017fff8000", "0x9", @@ -2350,7 +2350,7 @@ "0x48127ffa7fff8000", "0x480080007ff88000", "0x1104800180018000", - "0xdca", + "0xe32", "0x20680017fff7ffa", "0xb", "0x48127ff87fff8000", @@ -2402,9 +2402,9 @@ "0x1", "0x208b7fff7fff7ffe", "0x1104800180018000", - "0x31b1", + "0x3432", "0x482480017fff8000", - "0x31b0", + "0x3431", "0x480080007fff8000", "0xa0680017fff8000", "0x9", @@ -2541,9 +2541,9 @@ "0x1", "0x208b7fff7fff7ffe", "0x1104800180018000", - "0x3126", + "0x33a7", "0x482480017fff8000", - "0x3125", + "0x33a6", "0x480080007fff8000", "0xa0680017fff8000", "0x9", @@ -2575,7 +2575,7 @@ "0x48127ff77fff8000", "0x480080007ffc8000", "0x1104800180018000", - "0x14e9", + "0x1551", "0x40780017fff7fff", "0x1", "0x48127ffa7fff8000", @@ -2732,7 +2732,7 @@ "0x48127ffa7fff8000", "0x480080007ff88000", "0x1104800180018000", - "0xc4c", + "0xcb4", "0x20680017fff7ffa", "0xb", "0x48127ff87fff8000", @@ -2814,9 +2814,9 @@ "0x1", "0x208b7fff7fff7ffe", "0x1104800180018000", - "0x3015", + "0x3296", "0x482480017fff8000", - "0x3014", + "0x3295", "0x480080007fff8000", "0xa0680017fff8000", "0x9", @@ -2992,28 +2992,132 @@ "0x1", "0x208b7fff7fff7ffe", "0x1104800180018000", - "0x2f63", + "0x31e4", + "0x482480017fff8000", + "0x31e3", + "0x480080007fff8000", + "0xa0680017fff8000", + "0x9", + "0x4824800180007ff8", + "0x7b3e", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ff77fff", + "0x10780017fff7fff", + "0x1f", + "0x4824800180007ff8", + "0x7b3e", + "0x400080007ff87fff", + "0x482480017ff88000", + "0x1", + "0x48127ffe7fff8000", + "0x480a7ffb7fff8000", + "0x1104800180018000", + "0x1459", + "0x20680017fff7ffd", + "0xc", + "0x40780017fff7fff", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ffb7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x4f7574206f6620676173", + "0x400080007ffe7fff", + "0x482480017ff58000", + "0x1", + "0x48127ff37fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x482480017ff98000", + "0x1", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x4f7574206f6620676173", + "0x400080007ffe7fff", + "0x482680017ff98000", + "0x1", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x482480017ff98000", + "0x1", + "0x208b7fff7fff7ffe", + "0xa0680017fff8000", + "0x7", + "0x482680017ffa8000", + "0x100000000000000000000000000000000", + "0x400280007ff97fff", + "0x10780017fff7fff", + "0x54", + "0x4825800180007ffa", + "0x0", + "0x400280007ff97fff", + "0x482680017ff98000", + "0x1", + "0x48297ffc80007ffd", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x10", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x496e70757420746f6f206c6f6e6720666f7220617267756d656e7473", + "0x400080007ffe7fff", + "0x48127ffc7fff8000", + "0x48127ffa7fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x482480017ff98000", + "0x1", + "0x208b7fff7fff7ffe", + "0x1104800180018000", + "0x317c", "0x482480017fff8000", - "0x2f62", + "0x317b", "0x480080007fff8000", "0xa0680017fff8000", "0x9", "0x4824800180007ff8", - "0x7ba2", + "0x399e", "0x482480017fff8000", "0x100000000000000000000000000000000", "0x400080007ff77fff", "0x10780017fff7fff", "0x1f", "0x4824800180007ff8", - "0x7ba2", + "0x399e", "0x400080007ff87fff", "0x482480017ff88000", "0x1", "0x48127ffe7fff8000", "0x480a7ffb7fff8000", "0x1104800180018000", - "0x13f1", + "0x14c5", "0x20680017fff7ffd", "0xc", "0x40780017fff7fff", @@ -3097,15 +3201,15 @@ "0x1", "0x208b7fff7fff7ffe", "0x1104800180018000", - "0x2efa", + "0x3113", "0x482480017fff8000", - "0x2ef9", + "0x3112", "0x480080007fff8000", "0x480080017fff8000", "0x484480017fff8000", "0x8", "0x482480017fff8000", - "0x41c26", + "0x418a2", "0xa0680017fff8000", "0x8", "0x48307ffe80007ff5", @@ -3122,7 +3226,7 @@ "0x480a7ff97fff8000", "0x480a7ffb7fff8000", "0x1104800180018000", - "0x1458", + "0x14ac", "0x20680017fff7ffd", "0xd", "0x40780017fff7fff", @@ -3209,28 +3313,28 @@ "0x1", "0x208b7fff7fff7ffe", "0x1104800180018000", - "0x2e8a", + "0x30a3", "0x482480017fff8000", - "0x2e89", + "0x30a2", "0x480080007fff8000", "0xa0680017fff8000", "0x9", "0x4824800180007ff8", - "0x38400", + "0x382d4", "0x482480017fff8000", "0x100000000000000000000000000000000", "0x400080007ff77fff", "0x10780017fff7fff", "0x1f", "0x4824800180007ff8", - "0x38400", + "0x382d4", "0x400080007ff87fff", "0x482480017ff88000", "0x1", "0x48127ffe7fff8000", "0x480a7ffb7fff8000", "0x1104800180018000", - "0x155d", + "0x15a0", "0x20680017fff7ffd", "0xc", "0x40780017fff7fff", @@ -3355,9 +3459,9 @@ "0x1", "0x208b7fff7fff7ffe", "0x1104800180018000", - "0x2df8", + "0x3011", "0x482480017fff8000", - "0x2df7", + "0x3010", "0x480080007fff8000", "0xa0680017fff8000", "0x9", @@ -3557,9 +3661,9 @@ "0x1", "0x208b7fff7fff7ffe", "0x1104800180018000", - "0x2d2e", + "0x2f47", "0x482480017fff8000", - "0x2d2d", + "0x2f46", "0x480080007fff8000", "0xa0680017fff8000", "0x9", @@ -3580,7 +3684,7 @@ "0x48127ff47fff8000", "0x48127ff47fff8000", "0x1104800180018000", - "0x159a", + "0x15cb", "0x20680017fff7ffd", "0xe", "0x40780017fff7fff", @@ -3679,9 +3783,9 @@ "0x1", "0x208b7fff7fff7ffe", "0x1104800180018000", - "0x2cb4", + "0x2ecd", "0x482480017fff8000", - "0x2cb3", + "0x2ecc", "0x480080007fff8000", "0xa0680017fff8000", "0x9", @@ -3793,9 +3897,9 @@ "0x1", "0x208b7fff7fff7ffe", "0x1104800180018000", - "0x2c42", + "0x2e5b", "0x482480017fff8000", - "0x2c41", + "0x2e5a", "0x480080007fff8000", "0xa0680017fff8000", "0x9", @@ -3814,7 +3918,7 @@ "0x48127ffe7fff8000", "0x48127ff67fff8000", "0x1104800180018000", - "0x1618", + "0x1630", "0x20680017fff7ffd", "0xc", "0x40780017fff7fff", @@ -3932,9 +4036,9 @@ "0x1", "0x208b7fff7fff7ffe", "0x1104800180018000", - "0x2bb7", + "0x2dd0", "0x482480017fff8000", - "0x2bb6", + "0x2dcf", "0x480080007fff8000", "0xa0680017fff8000", "0x9", @@ -3953,7 +4057,7 @@ "0x48127ffe7fff8000", "0x48127ff67fff8000", "0x1104800180018000", - "0x15bd", + "0x15d5", "0x20680017fff7ffd", "0xc", "0x40780017fff7fff", @@ -4137,9 +4241,9 @@ "0x1", "0x208b7fff7fff7ffe", "0x1104800180018000", - "0x2aea", + "0x2d03", "0x482480017fff8000", - "0x2ae9", + "0x2d02", "0x480080007fff8000", "0xa0680017fff8000", "0x9", @@ -4381,9 +4485,9 @@ "0x1", "0x208b7fff7fff7ffe", "0x1104800180018000", - "0x29f6", + "0x2c0f", "0x482480017fff8000", - "0x29f5", + "0x2c0e", "0x480080007fff8000", "0x480080007fff8000", "0x484480017fff8000", @@ -4409,7 +4513,7 @@ "0x48127feb7fff8000", "0x48127fef7fff8000", "0x1104800180018000", - "0x1421", + "0x1439", "0x20680017fff7ffd", "0xd", "0x40780017fff7fff", @@ -4524,7 +4628,7 @@ "0x480a7ffc7fff8000", "0x480a7ffd7fff8000", "0x1104800180018000", - "0x1471", + "0x1489", "0x20680017fff7ffc", "0x63", "0x48307ffa80007ffb", @@ -4549,9 +4653,9 @@ "0x1", "0x208b7fff7fff7ffe", "0x1104800180018000", - "0x294e", + "0x2b67", "0x482480017fff8000", - "0x294d", + "0x2b66", "0x480080007fff8000", "0x480080007fff8000", "0x484480017fff8000", @@ -4582,7 +4686,7 @@ "0x48127feb7fff8000", "0x48127feb7fff8000", "0x1104800180018000", - "0x14fb", + "0x1513", "0x20680017fff7ffd", "0xe", "0x40780017fff7fff", @@ -4717,7 +4821,7 @@ "0x48127ff67fff8000", "0x48127ff67fff8000", "0x1104800180018000", - "0x13b0", + "0x13c8", "0x20680017fff7ffc", "0x60", "0x48307ffa80007ffb", @@ -4740,9 +4844,9 @@ "0x1", "0x208b7fff7fff7ffe", "0x1104800180018000", - "0x288f", + "0x2aa8", "0x482480017fff8000", - "0x288e", + "0x2aa7", "0x480080007fff8000", "0xa0680017fff8000", "0x9", @@ -4897,9 +5001,9 @@ "0x1", "0x208b7fff7fff7ffe", "0x1104800180018000", - "0x27f2", + "0x2a0b", "0x482480017fff8000", - "0x27f1", + "0x2a0a", "0x480080007fff8000", "0x480080027fff8000", "0x482480017fff8000", @@ -4918,7 +5022,7 @@ "0x48127ffe7fff8000", "0x480a7ffb7fff8000", "0x1104800180018000", - "0x14cd", + "0x14e5", "0x482480017f838000", "0x1", "0x20680017fff7ffc", @@ -5029,9 +5133,9 @@ "0x1", "0x208b7fff7fff7ffe", "0x1104800180018000", - "0x276e", + "0x2987", "0x482480017fff8000", - "0x276d", + "0x2986", "0x480080007fff8000", "0x480080007fff8000", "0x484480017fff8000", @@ -5055,7 +5159,7 @@ "0x480a7ffb7fff8000", "0x48127ff17fff8000", "0x1104800180018000", - "0x1561", + "0x1579", "0x20680017fff7ffd", "0xd", "0x40780017fff7fff", @@ -5178,9 +5282,9 @@ "0x1", "0x208b7fff7fff7ffe", "0x1104800180018000", - "0x26d9", + "0x28f2", "0x482480017fff8000", - "0x26d8", + "0x28f1", "0x480080007fff8000", "0xa0680017fff8000", "0x9", @@ -5355,9 +5459,9 @@ "0x1", "0x208b7fff7fff7ffe", "0x1104800180018000", - "0x2628", + "0x2841", "0x482480017fff8000", - "0x2627", + "0x2840", "0x480080007fff8000", "0xa0680017fff8000", "0x9", @@ -5561,9 +5665,9 @@ "0x1", "0x208b7fff7fff7ffe", "0x1104800180018000", - "0x255a", + "0x2773", "0x482480017fff8000", - "0x2559", + "0x2772", "0x480080007fff8000", "0xa0680017fff8000", "0x9", @@ -5766,9 +5870,9 @@ "0x1", "0x208b7fff7fff7ffe", "0x1104800180018000", - "0x248d", + "0x26a6", "0x482480017fff8000", - "0x248c", + "0x26a5", "0x480080007fff8000", "0xa0680017fff8000", "0x9", @@ -6402,7 +6506,7 @@ "0x48127ffa7fff8000", "0x48127ffa7fff8000", "0x1104800180018000", - "0x114c", + "0x1164", "0x20680017fff7ffa", "0x384", "0x20680017fff7ffd", @@ -6506,7 +6610,7 @@ "0x48127ffa7fff8000", "0x480080007ff88000", "0x1104800180018000", - "0x119d", + "0x11b5", "0x20680017fff7ffa", "0x1a", "0x20680017fff7ffd", @@ -6638,7 +6742,7 @@ "0x48127ff97fff8000", "0x48127ff97fff8000", "0x1104800180018000", - "0x1060", + "0x1078", "0x20680017fff7ffa", "0x165", "0x20680017fff7ffd", @@ -6738,7 +6842,7 @@ "0x48127ff87fff8000", "0x48127ff87fff8000", "0x1104800180018000", - "0xffc", + "0x1014", "0x20680017fff7ffa", "0x49", "0x20680017fff7ffd", @@ -7577,7 +7681,7 @@ "0x480a7fed7fff8000", "0x480a7fee7fff8000", "0x1104800180018000", - "0xdbe", + "0xdd6", "0x20680017fff7ffa", "0xdc", "0x20680017fff7fff", @@ -7617,7 +7721,7 @@ "0x480a7ff27fff8000", "0x480a7ff37fff8000", "0x1104800180018000", - "0xe17", + "0xe2f", "0x20680017fff7ffa", "0xa2", "0x20680017fff7fff", @@ -7653,7 +7757,7 @@ "0x480a7ff57fff8000", "0x480a7ff67fff8000", "0x1104800180018000", - "0xd72", + "0xd8a", "0x20680017fff7ffa", "0x78", "0x20680017fff7fff", @@ -7698,7 +7802,7 @@ "0x480a7ff97fff8000", "0x480a7ffa7fff8000", "0x1104800180018000", - "0xd45", + "0xd5d", "0x20680017fff7ffa", "0x45", "0x20680017fff7fff", @@ -8135,7 +8239,7 @@ "0x48127ffb7fff8000", "0x48127ffa7fff8000", "0x1104800180018000", - "0xca8", + "0xcc0", "0x20680017fff7ffb", "0xb4", "0x48127ff97fff8000", @@ -8147,7 +8251,7 @@ "0x480680017fff8000", "0x0", "0x1104800180018000", - "0xcf5", + "0xd0d", "0x20680017fff7ffd", "0xa1", "0x480680017fff8000", @@ -8329,6 +8433,90 @@ "0x48127ffa7fff8000", "0x48127ffa7fff8000", "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x61616161", + "0x400080007ffe7fff", + "0x480a7ffb7fff8000", + "0x48127ffd7fff8000", + "0x482480017ffc8000", + "0x1", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x1104800180018000", + "0xd7b", + "0x20680017fff7ffd", + "0x38", + "0x1104800180018000", + "0x1c88", + "0x482480017fff8000", + "0x1c87", + "0x48127ff97fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x480680017fff8000", + "0x0", + "0x48127ff77fff8000", + "0x48127ff77fff8000", + "0x48127ff97fff8000", + "0x1104800180018000", + "0xe6d", + "0x20680017fff7ffd", + "0x21", + "0x480080007ffe8000", + "0x4824800180007fff", + "0x61be55a8", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x10", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x57726f6e6720686173682076616c7565", + "0x400080007ffe7fff", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x48127ff67fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x482480017ff98000", + "0x1", + "0x208b7fff7fff7ffe", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x10780017fff7fff", + "0x7", + "0x48127ffc7fff8000", + "0x480a7ffc7fff8000", + "0x480a7ffd7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x48127ffb7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x208b7fff7fff7ffe", "0x480680017fff8000", "0x0", "0x480680017fff8000", @@ -8347,7 +8535,7 @@ "0x400280057ffd7ffe", "0x480280077ffd8000", "0x20680017fff7fff", - "0x156", + "0x145", "0x480280087ffd8000", "0x480280097ffd8000", "0x480280067ffd8000", @@ -8418,7 +8606,7 @@ "0x48307ffe80007ffb", "0x400280007ffa7fff", "0x10780017fff7fff", - "0xff", + "0xee", "0x482480017ffb8000", "0x1", "0x48307fff80007ffd", @@ -8430,7 +8618,7 @@ "0x482680017ffa8000", "0x1", "0x20680017fff7ffe", - "0xe4", + "0xd3", "0x480680017fff8000", "0xe3e70682c2094cac629f6fbed82c07cd", "0x480680017fff8000", @@ -8449,14 +8637,14 @@ "0x400080057ff27ffe", "0x480080077ff28000", "0x20680017fff7fff", - "0xc7", + "0xb6", "0x480080087ff18000", "0x480080097ff08000", "0x480080067fef8000", "0x482480017fee8000", "0xa", "0x20680017fff7ffc", - "0xb1", + "0xa0", "0x480680017fff8000", "0x536563703235366b314765745879", "0x400080007ffe7fff", @@ -8464,7 +8652,7 @@ "0x400080027ffe7ffc", "0x480080047ffe8000", "0x20680017fff7fff", - "0x9f", + "0x8e", "0x480080057ffd8000", "0x480080067ffc8000", "0x480080037ffb8000", @@ -8524,43 +8712,26 @@ "0x1", "0x208b7fff7fff7ffe", "0x480680017fff8000", - "0x100000000", - "0x20680017fff7fff", - "0x11", - "0x40780017fff7fff", - "0x1", - "0x480680017fff8000", - "0x4469766973696f6e2062792030", - "0x400080007ffe7fff", - "0x48127fe67fff8000", - "0x48127ff47fff8000", - "0x480a7ffc7fff8000", - "0x48127ff37fff8000", - "0x480680017fff8000", - "0x1", - "0x48127ff97fff8000", - "0x482480017ff88000", - "0x1", - "0x208b7fff7fff7ffe", - "0x480680017fff8000", "0x767410c1", + "0x480680017fff8000", + "0x100000000", "0x480080007fe78005", "0x480080017fe68005", "0x4824800180047ffe", "0x1", - "0x48307ffd7ffe7ffb", + "0x48307ffd7ffe7ffc", "0x480080027fe37ffd", "0xa0680017fff7ffd", "0x6", - "0x482480017ff87ffd", + "0x482480017ff97ffd", "0xffffffffffffffff0000000000000000", "0x10780017fff7fff", "0x4", "0x482480017fff7ffd", "0xffffffffffffffff0000000000000000", "0x400080037fe07ffc", - "0x40507ffe7ff77ffd", - "0x40307fff7ffd7ff8", + "0x40507ffe7ff87ffd", + "0x40307fff7ffd7ff7", "0x484480017fff8000", "0x100000000000000000000000000000000", "0x482480017fdf8000", @@ -8585,7 +8756,7 @@ "0x482480017ff48000", "0xbb448978bd42b984d7de5970bcaf5c43", "0x1104800180018000", - "0xc80", + "0xde3", "0x20680017fff7ffd", "0x17", "0x20680017fff7ffe", @@ -8716,7 +8887,7 @@ "0x400280057ffd7ffe", "0x480280077ffd8000", "0x20680017fff7fff", - "0x17f", + "0x16d", "0x480280087ffd8000", "0x480280097ffd8000", "0x480280067ffd8000", @@ -8789,7 +8960,7 @@ "0x48307ffe80007ffb", "0x400280007ffb7fff", "0x10780017fff7fff", - "0x125", + "0x113", "0x482480017ffb8000", "0x1", "0x48307fff80007ffd", @@ -8801,7 +8972,7 @@ "0x482680017ffb8000", "0x1", "0x20680017fff7ffe", - "0x109", + "0xf7", "0x480680017fff8000", "0x2d483fe223b12b91047d83258a958b0f", "0x480680017fff8000", @@ -8820,14 +8991,14 @@ "0x400080057ff27ffe", "0x480080077ff28000", "0x20680017fff7fff", - "0xeb", + "0xd9", "0x480080087ff18000", "0x480080097ff08000", "0x480080067fef8000", "0x482480017fee8000", "0xa", "0x20680017fff7ffc", - "0xd4", + "0xc2", "0x480680017fff8000", "0x5365637032353672314765745879", "0x400080007ffe7fff", @@ -8835,7 +9006,7 @@ "0x400080027ffe7ffc", "0x480080047ffe8000", "0x20680017fff7fff", - "0xc1", + "0xaf", "0x480080057ffd8000", "0x480080067ffc8000", "0x480080037ffb8000", @@ -8896,44 +9067,26 @@ "0x1", "0x208b7fff7fff7ffe", "0x480680017fff8000", - "0x100000000", - "0x20680017fff7fff", - "0x12", - "0x40780017fff7fff", - "0x2fd", - "0x40780017fff7fff", - "0x1", - "0x480680017fff8000", - "0x4469766973696f6e2062792030", - "0x400080007ffe7fff", - "0x48127ce97fff8000", - "0x48127cf77fff8000", - "0x48127cf77fff8000", - "0x480680017fff8000", - "0x1", - "0x48127ffa7fff8000", - "0x482480017ff98000", - "0x1", - "0x208b7fff7fff7ffe", - "0x480680017fff8000", "0x49288242", + "0x480680017fff8000", + "0x100000000", "0x480080007fe78005", "0x480080017fe68005", "0x4824800180047ffe", "0x1", - "0x48307ffd7ffe7ffb", + "0x48307ffd7ffe7ffc", "0x480080027fe37ffd", "0xa0680017fff7ffd", "0x6", - "0x482480017ff87ffd", + "0x482480017ff97ffd", "0xffffffffffffffff0000000000000000", "0x10780017fff7fff", "0x4", "0x482480017fff7ffd", "0xffffffffffffffff0000000000000000", "0x400080037fe07ffc", - "0x40507ffe7ff77ffd", - "0x40307fff7ffd7ff8", + "0x40507ffe7ff87ffd", + "0x40307fff7ffd7ff7", "0x480680017fff8000", "0x32e41495a944d0045b522eba7240fad5", "0x480680017fff8000", @@ -8979,7 +9132,7 @@ "0x177e60492c5a8242f76f07bfe3661bd", "0x48127ff47fff8000", "0x1104800180018000", - "0xbd2", + "0xd47", "0x20680017fff7ffd", "0xc", "0x48127ffa7fff8000", @@ -9115,7 +9268,7 @@ "0xffffffffffffffffffffffffffffc57c", "0x400280007ff97fff", "0x10780017fff7fff", - "0x154", + "0x13b", "0x4825800180007ffa", "0x3a84", "0x400280007ff97fff", @@ -9414,19 +9567,14 @@ "0x482480017ff98000", "0x1", "0x208b7fff7fff7ffe", - "0x480680017fff8000", - "0x0", - "0x482680017ff98000", - "0x2", - "0x20680017fff7ffe", - "0x10", "0x40780017fff7fff", "0x1", "0x480680017fff8000", "0x4469766973696f6e2062792030", "0x400080007ffe7fff", - "0x48127ffd7fff8000", - "0x48127ff57fff8000", + "0x482680017ff98000", + "0x2", + "0x48127ff77fff8000", "0x480a7ffb7fff8000", "0x480680017fff8000", "0x1", @@ -9434,36 +9582,16 @@ "0x482480017ff98000", "0x1", "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", "0x480680017fff8000", + "0x4f7574206f6620676173", + "0x400080007ffe7fff", + "0x482680017ff98000", "0x1", - "0x480080007ffe8004", - "0x4824800180037fff", - "0x1", - "0x48307ffe7fff7ffb", - "0x480080017ffb7ffe", - "0x480080027ffa7fff", - "0x40507ffe7ff87ffd", - "0x40307fff7ffd7ffa", - "0x482480017ff98000", - "0x3", - "0x48127ff17fff8000", - "0x480a7ffb7fff8000", - "0x480680017fff8000", - "0x0", - "0x480680017fff8000", - "0x0", - "0x48127ff97fff8000", - "0x208b7fff7fff7ffe", - "0x40780017fff7fff", - "0x1", - "0x480680017fff8000", - "0x4f7574206f6620676173", - "0x400080007ffe7fff", - "0x482680017ff98000", - "0x1", - "0x480a7ffa7fff8000", - "0x480a7ffb7fff8000", - "0x480680017fff8000", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x480680017fff8000", "0x1", "0x48127ffa7fff8000", "0x482480017ff98000", @@ -11043,7 +11171,7 @@ "0x480a7ff97fff8000", "0x480a7ffa7fff8000", "0x1104800180018000", - "0x6e9", + "0x867", "0x20680017fff7ffc", "0x11", "0x400280007ffc7ffd", @@ -11377,12 +11505,12 @@ "0xa0680017fff8000", "0x7", "0x482680017ff98000", - "0xffffffffffffffffffffffffffffdc06", + "0xffffffffffffffffffffffffffffdd32", "0x400280007ff87fff", "0x10780017fff7fff", "0x42", "0x4825800180007ff9", - "0x23fa", + "0x22ce", "0x400280007ff87fff", "0x482680017ff88000", "0x1", @@ -11413,20 +11541,20 @@ "0x480080007ffc8000", "0x480080017ffb8000", "0x1104800180018000", - "0x627", + "0x7a5", "0x20680017fff7ffd", "0xb", "0x48127ffc7fff8000", - "0x48127fcd7fff8000", - "0x48127fcf7fff8000", - "0x48127fcf7fff8000", + "0x48127fce7fff8000", + "0x48127fd07fff8000", + "0x48127fd07fff8000", "0x48127ffa7fff8000", "0x48127ffa7fff8000", "0x1104800180018000", "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffd1", "0x208b7fff7fff7ffe", "0x48127ffc7fff8000", - "0x48127fcd7fff8000", + "0x48127fce7fff8000", "0x480680017fff8000", "0x1", "0x480680017fff8000", @@ -11463,32 +11591,17 @@ "0x482480017ff88000", "0x1", "0x208b7fff7fff7ffe", + "0x48297ffa80007ffb", "0x480680017fff8000", "0x11", - "0x20680017fff7fff", - "0xf", - "0x40780017fff7fff", - "0x1", - "0x480680017fff8000", - "0x4f7074696f6e3a3a756e77726170206661696c65642e", - "0x400080007ffe7fff", - "0x480a7ff87fff8000", - "0x480a7ff97fff8000", - "0x480680017fff8000", - "0x1", - "0x48127ffb7fff8000", - "0x482480017ffa8000", - "0x1", - "0x208b7fff7fff7ffe", - "0x48297ffa80007ffb", "0x480280007ff88004", "0x4824800180037fff", "0x1", - "0x48307ffe7fff7ffc", + "0x48307ffe7fff7ffd", "0x480280017ff87ffe", "0x480280027ff87fff", - "0x40507ffe7ff97ffd", - "0x40307fff7ffd7ffa", + "0x40507ffe7ffa7ffd", + "0x40307fff7ffd7ff9", "0x482680017ff88000", "0x3", "0x4825800180007ffd", @@ -11702,7 +11815,7 @@ "0x48127ff87fff8000", "0x48127ffb7fff8000", "0x1104800180018000", - "0x5c3", + "0x730", "0x208b7fff7fff7ffe", "0x40780017fff7fff", "0x1", @@ -11784,182 +11897,595 @@ "0x482480017ffa8000", "0x1", "0x208b7fff7fff7ffe", - "0x4825800180007ff8", + "0x48297ffa80007ffb", + "0x4825800180007ffd", "0x0", "0x20680017fff7fff", "0x4", "0x10780017fff7fff", - "0x4", - "0x10780017fff7fff", - "0x8", - "0x4825800180007ff9", - "0x0", + "0x6b", + "0x4825800180007ffd", + "0x1", "0x20680017fff7fff", "0x4", "0x10780017fff7fff", - "0xc5", - "0x480680017fff8000", - "0xfffffffffffffffffffffffffffffffe", - "0x48317fff80017ff9", - "0xa0680017fff7fff", - "0x7", - "0x482480017fff8000", - "0x100000000000000000000000000000000", - "0x400280007ff27fff", - "0x10780017fff7fff", - "0x21", - "0x400280007ff27fff", - "0x482680017ff28000", - "0x1", - "0x4825800180007ff9", - "0xfffffffffffffffffffffffffffffffe", + "0x18", + "0x4825800180007ffd", + "0x2", "0x20680017fff7fff", "0x4", "0x10780017fff7fff", - "0x5", - "0x48127ffe7fff8000", + "0xa", + "0x480680017fff8000", + "0x1000000", + "0x480680017fff8000", + "0x100", + "0x480680017fff8000", + "0x80", "0x10780017fff7fff", - "0xb0", + "0x8", "0x480680017fff8000", - "0xbaaedce6af48a03bbfd25e8cd0364141", - "0x48317fff80017ff8", - "0xa0680017fff7fff", - "0x7", - "0x482480017fff8000", - "0x100000000000000000000000000000000", - "0x400080007ffa7fff", + "0x10000", + "0x480680017fff8000", + "0x10000", + "0x480680017fff8000", + "0x8000", "0x10780017fff7fff", - "0x7", - "0x400080007ffb7fff", - "0x482480017ffb8000", + "0xa", + "0x40780017fff7fff", "0x1", - "0x10780017fff7fff", - "0xa1", - "0x482480017ffa8000", + "0x480680017fff8000", + "0x100", + "0x480680017fff8000", + "0x1000000", + "0x480680017fff8000", + "0x800000", + "0x480280007ff98004", + "0x4824800180037fff", "0x1", + "0x48307ffe7fff7ffb", + "0x480280017ff97ffe", + "0x480280027ff97fff", + "0x40507ffe7ff87ffd", + "0x40317fff7ffd7ffc", + "0x48507ff97fff8000", + "0xa0680017fff8000", + "0x7", + "0x4824800180007ffe", + "0x100000000", + "0x400280037ff97fff", "0x10780017fff7fff", - "0x4", - "0x482680017ff28000", + "0x28", + "0x482480017ffe8000", + "0xffffffffffffffffffffffff00000000", + "0x400280037ff97fff", + "0xa0680017fff8000", + "0x8", + "0x48307ff67ffc8000", + "0x4824800180007fff", + "0x100000000", + "0x400280047ff97fff", + "0x10780017fff7fff", + "0xe", + "0x48307ff67ffc8001", + "0x4824800180007fff", + "0xffffffffffffffffffffffff00000000", + "0x400280047ff97ffe", + "0x400280007ffb7fff", + "0x482680017ff98000", + "0x5", + "0x480a7ffa7fff8000", + "0x482680017ffb8000", "0x1", - "0x4825800180007ffa", - "0x0", - "0x20680017fff7fff", - "0x4", "0x10780017fff7fff", - "0x6", + "0x29", + "0x40780017fff7fff", + "0x58", "0x40780017fff7fff", "0x1", - "0x10780017fff7fff", - "0x8", - "0x4825800180007ffb", - "0x0", - "0x20680017fff7fff", - "0x4", - "0x10780017fff7fff", - "0x7f", "0x480680017fff8000", - "0xfffffffffffffffffffffffffffffffe", - "0x48317fff80017ffb", - "0xa0680017fff7fff", - "0x7", - "0x482480017fff8000", - "0x100000000000000000000000000000000", - "0x400080007ff97fff", - "0x10780017fff7fff", - "0x21", - "0x400080007ffa7fff", - "0x482480017ffa8000", - "0x1", - "0x4825800180007ffb", - "0xfffffffffffffffffffffffffffffffe", - "0x20680017fff7fff", - "0x4", - "0x10780017fff7fff", + "0x7533325f616464204f766572666c6f77", + "0x400080007ffe7fff", + "0x482680017ff98000", "0x5", - "0x48127ffe7fff8000", - "0x10780017fff7fff", - "0x6a", "0x480680017fff8000", - "0xbaaedce6af48a03bbfd25e8cd0364141", - "0x48317fff80017ffa", - "0xa0680017fff7fff", - "0x7", - "0x482480017fff8000", - "0x100000000000000000000000000000000", - "0x400080007ffa7fff", - "0x10780017fff7fff", - "0x7", - "0x400080007ffb7fff", + "0x1", + "0x48127ffc7fff8000", "0x482480017ffb8000", "0x1", - "0x10780017fff7fff", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", "0x5b", - "0x482480017ffa8000", - "0x1", - "0x10780017fff7fff", - "0x4", - "0x482480017ff98000", + "0x40780017fff7fff", "0x1", - "0x480a7ff37fff8000", - "0x480a7ff57fff8000", - "0x480a7ff67fff8000", - "0x480a7ff77fff8000", - "0x480a7ff87fff8000", - "0x480a7ff97fff8000", - "0x480a7ffa7fff8000", - "0x480a7ffb7fff8000", - "0x480a7ffc7fff8000", - "0x1104800180018000", - "0x546", - "0x20680017fff7ffd", - "0x3e", - "0x20680017fff7ffe", - "0x2d", - "0x48127ffa7fff8000", - "0x48127ffa7fff8000", - "0x480a7ff47fff8000", - "0x48127ff97fff8000", - "0x48127ffb7fff8000", - "0x1104800180018000", - "0x80d", - "0x20680017fff7ffd", - "0x1b", - "0x48317fff80007ffd", - "0x20680017fff7fff", - "0xd", - "0x48127ff87fff8000", - "0x48127ff87fff8000", - "0x48127ff87fff8000", - "0x48127ff87fff8000", - "0x480680017fff8000", - "0x0", - "0x480680017fff8000", - "0x0", "0x480680017fff8000", - "0x0", - "0x208b7fff7fff7ffe", - "0x48127ff87fff8000", - "0x48127ff87fff8000", - "0x48127ff87fff8000", - "0x48127ff87fff8000", - "0x480680017fff8000", - "0x0", + "0x7533325f6d756c204f766572666c6f77", + "0x400080007ffe7fff", + "0x482680017ff98000", + "0x4", "0x480680017fff8000", "0x1", - "0x480680017fff8000", - "0x496e76616c6964207369676e6174757265", - "0x208b7fff7fff7ffe", - "0x48127ff97fff8000", - "0x48127ff97fff8000", - "0x48127ff97fff8000", - "0x48127ff97fff8000", - "0x480680017fff8000", + "0x48127ffc7fff8000", + "0x482480017ffb8000", "0x1", - "0x48127ff97fff8000", - "0x48127ff97fff8000", "0x208b7fff7fff7ffe", "0x40780017fff7fff", - "0x1", + "0xf", + "0x480680017fff8000", + "0x80000000", + "0x400280007ffb7fff", + "0x480a7ff97fff8000", + "0x480a7ffa7fff8000", + "0x482680017ffb8000", + "0x1", + "0x48307ffe80007fff", + "0x480680017fff8000", + "0x1", + "0xa0680017fff8000", + "0x8", + "0x48307ffe7ffd8000", + "0x4824800180007fff", + "0x100000000", + "0x400080007ff87fff", + "0x10780017fff7fff", + "0x71", + "0x48307ffe7ffd8001", + "0x4824800180007fff", + "0xffffffffffffffffffffffff00000000", + "0x400080007ff87ffe", + "0x480680017fff8000", + "0x10", + "0x480080017ff78004", + "0x4824800180037fff", + "0x1", + "0x48307ffe7fff7ffd", + "0x480080027ff47ffe", + "0x480080037ff37fff", + "0x40507ffe7ffa7ffd", + "0x40307fff7ffd7ff9", + "0x480680017fff8000", + "0x10", + "0x48127ff27fff8000", + "0x48127ff27fff8000", + "0x48307ffc80007ffd", + "0x1104800180018000", + "0x699", + "0x484480017f9f8000", + "0x20", + "0xa0680017fff8000", + "0x7", + "0x4824800180007ffe", + "0x100000000", + "0x400080047fae7fff", + "0x10780017fff7fff", + "0x44", + "0x482480017ffe8000", + "0xffffffffffffffffffffffff00000000", + "0x400080047fae7fff", + "0x484680017ffd8000", + "0x8", + "0xa0680017fff8000", + "0x7", + "0x4824800180007ffe", + "0x100000000", + "0x400080057fab7fff", + "0x10780017fff7fff", + "0x29", + "0x482480017ffe8000", + "0xffffffffffffffffffffffff00000000", + "0x400080057fab7fff", + "0xa0680017fff8000", + "0x8", + "0x48307ffc7ff98000", + "0x4824800180007fff", + "0x100000000", + "0x400080067fa87fff", + "0x10780017fff7fff", + "0x11", + "0x48307ffc7ff98001", + "0x4824800180007fff", + "0xffffffffffffffffffffffff00000000", + "0x400080067fa87ffe", + "0x40780017fff7fff", + "0x2", + "0x400080007ff47ffd", + "0x482480017fa68000", + "0x7", + "0x480680017fff8000", + "0x0", + "0x48127ff17fff8000", + "0x482480017ff18000", + "0x1", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x7533325f616464204f766572666c6f77", + "0x400080007ffe7fff", + "0x482480017fa68000", + "0x7", + "0x480680017fff8000", + "0x1", + "0x48127ffc7fff8000", + "0x482480017ffb8000", + "0x1", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x3", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x7533325f6d756c204f766572666c6f77", + "0x400080007ffe7fff", + "0x482480017fa68000", + "0x6", + "0x480680017fff8000", + "0x1", + "0x48127ffc7fff8000", + "0x482480017ffb8000", + "0x1", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x6", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x7533325f6d756c204f766572666c6f77", + "0x400080007ffe7fff", + "0x482480017fa68000", + "0x5", + "0x480680017fff8000", + "0x1", + "0x48127ffc7fff8000", + "0x482480017ffb8000", + "0x1", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x50", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x7533325f616464204f766572666c6f77", + "0x400080007ffe7fff", + "0x482480017fa68000", + "0x1", + "0x480680017fff8000", + "0x1", + "0x48127ffc7fff8000", + "0x482480017ffb8000", + "0x1", + "0x208b7fff7fff7ffe", + "0xa0680017fff8000", + "0x7", + "0x482680017ff88000", + "0xffffffffffffffffffffffffffffc752", + "0x400280007ff77fff", + "0x10780017fff7fff", + "0x87", + "0x4825800180007ff8", + "0x38ae", + "0x400280007ff77fff", + "0x48297ffb80007ffc", + "0x482680017ff78000", + "0x1", + "0x48317ffe80007ffa", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x74", + "0x480680017fff8000", + "0x10", + "0x48297ffb80007ffc", + "0x48327ffe7ffa8000", + "0xa0680017fff8000", + "0x8", + "0x482480017ffd8000", + "0x1", + "0x48307fff80007ffd", + "0x400080007ff87fff", + "0x10780017fff7fff", + "0x59", + "0x48307ffe80007ffd", + "0x400080007ff97fff", + "0x482a7ffa7ffb8000", + "0x48327ffc7ffb8000", + "0x482480017ff78000", + "0x1", + "0x48307ffd80007ffe", + "0x4824800180007fff", + "0x10", + "0x20680017fff7fff", + "0x40", + "0x480680017fff8000", + "0x53686132353650726f63657373426c6f636b", + "0x400280007ff97fff", + "0x400280017ff97ff1", + "0x400380027ff97ffd", + "0x400280037ff97ffa", + "0x480280057ff98000", + "0x20680017fff7fff", + "0x2e", + "0x480680017fff8000", + "0x10", + "0x480280047ff98000", + "0x482680017ff98000", + "0x7", + "0x480280067ff98000", + "0xa0680017fff8000", + "0x8", + "0x48327ffb7ffa8000", + "0x4824800180007fff", + "0x100000000", + "0x400080007ff47fff", + "0x10780017fff7fff", + "0x11", + "0x48327ffb7ffa8001", + "0x4824800180007fff", + "0xffffffffffffffffffffffff00000000", + "0x400080007ff47ffe", + "0x482480017ff48000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x48127ffc7fff8000", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x48127ff67fff8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffb5", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x7533325f616464204f766572666c6f77", + "0x400080007ffe7fff", + "0x482480017ff28000", + "0x1", + "0x48127ff77fff8000", + "0x48127ff77fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x482480017ff98000", + "0x1", + "0x208b7fff7fff7ffe", + "0x48127ffb7fff8000", + "0x480280047ff98000", + "0x482680017ff98000", + "0x8", + "0x480680017fff8000", + "0x1", + "0x480280067ff98000", + "0x480280077ff98000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x4f7074696f6e3a3a756e77726170206661696c65642e", + "0x400080007ffe7fff", + "0x48127ffb7fff8000", + "0x48127fef7fff8000", + "0x480a7ff97fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x482480017ff98000", + "0x1", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x496e646578206f7574206f6620626f756e6473", + "0x400080007ffe7fff", + "0x482480017ff68000", + "0x1", + "0x48127ff37fff8000", + "0x480a7ff97fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x482480017ff98000", + "0x1", + "0x208b7fff7fff7ffe", + "0x48127ffe7fff8000", + "0x48127ffb7fff8000", + "0x480a7ff97fff8000", + "0x480680017fff8000", + "0x0", + "0x480a7ffd7fff8000", + "0x480a7ffa7fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x4f7574206f6620676173", + "0x400080007ffe7fff", + "0x482680017ff78000", + "0x1", + "0x480a7ff87fff8000", + "0x480a7ff97fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffa7fff8000", + "0x482480017ff98000", + "0x1", + "0x208b7fff7fff7ffe", + "0x4825800180007ff8", + "0x0", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x8", + "0x4825800180007ff9", + "0x0", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0xc5", + "0x480680017fff8000", + "0xfffffffffffffffffffffffffffffffe", + "0x48317fff80017ff9", + "0xa0680017fff7fff", + "0x7", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400280007ff27fff", + "0x10780017fff7fff", + "0x21", + "0x400280007ff27fff", + "0x482680017ff28000", + "0x1", + "0x4825800180007ff9", + "0xfffffffffffffffffffffffffffffffe", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x5", + "0x48127ffe7fff8000", + "0x10780017fff7fff", + "0xb0", + "0x480680017fff8000", + "0xbaaedce6af48a03bbfd25e8cd0364141", + "0x48317fff80017ff8", + "0xa0680017fff7fff", + "0x7", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ffa7fff", + "0x10780017fff7fff", + "0x7", + "0x400080007ffb7fff", + "0x482480017ffb8000", + "0x1", + "0x10780017fff7fff", + "0xa1", + "0x482480017ffa8000", + "0x1", + "0x10780017fff7fff", + "0x4", + "0x482680017ff28000", + "0x1", + "0x4825800180007ffa", + "0x0", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x6", + "0x40780017fff7fff", + "0x1", + "0x10780017fff7fff", + "0x8", + "0x4825800180007ffb", + "0x0", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x7f", + "0x480680017fff8000", + "0xfffffffffffffffffffffffffffffffe", + "0x48317fff80017ffb", + "0xa0680017fff7fff", + "0x7", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ff97fff", + "0x10780017fff7fff", + "0x21", + "0x400080007ffa7fff", + "0x482480017ffa8000", + "0x1", + "0x4825800180007ffb", + "0xfffffffffffffffffffffffffffffffe", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x5", + "0x48127ffe7fff8000", + "0x10780017fff7fff", + "0x6a", + "0x480680017fff8000", + "0xbaaedce6af48a03bbfd25e8cd0364141", + "0x48317fff80017ffa", + "0xa0680017fff7fff", + "0x7", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ffa7fff", + "0x10780017fff7fff", + "0x7", + "0x400080007ffb7fff", + "0x482480017ffb8000", + "0x1", + "0x10780017fff7fff", + "0x5b", + "0x482480017ffa8000", + "0x1", + "0x10780017fff7fff", + "0x4", + "0x482480017ff98000", + "0x1", + "0x480a7ff37fff8000", + "0x480a7ff57fff8000", + "0x480a7ff67fff8000", + "0x480a7ff77fff8000", + "0x480a7ff87fff8000", + "0x480a7ff97fff8000", + "0x480a7ffa7fff8000", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x1104800180018000", + "0x5f6", + "0x20680017fff7ffd", + "0x3e", + "0x20680017fff7ffe", + "0x2d", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x480a7ff47fff8000", + "0x48127ff97fff8000", + "0x48127ffb7fff8000", + "0x1104800180018000", + "0x8ad", + "0x20680017fff7ffd", + "0x1b", + "0x48317fff80007ffd", + "0x20680017fff7fff", + "0xd", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x0", + "0x208b7fff7fff7ffe", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x48127ff87fff8000", + "0x480680017fff8000", + "0x0", + "0x480680017fff8000", + "0x1", + "0x480680017fff8000", + "0x496e76616c6964207369676e6174757265", + "0x208b7fff7fff7ffe", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ff97fff8000", + "0x48127ff97fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", "0x480680017fff8000", "0x4f7074696f6e3a3a756e77726170206661696c65642e", "0x400080007ffe7fff", @@ -12019,7 +12545,7 @@ "0x20680017fff7fff", "0x4", "0x10780017fff7fff", - "0x30d", + "0x2fd", "0x480680017fff8000", "0xffffffff00000000ffffffffffffffff", "0x48317fff80017ffa", @@ -12043,7 +12569,7 @@ "0x2d3", "0x48127d2b7fff8000", "0x10780017fff7fff", - "0x2f8", + "0x2e8", "0x480680017fff8000", "0xbce6faada7179e84f3b9cac2fc632551", "0x48317fff80017ff9", @@ -12060,7 +12586,7 @@ "0x482480017d2b8000", "0x1", "0x10780017fff7fff", - "0x2e7", + "0x2d7", "0x482480017ffa8000", "0x1", "0x10780017fff7fff", @@ -12153,31 +12679,11 @@ "0x1", "0x48307ffe80007fff", "0x20680017fff7fff", - "0x282", + "0x272", "0x480680017fff8000", "0xbce6faada7179e84f3b9cac2fc632551", "0x480680017fff8000", "0xffffffff00000000ffffffffffffffff", - "0x20680017fff7ffe", - "0x14", - "0x20680017fff7fff", - "0x12", - "0x40780017fff7fff", - "0x2bb", - "0x40780017fff7fff", - "0x1", - "0x480680017fff8000", - "0x4f7074696f6e3a3a756e77726170206661696c65642e", - "0x400080007ffe7fff", - "0x48127d3d7fff8000", - "0x480a7ff57fff8000", - "0x480a7ff67fff8000", - "0x480680017fff8000", - "0x1", - "0x48127ffa7fff8000", - "0x482480017ff98000", - "0x1", - "0x208b7fff7fff7ffe", "0xa0680017fff8000", "0x37", "0x480080007ff98001", @@ -12279,7 +12785,7 @@ "0x40317ff97ffb7ffc", "0x40307ffa7ffc7ff1", "0x10780017fff7fff", - "0x1b7", + "0x1bb", "0x4824800180008002", "0xffffffffffffffff0000000000000000", "0x480080097fcb8001", @@ -12526,19 +13032,23 @@ "0x480a7ff87fff8000", "0x48127f597fff8000", "0x48127f597fff8000", - "0x48127f537fff8000", - "0x48127f537fff8000", + "0x480680017fff8000", + "0xbce6faada7179e84f3b9cac2fc632551", + "0x480680017fff8000", + "0xffffffff00000000ffffffffffffffff", "0x1104800180018000", - "0x68a", + "0x726", "0x48127ffd7fff8000", "0x480a7ff97fff8000", "0x480a7ffa7fff8000", "0x48127e5d7fff8000", "0x48127e5d7fff8000", - "0x48127e577fff8000", - "0x48127e577fff8000", + "0x480680017fff8000", + "0xbce6faada7179e84f3b9cac2fc632551", + "0x480680017fff8000", + "0xffffffff00000000ffffffffffffffff", "0x1104800180018000", - "0x681", + "0x71b", "0x480680017fff8000", "0x77037d812deb33a0f4a13945d898c296", "0x480680017fff8000", @@ -12988,22 +13498,7 @@ "0x0", "0x208b7fff7fff7ffe", "0x480680017fff8000", - "0x10000000000000000", - "0x20680017fff7fff", - "0xf", - "0x40780017fff7fff", - "0x1a", - "0x40780017fff7fff", - "0x1", - "0x480680017fff8000", - "0x4f7074696f6e3a3a756e77726170206661696c65642e", - "0x400080007ffe7fff", - "0x480a7ff97fff8000", - "0x48127ffd7fff8000", - "0x482480017ffc8000", - "0x1", - "0x10780017fff7fff", - "0xa8", + "0x10000000000000000", "0x480280007ff98005", "0x480280017ff98005", "0x4824800180047ffe", @@ -13027,7 +13522,7 @@ "0x10000000000000000", "0x400280047ff97fff", "0x10780017fff7fff", - "0x84", + "0x73", "0x482480017ffd8000", "0xffffffffffffffff0000000000000000", "0x400280047ff97fff", @@ -13037,7 +13532,7 @@ "0x10000000000000000", "0x400280057ff97fff", "0x10780017fff7fff", - "0x6c", + "0x5b", "0x482480017ffc8000", "0xffffffffffffffff0000000000000000", "0x400280057ff97fff", @@ -13045,218 +13540,425 @@ "0x400280017ffb7ffa", "0x480680017fff8000", "0x10000000000000000", - "0x482680017ff98000", - "0x6", - "0x480a7ffa7fff8000", - "0x482680017ffb8000", - "0x2", - "0x20680017fff7ffc", - "0xf", - "0x40780017fff7fff", - "0xb", - "0x40780017fff7fff", - "0x1", - "0x480680017fff8000", - "0x4f7074696f6e3a3a756e77726170206661696c65642e", - "0x400080007ffe7fff", - "0x48127ff07fff8000", - "0x48127ffd7fff8000", - "0x482480017ffc8000", - "0x1", - "0x10780017fff7fff", - "0x4b", - "0x480080007ffd8005", - "0x480080017ffc8005", + "0x480280067ff98005", + "0x480280077ff98005", "0x4824800180047ffe", "0x1", - "0x48307ffd7ffe7ff9", - "0x480080027ff97ffd", + "0x48307ffd7ffe7ffc", + "0x480280087ff97ffd", "0xa0680017fff7ffd", "0x6", - "0x482480017ff67ffd", + "0x482480017ff97ffd", "0xffffffffffffffff0000000000000000", "0x10780017fff7fff", "0x4", "0x482480017fff7ffd", "0xffffffffffffffff0000000000000000", - "0x400080037ff67ffc", - "0x40507ffe7ff57ffd", + "0x400280097ff97ffc", + "0x40507ffe7ff87ffd", "0x40317fff7ffd7ffd", + "0x480a7ffa7fff8000", + "0x482680017ffb8000", + "0x2", "0xa0680017fff8000", "0x7", - "0x4824800180007ffd", + "0x4824800180007ffb", "0x10000000000000000", - "0x400080047ff47fff", + "0x4002800a7ff97fff", "0x10780017fff7fff", "0x27", - "0x482480017ffd8000", + "0x482480017ffb8000", "0xffffffffffffffff0000000000000000", - "0x400080047ff47fff", + "0x4002800a7ff97fff", "0xa0680017fff8000", "0x7", - "0x4824800180007ffc", + "0x4824800180007ffa", "0x10000000000000000", - "0x400080057ff27fff", + "0x4002800b7ff97fff", "0x10780017fff7fff", "0x11", - "0x482480017ffc8000", + "0x482480017ffa8000", "0xffffffffffffffff0000000000000000", - "0x400080057ff27fff", + "0x4002800b7ff97fff", "0x40780017fff7fff", "0x5", - "0x400080007fef7ff6", - "0x400080017fef7ff5", - "0x482480017fed8000", + "0x400080007ff67ff4", + "0x400080017ff67ff3", + "0x482680017ff98000", + "0xc", + "0x480680017fff8000", + "0x0", + "0x48127ff37fff8000", + "0x482480017ff38000", + "0x2", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x4f7074696f6e3a3a756e77726170206661696c65642e", + "0x400080007ffe7fff", + "0x482680017ff98000", + "0xc", + "0x48127ffd7fff8000", + "0x482480017ffc8000", + "0x1", + "0x10780017fff7fff", + "0xe", + "0x40780017fff7fff", + "0x2", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x4f7074696f6e3a3a756e77726170206661696c65642e", + "0x400080007ffe7fff", + "0x482680017ff98000", + "0xb", + "0x48127ffd7fff8000", + "0x482480017ffc8000", + "0x1", + "0x48127ffd7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffc7fff8000", + "0x48127ffc7fff8000", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0xe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x4f7074696f6e3a3a756e77726170206661696c65642e", + "0x400080007ffe7fff", + "0x482680017ff98000", "0x6", + "0x48127ffd7fff8000", + "0x482480017ffc8000", + "0x1", + "0x10780017fff7fff", + "0xe", + "0x40780017fff7fff", + "0x10", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x4f7074696f6e3a3a756e77726170206661696c65642e", + "0x400080007ffe7fff", + "0x482680017ff98000", + "0x5", + "0x48127ffd7fff8000", + "0x482480017ffc8000", + "0x1", + "0x48127ffd7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffc7fff8000", + "0x48127ffc7fff8000", + "0x208b7fff7fff7ffe", + "0xa0680017fff8000", + "0x7", + "0x482680017ffa8000", + "0xfffffffffffffffffffffffffffff740", + "0x400280007ff97fff", + "0x10780017fff7fff", + "0x40", + "0x4825800180007ffa", + "0x8c0", + "0x400280007ff97fff", + "0x482680017ff98000", + "0x1", + "0x4825800180007ffd", + "0x1", + "0x20680017fff7fff", + "0x4", + "0x10780017fff7fff", + "0x2a", + "0x480680017fff8000", + "0x0", + "0x400280007ffc7fff", + "0x480680017fff8000", + "0x1", + "0x480a7ffb7fff8000", + "0x482680017ffc8000", + "0x1", + "0x48317ffd80017ffd", + "0xa0680017fff7fff", + "0x7", + "0x482480017fff8000", + "0x100000000000000000000000000000000", + "0x400080007ff77fff", + "0x10780017fff7fff", + "0xc", + "0x400080007ff87fff", + "0x482480017ff88000", + "0x1", + "0x48127ff67fff8000", + "0x48127ffa7fff8000", + "0x48127ffa7fff8000", + "0x48127ffb7fff8000", + "0x1104800180018000", + "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffd8", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x7533325f737562204f766572666c6f77", + "0x400080007ffe7fff", + "0x482480017ff58000", + "0x1", + "0x48127ff37fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffb7fff8000", + "0x482480017ffa8000", + "0x1", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x8000000000000000", + "0x400280007ffc7fff", + "0x48127ffd7fff8000", + "0x48127ffb7fff8000", + "0x480680017fff8000", + "0x0", + "0x480a7ffb7fff8000", + "0x482680017ffc8000", + "0x1", + "0x208b7fff7fff7ffe", + "0x40780017fff7fff", + "0x1", + "0x480680017fff8000", + "0x4f7574206f6620676173", + "0x400080007ffe7fff", + "0x482680017ff98000", + "0x1", + "0x480a7ffa7fff8000", + "0x480680017fff8000", + "0x1", + "0x48127ffb7fff8000", + "0x482480017ffa8000", + "0x1", + "0x208b7fff7fff7ffe", + "0x20780017fff7ffd", + "0x7", + "0x40780017fff7fff", + "0x39", + "0x480a7ffb7fff8000", + "0x480a7ffc7fff8000", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x0", + "0x400280007ffc7fff", + "0x4825800180007ffd", + "0x1", + "0x480a7ffb7fff8000", + "0x482680017ffc8000", + "0x1", + "0x20680017fff7ffd", + "0x7", + "0x40780017fff7fff", + "0x35", + "0x48127fc97fff8000", + "0x48127fc97fff8000", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x0", + "0x400080007ffe7fff", + "0x4825800180007ffd", + "0x2", + "0x48127ffc7fff8000", + "0x482480017ffc8000", + "0x1", + "0x20680017fff7ffd", + "0x7", + "0x40780017fff7fff", + "0x31", + "0x48127fcd7fff8000", + "0x48127fcd7fff8000", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x0", + "0x400080007ffe7fff", + "0x4825800180007ffd", + "0x3", + "0x48127ffc7fff8000", + "0x482480017ffc8000", + "0x1", + "0x20680017fff7ffd", + "0x7", + "0x40780017fff7fff", + "0x2d", + "0x48127fd17fff8000", + "0x48127fd17fff8000", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x0", + "0x400080007ffe7fff", + "0x4825800180007ffd", + "0x4", + "0x48127ffc7fff8000", + "0x482480017ffc8000", + "0x1", + "0x20680017fff7ffd", + "0x7", + "0x40780017fff7fff", + "0x29", + "0x48127fd57fff8000", + "0x48127fd57fff8000", + "0x208b7fff7fff7ffe", "0x480680017fff8000", "0x0", - "0x48127fec7fff8000", - "0x482480017fec8000", - "0x2", - "0x208b7fff7fff7ffe", - "0x40780017fff7fff", + "0x400080007ffe7fff", + "0x4825800180007ffd", + "0x5", + "0x48127ffc7fff8000", + "0x482480017ffc8000", "0x1", + "0x20680017fff7ffd", + "0x7", + "0x40780017fff7fff", + "0x25", + "0x48127fd97fff8000", + "0x48127fd97fff8000", + "0x208b7fff7fff7ffe", "0x480680017fff8000", - "0x4f7074696f6e3a3a756e77726170206661696c65642e", + "0x0", "0x400080007ffe7fff", - "0x482480017ff08000", + "0x4825800180007ffd", "0x6", - "0x48127ffd7fff8000", + "0x48127ffc7fff8000", "0x482480017ffc8000", "0x1", - "0x10780017fff7fff", - "0xe", - "0x40780017fff7fff", - "0x2", + "0x20680017fff7ffd", + "0x7", "0x40780017fff7fff", - "0x1", + "0x21", + "0x48127fdd7fff8000", + "0x48127fdd7fff8000", + "0x208b7fff7fff7ffe", "0x480680017fff8000", - "0x4f7074696f6e3a3a756e77726170206661696c65642e", + "0x0", "0x400080007ffe7fff", - "0x482480017ff08000", - "0x5", - "0x48127ffd7fff8000", + "0x4825800180007ffd", + "0x7", + "0x48127ffc7fff8000", "0x482480017ffc8000", "0x1", - "0x48127ffd7fff8000", - "0x480680017fff8000", - "0x1", - "0x48127ffc7fff8000", - "0x48127ffc7fff8000", - "0x208b7fff7fff7ffe", - "0x40780017fff7fff", - "0xf", + "0x20680017fff7ffd", + "0x7", "0x40780017fff7fff", - "0x1", + "0x1d", + "0x48127fe17fff8000", + "0x48127fe17fff8000", + "0x208b7fff7fff7ffe", "0x480680017fff8000", - "0x4f7074696f6e3a3a756e77726170206661696c65642e", + "0x0", "0x400080007ffe7fff", - "0x482680017ff98000", - "0x6", - "0x48127ffd7fff8000", + "0x4825800180007ffd", + "0x8", + "0x48127ffc7fff8000", "0x482480017ffc8000", "0x1", - "0x10780017fff7fff", - "0xe", - "0x40780017fff7fff", - "0x11", + "0x20680017fff7ffd", + "0x7", "0x40780017fff7fff", - "0x1", + "0x19", + "0x48127fe57fff8000", + "0x48127fe57fff8000", + "0x208b7fff7fff7ffe", "0x480680017fff8000", - "0x4f7074696f6e3a3a756e77726170206661696c65642e", + "0x0", "0x400080007ffe7fff", - "0x482680017ff98000", - "0x5", - "0x48127ffd7fff8000", + "0x4825800180007ffd", + "0x9", + "0x48127ffc7fff8000", "0x482480017ffc8000", "0x1", - "0x48127ffd7fff8000", - "0x480680017fff8000", - "0x1", - "0x48127ffc7fff8000", - "0x48127ffc7fff8000", - "0x208b7fff7fff7ffe", - "0xa0680017fff8000", + "0x20680017fff7ffd", "0x7", - "0x482680017ffa8000", - "0xfffffffffffffffffffffffffffff740", - "0x400280007ff97fff", - "0x10780017fff7fff", - "0x40", - "0x4825800180007ffa", - "0x8c0", - "0x400280007ff97fff", - "0x482680017ff98000", - "0x1", + "0x40780017fff7fff", + "0x15", + "0x48127fe97fff8000", + "0x48127fe97fff8000", + "0x208b7fff7fff7ffe", + "0x480680017fff8000", + "0x0", + "0x400080007ffe7fff", "0x4825800180007ffd", + "0xa", + "0x48127ffc7fff8000", + "0x482480017ffc8000", "0x1", - "0x20680017fff7fff", - "0x4", - "0x10780017fff7fff", - "0x2a", + "0x20680017fff7ffd", + "0x7", + "0x40780017fff7fff", + "0x11", + "0x48127fed7fff8000", + "0x48127fed7fff8000", + "0x208b7fff7fff7ffe", "0x480680017fff8000", "0x0", - "0x400280007ffc7fff", - "0x480680017fff8000", - "0x1", - "0x480a7ffb7fff8000", - "0x482680017ffc8000", + "0x400080007ffe7fff", + "0x4825800180007ffd", + "0xb", + "0x48127ffc7fff8000", + "0x482480017ffc8000", "0x1", - "0x48317ffd80017ffd", - "0xa0680017fff7fff", + "0x20680017fff7ffd", "0x7", - "0x482480017fff8000", - "0x100000000000000000000000000000000", - "0x400080007ff77fff", - "0x10780017fff7fff", - "0xc", - "0x400080007ff87fff", - "0x482480017ff88000", - "0x1", - "0x48127ff67fff8000", - "0x48127ffa7fff8000", - "0x48127ffa7fff8000", - "0x48127ffb7fff8000", - "0x1104800180018000", - "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffd8", - "0x208b7fff7fff7ffe", "0x40780017fff7fff", - "0x1", + "0xd", + "0x48127ff17fff8000", + "0x48127ff17fff8000", + "0x208b7fff7fff7ffe", "0x480680017fff8000", - "0x7533325f737562204f766572666c6f77", + "0x0", "0x400080007ffe7fff", - "0x482480017ff58000", + "0x4825800180007ffd", + "0xc", + "0x48127ffc7fff8000", + "0x482480017ffc8000", "0x1", - "0x48127ff37fff8000", + "0x20680017fff7ffd", + "0x7", + "0x40780017fff7fff", + "0x9", + "0x48127ff57fff8000", + "0x48127ff57fff8000", + "0x208b7fff7fff7ffe", "0x480680017fff8000", + "0x0", + "0x400080007ffe7fff", + "0x4825800180007ffd", + "0xd", + "0x48127ffc7fff8000", + "0x482480017ffc8000", "0x1", - "0x48127ffb7fff8000", - "0x482480017ffa8000", - "0x1", + "0x20680017fff7ffd", + "0x7", + "0x40780017fff7fff", + "0x5", + "0x48127ff97fff8000", + "0x48127ff97fff8000", "0x208b7fff7fff7ffe", "0x480680017fff8000", - "0x8000000000000000", - "0x400280007ffc7fff", - "0x48127ffd7fff8000", - "0x48127ffb7fff8000", - "0x480680017fff8000", "0x0", - "0x480a7ffb7fff8000", - "0x482680017ffc8000", + "0x400080007ffe7fff", + "0x4825800180007ffd", + "0xe", + "0x48127ffc7fff8000", + "0x482480017ffc8000", "0x1", - "0x208b7fff7fff7ffe", + "0x20680017fff7ffd", + "0x7", "0x40780017fff7fff", "0x1", + "0x48127ffd7fff8000", + "0x48127ffd7fff8000", + "0x208b7fff7fff7ffe", "0x480680017fff8000", - "0x4f7574206f6620676173", + "0x0", "0x400080007ffe7fff", - "0x482680017ff98000", - "0x1", - "0x480a7ffa7fff8000", - "0x480680017fff8000", - "0x1", - "0x48127ffb7fff8000", - "0x482480017ffa8000", + "0x48127ffd7fff8000", + "0x482480017ffd8000", "0x1", "0x208b7fff7fff7ffe", "0x480680017fff8000", @@ -13268,14 +13970,14 @@ "0x400380047ff67ffd", "0x480280067ff68000", "0x20680017fff7fff", - "0x2bf", + "0x2af", "0x480280077ff68000", "0x480280087ff68000", "0x480280057ff68000", "0x482680017ff68000", "0x9", "0x20680017fff7ffc", - "0x2ac", + "0x29c", "0x480680017fff8000", "0x29bfcdb2dce28d959f2815b16f81798", "0x480680017fff8000", @@ -13294,38 +13996,18 @@ "0x400080057ffa7ffe", "0x480080077ffa8000", "0x20680017fff7fff", - "0x28a", + "0x27a", "0x480080087ff98000", "0x480080097ff88000", "0x480080067ff78000", "0x482480017ff68000", "0xa", "0x20680017fff7ffc", - "0x275", + "0x265", "0x480680017fff8000", "0xbaaedce6af48a03bbfd25e8cd0364141", "0x480680017fff8000", "0xfffffffffffffffffffffffffffffffe", - "0x20680017fff7ffe", - "0x14", - "0x20680017fff7fff", - "0x12", - "0x40780017fff7fff", - "0x2bb", - "0x40780017fff7fff", - "0x1", - "0x480680017fff8000", - "0x4f7074696f6e3a3a756e77726170206661696c65642e", - "0x400080007ffe7fff", - "0x480a7ff47fff8000", - "0x48127d3e7fff8000", - "0x48127d3e7fff8000", - "0x480680017fff8000", - "0x1", - "0x48127ffa7fff8000", - "0x482480017ff98000", - "0x1", - "0x208b7fff7fff7ffe", "0xa0680017fff8000", "0x37", "0x480280007ff48001", @@ -13427,7 +14109,7 @@ "0x40317ff97ffb7ffa", "0x40307ffa7ffc7ff1", "0x10780017fff7fff", - "0x1aa", + "0x1ae", "0x4824800180008002", "0xffffffffffffffff0000000000000000", "0x480280097ff48001", @@ -13674,10 +14356,12 @@ "0x480a7ff87fff8000", "0x48127f597fff8000", "0x48127f597fff8000", - "0x48127f537fff8000", - "0x48127f537fff8000", + "0x480680017fff8000", + "0xbaaedce6af48a03bbfd25e8cd0364141", + "0x480680017fff8000", + "0xfffffffffffffffffffffffffffffffe", "0x1104800180018000", - "0x20e", + "0x1fa", "0x480680017fff8000", "0xfffffffffffffffffffffffffffffffe", "0x48307ffe80017fff", @@ -13750,16 +14434,18 @@ "0x480680017fff8000", "0x1", "0x20680017fff7fff", - "0x57", + "0x59", "0x48127ffc7fff8000", "0x480a7ffb7fff8000", "0x480a7ffc7fff8000", "0x48127e4a7fff8000", "0x48127e4a7fff8000", - "0x48127e447fff8000", - "0x48127e447fff8000", + "0x480680017fff8000", + "0xbaaedce6af48a03bbfd25e8cd0364141", + "0x480680017fff8000", + "0xfffffffffffffffffffffffffffffffe", "0x1104800180018000", - "0x1bc", + "0x1a6", "0x48127f017fff8000", "0x48127f017fff8000", "0x480680017fff8000", @@ -13990,34 +14676,32 @@ "0x400380027ffc7ffd", "0x480280047ffc8000", "0x20680017fff7fff", - "0xcb", - "0x40780017fff7fff", - "0x1", + "0xb5", "0x480280057ffc8000", "0x480280067ffc8000", - "0x400080007ffd7ffe", - "0x400080017ffd7fff", "0x480280077ffc8000", "0x480280087ffc8000", - "0x400080027ffb7ffe", - "0x400080037ffb7fff", + "0x4800800080007ffc", + "0x400080017fff7ffc", + "0x400080027fff7ffd", + "0x400080037fff7ffe", "0x40780017fff7fff", "0x1", "0x480a7ff97fff8000", "0x480280037ffc8000", "0x480a7ffb7fff8000", - "0x48127ff77fff8000", - "0x482480017ff68000", + "0x48127ffb7fff8000", + "0x482480017ffa8000", "0x4", "0x48127ffa7fff8000", "0x48127ff97fff8000", - "0x402780017ffc8000", + "0x402780017ffc8001", "0x9", "0x1104800180018000", - "0x2e5", - "0x40137ffa7fff8001", + "0x2d1", + "0x40137ffa7fff8000", "0x20680017fff7ffb", - "0xa2", + "0x8e", "0x48127ff87fff8000", "0x48127ff87fff8000", "0x48127ffc7fff8000", @@ -14027,165 +14711,145 @@ "0x480680017fff8000", "0x0", "0x1104800180018000", - "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffff5fe", + "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffff3d2", "0x20680017fff7ffd", - "0x8f", + "0x7b", "0x480680017fff8000", "0x4b656363616b", - "0x4002800080007fff", - "0x4002800180007ffb", - "0x4002800280007ffd", - "0x4002800380007ffe", - "0x4802800580008000", - "0x20680017fff7fff", - "0x7e", - "0x4802800780008000", "0x4002800080017fff", + "0x4002800180017ffb", + "0x4002800280017ffd", + "0x4002800380017ffe", + "0x4802800580018000", + "0x20680017fff7fff", + "0x6a", + "0x4802800780018000", + "0x4002800080007fff", "0x480680017fff8000", "0xff00ff00ff00ff00ff00ff00ff00ff", - "0x4002800180017fff", - "0x4802800280018000", + "0x4002800180007fff", + "0x4802800280008000", "0x484480017fff8000", "0xffff", "0x48307fff7ffc8000", - "0x4002800580017fff", + "0x4002800580007fff", "0x480680017fff8000", "0xffff0000ffff0000ffff0000ffff00", - "0x4002800680017fff", - "0x4802800780018000", + "0x4002800680007fff", + "0x4802800780008000", "0x484480017fff8000", "0xffffffff", "0x48307fff7ffc8000", - "0x4002800a80017fff", + "0x4002800a80007fff", "0x480680017fff8000", "0xffffffff00000000ffffffff000000", - "0x4002800b80017fff", - "0x4802800c80018000", + "0x4002800b80007fff", + "0x4802800c80008000", "0x484480017fff8000", "0xffffffffffffffff", "0x48307fff7ffc8000", - "0x4002800f80017fff", + "0x4002800f80007fff", "0x480680017fff8000", "0xffffffffffffffff00000000000000", - "0x4002801080017fff", - "0x4802801180018000", + "0x4002801080007fff", + "0x4802801180008000", "0x484480017fff8000", "0xffffffffffffffffffffffffffffffff", "0x48307fff7ffc8000", - "0x4802800680008000", - "0x4002801480017fff", + "0x4802800680018000", + "0x4002801480007fff", "0x480680017fff8000", "0xff00ff00ff00ff00ff00ff00ff00ff", - "0x4002801580017fff", - "0x4802801680018000", + "0x4002801580007fff", + "0x4802801680008000", "0x484480017fff8000", "0xffff", "0x48307fff7ffc8000", - "0x4002801980017fff", + "0x4002801980007fff", "0x480680017fff8000", "0xffff0000ffff0000ffff0000ffff00", - "0x4002801a80017fff", - "0x4802801b80018000", + "0x4002801a80007fff", + "0x4802801b80008000", "0x484480017fff8000", "0xffffffff", "0x48307fff7ffc8000", - "0x4002801e80017fff", + "0x4002801e80007fff", "0x480680017fff8000", "0xffffffff00000000ffffffff000000", - "0x4002801f80017fff", - "0x4802802080018000", + "0x4002801f80007fff", + "0x4802802080008000", "0x484480017fff8000", "0xffffffffffffffff", "0x48307fff7ffc8000", - "0x4002802380017fff", + "0x4002802380007fff", "0x480680017fff8000", "0xffffffffffffffff00000000000000", - "0x4002802480017fff", - "0x4802802580018000", + "0x4002802480007fff", + "0x4802802580008000", "0x484480017fff8000", "0xffffffffffffffffffffffffffffffff", "0x48307fff7ffc8000", - "0x480680017fff8000", - "0x100000000", - "0x4802800480008000", - "0x4826800180008000", - "0x8", - "0x484480017feb8000", - "0x800000000000010fffffffffffffff7ffffffffffffef000000000000000001", - "0x4826800180018000", - "0x28", - "0x484480017ffa8000", + "0x484480017fff8000", "0x800000000000010fffffffffffffff7ffffffffffffef000000000000000001", - "0x20680017fff7ffa", - "0x11", - "0x40780017fff7fff", - "0x1", - "0x480680017fff8000", - "0x4469766973696f6e2062792030", - "0x400080007ffe7fff", - "0x48127fcf7fff8000", - "0x48127ff87fff8000", - "0x48127ffa7fff8000", - "0x48127ff77fff8000", "0x480680017fff8000", - "0x1", - "0x48127ff97fff8000", - "0x482480017ff88000", - "0x1", - "0x208b7fff7fff7ffe", - "0x480080007fd18005", - "0x480080017fd08005", + "0x100000000", + "0x480080007fd58005", + "0x480080017fd48005", "0x4824800180047ffe", "0x1", - "0x48307ffd7ffe7ff7", - "0x480080027fcd7ffd", + "0x48307ffd7ffe7ffc", + "0x480080027fd17ffd", "0xa0680017fff7ffd", "0x6", - "0x482480017ff47ffd", + "0x482480017ff97ffd", "0xffffffffffffffff0000000000000000", "0x10780017fff7fff", "0x4", "0x482480017fff7ffd", "0xffffffffffffffff0000000000000000", - "0x400080037fca7ffc", - "0x40507ffe7ff37ffd", - "0x40307fff7ffd7ff8", + "0x400080037fce7ffc", + "0x40507ffe7ff87ffd", + "0x40307fff7ffd7ff7", "0x484480017fff8000", "0x100000000000000000000000000000000", - "0x482480017fc98000", + "0x484480017fe48000", + "0x800000000000010fffffffffffffff7ffffffffffffef000000000000000001", + "0x482480017fcc8000", "0x4", - "0x48127ff27fff8000", - "0x48127ff47fff8000", - "0x48127ff17fff8000", + "0x4802800480018000", + "0x4826800180008000", + "0x28", + "0x4826800180018000", + "0x8", "0x480680017fff8000", "0x0", "0x480680017fff8000", "0x0", - "0x48307fef7ff98000", + "0x48307ff97ff88000", "0x208b7fff7fff7ffe", "0x48127ff97fff8000", - "0x4802800480008000", - "0x4826800180008000", + "0x4802800480018000", + "0x4826800180018000", "0x8", - "0x4802800680008000", - "0x4802800780008000", + "0x4802800680018000", + "0x4802800780018000", "0x10780017fff7fff", "0xe", "0x48127ffb7fff8000", "0x48127ffb7fff8000", - "0x480a80007fff8000", + "0x480a80017fff8000", "0x48127ffb7fff8000", "0x48127ffb7fff8000", "0x10780017fff7fff", "0x7", "0x48127ff87fff8000", "0x48127ff87fff8000", - "0x480a80007fff8000", + "0x480a80017fff8000", "0x48127ffb7fff8000", "0x48127ffb7fff8000", "0x48127ffb7fff8000", "0x48127ffb7fff8000", - "0x480a80017fff8000", + "0x480a80007fff8000", "0x48127ffa7fff8000", "0x480680017fff8000", "0x1", @@ -14755,15 +15419,15 @@ "0x48127f8d7fff8000", "0x208b7fff7fff7ffe", "0x1104800180018000", - "0x170", + "0x159", "0x482480017fff8000", - "0x16f", + "0x158", "0x480080007fff8000", "0x480080017fff8000", "0x484480017fff8000", "0x8", "0x482480017fff8000", - "0x3c32", + "0x3b06", "0xa0680017fff8000", "0x8", "0x48317ffe80007ff8", @@ -14808,17 +15472,17 @@ "0x20680017fff7ffd", "0xc", "0x48127ffb7fff8000", - "0x48127fa77fff8000", - "0x48127ffa7fff8000", - "0x48127fa87fff8000", "0x48127fa87fff8000", + "0x48127ffa7fff8000", + "0x48127fa97fff8000", + "0x48127fa97fff8000", "0x48127ff97fff8000", "0x48127ff97fff8000", "0x1104800180018000", "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffc5", "0x208b7fff7fff7ffe", "0x48127ffb7fff8000", - "0x48127fa77fff8000", + "0x48127fa87fff8000", "0x48127ffa7fff8000", "0x480680017fff8000", "0x1", @@ -14890,172 +15554,140 @@ "0x484480017fff8000", "0xffffffffffffffffffffffffffffffff", "0x48307fff7ffc8000", - "0x480680017fff8000", - "0x10000000000000000", - "0x482680017ff98000", - "0x14", - "0x484480017ffd8000", + "0x484480017fff8000", "0x800000000000010fffffffffffffff7ffffffffffffef000000000000000001", - "0x20680017fff7ffd", - "0xf", - "0x40780017fff7fff", - "0x2c", - "0x40780017fff7fff", - "0x1", "0x480680017fff8000", - "0x4f7074696f6e3a3a756e77726170206661696c65642e", - "0x400080007ffe7fff", - "0x480a7ff87fff8000", - "0x48127ffd7fff8000", - "0x482480017ffc8000", - "0x1", - "0x10780017fff7fff", - "0xce", + "0x10000000000000000", "0x480280007ff88005", "0x480280017ff88005", "0x4824800180047ffe", "0x1", - "0x48307ffd7ffe7ffa", + "0x48307ffd7ffe7ffc", "0x480280027ff87ffd", "0xa0680017fff7ffd", "0x6", - "0x482480017ff77ffd", + "0x482480017ff97ffd", "0xffffffffffffffff0000000000000000", "0x10780017fff7fff", "0x4", "0x482480017fff7ffd", "0xffffffffffffffff0000000000000000", "0x400280037ff87ffc", - "0x40507ffe7ff67ffd", - "0x40307fff7ffd7ff8", + "0x40507ffe7ff87ffd", + "0x40307fff7ffd7ff7", + "0x482680017ff98000", + "0x14", "0xa0680017fff8000", "0x7", - "0x4824800180007ffd", + "0x4824800180007ffc", "0x10000000000000000", "0x400280047ff87fff", "0x10780017fff7fff", - "0xaa", - "0x482480017ffd8000", + "0x99", + "0x482480017ffc8000", "0xffffffffffffffff0000000000000000", "0x400280047ff87fff", "0xa0680017fff8000", "0x7", - "0x4824800180007ffc", + "0x4824800180007ffb", "0x10000000000000000", "0x400280057ff87fff", "0x10780017fff7fff", - "0x92", - "0x482480017ffc8000", + "0x81", + "0x482480017ffb8000", "0xffffffffffffffff0000000000000000", "0x400280057ff87fff", - "0x400280007ffb7ffb", - "0x400280017ffb7ffa", - "0x400180007ff37ffc", + "0x400280007ffb7ffa", + "0x400280017ffb7ff9", + "0x400180007ffb7ffc", "0x480680017fff8000", "0xff00ff00ff00ff00ff00ff00ff00ff", - "0x400080017ff27fff", - "0x480080027ff28000", + "0x400080017ffa7fff", + "0x480080027ffa8000", "0x484480017fff8000", "0xffff", "0x48327fff7ffc8000", - "0x400080057fef7fff", + "0x400080057ff77fff", "0x480680017fff8000", "0xffff0000ffff0000ffff0000ffff00", - "0x400080067fee7fff", - "0x480080077fee8000", + "0x400080067ff67fff", + "0x480080077ff68000", "0x484480017fff8000", "0xffffffff", "0x48307fff7ffc8000", - "0x4000800a7feb7fff", + "0x4000800a7ff37fff", "0x480680017fff8000", "0xffffffff00000000ffffffff000000", - "0x4000800b7fea7fff", - "0x4800800c7fea8000", + "0x4000800b7ff27fff", + "0x4800800c7ff28000", "0x484480017fff8000", "0xffffffffffffffff", "0x48307fff7ffc8000", - "0x4000800f7fe77fff", + "0x4000800f7fef7fff", "0x480680017fff8000", "0xffffffffffffffff00000000000000", - "0x400080107fe67fff", - "0x480080117fe68000", + "0x400080107fee7fff", + "0x480080117fee8000", "0x484480017fff8000", "0xffffffffffffffffffffffffffffffff", "0x48307fff7ffc8000", - "0x480680017fff8000", - "0x10000000000000000", - "0x482680017ff88000", - "0x6", - "0x480a7ffa7fff8000", - "0x482680017ffb8000", - "0x2", - "0x482480017fdf8000", - "0x14", - "0x484480017ffa8000", + "0x484480017fff8000", "0x800000000000010fffffffffffffff7ffffffffffffef000000000000000001", - "0x20680017fff7ffa", - "0xf", - "0x40780017fff7fff", - "0xb", - "0x40780017fff7fff", - "0x1", "0x480680017fff8000", - "0x4f7074696f6e3a3a756e77726170206661696c65642e", - "0x400080007ffe7fff", - "0x48127fee7fff8000", - "0x48127ffd7fff8000", - "0x482480017ffc8000", - "0x1", - "0x10780017fff7fff", - "0x4c", - "0x480080007ffb8005", - "0x480080017ffa8005", + "0x10000000000000000", + "0x480280067ff88005", + "0x480280077ff88005", "0x4824800180047ffe", "0x1", - "0x48307ffd7ffe7ff7", - "0x480080027ff77ffd", + "0x48307ffd7ffe7ffc", + "0x480280087ff87ffd", "0xa0680017fff7ffd", "0x6", - "0x482480017ff47ffd", + "0x482480017ff97ffd", "0xffffffffffffffff0000000000000000", "0x10780017fff7fff", "0x4", "0x482480017fff7ffd", "0xffffffffffffffff0000000000000000", - "0x400080037ff47ffc", - "0x40507ffe7ff37ffd", - "0x40307fff7ffd7ff8", + "0x400280097ff87ffc", + "0x40507ffe7ff87ffd", + "0x40307fff7ffd7ff7", + "0x480a7ffa7fff8000", + "0x482680017ffb8000", + "0x2", + "0x482480017fe08000", + "0x14", "0xa0680017fff8000", "0x7", - "0x4824800180007ffd", + "0x4824800180007ffa", "0x10000000000000000", - "0x400080047ff27fff", + "0x4002800a7ff87fff", "0x10780017fff7fff", "0x28", - "0x482480017ffd8000", + "0x482480017ffa8000", "0xffffffffffffffff0000000000000000", - "0x400080047ff27fff", + "0x4002800a7ff87fff", "0xa0680017fff8000", "0x7", - "0x4824800180007ffc", + "0x4824800180007ff9", "0x10000000000000000", - "0x400080057ff07fff", + "0x4002800b7ff87fff", "0x10780017fff7fff", "0x12", - "0x482480017ffc8000", + "0x482480017ff98000", "0xffffffffffffffff0000000000000000", - "0x400080057ff07fff", + "0x4002800b7ff87fff", "0x40780017fff7fff", "0x5", - "0x400080007fed7ff6", - "0x400080017fed7ff5", - "0x482480017feb8000", - "0x6", - "0x48127fed7fff8000", + "0x400080007ff57ff3", + "0x400080017ff57ff2", + "0x482680017ff88000", + "0xc", + "0x48127ff57fff8000", "0x480680017fff8000", "0x0", - "0x48127fe97fff8000", - "0x482480017fe98000", + "0x48127ff17fff8000", + "0x482480017ff18000", "0x2", "0x208b7fff7fff7ffe", "0x40780017fff7fff", @@ -15063,8 +15695,8 @@ "0x480680017fff8000", "0x4f7074696f6e3a3a756e77726170206661696c65642e", "0x400080007ffe7fff", - "0x482480017fee8000", - "0x6", + "0x482680017ff88000", + "0xc", "0x48127ffd7fff8000", "0x482480017ffc8000", "0x1", @@ -15077,20 +15709,20 @@ "0x480680017fff8000", "0x4f7074696f6e3a3a756e77726170206661696c65642e", "0x400080007ffe7fff", - "0x482480017fee8000", - "0x5", + "0x482680017ff88000", + "0xb", "0x48127ffd7fff8000", "0x482480017ffc8000", "0x1", "0x48127ffd7fff8000", - "0x48127fed7fff8000", + "0x48127ff57fff8000", "0x480680017fff8000", "0x1", "0x48127ffb7fff8000", "0x48127ffb7fff8000", "0x208b7fff7fff7ffe", "0x40780017fff7fff", - "0x21", + "0x20", "0x40780017fff7fff", "0x1", "0x480680017fff8000", @@ -15104,7 +15736,7 @@ "0x10780017fff7fff", "0xe", "0x40780017fff7fff", - "0x23", + "0x22", "0x40780017fff7fff", "0x1", "0x480680017fff8000", @@ -15116,12 +15748,21 @@ "0x482480017ffc8000", "0x1", "0x48127ffd7fff8000", - "0x48127fcc7fff8000", + "0x48127fd57fff8000", "0x480680017fff8000", "0x1", "0x48127ffb7fff8000", "0x48127ffb7fff8000", - "0x208b7fff7fff7ffe" + "0x208b7fff7fff7ffe", + "0x208b7fff7fff7ffe", + "0x6a09e667", + "0xbb67ae85", + "0x3c6ef372", + "0xa54ff53a", + "0x510e527f", + "0x9b05688c", + "0x1f83d9ab", + "0x5be0cd19" ], "bytecode_segment_lengths": [ 241, @@ -15137,6 +15778,7 @@ 111, 341, 104, + 104, 113, 104, 181, @@ -15162,9 +15804,10 @@ 72, 190, 212, - 369, - 411, - 360, + 84, + 352, + 393, + 335, 48, 44, 195, @@ -15177,17 +15820,21 @@ 129, 151, 89, - 321, + 306, + 258, + 155, 220, - 807, + 791, 176, - 189, + 157, 83, - 722, - 221, + 224, + 706, + 199, 552, 104, - 264 + 232, + 9 ], "hints": [ [ @@ -17584,7 +18231,103 @@ ] ], [ - 2908, + 2908, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 2929, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 2943, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 2958, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x0" + }, + "rhs": { + "Deref": { + "register": "FP", + "offset": -6 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 2975, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 2994, + [ + { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x7b3e" + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -7 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 3014, [ { "AllocSegment": { @@ -17597,7 +18340,7 @@ ] ], [ - 2929, + 3032, [ { "AllocSegment": { @@ -17610,7 +18353,7 @@ ] ], [ - 2943, + 3047, [ { "AllocSegment": { @@ -17623,7 +18366,7 @@ ] ], [ - 2958, + 3062, [ { "TestLessThanOrEqual": { @@ -17645,7 +18388,7 @@ ] ], [ - 2975, + 3079, [ { "AllocSegment": { @@ -17658,12 +18401,12 @@ ] ], [ - 2994, + 3098, [ { "TestLessThanOrEqual": { "lhs": { - "Immediate": "0x7ba2" + "Immediate": "0x399e" }, "rhs": { "Deref": { @@ -17680,7 +18423,7 @@ ] ], [ - 3014, + 3118, [ { "AllocSegment": { @@ -17693,7 +18436,7 @@ ] ], [ - 3032, + 3136, [ { "AllocSegment": { @@ -17706,7 +18449,7 @@ ] ], [ - 3047, + 3151, [ { "AllocSegment": { @@ -17719,7 +18462,7 @@ ] ], [ - 3062, + 3166, [ { "TestLessThanOrEqual": { @@ -17741,7 +18484,7 @@ ] ], [ - 3079, + 3183, [ { "AllocSegment": { @@ -17754,7 +18497,7 @@ ] ], [ - 3104, + 3208, [ { "TestLessThanOrEqual": { @@ -17779,7 +18522,7 @@ ] ], [ - 3123, + 3227, [ { "AllocSegment": { @@ -17792,7 +18535,7 @@ ] ], [ - 3143, + 3247, [ { "AllocSegment": { @@ -17805,7 +18548,7 @@ ] ], [ - 3159, + 3263, [ { "AllocSegment": { @@ -17818,7 +18561,7 @@ ] ], [ - 3175, + 3279, [ { "TestLessThanOrEqual": { @@ -17840,7 +18583,7 @@ ] ], [ - 3192, + 3296, [ { "AllocSegment": { @@ -17853,12 +18596,12 @@ ] ], [ - 3211, + 3315, [ { "TestLessThanOrEqual": { "lhs": { - "Immediate": "0x38400" + "Immediate": "0x382d4" }, "rhs": { "Deref": { @@ -17875,7 +18618,7 @@ ] ], [ - 3231, + 3335, [ { "AllocSegment": { @@ -17888,7 +18631,7 @@ ] ], [ - 3249, + 3353, [ { "AllocSegment": { @@ -17901,7 +18644,7 @@ ] ], [ - 3264, + 3368, [ { "AllocSegment": { @@ -17914,7 +18657,7 @@ ] ], [ - 3279, + 3383, [ { "TestLessThanOrEqual": { @@ -17936,7 +18679,7 @@ ] ], [ - 3338, + 3442, [ { "AllocSegment": { @@ -17949,7 +18692,7 @@ ] ], [ - 3357, + 3461, [ { "TestLessThanOrEqual": { @@ -17971,7 +18714,7 @@ ] ], [ - 3374, + 3478, [ { "AllocSegment": { @@ -17984,7 +18727,7 @@ ] ], [ - 3388, + 3492, [ { "AllocSegment": { @@ -17997,7 +18740,7 @@ ] ], [ - 3402, + 3506, [ { "AllocSegment": { @@ -18010,7 +18753,7 @@ ] ], [ - 3417, + 3521, [ { "AllocSegment": { @@ -18023,7 +18766,7 @@ ] ], [ - 3431, + 3535, [ { "AllocSegment": { @@ -18036,7 +18779,7 @@ ] ], [ - 3445, + 3549, [ { "AllocSegment": { @@ -18049,7 +18792,7 @@ ] ], [ - 3460, + 3564, [ { "TestLessThanOrEqual": { @@ -18071,7 +18814,7 @@ ] ], [ - 3493, + 3597, [ { "AllocSegment": { @@ -18084,7 +18827,7 @@ ] ], [ - 3540, + 3644, [ { "AllocSegment": { @@ -18097,7 +18840,7 @@ ] ], [ - 3559, + 3663, [ { "TestLessThanOrEqual": { @@ -18119,7 +18862,7 @@ ] ], [ - 3581, + 3685, [ { "AllocSegment": { @@ -18132,7 +18875,7 @@ ] ], [ - 3601, + 3705, [ { "AllocSegment": { @@ -18145,7 +18888,7 @@ ] ], [ - 3616, + 3720, [ { "AllocSegment": { @@ -18158,7 +18901,7 @@ ] ], [ - 3630, + 3734, [ { "AllocSegment": { @@ -18171,7 +18914,7 @@ ] ], [ - 3645, + 3749, [ { "TestLessThanOrEqual": { @@ -18193,7 +18936,7 @@ ] ], [ - 3662, + 3766, [ { "AllocSegment": { @@ -18206,7 +18949,7 @@ ] ], [ - 3681, + 3785, [ { "TestLessThanOrEqual": { @@ -18228,7 +18971,7 @@ ] ], [ - 3693, + 3797, [ { "AllocSegment": { @@ -18241,7 +18984,7 @@ ] ], [ - 3708, + 3812, [ { "AllocSegment": { @@ -18254,7 +18997,7 @@ ] ], [ - 3723, + 3827, [ { "AllocSegment": { @@ -18267,7 +19010,7 @@ ] ], [ - 3738, + 3842, [ { "TestLessThanOrEqual": { @@ -18289,7 +19032,7 @@ ] ], [ - 3776, + 3880, [ { "AllocSegment": { @@ -18302,7 +19045,7 @@ ] ], [ - 3795, + 3899, [ { "TestLessThanOrEqual": { @@ -18324,7 +19067,7 @@ ] ], [ - 3815, + 3919, [ { "AllocSegment": { @@ -18337,7 +19080,7 @@ ] ], [ - 3833, + 3937, [ { "AllocSegment": { @@ -18350,7 +19093,7 @@ ] ], [ - 3848, + 3952, [ { "AllocSegment": { @@ -18363,7 +19106,7 @@ ] ], [ - 3862, + 3966, [ { "AllocSegment": { @@ -18376,7 +19119,7 @@ ] ], [ - 3877, + 3981, [ { "TestLessThanOrEqual": { @@ -18398,7 +19141,7 @@ ] ], [ - 3915, + 4019, [ { "AllocSegment": { @@ -18411,7 +19154,7 @@ ] ], [ - 3934, + 4038, [ { "TestLessThanOrEqual": { @@ -18433,7 +19176,7 @@ ] ], [ - 3954, + 4058, [ { "AllocSegment": { @@ -18446,7 +19189,7 @@ ] ], [ - 3972, + 4076, [ { "AllocSegment": { @@ -18459,7 +19202,7 @@ ] ], [ - 3987, + 4091, [ { "AllocSegment": { @@ -18472,7 +19215,7 @@ ] ], [ - 4001, + 4105, [ { "AllocSegment": { @@ -18485,7 +19228,7 @@ ] ], [ - 4016, + 4120, [ { "TestLessThanOrEqual": { @@ -18507,7 +19250,7 @@ ] ], [ - 4049, + 4153, [ { "TestLessThan": { @@ -18529,7 +19272,7 @@ ] ], [ - 4053, + 4157, [ { "LinearSplit": { @@ -18558,7 +19301,7 @@ ] ], [ - 4063, + 4167, [ { "LinearSplit": { @@ -18587,7 +19330,7 @@ ] ], [ - 4120, + 4224, [ { "AllocSegment": { @@ -18600,7 +19343,7 @@ ] ], [ - 4139, + 4243, [ { "TestLessThanOrEqual": { @@ -18622,7 +19365,7 @@ ] ], [ - 4161, + 4265, [ { "AllocSegment": { @@ -18635,7 +19378,7 @@ ] ], [ - 4179, + 4283, [ { "SystemCall": { @@ -18650,7 +19393,7 @@ ] ], [ - 4185, + 4289, [ { "AllocSegment": { @@ -18663,7 +19406,7 @@ ] ], [ - 4204, + 4308, [ { "AllocSegment": { @@ -18676,7 +19419,7 @@ ] ], [ - 4219, + 4323, [ { "AllocSegment": { @@ -18689,7 +19432,7 @@ ] ], [ - 4233, + 4337, [ { "AllocSegment": { @@ -18702,7 +19445,7 @@ ] ], [ - 4254, + 4358, [ { "AllocSegment": { @@ -18715,7 +19458,7 @@ ] ], [ - 4268, + 4372, [ { "AllocSegment": { @@ -18728,7 +19471,7 @@ ] ], [ - 4283, + 4387, [ { "TestLessThanOrEqual": { @@ -18750,7 +19493,7 @@ ] ], [ - 4363, + 4467, [ { "AllocSegment": { @@ -18763,7 +19506,7 @@ ] ], [ - 4388, + 4492, [ { "TestLessThanOrEqual": { @@ -18788,7 +19531,7 @@ ] ], [ - 4410, + 4514, [ { "AllocSegment": { @@ -18801,7 +19544,7 @@ ] ], [ - 4430, + 4534, [ { "AllocSegment": { @@ -18814,7 +19557,7 @@ ] ], [ - 4446, + 4550, [ { "AllocSegment": { @@ -18827,7 +19570,7 @@ ] ], [ - 4461, + 4565, [ { "AllocSegment": { @@ -18840,7 +19583,7 @@ ] ], [ - 4476, + 4580, [ { "AllocSegment": { @@ -18853,7 +19596,7 @@ ] ], [ - 4491, + 4595, [ { "AllocSegment": { @@ -18866,7 +19609,7 @@ ] ], [ - 4507, + 4611, [ { "TestLessThanOrEqual": { @@ -18888,7 +19631,7 @@ ] ], [ - 4530, + 4634, [ { "AllocSegment": { @@ -18901,7 +19644,7 @@ ] ], [ - 4560, + 4664, [ { "TestLessThanOrEqual": { @@ -18926,7 +19669,7 @@ ] ], [ - 4583, + 4687, [ { "AllocSegment": { @@ -18939,7 +19682,7 @@ ] ], [ - 4605, + 4709, [ { "AllocSegment": { @@ -18952,7 +19695,7 @@ ] ], [ - 4622, + 4726, [ { "AllocSegment": { @@ -18965,7 +19708,7 @@ ] ], [ - 4638, + 4742, [ { "AllocSegment": { @@ -18978,7 +19721,7 @@ ] ], [ - 4655, + 4759, [ { "TestLessThanOrEqual": { @@ -19000,7 +19743,7 @@ ] ], [ - 4688, + 4792, [ { "TestLessThan": { @@ -19022,7 +19765,7 @@ ] ], [ - 4692, + 4796, [ { "LinearSplit": { @@ -19051,7 +19794,7 @@ ] ], [ - 4702, + 4806, [ { "LinearSplit": { @@ -19080,7 +19823,7 @@ ] ], [ - 4723, + 4827, [ { "AllocSegment": { @@ -19093,7 +19836,7 @@ ] ], [ - 4742, + 4846, [ { "TestLessThanOrEqual": { @@ -19115,7 +19858,7 @@ ] ], [ - 4754, + 4858, [ { "AllocSegment": { @@ -19128,7 +19871,7 @@ ] ], [ - 4774, + 4878, [ { "SystemCall": { @@ -19143,7 +19886,7 @@ ] ], [ - 4777, + 4881, [ { "AllocSegment": { @@ -19156,7 +19899,7 @@ ] ], [ - 4797, + 4901, [ { "AllocSegment": { @@ -19169,7 +19912,7 @@ ] ], [ - 4812, + 4916, [ { "AllocSegment": { @@ -19182,7 +19925,7 @@ ] ], [ - 4833, + 4937, [ { "AllocSegment": { @@ -19195,7 +19938,7 @@ ] ], [ - 4847, + 4951, [ { "AllocSegment": { @@ -19208,7 +19951,7 @@ ] ], [ - 4862, + 4966, [ { "TestLessThanOrEqual": { @@ -19230,7 +19973,7 @@ ] ], [ - 4879, + 4983, [ { "AllocSegment": { @@ -19243,7 +19986,7 @@ ] ], [ - 4902, + 5006, [ { "TestLessThanOrEqual": { @@ -19268,7 +20011,7 @@ ] ], [ - 4921, + 5025, [ { "AllocSegment": { @@ -19281,7 +20024,7 @@ ] ], [ - 4941, + 5045, [ { "AllocSegment": { @@ -19294,7 +20037,7 @@ ] ], [ - 4957, + 5061, [ { "AllocSegment": { @@ -19307,7 +20050,7 @@ ] ], [ - 4973, + 5077, [ { "TestLessThanOrEqual": { @@ -19329,7 +20072,7 @@ ] ], [ - 5011, + 5115, [ { "AllocSegment": { @@ -19342,7 +20085,7 @@ ] ], [ - 5036, + 5140, [ { "TestLessThanOrEqual": { @@ -19367,7 +20110,7 @@ ] ], [ - 5056, + 5160, [ { "AllocSegment": { @@ -19380,7 +20123,7 @@ ] ], [ - 5076, + 5180, [ { "AllocSegment": { @@ -19393,7 +20136,7 @@ ] ], [ - 5092, + 5196, [ { "AllocSegment": { @@ -19406,7 +20149,7 @@ ] ], [ - 5107, + 5211, [ { "AllocSegment": { @@ -19419,7 +20162,7 @@ ] ], [ - 5123, + 5227, [ { "TestLessThanOrEqual": { @@ -19441,7 +20184,7 @@ ] ], [ - 5161, + 5265, [ { "AllocSegment": { @@ -19454,7 +20197,7 @@ ] ], [ - 5180, + 5284, [ { "TestLessThanOrEqual": { @@ -19476,7 +20219,7 @@ ] ], [ - 5192, + 5296, [ { "AllocSegment": { @@ -19489,7 +20232,7 @@ ] ], [ - 5212, + 5316, [ { "SystemCall": { @@ -19504,7 +20247,7 @@ ] ], [ - 5215, + 5319, [ { "AllocSegment": { @@ -19517,7 +20260,7 @@ ] ], [ - 5235, + 5339, [ { "AllocSegment": { @@ -19530,7 +20273,7 @@ ] ], [ - 5250, + 5354, [ { "AllocSegment": { @@ -19543,7 +20286,7 @@ ] ], [ - 5264, + 5368, [ { "AllocSegment": { @@ -19556,7 +20299,7 @@ ] ], [ - 5279, + 5383, [ { "TestLessThanOrEqual": { @@ -19578,7 +20321,7 @@ ] ], [ - 5338, + 5442, [ { "AllocSegment": { @@ -19591,7 +20334,7 @@ ] ], [ - 5357, + 5461, [ { "TestLessThanOrEqual": { @@ -19613,7 +20356,7 @@ ] ], [ - 5369, + 5473, [ { "AllocSegment": { @@ -19626,7 +20369,7 @@ ] ], [ - 5382, + 5486, [ { "AllocSegment": { @@ -19639,7 +20382,7 @@ ] ], [ - 5397, + 5501, [ { "AllocSegment": { @@ -19652,7 +20395,7 @@ ] ], [ - 5411, + 5515, [ { "AllocSegment": { @@ -19665,7 +20408,7 @@ ] ], [ - 5425, + 5529, [ { "AllocSegment": { @@ -19678,7 +20421,7 @@ ] ], [ - 5440, + 5544, [ { "TestLessThanOrEqual": { @@ -19700,7 +20443,7 @@ ] ], [ - 5494, + 5598, [ { "TestLessThan": { @@ -19722,7 +20465,7 @@ ] ], [ - 5498, + 5602, [ { "LinearSplit": { @@ -19751,7 +20494,7 @@ ] ], [ - 5508, + 5612, [ { "LinearSplit": { @@ -19780,7 +20523,7 @@ ] ], [ - 5544, + 5648, [ { "AllocSegment": { @@ -19793,7 +20536,7 @@ ] ], [ - 5563, + 5667, [ { "TestLessThanOrEqual": { @@ -19815,7 +20558,7 @@ ] ], [ - 5586, + 5690, [ { "SystemCall": { @@ -19830,7 +20573,7 @@ ] ], [ - 5589, + 5693, [ { "AllocSegment": { @@ -19843,7 +20586,7 @@ ] ], [ - 5611, + 5715, [ { "AllocSegment": { @@ -19856,7 +20599,7 @@ ] ], [ - 5626, + 5730, [ { "AllocSegment": { @@ -19869,7 +20612,7 @@ ] ], [ - 5647, + 5751, [ { "AllocSegment": { @@ -19882,7 +20625,7 @@ ] ], [ - 5661, + 5765, [ { "AllocSegment": { @@ -19895,7 +20638,7 @@ ] ], [ - 5675, + 5779, [ { "AllocSegment": { @@ -19908,7 +20651,7 @@ ] ], [ - 5690, + 5794, [ { "TestLessThanOrEqual": { @@ -19930,7 +20673,7 @@ ] ], [ - 5749, + 5853, [ { "AllocSegment": { @@ -19943,7 +20686,7 @@ ] ], [ - 5768, + 5872, [ { "TestLessThanOrEqual": { @@ -19965,7 +20708,7 @@ ] ], [ - 5794, + 5898, [ { "SystemCall": { @@ -19980,7 +20723,7 @@ ] ], [ - 5797, + 5901, [ { "AllocSegment": { @@ -19993,7 +20736,7 @@ ] ], [ - 5819, + 5923, [ { "AllocSegment": { @@ -20006,7 +20749,7 @@ ] ], [ - 5834, + 5938, [ { "AllocSegment": { @@ -20019,7 +20762,7 @@ ] ], [ - 5848, + 5952, [ { "AllocSegment": { @@ -20032,7 +20775,7 @@ ] ], [ - 5862, + 5966, [ { "AllocSegment": { @@ -20045,7 +20788,7 @@ ] ], [ - 5877, + 5981, [ { "TestLessThanOrEqual": { @@ -20067,7 +20810,7 @@ ] ], [ - 5949, + 6053, [ { "AllocSegment": { @@ -20080,7 +20823,7 @@ ] ], [ - 5969, + 6073, [ { "TestLessThanOrEqual": { @@ -20102,7 +20845,7 @@ ] ], [ - 5994, + 6098, [ { "SystemCall": { @@ -20117,7 +20860,7 @@ ] ], [ - 6002, + 6106, [ { "TestLessThan": { @@ -20148,7 +20891,7 @@ ] ], [ - 6027, + 6131, [ { "AllocSegment": { @@ -20161,7 +20904,7 @@ ] ], [ - 6060, + 6164, [ { "AllocSegment": { @@ -20174,7 +20917,7 @@ ] ], [ - 6097, + 6201, [ { "TestLessThan": { @@ -20202,7 +20945,7 @@ ] ], [ - 6101, + 6205, [ { "LinearSplit": { @@ -20231,7 +20974,7 @@ ] ], [ - 6143, + 6247, [ { "TestLessThan": { @@ -20259,7 +21002,7 @@ ] ], [ - 6147, + 6251, [ { "LinearSplit": { @@ -20288,7 +21031,7 @@ ] ], [ - 6188, + 6292, [ { "TestLessThan": { @@ -20310,7 +21053,7 @@ ] ], [ - 6192, + 6296, [ { "LinearSplit": { @@ -20339,7 +21082,7 @@ ] ], [ - 6202, + 6306, [ { "LinearSplit": { @@ -20368,7 +21111,7 @@ ] ], [ - 6326, + 6430, [ { "TestLessThan": { @@ -20390,7 +21133,7 @@ ] ], [ - 6330, + 6434, [ { "LinearSplit": { @@ -20419,7 +21162,7 @@ ] ], [ - 6340, + 6444, [ { "LinearSplit": { @@ -20448,7 +21191,7 @@ ] ], [ - 6372, + 6476, [ { "TestLessThan": { @@ -20470,7 +21213,7 @@ ] ], [ - 6374, + 6478, [ { "DivMod": { @@ -20496,7 +21239,7 @@ ] ], [ - 6494, + 6598, [ { "AllocSegment": { @@ -20509,7 +21252,7 @@ ] ], [ - 6608, + 6712, [ { "TestLessThan": { @@ -20531,7 +21274,7 @@ ] ], [ - 6610, + 6714, [ { "DivMod": { @@ -20557,7 +21300,7 @@ ] ], [ - 6663, + 6767, [ { "TestLessThan": { @@ -20585,7 +21328,7 @@ ] ], [ - 6667, + 6771, [ { "LinearSplit": { @@ -20614,7 +21357,7 @@ ] ], [ - 6709, + 6813, [ { "TestLessThan": { @@ -20642,7 +21385,7 @@ ] ], [ - 6713, + 6817, [ { "LinearSplit": { @@ -20671,7 +21414,7 @@ ] ], [ - 7491, + 7595, [ { "SystemCall": { @@ -20686,7 +21429,7 @@ ] ], [ - 7724, + 7828, [ { "AllocSegment": { @@ -20699,7 +21442,7 @@ ] ], [ - 7738, + 7842, [ { "AllocSegment": { @@ -20712,7 +21455,7 @@ ] ], [ - 7752, + 7856, [ { "AllocSegment": { @@ -20725,7 +21468,7 @@ ] ], [ - 7816, + 7920, [ { "AllocSegment": { @@ -20738,7 +21481,7 @@ ] ], [ - 7830, + 7934, [ { "AllocSegment": { @@ -20751,7 +21494,7 @@ ] ], [ - 7853, + 7957, [ { "AllocSegment": { @@ -20764,7 +21507,7 @@ ] ], [ - 7877, + 7981, [ { "SystemCall": { @@ -20779,7 +21522,7 @@ ] ], [ - 7880, + 7984, [ { "AllocSegment": { @@ -20792,7 +21535,7 @@ ] ], [ - 7896, + 8000, [ { "SystemCall": { @@ -20813,7 +21556,7 @@ ] ], [ - 7933, + 8037, [ { "GetSegmentArenaIndex": { @@ -20832,7 +21575,7 @@ ] ], [ - 7974, + 8078, [ { "AllocSegment": { @@ -20845,7 +21588,7 @@ ] ], [ - 7982, + 8086, [ { "InitSquashData": { @@ -20880,7 +21623,7 @@ ] ], [ - 8001, + 8105, [ { "GetCurrentAccessIndex": { @@ -20895,7 +21638,7 @@ ] ], [ - 8014, + 8118, [ { "ShouldSkipSquashLoop": { @@ -20908,7 +21651,7 @@ ] ], [ - 8016, + 8120, [ { "GetCurrentAccessDelta": { @@ -20921,7 +21664,7 @@ ] ], [ - 8027, + 8131, [ { "ShouldContinueSquashLoop": { @@ -20934,7 +21677,7 @@ ] ], [ - 8041, + 8145, [ { "GetNextDictKey": { @@ -20947,7 +21690,7 @@ ] ], [ - 8060, + 8164, [ { "AssertLeFindSmallArcs": { @@ -20980,7 +21723,7 @@ ] ], [ - 8072, + 8176, [ { "AssertLeIsFirstArcExcluded": { @@ -20993,7 +21736,7 @@ ] ], [ - 8084, + 8188, [ { "AssertLeIsSecondArcExcluded": { @@ -21006,7 +21749,235 @@ ] ], [ - 8115, + 8219, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 8227, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 8258, + [ + { + "SystemCall": { + "system": { + "Deref": { + "register": "FP", + "offset": -3 + } + } + } + } + ] + ], + [ + 8272, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 8292, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 8306, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 8320, + [ + { + "SystemCall": { + "system": { + "Deref": { + "register": "AP", + "offset": -9 + } + } + } + } + ] + ], + [ + 8323, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 8346, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -4 + } + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 8374, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 8388, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 8431, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 8471, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 8531, + [ + { + "SystemCall": { + "system": { + "Deref": { + "register": "FP", + "offset": -3 + } + } + } + } + ] + ], + [ + 8541, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 8572, + [ + { + "SystemCall": { + "system": { + "Deref": { + "register": "AP", + "offset": -6 + } + } + } + } + ] + ], + [ + 8575, [ { "AllocSegment": { @@ -21019,10 +21990,22 @@ ] ], [ - 8123, + 8599, [ { - "AllocSegment": { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -4 + } + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, "dst": { "register": "AP", "offset": 0 @@ -21032,14 +22015,14 @@ ] ], [ - 8154, + 8633, [ { "SystemCall": { "system": { "Deref": { - "register": "FP", - "offset": -3 + "register": "AP", + "offset": -14 } } } @@ -21047,20 +22030,22 @@ ] ], [ - 8168, + 8648, [ { - "AllocSegment": { - "dst": { - "register": "AP", - "offset": 0 + "SystemCall": { + "system": { + "Deref": { + "register": "AP", + "offset": -2 + } } } } ] ], [ - 8188, + 8694, [ { "AllocSegment": { @@ -21073,35 +22058,58 @@ ] ], [ - 8202, + 8713, [ { - "AllocSegment": { - "dst": { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -2 + } + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "quotient": { "register": "AP", - "offset": 0 + "offset": 5 + }, + "remainder": { + "register": "AP", + "offset": 6 } } } ] ], [ - 8216, + 8719, [ { - "SystemCall": { - "system": { + "TestLessThan": { + "lhs": { "Deref": { "register": "AP", - "offset": -9 + "offset": 0 } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, + "dst": { + "register": "AP", + "offset": -3 } } } ] ], [ - 8219, + 8770, [ { "AllocSegment": { @@ -21114,22 +22122,10 @@ ] ], [ - 8242, + 8801, [ { - "TestLessThan": { - "lhs": { - "Deref": { - "register": "AP", - "offset": -4 - } - }, - "rhs": { - "Deref": { - "register": "AP", - "offset": -1 - } - }, + "AllocSegment": { "dst": { "register": "AP", "offset": 0 @@ -21139,7 +22135,7 @@ ] ], [ - 8270, + 8826, [ { "AllocSegment": { @@ -21152,7 +22148,7 @@ ] ], [ - 8284, + 8841, [ { "AllocSegment": { @@ -21165,7 +22161,7 @@ ] ], [ - 8343, + 8883, [ { "SystemCall": { @@ -21180,7 +22176,7 @@ ] ], [ - 8353, + 8895, [ { "AllocSegment": { @@ -21193,7 +22189,7 @@ ] ], [ - 8384, + 8925, [ { "SystemCall": { @@ -21208,7 +22204,7 @@ ] ], [ - 8387, + 8930, [ { "AllocSegment": { @@ -21221,7 +22217,7 @@ ] ], [ - 8411, + 8953, [ { "TestLessThan": { @@ -21246,7 +22242,7 @@ ] ], [ - 8445, + 8987, [ { "SystemCall": { @@ -21261,7 +22257,7 @@ ] ], [ - 8460, + 9002, [ { "SystemCall": { @@ -21276,20 +22272,7 @@ ] ], [ - 8506, - [ - { - "AllocSegment": { - "dst": { - "register": "AP", - "offset": 0 - } - } - } - ] - ], - [ - 8525, + 9050, [ { "AllocSegment": { @@ -21302,20 +22285,20 @@ ] ], [ - 8542, + 9068, [ { "DivMod": { "lhs": { "Deref": { "register": "AP", - "offset": -1 + "offset": -2 } }, "rhs": { "Deref": { "register": "AP", - "offset": -2 + "offset": -1 } }, "quotient": { @@ -21331,7 +22314,7 @@ ] ], [ - 8548, + 9074, [ { "TestLessThan": { @@ -21353,7 +22336,22 @@ ] ], [ - 8599, + 9103, + [ + { + "SystemCall": { + "system": { + "Deref": { + "register": "AP", + "offset": -22 + } + } + } + } + ] + ], + [ + 9153, [ { "AllocSegment": { @@ -21366,7 +22364,7 @@ ] ], [ - 8630, + 9191, [ { "AllocSegment": { @@ -21379,7 +22377,7 @@ ] ], [ - 8655, + 9218, [ { "AllocSegment": { @@ -21392,7 +22390,7 @@ ] ], [ - 8670, + 9234, [ { "AllocSegment": { @@ -21405,26 +22403,122 @@ ] ], [ - 8712, + 9260, [ { - "SystemCall": { - "system": { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x3a84" + }, + "rhs": { "Deref": { "register": "FP", - "offset": -3 + "offset": -6 } + }, + "dst": { + "register": "AP", + "offset": 0 } } } ] ], [ - 8724, + 9274, [ { - "AllocSegment": { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": 0 + } + }, + "rhs": { + "Immediate": "0x100000000" + }, + "dst": { + "register": "AP", + "offset": -1 + } + } + } + ] + ], + [ + 9349, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -11 + } + }, + "rhs": { + "Immediate": "0x800000000000000000000000000000000000000000000000000000000000000" + }, "dst": { + "register": "AP", + "offset": 4 + } + } + } + ] + ], + [ + 9353, + [ + { + "LinearSplit": { + "value": { + "Deref": { + "register": "AP", + "offset": 3 + } + }, + "scalar": { + "Immediate": "0x110000000000000000" + }, + "max_x": { + "Immediate": "0xffffffffffffffffffffffffffffffff" + }, + "x": { + "register": "AP", + "offset": -2 + }, + "y": { + "register": "AP", + "offset": -1 + } + } + } + ] + ], + [ + 9363, + [ + { + "LinearSplit": { + "value": { + "Deref": { + "register": "AP", + "offset": -12 + } + }, + "scalar": { + "Immediate": "0x8000000000000000000000000000000" + }, + "max_x": { + "Immediate": "0xffffffffffffffffffffffffffffffff" + }, + "x": { + "register": "AP", + "offset": -1 + }, + "y": { "register": "AP", "offset": 0 } @@ -21433,14 +22527,14 @@ ] ], [ - 8754, + 9381, [ { "SystemCall": { "system": { "Deref": { - "register": "AP", - "offset": -6 + "register": "FP", + "offset": -5 } } } @@ -21448,36 +22542,91 @@ ] ], [ - 8759, + 9399, [ { "AllocSegment": { "dst": { "register": "AP", - "offset": 0 + "offset": 0 + } + } + } + ] + ], + [ + 9418, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -12 + } + }, + "rhs": { + "Immediate": "0x800000000000000000000000000000000000000000000000000000000000000" + }, + "dst": { + "register": "AP", + "offset": 4 + } + } + } + ] + ], + [ + 9422, + [ + { + "LinearSplit": { + "value": { + "Deref": { + "register": "AP", + "offset": 3 + } + }, + "scalar": { + "Immediate": "0x110000000000000000" + }, + "max_x": { + "Immediate": "0xffffffffffffffffffffffffffffffff" + }, + "x": { + "register": "AP", + "offset": -2 + }, + "y": { + "register": "AP", + "offset": -1 } } } ] ], [ - 8782, + 9432, [ { - "TestLessThan": { - "lhs": { + "LinearSplit": { + "value": { "Deref": { "register": "AP", - "offset": -4 + "offset": -13 } }, - "rhs": { - "Deref": { - "register": "AP", - "offset": -1 - } + "scalar": { + "Immediate": "0x8000000000000000000000000000000" }, - "dst": { + "max_x": { + "Immediate": "0xffffffffffffffffffffffffffffffff" + }, + "x": { + "register": "AP", + "offset": -1 + }, + "y": { "register": "AP", "offset": 0 } @@ -21486,14 +22635,14 @@ ] ], [ - 8816, + 9450, [ { "SystemCall": { "system": { "Deref": { - "register": "AP", - "offset": -14 + "register": "FP", + "offset": -5 } } } @@ -21501,22 +22650,20 @@ ] ], [ - 8831, + 9468, [ { - "SystemCall": { - "system": { - "Deref": { - "register": "AP", - "offset": -2 - } + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 } } } ] ], [ - 8879, + 9499, [ { "AllocSegment": { @@ -21529,7 +22676,7 @@ ] ], [ - 8899, + 9523, [ { "AllocSegment": { @@ -21542,73 +22689,46 @@ ] ], [ - 8915, + 9537, [ { - "DivMod": { - "lhs": { - "Deref": { - "register": "AP", - "offset": -1 - } - }, - "rhs": { - "Deref": { - "register": "AP", - "offset": -2 - } - }, - "quotient": { - "register": "AP", - "offset": 5 - }, - "remainder": { + "AllocSegment": { + "dst": { "register": "AP", - "offset": 6 + "offset": 0 } } } ] ], [ - 8921, + 9551, [ { - "TestLessThan": { - "lhs": { - "Deref": { - "register": "AP", - "offset": 0 - } - }, - "rhs": { - "Immediate": "0x10000000000000000" - }, + "AllocSegment": { "dst": { "register": "AP", - "offset": -3 + "offset": 0 } } } ] ], [ - 8950, + 9565, [ { - "SystemCall": { - "system": { - "Deref": { - "register": "AP", - "offset": -22 - } + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 } } } ] ], [ - 9000, + 9580, [ { "AllocSegment": { @@ -21621,10 +22741,19 @@ ] ], [ - 9038, + 9595, [ { - "AllocSegment": { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x42e" + }, + "rhs": { + "Deref": { + "register": "FP", + "offset": -4 + } + }, "dst": { "register": "AP", "offset": 0 @@ -21634,7 +22763,7 @@ ] ], [ - 9065, + 9609, [ { "AllocSegment": { @@ -21647,7 +22776,7 @@ ] ], [ - 9081, + 9629, [ { "AllocSegment": { @@ -21660,17 +22789,17 @@ ] ], [ - 9107, + 9643, [ { "TestLessThanOrEqual": { "lhs": { - "Immediate": "0x3a84" + "Immediate": "0x42e" }, "rhs": { "Deref": { "register": "FP", - "offset": -6 + "offset": -4 } }, "dst": { @@ -21682,58 +22811,49 @@ ] ], [ - 9121, + 9673, [ { - "TestLessThan": { - "lhs": { - "Deref": { - "register": "AP", - "offset": 0 - } - }, - "rhs": { - "Immediate": "0x100000000" - }, + "AllocSegment": { "dst": { "register": "AP", - "offset": -1 + "offset": 0 } } } ] ], [ - 9196, + 9692, [ { "TestLessThan": { "lhs": { "Deref": { "register": "AP", - "offset": -11 + "offset": -1 } }, "rhs": { - "Immediate": "0x800000000000000000000000000000000000000000000000000000000000000" + "Immediate": "0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00" }, "dst": { "register": "AP", - "offset": 4 + "offset": 5 } } } ] ], [ - 9200, + 9696, [ { "LinearSplit": { "value": { "Deref": { "register": "AP", - "offset": 3 + "offset": 4 } }, "scalar": { @@ -21755,43 +22875,43 @@ ] ], [ - 9210, + 9707, [ { "LinearSplit": { "value": { "Deref": { "register": "AP", - "offset": -12 + "offset": 4 } }, "scalar": { "Immediate": "0x8000000000000000000000000000000" }, "max_x": { - "Immediate": "0xffffffffffffffffffffffffffffffff" + "Immediate": "0xfffffffffffffffffffffffffffffffe" }, "x": { "register": "AP", - "offset": -1 + "offset": -2 }, "y": { "register": "AP", - "offset": 0 + "offset": -1 } } } ] ], [ - 9228, + 9733, [ { "SystemCall": { "system": { "Deref": { "register": "FP", - "offset": -5 + "offset": -6 } } } @@ -21799,49 +22919,57 @@ ] ], [ - 9246, + 9748, [ { - "AllocSegment": { - "dst": { - "register": "AP", - "offset": 0 + "SystemCall": { + "system": { + "BinOp": { + "op": "Add", + "a": { + "register": "FP", + "offset": -6 + }, + "b": { + "Immediate": "0x7" + } + } } } } ] ], [ - 9265, + 9756, [ { "TestLessThan": { "lhs": { "Deref": { "register": "AP", - "offset": -12 + "offset": -1 } }, "rhs": { - "Immediate": "0x800000000000000000000000000000000000000000000000000000000000000" + "Immediate": "0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00" }, "dst": { "register": "AP", - "offset": 4 + "offset": 5 } } } ] ], [ - 9269, + 9760, [ { "LinearSplit": { "value": { "Deref": { "register": "AP", - "offset": 3 + "offset": 4 } }, "scalar": { @@ -21863,43 +22991,49 @@ ] ], [ - 9279, + 9771, [ { "LinearSplit": { "value": { "Deref": { "register": "AP", - "offset": -13 + "offset": 4 } }, "scalar": { "Immediate": "0x8000000000000000000000000000000" }, "max_x": { - "Immediate": "0xffffffffffffffffffffffffffffffff" + "Immediate": "0xfffffffffffffffffffffffffffffffe" }, "x": { "register": "AP", - "offset": -1 + "offset": -2 }, "y": { "register": "AP", - "offset": 0 + "offset": -1 } } } ] ], [ - 9297, + 9801, [ { "SystemCall": { "system": { - "Deref": { - "register": "FP", - "offset": -5 + "BinOp": { + "op": "Add", + "a": { + "register": "FP", + "offset": -6 + }, + "b": { + "Immediate": "0xe" + } } } } @@ -21907,10 +23041,40 @@ ] ], [ - 9315, + 9817, [ { - "AllocSegment": { + "SystemCall": { + "system": { + "BinOp": { + "op": "Add", + "a": { + "register": "FP", + "offset": -6 + }, + "b": { + "Immediate": "0x15" + } + } + } + } + } + ] + ], + [ + 9925, + [ + { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, "dst": { "register": "AP", "offset": 0 @@ -21920,23 +23084,45 @@ ] ], [ - 9346, + 9927, [ { - "AllocSegment": { - "dst": { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -2 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "quotient": { "register": "AP", - "offset": 0 + "offset": 3 + }, + "remainder": { + "register": "AP", + "offset": 4 } } } ] ], [ - 9370, + 9972, [ { - "AllocSegment": { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, "dst": { "register": "AP", "offset": 0 @@ -21946,113 +23132,161 @@ ] ], [ - 9384, + 9974, [ { - "AllocSegment": { - "dst": { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -2 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "quotient": { "register": "AP", - "offset": 0 + "offset": 3 + }, + "remainder": { + "register": "AP", + "offset": 4 } } } ] ], [ - 9398, + 10083, [ { - "AllocSegment": { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "rhs": { + "Immediate": "0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00" + }, "dst": { "register": "AP", - "offset": 0 + "offset": 5 } } } ] ], [ - 9418, + 10087, [ { - "AllocSegment": { - "dst": { + "LinearSplit": { + "value": { + "Deref": { + "register": "AP", + "offset": 4 + } + }, + "scalar": { + "Immediate": "0x110000000000000000" + }, + "max_x": { + "Immediate": "0xffffffffffffffffffffffffffffffff" + }, + "x": { "register": "AP", - "offset": 0 + "offset": -2 + }, + "y": { + "register": "AP", + "offset": -1 } } } ] ], [ - 9434, + 10098, [ { - "DivMod": { - "lhs": { + "LinearSplit": { + "value": { "Deref": { "register": "AP", - "offset": -1 + "offset": 4 } }, - "rhs": { - "Deref": { - "register": "AP", - "offset": -3 - } + "scalar": { + "Immediate": "0x8000000000000000000000000000000" }, - "quotient": { + "max_x": { + "Immediate": "0xfffffffffffffffffffffffffffffffe" + }, + "x": { "register": "AP", - "offset": 3 + "offset": -2 }, - "remainder": { + "y": { "register": "AP", - "offset": 4 + "offset": -1 } } } ] ], [ - 9452, + 10124, [ { - "AllocSegment": { - "dst": { - "register": "AP", - "offset": 0 + "SystemCall": { + "system": { + "Deref": { + "register": "FP", + "offset": -6 + } } } } ] ], [ - 9467, + 10139, [ { - "TestLessThanOrEqual": { - "lhs": { - "Immediate": "0x42e" - }, - "rhs": { - "Deref": { - "register": "FP", - "offset": -4 + "SystemCall": { + "system": { + "BinOp": { + "op": "Add", + "a": { + "register": "FP", + "offset": -6 + }, + "b": { + "Immediate": "0x7" + } } - }, - "dst": { - "register": "AP", - "offset": 0 } } } ] ], [ - 9481, + 10146, [ { - "AllocSegment": { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -6 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, "dst": { "register": "AP", "offset": 0 @@ -22062,32 +23296,45 @@ ] ], [ - 9501, + 10148, [ { - "AllocSegment": { - "dst": { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -7 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "quotient": { "register": "AP", - "offset": 0 + "offset": 3 + }, + "remainder": { + "register": "AP", + "offset": 4 } } } ] ], [ - 9515, + 10169, [ { - "TestLessThanOrEqual": { + "TestLessThan": { "lhs": { - "Immediate": "0x42e" - }, - "rhs": { "Deref": { - "register": "FP", - "offset": -4 + "register": "AP", + "offset": -2 } }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, "dst": { "register": "AP", "offset": 0 @@ -22097,20 +23344,33 @@ ] ], [ - 9545, + 10171, [ { - "AllocSegment": { - "dst": { + "DivMod": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -3 + } + }, + "rhs": { + "Immediate": "0x100000000000000000000000000000000" + }, + "quotient": { "register": "AP", - "offset": 0 + "offset": 3 + }, + "remainder": { + "register": "AP", + "offset": 4 } } } ] ], [ - 9564, + 10201, [ { "TestLessThan": { @@ -22132,7 +23392,7 @@ ] ], [ - 9568, + 10205, [ { "LinearSplit": { @@ -22161,7 +23421,7 @@ ] ], [ - 9579, + 10216, [ { "LinearSplit": { @@ -22190,14 +23450,14 @@ ] ], [ - 9605, + 10247, [ { "SystemCall": { "system": { "Deref": { - "register": "FP", - "offset": -6 + "register": "AP", + "offset": -20 } } } @@ -22205,7 +23465,7 @@ ] ], [ - 9620, + 10262, [ { "SystemCall": { @@ -22213,8 +23473,8 @@ "BinOp": { "op": "Add", "a": { - "register": "FP", - "offset": -6 + "register": "AP", + "offset": -25 }, "b": { "Immediate": "0x7" @@ -22226,100 +23486,109 @@ ] ], [ - 9628, + 10306, [ { - "TestLessThan": { - "lhs": { - "Deref": { - "register": "AP", - "offset": -1 - } - }, - "rhs": { - "Immediate": "0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00" - }, + "AllocSegment": { "dst": { "register": "AP", - "offset": 5 + "offset": 0 } } } ] ], [ - 9632, + 10325, [ { - "LinearSplit": { - "value": { - "Deref": { - "register": "AP", - "offset": 4 - } - }, - "scalar": { - "Immediate": "0x110000000000000000" - }, - "max_x": { - "Immediate": "0xffffffffffffffffffffffffffffffff" - }, + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 10407, + [ + { + "RandomEcPoint": { "x": { "register": "AP", - "offset": -2 + "offset": 4 }, "y": { "register": "AP", - "offset": -1 + "offset": 5 + } + } + }, + { + "AllocConstantSize": { + "size": { + "Immediate": "0x2" + }, + "dst": { + "register": "AP", + "offset": 6 } } } ] ], [ - 9643, + 10471, [ { - "LinearSplit": { - "value": { - "Deref": { - "register": "AP", - "offset": 4 - } - }, - "scalar": { - "Immediate": "0x8000000000000000000000000000000" - }, - "max_x": { - "Immediate": "0xfffffffffffffffffffffffffffffffe" - }, + "RandomEcPoint": { "x": { "register": "AP", - "offset": -2 + "offset": 4 }, "y": { "register": "AP", - "offset": -1 + "offset": 5 + } + } + }, + { + "AllocConstantSize": { + "size": { + "Immediate": "0x2" + }, + "dst": { + "register": "AP", + "offset": 6 + } + } + } + ] + ], + [ + 10541, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 } } } ] ], [ - 9673, + 10566, [ { "SystemCall": { "system": { - "BinOp": { - "op": "Add", - "a": { - "register": "FP", - "offset": -6 - }, - "b": { - "Immediate": "0xe" - } + "Deref": { + "register": "FP", + "offset": -3 } } } @@ -22327,7 +23596,7 @@ ] ], [ - 9689, + 10583, [ { "SystemCall": { @@ -22336,10 +23605,10 @@ "op": "Add", "a": { "register": "FP", - "offset": -6 + "offset": -3 }, "b": { - "Immediate": "0x15" + "Immediate": "0x7" } } } @@ -22348,19 +23617,10 @@ ] ], [ - 9797, + 10623, [ { - "TestLessThan": { - "lhs": { - "Deref": { - "register": "AP", - "offset": -1 - } - }, - "rhs": { - "Immediate": "0x100000000000000000000000000000000" - }, + "AllocSegment": { "dst": { "register": "AP", "offset": 0 @@ -22370,45 +23630,10 @@ ] ], [ - 9799, - [ - { - "DivMod": { - "lhs": { - "Deref": { - "register": "AP", - "offset": -2 - } - }, - "rhs": { - "Immediate": "0x100000000000000000000000000000000" - }, - "quotient": { - "register": "AP", - "offset": 3 - }, - "remainder": { - "register": "AP", - "offset": 4 - } - } - } - ] - ], - [ - 9844, + 10639, [ { - "TestLessThan": { - "lhs": { - "Deref": { - "register": "AP", - "offset": -1 - } - }, - "rhs": { - "Immediate": "0x100000000000000000000000000000000" - }, + "AllocSegment": { "dst": { "register": "AP", "offset": 0 @@ -22418,33 +23643,22 @@ ] ], [ - 9846, + 10657, [ { - "DivMod": { - "lhs": { + "SystemCall": { + "system": { "Deref": { - "register": "AP", - "offset": -2 + "register": "FP", + "offset": -4 } - }, - "rhs": { - "Immediate": "0x100000000000000000000000000000000" - }, - "quotient": { - "register": "AP", - "offset": 3 - }, - "remainder": { - "register": "AP", - "offset": 4 } } } ] ], [ - 9955, + 10667, [ { "TestLessThan": { @@ -22466,7 +23680,7 @@ ] ], [ - 9959, + 10671, [ { "LinearSplit": { @@ -22495,7 +23709,7 @@ ] ], [ - 9970, + 10682, [ { "LinearSplit": { @@ -22524,14 +23738,20 @@ ] ], [ - 9996, + 10726, [ { "SystemCall": { "system": { - "Deref": { - "register": "FP", - "offset": -6 + "BinOp": { + "op": "Add", + "a": { + "register": "FP", + "offset": -4 + }, + "b": { + "Immediate": "0x5" + } } } } @@ -22539,7 +23759,7 @@ ] ], [ - 10011, + 10741, [ { "SystemCall": { @@ -22548,10 +23768,10 @@ "op": "Add", "a": { "register": "FP", - "offset": -6 + "offset": -4 }, "b": { - "Immediate": "0x7" + "Immediate": "0xc" } } } @@ -22560,103 +23780,57 @@ ] ], [ - 10018, + 10751, [ { "TestLessThan": { "lhs": { "Deref": { "register": "AP", - "offset": -6 + "offset": -5 } }, "rhs": { - "Immediate": "0x100000000000000000000000000000000" - }, - "dst": { - "register": "AP", - "offset": 0 - } - } - } - ] - ], - [ - 10020, - [ - { - "DivMod": { - "lhs": { "Deref": { "register": "AP", - "offset": -7 + "offset": -1 } }, - "rhs": { - "Immediate": "0x100000000000000000000000000000000" - }, - "quotient": { - "register": "AP", - "offset": 3 - }, - "remainder": { + "dst": { "register": "AP", - "offset": 4 + "offset": 0 } } } ] ], [ - 10041, + 10766, [ { "TestLessThan": { "lhs": { "Deref": { "register": "AP", - "offset": -2 + "offset": -3 } }, "rhs": { - "Immediate": "0x100000000000000000000000000000000" - }, - "dst": { - "register": "AP", - "offset": 0 - } - } - } - ] - ], - [ - 10043, - [ - { - "DivMod": { - "lhs": { "Deref": { "register": "AP", - "offset": -3 + "offset": -1 } }, - "rhs": { - "Immediate": "0x100000000000000000000000000000000" - }, - "quotient": { - "register": "AP", - "offset": 3 - }, - "remainder": { + "dst": { "register": "AP", - "offset": 4 + "offset": 0 } } } ] ], [ - 10073, + 10782, [ { "TestLessThan": { @@ -22678,7 +23852,7 @@ ] ], [ - 10077, + 10786, [ { "LinearSplit": { @@ -22707,7 +23881,7 @@ ] ], [ - 10088, + 10797, [ { "LinearSplit": { @@ -22736,14 +23910,14 @@ ] ], [ - 10119, + 10826, [ { "SystemCall": { "system": { "Deref": { "register": "AP", - "offset": -20 + "offset": -29 } } } @@ -22751,7 +23925,7 @@ ] ], [ - 10134, + 10842, [ { "SystemCall": { @@ -22760,7 +23934,7 @@ "op": "Add", "a": { "register": "AP", - "offset": -25 + "offset": -35 }, "b": { "Immediate": "0x7" @@ -22772,7 +23946,7 @@ ] ], [ - 10178, + 10884, [ { "AllocSegment": { @@ -22785,7 +23959,7 @@ ] ], [ - 10197, + 10902, [ { "AllocSegment": { @@ -22798,66 +23972,79 @@ ] ], [ - 10279, + 10977, [ { - "RandomEcPoint": { - "x": { - "register": "AP", - "offset": 4 + "TestLessThan": { + "lhs": { + "BinOp": { + "op": "Add", + "a": { + "register": "AP", + "offset": -1 + }, + "b": { + "Immediate": "0x0" + } + } }, - "y": { - "register": "AP", - "offset": 5 - } - } - }, - { - "AllocConstantSize": { - "size": { - "Immediate": "0x2" + "rhs": { + "Immediate": "0x100000000" }, "dst": { "register": "AP", - "offset": 6 + "offset": 0 } } } ] ], [ - 10343, + 10981, [ { - "RandomEcPoint": { + "LinearSplit": { + "value": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "scalar": { + "Immediate": "0x8000000000000110000000000000000" + }, + "max_x": { + "Immediate": "0xfffffffffffffffffffffffffffffffe" + }, "x": { "register": "AP", - "offset": 4 + "offset": 0 }, "y": { "register": "AP", - "offset": 5 - } - } - }, - { - "AllocConstantSize": { - "size": { - "Immediate": "0x2" - }, - "dst": { - "register": "AP", - "offset": 6 + "offset": 1 } } } ] ], [ - 10413, + 11003, [ { - "AllocSegment": { + "TestLessThanOrEqual": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -2 + } + }, "dst": { "register": "AP", "offset": 0 @@ -22867,43 +24054,54 @@ ] ], [ - 10438, + 11017, [ { - "SystemCall": { - "system": { + "TestLessThan": { + "lhs": { "Deref": { - "register": "FP", - "offset": -3 + "register": "AP", + "offset": 0 } + }, + "rhs": { + "Immediate": "0x100000000" + }, + "dst": { + "register": "AP", + "offset": -1 } } } ] ], [ - 10455, + 11027, [ { - "SystemCall": { - "system": { - "BinOp": { - "op": "Add", - "a": { - "register": "FP", - "offset": -3 - }, - "b": { - "Immediate": "0x7" - } + "TestLessThanOrEqual": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -2 } + }, + "dst": { + "register": "AP", + "offset": 0 } } } ] ], [ - 10495, + 11050, [ { "AllocSegment": { @@ -22916,7 +24114,7 @@ ] ], [ - 10511, + 11071, [ { "AllocSegment": { @@ -22929,157 +24127,113 @@ ] ], [ - 10529, + 11092, [ { - "SystemCall": { - "system": { - "Deref": { - "register": "FP", - "offset": -4 - } + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 } } } ] ], [ - 10539, + 11140, [ { - "TestLessThan": { + "TestLessThanOrEqual": { "lhs": { - "Deref": { - "register": "AP", - "offset": -1 - } + "Immediate": "0x1e28" }, "rhs": { - "Immediate": "0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00" + "Deref": { + "register": "FP", + "offset": -8 + } }, "dst": { "register": "AP", - "offset": 5 + "offset": 0 } } } ] ], [ - 10543, + 11200, [ { - "LinearSplit": { - "value": { - "Deref": { - "register": "AP", - "offset": 4 - } - }, - "scalar": { - "Immediate": "0x110000000000000000" - }, - "max_x": { - "Immediate": "0xffffffffffffffffffffffffffffffff" - }, - "x": { - "register": "AP", - "offset": -2 - }, - "y": { + "AllocSegment": { + "dst": { "register": "AP", - "offset": -1 + "offset": 0 } } } ] ], [ - 10554, + 11220, [ { - "LinearSplit": { - "value": { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0xcc6" + }, + "rhs": { "Deref": { - "register": "AP", - "offset": 4 + "register": "FP", + "offset": -7 } }, - "scalar": { - "Immediate": "0x8000000000000000000000000000000" - }, - "max_x": { - "Immediate": "0xfffffffffffffffffffffffffffffffe" - }, - "x": { - "register": "AP", - "offset": -2 - }, - "y": { + "dst": { "register": "AP", - "offset": -1 + "offset": 0 } } } ] ], [ - 10598, + 11299, [ { - "SystemCall": { - "system": { - "BinOp": { - "op": "Add", - "a": { - "register": "FP", - "offset": -4 - }, - "b": { - "Immediate": "0x5" - } - } + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 } } } ] ], [ - 10613, + 11329, [ { - "SystemCall": { - "system": { - "BinOp": { - "op": "Add", - "a": { - "register": "FP", - "offset": -4 - }, - "b": { - "Immediate": "0xc" - } - } + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 } } } ] ], [ - 10623, + 11349, [ { - "TestLessThan": { + "TestLessThanOrEqual": { "lhs": { - "Deref": { - "register": "AP", - "offset": -5 - } + "Immediate": "0x10ae" }, "rhs": { "Deref": { - "register": "AP", - "offset": -1 + "register": "FP", + "offset": -7 } }, "dst": { @@ -23091,22 +24245,10 @@ ] ], [ - 10638, + 11450, [ { - "TestLessThan": { - "lhs": { - "Deref": { - "register": "AP", - "offset": -3 - } - }, - "rhs": { - "Deref": { - "register": "AP", - "offset": -1 - } - }, + "AllocSegment": { "dst": { "register": "AP", "offset": 0 @@ -23116,123 +24258,84 @@ ] ], [ - 10654, + 11480, [ { - "TestLessThan": { - "lhs": { - "Deref": { - "register": "AP", - "offset": -1 - } - }, - "rhs": { - "Immediate": "0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00" - }, + "AllocSegment": { "dst": { "register": "AP", - "offset": 5 + "offset": 0 } } } ] ], [ - 10658, + 11500, [ { - "LinearSplit": { - "value": { + "TestLessThanOrEqual": { + "lhs": { + "Immediate": "0x22ce" + }, + "rhs": { "Deref": { - "register": "AP", - "offset": 4 + "register": "FP", + "offset": -7 } }, - "scalar": { - "Immediate": "0x110000000000000000" - }, - "max_x": { - "Immediate": "0xffffffffffffffffffffffffffffffff" - }, - "x": { - "register": "AP", - "offset": -2 - }, - "y": { + "dst": { "register": "AP", - "offset": -1 + "offset": 0 } } } ] ], [ - 10669, + 11571, [ { - "LinearSplit": { - "value": { - "Deref": { - "register": "AP", - "offset": 4 - } - }, - "scalar": { - "Immediate": "0x8000000000000000000000000000000" - }, - "max_x": { - "Immediate": "0xfffffffffffffffffffffffffffffffe" - }, - "x": { - "register": "AP", - "offset": -2 - }, - "y": { + "AllocSegment": { + "dst": { "register": "AP", - "offset": -1 + "offset": 0 } } } ] ], [ - 10698, + 11592, [ { - "SystemCall": { - "system": { + "DivMod": { + "lhs": { "Deref": { "register": "AP", - "offset": -29 + "offset": -2 } - } - } - } - ] - ], - [ - 10714, - [ - { - "SystemCall": { - "system": { - "BinOp": { - "op": "Add", - "a": { - "register": "AP", - "offset": -35 - }, - "b": { - "Immediate": "0x7" - } + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -1 } + }, + "quotient": { + "register": "AP", + "offset": 3 + }, + "remainder": { + "register": "AP", + "offset": 4 } } } ] ], [ - 10756, + 11650, [ { "AllocSegment": { @@ -23245,7 +24348,7 @@ ] ], [ - 10774, + 11703, [ { "AllocSegment": { @@ -23258,7 +24361,36 @@ ] ], [ - 10849, + 11716, + [ + { + "DivMod": { + "lhs": { + "Deref": { + "register": "FP", + "offset": -4 + } + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "quotient": { + "register": "AP", + "offset": 3 + }, + "remainder": { + "register": "AP", + "offset": 4 + } + } + } + ] + ], + [ + 11724, [ { "TestLessThan": { @@ -23267,15 +24399,18 @@ "op": "Add", "a": { "register": "AP", - "offset": -1 + "offset": -6 }, "b": { - "Immediate": "0x0" + "Deref": { + "register": "AP", + "offset": -1 + } } } }, "rhs": { - "Immediate": "0x100000000" + "Immediate": "0x10000000000000000" }, "dst": { "register": "AP", @@ -23286,61 +24421,42 @@ ] ], [ - 10853, + 11741, [ { - "LinearSplit": { - "value": { - "Deref": { - "register": "AP", - "offset": -1 - } - }, - "scalar": { - "Immediate": "0x8000000000000110000000000000000" - }, - "max_x": { - "Immediate": "0xfffffffffffffffffffffffffffffffe" - }, - "x": { + "AllocSegment": { + "dst": { "register": "AP", "offset": 0 - }, - "y": { - "register": "AP", - "offset": 1 } } } ] ], [ - 10875, + 11765, [ { - "TestLessThanOrEqual": { + "TestLessThan": { "lhs": { "Deref": { "register": "AP", - "offset": -1 + "offset": 0 } }, "rhs": { - "Deref": { - "register": "AP", - "offset": -2 - } + "Immediate": "0x100000000" }, "dst": { "register": "AP", - "offset": 0 + "offset": -1 } } } ] ], [ - 10889, + 11789, [ { "TestLessThan": { @@ -23362,32 +24478,29 @@ ] ], [ - 10899, + 11798, [ { - "TestLessThanOrEqual": { + "TestLessThan": { "lhs": { "Deref": { "register": "AP", - "offset": -1 + "offset": 0 } }, "rhs": { - "Deref": { - "register": "AP", - "offset": -2 - } + "Immediate": "0x100000000" }, "dst": { "register": "AP", - "offset": 0 + "offset": -1 } } } ] ], [ - 10922, + 11815, [ { "AllocSegment": { @@ -23400,7 +24513,7 @@ ] ], [ - 10943, + 11829, [ { "AllocSegment": { @@ -23413,10 +24526,28 @@ ] ], [ - 10964, + 11845, [ { - "AllocSegment": { + "TestLessThan": { + "lhs": { + "BinOp": { + "op": "Add", + "a": { + "register": "AP", + "offset": -1 + }, + "b": { + "Deref": { + "register": "AP", + "offset": -8 + } + } + } + }, + "rhs": { + "Immediate": "0x10000000000000000" + }, "dst": { "register": "AP", "offset": 0 @@ -23426,19 +24557,10 @@ ] ], [ - 11012, + 11867, [ { - "TestLessThanOrEqual": { - "lhs": { - "Immediate": "0x1e28" - }, - "rhs": { - "Deref": { - "register": "FP", - "offset": -8 - } - }, + "AllocSegment": { "dst": { "register": "AP", "offset": 0 @@ -23448,7 +24570,7 @@ ] ], [ - 11072, + 11881, [ { "AllocSegment": { @@ -23461,45 +24583,48 @@ ] ], [ - 11092, + 11938, [ { - "TestLessThanOrEqual": { + "DivMod": { "lhs": { - "Immediate": "0xcc6" + "Deref": { + "register": "FP", + "offset": -4 + } }, "rhs": { "Deref": { - "register": "FP", - "offset": -7 + "register": "AP", + "offset": -3 } }, - "dst": { + "quotient": { "register": "AP", - "offset": 0 - } - } - } - ] - ], - [ - 11171, - [ - { - "AllocSegment": { - "dst": { + "offset": 3 + }, + "remainder": { "register": "AP", - "offset": 0 + "offset": 4 } } } ] ], [ - 11201, + 11947, [ { - "AllocSegment": { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "rhs": { + "Immediate": "0x100000000" + }, "dst": { "register": "AP", "offset": 0 @@ -23509,18 +24634,27 @@ ] ], [ - 11221, + 11957, [ { - "TestLessThanOrEqual": { + "TestLessThan": { "lhs": { - "Immediate": "0x10ae" + "BinOp": { + "op": "Add", + "a": { + "register": "AP", + "offset": -3 + }, + "b": { + "Deref": { + "register": "AP", + "offset": -9 + } + } + } }, "rhs": { - "Deref": { - "register": "FP", - "offset": -7 - } + "Immediate": "0x100000000" }, "dst": { "register": "AP", @@ -23531,7 +24665,7 @@ ] ], [ - 11322, + 11979, [ { "AllocSegment": { @@ -23544,7 +24678,7 @@ ] ], [ - 11352, + 11994, [ { "AllocSegment": { @@ -23557,18 +24691,27 @@ ] ], [ - 11372, + 12019, [ { - "TestLessThanOrEqual": { + "TestLessThan": { "lhs": { - "Immediate": "0x23fa" + "BinOp": { + "op": "Add", + "a": { + "register": "AP", + "offset": -2 + }, + "b": { + "Deref": { + "register": "AP", + "offset": -1 + } + } + } }, "rhs": { - "Deref": { - "register": "FP", - "offset": -7 - } + "Immediate": "0x100000000" }, "dst": { "register": "AP", @@ -23579,46 +24722,20 @@ ] ], [ - 11443, - [ - { - "AllocSegment": { - "dst": { - "register": "AP", - "offset": 0 - } - } - } - ] - ], - [ - 11465, - [ - { - "AllocSegment": { - "dst": { - "register": "AP", - "offset": 0 - } - } - } - ] - ], - [ - 11479, + 12033, [ { "DivMod": { "lhs": { "Deref": { "register": "AP", - "offset": -1 + "offset": -2 } }, "rhs": { "Deref": { "register": "AP", - "offset": -2 + "offset": -1 } }, "quotient": { @@ -23634,23 +24751,19 @@ ] ], [ - 11537, - [ - { - "AllocSegment": { - "dst": { - "register": "AP", - "offset": 0 - } - } - } - ] - ], - [ - 11590, + 12050, [ { - "AllocSegment": { + "TestLessThan": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "rhs": { + "Immediate": "0x100000000" + }, "dst": { "register": "AP", "offset": 0 @@ -23660,36 +24773,29 @@ ] ], [ - 11603, + 12062, [ { - "DivMod": { + "TestLessThan": { "lhs": { - "Deref": { - "register": "FP", - "offset": -4 - } - }, - "rhs": { "Deref": { "register": "AP", "offset": -1 } }, - "quotient": { - "register": "AP", - "offset": 3 + "rhs": { + "Immediate": "0x100000000" }, - "remainder": { + "dst": { "register": "AP", - "offset": 4 + "offset": 0 } } } ] ], [ - 11611, + 12072, [ { "TestLessThan": { @@ -23703,13 +24809,13 @@ "b": { "Deref": { "register": "AP", - "offset": -1 + "offset": -3 } } } }, "rhs": { - "Immediate": "0x10000000000000000" + "Immediate": "0x100000000" }, "dst": { "register": "AP", @@ -23720,7 +24826,7 @@ ] ], [ - 11628, + 12095, [ { "AllocSegment": { @@ -23733,76 +24839,83 @@ ] ], [ - 11652, + 12110, [ { - "TestLessThan": { - "lhs": { - "Deref": { - "register": "AP", - "offset": 0 - } - }, - "rhs": { - "Immediate": "0x100000000" - }, + "AllocSegment": { "dst": { "register": "AP", - "offset": -1 + "offset": 0 } } } ] ], [ - 11676, + 12125, [ { - "TestLessThan": { - "lhs": { - "Deref": { - "register": "AP", - "offset": 0 - } - }, - "rhs": { - "Immediate": "0x100000000" - }, + "AllocSegment": { "dst": { "register": "AP", - "offset": -1 + "offset": 0 } } } ] ], [ - 11685, + 12140, [ { - "TestLessThan": { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 12153, + [ + { + "TestLessThanOrEqual": { "lhs": { - "Deref": { - "register": "AP", - "offset": 0 - } + "Immediate": "0x38ae" }, "rhs": { - "Immediate": "0x100000000" + "Deref": { + "register": "FP", + "offset": -8 + } }, "dst": { "register": "AP", - "offset": -1 + "offset": 0 } } } ] ], [ - 11702, + 12175, [ { - "AllocSegment": { + "TestLessThanOrEqual": { + "lhs": { + "Deref": { + "register": "AP", + "offset": -1 + } + }, + "rhs": { + "Deref": { + "register": "AP", + "offset": -2 + } + }, "dst": { "register": "AP", "offset": 0 @@ -23812,20 +24925,22 @@ ] ], [ - 11716, + 12200, [ { - "AllocSegment": { - "dst": { - "register": "AP", - "offset": 0 + "SystemCall": { + "system": { + "Deref": { + "register": "FP", + "offset": -7 + } } } } ] ], [ - 11732, + 12209, [ { "TestLessThan": { @@ -23833,19 +24948,19 @@ "BinOp": { "op": "Add", "a": { - "register": "AP", - "offset": -1 + "register": "FP", + "offset": -6 }, "b": { "Deref": { "register": "AP", - "offset": -8 + "offset": -4 } } } }, "rhs": { - "Immediate": "0x10000000000000000" + "Immediate": "0x100000000" }, "dst": { "register": "AP", @@ -23856,7 +24971,33 @@ ] ], [ - 11754, + 12232, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 12256, + [ + { + "AllocSegment": { + "dst": { + "register": "AP", + "offset": 0 + } + } + } + ] + ], + [ + 12270, [ { "AllocSegment": { @@ -23869,7 +25010,7 @@ ] ], [ - 11768, + 12293, [ { "AllocSegment": { @@ -23882,7 +25023,7 @@ ] ], [ - 11799, + 12325, [ { "TestLessThan": { @@ -23904,7 +25045,7 @@ ] ], [ - 11821, + 12347, [ { "TestLessThan": { @@ -23926,7 +25067,7 @@ ] ], [ - 11858, + 12384, [ { "TestLessThan": { @@ -23948,7 +25089,7 @@ ] ], [ - 11880, + 12406, [ { "TestLessThan": { @@ -23970,7 +25111,7 @@ ] ], [ - 11956, + 12482, [ { "AllocSegment": { @@ -23983,7 +25124,7 @@ ] ], [ - 12021, + 12547, [ { "TestLessThan": { @@ -24005,7 +25146,7 @@ ] ], [ - 12045, + 12571, [ { "TestLessThan": { @@ -24027,7 +25168,7 @@ ] ], [ - 12086, + 12612, [ { "TestLessThan": { @@ -24049,7 +25190,7 @@ ] ], [ - 12112, + 12638, [ { "TestLessThan": { @@ -24071,20 +25212,7 @@ ] ], [ - 12162, - [ - { - "AllocSegment": { - "dst": { - "register": "AP", - "offset": 0 - } - } - } - ] - ], - [ - 12176, + 12682, [ { "U256InvModN": { @@ -24141,7 +25269,7 @@ ] ], [ - 12194, + 12700, [ { "WideMul128": { @@ -24338,7 +25466,7 @@ ] ], [ - 12247, + 12753, [ { "WideMul128": { @@ -24391,7 +25519,7 @@ ] ], [ - 12251, + 12757, [ { "TestLessThan": { @@ -24413,7 +25541,7 @@ ] ], [ - 12265, + 12771, [ { "TestLessThan": { @@ -24435,7 +25563,7 @@ ] ], [ - 12278, + 12784, [ { "DivMod": { @@ -24461,7 +25589,7 @@ ] ], [ - 12288, + 12794, [ { "DivMod": { @@ -24487,7 +25615,7 @@ ] ], [ - 12299, + 12805, [ { "DivMod": { @@ -24513,7 +25641,7 @@ ] ], [ - 12308, + 12814, [ { "DivMod": { @@ -24539,7 +25667,7 @@ ] ], [ - 12318, + 12824, [ { "DivMod": { @@ -24565,7 +25693,7 @@ ] ], [ - 12329, + 12835, [ { "DivMod": { @@ -24591,7 +25719,7 @@ ] ], [ - 12338, + 12844, [ { "DivMod": { @@ -24617,7 +25745,7 @@ ] ], [ - 12348, + 12854, [ { "DivMod": { @@ -24643,7 +25771,7 @@ ] ], [ - 12359, + 12865, [ { "DivMod": { @@ -24669,7 +25797,7 @@ ] ], [ - 12368, + 12874, [ { "DivMod": { @@ -24695,7 +25823,7 @@ ] ], [ - 12378, + 12884, [ { "DivMod": { @@ -24721,7 +25849,7 @@ ] ], [ - 12389, + 12895, [ { "DivMod": { @@ -24747,7 +25875,7 @@ ] ], [ - 12398, + 12904, [ { "DivMod": { @@ -24773,7 +25901,7 @@ ] ], [ - 12408, + 12914, [ { "DivMod": { @@ -24799,7 +25927,7 @@ ] ], [ - 12419, + 12925, [ { "DivMod": { @@ -24825,7 +25953,7 @@ ] ], [ - 12428, + 12934, [ { "DivMod": { @@ -24851,7 +25979,7 @@ ] ], [ - 12438, + 12944, [ { "DivMod": { @@ -24877,7 +26005,7 @@ ] ], [ - 12449, + 12955, [ { "DivMod": { @@ -24903,7 +26031,7 @@ ] ], [ - 12458, + 12964, [ { "DivMod": { @@ -24929,7 +26057,7 @@ ] ], [ - 12468, + 12974, [ { "DivMod": { @@ -24955,7 +26083,7 @@ ] ], [ - 12479, + 12985, [ { "DivMod": { @@ -24981,7 +26109,7 @@ ] ], [ - 12488, + 12994, [ { "DivMod": { @@ -25007,7 +26135,7 @@ ] ], [ - 12498, + 13004, [ { "DivMod": { @@ -25033,7 +26161,7 @@ ] ], [ - 12509, + 13015, [ { "DivMod": { @@ -25059,7 +26187,7 @@ ] ], [ - 12553, + 13063, [ { "SystemCall": { @@ -25074,7 +26202,7 @@ ] ], [ - 12570, + 13080, [ { "SystemCall": { @@ -25089,7 +26217,7 @@ ] ], [ - 12582, + 13092, [ { "SystemCall": { @@ -25110,7 +26238,7 @@ ] ], [ - 12593, + 13103, [ { "SystemCall": { @@ -25131,7 +26259,7 @@ ] ], [ - 12603, + 13113, [ { "SystemCall": { @@ -25152,7 +26280,7 @@ ] ], [ - 12688, + 13198, [ { "AllocSegment": { @@ -25165,7 +26293,7 @@ ] ], [ - 12717, + 13227, [ { "DivMod": { @@ -25191,7 +26319,7 @@ ] ], [ - 12727, + 13237, [ { "DivMod": { @@ -25217,7 +26345,7 @@ ] ], [ - 12738, + 13248, [ { "DivMod": { @@ -25243,7 +26371,7 @@ ] ], [ - 12747, + 13257, [ { "DivMod": { @@ -25269,7 +26397,7 @@ ] ], [ - 12757, + 13267, [ { "DivMod": { @@ -25295,7 +26423,7 @@ ] ], [ - 12768, + 13278, [ { "DivMod": { @@ -25321,7 +26449,7 @@ ] ], [ - 12777, + 13287, [ { "AllocSegment": { @@ -25334,7 +26462,7 @@ ] ], [ - 12852, + 13362, [ { "TestLessThan": { @@ -25362,7 +26490,7 @@ ] ], [ - 12856, + 13366, [ { "LinearSplit": { @@ -25391,7 +26519,7 @@ ] ], [ - 12898, + 13408, [ { "TestLessThan": { @@ -25413,7 +26541,7 @@ ] ], [ - 12900, + 13410, [ { "DivMod": { @@ -25439,20 +26567,7 @@ ] ], [ - 12991, - [ - { - "AllocSegment": { - "dst": { - "register": "AP", - "offset": 0 - } - } - } - ] - ], - [ - 13002, + 13497, [ { "DivMod": { @@ -25481,7 +26596,7 @@ ] ], [ - 13008, + 13503, [ { "TestLessThan": { @@ -25503,7 +26618,7 @@ ] ], [ - 13019, + 13514, [ { "TestLessThan": { @@ -25525,7 +26640,7 @@ ] ], [ - 13029, + 13524, [ { "TestLessThan": { @@ -25547,20 +26662,7 @@ ] ], [ - 13052, - [ - { - "AllocSegment": { - "dst": { - "register": "AP", - "offset": 0 - } - } - } - ] - ], - [ - 13063, + 13538, [ { "DivMod": { @@ -25573,7 +26675,7 @@ "rhs": { "Deref": { "register": "AP", - "offset": -4 + "offset": -1 } }, "quotient": { @@ -25589,7 +26691,7 @@ ] ], [ - 13069, + 13544, [ { "TestLessThan": { @@ -25611,14 +26713,14 @@ ] ], [ - 13080, + 13558, [ { "TestLessThan": { "lhs": { "Deref": { "register": "AP", - "offset": -2 + "offset": -4 } }, "rhs": { @@ -25633,14 +26735,14 @@ ] ], [ - 13090, + 13568, [ { "TestLessThan": { "lhs": { "Deref": { "register": "AP", - "offset": -3 + "offset": -5 } }, "rhs": { @@ -25655,7 +26757,7 @@ ] ], [ - 13112, + 13590, [ { "AllocSegment": { @@ -25668,7 +26770,7 @@ ] ], [ - 13126, + 13604, [ { "AllocSegment": { @@ -25681,7 +26783,7 @@ ] ], [ - 13144, + 13622, [ { "AllocSegment": { @@ -25694,7 +26796,7 @@ ] ], [ - 13158, + 13636, [ { "AllocSegment": { @@ -25707,7 +26809,7 @@ ] ], [ - 13174, + 13652, [ { "TestLessThanOrEqual": { @@ -25729,7 +26831,7 @@ ] ], [ - 13201, + 13679, [ { "TestLessThan": { @@ -25751,7 +26853,7 @@ ] ], [ - 13218, + 13696, [ { "AllocSegment": { @@ -25764,7 +26866,7 @@ ] ], [ - 13243, + 13721, [ { "AllocSegment": { @@ -25777,7 +26879,7 @@ ] ], [ - 13264, + 13966, [ { "SystemCall": { @@ -25792,7 +26894,7 @@ ] ], [ - 13290, + 13992, [ { "SystemCall": { @@ -25807,20 +26909,7 @@ ] ], [ - 13310, - [ - { - "AllocSegment": { - "dst": { - "register": "AP", - "offset": 0 - } - } - } - ] - ], - [ - 13324, + 14006, [ { "U256InvModN": { @@ -25877,7 +26966,7 @@ ] ], [ - 13342, + 14024, [ { "WideMul128": { @@ -26074,7 +27163,7 @@ ] ], [ - 13395, + 14077, [ { "WideMul128": { @@ -26127,7 +27216,7 @@ ] ], [ - 13399, + 14081, [ { "TestLessThan": { @@ -26149,7 +27238,7 @@ ] ], [ - 13413, + 14095, [ { "TestLessThan": { @@ -26171,7 +27260,7 @@ ] ], [ - 13426, + 14108, [ { "DivMod": { @@ -26197,7 +27286,7 @@ ] ], [ - 13436, + 14118, [ { "DivMod": { @@ -26223,7 +27312,7 @@ ] ], [ - 13447, + 14129, [ { "DivMod": { @@ -26249,7 +27338,7 @@ ] ], [ - 13456, + 14138, [ { "DivMod": { @@ -26275,7 +27364,7 @@ ] ], [ - 13466, + 14148, [ { "DivMod": { @@ -26301,7 +27390,7 @@ ] ], [ - 13477, + 14159, [ { "DivMod": { @@ -26327,7 +27416,7 @@ ] ], [ - 13486, + 14168, [ { "DivMod": { @@ -26353,7 +27442,7 @@ ] ], [ - 13496, + 14178, [ { "DivMod": { @@ -26379,7 +27468,7 @@ ] ], [ - 13507, + 14189, [ { "DivMod": { @@ -26405,7 +27494,7 @@ ] ], [ - 13516, + 14198, [ { "DivMod": { @@ -26431,7 +27520,7 @@ ] ], [ - 13526, + 14208, [ { "DivMod": { @@ -26457,7 +27546,7 @@ ] ], [ - 13537, + 14219, [ { "DivMod": { @@ -26483,7 +27572,7 @@ ] ], [ - 13546, + 14228, [ { "DivMod": { @@ -26509,7 +27598,7 @@ ] ], [ - 13556, + 14238, [ { "DivMod": { @@ -26535,7 +27624,7 @@ ] ], [ - 13567, + 14249, [ { "DivMod": { @@ -26561,7 +27650,7 @@ ] ], [ - 13576, + 14258, [ { "DivMod": { @@ -26587,7 +27676,7 @@ ] ], [ - 13586, + 14268, [ { "DivMod": { @@ -26613,7 +27702,7 @@ ] ], [ - 13597, + 14279, [ { "DivMod": { @@ -26639,7 +27728,7 @@ ] ], [ - 13606, + 14288, [ { "DivMod": { @@ -26665,7 +27754,7 @@ ] ], [ - 13616, + 14298, [ { "DivMod": { @@ -26691,7 +27780,7 @@ ] ], [ - 13627, + 14309, [ { "DivMod": { @@ -26717,7 +27806,7 @@ ] ], [ - 13636, + 14318, [ { "DivMod": { @@ -26743,7 +27832,7 @@ ] ], [ - 13646, + 14328, [ { "DivMod": { @@ -26769,7 +27858,7 @@ ] ], [ - 13657, + 14339, [ { "DivMod": { @@ -26795,7 +27884,7 @@ ] ], [ - 13679, + 14363, [ { "TestLessThan": { @@ -26817,7 +27906,7 @@ ] ], [ - 13704, + 14388, [ { "TestLessThan": { @@ -26839,7 +27928,7 @@ ] ], [ - 13724, + 14408, [ { "TestLessThan": { @@ -26861,7 +27950,7 @@ ] ], [ - 13767, + 14453, [ { "SystemCall": { @@ -26876,7 +27965,7 @@ ] ], [ - 13779, + 14465, [ { "SystemCall": { @@ -26897,7 +27986,7 @@ ] ], [ - 13790, + 14476, [ { "SystemCall": { @@ -26918,7 +28007,7 @@ ] ], [ - 13836, + 14522, [ { "AllocSegment": { @@ -26931,7 +28020,7 @@ ] ], [ - 13852, + 14538, [ { "DivMod": { @@ -26957,7 +28046,7 @@ ] ], [ - 13862, + 14548, [ { "DivMod": { @@ -26983,7 +28072,7 @@ ] ], [ - 13873, + 14559, [ { "DivMod": { @@ -27009,7 +28098,7 @@ ] ], [ - 13882, + 14568, [ { "DivMod": { @@ -27035,7 +28124,7 @@ ] ], [ - 13892, + 14578, [ { "DivMod": { @@ -27061,7 +28150,7 @@ ] ], [ - 13903, + 14589, [ { "DivMod": { @@ -27087,7 +28176,7 @@ ] ], [ - 13912, + 14598, [ { "AllocSegment": { @@ -27100,7 +28189,7 @@ ] ], [ - 13929, + 14615, [ { "AllocSegment": { @@ -27113,7 +28202,7 @@ ] ], [ - 13986, + 14672, [ { "SystemCall": { @@ -27128,10 +28217,13 @@ ] ], [ - 13989, + 14679, [ { - "AllocSegment": { + "AllocConstantSize": { + "size": { + "Immediate": "0x4" + }, "dst": { "register": "AP", "offset": 0 @@ -27141,7 +28233,7 @@ ] ], [ - 13999, + 14683, [ { "AllocSegment": { @@ -27154,14 +28246,14 @@ ] ], [ - 14034, + 14718, [ { "SystemCall": { "system": { "Deref": { "register": "FP", - "offset": 0 + "offset": 1 } } } @@ -27169,33 +28261,20 @@ ] ], [ - 14116, - [ - { - "AllocSegment": { - "dst": { - "register": "AP", - "offset": 0 - } - } - } - ] - ], - [ - 14131, + 14791, [ { "DivMod": { "lhs": { "Deref": { "register": "AP", - "offset": -1 + "offset": -2 } }, "rhs": { "Deref": { "register": "AP", - "offset": -6 + "offset": -1 } }, "quotient": { @@ -27211,7 +28290,7 @@ ] ], [ - 14137, + 14797, [ { "TestLessThan": { @@ -27233,7 +28312,7 @@ ] ], [ - 14200, + 14864, [ { "WideMul128": { @@ -27262,7 +28341,7 @@ ] ], [ - 14202, + 14866, [ { "DivMod": { @@ -27288,7 +28367,7 @@ ] ], [ - 14212, + 14876, [ { "DivMod": { @@ -27314,7 +28393,7 @@ ] ], [ - 14223, + 14887, [ { "DivMod": { @@ -27340,7 +28419,7 @@ ] ], [ - 14232, + 14896, [ { "WideMul128": { @@ -27369,7 +28448,7 @@ ] ], [ - 14234, + 14898, [ { "DivMod": { @@ -27395,7 +28474,7 @@ ] ], [ - 14244, + 14908, [ { "DivMod": { @@ -27421,7 +28500,7 @@ ] ], [ - 14255, + 14919, [ { "DivMod": { @@ -27447,7 +28526,7 @@ ] ], [ - 14265, + 14929, [ { "TestLessThan": { @@ -27469,7 +28548,7 @@ ] ], [ - 14287, + 14951, [ { "WideMul128": { @@ -27498,7 +28577,7 @@ ] ], [ - 14289, + 14953, [ { "DivMod": { @@ -27524,7 +28603,7 @@ ] ], [ - 14299, + 14963, [ { "DivMod": { @@ -27550,7 +28629,7 @@ ] ], [ - 14310, + 14974, [ { "DivMod": { @@ -27576,7 +28655,7 @@ ] ], [ - 14320, + 14984, [ { "TestLessThan": { @@ -27598,7 +28677,7 @@ ] ], [ - 14343, + 15007, [ { "TestLessThan": { @@ -27620,7 +28699,7 @@ ] ], [ - 14365, + 15029, [ { "WideMul128": { @@ -27649,7 +28728,7 @@ ] ], [ - 14367, + 15031, [ { "DivMod": { @@ -27675,7 +28754,7 @@ ] ], [ - 14377, + 15041, [ { "DivMod": { @@ -27701,7 +28780,7 @@ ] ], [ - 14388, + 15052, [ { "DivMod": { @@ -27727,7 +28806,7 @@ ] ], [ - 14398, + 15062, [ { "TestLessThan": { @@ -27749,7 +28828,7 @@ ] ], [ - 14417, + 15081, [ { "TestLessThan": { @@ -27771,7 +28850,7 @@ ] ], [ - 14440, + 15104, [ { "TestLessThan": { @@ -27793,7 +28872,7 @@ ] ], [ - 14459, + 15123, [ { "TestLessThan": { @@ -27815,7 +28894,7 @@ ] ], [ - 14478, + 15142, [ { "TestLessThan": { @@ -27837,7 +28916,7 @@ ] ], [ - 14501, + 15165, [ { "TestLessThan": { @@ -27859,7 +28938,7 @@ ] ], [ - 14523, + 15187, [ { "Uint512DivModByUint256": { @@ -27928,7 +29007,7 @@ ] ], [ - 14541, + 15205, [ { "WideMul128": { @@ -28053,7 +29132,7 @@ ] ], [ - 14570, + 15234, [ { "TestLessThan": { @@ -28078,7 +29157,7 @@ ] ], [ - 14582, + 15246, [ { "TestLessThan": { @@ -28103,7 +29182,7 @@ ] ], [ - 14597, + 15261, [ { "DivMod": { @@ -28129,7 +29208,7 @@ ] ], [ - 14607, + 15271, [ { "DivMod": { @@ -28155,7 +29234,7 @@ ] ], [ - 14618, + 15282, [ { "DivMod": { @@ -28181,7 +29260,7 @@ ] ], [ - 14627, + 15291, [ { "DivMod": { @@ -28207,7 +29286,7 @@ ] ], [ - 14637, + 15301, [ { "DivMod": { @@ -28233,7 +29312,7 @@ ] ], [ - 14648, + 15312, [ { "DivMod": { @@ -28259,7 +29338,7 @@ ] ], [ - 14657, + 15321, [ { "DivMod": { @@ -28285,7 +29364,7 @@ ] ], [ - 14667, + 15331, [ { "DivMod": { @@ -28311,7 +29390,7 @@ ] ], [ - 14678, + 15342, [ { "DivMod": { @@ -28337,7 +29416,7 @@ ] ], [ - 14687, + 15351, [ { "DivMod": { @@ -28363,7 +29442,7 @@ ] ], [ - 14697, + 15361, [ { "DivMod": { @@ -28389,7 +29468,7 @@ ] ], [ - 14708, + 15372, [ { "DivMod": { @@ -28415,7 +29494,7 @@ ] ], [ - 14717, + 15381, [ { "DivMod": { @@ -28441,7 +29520,7 @@ ] ], [ - 14727, + 15391, [ { "DivMod": { @@ -28467,7 +29546,7 @@ ] ], [ - 14738, + 15402, [ { "DivMod": { @@ -28493,7 +29572,7 @@ ] ], [ - 14762, + 15426, [ { "TestLessThanOrEqual": { @@ -28518,20 +29597,7 @@ ] ], [ - 14837, - [ - { - "AllocSegment": { - "dst": { - "register": "AP", - "offset": 0 - } - } - } - ] - ], - [ - 14898, + 15501, [ { "AllocSegment": { @@ -28544,20 +29610,20 @@ ] ], [ - 14909, + 15556, [ { "DivMod": { "lhs": { "Deref": { "register": "AP", - "offset": -1 + "offset": -2 } }, "rhs": { "Deref": { "register": "AP", - "offset": -3 + "offset": -1 } }, "quotient": { @@ -28573,7 +29639,7 @@ ] ], [ - 14915, + 15562, [ { "TestLessThan": { @@ -28595,14 +29661,14 @@ ] ], [ - 14926, + 15575, [ { "TestLessThan": { "lhs": { "Deref": { "register": "AP", - "offset": -2 + "offset": -3 } }, "rhs": { @@ -28617,14 +29683,14 @@ ] ], [ - 14936, + 15585, [ { "TestLessThan": { "lhs": { "Deref": { "register": "AP", - "offset": -3 + "offset": -4 } }, "rhs": { @@ -28639,33 +29705,20 @@ ] ], [ - 14995, - [ - { - "AllocSegment": { - "dst": { - "register": "AP", - "offset": 0 - } - } - } - ] - ], - [ - 15006, + 15633, [ { "DivMod": { "lhs": { "Deref": { "register": "AP", - "offset": -1 + "offset": -2 } }, "rhs": { "Deref": { "register": "AP", - "offset": -6 + "offset": -1 } }, "quotient": { @@ -28681,7 +29734,7 @@ ] ], [ - 15012, + 15639, [ { "TestLessThan": { @@ -28703,14 +29756,14 @@ ] ], [ - 15023, + 15655, [ { "TestLessThan": { "lhs": { "Deref": { "register": "AP", - "offset": -2 + "offset": -5 } }, "rhs": { @@ -28725,14 +29778,14 @@ ] ], [ - 15033, + 15665, [ { "TestLessThan": { "lhs": { "Deref": { "register": "AP", - "offset": -3 + "offset": -6 } }, "rhs": { @@ -28747,7 +29800,7 @@ ] ], [ - 15056, + 15688, [ { "AllocSegment": { @@ -28760,7 +29813,7 @@ ] ], [ - 15070, + 15702, [ { "AllocSegment": { @@ -28773,7 +29826,7 @@ ] ], [ - 15089, + 15721, [ { "AllocSegment": { @@ -28786,7 +29839,7 @@ ] ], [ - 15103, + 15735, [ { "AllocSegment": { @@ -28803,7 +29856,7 @@ "EXTERNAL": [ { "selector": "0x1143aa89c8e3ebf8ed14df2a3606c1cd2dd513fac8040b0f8ab441f5c52fe4", - "offset": 3877, + "offset": 3981, "builtins": [ "range_check" ] @@ -28817,28 +29870,28 @@ }, { "selector": "0x5562b3e932b4d139366854d5a2e578382e6a3b6572ac9943d55e7efbe43d00", - "offset": 3279, + "offset": 3383, "builtins": [ "range_check" ] }, { "selector": "0x600c98a299d72ef1e09a2e1503206fbc76081233172c65f7e2438ef0069d8d", - "offset": 4016, + "offset": 4120, "builtins": [ "range_check" ] }, { "selector": "0x62c83572d28cb834a3de3c1e94977a4191469a4a8c26d1d7bc55305e640ed5", - "offset": 3460, + "offset": 3564, "builtins": [ "range_check" ] }, { "selector": "0x679c22735055a10db4f275395763a3752a1e3a3043c192299ab6b574fba8d6", - "offset": 4862, + "offset": 4966, "builtins": [ "range_check", "ec_op" @@ -28846,7 +29899,7 @@ }, { "selector": "0x7772be8b80a8a33dc6c1f9a6ab820c02e537c73e859de67f288c70f92571bb", - "offset": 4507, + "offset": 4611, "builtins": [ "pedersen", "range_check", @@ -28884,7 +29937,7 @@ }, { "selector": "0x12ead94ae9d3f9d2bdb6b847cf255f1f398193a1f88884a0ae8e18f24a037b6", - "offset": 5123, + "offset": 5227, "builtins": [ "range_check" ] @@ -28905,7 +29958,7 @@ }, { "selector": "0x1ae1a515cf2d214b29bdf63a79ee2d490efd4dd1acc99d383a8e549c3cecb5d", - "offset": 4973, + "offset": 5077, "builtins": [ "pedersen", "range_check" @@ -28934,14 +29987,14 @@ }, { "selector": "0x30f842021fbf02caf80d09a113997c1e00a32870eee0c6136bed27acb348bea", - "offset": 4655, + "offset": 4759, "builtins": [ "range_check" ] }, { "selector": "0x317eb442b72a9fae758d4fb26830ed0d9f31c8e7da4dbff4e8c59ea6a158e7f", - "offset": 4283, + "offset": 4387, "builtins": [ "pedersen", "range_check" @@ -28949,7 +30002,7 @@ }, { "selector": "0x32564d7e0fe091d49b4c20f4632191e4ed6986bf993849879abfef9465def25", - "offset": 3645, + "offset": 3749, "builtins": [ "range_check" ] @@ -28962,8 +30015,15 @@ ] }, { - "selector": "0x38be5d5f7bf135b52888ba3e440a457d11107aca3f6542e574b016bf3f074d8", + "selector": "0x382be990ca34815134e64a9ac28f41a907c62e5ad10547f97174362ab94dc89", "offset": 3062, + "builtins": [ + "range_check" + ] + }, + { + "selector": "0x38be5d5f7bf135b52888ba3e440a457d11107aca3f6542e574b016bf3f074d8", + "offset": 3166, "builtins": [ "range_check", "bitwise" @@ -28985,14 +30045,14 @@ }, { "selector": "0x3d95049b565ec2d4197a55108ef03996381d31c84acf392a0a42b28163d69d1", - "offset": 3175, + "offset": 3279, "builtins": [ "range_check" ] }, { "selector": "0x3eb640b15f75fcc06d43182cdb94ed38c8e71755d5fb57c16dd673b466db1d4", - "offset": 3738, + "offset": 3842, "builtins": [ "range_check" ] @@ -29001,14 +30061,14 @@ "L1_HANDLER": [ { "selector": "0x205500a208d0d49d79197fea83cc3f5fde99ac2e1909ae0a5d9f394c0c52ed0", - "offset": 5440, + "offset": 5544, "builtins": [ "range_check" ] }, { "selector": "0x39edbbb129ad752107a94d40c3873cae369a46fd2fc578d075679aa67e85d12", - "offset": 5279, + "offset": 5383, "builtins": [ "range_check" ] @@ -29017,11 +30077,11 @@ "CONSTRUCTOR": [ { "selector": "0x28ffe4ff0f226a9107253e17a904099aa4f63a02a5621de0576e5aa71bc5194", - "offset": 5690, + "offset": 5794, "builtins": [ "range_check" ] } ] } -} +} \ No newline at end of file diff --git a/crates/blockifier/feature_contracts/cairo1/test_contract.cairo b/crates/blockifier/feature_contracts/cairo1/test_contract.cairo index 02998e1e50..d6a8d42936 100644 --- a/crates/blockifier/feature_contracts/cairo1/test_contract.cairo +++ b/crates/blockifier/feature_contracts/cairo1/test_contract.cairo @@ -1,6 +1,7 @@ #[starknet::contract] mod TestContract { use box::BoxTrait; + use core::sha256::{compute_sha256_u32_array, sha256_state_handle_init, SHA256_INITIAL_STATE}; use dict::Felt252DictTrait; use ec::EcPointTrait; use starknet::ClassHash; @@ -220,6 +221,16 @@ mod TestContract { } } + #[external(v0)] + fn test_sha256(ref self: ContractState) { + let mut input: Array:: = Default::default(); + input.append('aaaa'); + + // Test the sha256 syscall computation of the string 'aaaa'. + let [res, _, _, _, _, _, _, _,] = compute_sha256_u32_array(input, 0, 0); + assert(res == 0x61be55a8, 'Wrong hash value'); + } + #[external(v0)] fn test_secp256k1(ref self: ContractState) { // Test a point not on the curve. diff --git a/crates/blockifier/resources/versioned_constants.json b/crates/blockifier/resources/versioned_constants.json index bf60b07012..d333ecf6a0 100644 --- a/crates/blockifier/resources/versioned_constants.json +++ b/crates/blockifier/resources/versioned_constants.json @@ -84,9 +84,16 @@ "library_call_gas_cost": { "call_contract_gas_cost": 1 }, + "sha256_process_block_gas_cost": { + "step_gas_cost": 1852, + "range_check_gas_cost": 65, + "bitwise_builtin_gas_cost": 1115, + "syscall_base_gas_cost": 1 + }, "memory_hole_gas_cost": 10, "nop_entry_point_offset": -1, "range_check_gas_cost": 70, + "bitwise_builtin_gas_cost": 594, "replace_class_gas_cost": { "step_gas_cost": 50, "syscall_base_gas_cost": 1 @@ -274,6 +281,14 @@ }, "n_memory_holes": 0 }, + "Sha256ProcessBlock": { + "builtin_instance_counter": { + "range_check_builtin": 65, + "bitwise_builtin": 1115 + }, + "n_memory_holes": 0, + "n_steps": 1852 + }, "LibraryCall": { "n_steps": 681, "builtin_instance_counter": { diff --git a/crates/blockifier/resources/versioned_constants_13_0.json b/crates/blockifier/resources/versioned_constants_13_0.json index d21317ef2b..484c1a2fa7 100644 --- a/crates/blockifier/resources/versioned_constants_13_0.json +++ b/crates/blockifier/resources/versioned_constants_13_0.json @@ -137,6 +137,11 @@ "syscall_base_gas_cost": 1 }, "keccak_round_cost_gas_cost": 180000, + "sha256_process_block_gas_cost": { + "step_gas_cost": 0, + "range_check_gas_cost": 0, + "syscall_base_gas_cost": 0 + }, "error_block_number_out_of_range": "Block number out of range", "error_out_of_gas": "Out of gas", "error_invalid_input_len": "Invalid input length", @@ -239,6 +244,11 @@ "n_memory_holes": 0, "n_steps": 381 }, + "Sha256ProcessBlock": { + "builtin_instance_counter": {}, + "n_memory_holes": 0, + "n_steps": 0 + }, "LibraryCall": { "builtin_instance_counter": { "range_check_builtin": 19 diff --git a/crates/blockifier/resources/versioned_constants_13_1.json b/crates/blockifier/resources/versioned_constants_13_1.json index db26ed01be..3dfac17220 100644 --- a/crates/blockifier/resources/versioned_constants_13_1.json +++ b/crates/blockifier/resources/versioned_constants_13_1.json @@ -158,6 +158,11 @@ "syscall_base_gas_cost": 1 }, "keccak_round_cost_gas_cost": 180000, + "sha256_process_block_gas_cost": { + "step_gas_cost": 0, + "range_check_gas_cost": 0, + "syscall_base_gas_cost": 0 + }, "error_block_number_out_of_range": "Block number out of range", "error_out_of_gas": "Out of gas", "error_invalid_input_len": "Invalid input length", @@ -274,6 +279,11 @@ }, "n_memory_holes": 0 }, + "Sha256ProcessBlock": { + "builtin_instance_counter": {}, + "n_memory_holes": 0, + "n_steps": 0 + }, "LibraryCall": { "n_steps": 751, "builtin_instance_counter": { diff --git a/crates/blockifier/resources/versioned_constants_13_1_1.json b/crates/blockifier/resources/versioned_constants_13_1_1.json index 0087955c8a..b70a67fbd9 100644 --- a/crates/blockifier/resources/versioned_constants_13_1_1.json +++ b/crates/blockifier/resources/versioned_constants_13_1_1.json @@ -158,6 +158,11 @@ "syscall_base_gas_cost": 1 }, "keccak_round_cost_gas_cost": 180000, + "sha256_process_block_gas_cost": { + "step_gas_cost": 0, + "range_check_gas_cost": 0, + "syscall_base_gas_cost": 0 + }, "error_block_number_out_of_range": "Block number out of range", "error_out_of_gas": "Out of gas", "error_invalid_input_len": "Invalid input length", @@ -274,6 +279,11 @@ }, "n_memory_holes": 0 }, + "Sha256ProcessBlock": { + "builtin_instance_counter": {}, + "n_memory_holes": 0, + "n_steps": 0 + }, "LibraryCall": { "n_steps": 751, "builtin_instance_counter": { diff --git a/crates/blockifier/src/execution/deprecated_syscalls/mod.rs b/crates/blockifier/src/execution/deprecated_syscalls/mod.rs index 6a216c3c7d..1a3d8eb7a1 100644 --- a/crates/blockifier/src/execution/deprecated_syscalls/mod.rs +++ b/crates/blockifier/src/execution/deprecated_syscalls/mod.rs @@ -52,6 +52,7 @@ pub enum DeprecatedSyscallSelector { GetTxInfo, GetTxSignature, Keccak, + Sha256ProcessBlock, LibraryCall, LibraryCallL1Handler, ReplaceClass, @@ -93,6 +94,7 @@ impl TryFrom for DeprecatedSyscallSelector { b"GetTxInfo" => Ok(Self::GetTxInfo), b"GetTxSignature" => Ok(Self::GetTxSignature), b"Keccak" => Ok(Self::Keccak), + b"Sha256ProcessBlock" => Ok(Self::Sha256ProcessBlock), b"LibraryCall" => Ok(Self::LibraryCall), b"LibraryCallL1Handler" => Ok(Self::LibraryCallL1Handler), b"ReplaceClass" => Ok(Self::ReplaceClass), diff --git a/crates/blockifier/src/execution/stack_trace_test.rs b/crates/blockifier/src/execution/stack_trace_test.rs index f62b707297..5d0b86efc3 100644 --- a/crates/blockifier/src/execution/stack_trace_test.rs +++ b/crates/blockifier/src/execution/stack_trace_test.rs @@ -239,7 +239,7 @@ Unknown location (pc=0:{expected_pc1}) Error at pc=0:767: 1: Error in the called contract (contract address: {contract_address_felt}, class hash: \ {test_contract_hash}, selector: {invoke_call_chain_selector_felt}): -Error at pc=0:9228: +Error at pc=0:9381: Cairo traceback (most recent call last): Unknown location (pc=0:{pc_location}) @@ -259,10 +259,10 @@ Execution failed. Failure reason: {expected_error}. #[case(CairoVersion::Cairo0, "invoke_call_chain", "Couldn't compute operand op0. Unknown value for memory cell 1:23", 1_u8, 1_u8, (49_u16, 1111_u16, 1081_u16, 1166_u16))] #[case(CairoVersion::Cairo0, "fail", "An ASSERT_EQ instruction failed: 1 != 0.", 0_u8, 0_u8, (37_u16, 1093_u16, 1184_u16, 1188_u16))] #[case(CairoVersion::Cairo0, "fail", "An ASSERT_EQ instruction failed: 1 != 0.", 0_u8, 1_u8, (49_u16, 1111_u16, 1184_u16, 1188_u16))] -#[case(CairoVersion::Cairo1, "invoke_call_chain", "0x4469766973696f6e2062792030 ('Division by 0')", 1_u8, 0_u8, (9228_u16, 9228_u16, 0_u16, 0_u16))] -#[case(CairoVersion::Cairo1, "invoke_call_chain", "0x4469766973696f6e2062792030 ('Division by 0')", 1_u8, 1_u8, (9228_u16, 9297_u16, 0_u16, 0_u16))] -#[case(CairoVersion::Cairo1, "fail", "0x6661696c ('fail')", 0_u8, 0_u8, (9228_u16, 9228_u16, 0_u16, 0_u16))] -#[case(CairoVersion::Cairo1, "fail", "0x6661696c ('fail')", 0_u8, 1_u8, (9228_u16, 9297_u16, 0_u16, 0_u16))] +#[case(CairoVersion::Cairo1, "invoke_call_chain", "0x4469766973696f6e2062792030 ('Division by 0')", 1_u8, 0_u8, (9381_u16, 9381_u16, 0_u16, 0_u16))] +#[case(CairoVersion::Cairo1, "invoke_call_chain", "0x4469766973696f6e2062792030 ('Division by 0')", 1_u8, 1_u8, (9381_u16, 9450_u16, 0_u16, 0_u16))] +#[case(CairoVersion::Cairo1, "fail", "0x6661696c ('fail')", 0_u8, 0_u8, (9381_u16, 9381_u16, 0_u16, 0_u16))] +#[case(CairoVersion::Cairo1, "fail", "0x6661696c ('fail')", 0_u8, 1_u8, (9381_u16, 9450_u16, 0_u16, 0_u16))] fn test_trace_call_chain_with_syscalls( block_context: BlockContext, #[case] cairo_version: CairoVersion, diff --git a/crates/blockifier/src/execution/syscalls/hint_processor.rs b/crates/blockifier/src/execution/syscalls/hint_processor.rs index 605f4b4ee4..34c9c5dca1 100644 --- a/crates/blockifier/src/execution/syscalls/hint_processor.rs +++ b/crates/blockifier/src/execution/syscalls/hint_processor.rs @@ -40,9 +40,9 @@ use crate::execution::syscalls::secp::{ }; use crate::execution::syscalls::{ call_contract, deploy, emit_event, get_block_hash, get_execution_info, keccak, library_call, - library_call_l1_handler, replace_class, send_message_to_l1, storage_read, storage_write, - StorageReadResponse, StorageWriteResponse, SyscallRequest, SyscallRequestWrapper, - SyscallResponse, SyscallResponseWrapper, SyscallResult, SyscallSelector, + library_call_l1_handler, replace_class, send_message_to_l1, sha_256_process_block, + storage_read, storage_write, StorageReadResponse, StorageWriteResponse, SyscallRequest, + SyscallRequestWrapper, SyscallResponse, SyscallResponseWrapper, SyscallResult, SyscallSelector, }; use crate::state::errors::StateError; use crate::state::state_api::State; @@ -205,6 +205,8 @@ pub struct SyscallHintProcessor<'a> { pub secp256k1_hint_processor: SecpHintProcessor, pub secp256r1_hint_processor: SecpHintProcessor, + pub sha256_segment_end_ptr: Option, + // Additional fields. hints: &'a HashMap, // Transaction info. and signature segments; allocated on-demand. @@ -238,6 +240,7 @@ impl<'a> SyscallHintProcessor<'a> { execution_info_ptr: None, secp256k1_hint_processor: SecpHintProcessor::default(), secp256r1_hint_processor: SecpHintProcessor::default(), + sha256_segment_end_ptr: None, } } @@ -320,6 +323,11 @@ impl<'a> SyscallHintProcessor<'a> { SyscallSelector::Keccak => { self.execute_syscall(vm, keccak, self.context.gas_costs().keccak_gas_cost) } + SyscallSelector::Sha256ProcessBlock => self.execute_syscall( + vm, + sha_256_process_block, + self.context.gas_costs().sha256_process_block_gas_cost, + ), SyscallSelector::LibraryCall => self.execute_syscall( vm, library_call, diff --git a/crates/blockifier/src/execution/syscalls/mod.rs b/crates/blockifier/src/execution/syscalls/mod.rs index 14ea0fa7d3..67dfdc0c3d 100644 --- a/crates/blockifier/src/execution/syscalls/mod.rs +++ b/crates/blockifier/src/execution/syscalls/mod.rs @@ -1,5 +1,5 @@ use cairo_felt::Felt252; -use cairo_vm::types::relocatable::Relocatable; +use cairo_vm::types::relocatable::{MaybeRelocatable, Relocatable}; use cairo_vm::vm::vm_core::VirtualMachine; use num_traits::ToPrimitive; use starknet_api::block::{BlockHash, BlockNumber}; @@ -728,3 +728,77 @@ pub fn keccak( result_high: (Felt252::from(state[3]) << 64u32) + Felt252::from(state[2]), }) } + +// Sha256ProcessBlock syscall. +#[derive(Debug, Eq, PartialEq)] +pub struct Sha256ProcessBlockRequest { + pub state_ptr: Relocatable, + pub input_start: Relocatable, +} + +impl SyscallRequest for Sha256ProcessBlockRequest { + fn read( + vm: &VirtualMachine, + ptr: &mut Relocatable, + ) -> SyscallResult { + let state_start = vm.get_relocatable(*ptr)?; + *ptr = (*ptr + 1)?; + let input_start = vm.get_relocatable(*ptr)?; + *ptr = (*ptr + 1)?; + Ok(Sha256ProcessBlockRequest { state_ptr: state_start, input_start }) + } +} + +#[derive(Debug, Eq, PartialEq)] +pub struct Sha256ProcessBlockResponse { + pub state_ptr: Relocatable, +} + +impl SyscallResponse for Sha256ProcessBlockResponse { + fn write(self, vm: &mut VirtualMachine, ptr: &mut Relocatable) -> WriteResponseResult { + write_maybe_relocatable(vm, ptr, self.state_ptr)?; + Ok(()) + } +} + +pub fn sha_256_process_block( + request: Sha256ProcessBlockRequest, + vm: &mut VirtualMachine, + syscall_handler: &mut SyscallHintProcessor<'_>, + _remaining_gas: &mut u64, +) -> SyscallResult { + const SHA256_BLOCK_SIZE: usize = 16; + + let data = vm.get_integer_range(request.input_start, SHA256_BLOCK_SIZE)?; + const SHA256_STATE_SIZE: usize = 8; + let prev_state = vm.get_integer_range(request.state_ptr, SHA256_STATE_SIZE)?; + + let data_as_bytes = + sha2::digest::generic_array::GenericArray::from_exact_iter(data.iter().flat_map(|felt| { + felt.to_bigint() + .to_u32() + .expect("libfunc should ensure the input is an [u32; 16].") + .to_be_bytes() + })) + .expect( + "u32.to_be_bytes() returns 4 bytes, and data.len() == 16. So data contains 64 bytes.", + ); + + let mut state_as_words: [u32; SHA256_STATE_SIZE] = core::array::from_fn(|i| { + prev_state[i].to_bigint().to_u32().expect( + "libfunc only accepts SHA256StateHandle which can only be created from an Array.", + ) + }); + + sha2::compress256(&mut state_as_words, &[data_as_bytes]); + + let segment = syscall_handler.sha256_segment_end_ptr.unwrap_or(vm.add_memory_segment()); + + let response = segment; + let data: Vec = + state_as_words.iter().map(|&arg| MaybeRelocatable::from(Felt252::from(arg))).collect(); + + syscall_handler.sha256_segment_end_ptr = Some(vm.load_data(segment, &data)?); + + Ok(Sha256ProcessBlockResponse { state_ptr: response }) +} diff --git a/crates/blockifier/src/execution/syscalls/syscalls_test.rs b/crates/blockifier/src/execution/syscalls/syscalls_test.rs index e3ac91fcc5..6f2fa770d2 100644 --- a/crates/blockifier/src/execution/syscalls/syscalls_test.rs +++ b/crates/blockifier/src/execution/syscalls/syscalls_test.rs @@ -262,7 +262,26 @@ fn test_keccak() { assert_eq!( entry_point_call.execute_directly(&mut state).unwrap().execution, - CallExecution { gas_consumed: 256950, ..CallExecution::from_retdata(retdata![]) } + CallExecution { gas_consumed: 256250, ..CallExecution::from_retdata(retdata![]) } + ); +} + +#[test] +fn test_sha256() { + let test_contract = FeatureContract::TestContract(CairoVersion::Cairo1); + let chain_info = &ChainInfo::create_for_testing(); + let mut state = test_state(chain_info, BALANCE, &[(test_contract, 1)]); + + let calldata = Calldata(vec![].into()); + let entry_point_call = CallEntryPoint { + entry_point_selector: selector_from_name("test_sha256"), + calldata, + ..trivial_external_entry_point_new(test_contract) + }; + + assert_eq!( + entry_point_call.execute_directly(&mut state).unwrap().execution, + CallExecution { gas_consumed: 895830, ..CallExecution::from_retdata(retdata![]) } ); } @@ -740,7 +759,7 @@ fn test_secp256k1() { assert_eq!( entry_point_call.execute_directly(&mut state).unwrap().execution, - CallExecution { gas_consumed: 17035610_u64, ..Default::default() } + CallExecution { gas_consumed: 17033810_u64, ..Default::default() } ); } @@ -759,7 +778,7 @@ fn test_secp256r1() { assert_eq!( entry_point_call.execute_directly(&mut state).unwrap().execution, - CallExecution { gas_consumed: 27582560_u64, ..Default::default() } + CallExecution { gas_consumed: 27582260_u64, ..Default::default() } ); } diff --git a/crates/blockifier/src/versioned_constants.rs b/crates/blockifier/src/versioned_constants.rs index a90c146a42..aa5d9a3abd 100644 --- a/crates/blockifier/src/versioned_constants.rs +++ b/crates/blockifier/src/versioned_constants.rs @@ -441,6 +441,7 @@ pub struct GasCosts { pub secp256r1_new_gas_cost: u64, pub keccak_gas_cost: u64, pub keccak_round_cost_gas_cost: u64, + pub sha256_process_block_gas_cost: u64, } // Below, serde first deserializes the json into a regular IndexMap wrapped by the newtype