diff --git a/codex-plonky2-circuits/README.md b/codex-plonky2-circuits/README.md
index 86da0bd..83c96e7 100644
--- a/codex-plonky2-circuits/README.md
+++ b/codex-plonky2-circuits/README.md
@@ -11,46 +11,19 @@ This crate is an implementation of the [codex storage proofs circuits](https://g
- [`sample_cells`](./src/circuits/sample_cells.rs) is the Plonky2 Circuit implementation for sampling cells in dataset merkle tree.
+- [`keyed_compress`](./src/circuits/keyed_compress.rs) is the compression function used in the construction (and reconstruction) of the Merkle tree root. The function takes 2 hash digest (4 Goldilocks field elements each) and a key, then outputs a single hash digest.
+
+- [`sponge`](./src/circuits/sponge.rs) contains the hash function (with and without padding) used to hash cells and during sampling.
+
- [`params`](./src/circuits/params.rs) is the parameters used in the circuits.
- [`utils`](./src/circuits/utils.rs) contains helper functions.
+## Documentation
+writeup coming soon...
+
## Usage
-TODO!
+see [`workflow`](../workflow) for how to use the circuits and run them.
## Benchmarks
-In here we show the preliminary benchmarks of codex storage proofs circuits.
-
-### Running benchmarks
-To run the benchmarks for safe merkle tree circuit, you can use the following command:
-
-```bash
-cargo bench --bench safe_circuit
-```
-To run the benchmarks for proving cells circuit, you can use the following command:
-Note: make sure to adjust the parameters as need in [`params`](./src/circuits/params.rs)
-
-```bash
-cargo bench --bench prove_cells
-```
-
-To run the benchmarks for sampling circuit, you can use the following command:
-Note: make sure to adjust the parameters as need in [`params`](./src/circuits/params.rs)
-
-```bash
-cargo bench --bench sample_cells
-```
-
-### Results
-Benchmark results for proving 10 cells (10 samples) in a Slot Merkle tree with max depth 16 with
-the small tree (block tree) is of depth 5 so 32 cells in each block. Cell data size is 2048 bytes (256 field elements)
-
-| Operation | Time (ms) |
-|-----------|-----------|
-| **Build** | 34.4 ms |
-| **Prove** | 50.3 ms |
-| **Verify**| 2.4 ms |
-
-Circuit size: 210 gates
-
-Proof size: 116,008 bytes
+see [`BENCHMARKS.md`](../proof-input/BENCHMARKS.md)
diff --git a/proof-input/BENCHMARKS.md b/proof-input/BENCHMARKS.md
new file mode 100644
index 0000000..f3770e0
--- /dev/null
+++ b/proof-input/BENCHMARKS.md
@@ -0,0 +1,41 @@
+## Benchmarks
+
+In here we show the preliminary benchmarks of codex storage proofs circuits.
+
+## Running Benchmarks
+
+To run the benchmarks for safe merkle tree circuit, you can use the following command:
+
+```bash
+cargo bench --bench safe_circuit
+```
+
+To run the benchmarks for sampling circuit, you can use the following command:
+Note: make sure to adjust the parameters as need in ....
+
+```bash
+cargo bench --bench sample_cells
+```
+
+The following operations were benchmarked:
+
+- **Build Circuit**: Time taken to construct the circuit for the specified params.
+- **Prove Circuit**: Time taken to generate a proof for the constructed circuit.
+- **Verify Circuit**: Time taken to verify the generated proof.
+
+#### Build Time
+
+
+#### Prove Time
+
+
+#### Verify Time
+
+
+#### Proof Size
+
+
+#### Peak Memory Usage
+
+
+### Remarks
diff --git a/proof-input/README.md b/proof-input/README.md
new file mode 100644
index 0000000..5ce892e
--- /dev/null
+++ b/proof-input/README.md
@@ -0,0 +1,23 @@
+# Input Generator for the Plonky2 Circuit
+WARNING: This is a work-in-progress prototype, and has not received careful code review. This implementation is NOT ready for production use.
+
+This crate generates input to the proof circuit based on the test parameters. The proof input generated can be ported into
+the [`plonky2 codex proof circuits`](../codex-plonky2-circuits). Currently only generates fake data for testing.
+
+## Code organization
+
+- [`gen_input`](./src/gen_input.rs) contains the necessary function to generate the proof input.
+
+- [`json`](./src/json.rs) contains the serialization function to read and write the proof input from/to json files.
+
+- [`params`](./src/params.rs) is the test parameters used to generate the input. The params include circuit params as well.
+
+- [`sponge`](./src/sponge.rs) contains the non-circuit version of hash function (with and without padding) used to hash cells and during sampling.
+
+- [`utils`](./src/utils.rs) contains helper functions.
+
+## Usage
+see [`workflow`](../workflow) for how to generate proof input.
+
+## Benchmarks
+see [`BENCHMARKS.md`](../proof-input/BENCHMARKS.md)
diff --git a/proof-input/src/gen_input.rs b/proof-input/src/gen_input.rs
index 9a6378f..26a04b9 100644
--- a/proof-input/src/gen_input.rs
+++ b/proof-input/src/gen_input.rs
@@ -363,7 +363,6 @@ impl<
mask_bits.clone()
);
let cell_index = bits_le_padded_to_usize(&cell_index_bits);
- println!("sample cell index = {}", cell_index);
let mut s_proof = slot.get_proof(cell_index);
Self::pad_proof(&mut s_proof, self.params.max_depth);
slot_proofs.push(s_proof);
diff --git a/proof-input/src/params.rs b/proof-input/src/params.rs
index 9d3ad03..97a344a 100644
--- a/proof-input/src/params.rs
+++ b/proof-input/src/params.rs
@@ -5,6 +5,7 @@ use plonky2::plonk::config::{GenericConfig, PoseidonGoldilocksConfig};
use std::env;
use anyhow::{Result, Context};
use codex_plonky2_circuits::circuits::params::CircuitParams;
+use plonky2_field::goldilocks_field::GoldilocksField;
use plonky2_poseidon2::config::Poseidon2GoldilocksConfig;
// test types
@@ -132,14 +133,12 @@ impl TestParams {
// DATASET_DEPTH
pub fn dataset_max_depth(&self) -> usize {
- // self.max_slots.trailing_zeros() as usize
ceiling_log2(self.max_slots)
}
// DATASET_DEPTH for test
pub fn dataset_depth_test(&self) -> usize {
ceiling_log2(self.n_slots)
- // self.n_slots.trailing_zeros() as usize
}
}
diff --git a/workflow/Cargo.toml b/workflow/Cargo.toml
index 464c7a0..6269de7 100644
--- a/workflow/Cargo.toml
+++ b/workflow/Cargo.toml
@@ -18,4 +18,16 @@ proof-input = { path = "../proof-input" }
[[bin]]
name = "prove_and_verify"
-path = "src/main.rs"
\ No newline at end of file
+path = "src/bin/prove_and_verify.rs"
+
+[[bin]]
+name = "gen_input"
+path = "src/bin/gen_input.rs"
+
+[[bin]]
+name = "build_circ"
+path = "src/bin/build_circ.rs"
+
+[[bin]]
+name = "prove"
+path = "src/bin/prove.rs"
\ No newline at end of file
diff --git a/workflow/README.md b/workflow/README.md
new file mode 100644
index 0000000..30cf91e
--- /dev/null
+++ b/workflow/README.md
@@ -0,0 +1,121 @@
+# Workflow of the Storage Proof Circuits
+WARNING: This is a work-in-progress prototype, and has not received careful code review. This implementation is NOT ready for production use.
+
+This crate guides you through generating the circuit input,
+exporting it to a JSON file, importing from a JSON file,
+running the circuits to generate a proof, and finally verify the proof.
+
+This crate can be used to:
+
+- Generate circuit input from **fake data** with given params.
+- Build the plonky2 codex storage proof circuits.
+- Generate a proof with given proof input in JSON file.
+- Verify the proof.
+
+## Code organization
+
+- [`gen_input`](./src/bin/gen_input.rs) contains the main function to generated input with the given params as environment variables.
+
+- [`build_circ`](./src/bin/build_circ.rs) contains the main function to generated input with the given params as environment variables.
+
+- [`prove`](./src/bin/prove.rs) contains the main function to generated input with the given params as environment variables.
+
+- [`prove_and_verify`](./src/bin/prove_and_verify.rs) contains the main function to generated input with the given params as environment variables.
+
+
+## Usage
+
+### Prerequisites
+
+- **Rust Toolchain**: Ensure you have Rust installed. If not, install it from [rustup.rs](https://rustup.rs/).
+
+- **Rust nightly**:: This crate requires the Rust nightly compiler. To install the nightly toolchain, use `rustup`:
+
+```bash
+rustup install nightly
+```
+
+To ensure that the nightly toolchain is used when building this crate, you can set the override in the project directory:
+
+```bash
+rustup override set nightly
+```
+
+### Generate Circuit Input
+The steps to generate circuit input with **fake data** are the following:
+
+#### Step 1: Setting Up Parameters
+Parameters for generating the circuit input can be defined in [`params.sh`](./params.sh).
+You can customize the test parameters by setting the following environment variables:
+
+```bash
+export MAXDEPTH=32 # Maximum depth of the slot tree
+export MAXSLOTS=256 # Maximum number of slots
+export CELLSIZE=2048 # Cell size in bytes
+export BLOCKSIZE=65536 # Block size in bytes
+export NSAMPLES=5 # Number of samples to prove
+
+export ENTROPY=1234567 # External randomness
+export SEED=12345 # Seed for creating fake data
+
+export NSLOTS=11 # Number of slots in the dataset
+export SLOTINDEX=3 # Which slot to prove (0..NSLOTS-1)
+export NCELLS=512 # Number of cells in this slot
+```
+Alternatively, for testing you can just use the default parameters as follows:
+
+```rust
+use proof_input::params::TestParams;
+
+fn main() {
+ let params = TestParams::::default();
+}
+```
+#### Step 2: Run the Script
+Once the params are set, you can run the script to generate the [`JSON file`](./input.json).
+
+```bash
+sudo bash ./gen_input.sh
+```
+
+### Build the Circuit
+To build the circuit and measure the time to build, you can simply run the script:
+```bash
+sudo bash ./build_circuit.sh
+```
+To see the source code of how to build the circuit, see [`build_circ`](./src/bin/build_circ.rs).
+
+### Generate the Proof
+After generating the circuit input (in a JSON file),
+you can run the circuits to generate the proofs.
+First make sure you have the [`JSON file`](./input.json), then follow the steps:
+
+#### Step 1: Setting Up Circuit Parameters
+Parameters for the circuit can be defined in [`circ_params.sh`](./circ_params.sh).
+You can customize the test parameters by setting the following environment variables:
+```bash
+export MAX_DEPTH=32 # maximum depth of the slot tree
+export MAX_LOG2_N_SLOTS=8 # Depth of the dataset tree = ceiling_log2(max_slots)
+export BLOCK_TREE_DEPTH=5 # depth of the mini tree (block tree)
+export N_FIELD_ELEMS_PER_CELL=272 # number of field elements per cell
+export N_SAMPLES=5 # number of samples to prove
+```
+
+#### Step 2: Run the Script
+Once the params are set, you can run the script to generate the proof.
+You can also see the time taken to generate the proof.
+
+```bash
+sudo bash ./prove.sh
+```
+
+### Build, Prove, and Verify
+To automate the whole process, you can run the following script
+the script builds the circuit, loads the JSON circuit input, generates the proof, and verifies it.
+It also shows the time taken for each step.
+Make sure that you generate the circuit input prior to this so that you have the [`JSON input file`](./input.json) and set the [`circ_params.sh`](./circ_params.sh).
+
+```bash
+sudo bash ./prove_and_verify.sh
+```
+To inspect the source code, see [`prove_and_verify`](./src/bin/prove_and_verify.rs).
diff --git a/workflow/run_proof.sh b/workflow/build_circuit.sh
similarity index 82%
rename from workflow/run_proof.sh
rename to workflow/build_circuit.sh
index 3f94604..a1ae112 100644
--- a/workflow/run_proof.sh
+++ b/workflow/build_circuit.sh
@@ -7,4 +7,4 @@ source ./params.sh
cargo build --release
# Run the Rust executable
-cargo run prove_and_verify
+cargo run --bin build_circ
diff --git a/workflow/circ_params.sh b/workflow/circ_params.sh
new file mode 100644
index 0000000..434df9a
--- /dev/null
+++ b/workflow/circ_params.sh
@@ -0,0 +1,7 @@
+#!/bin/bash
+
+export MAX_DEPTH=32 # maximum depth of the slot tree
+export MAX_LOG2_N_SLOTS=8 # Depth of the dataset tree = ceiling_log2(max_slots)
+export BLOCK_TREE_DEPTH=5 # depth of the mini tree (block tree)
+export N_FIELD_ELEMS_PER_CELL=272 # number of field elements per cell
+export N_SAMPLES=5 # number of samples to prove
\ No newline at end of file
diff --git a/workflow/gen_input.sh b/workflow/gen_input.sh
new file mode 100644
index 0000000..9649e2c
--- /dev/null
+++ b/workflow/gen_input.sh
@@ -0,0 +1,10 @@
+#!/bin/bash
+
+# Source the parameters from params.sh
+source ./params.sh
+
+# Build
+cargo build --release
+
+# Run the Rust executable
+cargo run --bin gen_input
diff --git a/workflow/input.json b/workflow/input.json
index 903802a..3a5d6d7 100644
--- a/workflow/input.json
+++ b/workflow/input.json
@@ -1,532 +1,2081 @@
{
- "dataSetRoot": [ "6755155175595395828", "313507776630410965", "9227740409681413313", "2795138142659503669" ]
-, "entropy": [ "1234567", "0", "0", "0" ]
-, "nCellsPerSlot": 512
-, "nSlotsPerDataSet": 11
-, "slotIndex": 3
-, "slotRoot": [ "6216356142838248961", "7651361162368135479", "8250178335123580371", "3813462866599431579" ]
-, "slotProof":
-[ "1345604040032513712" , "7222769029677219453" , "4856886058017005512" , "17218820401481758629"
-, "6741690371018853470" , "10000950172891759230" , "1256624250298316158" , "14572953286928282395"
-, "11250861626949238654" , "2066450512590186880" , "4406339264013603126" , "6649535526486987988"
-, "13405718683906940252" , "10830552896276419282" , "17191223065200470009" , "6751178910350619564"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-]
-, "cellData":
-[ [ "4111200969682878543" , "3387325207997927417" , "2932616927275391430" , "1995025627313496704"
-, "1961347507293077647" , "1537181324488336218" , "3404404103013841137" , "3727710427346324943"
-, "2138927732587695812" , "3715208475804714900" , "1454647159510086086" , "2849056681024814242"
-, "2797770732564552381" , "4281068461220306323" , "2536791672187626673" , "187094301857999069"
-, "4445112716515618692" , "259331173854983828" , "2153045190582574034" , "4304617055179540805"
-, "221639124978313464" , "3304308916190250430" , "4089021076266286507" , "549033640858706364"
-, "3044331879679251067" , "827587919550726016" , "4308334610113884279" , "4376001487296465758"
-, "2355566683295648241" , "3612937677867517433" , "324879072152204991" , "4604327956877922356"
-, "2924057261191726263" , "2354770520803503714" , "2249237342059505826" , "2818746003917675025"
-, "3900053946986081579" , "4000975298798935391" , "322828372466088550" , "4250868332703693959"
-, "854494083567288809" , "1244072611728971108" , "2559927554901977476" , "3324774724617852106"
-, "1121127421087780836" , "1420818988498458600" , "831472750897778003" , "2168567604992124122"
-, "29031593268236269" , "3647421755276834722" , "3986259886944478303" , "3345921067416441296"
-, "13402926240441408" , "4421183053520442268" , "3201790561536980107" , "715823076146640477"
-, "2754415368380477293" , "2949936321134401483" , "3474839395401159221" , "2124707552062842856"
-, "2335485430641049073" , "4159019635853261564" , "547574573450363288" , "2154702348979979256"
-, "4134963352851828758" , "1081302865101813789" , "2860564291276163485" , "4445835739319427715"
-, "101201533965712487" , "1189762149663562544" , "3758693535869738126" , "3783353322678103675"
-, "3474702117738007790" , "3074235448632480569" , "2577787124799568580" , "2323475333206976081"
-, "3727929389140395656" , "504713527856300523" , "2772733426215402193" , "4597785345371857626"
-, "2718133888660076442" , "4241166334257671809" , "3773495718228185339" , "1585470836972839739"
-, "3905275032831739718" , "474118084850764791" , "3103165294613983120" , "809106277746366547"
-, "77078292750204660" , "2009125912847635644" , "4334129009260425985" , "27914664153758694"
-, "124183207760005694" , "2697644494020638873" , "1450582017557751997" , "2502694172625563114"
-, "2740289107361865643" , "2712792501727369229" , "3071717962989657709" , "3341174445798330484"
-, "2682651989210624359" , "1307526723014652984" , "179080794167069577" , "733133405798895763"
-, "1968208516111884241" , "616726862203855605" , "3416520294945343392" , "3087673580377118030"
-, "4492934591495466062" , "1367433602106674104" , "2292594969558892092" , "3496174638708163871"
-, "1564175426693493214" , "1857069202634712791" , "3507703991356295846" , "4321354599820788562"
-, "1933559093976823439" , "2506982692689670503" , "2335226876498022814" , "1756434612888038379"
-, "2291735429251398871" , "3272557233784814701" , "1809699743445877700" , "3816856311479577580"
-, "267950068872586384" , "721638994294338152" , "1216119273831318463" , "80053828028318046"
-, "3560572514732187897" , "67245162611487250" , "1328217792914408215" , "1810477217048845046"
-, "3119483990704144534" , "2066620474867043288" , "2523262138385687043" , "362691473327972498"
-, "4598598868398188905" , "2774627440956921156" , "1628248636575611249" , "783002716800150996"
-, "2613551581444565337" , "786725214529311687" , "4039260154995749485" , "1763895279097705375"
-, "136527392068420286" , "513510190194159543" , "101962925982303979" , "1510157729819943802"
-, "2330496005485118764" , "4000105577985578320" , "718494282380928926" , "2383517511824224511"
-, "604197990500817771" , "3136971506998756433" , "3805138655859277411" , "1038385800740847149"
-, "2122441102602688988" , "2311548995071730590" , "3125457545937811808" , "1416440682927465239"
-, "1964367996399419205" , "3248660041939743727" , "4378487656428293722" , "741029356261789514"
-, "3748221582368077009" , "533602551966563701" , "3282997084915483113" , "1231084572180473469"
-, "3101179494144344034" , "3093205585436474945" , "3310012133156627299" , "3621605735885467729"
-, "3124055322560316203" , "4109105559621002367" , "1653594148441457035" , "4332483426975350034"
-, "3128791066896671630" , "3887278857891362911" , "3800172414968149810" , "1448401594644363382"
-, "723585641772663768" , "2093179871223812466" , "2047800924815603061" , "3497650546718683561"
-, "85833608374463290" , "3156547449332280267" , "1504677293871231369" , "1862764179206336726"
-, "433821097900675005" , "4423255150988169390" , "1869049632168030510" , "3537248554988173472"
-, "3135567919321587466" , "59138030503916467" , "404986263418400711" , "3426158735292024614"
-, "2760116461917317810" , "2765796058087423764" , "1650995702197220856" , "1557535858445128723"
-, "4257359473731533882" , "3835704793995667782" , "4352636554728767509" , "997252253590194569"
-, "3737003374149059427" , "1322430971271905956" , "2755339423941703565" , "3391612788900790099"
-, "1460681206394994196" , "2715817034082647845" , "806862389131961876" , "3152342880005229524"
-, "4380217121047074139" , "4258103535158169693" , "2385457763972534377" , "4264480050562585615"
-, "3412805117945145990" , "3435951942136979620" , "4097351347079059951" , "992914614506707395"
-, "2005824081553683499" , "2319178920306968620" , "370837535487542853" , "3087560580926660094"
-, "1083460313090264711" , "4482662514768920601" , "2656944137720080249" , "2649218097512041923"
-, "2917715738356780065" , "1732641010676924796" , "4217252956018746972" , "978331566086950332"
-, "3869223900929810022" , "3769840101624562479" , "946179666777742606" , "292295823696793243"
-, "3659177233315384652" , "1854765096914974433" , "3762708774876587040" , "1222463533452030663"
-, "3922722120059662793" , "3835830254335161100" , "2165030581383031435" , "1907026954948407123"
-, "3790519940998177702" , "4017268473312137414" , "2859623361020640825" , "33918126679757461"
-, "209081036798970399" , "3655976865540575992" , "4369372716842525678" , "262859757646325118"
-, "172795378700495550" , "2578381167144733861" , "984917776960728752" , "3143105712253023288"
-, "1130341035935710337" , "980824067806251077" , "1133707772968996023" , "2448825588499779635"
-, "1022554427485498709" , "4149557735996014227" , "210322022232931300" , "4321917687253745218"
-, "109851" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-]
-, [ "1740247924101429115" , "4076899211406316800" , "2740294522385674890" , "4513515597031920585"
-, "3890295521635620764" , "3903514916766118946" , "2469053593687320765" , "1927258944600359179"
-, "2968615827183516338" , "3689618118861200518" , "1031372939054649472" , "1160040347519875842"
-, "2290711972580904719" , "1262387029206600958" , "1610027556955263330" , "858435105936868455"
-, "604116268270118160" , "2787118114566461420" , "1228964852938398132" , "1317908183990527513"
-, "4122213493373894732" , "698702370829118884" , "860524147185089598" , "2427479531219887269"
-, "4189544695706508114" , "448638170186506326" , "613435978962882295" , "1999341910201706383"
-, "1723586248401252047" , "2961198498193378175" , "3362584888439142575" , "825849071715979952"
-, "3692164194230014933" , "3360869706514970844" , "2405679623070026282" , "408995571663877990"
-, "3613694856153956375" , "4217462972249558426" , "3729858483507208511" , "293259059372178850"
-, "1865109397070692915" , "2604311632678145909" , "847427973491741092" , "157854495767521711"
-, "1744748983941024631" , "2716923401657556654" , "1309187368991276347" , "3377086404443872538"
-, "3268228995410361899" , "1390590013231769735" , "843321359797834567" , "4377862678787274645"
-, "1762633846479541110" , "3504309754435526908" , "4105361296916375418" , "1996786457690748387"
-, "4385290136985659892" , "1514980045446969037" , "3792755388344933894" , "4371381066397542899"
-, "2362552373871863651" , "3190002817734611373" , "1433464277171295671" , "1908924694486781913"
-, "4084139914214156588" , "4354675488265033892" , "1507350556899056076" , "3657538233619727818"
-, "1604171879120423301" , "4370420407338374592" , "2971314578911797646" , "4420872655040029801"
-, "2513152870342165646" , "891288922577365469" , "2637159796188441434" , "2721086576957952589"
-, "2910289070713016799" , "157487828591049221" , "1098745217390755146" , "4503163939253693077"
-, "3282918787641454003" , "4417455552150967880" , "4534831605894389500" , "2145028049100003680"
-, "3438691870746395183" , "3799124582190096529" , "3814236898776615901" , "2929311423812309556"
-, "882287390383490059" , "1840231491456374045" , "1604957791486495283" , "2685781010650730476"
-, "405551328684509400" , "4109428449850090546" , "2287386738610412120" , "1102826798991022350"
-, "3369052660962246195" , "3400251041646588058" , "3792704257748705509" , "154318897679130227"
-, "3601341568781445917" , "1815421129478477193" , "3730184868009598910" , "2050838087330047062"
-, "3674674550801913735" , "3448185771829931687" , "3369043043018450647" , "3357076207316393124"
-, "3639898142526596914" , "3671116533410970031" , "1489504295580236227" , "1244078290837664852"
-, "1492673429444569148" , "849512542602903874" , "4493897496253735964" , "3059885178524483403"
-, "608314302162510787" , "2184761026382301527" , "2766818245282136321" , "1117918175269250463"
-, "3395422328511115980" , "2121044414107285769" , "3141485994933322028" , "1129025632440526055"
-, "1245845587859245647" , "2493998865463134242" , "2932877222041015003" , "616520034738720678"
-, "3436715504077232702" , "3498349940167621228" , "1675100397690396990" , "3329019848715543351"
-, "2011575105055987900" , "3164783028667496422" , "208220243896927970" , "3350233803493997954"
-, "1086154613409624399" , "1584228202526684473" , "375970094484699389" , "3112993245769759055"
-, "155783341694243182" , "1330151662533921300" , "1954049591109334638" , "3022325775736865511"
-, "4084059835013475084" , "2314885887195178432" , "4029203188834676206" , "2511023319010113181"
-, "2607221340783972382" , "4124310369000351777" , "652633106766492702" , "1343391239155231328"
-, "1433378117535115127" , "3211578682153665966" , "866638607975787142" , "1474600303508843892"
-, "4252315049303154917" , "154649040170904710" , "2659271626752154890" , "4026055544109582753"
-, "4587000127531341085" , "228689208288643289" , "3071445791017824652" , "974768627319060133"
-, "3435598662213761019" , "2717424039722393438" , "4206582327715198138" , "1332795598098933649"
-, "1890386717132391369" , "4250832997085526718" , "4381049003932567083" , "4202782160516225415"
-, "3352021238119475619" , "1739111923876519219" , "1143755492632516616" , "1726588181884562216"
-, "735502438415293103" , "3964715484174518426" , "2585437392511277388" , "348852864212095828"
-, "1920831584411789075" , "819597068116486364" , "4038814023584915027" , "1674714616716492701"
-, "4164439961562935436" , "1184307289365646644" , "498834566750665744" , "1014636180686852576"
-, "263108527029350448" , "3419203390527229493" , "1591046683846946094" , "1128479034666427823"
-, "623856640086412828" , "3009277813855588561" , "4302732515176733762" , "440094952630958707"
-, "700433279943211520" , "3734993401692576364" , "567142770971570149" , "3351356786661839173"
-, "2337375191972234379" , "3676594625892375450" , "3195239127947323539" , "3274572739335572800"
-, "722438843133311029" , "3632640065135241434" , "1406870168751385884" , "3997729982639099225"
-, "4152410130580995722" , "2444175749731805317" , "2252991114853718909" , "322862976488447192"
-, "289600462246444089" , "2078561382367926548" , "758971031321665284" , "2563237838864695735"
-, "832793656366225708" , "3745983751681651235" , "1939686285994381906" , "2331711706443056241"
-, "3101085416466286431" , "4225612617764736033" , "3527812509561136890" , "347233014593799249"
-, "2251605915000189804" , "2027694949093821735" , "2211424286732840414" , "964287100987581971"
-, "3736654886072816302" , "1188279880302832876" , "4491110567041049837" , "3634462972769884428"
-, "574910107083290322" , "1437740518720929047" , "3009972588929306780" , "2753324902041718172"
-, "4295252301355742330" , "546473556218819594" , "3603108839024607419" , "442174043480035149"
-, "113911089973870374" , "2358923856122416931" , "2063957394518861613" , "4000517799896203183"
-, "3598940743247845156" , "2086122670432549377" , "2899025127998528180" , "3668735081946404988"
-, "4420185708558256958" , "4261416569840974841" , "648091691717925440" , "4308128932111313861"
-, "4471666908494364342" , "372710140034101384" , "761369993984953570" , "3563689546399894847"
-, "298549818361379306" , "3397069628239614794" , "2912593475200042894" , "1608380753914775026"
-, "454206761387813136" , "2722996350971702783" , "2233659965767739326" , "94170365089341541"
-, "106098" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-]
-, [ "4269217080107917315" , "3002529947471764372" , "1410485619074271960" , "2412172837606072799"
-, "735982899557536948" , "3126813882817885979" , "4554487793657015374" , "2612394731416256360"
-, "789441106544735984" , "2840473353403557693" , "2491349202704975507" , "1322247417319014707"
-, "3489298261890375408" , "120921204875429723" , "2556995975834403956" , "1322569991502939901"
-, "595663518169734633" , "1976947952694156926" , "177419009408828844" , "2981656894867057950"
-, "933683991600842717" , "1556024341947015075" , "1528832387625930425" , "2258418808672006542"
-, "322189633024627822" , "2901386242713213802" , "2107153791199786102" , "4052762187760749544"
-, "4468308413635939273" , "3754089616358444687" , "3217503950858778236" , "2627399654855737333"
-, "1065085773191920427" , "3481487962215039208" , "3608060193157369043" , "505500163679529188"
-, "2032274213645330882" , "1867777459785160091" , "4090211671831159534" , "3661020466081829892"
-, "1877103857757113696" , "1007989508541195228" , "2665585298040398907" , "1748164637661419113"
-, "4048760727523549475" , "784752931847224418" , "3553111610738846743" , "1918868442483758769"
-, "1025534032072748502" , "3982276761682013531" , "3739956343125563241" , "3391152095090929847"
-, "3159671034808006047" , "3087632300253926367" , "3726958436444389790" , "1612709058199034646"
-, "1813691241632563076" , "2739006205621012281" , "2558630501960152731" , "261665221835472147"
-, "3854879658920644098" , "1403153273197001276" , "288992136186323065" , "2070009193273042477"
-, "200374876600540888" , "2090104854767178727" , "2297937207665675965" , "2085896524112114488"
-, "602263733186440786" , "47385514888993093" , "1656145679924341936" , "695508894659282789"
-, "1005096926141116532" , "4602779206702860999" , "469097243194684892" , "3892877616036353276"
-, "986652829478757461" , "223210426495108436" , "939812352133045105" , "2170625073972023415"
-, "3180051650474840564" , "2658822860098496976" , "642265539292867361" , "2550248824891340472"
-, "2614188123440237895" , "500028998005890283" , "2428877111125298535" , "925552511724042478"
-, "589811893861642503" , "851086453874682365" , "2699737757775485327" , "1103497768561027088"
-, "1787391592434004074" , "3035352497976605590" , "2285520883319247194" , "2469901128319806150"
-, "1861040232417807455" , "45414959312010764" , "2311948019031419661" , "492172463312075510"
-, "4112861065337729260" , "831647986402230099" , "3183760295759876064" , "3438452349066514620"
-, "882517070776505781" , "3317396599233980334" , "4240145096914809302" , "2011262586069274960"
-, "4103953558296647960" , "1418702271879404371" , "1959919418881369895" , "3014669647349013320"
-, "3237074321901702006" , "256816243701201656" , "1587918799048199096" , "4429146953010531024"
-, "565468721530027539" , "2980139394704656668" , "2281473537586627910" , "2762072807084836719"
-, "1486570444868871404" , "1849263680617777060" , "2741397340574396227" , "1701463323648166586"
-, "1192808620877578746" , "3977982114493820008" , "2841615523241411811" , "2461942625004967503"
-, "864862364754843617" , "899912590774276666" , "3910738009171267548" , "1422450704220784819"
-, "2823399222032852648" , "1532361859692609374" , "4444580144236762437" , "4523157819835923738"
-, "106098318269852896" , "3986558867800806807" , "1745040207027043254" , "3211749465276535570"
-, "2791132508437805945" , "1726892885296791968" , "1840710446032440285" , "2555502709646605682"
-, "1920957178136545389" , "625440214405951583" , "233132155951932024" , "2271293242458751629"
-, "1916458030493781998" , "3079975750766311175" , "4385946880827309392" , "1491387941386491389"
-, "2290674866190483816" , "1307043017044232725" , "1587867447473933966" , "3274873995899517535"
-, "1575648891314254896" , "1468758773928690682" , "2988954328483840712" , "754717958497851970"
-, "958894104350147851" , "1385639662707185527" , "2441501061593081231" , "370757457305386857"
-, "3063766153228284197" , "1503211531675869072" , "2240594769350305033" , "1991914690279289572"
-, "4397607093791337427" , "3087827333841347057" , "4049673731898354309" , "1034997463794810186"
-, "1801050255152298003" , "4075659800348359018" , "540583941027491123" , "852201818472145202"
-, "1635546953483627016" , "2198406301876731211" , "2365377194525176813" , "3763507075044466444"
-, "2615506326697832598" , "2085515881029168586" , "3173541310846010286" , "2381323695947433609"
-, "1415497488454315707" , "1893132992753540543" , "159231429263297891" , "663019843120498766"
-, "2528183577280516060" , "3222071957377155289" , "1343654081919068430" , "964001076591402465"
-, "1802148986473543877" , "3624604862914189406" , "475618852845084558" , "1641224167482927147"
-, "558070326565299465" , "4468758352374712192" , "271801347353513521" , "4147909304123525049"
-, "913733661991382335" , "3493832731564656596" , "446401282583683396" , "3625033362876913384"
-, "727981844130152919" , "2355109423745509012" , "4344513483564806693" , "1088123283181583866"
-, "1269257038191714510" , "755885356245804755" , "2680370426584061118" , "2636534924656666957"
-, "2812662215915486130" , "204907474557831366" , "2277523053219389771" , "3494625316811556466"
-, "2251371057826067857" , "3984958506656195405" , "1043411628143119281" , "965260509922522101"
-, "1452681651394098308" , "1928906814480856517" , "1522662701059844384" , "3940668726166583310"
-, "2318241343726496365" , "724943314353507760" , "1598209935237229414" , "3713665373396873937"
-, "3202788579372926993" , "3650619177113211660" , "4106750337233566087" , "3299485301117379231"
-, "3463058546657874282" , "1989867058486124563" , "2235039597165542009" , "2798627659952166199"
-, "1086159084416669135" , "240212879075016729" , "3610422649631706349" , "3338673654008928052"
-, "2756582177872374553" , "2858593688875150399" , "795972438017868699" , "1518344596392717507"
-, "1622079393028597250" , "2359619858799117861" , "2632655552983988075" , "847473853922990637"
-, "477132166834364404" , "1614078183324599535" , "4243589195534839931" , "3076493426286382189"
-, "1803508460576784247" , "1037301339405262447" , "1662612656027017382" , "3085108054985072695"
-, "764303457255820768" , "1688744926479925688" , "2037821477264833556" , "1457055616663297762"
-, "4349298316035461802" , "2313813087589802506" , "4124925054569713583" , "1745089117020077554"
-, "128009" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-]
-, [ "4034258811268727131" , "3747903721835719006" , "2915060974245649894" , "342268869424411050"
-, "2828618065782119503" , "4549677653382332109" , "3793879338695881009" , "1109056251282680760"
-, "2076963639258163690" , "68558097751707552" , "1065932252746590842" , "1311691949688338375"
-, "1544822431166405051" , "3138250420935986410" , "3831943302525073074" , "3379173993932715430"
-, "617574271763008743" , "2910336113661804832" , "4209319645020586650" , "4350875593377970693"
-, "168147635635558495" , "100137458425461499" , "361348144792776416" , "1905911283351355008"
-, "4382748444635181137" , "1859508053613754665" , "4141609283310046708" , "3239774328216985835"
-, "1006970701590879797" , "582385908075562107" , "1993368531721371396" , "4116950789841207986"
-, "4348323119375560800" , "336551841953193797" , "2776409846765966228" , "1017592380367072177"
-, "1572767989013296701" , "2676220325748701320" , "155522884005268625" , "4569373692831779077"
-, "1901348869812955684" , "1432454250909224407" , "167976466128008872" , "3319577092833020986"
-, "2594252293894598800" , "1427227988658253092" , "3186852682845959816" , "74409632769568017"
-, "82493767425828584" , "2375643263266247001" , "1263139615711367468" , "3259724224887018668"
-, "2182856907113974917" , "3615754531117206186" , "3289458811844216286" , "1192068880553730738"
-, "4315229906269155766" , "1372241243661500621" , "1214204425620881351" , "566415669586456325"
-, "3689514131691563486" , "994413662019578564" , "1991739235662019382" , "1200301986205483083"
-, "259599505393679913" , "656057734119360815" , "1890057182639032696" , "2052486473606719025"
-, "2273769158435343306" , "3566289986762825150" , "3875043611909078571" , "2797235889004443582"
-, "4606071113256315244" , "3164954935311312052" , "4603538855186042565" , "4590558009846370322"
-, "3911769446705370614" , "1322695775546030769" , "4074251421799962732" , "3276395048424377247"
-, "3364047784202721295" , "707971968192296130" , "4478201459490950368" , "417342652224710615"
-, "3710048229567942579" , "243105651372125901" , "1335786873187158963" , "1064547539559377357"
-, "4040142256414689712" , "3247209950997871336" , "4520816560928353345" , "2876982642158268689"
-, "1557461529091414378" , "2251046400529334790" , "4399073735722609726" , "288200234089439522"
-, "1799271808882054954" , "3375377140402158074" , "369563638355551847" , "3265960239537616297"
-, "2766715688631960996" , "389811442837290425" , "3970638659170937219" , "3745215392975298489"
-, "1666749384170497586" , "4395364368258962112" , "3095933287235481830" , "2404553171347076937"
-, "923914309133067349" , "110512329106909005" , "2571213514155772759" , "1608615468027306193"
-, "3048031461289902529" , "2250184535440197257" , "3842601759395432384" , "1048997399028863606"
-, "1101069807581422728" , "205472880281761342" , "2536290833437606961" , "2699837461100786536"
-, "3295411351199015347" , "1916847814122984956" , "629815332996880247" , "513249329308473362"
-, "2915391358008275194" , "583278642434764470" , "1733840426942977026" , "1530474950141369160"
-, "639584009366816930" , "2933424926250428254" , "334507876526688560" , "1307694710160984501"
-, "2577508023309377005" , "3642804190098490557" , "4437095278206366511" , "2254150624260715970"
-, "2139231036716350578" , "2766540836222040252" , "4491404586413201819" , "699312550883961557"
-, "3118167877768394458" , "3355709382841365489" , "3865620940871347792" , "1307584790838457930"
-, "4080650036711645354" , "4463218759346529389" , "43970965558380393" , "3455228703619535131"
-, "2193764858103935376" , "2871732653415886738" , "189763178356227238" , "2648014131876669366"
-, "182205767269906464" , "3250429063499634285" , "4457561747449361987" , "4230664686238075478"
-, "4195469071241820394" , "3694445673738644831" , "188551364087861924" , "1435496809726568143"
-, "1653013391855985938" , "557316168815842068" , "566565519374138725" , "2760524227075749924"
-, "1926928551043772910" , "492555028768783230" , "566590877769045237" , "1840037698875425501"
-, "1151317328330147511" , "4169547369930409304" , "1929757148545418022" , "1685341382791060441"
-, "95567160303065373" , "610770537258850513" , "1856963553471385494" , "3906416155852487197"
-, "3491575212902766306" , "2915555939576079229" , "3066524882109743886" , "2050966712803315247"
-, "4436867151341965219" , "2876133991093047589" , "1531558931389985516" , "609295401452253136"
-, "878136522203982246" , "736573217458225186" , "2896838713462176324" , "1239694122903340249"
-, "3568720184842846977" , "2438659447718085650" , "2307237960575751971" , "2874424632537001946"
-, "2114122649700690944" , "4158282920229145252" , "3581231995086054003" , "3212872322384170124"
-, "2597981302786705302" , "2383845074619489599" , "1666408275696244301" , "3193620155608629851"
-, "604193242668252601" , "3116698393649158584" , "3496906759161849810" , "1550067100036854871"
-, "1302361190183266894" , "2801643178516380439" , "1316257918787671092" , "1712535271201799992"
-, "1519805723976433477" , "572953496803780160" , "1537149374868240126" , "4525203334696189752"
-, "1651333964279501388" , "4450400634056729786" , "4315888781773972025" , "2314444543238181166"
-, "1686214067882920884" , "75588805091420152" , "2164015379901309587" , "1431800025305561432"
-, "4554871942226940256" , "681896366615087175" , "4107629971838150522" , "706913327911266223"
-, "4267969105887702650" , "4534750020289987791" , "3325157788413592143" , "4071858564498037886"
-, "17749945396983179" , "615788952756878455" , "3815800775926733402" , "1875768056398886392"
-, "781573997886719383" , "808579595702316284" , "4537987737262617433" , "1479298715038519908"
-, "1458085359981697890" , "2319092321717084364" , "1000045781174926009" , "4033481308942455678"
-, "1944720254698959703" , "4411507657321965437" , "739076175520307092" , "2831115737844256114"
-, "2939691721040033520" , "1180885103423573403" , "4405258893921740449" , "1142722576435559326"
-, "1276528694337546678" , "3739321411385173515" , "2859837460513398498" , "1740605769974335770"
-, "2562485060480653378" , "3407175589759234111" , "388040142502699120" , "285978442519040419"
-, "3212906882331004682" , "3354358794709257316" , "2790038108176267653" , "3997701335533752205"
-, "262114768528636505" , "2952771560557473695" , "594966962978633438" , "1050553650730158820"
-, "89402" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-]
-, [ "4585647360169792715" , "637092895853869247" , "3680301794979440480" , "3272240410778951745"
-, "1907588772344321794" , "2118392365386677260" , "321114416898931728" , "4368009528771158492"
-, "3040901449782471172" , "1763902489192295806" , "3436122906695846062" , "3877316532760524033"
-, "2927605622262285722" , "4273603369037493315" , "2238093637769952593" , "465533404698505241"
-, "1274022518146607189" , "3679274203742965597" , "182518914421704117" , "3088355213309652341"
-, "442175882298559647" , "2624542502448096509" , "1181878371906476667" , "4002265688512198793"
-, "355435372633049250" , "3646184600300258220" , "4120840758593657457" , "1963056284354583097"
-, "3671750817852836075" , "2549133830639179039" , "2137205193743930975" , "59648369268099622"
-, "4521643247863200466" , "1787603390667754340" , "4410761777687154103" , "460931760009977310"
-, "2035868968120383183" , "1890176898911809526" , "3866198267444783518" , "4574142902242889742"
-, "2068690149090293140" , "23483655452108849" , "1641601526235922484" , "1209317114873179397"
-, "4057889490377590115" , "100206208205579869" , "463390678378481407" , "4599029785588028659"
-, "954972794129401430" , "2172858440467935733" , "1932968841211426199" , "797936691786011805"
-, "1693268917000782269" , "2736706931815153940" , "1673819999061234461" , "2585078955629062846"
-, "1008877085655280750" , "717304752597676106" , "1762010368325490064" , "405423855065293624"
-, "2872389664080832515" , "2194054485519583783" , "3649142805955030625" , "110303519806246991"
-, "141391826309699575" , "1415507553047999020" , "1256417909728789924" , "1044890571791003713"
-, "2462084135651050297" , "2041354866627844070" , "2288583844265384266" , "2496153536323947473"
-, "1125058162910695329" , "683839509616110758" , "2095686486212194940" , "2237405805607643186"
-, "1460372125944900836" , "1979665962215631160" , "4115263130171348457" , "2978764308871310876"
-, "1610502036996964485" , "4160427234137384333" , "492390303037973971" , "4032883445122087245"
-, "2935596346809814838" , "4503125268917720312" , "536896610281104580" , "4525587308028008088"
-, "3265251638288306089" , "2977408702889014075" , "2489410661914759990" , "224793601637439379"
-, "2706455675496190497" , "4584876448294189762" , "1649223135950255576" , "4321261765447156991"
-, "1527170886046608304" , "4412687983008422151" , "701701280870054007" , "2629450753627733594"
-, "1683433298656108845" , "2036277688276465844" , "4592482322340907336" , "1693145671040017448"
-, "4262306691582335749" , "2481715786421298923" , "3700347177408511442" , "253650191096688594"
-, "2369579471735274041" , "1178995183013596539" , "3715845855134451849" , "324433903018407711"
-, "2702944824638582724" , "2850194154098227888" , "3925610040601001177" , "1568465845460912442"
-, "3709488707504803170" , "2496304841161334755" , "3356463215924088751" , "390087558743705651"
-, "3146792706887611132" , "3652829400091104177" , "3529932428983110069" , "183903644958988700"
-, "1408718722936060518" , "2349074789330064236" , "3092272642502306770" , "658519625390452289"
-, "3054268205845223046" , "1800093047391782585" , "1816038197766132514" , "4259871600934857093"
-, "4031138263206185790" , "2736035190950736534" , "697078701681291341" , "3843811334842978991"
-, "1327155110095089894" , "4233265598798480422" , "4478047016788071315" , "4460574795296070623"
-, "2314161259131064436" , "1706485008935801151" , "3361316189833096783" , "58722395994608625"
-, "1897221512849417118" , "1446863326430381912" , "3441506136750767338" , "1196155297844881885"
-, "2151891439507803370" , "2528830923170162970" , "3467147251790540268" , "1925573318675310711"
-, "910897726872158593" , "886636637469203851" , "699415088519809866" , "620549995522399744"
-, "2720318249942851319" , "1500725603840125008" , "1046059893110617521" , "1291858299307502765"
-, "126454272744965174" , "544760937627253094" , "1461492078942643441" , "3867578530080271582"
-, "2808740404808488649" , "4043252821938006002" , "1405797315043545553" , "3043065161768601984"
-, "4132567650742225426" , "2763152476802377995" , "3154672501483406549" , "738478938354693182"
-, "3502364167659541782" , "4119851605145463023" , "1394776259484880068" , "4254053148395761053"
-, "2766872521161867078" , "3387767449873169764" , "3333865894334693564" , "3927419868603461209"
-, "2623947431017153930" , "536382778743307605" , "1664298717831184780" , "4382292103972261877"
-, "1778838356301456071" , "3191832998335806630" , "759353573157166473" , "2258266633771544587"
-, "1840033620012410471" , "207674819160438351" , "4498753874550176532" , "1785612421113518194"
-, "2983772418443509274" , "540314127903744468" , "4529810762091361488" , "277832436168781297"
-, "898957249522448991" , "4213131705487228769" , "4560508554318264762" , "3507562348512978320"
-, "303685799839028746" , "4054507336076804416" , "301826712272177575" , "2602117677727442568"
-, "564063056010460730" , "4312384978348291599" , "2285985095934913156" , "1116468530500719017"
-, "2733009317567395781" , "858221147137389636" , "2802498280405563903" , "3980651357858023491"
-, "2247012173149371056" , "1384802880189130822" , "780761584789737132" , "4581853320062536258"
-, "912585638091475355" , "3129677796094758172" , "1596770183618478602" , "612979441521138809"
-, "175615052289326610" , "1260513110338939949" , "3924222087534503828" , "535966268729661117"
-, "730575115507149430" , "735349088147729394" , "2778827585126035462" , "4213549720835052555"
-, "298372445350557516" , "3501309051409557259" , "842575147545701996" , "173813682935984123"
-, "1388792571375942475" , "1455150440135641438" , "2260219559743886715" , "3107826610681383421"
-, "4376410395106051287" , "49855704996896609" , "1589584590475316183" , "91435248312387748"
-, "2282798535294398412" , "1888932451254878767" , "1574226381317583077" , "74115622574787929"
-, "3435564770168676636" , "1076395275430734247" , "1572019728185895810" , "2725697364159300211"
-, "74184766091540040" , "4562065544904886858" , "3670338608895294796" , "3371125856901349116"
-, "2218636492951209708" , "2856521937383034418" , "4082442644917294560" , "3760165073964257381"
-, "4296142666541308754" , "2152654961013012459" , "1215292761610185781" , "3989529837338434741"
-, "2500940227765773601" , "408703817990298007" , "1257857444576143597" , "4574255700170983201"
-, "77731" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-]
-]
-, "merklePaths":
-[ [ "9834617050221860669" , "11413351114854288773" , "9661533288504321674" , "9993562115511150911"
-, "40596393986291956" , "6738885603367353421" , "10026638978888874626" , "9990782655098669043"
-, "6958452223888496824" , "7445615281374087287" , "3655095276382107958" , "14835878204613494021"
-, "11015824641572930280" , "6056980346481056257" , "6824090081898407148" , "2113969394956659120"
-, "6778109155961807653" , "18174770895019250057" , "10607426966322341230" , "17965352660033392569"
-, "144240798700931663" , "11530574946682703691" , "8355604947418566174" , "6103188823783126937"
-, "4000612478508899977" , "8397442622676597751" , "13242454311279131968" , "10592266448750114916"
-, "1263866799050840545" , "18151952965040454658" , "3483398585178976437" , "7449270796943584753"
-, "1136242299330249726" , "7608457769884715833" , "13580287345497539746" , "16479758974647629501"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-]
-, [ "12277565398883697065" , "12966826759417505082" , "5795109041248799435" , "16350534932773079605"
-, "13964329456201248279" , "12177226905544071508" , "16878549604909533046" , "4831646808973125303"
-, "11979098715829099124" , "325848407665776441" , "12976738426733958035" , "7465517250240442027"
-, "7353866537984482010" , "8443029017649882272" , "11104194545718927887" , "8939299725534350324"
-, "8602711423734886011" , "6761073709857852548" , "1635641880460770607" , "7697913814958120287"
-, "1235524795390281371" , "1292729621304636804" , "4596091520835463012" , "12310606328363584857"
-, "12887193143336132435" , "130991362062484114" , "10206445096175313452" , "9099408428750151040"
-, "15935762892386899695" , "16582893623466051094" , "8773256083473141790" , "6310382211943425947"
-, "16099314040403866093" , "12549936286293566773" , "9358051429526891720" , "5411364965461459503"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-]
-, [ "8675946949755015264" , "14389130687241392837" , "17682413887329223517" , "11929399742931727625"
-, "18279513764132020454" , "9366153031008754896" , "1161364267968999225" , "1541298602850740777"
-, "5762526300648633401" , "15060965457752732744" , "197739587337899268" , "2452043592173906867"
-, "12346542879087693892" , "18359959275067230319" , "16836398065760064101" , "1541769849053040938"
-, "276092587984131724" , "2406700358930161058" , "3756885899371763970" , "6024375329659067589"
-, "3621084053329100874" , "17194883189804166156" , "17748720327722260252" , "6804475603834117414"
-, "4000612478508899977" , "8397442622676597751" , "13242454311279131968" , "10592266448750114916"
-, "1263866799050840545" , "18151952965040454658" , "3483398585178976437" , "7449270796943584753"
-, "1136242299330249726" , "7608457769884715833" , "13580287345497539746" , "16479758974647629501"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-]
-, [ "2014126693772473758" , "4721303185769578558" , "15086279296374402050" , "2885937490215767929"
-, "9400460128488157524" , "13275042069570623686" , "11785798308338023689" , "8062883252203070626"
-, "17251726025829636869" , "9286694173558625140" , "14705903578307684931" , "14917462102530245161"
-, "806491059107730621" , "11945941923097768442" , "2235457049536883281" , "4138299859997790382"
-, "8589405410594606401" , "1814976684727025548" , "14527033532487819091" , "10240414561802292563"
-, "14742464408095144171" , "16544693206367652302" , "15838189002094790660" , "18391909175493208822"
-, "2922300906810883188" , "1093851137768273969" , "17114140682760652883" , "16623253816502961246"
-, "9821745235529706132" , "8498976871983154550" , "2173719562183224871" , "15009364511706365378"
-, "16099314040403866093" , "12549936286293566773" , "9358051429526891720" , "5411364965461459503"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-]
-, [ "15307040056009449864" , "8430744368882257587" , "5208920732682010010" , "2738412775374354188"
-, "3190962989799627688" , "1544375688640491249" , "7184114604083088049" , "974119149852979888"
-, "14424936762437040165" , "7590102420731214238" , "5556435183401744867" , "2962283806633179954"
-, "7069457919655947376" , "17107523070819849925" , "14011394415365107360" , "2098752472097163481"
-, "17557157386777867198" , "9973017664694461503" , "5970806457558584534" , "13707375376876415401"
-, "10133432455905105372" , "9393758708900450342" , "16768953102210068075" , "11397644483005454082"
-, "15105488844782799105" , "3006015595587065888" , "14759981272899772376" , "2352254281822318718"
-, "9821745235529706132" , "8498976871983154550" , "2173719562183224871" , "15009364511706365378"
-, "16099314040403866093" , "12549936286293566773" , "9358051429526891720" , "5411364965461459503"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-, "0" , "0" , "0" , "0"
-]
-]
-}
+ "dataSetRoot": [
+ "7227516050042522281",
+ "15605692942410130655",
+ "4071287351103999865",
+ "10400576513634645543"
+ ],
+ "entropy": [
+ "1234567",
+ "0",
+ "0",
+ "0"
+ ],
+ "nCellsPerSlot": 512,
+ "nSlotsPerDataSet": 11,
+ "slotIndex": 3,
+ "slotRoot": [
+ "2090750690750182732",
+ "1881748754875308316",
+ "12252377310688530072",
+ "11467407166754927367"
+ ],
+ "slotProof": [
+ "827439652992611846",
+ "16905769495525140780",
+ "16695068033037246276",
+ "17151630741232149889",
+ "3469569746364851618",
+ "18391056527690884511",
+ "8010039421125473150",
+ "3408023460182710126",
+ "12855129173382438132",
+ "10585118078362511618",
+ "18326498811560493459",
+ "4121357915895258498",
+ "15982493084566743355",
+ "14593007143866990693",
+ "14424160485348619",
+ "291881629905080749",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0"
+ ],
+ "cellData": [
+ [
+ "11457939612777156149",
+ "3050316285222942956",
+ "6220403600626645889",
+ "12552302917535337169",
+ "14541909488033149911",
+ "11770580506856219669",
+ "5159721427328441664",
+ "17484751996670362665",
+ "18080055594735154274",
+ "8113355594472245232",
+ "12028132870773367291",
+ "11178885573919577166",
+ "81431431914614418",
+ "6514073139358794268",
+ "6142463557504220189",
+ "8014341706762814367",
+ "15859189912477348442",
+ "11206463965002104979",
+ "18386940451390972601",
+ "14320572997556349975",
+ "2902433927452857519",
+ "166093506148296056",
+ "6410137538410426200",
+ "1405305335167060997",
+ "7091263553953219162",
+ "7991898997607812380",
+ "14367150039566225051",
+ "14169430135722176060",
+ "357234809254528860",
+ "12431984114929387189",
+ "3850217156876860009",
+ "14108978968002153623",
+ "5897805459465079856",
+ "11742592175139819044",
+ "5663597380091824223",
+ "14565010685027775699",
+ "6355414844296328300",
+ "3176342646126333868",
+ "13312000239731526284",
+ "1813401179374360382",
+ "15721025662865302074",
+ "9307898683008387800",
+ "16095022648834918397",
+ "8508727319451852508",
+ "5013877483662715182",
+ "14687171630836174210",
+ "1016977896552879017",
+ "10603229287201375808",
+ "7606106266477371270",
+ "14619993846981785001",
+ "16158266043354227350",
+ "8109889459249440702",
+ "17638021571635370803",
+ "5776583562053523708",
+ "13309465232537818977",
+ "17894370279417414860",
+ "2039516115519122646",
+ "7735738456787701801",
+ "2114131480597510478",
+ "13002865183559024873",
+ "8148382867428146303",
+ "17107096754664950015",
+ "15995939518225188127",
+ "6660679226877450664",
+ "2258774982255286380",
+ "5969102767119322183",
+ "323508450456616506",
+ "5771167036451490601",
+ "4702863787346388524",
+ "11235019473529664748",
+ "15208269915881733477",
+ "13732850805365222539",
+ "3967824483187236383",
+ "341453855160546845",
+ "2601431415727074157",
+ "837981355672673674",
+ "13895835929540901620",
+ "5023171277881449578",
+ "2578292732108730937",
+ "1326590181131489736",
+ "18019166505500049607",
+ "12676415830163378066",
+ "11713152662527014394",
+ "8419436892173104651",
+ "5328185136439228391",
+ "13761180753885192880",
+ "4088282376487232653",
+ "14376963741823602081",
+ "9416113316478283377",
+ "3942124876619731144",
+ "14016868039958633320",
+ "9275316385742963753",
+ "9267036037585021293",
+ "10624856383029657471",
+ "1564704649345818868",
+ "6955664300360433452",
+ "12784901068904496139",
+ "11609004912455571330",
+ "5544851504161475053",
+ "2505485096186424081",
+ "13080900163691646929",
+ "14378229203385276580",
+ "5548015082664891139",
+ "16197257410793639245",
+ "4283836127775517463",
+ "15659487608606043098",
+ "14716714177566364100",
+ "1360725025897396820",
+ "5924244461659690705",
+ "18256436209234680180",
+ "11482860894832381774",
+ "7280920457206799588",
+ "6038354509238150729",
+ "8497209293930154698",
+ "6595159824161281888",
+ "17959311744547630815",
+ "9446618738681521192",
+ "2231145625154182532",
+ "1612721077977526703",
+ "2502800087465115680",
+ "9149386836956544246",
+ "6023500600611771197",
+ "14038511452395334814",
+ "12058296496725143040",
+ "14874523481840059166",
+ "4098824888723150267",
+ "8031903337636976906",
+ "5352304907919464659",
+ "9044984052868393768",
+ "13787552916107169853",
+ "608704541507515593",
+ "6519169404641962810",
+ "14283726146636458097",
+ "4691169573022853179",
+ "3845381349270990195",
+ "9472095443014492420",
+ "338100774276812605",
+ "847897542424490257",
+ "5833395661420031132",
+ "3376168990927144848",
+ "11781433533985455703",
+ "6766859483076690677",
+ "8241999241541652117",
+ "12238465456608891684",
+ "10182030407849654133",
+ "6471333605282880288",
+ "14671103760105037248",
+ "14772117017874459234",
+ "13398147735979779243",
+ "6728887418425058904",
+ "9591410645557265199",
+ "7721536086278307051",
+ "8663434822473730735",
+ "15870613879126630825",
+ "12420371311349064158",
+ "7642189123898814043",
+ "11301463847625725696",
+ "1271980502357224197",
+ "2691921715512971114",
+ "10791956304114519697",
+ "10841827082834230797",
+ "14496216107658951657",
+ "378576822342238932",
+ "11816132404790890721",
+ "10197678341961963153",
+ "4859273885331353576",
+ "2304826773056208586",
+ "1561618584435426461",
+ "13704606001261612888",
+ "5971266373562726982",
+ "7694426958578363986",
+ "1343097757023061443",
+ "16269449968189772941",
+ "10716735754636996006",
+ "11225031182828259295",
+ "388082336936778193",
+ "17121142095308037305",
+ "11088446402873002262",
+ "18286165223564381809",
+ "4204250876184437870",
+ "17635951554570279619",
+ "11834370865941306267",
+ "11331819102150205784",
+ "14696000503512223579",
+ "12125027264771580003",
+ "8508030444347051700",
+ "18138614803133214676",
+ "17429805149296050164",
+ "4139381086373086671",
+ "10305278958539323622",
+ "16906554973309761266",
+ "18191503767547609470",
+ "10948747037421524840",
+ "15546196023394655407",
+ "16496199075810259040",
+ "210503735868645472",
+ "2269391182322777419",
+ "12748524104627655381",
+ "11704134142470353594",
+ "4694332057572424632",
+ "12644071377066629751",
+ "2939607068326303448",
+ "4825680112038181769",
+ "685078848477726269",
+ "1882006854736407768",
+ "16208047635330099295",
+ "4869004388903488938",
+ "13205369555389902404",
+ "7163714606990315644",
+ "2565130413235394395",
+ "15336881740765232645",
+ "643356287468158481",
+ "3128163661496103712",
+ "2423681737807333546",
+ "18255664325176426004",
+ "9639986078867987376",
+ "6056528663322833774",
+ "17480595638196051099",
+ "8050319088589534255",
+ "2254245225727370562",
+ "2960302824048561031",
+ "13808371501942544682",
+ "6043402723449931620",
+ "3094190345562236603",
+ "1766431621657220256",
+ "5603805724266261910",
+ "2511225517705518845",
+ "17967586742541797443",
+ "16886289216936100567",
+ "7048895143869535547",
+ "2551053130787240129",
+ "14099852168180132653",
+ "14892970324593649945",
+ "3183606805598469479",
+ "17564307367935913701",
+ "9442907787544290153",
+ "8061833043936010873",
+ "8266514373712854111",
+ "13029841803856050421",
+ "9278151427913043456",
+ "4264121391537141960",
+ "9325698041249610094",
+ "205038774086865162",
+ "9626460993533827671",
+ "3278025538283206693",
+ "1038778560474010056",
+ "11769534725766270789",
+ "5836487059400872605",
+ "855120296257882848",
+ "14606576843236539041",
+ "17359957639196096335",
+ "5984493807993134323",
+ "10931601703210143334",
+ "2383543864181883763",
+ "4065775530135081205",
+ "15291538758754625774",
+ "14082658636388685835",
+ "17831807206976612048",
+ "16650746555689327992",
+ "8847714052410328437",
+ "11342686403008154695",
+ "11571151994688702486",
+ "6328686857903171911",
+ "8417369756593193679",
+ "4966669765458807260",
+ "3689762854656012439",
+ "816098669409627343",
+ "13355343131837999261",
+ "2156757980567137663",
+ "9022400708841159580",
+ "16779817458419398909",
+ "3886507359276398446"
+ ],
+ [
+ "6721232702017077302",
+ "12475612654079651056",
+ "4977176195387576710",
+ "11134725293831972623",
+ "14413002553349700271",
+ "10647576892489495120",
+ "4672303252751685098",
+ "10990246817432151598",
+ "2387894660603585077",
+ "13685770433063431927",
+ "10148144693549069268",
+ "3729247976349065521",
+ "15662519038707209589",
+ "1738955485427196136",
+ "11538236434351509949",
+ "17955343370480970801",
+ "5726438345700118952",
+ "10583391631556681902",
+ "17076505242797337942",
+ "15924165500908052437",
+ "13987684438996895635",
+ "17858752710905735679",
+ "17590491146285471070",
+ "15517133774658435173",
+ "13158819927720523757",
+ "13756584389065432548",
+ "11369141697259277262",
+ "11986024649036386387",
+ "9311443037921761660",
+ "3196154892668814932",
+ "13384907004176771304",
+ "7905597036072159077",
+ "8115922880825552752",
+ "13038864463857292300",
+ "12473738214063433392",
+ "2713971355613794188",
+ "2539028696773665321",
+ "12726200971758104752",
+ "4837384484254314366",
+ "13459519393926747590",
+ "3623123573163104488",
+ "6446250364244618794",
+ "15262438093647138802",
+ "7026203862828151677",
+ "4091516187233384122",
+ "4879942609781572068",
+ "4275233804944213169",
+ "5836877358584586018",
+ "11940850459795881777",
+ "11931874266480519182",
+ "11877785928551628378",
+ "15428088157871158856",
+ "5619024456479980020",
+ "5132959148372594174",
+ "4105586279089295226",
+ "10401083082494218471",
+ "10642971609942808055",
+ "3106613604515160761",
+ "3622830259043537881",
+ "15724666586914738439",
+ "12670189152374154916",
+ "7817174367040730853",
+ "5227332517312342592",
+ "2455950705847810881",
+ "15595614510260184323",
+ "4373119459236273577",
+ "17260564084035709740",
+ "9002646846495801583",
+ "3998454067632879388",
+ "9592626029893722590",
+ "3300588876482269697",
+ "13930938273468792300",
+ "7563776060625181849",
+ "12101760128706774857",
+ "2923170985712919647",
+ "2330540019069094436",
+ "4442618974447902278",
+ "9542886998446340847",
+ "7391294788033610355",
+ "11580604221402544930",
+ "1040556388343617029",
+ "10688524025829479148",
+ "10372310660570314980",
+ "15109586926628479611",
+ "4734601250891833955",
+ "14808447330303165159",
+ "14179298419048631515",
+ "7263837993413156244",
+ "16754132462285820999",
+ "4203092745607243680",
+ "12621108795245239067",
+ "1698242084926197938",
+ "7868418716465543729",
+ "13178617512722500656",
+ "14492295372647039507",
+ "16303996286482041300",
+ "3884864343972150167",
+ "7426572316386731275",
+ "15074579128879493253",
+ "14490994716014752725",
+ "8808946999259346907",
+ "18347765361320273534",
+ "18196909830226819626",
+ "13272176547357240210",
+ "12163682805231727069",
+ "4933759853068427702",
+ "11416836099140617120",
+ "2466502800472213634",
+ "7338602267171010046",
+ "3796055477539205845",
+ "13020371238821039252",
+ "16820846264881697581",
+ "12174599496145334656",
+ "3579093382270402647",
+ "17965656154631645278",
+ "11861991253724333992",
+ "17693206677530405091",
+ "11110159880918421248",
+ "12805808988026839851",
+ "8307090202661751625",
+ "16984445494986805679",
+ "10719415293816582979",
+ "17322125912772573748",
+ "5599141576365483585",
+ "108904335923310728",
+ "11734794265397623360",
+ "4054002085828379491",
+ "1242452637817436709",
+ "12914797608457919373",
+ "14835116170806721435",
+ "8800905434010539709",
+ "1571995954458689514",
+ "6795216452241508134",
+ "5052756608233600619",
+ "112912440840969701",
+ "16751177511771059088",
+ "10173239208732551273",
+ "5118940782996092617",
+ "4502960692939529371",
+ "12879600492476175850",
+ "5331730162008549764",
+ "18445938992836642910",
+ "493864978289321967",
+ "14792775115328061600",
+ "9716175610927379996",
+ "11245621546993350599",
+ "3671490230636581857",
+ "4677840900589246015",
+ "9703925051099592249",
+ "11609915259850376871",
+ "7491754147104414384",
+ "17232795207381675901",
+ "12227426302493520953",
+ "6460817974297424565",
+ "3037542604644099058",
+ "3872180147948396814",
+ "17316554388665892429",
+ "17070596860958502200",
+ "1041587368909168929",
+ "3358126558287287929",
+ "1199095593511605166",
+ "4439453748296313014",
+ "10007363362641385451",
+ "14556181550425810705",
+ "6706280503367668063",
+ "7753981597037113760",
+ "15855476297576348162",
+ "4639987027732189419",
+ "4161734456562415607",
+ "5166269605943314684",
+ "9545490924987113035",
+ "8843161450626942947",
+ "11544663596013793676",
+ "3489657506581048666",
+ "7762210227775067518",
+ "10963449786921368006",
+ "6794816922323902034",
+ "13285914987630943499",
+ "17622946888844870098",
+ "1545521434613223881",
+ "12378022896061207508",
+ "12336136802111730762",
+ "13394497075328255506",
+ "13028376930905030901",
+ "15795895854035405079",
+ "12914281765940686487",
+ "7840519634597245128",
+ "10356485216703720166",
+ "2666250153250765643",
+ "15029878341171849804",
+ "5816420203403615773",
+ "6640322877449361331",
+ "7705000228508602171",
+ "8040168814978176645",
+ "12491234390370835426",
+ "7260307533172973737",
+ "10133164531727552407",
+ "646348178790810048",
+ "681531226085237328",
+ "6289300604086766761",
+ "7698834891669246305",
+ "5160588610754431403",
+ "6161824749003614212",
+ "17769329463319132623",
+ "8712863314296662721",
+ "11972567898359284941",
+ "8694598074700479909",
+ "2274303794970654269",
+ "678235774698932300",
+ "8520319109793574819",
+ "14622198420838340640",
+ "17438683371184955880",
+ "13759163496646694424",
+ "11877247345355319784",
+ "11026558179277718074",
+ "14122867160839050906",
+ "8559442564565542977",
+ "15911994735633381771",
+ "11995549083226142284",
+ "355758315054350727",
+ "15998760717047826934",
+ "5816473583434621710",
+ "6741365613678749945",
+ "14552916375014314050",
+ "10730902978191353717",
+ "11813996248510480602",
+ "2392182149900671620",
+ "18362382335740747720",
+ "3233615719353480986",
+ "13044554037056394399",
+ "6195145571296722418",
+ "17169985187035397765",
+ "9773928313188647181",
+ "13253360453944761065",
+ "6085819423770166226",
+ "361931791981338178",
+ "18028679479807039784",
+ "3899368884195804794",
+ "18009906019540051438",
+ "291131985460526119",
+ "11992486019986575364",
+ "16917360103975230440",
+ "14863471357440726050",
+ "14098280602648620079",
+ "7595764480238621281",
+ "14692665201403327331",
+ "8424607914322150603",
+ "15466580626510746719",
+ "3885737150806877246",
+ "7031243235608913243",
+ "17318678117294793011",
+ "18207659930104443032",
+ "4075317271607333090",
+ "6739302673191150248",
+ "10573518239698790299",
+ "13213306982999519809",
+ "7147875043917532126",
+ "16270662693487798119",
+ "2808139879173223391",
+ "18156303133972990647",
+ "5200553146687022577",
+ "17367391427344545503",
+ "12012771809897666189",
+ "10158636347720005478",
+ "10626104297653257433",
+ "4189203482365691177",
+ "10548368577915771417",
+ "17414436031762151860",
+ "17642938630996756210",
+ "13138655298477529045",
+ "11222985645015047643",
+ "9550397843416753217"
+ ],
+ [
+ "7493712615091807924",
+ "12491857401929433925",
+ "10111871645916240282",
+ "11415976748525453105",
+ "408177589817834199",
+ "5690422363399257584",
+ "8593239964078530854",
+ "639039436848320157",
+ "17238164273407330374",
+ "16434020659524772764",
+ "1287924983260899289",
+ "230770248779777096",
+ "14391616404120645134",
+ "9036242372314499875",
+ "4514687185114727631",
+ "1737202195093577234",
+ "6034759621517765642",
+ "10176134653378046654",
+ "12995007031609092581",
+ "16992014384559643421",
+ "11021740938277423157",
+ "10519188483118372245",
+ "14226854133953769650",
+ "6962468528418947804",
+ "16180858482840135911",
+ "7099715435791928984",
+ "4134681998019969821",
+ "13263413980517871880",
+ "8657533374449441076",
+ "6179940779262662031",
+ "15926791816600093474",
+ "10739932627304992062",
+ "15599738621195681235",
+ "2927484156163185853",
+ "1347605082279621107",
+ "6108170790330696948",
+ "15473960263479650030",
+ "5143518414553946628",
+ "4992696442912355038",
+ "16086423138265354341",
+ "9186094418133912634",
+ "6767169482466311373",
+ "11297555711973773355",
+ "10705132449646413276",
+ "2793343448994437422",
+ "15078122966847519890",
+ "3088180319862413520",
+ "10944948634438026573",
+ "10814092993125742620",
+ "15163370526003065474",
+ "9718993502920389954",
+ "11789767049000469156",
+ "920490169660143302",
+ "6876207450105325185",
+ "15184682997594627638",
+ "12956685301933657829",
+ "2206706000163988632",
+ "7378043093828655717",
+ "107195693157185644",
+ "10495635022214430241",
+ "7196894913799402200",
+ "7055510130028700374",
+ "998218436866547529",
+ "5720667116549884180",
+ "6479043832563497484",
+ "6675856232708514542",
+ "13614107203471826097",
+ "13607557298292942180",
+ "5042180370488439662",
+ "810152899379944940",
+ "1210012123603062387",
+ "15752372988373226541",
+ "10550492218160136659",
+ "6152387919175494844",
+ "3741418945685671355",
+ "8096506028933601483",
+ "13404236159397826381",
+ "17182268276005431226",
+ "9645698649393927176",
+ "12798524188320917586",
+ "756561952967938486",
+ "15821080163308692551",
+ "18377122036434598686",
+ "16152557350383201578",
+ "14622455126752022350",
+ "5135978779942597504",
+ "2411250342879651219",
+ "582973520676642285",
+ "18371912599299862297",
+ "5959977026544839623",
+ "4599823216899116526",
+ "6835496762514835514",
+ "11986905022165286932",
+ "168149493652025699",
+ "15056499665139150363",
+ "13357499185006993149",
+ "5486968673376220281",
+ "6763903210559055469",
+ "12947503208417000598",
+ "15429643499585574357",
+ "4535284461649960984",
+ "9155447436921832078",
+ "3390101270817022966",
+ "14361575279545797223",
+ "17678455481009512511",
+ "18229277832294426980",
+ "15428781695718378259",
+ "15199758281362252903",
+ "7514122676504223707",
+ "4507842963483967880",
+ "13183917044320748698",
+ "16282671240206216175",
+ "13091854783274460328",
+ "7242898935607183237",
+ "12705386195831576516",
+ "14925710940990721924",
+ "11814636084932757123",
+ "15841147339449629698",
+ "18075963098244948167",
+ "1516191028595140457",
+ "2252273007191928687",
+ "6411127446485803024",
+ "8101415305331077638",
+ "15103208649195774187",
+ "1511676851469144933",
+ "5486635014123043256",
+ "8977058953237432024",
+ "30007289978188568",
+ "17745417624027574933",
+ "13479328013552572887",
+ "4782015453822078956",
+ "792315533213745631",
+ "1639038727204758500",
+ "11182696329503535227",
+ "17132997735759785152",
+ "8562034892617489548",
+ "9548762849318410251",
+ "14803893036248380424",
+ "4527536889559534073",
+ "12011007400040290724",
+ "10196659484172842939",
+ "667790015456892920",
+ "12925489555329803241",
+ "2629278296210726370",
+ "10029477269416352404",
+ "17727330188856026801",
+ "10992264961087475124",
+ "1928832090413071190",
+ "6416677214315011687",
+ "822061200227652982",
+ "466741207293311392",
+ "4729312932469561312",
+ "543548293272256628",
+ "16478371323299276753",
+ "6995579892281376624",
+ "6605215391302786330",
+ "10006921728365990370",
+ "8582305582190863029",
+ "17467506422497681404",
+ "7180707598131289471",
+ "11468643715642381932",
+ "13051127833960561498",
+ "777383375687737185",
+ "16780425818318476010",
+ "18188685238212930669",
+ "7589374859380068839",
+ "1358511365239494364",
+ "5706748431856073782",
+ "3724906797086275482",
+ "13634293741295223409",
+ "15874499083818509117",
+ "18288977236082298222",
+ "14787691328165508417",
+ "553800680119265186",
+ "13934281162270639121",
+ "2517210270956136245",
+ "11856808273217757105",
+ "6551434532322277436",
+ "12348483583934980910",
+ "15736771497866685453",
+ "2564179133701215202",
+ "17526924060645695579",
+ "10479333763566955972",
+ "14061836694593168480",
+ "4698279880334209556",
+ "9167501397194504918",
+ "1461586296418322732",
+ "6383921047839772962",
+ "7932914837256567982",
+ "4477395949186552874",
+ "3210124559740647997",
+ "2237504911340225377",
+ "9525312516555335186",
+ "18415896919208671272",
+ "6578597382158845273",
+ "656634248125025738",
+ "12791656968653901279",
+ "17570009689693723224",
+ "10828167620798924939",
+ "12646311072786803424",
+ "13067210938685542336",
+ "12886345679221280362",
+ "16950731504027258938",
+ "7994688633428627662",
+ "10832719185154300910",
+ "6553955362718264419",
+ "5627538529532123645",
+ "2162842280016909432",
+ "8851773066610436125",
+ "12423302490659802252",
+ "8435305693985820815",
+ "2677355472531293824",
+ "7387093257197192127",
+ "15033100579315731626",
+ "6237384218815574302",
+ "13711513620666305297",
+ "8748832911496053752",
+ "7851941548488037786",
+ "11128897598490629360",
+ "4319652234188276615",
+ "12772105429442122171",
+ "2016297297243206594",
+ "10157550207877285100",
+ "3132511863832902428",
+ "1479774632203537218",
+ "6068851279853148989",
+ "15563768705059112383",
+ "11467078414449555590",
+ "3798979209833264423",
+ "5614940062031757799",
+ "4411372841562942093",
+ "10920875328300712303",
+ "2979641069988536939",
+ "7749139579493925032",
+ "2068137417043739547",
+ "9843790133318350854",
+ "1030683462852230754",
+ "8063003646170356719",
+ "14980191434449704899",
+ "3920098142356119253",
+ "10810177120261609298",
+ "18146046991522245058",
+ "8014367686969541879",
+ "11445072481769026883",
+ "6499863983066801134",
+ "15087033904318313252",
+ "1182866707018495522",
+ "6959661720543482525",
+ "14624581579462995795",
+ "10445646871326644347",
+ "16984638666749737612",
+ "2874647325855226377",
+ "15251651115295035707",
+ "17866309005393575454",
+ "2265968357949147757",
+ "12235105108505831431",
+ "15746408505287705069",
+ "15664810744824724567",
+ "8799193784126002007",
+ "13226133377062859987",
+ "442678767381428577",
+ "12809447202622678714",
+ "1475277108346348043",
+ "11463220567308981902",
+ "14948744674271841516",
+ "14414916648546603906",
+ "2675293357852891183",
+ "16856571903345836875",
+ "18414962728617961073",
+ "10353975783792728757",
+ "3366574188095576759",
+ "17530315582208739251"
+ ],
+ [
+ "13329159936392679574",
+ "16707672887279884602",
+ "11648916149405141432",
+ "16333022378488791080",
+ "16636382009159196903",
+ "12969897121038836305",
+ "6218582034209851693",
+ "12436804614953829016",
+ "1448942295176403881",
+ "7906089311574917436",
+ "7077369663959714716",
+ "9723546481481173555",
+ "12027740066518020158",
+ "17874640613367515689",
+ "2963378718891252156",
+ "6520535730276874496",
+ "6997686658507735832",
+ "10797936614608523923",
+ "10187001870237869763",
+ "7881641342816538617",
+ "17222844231361409798",
+ "11582061836440775085",
+ "797755543105175530",
+ "8626833030205587640",
+ "16729230701973440889",
+ "11768227024552352578",
+ "9940169958104041990",
+ "15115954820673438459",
+ "12392184457574014018",
+ "14403784693182981232",
+ "12223123032351049310",
+ "17601128668535242481",
+ "1787425967587704517",
+ "15920523285611033602",
+ "10594096521904196414",
+ "2741452877452181058",
+ "6335972448773125801",
+ "10936263638638655020",
+ "4348937291011602107",
+ "10750946372011080689",
+ "7044430913928487691",
+ "15831650874201919456",
+ "11005490183243863650",
+ "7257604834534410238",
+ "17566129329142388050",
+ "8957928484543640868",
+ "8106473200619315775",
+ "521010519494488400",
+ "15080835044229566876",
+ "14295636299686962076",
+ "18165839086537400743",
+ "7446414459132770060",
+ "7129661349711377193",
+ "10560077028929235570",
+ "1967231945765138353",
+ "16587435430069779672",
+ "17476603831932899840",
+ "10235737596778626854",
+ "7863324653341199508",
+ "10458012995554838936",
+ "14877670349352737161",
+ "10482440137204162794",
+ "16757714915893129812",
+ "10377519890042862427",
+ "14555446271428752561",
+ "6753388897655357506",
+ "470947109908765021",
+ "8684245041550488132",
+ "14031537097929488997",
+ "14727077005812863696",
+ "16198395616811971044",
+ "9714219483721216981",
+ "4385986189869083384",
+ "16608093413934965866",
+ "14576587989036631674",
+ "17288823904549686821",
+ "14028590523361814237",
+ "14920134241717389482",
+ "14205942735358554594",
+ "17833459573905913840",
+ "13542715191480265530",
+ "8856562901607138320",
+ "15056603453917231889",
+ "9221156829756668930",
+ "15407303038224444148",
+ "8387556028875754517",
+ "581254133009288111",
+ "10296301696289317465",
+ "12326213586064903111",
+ "11228972081928652312",
+ "6273069288053110521",
+ "11684936294732227666",
+ "14969396938909364893",
+ "11728945125997640184",
+ "16655597484819942985",
+ "14395769016687713295",
+ "4871788797638369814",
+ "1097455520228692741",
+ "12520401099619610788",
+ "1379755230382375783",
+ "6388438518253044742",
+ "234002024957476615",
+ "6763748771113401328",
+ "4003000410268150455",
+ "10876683454495384347",
+ "6070532632487395823",
+ "17594790868976286287",
+ "7569322031431566673",
+ "17900763490349217180",
+ "15102184034741700747",
+ "12105869388062632264",
+ "1778050736739529755",
+ "6220713506838664509",
+ "12483608649588579951",
+ "15696437081734863284",
+ "8196913155295169961",
+ "2368795681915302847",
+ "3729678341431248200",
+ "9162793911831421031",
+ "5679490078898494094",
+ "5270114045281118062",
+ "4474081944957776602",
+ "16478699977633370332",
+ "3635474475581161187",
+ "3577921853850340959",
+ "15499888930585975773",
+ "3021399935850573878",
+ "4881268722435947086",
+ "15233924798578648041",
+ "11084645468168015652",
+ "6109877564080574359",
+ "11532577183127756904",
+ "3190005063230214988",
+ "10112102004563836520",
+ "13721469168734580496",
+ "11328817001171483738",
+ "17623666125062241272",
+ "6405552187135991453",
+ "3050225029049962399",
+ "7846182345889581038",
+ "17723627253582423004",
+ "8239545933852943515",
+ "3050474762816909303",
+ "6048770181730570593",
+ "4340483299348618417",
+ "5771975854369952366",
+ "4189751055340937209",
+ "11607678024812952173",
+ "8500468858604533392",
+ "12894322627536465563",
+ "12533055894263594844",
+ "4741233032750961771",
+ "1967252284844905959",
+ "9862597195827545299",
+ "10454698359797359573",
+ "8808779430919147673",
+ "9903430763867290673",
+ "11624519616614702020",
+ "5340869559973234724",
+ "8318752964880702308",
+ "13710244887887911376",
+ "10487815107443364937",
+ "16941628439854429184",
+ "2152457175742631151",
+ "16968268244120125557",
+ "12805861151360880493",
+ "159158214755461693",
+ "10951420301993528367",
+ "6982307178085698446",
+ "11256850000920452552",
+ "7002093740701428318",
+ "3727133681616508939",
+ "5800184999155595067",
+ "15430305782117828746",
+ "15145401563504772138",
+ "13735616916838909558",
+ "15599929276123586757",
+ "9097586068250793839",
+ "9721297850418795270",
+ "14388503735553321246",
+ "1764357627523073038",
+ "11605394564131385536",
+ "16750346945687301333",
+ "646634582680506135",
+ "3740482857561687130",
+ "17620146631644080405",
+ "5316955640110484000",
+ "15272753107593799563",
+ "12820671408469695639",
+ "5309973028375003542",
+ "16339529113883130466",
+ "10350204014151551699",
+ "16737690955354343071",
+ "13462503974907031270",
+ "14907510332697607768",
+ "16238173823524824772",
+ "7662402603319971965",
+ "11351383072308104618",
+ "2897056032580371810",
+ "17438567693933503218",
+ "7955494714327134366",
+ "12597559886546428033",
+ "2135445315893801003",
+ "5312036228587682068",
+ "6847045889948567658",
+ "16231149688171572647",
+ "17652510218133820796",
+ "8900301828219526170",
+ "4231856570261866093",
+ "7791655338234069117",
+ "3772885423972376531",
+ "11187320806169570340",
+ "1946259532650942153",
+ "3014581906096601970",
+ "14627552092122411556",
+ "1338361361488641918",
+ "1123998678652076478",
+ "7644772784802734309",
+ "7098230407765069273",
+ "7406413077655225902",
+ "4329716335861283979",
+ "18274231368635500347",
+ "4835635216729529406",
+ "13519389842408694885",
+ "14861151279415338904",
+ "2494109710010431582",
+ "8293812494848280960",
+ "18426004176010318230",
+ "13989626892849481316",
+ "9228061226467144101",
+ "8888441345126853051",
+ "10979255938545013887",
+ "14135612566512406543",
+ "14875247855406865281",
+ "5039794511576650430",
+ "3037829632038055740",
+ "14927028412547681926",
+ "17168070591316391516",
+ "9302934645434138039",
+ "2366323210395183083",
+ "2280588210332426948",
+ "3364107430753042424",
+ "1621374833538391660",
+ "1298645850739810943",
+ "12353098943585263969",
+ "6326886690111696470",
+ "17559011606992264359",
+ "5284400903780616746",
+ "643633600620352473",
+ "6434031042188387802",
+ "2505049689167188437",
+ "3681968637690118989",
+ "5167777514606825478",
+ "1082989775720551304",
+ "10322474457481783536",
+ "3574287151566024726",
+ "8640689161757216134",
+ "11908570416500273759",
+ "3124722376406911947",
+ "4341280687070832436",
+ "13556239523828980071",
+ "2786526133064916344",
+ "2021282603560814447",
+ "17944115911896422039",
+ "12005773979483532778",
+ "18325585214598309150",
+ "12888628453695877392",
+ "997771217784491515",
+ "14951234362140303426",
+ "13429810296299852674",
+ "8141209857337757087",
+ "13451152287401078912"
+ ],
+ [
+ "15284564651893843631",
+ "709149263278622309",
+ "6000907418993900521",
+ "15578062466232228324",
+ "8673855770155117221",
+ "4631283024171755654",
+ "17499341332890478180",
+ "1569554787394817421",
+ "1490442176570342165",
+ "9517839469577252755",
+ "16815144443427070438",
+ "5684816298180973177",
+ "16130464798401046913",
+ "4947709762955831136",
+ "2555553274136502762",
+ "15128350441644074451",
+ "10052620657111920441",
+ "8691456108216287473",
+ "9074264330506273241",
+ "16573348378796049503",
+ "8075607066619011981",
+ "12184944668463316697",
+ "13746149775234653909",
+ "2251286283340353742",
+ "18360032995924029795",
+ "1943908174707763470",
+ "3721083291904490764",
+ "2963357705694839257",
+ "15209654239898776487",
+ "10243459378829679067",
+ "11589395767301060021",
+ "5968463507859824553",
+ "12106005975235764579",
+ "5671144641741236919",
+ "3105353237728330306",
+ "18341039120942005031",
+ "14090319605710819755",
+ "5832854094991690084",
+ "10265964554108153631",
+ "16123352476365476381",
+ "11533794034821022069",
+ "17328277470468612987",
+ "1490472340769259028",
+ "10407664795812161080",
+ "10587754630514258220",
+ "4559530248796857690",
+ "14354788359397844609",
+ "16477297183122379583",
+ "9312850245153757272",
+ "15507345458530915304",
+ "6726547151472182347",
+ "8463117167694400054",
+ "4744051472240441022",
+ "4076951763654347633",
+ "3738726051871283734",
+ "4969649854632744295",
+ "11262945699899231811",
+ "14850669260807228657",
+ "248141915501868629",
+ "3567698975733716528",
+ "6814085473409693867",
+ "9401780503032433880",
+ "15088294762149020722",
+ "18309801491658955900",
+ "14512678707650855075",
+ "17343172839684257397",
+ "10689670630212562156",
+ "3978959520474077367",
+ "411424940288861537",
+ "7135052655049916060",
+ "5203332077999073945",
+ "9111455520876907514",
+ "8789540745653183734",
+ "9576308004239485745",
+ "8785390606992240569",
+ "3040871570632901031",
+ "4392001102632320474",
+ "12701027747535827631",
+ "17669134657155735407",
+ "2508006088930399369",
+ "3865558491214438653",
+ "8472329755310529729",
+ "8338584834797590413",
+ "4021025304279293723",
+ "11803846135081497064",
+ "7100363465151417217",
+ "4875174814978276462",
+ "4033328713980738640",
+ "221212391468663350",
+ "5751401480176387160",
+ "4367637862431440254",
+ "8186512709031245398",
+ "9983569152970899230",
+ "8834507393719557879",
+ "14829626176094557414",
+ "10561178321823410311",
+ "5939382201535829865",
+ "8961853088718890290",
+ "1153733995984359621",
+ "8125762051262972210",
+ "5476552836176275506",
+ "2301073877360468243",
+ "16728449720207083457",
+ "7231299329756463863",
+ "6575328704773112980",
+ "6189927745943154899",
+ "18132769415380352192",
+ "15297092919037540849",
+ "6194279616498517256",
+ "8082447145795419532",
+ "13406306077546664621",
+ "17838839974823895334",
+ "1855184838530753229",
+ "16249504228466291902",
+ "15672232783942870785",
+ "4546453767031945949",
+ "18106024852507643977",
+ "6416374386694266073",
+ "1665462200740408556",
+ "5485431247792237684",
+ "13918672273366362731",
+ "3566734614301186790",
+ "17329419866043294951",
+ "17695089450912477892",
+ "4665252911900309757",
+ "4404472705916953016",
+ "12585694768582182921",
+ "1626031448200576407",
+ "8845705228371493137",
+ "14502714156028189586",
+ "7388344461472208507",
+ "6779471952691602134",
+ "4038151571358770554",
+ "8844937802332325804",
+ "13195380181205685347",
+ "7868244869991102104",
+ "7334770055910773639",
+ "6932449578060667267",
+ "12218202330920444954",
+ "17284732381705563769",
+ "6182525282139573146",
+ "11218481326959058808",
+ "13534367046391903465",
+ "2787254686103947823",
+ "15220074213827762908",
+ "17642837778732696523",
+ "9169576471633960209",
+ "13994455297029802675",
+ "8938410846165422553",
+ "16754871334712913966",
+ "16416065893427975511",
+ "10574710315997050688",
+ "13104387351597420643",
+ "14783691967933310574",
+ "7544151137513169691",
+ "17550583114866676602",
+ "2818457123727847586",
+ "9683690410194988753",
+ "6041383516999205036",
+ "7372467275155533070",
+ "4557843724199612636",
+ "4821416975990935453",
+ "5511001006297100522",
+ "6774802631329261106",
+ "3351881541651100391",
+ "16705431911229531634",
+ "8301211486648962347",
+ "3036442288111492506",
+ "14094832590672474775",
+ "8859101909229346093",
+ "3748556683573323404",
+ "3587718468533527565",
+ "3324192514281327345",
+ "17401810928232547863",
+ "3229305853311809568",
+ "2574918517898334284",
+ "14212746474126952507",
+ "11849410815991382161",
+ "13537564931161944133",
+ "10604075148868298831",
+ "11559164705970362935",
+ "3682397047739735314",
+ "322382643140343974",
+ "5247278551534403247",
+ "10473975361048885034",
+ "4099081729039326528",
+ "11419740142624154783",
+ "232369858646000843",
+ "3609593863379380919",
+ "12927023521603576514",
+ "9817651223368521769",
+ "9057185953908500050",
+ "12542978555646201403",
+ "12532324032109568445",
+ "1285028840395271647",
+ "14008796011687208534",
+ "8510258243114628199",
+ "5834619004988674897",
+ "16633931831992836611",
+ "10983610888915615235",
+ "16831690606486190478",
+ "18187276621836993363",
+ "6647958752019999998",
+ "16480059931076868129",
+ "6269823875829025909",
+ "460273881712015284",
+ "4047998336847102562",
+ "11883712386550416969",
+ "16226961655537153640",
+ "1290977940790067249",
+ "12291487141163051412",
+ "1851619911521811947",
+ "11759925668346825062",
+ "17923108410524371812",
+ "1580848109441470087",
+ "5267911231737518483",
+ "14599780468176866402",
+ "5953342747034134307",
+ "9093271253558613059",
+ "11990394709530360388",
+ "6210056360752657928",
+ "13209421064608705090",
+ "17499031144973532881",
+ "2875296522204337078",
+ "3811697760643158225",
+ "1377294503404778627",
+ "3600813485643103524",
+ "10379679332054941378",
+ "3537678644825983336",
+ "6607112735071972722",
+ "14071427950972821271",
+ "865455860203584967",
+ "5520088569831704533",
+ "2366996265784510204",
+ "734722879437060217",
+ "7194214203060812394",
+ "3892632693396549314",
+ "16911051410455481665",
+ "6112640638447787412",
+ "68053035675309601",
+ "5722373678758756805",
+ "2601294493867051885",
+ "14873098543413277302",
+ "16297693586258606015",
+ "1618504809247150463",
+ "13680843457235273945",
+ "8992821216336946636",
+ "2101410463397575736",
+ "13798536330719775884",
+ "9051988849710907562",
+ "4010880974184780592",
+ "7545248984163170836",
+ "9596925705383457824",
+ "13951143259694635934",
+ "12815555741273605466",
+ "5864033336376232530",
+ "906609683739028221",
+ "7705636002793685543",
+ "11941520200521871917",
+ "7277958639657768662",
+ "8887687348635565047",
+ "7892996449945085510",
+ "4705840032428686921",
+ "11734957710059213401",
+ "13241920344428987475",
+ "5149170821521062064",
+ "3678263541578534356",
+ "10345625015424527773",
+ "10495312940706097959",
+ "16790689156194764695",
+ "10458919115267892306",
+ "17976630607936768011"
+ ]
+ ],
+ "merklePaths": [
+ [
+ "5330780144421818680",
+ "10515881715195215980",
+ "14086070973614885917",
+ "12566237814497071553",
+ "12600862601330235800",
+ "16883069359742529159",
+ "8892090350464194651",
+ "18063993943612043165",
+ "5311291670006812191",
+ "15014712300081966637",
+ "6247459476648333675",
+ "10104646648686978290",
+ "14590900074080443934",
+ "18053311515868340118",
+ "16080446228042512111",
+ "18400926785196826969",
+ "12083795083086343610",
+ "17963623608025901521",
+ "6100275558897678810",
+ "3794640635371141309",
+ "6161717320144789157",
+ "17784817362554624501",
+ "15963755681525719569",
+ "10393778629921092069",
+ "8316983105621921967",
+ "4981877206303856674",
+ "17057007054052031180",
+ "11297946758299308187",
+ "16456211005317408269",
+ "12627276095713059650",
+ "17576392602123151074",
+ "7641438746184019831",
+ "2572717977553962810",
+ "4416719756262058031",
+ "18281189771898274853",
+ "17323927343283798563",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0"
+ ],
+ [
+ "18186445722825051390",
+ "6376432698137505314",
+ "16766885043157617950",
+ "16243470117439592398",
+ "976898549315339138",
+ "8880088124297368485",
+ "448116158486253623",
+ "17717174110346681758",
+ "14594759378431808791",
+ "1586132303093775199",
+ "11748435865142298907",
+ "16459524518360101015",
+ "3875225215282808825",
+ "2730294442148528857",
+ "148052173121115221",
+ "9793191736303147676",
+ "9054363280863949990",
+ "6821521399154234369",
+ "9272200714351413404",
+ "3748593654622691631",
+ "7942499646327155967",
+ "10340096055554605577",
+ "11936265408546565383",
+ "15392204126056523140",
+ "8316983105621921967",
+ "4981877206303856674",
+ "17057007054052031180",
+ "11297946758299308187",
+ "16456211005317408269",
+ "12627276095713059650",
+ "17576392602123151074",
+ "7641438746184019831",
+ "2572717977553962810",
+ "4416719756262058031",
+ "18281189771898274853",
+ "17323927343283798563",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0"
+ ],
+ [
+ "15560211356412949285",
+ "12594633890819580214",
+ "10542754436138083411",
+ "13981710432391860891",
+ "15890947890091309772",
+ "1166004366467796613",
+ "3472680021563265646",
+ "4581367637445075889",
+ "1949983753787049906",
+ "12411349400459349133",
+ "4409364184746761515",
+ "17055562722570998328",
+ "8708692799180652853",
+ "4262190259026687309",
+ "6928465031041921763",
+ "15714448379453340748",
+ "17688672174871911126",
+ "4329791720212124152",
+ "15129825434175478408",
+ "13691849237193284170",
+ "2300929483285754933",
+ "11489675537368161476",
+ "1469785407258250502",
+ "9958395378052486267",
+ "9929091793139403004",
+ "8061414218191030662",
+ "13486642608625485414",
+ "11330153350019014620",
+ "16456211005317408269",
+ "12627276095713059650",
+ "17576392602123151074",
+ "7641438746184019831",
+ "2572717977553962810",
+ "4416719756262058031",
+ "18281189771898274853",
+ "17323927343283798563",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0"
+ ],
+ [
+ "10273735808511345464",
+ "15502154157645600399",
+ "7402458213600042608",
+ "9686204793601623303",
+ "4899920060966486773",
+ "11181129846118323773",
+ "15742435778802439326",
+ "8275414763548861126",
+ "6002569415642491422",
+ "494057822576698570",
+ "8489446994346441540",
+ "10076810769828126795",
+ "10214858325383108245",
+ "12390500041962326283",
+ "8864911671928194318",
+ "9041866188248909687",
+ "6774585794405370421",
+ "1400030771435394587",
+ "7580585701188293676",
+ "4916774029230028591",
+ "3586277619198395075",
+ "17820734516232094837",
+ "7890823011154340926",
+ "13217648020199973518",
+ "2795227239443065284",
+ "16106153975968615749",
+ "4470452277871379139",
+ "3861752215335560225",
+ "12304260224180557951",
+ "7076114541200301880",
+ "4638910155077376360",
+ "4304088339225689984",
+ "14091762875456338064",
+ "1870754070905164314",
+ "3238753342083935192",
+ "18319843239590385079",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0"
+ ],
+ [
+ "865147779581819515",
+ "3524417636541810354",
+ "2884471864405515290",
+ "1335227471942358084",
+ "8200709276479144672",
+ "15920227223646766842",
+ "3227940724599613035",
+ "2001852968684377937",
+ "7113376518348933153",
+ "16971973376171260928",
+ "10174379104881750819",
+ "1452385973669057623",
+ "14095817899703312363",
+ "14572792104462011721",
+ "1255351250845749944",
+ "6699729789643118113",
+ "9848134914702424452",
+ "3861688562429820220",
+ "10943162330000785274",
+ "10847633277998808088",
+ "2300929483285754933",
+ "11489675537368161476",
+ "1469785407258250502",
+ "9958395378052486267",
+ "9929091793139403004",
+ "8061414218191030662",
+ "13486642608625485414",
+ "11330153350019014620",
+ "16456211005317408269",
+ "12627276095713059650",
+ "17576392602123151074",
+ "7641438746184019831",
+ "2572717977553962810",
+ "4416719756262058031",
+ "18281189771898274853",
+ "17323927343283798563",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0",
+ "0"
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/workflow/prove.sh b/workflow/prove.sh
new file mode 100644
index 0000000..68966ca
--- /dev/null
+++ b/workflow/prove.sh
@@ -0,0 +1,10 @@
+#!/bin/bash
+
+# Source the parameters from params.sh
+source ./circ_params.sh
+
+# Build
+cargo build --release
+
+# Run the Rust executable
+cargo run --bin prove
diff --git a/workflow/prove_and_verify.sh b/workflow/prove_and_verify.sh
new file mode 100644
index 0000000..8a9947e
--- /dev/null
+++ b/workflow/prove_and_verify.sh
@@ -0,0 +1,10 @@
+#!/bin/bash
+
+# Source the parameters from params.sh
+source ./circ_params.sh
+
+# Build
+cargo build --release
+
+# Run the Rust executable
+cargo run --bin prove_and_verify
diff --git a/workflow/src/bin/build_circ.rs b/workflow/src/bin/build_circ.rs
new file mode 100644
index 0000000..143540e
--- /dev/null
+++ b/workflow/src/bin/build_circ.rs
@@ -0,0 +1,28 @@
+use plonky2::plonk::circuit_data::CircuitConfig;
+use plonky2::plonk::config::GenericConfig;
+use plonky2::plonk::circuit_builder::CircuitBuilder;
+use anyhow::Result;
+use std::time::Instant;
+use codex_plonky2_circuits::circuits::sample_cells::SampleCircuit;
+use proof_input::params::Params;
+use proof_input::params::{D, C, F};
+
+fn main() -> Result<()> {
+ // Load the parameters from environment variables
+ let params = Params::from_env()?;
+
+ // Create the circuit
+ let config = CircuitConfig::standard_recursion_config();
+ let mut builder = CircuitBuilder::::new(config);
+ let circuit_params = params.circuit_params;
+ let circ = SampleCircuit::new(circuit_params);
+ let mut targets = circ.sample_slot_circuit(&mut builder);
+
+ // Build the circuit
+ let build_time = Instant::now();
+ let data = builder.build::();
+ println!("Build time: {:?}", build_time.elapsed());
+ println!("Circuit size (degree bits): {:?}", data.common.degree_bits());
+
+ Ok(())
+}
diff --git a/workflow/src/bin/gen_input.rs b/workflow/src/bin/gen_input.rs
new file mode 100644
index 0000000..dfe64f8
--- /dev/null
+++ b/workflow/src/bin/gen_input.rs
@@ -0,0 +1,20 @@
+use plonky2::plonk::config::GenericConfig;
+use anyhow::Result;
+use proof_input::json::export_circ_input_to_json;
+use proof_input::gen_input::gen_testing_circuit_input;
+use proof_input::params::Params;
+use proof_input::params::{D, F};
+
+fn main() -> Result<()> {
+ // Load the parameters from environment variables
+ let params = Params::from_env()?;
+
+ // generate circuit input with given parameters
+ let circ_input = gen_testing_circuit_input::(¶ms.test);
+
+ // export circuit parameters to json file
+ let filename= "input.json";
+ export_circ_input_to_json(circ_input, filename)?;
+
+ Ok(())
+}
diff --git a/workflow/src/bin/prove.rs b/workflow/src/bin/prove.rs
new file mode 100644
index 0000000..0de7772
--- /dev/null
+++ b/workflow/src/bin/prove.rs
@@ -0,0 +1,45 @@
+use plonky2::plonk::circuit_data::CircuitConfig;
+use plonky2::plonk::config::GenericConfig;
+use plonky2::iop::witness::PartialWitness;
+use plonky2::plonk::circuit_builder::CircuitBuilder;
+use anyhow::Result;
+use std::time::Instant;
+
+use proof_input::json::import_circ_input_from_json;
+use codex_plonky2_circuits::circuits::sample_cells::{SampleCircuit, SampleCircuitInput};
+use codex_plonky2_circuits::circuits::params::CircuitParams;
+use proof_input::params::{D, C, F};
+
+fn main() -> Result<()> {
+ // Load the parameters from environment variables
+ let circuit_params = CircuitParams::from_env()?;
+
+ // Read the witness from input.json
+ let circ_input: SampleCircuitInput = import_circ_input_from_json("input.json")?;
+ println!("Witness imported from input.json");
+
+ // Create the circuit
+ let config = CircuitConfig::standard_recursion_config();
+ let mut builder = CircuitBuilder::::new(config);
+ let circ = SampleCircuit::new(circuit_params);
+ let mut targets = circ.sample_slot_circuit(&mut builder);
+
+ // Create a PartialWitness and assign
+ let mut pw = PartialWitness::new();
+ circ.sample_slot_assign_witness(&mut pw, &mut targets, circ_input);
+
+ // Build the circuit
+ let build_time = Instant::now();
+ let data = builder.build::();
+ println!("Build time: {:?}", build_time.elapsed());
+ println!("Circuit size (degree bits): {:?}", data.common.degree_bits());
+
+ // Prove the circuit with the assigned witness
+ let start_time = Instant::now();
+ let proof_with_pis = data.prove(pw)?;
+ println!("Proving time: {:?}", start_time.elapsed());
+
+ //TODO: write proof to json file
+
+ Ok(())
+}
diff --git a/workflow/src/main.rs b/workflow/src/bin/prove_and_verify.rs
similarity index 85%
rename from workflow/src/main.rs
rename to workflow/src/bin/prove_and_verify.rs
index 75f76e4..ea10f89 100644
--- a/workflow/src/main.rs
+++ b/workflow/src/bin/prove_and_verify.rs
@@ -8,29 +8,27 @@ use std::time::Instant;
use proof_input::json::import_circ_input_from_json;
use codex_plonky2_circuits::circuits::sample_cells::{SampleCircuit, SampleCircuitInput};
use codex_plonky2_circuits::circuits::params::CircuitParams;
-use proof_input::params::Params;
use proof_input::params::{D, C, F};
fn main() -> Result<()> {
// Load the parameters from environment variables
- let params = Params::from_env()?;
+ let circuit_params = CircuitParams::from_env()?;
// Read the witness from input.json
- let witness: SampleCircuitInput = import_circ_input_from_json("input.json")?;
+ let circ_input: SampleCircuitInput = import_circ_input_from_json("input.json")?;
println!("Witness imported from input.json");
// Create the circuit
let config = CircuitConfig::standard_recursion_config();
let mut builder = CircuitBuilder::::new(config);
- let circuit_params = params.circuit_params;
let circ = SampleCircuit::new(circuit_params);
let mut targets = circ.sample_slot_circuit(&mut builder);
// Create a PartialWitness and assign
let mut pw = PartialWitness::new();
- circ.sample_slot_assign_witness(&mut pw, &mut targets, witness);
+ circ.sample_slot_assign_witness(&mut pw, &mut targets, circ_input);
// Build the circuit
let build_time = Instant::now();