@maci-protocol/website 0.0.0-ci.2653bc0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (415) hide show
  1. package/.eslintrc.js +157 -0
  2. package/CHANGELOG.md +566 -0
  3. package/LICENSE +22 -0
  4. package/README.md +58 -0
  5. package/babel.config.js +3 -0
  6. package/blog/2021-10-12-maci-v1.md +100 -0
  7. package/blog/2022-09-22-maci-v1-technical-introduction.md +180 -0
  8. package/blog/2023-01-18-maci-v1.1.1.md +121 -0
  9. package/blog/2024-01-18-roadmap.md +106 -0
  10. package/blog/2024-02-28-maci-v1.2.0.md +121 -0
  11. package/blog/2024-04-10-roadmap-q2.md +96 -0
  12. package/blog/2024-05-08-ethdam.md +169 -0
  13. package/blog/2024-05-22-the-origins-of-maci.md +38 -0
  14. package/blog/2024-05-28-upcoming-grants.md +85 -0
  15. package/blog/2024-06-17-understanding-maci.md +63 -0
  16. package/blog/2024-06-21-deciphering-maci.md +48 -0
  17. package/blog/2024-06-28-revolusioning-public-goods-funding.md +32 -0
  18. package/blog/2024-07-23-q2-review.md +72 -0
  19. package/blog/2024-07-30-roadmap-q3.md +61 -0
  20. package/blog/2024-08-10-maci-v2.md +102 -0
  21. package/blog/2024-08-29-anonymous-poll-joining.md +47 -0
  22. package/blog/2024-10-29-q3-review.md +63 -0
  23. package/blog/2024-11-20-maci-platform.md +93 -0
  24. package/blog/2024-12-01-maci-getting-started.md +294 -0
  25. package/blog/2025-03-21-roadmap-2025.md +112 -0
  26. package/blog/assets/MACI_Bob_SignUp_1.png +0 -0
  27. package/blog/assets/MACI_Bob_SignUp_2.png +0 -0
  28. package/blog/assets/MACI_Complex_Message.png +0 -0
  29. package/blog/assets/MACI_Contracts.png +0 -0
  30. package/blog/assets/MACI_Sign_Up.png +0 -0
  31. package/blog/assets/MACI_Simple_Message.png +0 -0
  32. package/blog/assets/MACI_Verifier_1.png +0 -0
  33. package/blog/authors.yml +5 -0
  34. package/docusaurus.config.ts +213 -0
  35. package/package.json +65 -0
  36. package/src/components/ActionCard/index.tsx +30 -0
  37. package/src/components/ActionCard/styles.module.css +96 -0
  38. package/src/components/HomepageFeatures/index.tsx +91 -0
  39. package/src/components/HomepageFeatures/styles.module.css +17 -0
  40. package/src/components/ProjectCard/index.tsx +74 -0
  41. package/src/components/ProjectCard/styles.module.css +77 -0
  42. package/src/components/ProjectList/index.tsx +218 -0
  43. package/src/components/ProjectList/styles.module.css +180 -0
  44. package/src/content/projects.json +294 -0
  45. package/src/css/card.module.css +130 -0
  46. package/src/css/custom.css +91 -0
  47. package/src/icons/IconDiscord.tsx +16 -0
  48. package/src/icons/IconGithub.tsx +16 -0
  49. package/src/icons/IconWebsite.tsx +16 -0
  50. package/src/pages/blogs.tsx +58 -0
  51. package/src/pages/index.module.css +152 -0
  52. package/src/pages/index.tsx +66 -0
  53. package/src/pages/projects.tsx +44 -0
  54. package/src/pages/roadmap.md +150 -0
  55. package/src/pages/typedoc.tsx +11 -0
  56. package/src/plugins/blog-plugin/index.ts +86 -0
  57. package/src/react-app-env.d.ts +1 -0
  58. package/src/scripts/setupSolidityDocs.ts +67 -0
  59. package/src/scripts/setupTypedoc.ts +112 -0
  60. package/src/scripts/utils.ts +115 -0
  61. package/src/utils/getProjectsByFilter.ts +40 -0
  62. package/static/.nojekyll +0 -0
  63. package/static/audit_reports/20210922_Hashcloak_audit_report.pdf +0 -0
  64. package/static/audit_reports/202220930_Hashcloak_audit_report.pdf +0 -0
  65. package/static/audit_reports/20240223_PSE_Audit_audit_report.pdf +0 -0
  66. package/static/audit_reports/20240731_PSE_Audit_audit_report.pdf +0 -0
  67. package/static/fonts/DM_Sans.woff2 +0 -0
  68. package/static/fonts/Share_Tech_Mono.woff2 +0 -0
  69. package/static/img/box.png +0 -0
  70. package/static/img/box_dark.png +0 -0
  71. package/static/img/chain.png +0 -0
  72. package/static/img/chain_dark.png +0 -0
  73. package/static/img/chart.png +0 -0
  74. package/static/img/chart_dark.png +0 -0
  75. package/static/img/circuits/MACI-Circuits.excalidraw +39652 -0
  76. package/static/img/circuits/calculateTotal.svg +21 -0
  77. package/static/img/circuits/ecdh.svg +21 -0
  78. package/static/img/circuits/messageToCommand.svg +21 -0
  79. package/static/img/circuits/messageValidator.svg +21 -0
  80. package/static/img/circuits/poseidonHasher13.svg +21 -0
  81. package/static/img/circuits/privToPubkey.svg +21 -0
  82. package/static/img/circuits/processMessages.svg +21 -0
  83. package/static/img/circuits/processMessagesInputHasher.svg +21 -0
  84. package/static/img/circuits/processMessages_2_0.svg +21 -0
  85. package/static/img/circuits/processOne.svg +21 -0
  86. package/static/img/circuits/processTopup.svg +21 -0
  87. package/static/img/circuits/processingAfterPollEnds.svg +21 -0
  88. package/static/img/circuits/quinBatchLeavesExists.svg +21 -0
  89. package/static/img/circuits/quinCheckRoot.svg +21 -0
  90. package/static/img/circuits/quinGeneratePathIndices.svg +21 -0
  91. package/static/img/circuits/quinSelector.svg +21 -0
  92. package/static/img/circuits/resultsCommitmentVerifier.svg +21 -0
  93. package/static/img/circuits/splicer.svg +21 -0
  94. package/static/img/circuits/tallyInputHasher.svg +21 -0
  95. package/static/img/circuits/tallyVotes.svg +21 -0
  96. package/static/img/circuits/unpackElement.svg +21 -0
  97. package/static/img/circuits/verifySignature.svg +21 -0
  98. package/static/img/completingAPoll.svg +4 -0
  99. package/static/img/contracts.svg +16 -0
  100. package/static/img/coordinatorComponents.svg +21 -0
  101. package/static/img/favicon.ico +0 -0
  102. package/static/img/generateProofs.svg +4 -0
  103. package/static/img/hero.svg +9 -0
  104. package/static/img/maci-card.png +0 -0
  105. package/static/img/maci-rpgf-design.jpg +0 -0
  106. package/static/img/messageProcessingLocal.svg +21 -0
  107. package/static/img/offlineProcessing.svg +21 -0
  108. package/static/img/pse-logo-round.png +0 -0
  109. package/static/img/relayer-diagram.png +0 -0
  110. package/static/img/tallyCommitments.svg +4 -0
  111. package/static/img/voteTallyingLocal.svg +21 -0
  112. package/tsconfig.json +34 -0
  113. package/versioned_docs/version-v0.x/circuits.md +22 -0
  114. package/versioned_docs/version-v0.x/contract.md +186 -0
  115. package/versioned_docs/version-v0.x/faq.md +67 -0
  116. package/versioned_docs/version-v0.x/introduction.md +119 -0
  117. package/versioned_docs/version-v0.x/quadratic-vote-tallying-circuit.md +138 -0
  118. package/versioned_docs/version-v0.x/state-root-transition-circuit.md +230 -0
  119. package/versioned_docs/version-v1.2/audit.md +160 -0
  120. package/versioned_docs/version-v1.2/ci-pipeline.md +38 -0
  121. package/versioned_docs/version-v1.2/circuits.md +508 -0
  122. package/versioned_docs/version-v1.2/cli.md +689 -0
  123. package/versioned_docs/version-v1.2/contracts.md +445 -0
  124. package/versioned_docs/version-v1.2/contributing/code-of-conduct.md +91 -0
  125. package/versioned_docs/version-v1.2/contributing/contributing.md +129 -0
  126. package/versioned_docs/version-v1.2/coordinator-processing.md +46 -0
  127. package/versioned_docs/version-v1.2/deployment.md +122 -0
  128. package/versioned_docs/version-v1.2/installation.md +175 -0
  129. package/versioned_docs/version-v1.2/integrating.md +200 -0
  130. package/versioned_docs/version-v1.2/introduction.md +94 -0
  131. package/versioned_docs/version-v1.2/key-change.md +182 -0
  132. package/versioned_docs/version-v1.2/overview.md +47 -0
  133. package/versioned_docs/version-v1.2/poll-types.md +68 -0
  134. package/versioned_docs/version-v1.2/primitives.md +216 -0
  135. package/versioned_docs/version-v1.2/project-ideas.md +14 -0
  136. package/versioned_docs/version-v1.2/purpose.md +62 -0
  137. package/versioned_docs/version-v1.2/solidity-docs/MACI.md +345 -0
  138. package/versioned_docs/version-v1.2/solidity-docs/MessageProcessor.md +266 -0
  139. package/versioned_docs/version-v1.2/solidity-docs/MessageProcessorFactory.md +26 -0
  140. package/versioned_docs/version-v1.2/solidity-docs/Poll.md +381 -0
  141. package/versioned_docs/version-v1.2/solidity-docs/PollFactory.md +50 -0
  142. package/versioned_docs/version-v1.2/solidity-docs/SignUpToken.md +27 -0
  143. package/versioned_docs/version-v1.2/solidity-docs/Subsidy.md +218 -0
  144. package/versioned_docs/version-v1.2/solidity-docs/SubsidyFactory.md +27 -0
  145. package/versioned_docs/version-v1.2/solidity-docs/Tally.md +311 -0
  146. package/versioned_docs/version-v1.2/solidity-docs/TallyFactory.md +27 -0
  147. package/versioned_docs/version-v1.2/solidity-docs/TallyNonQv.md +296 -0
  148. package/versioned_docs/version-v1.2/solidity-docs/TallyNonQvFactory.md +27 -0
  149. package/versioned_docs/version-v1.2/solidity-docs/TopupCredit.md +61 -0
  150. package/versioned_docs/version-v1.2/solidity-docs/VkRegistry.md +457 -0
  151. package/versioned_docs/version-v1.2/solidity-docs/benchmarks/HasherBenchmarks.md +44 -0
  152. package/versioned_docs/version-v1.2/solidity-docs/crypto/Hasher.md +125 -0
  153. package/versioned_docs/version-v1.2/solidity-docs/crypto/IVerifier.md +11 -0
  154. package/versioned_docs/version-v1.2/solidity-docs/crypto/MockVerifier.md +17 -0
  155. package/versioned_docs/version-v1.2/solidity-docs/crypto/Pairing.md +85 -0
  156. package/versioned_docs/version-v1.2/solidity-docs/crypto/PoseidonT3.md +9 -0
  157. package/versioned_docs/version-v1.2/solidity-docs/crypto/PoseidonT4.md +9 -0
  158. package/versioned_docs/version-v1.2/solidity-docs/crypto/PoseidonT5.md +9 -0
  159. package/versioned_docs/version-v1.2/solidity-docs/crypto/PoseidonT6.md +9 -0
  160. package/versioned_docs/version-v1.2/solidity-docs/crypto/SnarkCommon.md +16 -0
  161. package/versioned_docs/version-v1.2/solidity-docs/crypto/SnarkConstants.md +40 -0
  162. package/versioned_docs/version-v1.2/solidity-docs/crypto/Verifier.md +61 -0
  163. package/versioned_docs/version-v1.2/solidity-docs/gatekeepers/EASGatekeeper.md +121 -0
  164. package/versioned_docs/version-v1.2/solidity-docs/gatekeepers/FreeForAllSignUpGatekeeper.md +40 -0
  165. package/versioned_docs/version-v1.2/solidity-docs/gatekeepers/SignUpGatekeeper.md +26 -0
  166. package/versioned_docs/version-v1.2/solidity-docs/gatekeepers/SignUpTokenGatekeeper.md +93 -0
  167. package/versioned_docs/version-v1.2/solidity-docs/gatekeepers/hatsGatekeepers/HatsGatekeeperBase.md +79 -0
  168. package/versioned_docs/version-v1.2/solidity-docs/gatekeepers/hatsGatekeepers/HatsGatekeeperMultiple.md +48 -0
  169. package/versioned_docs/version-v1.2/solidity-docs/gatekeepers/hatsGatekeepers/HatsGatekeeperSingle.md +42 -0
  170. package/versioned_docs/version-v1.2/solidity-docs/index.md +4 -0
  171. package/versioned_docs/version-v1.2/solidity-docs/initialVoiceCreditProxy/ConstantInitialVoiceCreditProxy.md +40 -0
  172. package/versioned_docs/version-v1.2/solidity-docs/initialVoiceCreditProxy/InitialVoiceCreditProxy.md +26 -0
  173. package/versioned_docs/version-v1.2/solidity-docs/interfaces/IEAS.md +40 -0
  174. package/versioned_docs/version-v1.2/solidity-docs/interfaces/IHats.md +103 -0
  175. package/versioned_docs/version-v1.2/solidity-docs/interfaces/IMPFactory.md +26 -0
  176. package/versioned_docs/version-v1.2/solidity-docs/interfaces/IMessageProcessor.md +31 -0
  177. package/versioned_docs/version-v1.2/solidity-docs/interfaces/IPoll.md +217 -0
  178. package/versioned_docs/version-v1.2/solidity-docs/interfaces/IPollFactory.md +29 -0
  179. package/versioned_docs/version-v1.2/solidity-docs/interfaces/ITallyFactory.md +28 -0
  180. package/versioned_docs/version-v1.2/solidity-docs/interfaces/ITallySubsidyFactory.md +27 -0
  181. package/versioned_docs/version-v1.2/solidity-docs/interfaces/IVerifier.md +25 -0
  182. package/versioned_docs/version-v1.2/solidity-docs/interfaces/IVkRegistry.md +70 -0
  183. package/versioned_docs/version-v1.2/solidity-docs/mocks/MockHatsProtocol.md +133 -0
  184. package/versioned_docs/version-v1.2/solidity-docs/trees/AccQueue.md +464 -0
  185. package/versioned_docs/version-v1.2/solidity-docs/trees/AccQueueBinary.md +60 -0
  186. package/versioned_docs/version-v1.2/solidity-docs/trees/AccQueueBinary0.md +40 -0
  187. package/versioned_docs/version-v1.2/solidity-docs/trees/AccQueueBinaryMaci.md +34 -0
  188. package/versioned_docs/version-v1.2/solidity-docs/trees/AccQueueQuinary.md +75 -0
  189. package/versioned_docs/version-v1.2/solidity-docs/trees/AccQueueQuinary0.md +40 -0
  190. package/versioned_docs/version-v1.2/solidity-docs/trees/AccQueueQuinaryBlankSl.md +40 -0
  191. package/versioned_docs/version-v1.2/solidity-docs/trees/AccQueueQuinaryMaci.md +40 -0
  192. package/versioned_docs/version-v1.2/solidity-docs/trees/EmptyBallotRoots.md +13 -0
  193. package/versioned_docs/version-v1.2/solidity-docs/utilities/CommonUtilities.md +25 -0
  194. package/versioned_docs/version-v1.2/solidity-docs/utilities/DomainObjs.md +40 -0
  195. package/versioned_docs/version-v1.2/solidity-docs/utilities/Params.md +36 -0
  196. package/versioned_docs/version-v1.2/solidity-docs/utilities/Utilities.md +79 -0
  197. package/versioned_docs/version-v1.2/spec.md +944 -0
  198. package/versioned_docs/version-v1.2/testing-in-detail.md +209 -0
  199. package/versioned_docs/version-v1.2/testing.md +472 -0
  200. package/versioned_docs/version-v1.2/topup.md +43 -0
  201. package/versioned_docs/version-v1.2/troubleshooting.md +51 -0
  202. package/versioned_docs/version-v1.2/trusted-setup.md +76 -0
  203. package/versioned_docs/version-v1.2/typedoc/cli/.nojekyll +1 -0
  204. package/versioned_docs/version-v1.2/typedoc/cli/index.md +15 -0
  205. package/versioned_docs/version-v1.2/typedoc/cli/interfaces/AirdropArgs.md +89 -0
  206. package/versioned_docs/version-v1.2/typedoc/cli/interfaces/DeployArgs.md +154 -0
  207. package/versioned_docs/version-v1.2/typedoc/cli/interfaces/DeployPollArgs.md +154 -0
  208. package/versioned_docs/version-v1.2/typedoc/cli/interfaces/DeployedContracts.md +130 -0
  209. package/versioned_docs/version-v1.2/typedoc/cli/interfaces/GenLocalStateArgs.md +168 -0
  210. package/versioned_docs/version-v1.2/typedoc/cli/interfaces/GenProofsArgs.md +388 -0
  211. package/versioned_docs/version-v1.2/typedoc/cli/interfaces/IGenKeypairArgs.md +37 -0
  212. package/versioned_docs/version-v1.2/typedoc/cli/interfaces/IRegisteredUserArgs.md +63 -0
  213. package/versioned_docs/version-v1.2/typedoc/cli/interfaces/MergeMessagesArgs.md +76 -0
  214. package/versioned_docs/version-v1.2/typedoc/cli/interfaces/MergeSignupsArgs.md +76 -0
  215. package/versioned_docs/version-v1.2/typedoc/cli/interfaces/PollContracts.md +53 -0
  216. package/versioned_docs/version-v1.2/typedoc/cli/interfaces/ProveOnChainArgs.md +128 -0
  217. package/versioned_docs/version-v1.2/typedoc/cli/interfaces/PublishArgs.md +154 -0
  218. package/versioned_docs/version-v1.2/typedoc/cli/interfaces/SignupArgs.md +89 -0
  219. package/versioned_docs/version-v1.2/typedoc/cli/interfaces/SubsidyData.md +73 -0
  220. package/versioned_docs/version-v1.2/typedoc/cli/interfaces/TallyData.md +166 -0
  221. package/versioned_docs/version-v1.2/typedoc/cli/interfaces/TopupArgs.md +89 -0
  222. package/versioned_docs/version-v1.2/typedoc/cli/interfaces/VerifyArgs.md +128 -0
  223. package/versioned_docs/version-v1.2/typedoc/cli/modules.md +556 -0
  224. package/versioned_docs/version-v1.2/typedoc/core/.nojekyll +1 -0
  225. package/versioned_docs/version-v1.2/typedoc/core/classes/MaciState.md +295 -0
  226. package/versioned_docs/version-v1.2/typedoc/core/classes/Poll.md +1098 -0
  227. package/versioned_docs/version-v1.2/typedoc/core/index.md +110 -0
  228. package/versioned_docs/version-v1.2/typedoc/core/interfaces/BatchSizes.md +50 -0
  229. package/versioned_docs/version-v1.2/typedoc/core/interfaces/IJsonMaciState.md +77 -0
  230. package/versioned_docs/version-v1.2/typedoc/core/interfaces/IProcessMessagesCircuitInputs.md +242 -0
  231. package/versioned_docs/version-v1.2/typedoc/core/interfaces/ISubsidyCircuitInputs.md +198 -0
  232. package/versioned_docs/version-v1.2/typedoc/core/interfaces/ITallyCircuitInputs.md +231 -0
  233. package/versioned_docs/version-v1.2/typedoc/core/interfaces/MaxValues.md +37 -0
  234. package/versioned_docs/version-v1.2/typedoc/core/interfaces/TreeDepths.md +63 -0
  235. package/versioned_docs/version-v1.2/typedoc/core/modules.md +289 -0
  236. package/versioned_docs/version-v1.2/typedoc/crypto/.nojekyll +1 -0
  237. package/versioned_docs/version-v1.2/typedoc/crypto/classes/AccQueue.md +770 -0
  238. package/versioned_docs/version-v1.2/typedoc/crypto/classes/G1Point.md +115 -0
  239. package/versioned_docs/version-v1.2/typedoc/crypto/classes/G2Point.md +140 -0
  240. package/versioned_docs/version-v1.2/typedoc/crypto/classes/IncrementalQuinTree.md +470 -0
  241. package/versioned_docs/version-v1.2/typedoc/crypto/index.md +44 -0
  242. package/versioned_docs/version-v1.2/typedoc/crypto/interfaces/Keypair.md +33 -0
  243. package/versioned_docs/version-v1.2/typedoc/crypto/interfaces/PoseidonFuncs.md +115 -0
  244. package/versioned_docs/version-v1.2/typedoc/crypto/interfaces/Queue.md +33 -0
  245. package/versioned_docs/version-v1.2/typedoc/crypto/interfaces/Signature.md +37 -0
  246. package/versioned_docs/version-v1.2/typedoc/crypto/modules.md +913 -0
  247. package/versioned_docs/version-v1.2/typedoc/domainobjs/.nojekyll +1 -0
  248. package/versioned_docs/version-v1.2/typedoc/domainobjs/classes/Ballot.md +274 -0
  249. package/versioned_docs/version-v1.2/typedoc/domainobjs/classes/Keypair.md +181 -0
  250. package/versioned_docs/version-v1.2/typedoc/domainobjs/classes/Message.md +244 -0
  251. package/versioned_docs/version-v1.2/typedoc/domainobjs/classes/PCommand.md +409 -0
  252. package/versioned_docs/version-v1.2/typedoc/domainobjs/classes/PrivKey.md +206 -0
  253. package/versioned_docs/version-v1.2/typedoc/domainobjs/classes/PubKey.md +289 -0
  254. package/versioned_docs/version-v1.2/typedoc/domainobjs/classes/StateLeaf.md +340 -0
  255. package/versioned_docs/version-v1.2/typedoc/domainobjs/classes/TCommand.md +200 -0
  256. package/versioned_docs/version-v1.2/typedoc/domainobjs/classes/VerifyingKey.md +240 -0
  257. package/versioned_docs/version-v1.2/typedoc/domainobjs/index.md +81 -0
  258. package/versioned_docs/version-v1.2/typedoc/domainobjs/interfaces/ICommand.md +104 -0
  259. package/versioned_docs/version-v1.2/typedoc/domainobjs/interfaces/IG1ContractParams.md +31 -0
  260. package/versioned_docs/version-v1.2/typedoc/domainobjs/interfaces/IG2ContractParams.md +31 -0
  261. package/versioned_docs/version-v1.2/typedoc/domainobjs/interfaces/IJsonBallot.md +42 -0
  262. package/versioned_docs/version-v1.2/typedoc/domainobjs/interfaces/IJsonCommand.md +32 -0
  263. package/versioned_docs/version-v1.2/typedoc/domainobjs/interfaces/IJsonKeyPair.md +31 -0
  264. package/versioned_docs/version-v1.2/typedoc/domainobjs/interfaces/IJsonPCommand.md +111 -0
  265. package/versioned_docs/version-v1.2/typedoc/domainobjs/interfaces/IJsonStateLeaf.md +42 -0
  266. package/versioned_docs/version-v1.2/typedoc/domainobjs/interfaces/IJsonTCommand.md +67 -0
  267. package/versioned_docs/version-v1.2/typedoc/domainobjs/interfaces/IMessageContractParams.md +31 -0
  268. package/versioned_docs/version-v1.2/typedoc/domainobjs/interfaces/IStateLeaf.md +39 -0
  269. package/versioned_docs/version-v1.2/typedoc/domainobjs/interfaces/IStateLeafContractParams.md +42 -0
  270. package/versioned_docs/version-v1.2/typedoc/domainobjs/interfaces/IVkContractParams.md +64 -0
  271. package/versioned_docs/version-v1.2/typedoc/domainobjs/interfaces/IVkObjectParams.md +108 -0
  272. package/versioned_docs/version-v1.2/typedoc/domainobjs/interfaces/Proof.md +46 -0
  273. package/versioned_docs/version-v1.2/typedoc/domainobjs/interfaces/VoteOptionTreeLeaf.md +24 -0
  274. package/versioned_docs/version-v1.2/typedoc/domainobjs/modules.md +110 -0
  275. package/versioned_docs/version-v1.2/typedoc/index.md +4 -0
  276. package/versioned_docs/version-v1.2/versioning.md +94 -0
  277. package/versioned_docs/version-v1.2/workflow.md +142 -0
  278. package/versioned_docs/version-v2.x/case-studies.md +35 -0
  279. package/versioned_docs/version-v2.x/contributing/_category_.json +4 -0
  280. package/versioned_docs/version-v2.x/contributing/code-of-conduct.md +92 -0
  281. package/versioned_docs/version-v2.x/contributing/contributing.md +149 -0
  282. package/versioned_docs/version-v2.x/contributing/project-ideas.md +78 -0
  283. package/versioned_docs/version-v2.x/core-concepts/_category_.json +4 -0
  284. package/versioned_docs/version-v2.x/core-concepts/ballot.md +19 -0
  285. package/versioned_docs/version-v2.x/core-concepts/coordinator-processing.md +46 -0
  286. package/versioned_docs/version-v2.x/core-concepts/hashing-and-encryption.md +45 -0
  287. package/versioned_docs/version-v2.x/core-concepts/key-change.md +179 -0
  288. package/versioned_docs/version-v2.x/core-concepts/maci-keys.md +84 -0
  289. package/versioned_docs/version-v2.x/core-concepts/maci-messages.md +44 -0
  290. package/versioned_docs/version-v2.x/core-concepts/merkle-trees.md +23 -0
  291. package/versioned_docs/version-v2.x/core-concepts/poll-types.md +106 -0
  292. package/versioned_docs/version-v2.x/core-concepts/spec.md +883 -0
  293. package/versioned_docs/version-v2.x/core-concepts/state-leaf.md +42 -0
  294. package/versioned_docs/version-v2.x/core-concepts/workflow.md +142 -0
  295. package/versioned_docs/version-v2.x/getting-started.md +313 -0
  296. package/versioned_docs/version-v2.x/guides/_category_.json +4 -0
  297. package/versioned_docs/version-v2.x/guides/compile-circuits.md +163 -0
  298. package/versioned_docs/version-v2.x/guides/frontend.md +99 -0
  299. package/versioned_docs/version-v2.x/guides/integrating.md +73 -0
  300. package/versioned_docs/version-v2.x/guides/maciWrapper.md +173 -0
  301. package/versioned_docs/version-v2.x/guides/subgraph.md +79 -0
  302. package/versioned_docs/version-v2.x/guides/testing/_category_.json +4 -0
  303. package/versioned_docs/version-v2.x/guides/testing/testing-in-detail.md +203 -0
  304. package/versioned_docs/version-v2.x/guides/testing/testing.md +163 -0
  305. package/versioned_docs/version-v2.x/guides/troubleshooting.md +161 -0
  306. package/versioned_docs/version-v2.x/introduction.md +146 -0
  307. package/versioned_docs/version-v2.x/processes/_category_.json +4 -0
  308. package/versioned_docs/version-v2.x/processes/ci-pipeline.md +38 -0
  309. package/versioned_docs/version-v2.x/processes/versioning.md +94 -0
  310. package/versioned_docs/version-v2.x/resources.md +33 -0
  311. package/versioned_docs/version-v2.x/security/_category_.json +4 -0
  312. package/versioned_docs/version-v2.x/security/audit.md +167 -0
  313. package/versioned_docs/version-v2.x/security/trusted-setup.md +166 -0
  314. package/versioned_docs/version-v2.x/supported-networks/_category_.json +4 -0
  315. package/versioned_docs/version-v2.x/supported-networks/deployed-contracts.md +1108 -0
  316. package/versioned_docs/version-v2.x/supported-networks/supported-networks.md +47 -0
  317. package/versioned_docs/version-v2.x/technical-references/_category_.json +4 -0
  318. package/versioned_docs/version-v2.x/technical-references/smart-contracts/AccQueue.md +21 -0
  319. package/versioned_docs/version-v2.x/technical-references/smart-contracts/Gatekeepers.md +40 -0
  320. package/versioned_docs/version-v2.x/technical-references/smart-contracts/MACI.md +152 -0
  321. package/versioned_docs/version-v2.x/technical-references/smart-contracts/MessageProcessor.md +13 -0
  322. package/versioned_docs/version-v2.x/technical-references/smart-contracts/Params.md +32 -0
  323. package/versioned_docs/version-v2.x/technical-references/smart-contracts/Poll.md +104 -0
  324. package/versioned_docs/version-v2.x/technical-references/smart-contracts/PollFactory.md +43 -0
  325. package/versioned_docs/version-v2.x/technical-references/smart-contracts/Tally.md +45 -0
  326. package/versioned_docs/version-v2.x/technical-references/smart-contracts/VkRegistry.md +57 -0
  327. package/versioned_docs/version-v2.x/technical-references/smart-contracts/VoiceCreditProxy.md +18 -0
  328. package/versioned_docs/version-v2.x/technical-references/smart-contracts/_category_.json +8 -0
  329. package/versioned_docs/version-v2.x/technical-references/technical-references.md +47 -0
  330. package/versioned_docs/version-v2.x/technical-references/typescript-code/_category_.json +4 -0
  331. package/versioned_docs/version-v2.x/technical-references/typescript-code/cli.md +699 -0
  332. package/versioned_docs/version-v2.x/technical-references/zk-snark-circuits/_category_.json +4 -0
  333. package/versioned_docs/version-v2.x/technical-references/zk-snark-circuits/processMessages.md +107 -0
  334. package/versioned_docs/version-v2.x/technical-references/zk-snark-circuits/setup.md +101 -0
  335. package/versioned_docs/version-v2.x/technical-references/zk-snark-circuits/tallyVotes.md +79 -0
  336. package/versioned_docs/version-v2.x/technical-references/zk-snark-circuits/utilities.md +131 -0
  337. package/versioned_docs/version-v2.x/technical-references/zk-snark-circuits/zk-snark-circuits.md +37 -0
  338. package/versioned_docs/version-v2.x/use-cases/_category_.json +4 -0
  339. package/versioned_docs/version-v2.x/use-cases/governance.md +18 -0
  340. package/versioned_docs/version-v2.x/use-cases/polling.md +10 -0
  341. package/versioned_docs/version-v2.x/use-cases/public-goods.md +65 -0
  342. package/versioned_docs/version-v3.x/case-studies.md +35 -0
  343. package/versioned_docs/version-v3.x/contributing/_category_.json +4 -0
  344. package/versioned_docs/version-v3.x/contributing/code-of-conduct.md +92 -0
  345. package/versioned_docs/version-v3.x/contributing/contributing.md +149 -0
  346. package/versioned_docs/version-v3.x/contributing/project-ideas.md +78 -0
  347. package/versioned_docs/version-v3.x/core-concepts/_category_.json +4 -0
  348. package/versioned_docs/version-v3.x/core-concepts/ballot.md +19 -0
  349. package/versioned_docs/version-v3.x/core-concepts/coordinator-processing.md +46 -0
  350. package/versioned_docs/version-v3.x/core-concepts/coordinator-service.md +16 -0
  351. package/versioned_docs/version-v3.x/core-concepts/hashing-and-encryption.md +45 -0
  352. package/versioned_docs/version-v3.x/core-concepts/key-change.md +179 -0
  353. package/versioned_docs/version-v3.x/core-concepts/maci-keys.md +84 -0
  354. package/versioned_docs/version-v3.x/core-concepts/maci-messages.md +44 -0
  355. package/versioned_docs/version-v3.x/core-concepts/merkle-trees.md +16 -0
  356. package/versioned_docs/version-v3.x/core-concepts/offchain-voting.md +14 -0
  357. package/versioned_docs/version-v3.x/core-concepts/poll-types.md +58 -0
  358. package/versioned_docs/version-v3.x/core-concepts/polls.md +81 -0
  359. package/versioned_docs/version-v3.x/core-concepts/spec.md +883 -0
  360. package/versioned_docs/version-v3.x/core-concepts/state-leaf.md +42 -0
  361. package/versioned_docs/version-v3.x/core-concepts/workflow.md +149 -0
  362. package/versioned_docs/version-v3.x/guides/_category_.json +4 -0
  363. package/versioned_docs/version-v3.x/guides/compile-circuits.md +175 -0
  364. package/versioned_docs/version-v3.x/guides/integrating.md +137 -0
  365. package/versioned_docs/version-v3.x/guides/subgraph.md +79 -0
  366. package/versioned_docs/version-v3.x/guides/testing/_category_.json +4 -0
  367. package/versioned_docs/version-v3.x/guides/testing/testing-in-detail.md +191 -0
  368. package/versioned_docs/version-v3.x/guides/testing/testing-introduction.md +158 -0
  369. package/versioned_docs/version-v3.x/guides/troubleshooting.md +161 -0
  370. package/versioned_docs/version-v3.x/introduction.md +153 -0
  371. package/versioned_docs/version-v3.x/processes/_category_.json +4 -0
  372. package/versioned_docs/version-v3.x/processes/ci-pipeline.md +38 -0
  373. package/versioned_docs/version-v3.x/processes/versioning.md +94 -0
  374. package/versioned_docs/version-v3.x/quick-start.md +318 -0
  375. package/versioned_docs/version-v3.x/resources.md +33 -0
  376. package/versioned_docs/version-v3.x/security/_category_.json +4 -0
  377. package/versioned_docs/version-v3.x/security/audit.md +167 -0
  378. package/versioned_docs/version-v3.x/security/trusted-setup.md +172 -0
  379. package/versioned_docs/version-v3.x/supported-networks/_category_.json +4 -0
  380. package/versioned_docs/version-v3.x/supported-networks/deployed-contracts.md +112 -0
  381. package/versioned_docs/version-v3.x/supported-networks/supported-networks.md +53 -0
  382. package/versioned_docs/version-v3.x/technical-references/_category_.json +4 -0
  383. package/versioned_docs/version-v3.x/technical-references/coordinator-service/_category_.json +8 -0
  384. package/versioned_docs/version-v3.x/technical-references/coordinator-service/index.md +10 -0
  385. package/versioned_docs/version-v3.x/technical-references/coordinator-service/installation.md +43 -0
  386. package/versioned_docs/version-v3.x/technical-references/offchain-relayer/_category_.json +8 -0
  387. package/versioned_docs/version-v3.x/technical-references/offchain-relayer/index.md +51 -0
  388. package/versioned_docs/version-v3.x/technical-references/offchain-relayer/installation.md +109 -0
  389. package/versioned_docs/version-v3.x/technical-references/smart-contracts/MACI.md +160 -0
  390. package/versioned_docs/version-v3.x/technical-references/smart-contracts/MessageProcessor.md +13 -0
  391. package/versioned_docs/version-v3.x/technical-references/smart-contracts/Params.md +33 -0
  392. package/versioned_docs/version-v3.x/technical-references/smart-contracts/Policies.md +39 -0
  393. package/versioned_docs/version-v3.x/technical-references/smart-contracts/Poll.md +170 -0
  394. package/versioned_docs/version-v3.x/technical-references/smart-contracts/PollFactory.md +33 -0
  395. package/versioned_docs/version-v3.x/technical-references/smart-contracts/Tally.md +43 -0
  396. package/versioned_docs/version-v3.x/technical-references/smart-contracts/VkRegistry.md +62 -0
  397. package/versioned_docs/version-v3.x/technical-references/smart-contracts/VoiceCreditProxy.md +18 -0
  398. package/versioned_docs/version-v3.x/technical-references/smart-contracts/_category_.json +8 -0
  399. package/versioned_docs/version-v3.x/technical-references/technical-references.md +48 -0
  400. package/versioned_docs/version-v3.x/technical-references/zk-snark-circuits/_category_.json +4 -0
  401. package/versioned_docs/version-v3.x/technical-references/zk-snark-circuits/joinPoll.md +53 -0
  402. package/versioned_docs/version-v3.x/technical-references/zk-snark-circuits/processMessages.md +106 -0
  403. package/versioned_docs/version-v3.x/technical-references/zk-snark-circuits/setup.md +96 -0
  404. package/versioned_docs/version-v3.x/technical-references/zk-snark-circuits/tallyVotes.md +79 -0
  405. package/versioned_docs/version-v3.x/technical-references/zk-snark-circuits/utilities.md +131 -0
  406. package/versioned_docs/version-v3.x/technical-references/zk-snark-circuits/zk-snark-circuits.md +42 -0
  407. package/versioned_docs/version-v3.x/use-cases/_category_.json +4 -0
  408. package/versioned_docs/version-v3.x/use-cases/governance.md +18 -0
  409. package/versioned_docs/version-v3.x/use-cases/polling.md +10 -0
  410. package/versioned_docs/version-v3.x/use-cases/public-goods.md +65 -0
  411. package/versioned_sidebars/version-v0.x-sidebars.json +8 -0
  412. package/versioned_sidebars/version-v1.2-sidebars.json +8 -0
  413. package/versioned_sidebars/version-v2.x-sidebars.json +8 -0
  414. package/versioned_sidebars/version-v3.x-sidebars.json +8 -0
  415. package/versions.json +1 -0
@@ -0,0 +1,21 @@
1
+ <svg version="1.1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2283.825327107867 2037.277216373561" width="4567.650654215734" height="4074.554432747122">
2
+ <!-- svg-source:excalidraw -->
3
+
4
+ <defs>
5
+ <style class="style-fonts">
6
+ @font-face {
7
+ font-family: "Virgil";
8
+ src: url("https://excalidraw.com/Virgil.woff2");
9
+ }
10
+ @font-face {
11
+ font-family: "Cascadia";
12
+ src: url("https://excalidraw.com/Cascadia.woff2");
13
+ }
14
+ @font-face {
15
+ font-family: "Assistant";
16
+ src: url("https://excalidraw.com/Assistant-Regular.woff2");
17
+ }
18
+ </style>
19
+
20
+ </defs>
21
+ <rect x="0" y="0" width="2283.825327107867" height="2037.277216373561" fill="#ffffff"></rect><g stroke-linecap="round" transform="translate(757.4704784739415 841.3131665361293) rotate(0 129.27623258310314 33.800522136203085)"><path d="M16.9 0 C93.02 2.08, 166.33 2.21, 241.65 0 M16.9 0 C86.1 0.69, 154.76 0.63, 241.65 0 M241.65 0 C252.48 1.24, 259.36 5.2, 258.55 16.9 M241.65 0 C255.15 1.6, 260.48 7.57, 258.55 16.9 M258.55 16.9 C259.63 24, 259.36 31.03, 258.55 50.7 M258.55 16.9 C259.16 27.84, 258.24 37.69, 258.55 50.7 M258.55 50.7 C256.87 62, 253.74 66.73, 241.65 67.6 M258.55 50.7 C259.27 63.41, 253.11 69.61, 241.65 67.6 M241.65 67.6 C189.77 70.38, 139.3 68.38, 16.9 67.6 M241.65 67.6 C183.63 69.68, 125.93 68.85, 16.9 67.6 M16.9 67.6 C7.33 69.05, 1.56 63.64, 0 50.7 M16.9 67.6 C4.6 69.31, 1.07 61.03, 0 50.7 M0 50.7 C-0.06 37.37, 1.09 24.35, 0 16.9 M0 50.7 C-0.89 40.53, -0.72 27.51, 0 16.9 M0 16.9 C-0.93 7.3, 4.9 1.8, 16.9 0 M0 16.9 C-0.75 7.16, 6.2 -2.25, 16.9 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(802.3767998631965 862.6136886723325) rotate(0 84.36991119384766 12.5)"><text x="84.36991119384766" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#e03131" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">ProcessMessages</text></g><g stroke-linecap="round" transform="translate(286.74010838123286 658.4058635434108) rotate(0 126.4982138566952 32.177416550875876)"><path d="M16.09 0 C87.37 -0.71, 157.63 0.37, 236.91 0 M16.09 0 C76.09 1.19, 136.83 0.47, 236.91 0 M236.91 0 C249.57 1.39, 254.67 7.05, 253 16.09 M236.91 0 C245.49 0.33, 253.83 6.54, 253 16.09 M253 16.09 C253.54 25.79, 251.24 37.02, 253 48.27 M253 16.09 C252.06 26.03, 253.31 35.51, 253 48.27 M253 48.27 C253.62 60.25, 247.8 66.1, 236.91 64.35 M253 48.27 C251.34 59.6, 249.42 63.43, 236.91 64.35 M236.91 64.35 C153.53 63.39, 72.87 62.79, 16.09 64.35 M236.91 64.35 C152.8 64.75, 67.88 64.85, 16.09 64.35 M16.09 64.35 C4.47 65.84, 0.93 58.18, 0 48.27 M16.09 64.35 C7.22 63.59, -0.37 58.79, 0 48.27 M0 48.27 C0.41 40.56, -1.25 29.1, 0 16.09 M0 48.27 C-0.3 36.43, -0.2 23.82, 0 16.09 M0 16.09 C-0.65 6.69, 5.85 -1.95, 16.09 0 M0 16.09 C1.34 5.04, 4.35 1.31, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(301.3884382047254 678.0832800942865) rotate(0 111.84988403320312 12.5)"><text x="111.84988403320312" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">inputHash (public input)</text></g><g stroke-linecap="round"><g transform="translate(833.5496464044718 746.6569935180642) rotate(0 3.6861204519241255 34.44869999829109)"><path d="M0.65 -0.33 C1.99 11.18, 6.84 56.82, 7.92 68.49 M-0.47 -1.55 C0.77 10.18, 6.15 58.27, 7.26 69.81" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(833.5496464044718 746.6569935180642) rotate(0 3.6861204519241255 34.44869999829109)"><path d="M-3.7 47.34 C-1.16 54.76, 1.91 59.97, 7.26 69.81 M-3.7 47.34 C1.33 56.2, 5.17 64.48, 7.26 69.81" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(833.5496464044718 746.6569935180642) rotate(0 3.6861204519241255 34.44869999829109)"><path d="M13.3 45.55 C10.87 53.58, 8.97 59.31, 7.26 69.81 M13.3 45.55 C12.18 55.02, 9.86 63.95, 7.26 69.81" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g transform="translate(907.2289337633965 787.6622919548431) rotate(0 31.809967041015625 12.5)"><text x="0" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Inputs</text></g><g stroke-linecap="round" transform="translate(565.9053176572424 660.8458999568331) rotate(0 110.05757116156974 32.17741655087593)"><path d="M16.09 0 C88.51 2.48, 161.4 1.87, 204.03 0 M16.09 0 C79.5 -1.34, 143.68 -0.31, 204.03 0 M204.03 0 C214.17 -1.84, 218.43 5.4, 220.12 16.09 M204.03 0 C215.7 -1, 220.84 6.81, 220.12 16.09 M220.12 16.09 C220.92 27.56, 219.59 37.4, 220.12 48.27 M220.12 16.09 C219.89 26.5, 219.54 36.34, 220.12 48.27 M220.12 48.27 C219.14 58.75, 216.45 65.8, 204.03 64.35 M220.12 48.27 C221.9 60.91, 213.72 66.07, 204.03 64.35 M204.03 64.35 C138.26 65.55, 73.65 65.4, 16.09 64.35 M204.03 64.35 C139.04 64.34, 72.17 65.83, 16.09 64.35 M16.09 64.35 C4.34 62.39, -0.93 60.66, 0 48.27 M16.09 64.35 C4.51 66.42, -0.75 60.52, 0 48.27 M0 48.27 C0.03 36.94, 1.45 26.64, 0 16.09 M0 48.27 C-0.26 39.68, 0.34 32.39, 0 16.09 M0 16.09 C0.3 5.3, 5.84 1.91, 16.09 0 M0 16.09 C-0.17 6.79, 5.29 -0.94, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(623.412931543422 680.5233165077091) rotate(0 52.549957275390625 12.5)"><text x="52.549957275390625" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">packedVals</text></g><g stroke-linecap="round" transform="translate(818.1959646067198 660.8070780476794) rotate(0 110.05757116156974 32.17741655087593)"><path d="M16.09 0 C80 0.06, 142.83 -0.24, 204.03 0 M16.09 0 C54.52 -1.08, 92.69 -0.14, 204.03 0 M204.03 0 C215.57 -0.87, 220.74 6.62, 220.12 16.09 M204.03 0 C214.94 2.01, 218.45 5.97, 220.12 16.09 M220.12 16.09 C220.02 27.4, 219.12 40.23, 220.12 48.27 M220.12 16.09 C219.49 27.88, 220.83 40.64, 220.12 48.27 M220.12 48.27 C221.67 60.66, 213.86 65.84, 204.03 64.35 M220.12 48.27 C221.18 58.06, 216.61 63.59, 204.03 64.35 M204.03 64.35 C151.63 63.3, 97.85 65.11, 16.09 64.35 M204.03 64.35 C157.44 65.14, 111.41 66.95, 16.09 64.35 M16.09 64.35 C4.63 66.15, -0.65 60.32, 0 48.27 M16.09 64.35 C5.93 62.11, 1.34 58.67, 0 48.27 M0 48.27 C-1.01 39.67, 1.7 31.17, 0 16.09 M0 48.27 C0.06 39.4, 0.15 31.55, 0 16.09 M0 16.09 C-0.14 6.6, 5.3 -0.82, 16.09 0 M0 16.09 C1.03 4.91, 4.86 -2.26, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(844.3836169450469 680.4844945985553) rotate(0 83.86991882324219 12.5)"><text x="83.86991882324219" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">pollEndTimestamp</text></g><g stroke-linecap="round" transform="translate(1062.7675219529256 661.5058724124349) rotate(0 110.05757116156974 32.17741655087593)"><path d="M16.09 0 C72.14 1.39, 132.12 -0.46, 204.03 0 M16.09 0 C55.61 -0.47, 94.62 0.59, 204.03 0 M204.03 0 C214.91 1.74, 218.67 5.89, 220.12 16.09 M204.03 0 C216.54 -0.93, 221.82 5.4, 220.12 16.09 M220.12 16.09 C221.38 23.51, 221.66 31.7, 220.12 48.27 M220.12 16.09 C221.17 26.19, 219.94 35.36, 220.12 48.27 M220.12 48.27 C221.04 58.18, 216.36 63.69, 204.03 64.35 M220.12 48.27 C219.75 58.79, 214.21 65.48, 204.03 64.35 M204.03 64.35 C152.36 64.11, 104.77 64.45, 16.09 64.35 M204.03 64.35 C165.7 66.82, 127.79 66.58, 16.09 64.35 M16.09 64.35 C5.85 62.4, 1.17 58.71, 0 48.27 M16.09 64.35 C4.35 65.66, -0.85 58.04, 0 48.27 M0 48.27 C-0.81 39.77, 1.25 30.42, 0 16.09 M0 48.27 C-0.15 39.34, -0.11 28.76, 0 16.09 M0 16.09 C0.9 4.97, 4.93 -1.97, 16.09 0 M0 16.09 C1.5 6.18, 3.08 1.88, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1132.5451324821715 681.1832889633108) rotate(0 40.27996063232422 12.5)"><text x="40.27996063232422" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">msgRoot</text></g><g stroke-linecap="round"><g transform="translate(1069.0821234331552 871.1317558076912) rotate(0 108.38376029738583 0.46191284466056004)"><path d="M0.1 1.05 C36.02 1.13, 179.63 1.34, 215.9 1.24 M-1.31 0.55 C34.95 0.19, 181.7 -0.87, 218.16 -0.71" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(1069.0821234331552 871.1317558076912) rotate(0 108.38376029738583 0.46191284466056004)"><path d="M194.69 7.89 C204.15 3.58, 210.71 3.73, 218.16 -0.71 M194.69 7.89 C200.29 5.22, 206.72 4.12, 218.16 -0.71" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(1069.0821234331552 871.1317558076912) rotate(0 108.38376029738583 0.46191284466056004)"><path d="M194.65 -9.21 C204.23 -7.86, 210.81 -2.04, 218.16 -0.71 M194.65 -9.21 C200.39 -7.44, 206.83 -4.1, 218.16 -0.71" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g transform="translate(1110.119433000893 821.9656642176492) rotate(0 49.669944763183594 12.5)"><text x="0" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Processing</text></g><g stroke-linecap="round" transform="translate(1336.3918393312788 62.09544612086364) rotate(0 167.76537947083852 68.2756945688252)"><path d="M32 0 C93.21 -0.49, 155.72 -2.31, 303.53 0 M32 0 C101.31 -0.83, 170.92 -1.58, 303.53 0 M303.53 0 C326.56 1.45, 337.09 12.34, 335.53 32 M303.53 0 C323.83 1.71, 336.6 9.73, 335.53 32 M335.53 32 C335.11 59.14, 336.27 86.61, 335.53 104.55 M335.53 32 C335.28 56.77, 335.45 78.69, 335.53 104.55 M335.53 104.55 C334.6 127.55, 324.13 138.35, 303.53 136.55 M335.53 104.55 C334.78 127.41, 325.43 134.3, 303.53 136.55 M303.53 136.55 C207.08 135.04, 108.22 135.33, 32 136.55 M303.53 136.55 C196.8 136.62, 89.74 135.99, 32 136.55 M32 136.55 C11.14 138.47, -0.14 127.12, 0 104.55 M32 136.55 C10.59 135.61, 1.03 125.43, 0 104.55 M0 104.55 C1.42 82.38, 2.35 64.18, 0 32 M0 104.55 C-1.26 77.24, -0.65 48.81, 0 32 M0 32 C1.02 11.86, 11.89 -0.46, 32 0 M0 32 C0.4 12.2, 10.72 1.24, 32 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1361.1773604036798 117.87114068968884) rotate(0 142.9798583984375 12.5)"><text x="142.9798583984375" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">1. Verify currentSbCommitment</text></g><g stroke-linecap="round"><g transform="translate(1696.7846533287257 159.203021836539) rotate(0 20.82494986302345 -6.215796964200905)"><path d="M-0.24 0.46 C6.67 -1.68, 34.32 -10.42, 41.38 -12.5 M0.64 0.23 C7.73 -1.87, 35.58 -9.65, 42.48 -11.83" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(1696.7846533287257 159.203021836539) rotate(0 20.82494986302345 -6.215796964200905)"><path d="M25 1.08 C30.89 -3.13, 35.01 -5.55, 42.48 -11.83 M25 1.08 C31.23 -3.43, 38.2 -8.81, 42.48 -11.83" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(1696.7846533287257 159.203021836539) rotate(0 20.82494986302345 -6.215796964200905)"><path d="M20.79 -13.17 C27.95 -13.22, 33.3 -11.49, 42.48 -11.83 M20.79 -13.17 C28.65 -12.39, 37.18 -12.47, 42.48 -11.83" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(1332.5449225973925 211.55288941678128) rotate(0 161.2046291769268 63.522746964685325)"><path d="M31.76 0 C97.99 2.38, 165.77 2.26, 290.65 0 M31.76 0 C131.42 -1.87, 230.98 -1.81, 290.65 0 M290.65 0 C311.5 -0.17, 321.94 11.57, 322.41 31.76 M290.65 0 C311.11 0.66, 323.79 9.33, 322.41 31.76 M322.41 31.76 C321.04 45.54, 324.67 60.45, 322.41 95.28 M322.41 31.76 C322.45 55.54, 322.79 81.14, 322.41 95.28 M322.41 95.28 C321.53 117.59, 311.08 126.22, 290.65 127.05 M322.41 95.28 C321.99 118.62, 311.1 126.46, 290.65 127.05 M290.65 127.05 C205.52 127.74, 122.03 127.24, 31.76 127.05 M290.65 127.05 C197.32 126.03, 103.1 125.41, 31.76 127.05 M31.76 127.05 C11.89 127.75, -1.99 118.1, 0 95.28 M31.76 127.05 C10.58 128.99, 2.25 118.32, 0 95.28 M0 95.28 C-0.3 80.71, 0.82 65.32, 0 31.76 M0 95.28 C-0.09 78.23, -0.15 60.39, 0 31.76 M0 31.76 C-0.59 8.77, 12.39 -0.49, 31.76 0 M0 31.76 C0.14 9.23, 11.85 2.26, 31.76 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1340.1096744549832 250.0756363814666) rotate(0 153.63987731933594 25)"><text x="153.63987731933594" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">2. Verify inputHash and assign </text><text x="153.63987731933594" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">packed values</text></g><g stroke-linecap="round"><g transform="translate(1680.4207582331542 277.6451000060926) rotate(0 12.834776202461853 0.090739775791576)"><path d="M0.26 -0.22 C4.65 -0.29, 21.89 -0.06, 26.11 0 M-0.28 -0.81 C4.1 -0.84, 21.67 0.35, 25.91 0.6" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(1680.4207582331542 277.6451000060926) rotate(0 12.834776202461853 0.090739775791576)"><path d="M13.6 4.22 C16.46 3.79, 19.65 2.24, 25.91 0.6 M13.6 4.22 C17.09 3.23, 20.96 1.91, 25.91 0.6" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(1680.4207582331542 277.6451000060926) rotate(0 12.834776202461853 0.090739775791576)"><path d="M14.15 -4.54 C16.91 -2.74, 19.95 -2.04, 25.91 0.6 M14.15 -4.54 C17.47 -2.98, 21.19 -1.75, 25.91 0.6" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(399.966929532201 823.0531286001524) rotate(0 110.05757116156974 32.17741655087593)"><path d="M16.09 0 C58.47 1.38, 99.62 0.66, 204.03 0 M16.09 0 C64.87 -0.35, 112.61 0.17, 204.03 0 M204.03 0 C212.84 -1.37, 220.62 4.48, 220.12 16.09 M204.03 0 C214.55 -1.2, 222.03 6.2, 220.12 16.09 M220.12 16.09 C219.85 21.69, 218.94 30.39, 220.12 48.27 M220.12 16.09 C219.57 25.92, 220.27 33.38, 220.12 48.27 M220.12 48.27 C221.71 59.25, 213.55 64.01, 204.03 64.35 M220.12 48.27 C221.5 58.85, 217 65.61, 204.03 64.35 M204.03 64.35 C145.7 65.04, 86.42 64.16, 16.09 64.35 M204.03 64.35 C139.66 62.32, 75.42 62.1, 16.09 64.35 M16.09 64.35 C3.45 64.19, 1.55 58.38, 0 48.27 M16.09 64.35 C7 65.93, 0.94 59.07, 0 48.27 M0 48.27 C-0.86 41.71, -0.49 33.15, 0 16.09 M0 48.27 C-1 38.35, 0.91 25.79, 0 16.09 M0 16.09 C0.62 7.29, 3.38 1.02, 16.09 0 M0 16.09 C-1.4 5.85, 5.84 -1, 16.09 0" stroke="#f08c00" stroke-width="1" fill="none"></path></g><g transform="translate(429.0845821757048 842.7305451510283) rotate(0 80.9399185180664 12.5)"><text x="80.9399185180664" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#f08c00" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">stateTreeDepth</text></g><g stroke-linecap="round"><g transform="translate(652.2270135001836 898.767323197048) rotate(0 24.285934174555678 0.3162331742965989)"><path d="M-0.24 -0.25 C7.94 -0.07, 40.8 0.51, 49.02 0.63 M0.64 0.81 C8.79 1.12, 40.76 1.3, 48.82 1.32" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(652.2270135001836 898.767323197048) rotate(0 24.285934174555678 0.3162331742965989)"><path d="M25.96 9.52 C32.24 7.98, 39.39 5.74, 48.82 1.32 M25.96 9.52 C31.46 7, 38.07 4.97, 48.82 1.32" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(652.2270135001836 898.767323197048) rotate(0 24.285934174555678 0.3162331742965989)"><path d="M26.04 -7.1 C32.23 -3.76, 39.36 -1.13, 48.82 1.32 M26.04 -7.1 C31.59 -5.24, 38.19 -2.91, 48.82 1.32" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(410.41401452643277 1014.4432553345162) rotate(0 110.05757116156974 32.17741655087593)"><path d="M16.09 0 C53.94 1.86, 94.93 1.32, 204.03 0 M16.09 0 C59.94 -0.55, 105.26 0.71, 204.03 0 M204.03 0 C214.17 -0.39, 219.18 6.42, 220.12 16.09 M204.03 0 C215.21 2.11, 222.33 5.06, 220.12 16.09 M220.12 16.09 C220.84 28.22, 218.57 36.53, 220.12 48.27 M220.12 16.09 C221.27 25.41, 220.1 35.36, 220.12 48.27 M220.12 48.27 C221.66 57.03, 212.88 64.98, 204.03 64.35 M220.12 48.27 C222.15 60.79, 214.62 63.39, 204.03 64.35 M204.03 64.35 C128.06 64.01, 55.33 63.94, 16.09 64.35 M204.03 64.35 C166.4 65.45, 128.48 64.07, 16.09 64.35 M16.09 64.35 C6.19 66.21, -1.35 60.95, 0 48.27 M16.09 64.35 C4.74 65.91, -2.17 60.47, 0 48.27 M0 48.27 C1.7 35.44, -1.13 23.95, 0 16.09 M0 48.27 C-0.28 38.27, -0.75 29.2, 0 16.09 M0 16.09 C-0.58 4.46, 7.09 -1.7, 16.09 0 M0 16.09 C-0.37 5.9, 5.52 -2.02, 16.09 0" stroke="#f08c00" stroke-width="1" fill="none"></path></g><g transform="translate(445.3616537422022 1034.120671885392) rotate(0 75.10993194580078 12.5)"><text x="75.10993194580078" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#f08c00" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">msgBatchDepth</text></g><g stroke-linecap="round" transform="translate(403.4555411049487 1104.9570361730955) rotate(0 110.05757116156974 32.17741655087593)"><path d="M16.09 0 C57.91 -1.56, 100.21 0.56, 204.03 0 M16.09 0 C62.93 0.65, 111.97 0.38, 204.03 0 M204.03 0 C216.73 1.13, 218.84 4.62, 220.12 16.09 M204.03 0 C214.49 -1.61, 220.63 6.9, 220.12 16.09 M220.12 16.09 C220.4 25.21, 219.02 38.5, 220.12 48.27 M220.12 16.09 C220.3 29.34, 219.27 40.68, 220.12 48.27 M220.12 48.27 C220.58 57.79, 212.81 65.6, 204.03 64.35 M220.12 48.27 C219.42 57.07, 213.18 63.78, 204.03 64.35 M204.03 64.35 C147 65.69, 92.52 64.28, 16.09 64.35 M204.03 64.35 C139.12 66.21, 76.21 65.34, 16.09 64.35 M16.09 64.35 C3.52 65.84, -1.15 58.72, 0 48.27 M16.09 64.35 C5.48 62.89, -0.79 60.98, 0 48.27 M0 48.27 C-1.41 40.93, -0.42 32.25, 0 16.09 M0 48.27 C0.45 39.34, 0.62 31.26, 0 16.09 M0 16.09 C-1.06 4.6, 3.41 -0.91, 16.09 0 M0 16.09 C-1.53 6.1, 5.29 1.79, 16.09 0" stroke="#f08c00" stroke-width="1" fill="none"></path></g><g transform="translate(409.3132221297992 1124.6344527239714) rotate(0 104.19989013671875 12.5)"><text x="104.19989013671875" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#f08c00" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">voteOptionTreeDepth</text></g><g transform="translate(646.9697728268948 977.7030542790301) rotate(0 56.89994812011719 12.5)"><text x="0" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Parameters</text></g><g stroke-linecap="round" transform="translate(86.08341555332572 768.3888661010408) rotate(0 131.97589449220231 50.89970216399263)"><path d="M25.45 0 C102.66 0.67, 181.85 0.17, 238.5 0 M25.45 0 C104.77 0.73, 185.01 1.4, 238.5 0 M238.5 0 C256.39 1.37, 264.97 10.38, 263.95 25.45 M238.5 0 C254.96 -0.96, 262.03 6.2, 263.95 25.45 M263.95 25.45 C262.64 45.25, 265.43 64.19, 263.95 76.35 M263.95 25.45 C263.24 44.88, 263.84 62.95, 263.95 76.35 M263.95 76.35 C264.86 91.33, 253.98 102.05, 238.5 101.8 M263.95 76.35 C264.17 94.97, 256.32 102.72, 238.5 101.8 M238.5 101.8 C160.33 101.46, 80.26 102.39, 25.45 101.8 M238.5 101.8 C195.73 102.66, 152.53 103.03, 25.45 101.8 M25.45 101.8 C7.05 100.97, -0.43 95.03, 0 76.35 M25.45 101.8 C6.41 101.75, 0.94 95.58, 0 76.35 M0 76.35 C-0.1 54.96, -1.97 37.87, 0 25.45 M0 76.35 C1.02 66.5, 0.61 53.78, 0 25.45 M0 25.45 C1.09 8.25, 9.92 1.31, 25.45 0 M0 25.45 C-1.07 6.95, 9.03 1.35, 25.45 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(93.35942753820382 794.2885682650333) rotate(0 124.69988250732422 25)"><text x="124.69988250732422" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">depth of the tree holding</text><text x="124.69988250732422" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">signups</text></g><g stroke-linecap="round" transform="translate(10 1004.8837259827417) rotate(0 188.71741237766173 60.08169174399393)"><path d="M30.04 0 C96.79 1.83, 164.93 2.22, 347.39 0 M30.04 0 C129.35 -0.71, 228.96 -1.4, 347.39 0 M347.39 0 C365.68 -0.59, 378.56 11.4, 377.43 30.04 M347.39 0 C368.56 2.18, 376.66 9.24, 377.43 30.04 M377.43 30.04 C375.04 54.15, 376.72 76.29, 377.43 90.12 M377.43 30.04 C377.35 49.66, 376.44 71.26, 377.43 90.12 M377.43 90.12 C375.99 109.09, 365.47 120.11, 347.39 120.16 M377.43 90.12 C376.76 110.39, 369.27 120.18, 347.39 120.16 M347.39 120.16 C259.73 120.94, 169.78 122.81, 30.04 120.16 M347.39 120.16 C236.15 118.41, 124.03 119.15, 30.04 120.16 M30.04 120.16 C9.23 121.59, 0.3 110.4, 0 90.12 M30.04 120.16 C11.78 120.26, 2.27 111.95, 0 90.12 M0 90.12 C-1.24 75.36, -1.73 65.19, 0 30.04 M0 90.12 C1.04 69.02, -0.39 49.29, 0 30.04 M0 30.04 C-0.22 11.23, 12 0.21, 30.04 0 M0 30.04 C-2.03 9.84, 10.25 1.77, 30.04 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(20.537541772193435 1039.9654177267355) rotate(0 178.17987060546875 25)"><text x="178.17987060546875" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">depth of the shortest tree that </text><text x="178.17987060546875" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">can fit all the messages in a batch</text></g><g stroke-linecap="round" transform="translate(88.56940154360291 1125.417983742024) rotate(0 128.8389059703909 46.25326857698019)"><path d="M23.13 0 C97.07 2.73, 170.75 1.1, 234.55 0 M23.13 0 C105.88 0.27, 187.55 -0.87, 234.55 0 M234.55 0 C249.76 -0.44, 256.45 7.66, 257.68 23.13 M234.55 0 C248.99 -2.11, 255.89 5.71, 257.68 23.13 M257.68 23.13 C257.52 39.09, 259.13 49.97, 257.68 69.38 M257.68 23.13 C258.14 41.43, 257.99 58.73, 257.68 69.38 M257.68 69.38 C257.81 83.91, 251.91 91.05, 234.55 92.51 M257.68 69.38 C256.6 83.37, 250.31 94.41, 234.55 92.51 M234.55 92.51 C173.69 92.48, 112.83 92.62, 23.13 92.51 M234.55 92.51 C152.19 94.08, 69.86 94.26, 23.13 92.51 M23.13 92.51 C6.03 93.83, -1.38 83.99, 0 69.38 M23.13 92.51 C8.09 92.16, 2.26 83.76, 0 69.38 M0 69.38 C1.66 55.19, 0.63 36.82, 0 23.13 M0 69.38 C0.21 59.74, 0.73 49.49, 0 23.13 M0 23.13 C-1.53 9.5, 6.61 1.91, 23.13 0 M0 23.13 C-0.18 9.47, 9.93 2.16, 23.13 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(123.37839265803723 1146.6712523190042) rotate(0 94.02991485595703 25)"><text x="94.02991485595703" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">depth of the tree </text><text x="94.02991485595703" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">holding votes</text></g><g stroke-linecap="round" transform="translate(406.41834463541454 916.3184273794545) rotate(0 110.05757116156974 32.17741655087593)"><path d="M16.09 0 C59.11 2.9, 104.06 2.4, 204.03 0 M16.09 0 C80.08 -1, 145.58 -0.51, 204.03 0 M204.03 0 C215.72 0.57, 220.03 4.93, 220.12 16.09 M204.03 0 C216.82 2.2, 221.55 4.24, 220.12 16.09 M220.12 16.09 C222.21 25.17, 218.63 36.73, 220.12 48.27 M220.12 16.09 C220.26 24.64, 221.16 33.56, 220.12 48.27 M220.12 48.27 C220.59 58.75, 213.98 64.12, 204.03 64.35 M220.12 48.27 C220.38 59.08, 216.53 64.61, 204.03 64.35 M204.03 64.35 C159.27 63.06, 109.65 64.61, 16.09 64.35 M204.03 64.35 C160.77 64.91, 118.72 65.12, 16.09 64.35 M16.09 64.35 C3.68 64.25, -0.09 57.71, 0 48.27 M16.09 64.35 C5.4 63.22, 0.94 61.07, 0 48.27 M0 48.27 C-0.88 38.47, 0.64 29.46, 0 16.09 M0 48.27 C1.17 39.62, 0.2 29.69, 0 16.09 M0 16.09 C0.83 4.55, 6.8 0.55, 16.09 0 M0 16.09 C0.83 5.22, 7.09 1.24, 16.09 0" stroke="#f08c00" stroke-width="1" fill="none"></path></g><g transform="translate(447.6359881236449 935.9958439303305) rotate(0 68.83992767333984 12.5)"><text x="68.83992767333984" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#f08c00" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">msgTreeDepth</text></g><g stroke-linecap="round" transform="translate(90.40262036137665 884.9591027125775) rotate(0 131.8208903534778 50.3645688279189)"><path d="M25.18 0 C85.31 0.75, 147.93 -1.51, 238.46 0 M25.18 0 C84.3 1.95, 143.98 2.44, 238.46 0 M238.46 0 C254.41 0.28, 261.84 7.65, 263.64 25.18 M238.46 0 C256.55 -2, 264.42 10.55, 263.64 25.18 M263.64 25.18 C264.18 36.97, 264.7 49.02, 263.64 75.55 M263.64 25.18 C264.31 45.47, 264.01 64.55, 263.64 75.55 M263.64 75.55 C262.29 91.38, 257.17 100.21, 238.46 100.73 M263.64 75.55 C265.67 91.52, 253.88 99.22, 238.46 100.73 M238.46 100.73 C165.45 102.66, 91.82 99.75, 25.18 100.73 M238.46 100.73 C170.14 99.36, 102.95 98.78, 25.18 100.73 M25.18 100.73 C6.83 101.48, -0.58 91.59, 0 75.55 M25.18 100.73 C8.53 99.81, 2.01 94.38, 0 75.55 M0 75.55 C-0.34 62.14, -0.6 53.88, 0 25.18 M0 75.55 C-0.71 62.46, -0.25 50.79, 0 25.18 M0 25.18 C-1.68 8.28, 8.55 -1.51, 25.18 0 M0 25.18 C-2.06 6.55, 7.11 -0.91, 25.18 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(133.02359006055758 910.3236715404964) rotate(0 89.19992065429688 25)"><text x="89.19992065429688" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">the depth of the </text><text x="89.19992065429688" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">message tree</text></g><g stroke-linecap="round" transform="translate(320.4874148692834 553.6246566165546) rotate(0 110.05757116156974 32.17741655087593)"><path d="M16.09 0 C82.27 -0.16, 145.94 2.09, 204.03 0 M16.09 0 C78.14 -1.57, 137.55 -1.33, 204.03 0 M204.03 0 C214.39 -0.46, 222.05 3.65, 220.12 16.09 M204.03 0 C213.19 0.67, 219.51 6.4, 220.12 16.09 M220.12 16.09 C219.36 26.16, 221.58 33.37, 220.12 48.27 M220.12 16.09 C220.76 23.24, 219.76 31.01, 220.12 48.27 M220.12 48.27 C219.68 60.57, 216.34 63.16, 204.03 64.35 M220.12 48.27 C219.39 61.17, 216.22 62.26, 204.03 64.35 M204.03 64.35 C153.9 67.29, 107.69 66.94, 16.09 64.35 M204.03 64.35 C134.46 62.62, 64.72 63.42, 16.09 64.35 M16.09 64.35 C5.87 63.21, -1.7 59.49, 0 48.27 M16.09 64.35 C7.54 62.93, -1.14 58.12, 0 48.27 M0 48.27 C0.23 38.8, 0.4 34.34, 0 16.09 M0 48.27 C0.05 41.09, -0.3 32.73, 0 16.09 M0 16.09 C-1.88 5.99, 3.48 1.27, 16.09 0 M0 16.09 C1.82 6.36, 5.56 0.76, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(385.30503394345124 573.3020731674305) rotate(0 45.239952087402344 12.5)"><text x="45.239952087402344" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">messages</text></g><g stroke-linecap="round" transform="translate(566.2014934698873 557.9500322180979) rotate(0 110.05757116156974 32.17741655087593)"><path d="M16.09 0 C60.31 -1.01, 104.17 0.81, 204.03 0 M16.09 0 C54.46 1.08, 94.17 0.46, 204.03 0 M204.03 0 C213.4 0.58, 219.59 6.26, 220.12 16.09 M204.03 0 C214.39 -1.35, 222.11 4.71, 220.12 16.09 M220.12 16.09 C219.06 28.99, 218.67 39.1, 220.12 48.27 M220.12 16.09 C219.69 25.33, 220.71 32.39, 220.12 48.27 M220.12 48.27 C219.48 60.89, 216.03 62.54, 204.03 64.35 M220.12 48.27 C219.14 59.28, 216.94 62.4, 204.03 64.35 M204.03 64.35 C138.33 63.84, 68.12 65.53, 16.09 64.35 M204.03 64.35 C151.19 64.95, 97 65.77, 16.09 64.35 M16.09 64.35 C7.26 63.12, -0.99 58.23, 0 48.27 M16.09 64.35 C3.81 65.36, 0.93 59.42, 0 48.27 M0 48.27 C-1.43 42.24, -1.21 35.56, 0 16.09 M0 48.27 C-0.86 37.94, -0.87 27.61, 0 16.09 M0 16.09 C1.59 6.23, 5.54 0.66, 16.09 0 M0 16.09 C0.83 4.58, 4.09 1.65, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(576.5791635084106 565.1274487689739) rotate(0 99.67990112304688 25)"><text x="99.67990112304688" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">msgSubrootPathElem</text><text x="99.67990112304688" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">ents</text></g><g stroke-linecap="round" transform="translate(818.4921404193647 557.9112103089442) rotate(0 110.05757116156974 32.17741655087593)"><path d="M16.09 0 C68.97 -3.54, 124.24 -1.92, 204.03 0 M16.09 0 C67.44 1.9, 119.88 2.06, 204.03 0 M204.03 0 C214.43 -1.17, 221.85 4.8, 220.12 16.09 M204.03 0 C215.82 1.91, 218.96 3.84, 220.12 16.09 M220.12 16.09 C219.09 27.3, 219.56 40.61, 220.12 48.27 M220.12 16.09 C220.05 29.23, 221.01 39.57, 220.12 48.27 M220.12 48.27 C219.27 59.24, 216.66 62.65, 204.03 64.35 M220.12 48.27 C221.43 59.58, 215.66 66, 204.03 64.35 M204.03 64.35 C159.15 65.29, 116.2 65.27, 16.09 64.35 M204.03 64.35 C159.31 64.21, 112.2 64.44, 16.09 64.35 M16.09 64.35 C4.02 65.23, 0.81 59.37, 0 48.27 M16.09 64.35 C3.09 64.97, 1.2 57.44, 0 48.27 M0 48.27 C0.8 37.44, -0.95 25.65, 0 16.09 M0 48.27 C1.1 38.03, 0.39 27.26, 0 16.09 M0 16.09 C0.72 4.69, 4.26 1.43, 16.09 0 M0 16.09 C0.93 7.42, 6.11 2.07, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(867.8397735316184 577.5886268598201) rotate(0 60.709938049316406 12.5)"><text x="60.709938049316406" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">coordPrivKey</text></g><g stroke-linecap="round" transform="translate(1063.0636977655704 558.6100046736997) rotate(0 110.05757116156974 32.17741655087593)"><path d="M16.09 0 C53.37 2.27, 89.87 -1.01, 204.03 0 M16.09 0 C77.8 -1.43, 140.69 -1.13, 204.03 0 M204.03 0 C215.68 1.66, 219.11 4.04, 220.12 16.09 M204.03 0 C216.77 -1.97, 220.95 4.5, 220.12 16.09 M220.12 16.09 C221.65 25.29, 218.88 30.67, 220.12 48.27 M220.12 16.09 C219.9 28.92, 221.27 40.64, 220.12 48.27 M220.12 48.27 C221.26 59.5, 215.55 65.78, 204.03 64.35 M220.12 48.27 C218.66 57.08, 215.25 63.95, 204.03 64.35 M204.03 64.35 C141.51 63.13, 81.78 66.73, 16.09 64.35 M204.03 64.35 C158.6 64.08, 114.92 63.83, 16.09 64.35 M16.09 64.35 C3.39 64.89, 1.05 57.64, 0 48.27 M16.09 64.35 C5.88 63.07, 0.28 59.7, 0 48.27 M0 48.27 C0.81 37.47, 1.45 32.03, 0 16.09 M0 48.27 C0.33 36.87, -0.58 26.87, 0 16.09 M0 16.09 C0.81 7.15, 6.01 1.8, 16.09 0 M0 16.09 C-1.94 7.52, 6.51 2.05, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1113.371329962296 578.2874212245756) rotate(0 59.74993896484375 12.5)"><text x="59.74993896484375" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">coordPubKey</text></g><g stroke-linecap="round" transform="translate(319.0783992619927 453.80492516655903) rotate(0 110.05757116156974 32.177416550875876)"><path d="M16.09 0 C70 0.14, 122.49 0.85, 204.03 0 M16.09 0 C82.16 0.67, 148.89 0.87, 204.03 0 M204.03 0 C216.36 0.66, 222.02 4.7, 220.12 16.09 M204.03 0 C214.07 -0.67, 222.03 6.8, 220.12 16.09 M220.12 16.09 C219.49 24.42, 220.79 30.04, 220.12 48.27 M220.12 16.09 C220.35 22.8, 219.36 32.02, 220.12 48.27 M220.12 48.27 C220.7 57.47, 214.77 65.79, 204.03 64.35 M220.12 48.27 C222.35 60.61, 212.57 62.17, 204.03 64.35 M204.03 64.35 C146.61 64.13, 87.05 66.01, 16.09 64.35 M204.03 64.35 C142.49 63.93, 78.54 63.78, 16.09 64.35 M16.09 64.35 C4.35 63.55, -0.43 59.13, 0 48.27 M16.09 64.35 C6.71 66.24, 0.37 59.21, 0 48.27 M0 48.27 C-1.15 41.42, -2.07 32.55, 0 16.09 M0 48.27 C-1.27 37.94, 0.61 26.97, 0 16.09 M0 16.09 C1.79 7.35, 6.82 1.76, 16.09 0 M0 16.09 C0.87 6.21, 7.28 1.75, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(374.8860238293246 473.48234171743496) rotate(0 54.24994659423828 12.5)"><text x="54.24994659423828" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">encPubKeys</text></g><g stroke-linecap="round" transform="translate(564.7924778625966 458.13030076810236) rotate(0 110.05757116156974 32.177416550875876)"><path d="M16.09 0 C57.64 2.33, 95.71 -0.04, 204.03 0 M16.09 0 C62.45 1.03, 108.16 0.37, 204.03 0 M204.03 0 C214.16 -0.58, 221.78 6.61, 220.12 16.09 M204.03 0 C212.81 2.09, 218.59 4.31, 220.12 16.09 M220.12 16.09 C218.95 28.86, 221.62 40.06, 220.12 48.27 M220.12 16.09 C220.12 21.85, 219.84 29.86, 220.12 48.27 M220.12 48.27 C222.06 60.39, 212.85 62.46, 204.03 64.35 M220.12 48.27 C220.33 59, 216.43 65.17, 204.03 64.35 M204.03 64.35 C163.35 63.48, 121.39 66.56, 16.09 64.35 M204.03 64.35 C155.21 62.85, 107.19 63.32, 16.09 64.35 M16.09 64.35 C6.53 66, 0.32 59.18, 0 48.27 M16.09 64.35 C4.7 65.65, 0.36 57.88, 0 48.27 M0 48.27 C0.83 37.43, -0.85 20.95, 0 16.09 M0 48.27 C0.6 39.04, 0.44 28.71, 0 16.09 M0 16.09 C0.75 6.1, 7.03 1.53, 16.09 0 M0 16.09 C2.2 5.03, 5.94 0.29, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(586.7301302009246 477.8077173189783) rotate(0 88.11991882324219 12.5)"><text x="88.11991882324219" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">currentStateRoot</text></g><g stroke-linecap="round" transform="translate(817.083124812074 458.0914788589486) rotate(0 110.05757116156974 32.177416550875876)"><path d="M16.09 0 C84.53 0.31, 154.52 2.51, 204.03 0 M16.09 0 C78.39 0.33, 142.13 1.24, 204.03 0 M204.03 0 C213.07 1.82, 218.79 4.45, 220.12 16.09 M204.03 0 C216.35 0.44, 220.19 3.95, 220.12 16.09 M220.12 16.09 C218.4 25.37, 221.49 38.8, 220.12 48.27 M220.12 16.09 C221.09 23.99, 219.17 29.55, 220.12 48.27 M220.12 48.27 C220.3 59, 216.21 65.06, 204.03 64.35 M220.12 48.27 C218.27 58.16, 215.08 65.1, 204.03 64.35 M204.03 64.35 C157.52 65.21, 111.55 65.16, 16.09 64.35 M204.03 64.35 C155.8 65.3, 106.57 64.58, 16.09 64.35 M16.09 64.35 C4.79 65.48, 0.31 58.03, 0 48.27 M16.09 64.35 C7.53 62.18, 2.01 59.6, 0 48.27 M0 48.27 C0.54 37.45, -0.38 24.81, 0 16.09 M0 48.27 C0.14 35.78, 0.6 23.33, 0 16.09 M0 16.09 C1.91 5.08, 5.86 0.25, 16.09 0 M0 16.09 C-0.68 7.48, 6.74 1.47, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(828.2707847797965 477.76889540982455) rotate(0 98.86991119384766 12.5)"><text x="98.86991119384766" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">currentStateLeaves</text></g><g stroke-linecap="round" transform="translate(1062.097551126065 458.7902732237041) rotate(0 110.05757116156974 32.177416550875876)"><path d="M16.09 0 C67.56 0.4, 117.05 -2.1, 204.03 0 M16.09 0 C66.14 -0.27, 117.21 -1.63, 204.03 0 M204.03 0 C216.14 0.38, 220.18 4.14, 220.12 16.09 M204.03 0 C215.76 1.66, 220.34 3.13, 220.12 16.09 M220.12 16.09 C218.78 22.89, 221.74 31.59, 220.12 48.27 M220.12 16.09 C219.9 28, 220.54 40.26, 220.12 48.27 M220.12 48.27 C218.51 58.27, 215.04 65.01, 204.03 64.35 M220.12 48.27 C218.8 59, 216.98 63.37, 204.03 64.35 M204.03 64.35 C155.93 62.97, 109.59 64.57, 16.09 64.35 M204.03 64.35 C131.93 65.1, 60.56 64.05, 16.09 64.35 M16.09 64.35 C7.25 62.46, 1.75 59.52, 0 48.27 M16.09 64.35 C7.48 63.03, -2.25 59.4, 0 48.27 M0 48.27 C2.08 37.16, 1.85 23.89, 0 16.09 M0 48.27 C0.69 37.28, -0.02 26.71, 0 16.09 M0 16.09 C-0.59 7.2, 6.56 1.28, 16.09 0 M0 16.09 C-1.61 7.5, 5.58 1.99, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1073.2852110937865 465.96768977458004) rotate(0 98.86991119384766 25)"><text x="98.86991119384766" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">currentStateLeaves</text><text x="98.86991119384766" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">PathElements</text></g><g stroke-linecap="round" transform="translate(313.64462125170485 354.586891762245) rotate(0 110.05757116156974 32.17741655087593)"><path d="M16.09 0 C85.52 -3.06, 157.24 -1.84, 204.03 0 M16.09 0 C70.43 -0.07, 124.13 -0.89, 204.03 0 M204.03 0 C213.41 1.19, 218.26 4.4, 220.12 16.09 M204.03 0 C212.93 1.11, 222.38 5.24, 220.12 16.09 M220.12 16.09 C217.91 24.19, 221.41 35.74, 220.12 48.27 M220.12 16.09 C219.9 27.99, 220.56 41.28, 220.12 48.27 M220.12 48.27 C219.38 58.16, 216.42 65.99, 204.03 64.35 M220.12 48.27 C218.57 60.43, 216.46 66.25, 204.03 64.35 M204.03 64.35 C162.34 63.2, 125.62 64.56, 16.09 64.35 M204.03 64.35 C161.76 63.11, 117.48 64.17, 16.09 64.35 M16.09 64.35 C5.3 62.48, -1.16 57.48, 0 48.27 M16.09 64.35 C6.78 66.43, 0.55 57.89, 0 48.27 M0 48.27 C-0.48 42.26, 1.56 31.9, 0 16.09 M0 48.27 C0.8 40.64, -0.54 33.94, 0 16.09 M0 16.09 C-1.38 4.83, 6.53 1.41, 16.09 0 M0 16.09 C-1.96 5.06, 4.07 1.52, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(322.85229312128286 374.2643083131209) rotate(0 100.84989929199219 12.5)"><text x="100.84989929199219" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">currentSbCommitment</text></g><g stroke-linecap="round" transform="translate(559.3586998523087 358.9122673637883) rotate(0 110.05757116156974 32.17741655087593)"><path d="M16.09 0 C58.44 -0.48, 101.48 1.79, 204.03 0 M16.09 0 C72.15 2.09, 128.63 1.01, 204.03 0 M204.03 0 C213.17 0.96, 222.08 5.26, 220.12 16.09 M204.03 0 C214.77 -1.89, 221.14 3.13, 220.12 16.09 M220.12 16.09 C222.19 23.68, 220.29 29.76, 220.12 48.27 M220.12 16.09 C219.87 23.14, 221.07 31.84, 220.12 48.27 M220.12 48.27 C218.78 60.24, 216.24 66, 204.03 64.35 M220.12 48.27 C218.1 61.19, 212.75 62.28, 204.03 64.35 M204.03 64.35 C141.73 67.72, 81.27 67.98, 16.09 64.35 M204.03 64.35 C153.75 64.8, 102.95 64.98, 16.09 64.35 M16.09 64.35 C6.6 66.16, 0.48 58.03, 0 48.27 M16.09 64.35 C4.12 62.57, 0.28 58.16, 0 48.27 M0 48.27 C-1.67 34.49, 0.59 24.08, 0 16.09 M0 48.27 C-0.46 39.36, 0.81 31.71, 0 16.09 M0 16.09 C-1.7 5.1, 4.24 1.33, 16.09 0 M0 16.09 C1 5.68, 5.04 -0.58, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(602.1363332697374 378.58968391466425) rotate(0 67.27993774414062 12.5)"><text x="67.27993774414062" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">currentSbSalt</text></g><g stroke-linecap="round" transform="translate(811.6493468017861 358.8734454546346) rotate(0 110.05757116156974 32.17741655087593)"><path d="M16.09 0 C65.86 0.38, 113.97 -2.81, 204.03 0 M16.09 0 C82.85 1.38, 152.18 0.85, 204.03 0 M204.03 0 C214.76 -1.64, 221.01 3.43, 220.12 16.09 M204.03 0 C212.94 1.79, 220.47 7.46, 220.12 16.09 M220.12 16.09 C218.74 27.22, 220.14 36.16, 220.12 48.27 M220.12 16.09 C219.71 25.03, 221.13 33.54, 220.12 48.27 M220.12 48.27 C218.36 60.9, 213.01 62.55, 204.03 64.35 M220.12 48.27 C220.67 60.56, 216.87 62.74, 204.03 64.35 M204.03 64.35 C131.64 65.93, 62.03 66.07, 16.09 64.35 M204.03 64.35 C165.87 63.84, 126.73 62.45, 16.09 64.35 M16.09 64.35 C4.28 62.81, 0.25 58.27, 0 48.27 M16.09 64.35 C7.56 65.86, -0.62 57.32, 0 48.27 M0 48.27 C-0.76 38.88, 0.44 30.98, 0 16.09 M0 48.27 C-1.04 39.35, -0.75 31.35, 0 16.09 M0 16.09 C0.87 5.64, 5.08 -0.5, 16.09 0 M0 16.09 C0.84 5.78, 4.75 0.34, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(839.7169963935312 378.5508620055105) rotate(0 81.98992156982422 12.5)"><text x="81.98992156982422" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">newSbCommitment</text></g><g stroke-linecap="round" transform="translate(1056.2209041479919 359.57223981939006) rotate(0 110.05757116156974 32.17741655087593)"><path d="M16.09 0 C90.97 -0.6, 162.52 -0.32, 204.03 0 M16.09 0 C81.52 -0.72, 147.39 -0.87, 204.03 0 M204.03 0 C213.18 1.55, 220.42 7.19, 220.12 16.09 M204.03 0 C215.29 -0.08, 219.46 3.8, 220.12 16.09 M220.12 16.09 C219.29 28.59, 221.76 36.42, 220.12 48.27 M220.12 16.09 C219.48 28.71, 219.48 38.51, 220.12 48.27 M220.12 48.27 C220.6 60.36, 216.59 62.95, 204.03 64.35 M220.12 48.27 C221.99 57.87, 216.94 63.6, 204.03 64.35 M204.03 64.35 C147.76 63.13, 93.74 65.53, 16.09 64.35 M204.03 64.35 C130.12 62.68, 57.42 63.09, 16.09 64.35 M16.09 64.35 C7.27 65.66, -0.54 57.53, 0 48.27 M16.09 64.35 C4.15 65.28, 1.46 58.26, 0 48.27 M0 48.27 C-0.63 42.07, 1.32 31.84, 0 16.09 M0 48.27 C0.61 39.18, 0.04 29.56, 0 16.09 M0 16.09 C0.73 5.72, 4.83 0.3, 16.09 0 M0 16.09 C-2.19 3.59, 7.38 1.48, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1117.8585152875894 379.249656370266) rotate(0 48.419960021972656 12.5)"><text x="48.419960021972656" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">newSbSalt</text></g><g stroke-linecap="round" transform="translate(312.23560564441414 254.76716031224936) rotate(0 110.05757116156974 32.177416550875876)"><path d="M16.09 0 C56 3.45, 93.88 1.5, 204.03 0 M16.09 0 C56.24 2.6, 98.12 2.73, 204.03 0 M204.03 0 C215.22 -0.07, 219.54 4, 220.12 16.09 M204.03 0 C215.6 0.05, 219.28 4.41, 220.12 16.09 M220.12 16.09 C221.63 29.91, 222.02 38.99, 220.12 48.27 M220.12 16.09 C220.08 29.5, 220.75 40.84, 220.12 48.27 M220.12 48.27 C221.75 58.02, 216.65 63.7, 204.03 64.35 M220.12 48.27 C219.87 60.68, 214.67 62.2, 204.03 64.35 M204.03 64.35 C160.4 66, 112.19 64.43, 16.09 64.35 M204.03 64.35 C163.15 64.33, 120.08 62.95, 16.09 64.35 M16.09 64.35 C4.31 65.16, 1.27 58.36, 0 48.27 M16.09 64.35 C3.73 65.01, -1.58 58.37, 0 48.27 M0 48.27 C-0.49 35.62, 1.1 26.09, 0 16.09 M0 48.27 C0.41 38.35, -0.22 28.23, 0 16.09 M0 16.09 C-1.91 3.82, 7.12 1.29, 16.09 0 M0 16.09 C-1.18 5.61, 7.66 1.4, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(333.3032552361601 274.4445768631253) rotate(0 88.98992156982422 12.5)"><text x="88.98992156982422" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">currentBallotRoot</text></g><g stroke-linecap="round" transform="translate(557.949684245018 259.0925359137927) rotate(0 110.05757116156974 32.177416550875876)"><path d="M16.09 0 C89.31 0.88, 163.88 -1.58, 204.03 0 M16.09 0 C87.31 -1.75, 157.78 -2.39, 204.03 0 M204.03 0 C215.49 0.04, 219.38 4.53, 220.12 16.09 M204.03 0 C216.67 1.88, 218.57 6.8, 220.12 16.09 M220.12 16.09 C222.29 26.4, 218.58 40.67, 220.12 48.27 M220.12 16.09 C221.23 27.45, 221.36 39.47, 220.12 48.27 M220.12 48.27 C219.9 60.46, 214.68 62.48, 204.03 64.35 M220.12 48.27 C218.78 57.25, 216.17 66.43, 204.03 64.35 M204.03 64.35 C141.56 63.59, 81.47 65.25, 16.09 64.35 M204.03 64.35 C134.84 63.39, 67.35 62.67, 16.09 64.35 M16.09 64.35 C3.94 64.92, -1.38 58.45, 0 48.27 M16.09 64.35 C6.7 65.98, -1.96 58.69, 0 48.27 M0 48.27 C0.06 40.13, -0.72 33.3, 0 16.09 M0 48.27 C-0.87 37.26, 0.96 28.45, 0 16.09 M0 16.09 C-1.03 5.58, 7.36 1.22, 16.09 0 M0 16.09 C-0.92 3.61, 4.71 0.02, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(597.0973204090287 278.7699524646686) rotate(0 70.9099349975586 12.5)"><text x="70.9099349975586" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">currentBallots</text></g><g stroke-linecap="round" transform="translate(791.440543512017 242.97757047403837) rotate(0 125.33285997542544 44.35631316496716)"><path d="M22.18 0 C94.64 1.72, 165.96 1.86, 228.49 0 M22.18 0 C83.67 1.27, 144.18 0.88, 228.49 0 M228.49 0 C244.94 1.63, 249.33 8.64, 250.67 22.18 M228.49 0 C244.99 1.89, 248.65 9.59, 250.67 22.18 M250.67 22.18 C251.63 33.46, 248.87 42.71, 250.67 66.53 M250.67 22.18 C250.98 34.06, 251.05 43.53, 250.67 66.53 M250.67 66.53 C249.5 79.81, 244.51 90.52, 228.49 88.71 M250.67 66.53 C251.22 80.21, 242.03 86.93, 228.49 88.71 M228.49 88.71 C165.2 89.99, 98.3 89.53, 22.18 88.71 M228.49 88.71 C157.66 88.38, 87.48 87.89, 22.18 88.71 M22.18 88.71 C8.56 90.12, -1.7 81.05, 0 66.53 M22.18 88.71 C6.1 90.24, 1 81.63, 0 66.53 M0 66.53 C0.47 53.33, 0.41 39.27, 0 22.18 M0 66.53 C-0.9 56.76, 0.61 47.39, 0 22.18 M0 22.18 C-0.8 5.87, 6.82 0.01, 22.18 0 M0 22.18 C0.48 8.86, 8.67 -1.38, 22.18 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(800.8235057213287 262.3338836390055) rotate(0 115.94989776611328 25)"><text x="115.94989776611328" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">currentBallotsPathElem</text><text x="115.94989776611328" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">ents</text></g><g stroke-linecap="round" transform="translate(1054.8118885407011 259.75250836939443) rotate(0 110.05757116156974 32.177416550875876)"><path d="M16.09 0 C75.31 -1.01, 133.31 0.3, 204.03 0 M16.09 0 C73.68 1.6, 128.94 1.41, 204.03 0 M204.03 0 C216.24 1.65, 218.36 7.27, 220.12 16.09 M204.03 0 C212.75 -2.07, 220.67 6.94, 220.12 16.09 M220.12 16.09 C218.91 30.6, 219.24 41.1, 220.12 48.27 M220.12 16.09 C219.52 27.35, 220.72 41.03, 220.12 48.27 M220.12 48.27 C220.6 58.03, 213.67 62.81, 204.03 64.35 M220.12 48.27 C220.4 58.16, 216.95 65.86, 204.03 64.35 M204.03 64.35 C153.51 64.63, 100.74 61.94, 16.09 64.35 M204.03 64.35 C142.87 64.56, 79.7 63.72, 16.09 64.35 M16.09 64.35 C4.24 65.68, 0.87 59.27, 0 48.27 M16.09 64.35 C5.04 63.78, 0.84 59.4, 0 48.27 M0 48.27 C-1.59 41.22, 1.24 29.63, 0 16.09 M0 48.27 C-0.72 37.51, -0.61 28.28, 0 16.09 M0 16.09 C0.42 6.64, 6.47 -1.2, 16.09 0 M0 16.09 C-2.21 5.16, 7.54 -0.12, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1071.7995515601815 279.42992492027037) rotate(0 93.06990814208984 12.5)"><text x="93.06990814208984" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">currentVoteWeights</text></g><g stroke-linecap="round" transform="translate(621.8015590149898 122.60709096580143) rotate(0 140.41992947797235 52.1581881474487)"><path d="M26.08 0 C91.54 1.22, 154.87 -0.2, 254.76 0 M26.08 0 C78.5 0.89, 130.39 1.58, 254.76 0 M254.76 0 C273.27 -0.29, 282.8 8.5, 280.84 26.08 M254.76 0 C272.28 0.89, 281.93 7.21, 280.84 26.08 M280.84 26.08 C278.44 44.6, 281.22 65.52, 280.84 78.24 M280.84 26.08 C281.66 42.57, 280.87 57, 280.84 78.24 M280.84 78.24 C279.26 94.91, 273 104.8, 254.76 104.32 M280.84 78.24 C281.99 93.6, 273.32 105.92, 254.76 104.32 M254.76 104.32 C175.42 104, 95.2 105.95, 26.08 104.32 M254.76 104.32 C193.95 106.74, 132.56 105.35, 26.08 104.32 M26.08 104.32 C8.8 102.47, -1.31 94.3, 0 78.24 M26.08 104.32 C8.08 102.62, -2.22 96.39, 0 78.24 M0 78.24 C0.79 56.15, -0.55 36.27, 0 26.08 M0 78.24 C1.13 67.36, -0.68 56.26, 0 26.08 M0 26.08 C-0.83 9.84, 8.68 0.75, 26.08 0 M0 26.08 C-1.76 9.44, 9.07 -0.78, 26.08 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(630.4416117839783 149.76527911325013) rotate(0 131.77987670898438 24.99999999999997)"><text x="131.77987670898438" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">currentVoteWeightsPathEle</text><text x="131.77987670898438" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">ments</text></g><g stroke-linecap="round" transform="translate(1754.6508495146968 83.75757305344132) rotate(0 183.6617593177673 57.85551408462467)"><path d="M28.93 0 C111.65 -1.33, 196.8 0.91, 338.4 0 M28.93 0 C137.7 -2.24, 246.19 -2.35, 338.4 0 M338.4 0 C358.67 1.37, 366.66 9.06, 367.32 28.93 M338.4 0 C357.23 1.18, 368.47 7.36, 367.32 28.93 M367.32 28.93 C366.8 51, 365.92 71.54, 367.32 86.78 M367.32 28.93 C366.7 50.69, 367.12 72.23, 367.32 86.78 M367.32 86.78 C368.06 106.81, 359.65 116.1, 338.4 115.71 M367.32 86.78 C369.24 105.09, 358.13 116.73, 338.4 115.71 M338.4 115.71 C223.85 114.4, 107.52 114.88, 28.93 115.71 M338.4 115.71 C268.71 114.35, 199.52 114.44, 28.93 115.71 M28.93 115.71 C11.15 113.74, -0.38 105.29, 0 86.78 M28.93 115.71 C8.16 114.46, -2.22 107.99, 0 86.78 M0 86.78 C-0.91 69.74, 1.1 53.07, 0 28.93 M0 86.78 C0.27 71.48, 0.88 54.56, 0 28.93 M0 28.93 C-0.09 9.34, 7.72 -0.85, 28.93 0 M0 28.93 C0.91 8.74, 9.05 2.06, 28.93 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1771.0927601996514 116.61308713806602) rotate(0 167.2198486328125 25.00000000000003)"><text x="167.2198486328125" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">hash(currentStateRoot, </text><text x="167.2198486328125" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">currentBallotRoot, currentSbSalt)</text></g><g stroke-linecap="round" transform="translate(1739.202739260783 225.45835151459556) rotate(0 213.20715368725064 54.35043546298397)"><path d="M27.18 0 C165.59 1.82, 306.57 3.07, 399.24 0 M27.18 0 C110.99 1.33, 195.38 0.57, 399.24 0 M399.24 0 C417.14 -0.81, 426.02 9.68, 426.41 27.18 M399.24 0 C415.39 -0.77, 425.33 11.28, 426.41 27.18 M426.41 27.18 C426.71 42.78, 427.98 54.97, 426.41 81.53 M426.41 27.18 C426.89 45.13, 426.4 65.09, 426.41 81.53 M426.41 81.53 C427.04 100.96, 417.01 110.68, 399.24 108.7 M426.41 81.53 C426.36 97.99, 416.43 107.1, 399.24 108.7 M399.24 108.7 C265.3 109.91, 132.56 109.82, 27.18 108.7 M399.24 108.7 C296.99 108.72, 194.47 109.07, 27.18 108.7 M27.18 108.7 C10.1 106.73, -0.58 99.71, 0 81.53 M27.18 108.7 C8.79 106.55, -0.39 101.19, 0 81.53 M0 81.53 C1.97 68.25, 0.18 55.03, 0 27.18 M0 81.53 C-1.11 63.98, 0.72 44.54, 0 27.18 M0 27.18 C1.53 10.41, 9.71 1.55, 27.18 0 M0 27.18 C-0.1 7.05, 6.91 -1.42, 27.18 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1787.7600516394396 267.3087869775796) rotate(0 164.64984130859375 12.5)"><text x="164.64984130859375" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">use ProcessMessagesInputHasher</text></g><g stroke-linecap="round" transform="translate(1334.9192865727118 343.77090541140893) rotate(0 183.99637667615707 71.00029442382163)"><path d="M32 0 C136.95 -0.66, 245.48 -2.72, 335.99 0 M32 0 C126.78 -0.38, 220.66 0.18, 335.99 0 M335.99 0 C355.94 0.63, 368.74 9.78, 367.99 32 M335.99 0 C358.05 0.14, 366.52 12.46, 367.99 32 M367.99 32 C367.17 61.4, 366.01 88.21, 367.99 110 M367.99 32 C368.83 62.23, 367.76 92.82, 367.99 110 M367.99 110 C368.71 132.75, 355.36 143.3, 335.99 142 M367.99 110 C366.16 130.88, 356.63 140.34, 335.99 142 M335.99 142 C235.08 143.21, 136.39 140.73, 32 142 M335.99 142 C260.17 140.99, 184.14 140.26, 32 142 M32 142 C10.29 141.21, 0.72 129.54, 0 110 M32 142 C12.25 139.85, 1.91 129.22, 0 110 M0 110 C-0.03 86.47, 1.47 63.41, 0 32 M0 110 C0.1 79.33, 0.25 48.18, 0 32 M0 32 C1.13 10.05, 12.17 -1.75, 32 0 M0 32 C0.32 8.42, 12.26 -0.58, 32 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1347.6258072918372 389.77119983523056) rotate(0 171.28985595703125 25)"><text x="171.28985595703125" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">3. ensure the maxVoteOptions </text><text x="171.28985595703125" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">(output of step 2) signal is valid </text></g><g stroke-linecap="round"><g transform="translate(1721.380857824979 418.55983841260655) rotate(0 24.882691608051573 1.7651378862483398)"><path d="M-0.15 0.52 C8.13 1.08, 40.97 3.4, 49.25 3.83 M0.78 0.31 C9.26 0.95, 42.17 2.49, 50.22 3.02" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g><g transform="translate(1721.380857824979 418.55983841260655) rotate(0 24.882691608051573 1.7651378862483398)"><path d="M26.35 10.25 C32.6 7.73, 37.53 6.69, 50.22 3.02 M26.35 10.25 C31.32 8.88, 36.51 7.47, 50.22 3.02" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g><g transform="translate(1721.380857824979 418.55983841260655) rotate(0 24.882691608051573 1.7651378862483398)"><path d="M27.29 -6.79 C33.4 -5.5, 38.12 -2.74, 50.22 3.02 M27.29 -6.79 C31.99 -4.42, 36.98 -2.1, 50.22 3.02" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(1790.7530701738006 362.76059432192795) rotate(0 173.52721494234265 62.86828194338477)"><path d="M31.43 0 C144.1 -2.11, 255.3 -0.69, 315.62 0 M31.43 0 C143.92 0.14, 256.39 0.24, 315.62 0 M315.62 0 C336.49 -2, 346.16 9.72, 347.05 31.43 M315.62 0 C334.74 0.41, 347.75 8.71, 347.05 31.43 M347.05 31.43 C348.33 47.4, 348.08 61.54, 347.05 94.3 M347.05 31.43 C348.47 50.6, 348.47 71.92, 347.05 94.3 M347.05 94.3 C345.44 115.23, 335.93 127.73, 315.62 125.74 M347.05 94.3 C348.72 114.96, 336.21 127.69, 315.62 125.74 M315.62 125.74 C216.53 126.32, 116.3 126.36, 31.43 125.74 M315.62 125.74 C244.63 126.55, 172.74 125.89, 31.43 125.74 M31.43 125.74 C9.97 125.75, 1.49 114.51, 0 94.3 M31.43 125.74 C9.21 123.47, -0.56 117.08, 0 94.3 M0 94.3 C0.61 72.23, 0.36 50.75, 0 31.43 M0 94.3 C-0.33 81.14, -0.45 67.55, 0 31.43 M0 31.43 C1.97 10.02, 10.66 -0.4, 31.43 0 M0 31.43 C0.19 8.29, 9.52 -1.87, 31.43 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1839.440380330987 400.6288762653127) rotate(0 124.83990478515625 25)"><text x="124.83990478515625" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">maxVoteOptions &lt;= 5 ** </text><text x="124.83990478515625" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">voteOptionTreeDepth</text></g><g stroke-linecap="round" transform="translate(1359.6493481387124 506.09822273545893) rotate(0 168.91347979092416 85.54467325655708)"><path d="M32 0 C138.08 -1.32, 245.09 -1.82, 305.83 0 M32 0 C90.22 -0.28, 147.9 -0.38, 305.83 0 M305.83 0 C325.98 0.55, 335.95 11.85, 337.83 32 M305.83 0 C328.04 -1.64, 339.7 8.49, 337.83 32 M337.83 32 C336.6 56.5, 338.53 84.43, 337.83 139.09 M337.83 32 C337.33 60.41, 337.98 91.55, 337.83 139.09 M337.83 139.09 C336.8 159.92, 325.73 171.34, 305.83 171.09 M337.83 139.09 C338.1 160.47, 328.08 173.27, 305.83 171.09 M305.83 171.09 C248.47 172.64, 188.97 173.26, 32 171.09 M305.83 171.09 C218.32 172.43, 131.7 172.9, 32 171.09 M32 171.09 C10.19 169.28, 1.59 162.41, 0 139.09 M32 171.09 C11.74 170.88, 1.08 162.38, 0 139.09 M0 139.09 C-0.55 105.32, -0.39 75.26, 0 32 M0 139.09 C0.62 105.35, 0 69.56, 0 32 M0 32 C1.85 9.23, 10.87 -0.27, 32 0 M0 32 C-1.85 12.68, 9.52 -1.12, 32 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1374.8229597655745 554.1428959920161) rotate(0 153.7398681640625 37.5)"><text x="153.7398681640625" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">4. Ensure that the number of </text><text x="153.7398681640625" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">signups is not more than what </text><text x="153.7398681640625" y="50" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">the circuit supports</text></g><g stroke-linecap="round"><g transform="translate(1730.4630034835704 577.2139042491267) rotate(0 26.44364129452265 3.7708196681961113)"><path d="M0.38 -0.08 C9.15 1.27, 43.35 7.2, 52.29 8.28 M-0.89 -1.16 C8.31 -0.18, 45.56 5.17, 54.69 6.54" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g><g transform="translate(1730.4630034835704 577.2139042491267) rotate(0 26.44364129452265 3.7708196681961113)"><path d="M30.21 11.61 C36.74 9.16, 44.76 10.68, 54.69 6.54 M30.21 11.61 C35.05 11, 39.86 9.31, 54.69 6.54" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g><g transform="translate(1730.4630034835704 577.2139042491267) rotate(0 26.44364129452265 3.7708196681961113)"><path d="M32.67 -5.31 C38.56 -3.15, 45.92 2.99, 54.69 6.54 M32.67 -5.31 C36.88 -2.49, 41.2 -0.76, 54.69 6.54" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(1803.2644265367949 526.0184165726612) rotate(0 175.058803455933 63.141384473519)"><path d="M31.57 0 C118.67 0.58, 207.89 0.05, 318.55 0 M31.57 0 C102.32 -0.93, 173.86 -0.63, 318.55 0 M318.55 0 C340.42 -1.47, 351.87 10.95, 350.12 31.57 M318.55 0 C338.48 -0.18, 348.75 8.54, 350.12 31.57 M350.12 31.57 C349.69 55.45, 349.22 79.45, 350.12 94.71 M350.12 31.57 C349.65 49.91, 349.06 70.47, 350.12 94.71 M350.12 94.71 C348.98 117.34, 339.05 127.6, 318.55 126.28 M350.12 94.71 C352.28 114.87, 341.88 124.77, 318.55 126.28 M318.55 126.28 C232.27 124.26, 145.48 123.29, 31.57 126.28 M318.55 126.28 C237.22 124.38, 157.09 124.39, 31.57 126.28 M31.57 126.28 C11.29 125.06, -0.22 114.84, 0 94.71 M31.57 126.28 C10.33 128.18, -1.03 117.05, 0 94.71 M0 94.71 C-0.71 80.33, -1.3 68.13, 0 31.57 M0 94.71 C0.26 72.86, -0.49 51.15, 0 31.57 M0 31.57 C-0.89 11.5, 11.21 -1.81, 31.57 0 M0 31.57 C-0.99 10.96, 10.03 -1.4, 31.57 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1878.933306897025 564.1598010461801) rotate(0 99.38992309570312 25)"><text x="99.38992309570312" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">numSignups &lt;= 5 ** </text><text x="99.38992309570312" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">stateTreeDepth</text></g><g stroke-linecap="round" transform="translate(1367.6022497418671 695.031237624997) rotate(0 162.53347464226636 72.98402362707122)"><path d="M32 0 C134.9 0.75, 241.54 -1.83, 293.07 0 M32 0 C117.65 -1.59, 202.68 -1.02, 293.07 0 M293.07 0 C315.82 0.72, 324.41 9.54, 325.07 32 M293.07 0 C314.9 0.53, 325.35 12.1, 325.07 32 M325.07 32 C326.9 60.4, 325.22 93.81, 325.07 113.97 M325.07 32 C323.39 48.49, 323.49 65.53, 325.07 113.97 M325.07 113.97 C325.76 137.25, 315.46 147.57, 293.07 145.97 M325.07 113.97 C327.09 136.5, 314.22 148.23, 293.07 145.97 M293.07 145.97 C220.87 147.53, 149.48 145.81, 32 145.97 M293.07 145.97 C230.04 144.82, 168.08 145.06, 32 145.97 M32 145.97 C9.67 144.12, 1.53 134.64, 0 113.97 M32 145.97 C11.69 147.29, 1.14 135.12, 0 113.97 M0 113.97 C2.5 84.99, 0.37 56.87, 0 32 M0 113.97 C-0.79 93.72, 0.19 76.21, 0 32 M0 32 C-0.64 9.98, 10.7 1.74, 32 0 M0 32 C0.58 11.78, 11.73 0.54, 32 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1394.725812274759 743.0152612520681) rotate(0 135.409912109375 25)"><text x="135.409912109375" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">5. Hash each message and </text><text x="135.409912109375" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">their encryption public key </text></g><g stroke-linecap="round"><g transform="translate(1713.9191990263998 743.5270021088716) rotate(0 32.63294766290301 2.509957564333831)"><path d="M0 -0.29 C11 0.52, 54.35 3.58, 65.33 4.43 M-1.46 -1.48 C9.44 -0.49, 53.27 4.4, 64.41 5.65" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g><g transform="translate(1713.9191990263998 743.5270021088716) rotate(0 32.63294766290301 2.509957564333831)"><path d="M40.12 11.55 C45.64 10.2, 51.12 9.59, 64.41 5.65 M40.12 11.55 C47.7 10.45, 53.45 8.57, 64.41 5.65" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g><g transform="translate(1713.9191990263998 743.5270021088716) rotate(0 32.63294766290301 2.509957564333831)"><path d="M42.01 -5.45 C47.02 -2.61, 52.03 0.97, 64.41 5.65 M42.01 -5.45 C49.15 -1.73, 54.37 1.2, 64.41 5.65" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(1797.7484844646392 697.3336649281268) rotate(0 178.13305220730808 50.0582970501996)"><path d="M25.03 0 C116.18 0.57, 208.51 0.67, 331.24 0 M25.03 0 C134.22 -1.21, 244.36 -1.78, 331.24 0 M331.24 0 C349.05 -0.45, 354.66 8.39, 356.27 25.03 M331.24 0 C346.2 -0.39, 355.42 10.18, 356.27 25.03 M356.27 25.03 C354.84 41.42, 357.67 55.5, 356.27 75.09 M356.27 25.03 C356.66 38.08, 355.64 51.8, 356.27 75.09 M356.27 75.09 C354.87 90.69, 347.83 101.54, 331.24 100.12 M356.27 75.09 C356.73 91.7, 347.19 99.88, 331.24 100.12 M331.24 100.12 C242.17 102.65, 154.18 102.41, 25.03 100.12 M331.24 100.12 C267.42 100.55, 202.52 101.06, 25.03 100.12 M25.03 100.12 C9.6 100.93, -0.71 92.23, 0 75.09 M25.03 100.12 C8.2 99.2, 0.39 93.95, 0 75.09 M0 75.09 C0.82 60.67, 1.45 47.73, 0 25.03 M0 75.09 C0.67 60.23, -0.59 44.82, 0 25.03 M0 25.03 C-0.06 8.23, 6.93 -0.31, 25.03 0 M0 25.03 C1.14 7.24, 7.38 -0.42, 25.03 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1811.9816953633535 734.8919619783264) rotate(0 163.89984130859375 12.5)"><text x="163.89984130859375" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">use the MessageHasher template</text></g><g stroke-linecap="round" transform="translate(1349.1657329369618 847.570788020071) rotate(0 168.19740706964012 81.17503222833034)"><path d="M32 0 C110.32 2.49, 188.93 1.91, 304.39 0 M32 0 C123.11 1.93, 213.09 0.58, 304.39 0 M304.39 0 C324.57 -1.77, 334.43 9.15, 336.39 32 M304.39 0 C324.64 -0.89, 337.6 9.04, 336.39 32 M336.39 32 C335.41 52.18, 336.84 71.68, 336.39 130.35 M336.39 32 C335.02 59.64, 334.88 85.48, 336.39 130.35 M336.39 130.35 C335.78 151.92, 327.14 162.52, 304.39 162.35 M336.39 130.35 C334.43 150.61, 324.22 163.51, 304.39 162.35 M304.39 162.35 C246.41 163.39, 186.63 164.13, 32 162.35 M304.39 162.35 C210.49 160.63, 116.93 160.22, 32 162.35 M32 162.35 C10.93 160.45, -0.55 152.81, 0 130.35 M32 162.35 C12.82 160.14, -1.1 151.22, 0 130.35 M0 130.35 C0.21 93.51, 2.17 53.34, 0 32 M0 130.35 C-0.25 91.54, -0.94 51.55, 0 32 M0 32 C1.36 9.61, 11 0.14, 32 0 M0 32 C1.56 12.47, 10.92 1.24, 32 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1356.4932669597274 903.7458202484013) rotate(0 160.869873046875 25)"><text x="160.869873046875" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">6. Ensure the hashed messages </text><text x="160.869873046875" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">are part of the message tree</text></g><g transform="translate(1511.5420097032584 10) rotate(0 110.77992248535156 12.5)"><text x="0" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">sb = state and ballot</text></g><g stroke-linecap="round"><g transform="translate(1714.7278442474453 933.6872079695852) rotate(0 32.82827985059862 -6.571548309091668)"><path d="M0.97 0.77 C11.74 -1.39, 55 -11.65, 65.6 -14.05 M0.02 0.13 C10.54 -1.8, 53.48 -10.88, 64.63 -13" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g><g transform="translate(1714.7278442474453 933.6872079695852) rotate(0 32.82827985059862 -6.571548309091668)"><path d="M43.29 0.03 C52.84 -5.21, 58.18 -11.91, 64.63 -13 M43.29 0.03 C48.97 -3.63, 54.12 -6.18, 64.63 -13" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g><g transform="translate(1714.7278442474453 933.6872079695852) rotate(0 32.82827985059862 -6.571548309091668)"><path d="M39.91 -16.73 C50.6 -15.6, 57.23 -15.9, 64.63 -13 M39.91 -16.73 C46.53 -16.03, 52.56 -14.25, 64.63 -13" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(1799.8335319966468 845.5573427280083) rotate(0 153.77156840439397 42.5)"><path d="M21.25 0 C120.94 -1.34, 222.38 0.72, 286.29 0 M21.25 0 C84.82 1.19, 148.96 0.61, 286.29 0 M286.29 0 C299.64 1.96, 308.58 6.7, 307.54 21.25 M286.29 0 C301.68 -0.5, 307.53 9, 307.54 21.25 M307.54 21.25 C308.3 29.37, 307.7 38.93, 307.54 63.75 M307.54 21.25 C307.08 31.3, 307 41.58, 307.54 63.75 M307.54 63.75 C309.5 79.21, 299.99 83.86, 286.29 85 M307.54 63.75 C306.54 79.42, 299.94 85.01, 286.29 85 M286.29 85 C192.26 84.07, 97.48 83.89, 21.25 85 M286.29 85 C219.75 86.44, 152.33 86.01, 21.25 85 M21.25 85 C8.18 85.74, -0.23 77.64, 0 63.75 M21.25 85 C4.97 84.48, 2.04 78.39, 0 63.75 M0 63.75 C0.77 52.45, 0.36 41.57, 0 21.25 M0 63.75 C0.63 46.44, 1.1 30.35, 0 21.25 M0 21.25 C0.88 8.32, 7.89 1.46, 21.25 0 M0 21.25 C-1.29 5.82, 7.01 0.04, 21.25 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1834.1452004986972 850.5573427280083) rotate(0 119.45989990234375 37.5)"><text x="119.45989990234375" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">use the </text><text x="119.45989990234375" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">QuinBatchLeavesExists </text><text x="119.45989990234375" y="50" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">template</text></g><g stroke-linecap="round" transform="translate(1803.2699238395971 949.6638499319829) rotate(0 153.77156840439397 42.5)"><path d="M21.25 0 C77 -2.21, 129.13 -1.07, 286.29 0 M21.25 0 C109.31 0.51, 197.89 0.41, 286.29 0 M286.29 0 C299.56 -0.12, 305.82 5.33, 307.54 21.25 M286.29 0 C302.16 -1.66, 308.97 7.39, 307.54 21.25 M307.54 21.25 C306.43 35.21, 308.32 52.7, 307.54 63.75 M307.54 21.25 C308.12 31.45, 307.52 42.59, 307.54 63.75 M307.54 63.75 C305.68 79.57, 301.81 86.94, 286.29 85 M307.54 63.75 C308.36 77.5, 298.77 87.25, 286.29 85 M286.29 85 C232.39 86.08, 179.22 86.08, 21.25 85 M286.29 85 C227.81 83.86, 168.34 83.85, 21.25 85 M21.25 85 C9.07 83.7, -0.29 79.64, 0 63.75 M21.25 85 C7.97 86.97, 2.27 76.75, 0 63.75 M0 63.75 C1.03 54, 1.85 43.75, 0 21.25 M0 63.75 C0.01 49.91, -0.23 34.14, 0 21.25 M0 21.25 C-0.37 6.48, 5.93 -1.5, 21.25 0 M0 21.25 C-1.62 8.61, 5.63 -1.5, 21.25 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1832.481601496921 979.6638499319829) rotate(0 124.55989074707031 12.5)"><text x="124.55989074707031" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">loop from 0 to batchSize</text></g><g stroke-linecap="round" transform="translate(1808.8984997440098 1056.1957729226406) rotate(0 178.8490237052274 54.93723684529925)"><path d="M27.47 0 C136.65 2.91, 245 1.54, 330.23 0 M27.47 0 C101.79 1.9, 176.96 2.17, 330.23 0 M330.23 0 C347.81 -0.98, 357.32 10.5, 357.7 27.47 M330.23 0 C349.66 1.55, 358.66 8.2, 357.7 27.47 M357.7 27.47 C359.13 41.47, 358.17 57.34, 357.7 82.41 M357.7 27.47 C357.54 41.62, 358.32 54.76, 357.7 82.41 M357.7 82.41 C357.01 101.82, 348.59 109.37, 330.23 109.87 M357.7 82.41 C358.13 101.97, 348.01 109.76, 330.23 109.87 M330.23 109.87 C220.25 108, 113.16 108.08, 27.47 109.87 M330.23 109.87 C247.34 109.48, 164.38 108.96, 27.47 109.87 M27.47 109.87 C10.11 111.78, 1.2 101.42, 0 82.41 M27.47 109.87 C10.74 109.52, -1.1 100.86, 0 82.41 M0 82.41 C0.59 72.26, -1.67 59.03, 0 27.47 M0 82.41 C-0.23 60.95, -0.59 39.2, 0 27.47 M0 27.47 C0.89 7.32, 10.33 -0.65, 27.47 0 M0 27.47 C-1.91 9.5, 10.17 -1.29, 27.47 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1814.5176650507997 1086.1330097679397) rotate(0 173.2298583984375 25)"><text x="173.2298583984375" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">check whether batchStartIndex + i</text><text x="173.2298583984375" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">(loop index) &lt; batchEndIndex</text></g><g stroke-linecap="round" transform="translate(1818.214938993356 1180.2107166102812) rotate(0 227.80519405725545 86.99021898235787)"><path d="M32 0 C174.76 -1.38, 317 -0.48, 423.61 0 M32 0 C127.03 0.13, 222.29 0.42, 423.61 0 M423.61 0 C444.54 1.89, 456.88 8.8, 455.61 32 M423.61 0 C446.65 0.26, 453.87 11.47, 455.61 32 M455.61 32 C455.01 55.74, 453.3 80.73, 455.61 141.98 M455.61 32 C455.45 70.86, 455.46 107, 455.61 141.98 M455.61 141.98 C454.87 165.02, 443.73 173.94, 423.61 173.98 M455.61 141.98 C454.38 165.61, 443.13 173.2, 423.61 173.98 M423.61 173.98 C303.7 173.63, 182.53 173.84, 32 173.98 M423.61 173.98 C302.08 172.16, 179.18 171.97, 32 173.98 M32 173.98 C10.97 172.77, 0.37 162.93, 0 141.98 M32 173.98 C10.04 175.89, -2.12 163.3, 0 141.98 M0 141.98 C1.82 101.64, 0.15 59.04, 0 32 M0 141.98 C-1.48 110.48, -1.04 78.98, 0 32 M0 32 C1.39 12.63, 10.63 -1.4, 32 0 M0 32 C-0.68 10.95, 10.19 -2.14, 32 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1830.9603185974865 1229.700935592639) rotate(0 215.059814453125 37.5)"><text x="215.059814453125" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">if above is true we pass as input to </text><text x="215.059814453125" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">QuinBatchLeavesExists (leaf) the hash of </text><text x="215.059814453125" y="50" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">the message else we pass the zero value</text></g><g stroke-linecap="round" transform="translate(1838.5328167382577 1384.1692982032826) rotate(0 214.54044251640084 49.875215366376324)"><path d="M24.94 0 C145.78 1.07, 267.46 -0.1, 404.14 0 M24.94 0 C160.73 1.66, 297.88 2.39, 404.14 0 M404.14 0 C420.94 1.34, 427.44 6.95, 429.08 24.94 M404.14 0 C419.39 -1.17, 427.53 6.61, 429.08 24.94 M429.08 24.94 C431.19 36.56, 430.47 45.3, 429.08 74.81 M429.08 24.94 C428.38 45.19, 429.7 63.31, 429.08 74.81 M429.08 74.81 C428.71 93.21, 420.22 100.69, 404.14 99.75 M429.08 74.81 C429.74 91.01, 422.65 99.66, 404.14 99.75 M404.14 99.75 C282.91 97.78, 159.54 97.41, 24.94 99.75 M404.14 99.75 C312.01 101.05, 220.02 100.83, 24.94 99.75 M24.94 99.75 C8.67 99.88, -1.84 90.02, 0 74.81 M24.94 99.75 C7.88 101.49, -1.97 93.25, 0 74.81 M0 74.81 C1.05 62.14, -0.76 51.05, 0 24.94 M0 74.81 C0.49 61.41, 1.07 45.56, 0 24.94 M0 24.94 C0.24 9.84, 8.95 0.33, 24.94 0 M0 24.94 C1.76 8.24, 9.1 0.2, 24.94 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1851.7734393083692 1409.0445135696589) rotate(0 201.29981994628906 25)"><text x="201.29981994628906" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">pass the subroot path elements to the </text><text x="201.29981994628906" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">component</text></g><g stroke-linecap="round" transform="translate(1857.4918272578702 1513.7580130822864) rotate(0 201.95874798412046 100.27488401029996)"><path d="M32 0 C118.54 0.18, 206.85 1.23, 371.92 0 M32 0 C134.38 0.46, 237.96 0.17, 371.92 0 M371.92 0 C393.97 0.45, 404.7 9.27, 403.92 32 M371.92 0 C392.15 1.97, 402.71 10.97, 403.92 32 M403.92 32 C405.93 86.16, 405.74 139.29, 403.92 168.55 M403.92 32 C402.74 72.79, 403.89 113.25, 403.92 168.55 M403.92 168.55 C403.54 188.72, 392.24 201.84, 371.92 200.55 M403.92 168.55 C404.46 189.52, 392.89 200.4, 371.92 200.55 M371.92 200.55 C267.19 200.23, 160.38 198.71, 32 200.55 M371.92 200.55 C245.41 201.9, 119.14 202.59, 32 200.55 M32 200.55 C10.84 202.51, 1.73 189.43, 0 168.55 M32 200.55 C9 200.55, -1.08 192.1, 0 168.55 M0 168.55 C0.79 117.43, 1.29 66.59, 0 32 M0 168.55 C0.05 136.2, 0.31 105.1, 0 32 M0 32 C0.97 12.05, 10.2 0.06, 32 0 M0 32 C-1.62 10.24, 10.7 0.94, 32 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1863.0907424783186 1576.5328970925864) rotate(0 196.35983276367188 37.5)"><text x="196.35983276367188" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">pass the batch path indices generated</text><text x="196.35983276367188" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">using QuinGeneratePathIndices (index is</text><text x="196.35983276367188" y="50" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">the batchStartIndex)</text></g><g stroke-linecap="round" transform="translate(1365.4587160496076 1016.5709697987838) rotate(0 168.81423807447095 91.8340850551906)"><path d="M32 0 C90.94 1.32, 148.1 1.83, 305.63 0 M32 0 C98.04 1.62, 164.15 0.83, 305.63 0 M305.63 0 C328.9 0.52, 335.79 12.05, 337.63 32 M305.63 0 C324.71 1.33, 337.15 9.5, 337.63 32 M337.63 32 C339.73 71.79, 339.72 110.07, 337.63 151.67 M337.63 32 C337.07 62.63, 338.24 91.14, 337.63 151.67 M337.63 151.67 C336.46 172.74, 326.57 183.45, 305.63 183.67 M337.63 151.67 C336.27 171.4, 325.99 181.64, 305.63 183.67 M305.63 183.67 C213.64 183.5, 121.58 181.3, 32 183.67 M305.63 183.67 C242.12 183.56, 179.8 182.55, 32 183.67 M32 183.67 C9.6 185.51, -1.88 171.2, 0 151.67 M32 183.67 C12.08 183.26, 0.32 173.54, 0 151.67 M0 151.67 C-0.43 124.92, -0.3 95.15, 0 32 M0 151.67 C1.56 111.03, 1.05 71.92, 0 32 M0 32 C-0.17 11.83, 10.34 1.58, 32 0 M0 32 C-1.67 9.52, 8.84 1.55, 32 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1378.853093284235 1083.4050548539744) rotate(0 155.41986083984375 25)"><text x="155.41986083984375" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">7. Extract the public key from </text><text x="155.41986083984375" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">the coordinator's private key</text></g><g transform="translate(853.3555811332935 939.2493712355301) rotate(0 172.6898651123047 25)"><text x="0" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">May only be run by the coordinator</text><text x="0" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">as it requires their private key</text></g><g stroke-linecap="round" transform="translate(1372.3063298535699 1218.2942880569067) rotate(0 173.25799262918258 90.22043555933271)"><path d="M32 0 C117.59 -0.49, 204.32 -2.65, 314.52 0 M32 0 C145.42 2.65, 257.79 2.36, 314.52 0 M314.52 0 C336.35 -1.48, 347.36 12.13, 346.52 32 M314.52 0 C335.42 2.18, 345.84 9.81, 346.52 32 M346.52 32 C348.01 67.88, 349.36 105.56, 346.52 148.44 M346.52 32 C346.75 58.68, 346.53 83.9, 346.52 148.44 M346.52 148.44 C347.43 168.51, 335.37 181.24, 314.52 180.44 M346.52 148.44 C347.36 169.69, 336 178.16, 314.52 180.44 M314.52 180.44 C246.5 182.06, 175.2 180.43, 32 180.44 M314.52 180.44 C246.67 180.42, 177.35 180.34, 32 180.44 M32 180.44 C12.32 180.55, -0.1 170.18, 0 148.44 M32 180.44 C9.26 179.67, 0.25 171.91, 0 148.44 M0 148.44 C-2.78 113.81, -1.72 79.02, 0 32 M0 148.44 C-1.34 103.68, 0.36 58.73, 0 32 M0 32 C1.63 11.65, 11.35 -1.21, 32 0 M0 32 C-0.77 12.56, 9.83 -2.04, 32 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1380.6844549290417 1271.0147236162393) rotate(0 164.87986755371094 37.5)"><text x="164.87986755371094" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">8. Decrypt each message into a </text><text x="164.87986755371094" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">command using </text><text x="164.87986755371094" y="50" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">MessageToCommand</text></g><g stroke-linecap="round" transform="translate(1379.0437245152652 1431.5017903508337) rotate(0 171.17134769608674 80.04058949911985)"><path d="M32 0 C124.81 2.76, 214.45 0.8, 310.34 0 M32 0 C97.45 -0.65, 163.23 -1.56, 310.34 0 M310.34 0 C330.56 -0.09, 343.03 9.21, 342.34 32 M310.34 0 C330.48 2.11, 344.46 10.85, 342.34 32 M342.34 32 C342.95 66.1, 343.51 100.83, 342.34 128.08 M342.34 32 C341.8 67, 342.79 99.48, 342.34 128.08 M342.34 128.08 C344.17 147.71, 332.33 161.02, 310.34 160.08 M342.34 128.08 C340.2 150.14, 330.3 161, 310.34 160.08 M310.34 160.08 C241.05 158.31, 172.7 157.49, 32 160.08 M310.34 160.08 C247.12 159.12, 183.09 159.09, 32 160.08 M32 160.08 C10.05 160.6, 0.45 148.81, 0 128.08 M32 160.08 C12.2 158.43, 0.35 148.4, 0 128.08 M0 128.08 C1.37 102.28, 1.34 76.78, 0 32 M0 128.08 C-1.2 102.5, -0.88 77.33, 0 32 M0 32 C-1.44 11.8, 9.92 -1.76, 32 0 M0 32 C-1.15 11.37, 9.73 -0.39, 32 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1422.1451869574457 1486.5423798499535) rotate(0 128.06988525390625 25)"><text x="128.06988525390625" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">9. Start processing the </text><text x="128.06988525390625" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">messages in reverse order</text></g><g stroke-linecap="round" transform="translate(750.5570667648299 1232.088858257881) rotate(0 190.6170077703814 80.46129845717837)"><path d="M32 0 C101.32 -0.44, 169.67 -0.94, 349.23 0 M32 0 C126.12 0.52, 219.23 0.48, 349.23 0 M349.23 0 C371.69 -1.15, 382.08 9.62, 381.23 32 M349.23 0 C370.74 -0.86, 381.67 11.26, 381.23 32 M381.23 32 C382.25 59.31, 380.7 86.07, 381.23 128.92 M381.23 32 C381.14 70, 381.07 107.5, 381.23 128.92 M381.23 128.92 C379.65 151.81, 369.69 160.32, 349.23 160.92 M381.23 128.92 C382.14 149.12, 372.67 162.82, 349.23 160.92 M349.23 160.92 C267.65 160.06, 183.44 159, 32 160.92 M349.23 160.92 C262.87 162.46, 177.26 162.36, 32 160.92 M32 160.92 C11.87 161.85, -1.89 151.95, 0 128.92 M32 160.92 C10.92 158.79, -0.43 151.86, 0 128.92 M0 128.92 C-1.06 94.72, 1.6 60.34, 0 32 M0 128.92 C0.11 94.41, 1.05 60.7, 0 32 M0 32 C1.04 9.81, 9.82 -0.69, 32 0 M0 32 C0.49 11.26, 9.85 1.29, 32 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(766.3742088125546 1287.5501567150593) rotate(0 174.79986572265625 25)"><text x="174.79986572265625" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">we loop from batchSize - 1 to 0 in </text><text x="174.79986572265625" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">revere order</text></g><g stroke-linecap="round" transform="translate(587.1698191315827 1432.9503370902096) rotate(0 155.82213641603767 61.82845845793827)"><path d="M30.91 0 C83.36 -0.07, 136.38 -0.27, 280.73 0 M30.91 0 C128.48 0.61, 227.19 -0.04, 280.73 0 M280.73 0 C300.81 0.86, 311.67 12.1, 311.64 30.91 M280.73 0 C299.71 2.09, 311.03 11.48, 311.64 30.91 M311.64 30.91 C313.68 51, 312.9 69.2, 311.64 92.74 M311.64 30.91 C312.06 49, 312.81 65.33, 311.64 92.74 M311.64 92.74 C311.23 113.71, 303.26 125.42, 280.73 123.66 M311.64 92.74 C312.94 115.39, 299.88 122.32, 280.73 123.66 M280.73 123.66 C214.9 122.56, 151.68 124.02, 30.91 123.66 M280.73 123.66 C212.82 123.86, 145.38 124.85, 30.91 123.66 M30.91 123.66 C11.1 122.35, -0.54 111.59, 0 92.74 M30.91 123.66 C8.11 124.64, 0.06 114.21, 0 92.74 M0 92.74 C-1.78 70.94, -0.38 45.28, 0 30.91 M0 92.74 C0.22 80.08, 0.59 66.5, 0 30.91 M0 30.91 C-1.08 12, 11.67 -0.8, 30.91 0 M0 30.91 C2.3 10.68, 8.7 0.45, 30.91 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(603.9020812800418 1469.7787955481479) rotate(0 139.08987426757812 25)"><text x="139.08987426757812" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">use ProcessOne to process </text><text x="139.08987426757812" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">vote messages</text></g><g stroke-linecap="round" transform="translate(949.8659264656362 1424.6143444768861) rotate(0 143.614673416379 62.70772388616422)"><path d="M31.35 0 C117.08 1.54, 204.46 0.7, 255.88 0 M31.35 0 C86.9 0.08, 143.43 -0.2, 255.88 0 M255.88 0 C277.18 0.64, 288.47 9.62, 287.23 31.35 M255.88 0 C276.69 1.52, 286.95 10.07, 287.23 31.35 M287.23 31.35 C287.39 46.89, 288.35 62.43, 287.23 94.06 M287.23 31.35 C287.06 48.34, 286.96 63.85, 287.23 94.06 M287.23 94.06 C288.11 113.88, 276.17 125.5, 255.88 125.42 M287.23 94.06 C286.46 113.81, 276.91 127.18, 255.88 125.42 M255.88 125.42 C186.17 127.25, 118.88 127.01, 31.35 125.42 M255.88 125.42 C186.5 123.25, 114.96 123.6, 31.35 125.42 M31.35 125.42 C8.47 124.31, 0.89 114.79, 0 94.06 M31.35 125.42 C11.59 123.38, -0.9 117.19, 0 94.06 M0 94.06 C0.2 77.25, -1.1 59.46, 0 31.35 M0 94.06 C-0.42 81, -0.72 65.8, 0 31.35 M0 31.35 C-0.33 10.89, 9.95 -1.7, 31.35 0 M0 31.35 C-0.38 12.57, 10.41 1.68, 31.35 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(975.3907256144375 1462.3220683630504) rotate(0 118.08987426757812 25)"><text x="118.08987426757812" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">use ProcessTopup to </text><text x="118.08987426757812" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">process topup messages</text></g><g stroke-linecap="round"><g transform="translate(1373.0918100929184 1425.1324830702708) rotate(0 -100.26281325631408 -36.12419464446805)"><path d="M0.14 -0.86 C-33.29 -13.05, -168.03 -60.43, -201.65 -72.41 M-1.24 1.3 C-34.23 -10.76, -166.53 -58.8, -199.53 -70.96" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g><g transform="translate(1373.0918100929184 1425.1324830702708) rotate(0 -100.26281325631408 -36.12419464446805)"><path d="M-174.53 -70.93 C-181.27 -72.78, -185.4 -72.67, -199.53 -70.96 M-174.53 -70.93 C-181.41 -72.03, -188.2 -71.99, -199.53 -70.96" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g><g transform="translate(1373.0918100929184 1425.1324830702708) rotate(0 -100.26281325631408 -36.12419464446805)"><path d="M-180.4 -54.86 C-185.99 -60.13, -188.87 -63.42, -199.53 -70.96 M-180.4 -54.86 C-185.73 -60.13, -190.99 -64.27, -199.53 -70.96" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(820.1036451010932 1593.6696698489304) rotate(0 153.69280758129526 80.37641523835293)"><path d="M32 0 C82.45 0.08, 133.29 1.72, 275.39 0 M32 0 C102.09 0.89, 171.99 0.64, 275.39 0 M275.39 0 C296.32 1.98, 308.1 10.3, 307.39 32 M275.39 0 C297.62 -2.15, 305.96 10.46, 307.39 32 M307.39 32 C308.89 55.13, 305.69 80.96, 307.39 128.75 M307.39 32 C307.32 64.6, 308.3 97.36, 307.39 128.75 M307.39 128.75 C308.57 150.15, 296.61 161.2, 275.39 160.75 M307.39 128.75 C306.19 150.41, 298.22 162.5, 275.39 160.75 M275.39 160.75 C190.1 160.56, 106.55 161.13, 32 160.75 M275.39 160.75 C206.23 159.03, 136.2 159.98, 32 160.75 M32 160.75 C9.86 162.6, 1.21 151.42, 0 128.75 M32 160.75 C10.08 162.55, 1.73 151.82, 0 128.75 M0 128.75 C-0.05 99.16, -1.23 72.57, 0 32 M0 128.75 C1.44 90.37, 1.42 52.14, 0 32 M0 32 C0.16 9.74, 11.54 -0.59, 32 0 M0 32 C-1.02 10.26, 10.12 1.26, 32 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(829.936589401138 1649.0460850872832) rotate(0 143.85986328125 25.000000000000114)"><text x="143.85986328125" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">we pick the correct result by</text><text x="143.85986328125" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">message type</text></g><g stroke-linecap="round" transform="translate(1386.3871855326406 1630.0112578700657) rotate(0 144.10752111396346 67.42938404824099)"><path d="M32 0 C121.26 1.45, 209.5 1.14, 256.22 0 M32 0 C93.08 -0.03, 154.53 0.1, 256.22 0 M256.22 0 C279.42 -0.07, 287.91 12.28, 288.22 32 M256.22 0 C277.2 1.58, 290.33 8.56, 288.22 32 M288.22 32 C287.34 53.52, 286.97 72.7, 288.22 102.86 M288.22 32 C288.38 58.73, 288.9 85.39, 288.22 102.86 M288.22 102.86 C289.33 123.38, 276.49 133.05, 256.22 134.86 M288.22 102.86 C288.11 123.84, 277.24 132.96, 256.22 134.86 M256.22 134.86 C188.99 134.83, 120.96 134.06, 32 134.86 M256.22 134.86 C169.71 136.08, 82.96 136.03, 32 134.86 M32 134.86 C11.65 134.98, 0.12 125.7, 0 102.86 M32 134.86 C10.05 136.64, -0.2 123.29, 0 102.86 M0 102.86 C-2.04 80.85, -2.23 61.57, 0 32 M0 102.86 C-1.07 84.2, -0.69 65.83, 0 32 M0 32 C-0.64 9.38, 12.33 -1.04, 32 0 M0 32 C0.49 11.38, 9.47 -0.46, 32 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1396.05482627551 1672.4406419183067) rotate(0 134.43988037109375 25)"><text x="134.43988037109375" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">10. Calculate the state </text><text x="134.43988037109375" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">and ballot root commitment</text></g><g stroke-linecap="round" transform="translate(1892.4081028363375 1818.3650905536545) rotate(0 163.84188809303782 78.53481844731277)"><path d="M32 0 C99.44 0.03, 165.77 0.69, 295.68 0 M32 0 C127.36 2.13, 221.89 2.42, 295.68 0 M295.68 0 C318.98 -0.07, 328.5 10.35, 327.68 32 M295.68 0 C318.91 1.93, 327.65 9.41, 327.68 32 M327.68 32 C326.67 50.65, 328.22 70.42, 327.68 125.07 M327.68 32 C326.73 58.84, 327.54 85.12, 327.68 125.07 M327.68 125.07 C326.5 145.63, 316.71 157.48, 295.68 157.07 M327.68 125.07 C328.63 147.91, 314.92 154.85, 295.68 157.07 M295.68 157.07 C211.22 155.09, 125.87 155.31, 32 157.07 M295.68 157.07 C192.13 157.97, 89.98 157.07, 32 157.07 M32 157.07 C9.38 157.38, 0.3 145.98, 0 125.07 M32 157.07 C11.12 158.52, 0.03 148.7, 0 125.07 M0 125.07 C0.75 101.57, 1.4 79.19, 0 32 M0 125.07 C0.23 97.56, 1.45 70.71, 0 32 M0 32 C1.18 10.35, 10.99 -1.4, 32 0 M0 32 C-1.06 9.47, 10.87 -0.85, 32 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1910.8901123893365 1871.8999090009672) rotate(0 145.35987854003906 25)"><text x="145.35987854003906" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">hash(stateRoot, ballotRoot, </text><text x="145.35987854003906" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">newSbSalt)</text></g><g stroke-linecap="round"><g transform="translate(1704.9622286604108 1701.690421667752) rotate(0 85.20487925922635 91.87491343929673)"><path d="M-1.11 -0.76 C27.54 29.63, 142.39 152, 171.1 182.6 M0.51 1.45 C29.13 31.93, 142.14 153.16, 170.51 183.53" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g><g transform="translate(1704.9622286604108 1701.690421667752) rotate(0 85.20487925922635 91.87491343929673)"><path d="M148.23 172.19 C152.19 176.19, 156.74 178.91, 170.51 183.53 M148.23 172.19 C152.92 174.23, 157.57 177.64, 170.51 183.53" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g><g transform="translate(1704.9622286604108 1701.690421667752) rotate(0 85.20487925922635 91.87491343929673)"><path d="M160.73 160.52 C161.79 167.13, 163.42 172.58, 170.51 183.53 M160.73 160.52 C162.55 165.14, 164.42 171.14, 170.51 183.53" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(1374.5325362053436 1803.1341553669324) rotate(0 185.95606036756567 112.0715305033143)"><path d="M32 0 C99.17 -0.64, 163.44 -1.51, 339.91 0 M32 0 C142.54 0.19, 253.33 -0.36, 339.91 0 M339.91 0 C362.11 1.29, 372.49 8.7, 371.91 32 M339.91 0 C361.82 -2.23, 373.02 10.91, 371.91 32 M371.91 32 C373.46 78.35, 373.86 119.28, 371.91 192.14 M371.91 32 C372.1 68.05, 370.68 103.52, 371.91 192.14 M371.91 192.14 C371.34 212.67, 361.59 225.62, 339.91 224.14 M371.91 192.14 C371.01 215.12, 359.7 223.07, 339.91 224.14 M339.91 224.14 C269.11 225.6, 198.72 225.92, 32 224.14 M339.91 224.14 C240.96 222.37, 142.96 223.33, 32 224.14 M32 224.14 C10.75 224.26, 1.77 214.46, 0 192.14 M32 224.14 C9.25 222, 1.49 215.08, 0 192.14 M0 192.14 C-1.77 136.43, -0.75 78.14, 0 32 M0 192.14 C0.04 149.45, -0.27 106.01, 0 32 M0 32 C-1.87 10.05, 9.87 0.8, 32 0 M0 32 C-0.41 10.9, 9.12 2.16, 32 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1383.3387552643153 1865.2056858702465) rotate(0 177.14984130859375 50)"><text x="177.14984130859375" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">11. Check that the provided </text><text x="177.14984130859375" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">commitment (newSbCommitment)</text><text x="177.14984130859375" y="50" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">matches the commitment generated </text><text x="177.14984130859375" y="75" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">in step 10</text></g></svg>
@@ -0,0 +1,21 @@
1
+ <svg version="1.1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1573.1294034977443 740.7964760740288" width="3146.2588069954886" height="1481.5929521480575">
2
+ <!-- svg-source:excalidraw -->
3
+
4
+ <defs>
5
+ <style class="style-fonts">
6
+ @font-face {
7
+ font-family: "Virgil";
8
+ src: url("https://excalidraw.com/Virgil.woff2");
9
+ }
10
+ @font-face {
11
+ font-family: "Cascadia";
12
+ src: url("https://excalidraw.com/Cascadia.woff2");
13
+ }
14
+ @font-face {
15
+ font-family: "Assistant";
16
+ src: url("https://excalidraw.com/Assistant-Regular.woff2");
17
+ }
18
+ </style>
19
+
20
+ </defs>
21
+ <rect x="0" y="0" width="1573.1294034977443" height="740.7964760740288" fill="#ffffff"></rect><g stroke-linecap="round" transform="translate(214.81856099386096 267.03286190372273) rotate(0 154.86392832774038 34.91191061813606)"><path d="M17.46 0 C101.23 -0.79, 185.2 1.1, 292.27 0 M17.46 0 C94.42 1.65, 171.38 2.61, 292.27 0 M292.27 0 C305.68 1.35, 307.8 4.73, 309.73 17.46 M292.27 0 C305.43 1.22, 310.61 6.23, 309.73 17.46 M309.73 17.46 C310.52 30.42, 310.13 43.62, 309.73 52.37 M309.73 17.46 C309.89 26.22, 309.49 35.05, 309.73 52.37 M309.73 52.37 C310.13 64.4, 302.58 70.71, 292.27 69.82 M309.73 52.37 C309.03 63.99, 304.77 70.81, 292.27 69.82 M292.27 69.82 C223.13 69.27, 152.88 67.7, 17.46 69.82 M292.27 69.82 C201.33 67.36, 109.76 68.38, 17.46 69.82 M17.46 69.82 C5.53 69.57, -0.31 62.02, 0 52.37 M17.46 69.82 C4.81 70.51, 2.01 62.46, 0 52.37 M0 52.37 C-0.97 44, -1.39 33.26, 0 17.46 M0 52.37 C-0.32 40.13, 0.01 29.68, 0 17.46 M0 17.46 C1.58 7.13, 7.51 0.59, 17.46 0 M0 17.46 C-1.6 6.64, 3.81 -2.03, 17.46 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(226.6126345852731 289.4447725218588) rotate(0 143.06985473632812 12.5)"><text x="143.06985473632812" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#e03131" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">ProcessMessagesInputHasher</text></g><g stroke-linecap="round" transform="translate(10 102.87685076280945) rotate(0 126.4982138566952 32.17741655087593)"><path d="M16.09 0 C74.39 -0.84, 131.89 -0.85, 236.91 0 M16.09 0 C75.85 -1.15, 133.24 -2.21, 236.91 0 M236.91 0 C248.96 1.06, 253.76 5.72, 253 16.09 M236.91 0 C249.86 -0.31, 253.41 6.33, 253 16.09 M253 16.09 C251.9 25.79, 253.18 32.31, 253 48.27 M253 16.09 C253.04 26.98, 252.17 37.93, 253 48.27 M253 48.27 C252.39 58.98, 248.38 65.21, 236.91 64.35 M253 48.27 C251.98 60.34, 246.12 66.04, 236.91 64.35 M236.91 64.35 C159.15 61.79, 78.79 65, 16.09 64.35 M236.91 64.35 C190.02 65.05, 143.26 64.3, 16.09 64.35 M16.09 64.35 C4.49 64.95, 1.75 57.65, 0 48.27 M16.09 64.35 C4.64 66.65, 1.74 58.28, 0 48.27 M0 48.27 C0.77 38.78, 0.48 25.7, 0 16.09 M0 48.27 C0.68 41.59, 0.74 33.89, 0 16.09 M0 16.09 C-1.39 6.07, 3.61 -1.77, 16.09 0 M0 16.09 C0.57 5.87, 6.29 1.99, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(72.79827031421519 122.55426731368539) rotate(0 63.69994354248047 12.5)"><text x="63.69994354248047" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">packedValues</text></g><g stroke-linecap="round"><g transform="translate(304.12919692151627 194.5748184885565) rotate(0 1.595621253302852 21.722771252156463)"><path d="M0.26 -0.18 C0.83 7.23, 3.14 36.61, 3.71 43.95 M-0.27 -0.75 C0.25 6.56, 2.9 35.95, 3.54 43.24" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(304.12919692151627 194.5748184885565) rotate(0 1.595621253302852 21.722771252156463)"><path d="M-5.69 23.51 C-2.89 31.3, 1.56 38.12, 3.54 43.24 M-5.69 23.51 C-2.06 31.05, 1.19 38.13, 3.54 43.24" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(304.12919692151627 194.5748184885565) rotate(0 1.595621253302852 21.722771252156463)"><path d="M9.15 22.19 C6.77 30.47, 6.06 37.75, 3.54 43.24 M9.15 22.19 C7.32 30.18, 5.12 37.74, 3.54 43.24" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g transform="translate(390.3781520522498 222.8987784432602) rotate(0 31.809967041015625 12.5)"><text x="0" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Inputs</text></g><g stroke-linecap="round" transform="translate(289.17256946463203 104.38214322122849) rotate(0 110.05757116156974 32.17741655087593)"><path d="M16.09 0 C91.47 -3.59, 163.06 -0.33, 204.03 0 M16.09 0 C83.4 -0.47, 148.95 0.08, 204.03 0 M204.03 0 C213.85 0.45, 218.56 4.2, 220.12 16.09 M204.03 0 C216.48 0.13, 219.89 6.11, 220.12 16.09 M220.12 16.09 C220.73 22.8, 221.23 31.58, 220.12 48.27 M220.12 16.09 C219.79 26.31, 219.58 36.08, 220.12 48.27 M220.12 48.27 C221.21 60.49, 213.83 65.02, 204.03 64.35 M220.12 48.27 C217.87 57.08, 216.77 62.32, 204.03 64.35 M204.03 64.35 C129.66 63.78, 53.81 63.21, 16.09 64.35 M204.03 64.35 C141.71 64.09, 80.78 62.78, 16.09 64.35 M16.09 64.35 C6.38 63.31, -0.35 59.59, 0 48.27 M16.09 64.35 C7.42 64.71, -0.01 57.34, 0 48.27 M0 48.27 C1.2 39.27, 0.47 25.49, 0 16.09 M0 48.27 C0.53 37.69, 0.69 27.53, 0 16.09 M0 16.09 C-0.17 5.34, 6.41 0.96, 16.09 0 M0 16.09 C0.45 3.8, 5.2 -0.43, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(300.6202391979791 124.05955977210442) rotate(0 98.60990142822266 12.5)"><text x="98.60990142822266" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">coordinatorPublicKey</text></g><g stroke-linecap="round" transform="translate(540.9921643422958 104.34332131207475) rotate(0 110.05757116156974 32.17741655087593)"><path d="M16.09 0 C55.41 -0.48, 92.96 0.69, 204.03 0 M16.09 0 C69.51 -0.56, 123.06 -1.37, 204.03 0 M204.03 0 C216.25 0.11, 219.92 6.01, 220.12 16.09 M204.03 0 C213.6 1.63, 220.58 5.81, 220.12 16.09 M220.12 16.09 C220.24 24.35, 221.12 30.23, 220.12 48.27 M220.12 16.09 C220.45 28.38, 219.44 39.51, 220.12 48.27 M220.12 48.27 C218.17 57.33, 216.51 62.59, 204.03 64.35 M220.12 48.27 C222.29 59.96, 214.42 64.06, 204.03 64.35 M204.03 64.35 C151.13 65.28, 95.69 62.91, 16.09 64.35 M204.03 64.35 C129.41 63.25, 53.61 64.07, 16.09 64.35 M16.09 64.35 C7.15 64.66, -0.01 57.55, 0 48.27 M16.09 64.35 C6.1 65.16, 1.81 60.5, 0 48.27 M0 48.27 C0.62 34.14, -1.86 24.01, 0 16.09 M0 48.27 C-0.21 37.9, 0.4 28.02, 0 16.09 M0 16.09 C0.39 4, 5.22 -0.37, 16.09 0 M0 16.09 C1.31 4.81, 4.53 -0.85, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(564.4498209530843 124.02073786295068) rotate(0 86.59991455078125 12.5)"><text x="86.59991455078125" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">messageTreeRoot</text></g><g stroke-linecap="round" transform="translate(543.523918851628 10) rotate(0 110.05757116156974 32.17741655087593)"><path d="M16.09 0 C79.38 -1.46, 144.04 -2.72, 204.03 0 M16.09 0 C77.47 1.15, 137.26 1.42, 204.03 0 M204.03 0 C213.75 1.42, 220.52 5.75, 220.12 16.09 M204.03 0 C213.22 1.02, 219.42 5.35, 220.12 16.09 M220.12 16.09 C221.43 25.63, 221.72 38.91, 220.12 48.27 M220.12 16.09 C218.99 27.33, 220.85 39.35, 220.12 48.27 M220.12 48.27 C222 59.84, 214.46 64.1, 204.03 64.35 M220.12 48.27 C219.76 56.71, 213.75 65.04, 204.03 64.35 M204.03 64.35 C133.22 65.28, 57.81 64.78, 16.09 64.35 M204.03 64.35 C158.37 65.07, 110.93 64.2, 16.09 64.35 M16.09 64.35 C6.01 65.05, 1.58 60.3, 0 48.27 M16.09 64.35 C7.31 65.03, -1.6 59.81, 0 48.27 M0 48.27 C0.72 42.24, 2.01 34.43, 0 16.09 M0 48.27 C0.03 37.96, -0.24 28.83, 0 16.09 M0 16.09 C1.14 4.88, 4.64 -0.74, 16.09 0 M0 16.09 C0.27 7.15, 3.72 -0.93, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(552.7315907212055 29.677416550875932) rotate(0 100.84989929199219 12.5)"><text x="100.84989929199219" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">currentSbCommitment</text></g><g stroke-linecap="round"><g transform="translate(525.959153881261 298.6031760673377) rotate(0 108.38376029738583 0.4619128446606737)"><path d="M-0.54 0.27 C35.4 0.23, 179.47 0.11, 215.84 0.22 M1.38 -0.63 C37.67 -0.58, 182.06 0.9, 218.06 1.4" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(525.959153881261 298.6031760673377) rotate(0 108.38376029738583 0.4619128446606737)"><path d="M194.47 9.67 C202.39 5.59, 208.27 6.01, 218.06 1.4 M194.47 9.67 C201.19 7.78, 209.1 4.73, 218.06 1.4" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(525.959153881261 298.6031760673377) rotate(0 108.38376029738583 0.4619128446606737)"><path d="M194.67 -7.43 C202.59 -6.07, 208.41 -0.21, 218.06 1.4 M194.67 -7.43 C201.31 -4.1, 209.16 -1.91, 218.06 1.4" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g transform="translate(566.9964634489988 249.43708447729568) rotate(0 49.669944763183594 12.5)"><text x="0" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Processing</text></g><g stroke-linecap="round" transform="translate(802.9495467368438 211.60406149631808) rotate(0 136.64542853387945 43.84461860677061)"><path d="M21.92 0 C73.04 -1.63, 124.51 -2.31, 251.37 0 M21.92 0 C106.47 0, 191.89 -0.39, 251.37 0 M251.37 0 C266.73 0.86, 272.41 8.48, 273.29 21.92 M251.37 0 C264.47 1.68, 274.55 9.03, 273.29 21.92 M273.29 21.92 C271.77 34.81, 271.67 46.08, 273.29 65.77 M273.29 21.92 C273.07 35.94, 272.79 52.23, 273.29 65.77 M273.29 65.77 C275.04 79.04, 265.36 89.68, 251.37 87.69 M273.29 65.77 C275.03 79.67, 267.15 86.49, 251.37 87.69 M251.37 87.69 C186.8 89.43, 120.49 89.99, 21.92 87.69 M251.37 87.69 C175.23 89.22, 97.06 89.27, 21.92 87.69 M21.92 87.69 C5.56 85.92, 0.5 80.82, 0 65.77 M21.92 87.69 C8.24 89.67, -0.19 80.36, 0 65.77 M0 65.77 C-1.57 50.16, -0.58 35.99, 0 21.92 M0 65.77 C0.28 54.44, -0.56 41.16, 0 21.92 M0 21.92 C-0.98 6.78, 5.47 0.56, 21.92 0 M0 21.92 C-2.29 7.11, 6.93 -1.94, 21.92 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(826.7550552267778 230.44868010308846) rotate(0 112.83992004394531 25)"><text x="112.83992004394531" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">1. Unpack values using </text><text x="112.83992004394531" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">UnpackElement</text></g><g stroke-linecap="round" transform="translate(818.6170598942742 331.71185714807507) rotate(0 128.1905618457971 48.770478637969745)"><path d="M24.39 0 C76.65 -1.55, 129 -0.91, 232 0 M24.39 0 C86.13 -0.27, 148.08 -0.14, 232 0 M232 0 C249.35 1.5, 255.46 8.8, 256.38 24.39 M232 0 C246.01 -1.92, 258.4 6.1, 256.38 24.39 M256.38 24.39 C256.33 43.31, 254.61 61.98, 256.38 73.16 M256.38 24.39 C256.49 41.47, 257.56 56.25, 256.38 73.16 M256.38 73.16 C257.39 88.37, 247.9 98.14, 232 97.54 M256.38 73.16 C258.44 89.77, 248.25 95.88, 232 97.54 M232 97.54 C164.18 100.49, 94.56 97.76, 24.39 97.54 M232 97.54 C162.55 96.11, 93.02 96.68, 24.39 97.54 M24.39 97.54 C7.96 97.52, 1.05 90.37, 0 73.16 M24.39 97.54 C8.58 95.97, -0.17 88.99, 0 73.16 M0 73.16 C-0.62 55.97, 1.67 36.89, 0 24.39 M0 73.16 C-0.68 60.77, -0.75 47.75, 0 24.39 M0 24.39 C-0.33 6.44, 9.06 0.99, 24.39 0 M0 24.39 C2.2 9.54, 6.62 1.29, 24.39 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(828.0477340447587 342.98233578604504) rotate(0 118.7598876953125 37.5)"><text x="118.7598876953125" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">2. Hash the </text><text x="118.7598876953125" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">coordinator's public key </text><text x="118.7598876953125" y="50" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">using poseidon</text></g><g stroke-linecap="round" transform="translate(20.897458336503405 10.535611501115909) rotate(0 110.05757116156974 32.17741655087593)"><path d="M16.09 0 C89.42 -2.13, 166.76 0.07, 204.03 0 M16.09 0 C72.53 0.27, 131.08 0.59, 204.03 0 M204.03 0 C214.43 -0.96, 219.86 6.8, 220.12 16.09 M204.03 0 C212.58 1.93, 217.91 4.35, 220.12 16.09 M220.12 16.09 C221.36 28.29, 219.46 37.82, 220.12 48.27 M220.12 16.09 C219.3 26.94, 220.92 37.57, 220.12 48.27 M220.12 48.27 C221.27 59.89, 216.49 65.41, 204.03 64.35 M220.12 48.27 C217.87 59.32, 213.17 64.49, 204.03 64.35 M204.03 64.35 C161.94 64.74, 123.26 64.9, 16.09 64.35 M204.03 64.35 C156.51 63.62, 108.85 63.71, 16.09 64.35 M16.09 64.35 C6.73 65.98, -0.73 57.88, 0 48.27 M16.09 64.35 C4.09 63.96, -0.67 59.34, 0 48.27 M0 48.27 C-0.69 42.78, 0.21 34.83, 0 16.09 M0 48.27 C0.48 37.37, 0.55 26.01, 0 16.09 M0 16.09 C0.03 4.03, 3.44 -1.74, 16.09 0 M0 16.09 C-0.51 5.26, 4.96 -0.63, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(48.96510792824938 30.21302805199184) rotate(0 81.98992156982422 12.5)"><text x="81.98992156982422" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">newSbCommitment</text></g><g stroke-linecap="round" transform="translate(285.120869680306 14.738279204319724) rotate(0 110.05757116156974 32.17741655087593)"><path d="M16.09 0 C61.77 2.61, 105.1 0.5, 204.03 0 M16.09 0 C90.63 -0.41, 166.01 -0.91, 204.03 0 M204.03 0 C216.32 0.03, 220 3.78, 220.12 16.09 M204.03 0 C213.03 -1.85, 220.81 4.37, 220.12 16.09 M220.12 16.09 C221.3 22.58, 219.96 33.98, 220.12 48.27 M220.12 16.09 C219.78 26.44, 219.72 38.23, 220.12 48.27 M220.12 48.27 C219.24 58.56, 214.56 62.39, 204.03 64.35 M220.12 48.27 C220.5 58.71, 215.92 64.6, 204.03 64.35 M204.03 64.35 C144.5 62.25, 87.39 64.19, 16.09 64.35 M204.03 64.35 C142.8 64.05, 81.97 62.6, 16.09 64.35 M16.09 64.35 C5.57 66.35, 0.6 60.52, 0 48.27 M16.09 64.35 C4.89 65.01, -0.01 58.47, 0 48.27 M0 48.27 C-0.54 40.46, -1.08 34.95, 0 16.09 M0 48.27 C-0.09 42.01, 0.89 34.84, 0 16.09 M0 16.09 C-1.14 5.83, 4.57 1.06, 16.09 0 M0 16.09 C-0.87 4.11, 7.27 0.01, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(311.30852201863354 34.41569575519566) rotate(0 83.86991882324219 12.5)"><text x="83.86991882324219" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">pollEndTimestamp</text></g><g transform="translate(402.8178820188291 406.17540973685755) rotate(0 40.27995300292969 12.5)"><text x="0" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Outputs</text></g><g stroke-linecap="round"><g transform="translate(341.83701490020167 404.9050559667685) rotate(0 0.2229014099473261 20.51105751905652)"><path d="M-0.05 0.16 C0.01 6.92, 0.79 33.93, 0.79 40.68 M-0.73 -0.23 C-0.75 6.57, 0.25 34.32, 0.54 41.2" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(341.83701490020167 404.9050559667685) rotate(0 0.2229014099473261 20.51105751905652)"><path d="M-7.21 22.2 C-3.93 30.07, -1.91 35.77, 0.54 41.2 M-7.21 22.2 C-5.5 26.34, -3.32 31.35, 0.54 41.2" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(341.83701490020167 404.9050559667685) rotate(0 0.2229014099473261 20.51105751905652)"><path d="M6.82 21.67 C4.75 29.73, 1.44 35.64, 0.54 41.2 M6.82 21.67 C5.32 25.89, 4.3 31.03, 0.54 41.2" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(244.66070407486768 469.8980532349224) rotate(0 110.05757116156974 32.17741655087593)"><path d="M16.09 0 C69.65 -2.96, 124.29 -0.93, 204.03 0 M16.09 0 C64.35 1.75, 111.32 0.32, 204.03 0 M204.03 0 C213.3 -0.76, 220.66 6.04, 220.12 16.09 M204.03 0 C215.86 -1, 219.23 5.96, 220.12 16.09 M220.12 16.09 C220.97 25.35, 221.52 36.78, 220.12 48.27 M220.12 16.09 C220.51 27.15, 220.76 38.62, 220.12 48.27 M220.12 48.27 C219.16 58.45, 213.83 64.83, 204.03 64.35 M220.12 48.27 C220.44 57.23, 214.32 63.61, 204.03 64.35 M204.03 64.35 C163.59 62.51, 125.33 62.22, 16.09 64.35 M204.03 64.35 C130.67 63.96, 58.65 62.89, 16.09 64.35 M16.09 64.35 C7.24 65.85, 1.62 57.06, 0 48.27 M16.09 64.35 C7.22 62.52, 1.22 61.07, 0 48.27 M0 48.27 C1.32 35.7, -1.06 24.7, 0 16.09 M0 48.27 C-0.91 38.83, -0.37 30.91, 0 16.09 M0 16.09 C0.07 5.13, 4.84 -1.34, 16.09 0 M0 16.09 C1.68 3.14, 5.4 0.03, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(304.0483304732538 489.5754697857983) rotate(0 50.669944763183594 12.5)"><text x="50.669944763183594" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#2f9e44" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">numSignups</text></g><g stroke-linecap="round" transform="translate(483.58820707982477 473.08275619611777) rotate(0 110.05757116156974 17.5)"><path d="M8.75 0 C50.72 -0.5, 93.58 0.99, 211.37 0 M8.75 0 C87.72 0.57, 168.23 1.22, 211.37 0 M211.37 0 C218.16 -0.87, 219.34 3.44, 220.12 8.75 M211.37 0 C218.3 1.46, 219.66 3.67, 220.12 8.75 M220.12 8.75 C221.13 11.41, 218.73 16.83, 220.12 26.25 M220.12 8.75 C219.84 13.28, 219.85 18.5, 220.12 26.25 M220.12 26.25 C220.39 30.55, 216.83 34.35, 211.37 35 M220.12 26.25 C218.04 31.71, 215.74 33.8, 211.37 35 M211.37 35 C158.78 33.67, 101.84 32.73, 8.75 35 M211.37 35 C132.33 35.44, 52.35 33.9, 8.75 35 M8.75 35 C4.54 33.41, 1.06 33.89, 0 26.25 M8.75 35 C4.14 33.05, -1.9 33.29, 0 26.25 M0 26.25 C-0.16 22.58, 0.82 16.43, 0 8.75 M0 26.25 C0.08 21.41, -0.18 16.19, 0 8.75 M0 8.75 C1.46 0.98, 2.94 0.03, 8.75 0 M0 8.75 C1.15 4.59, 2.5 -1.73, 8.75 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(511.03584629559373 478.08275619611777) rotate(0 82.60993194580078 12.5)"><text x="82.60993194580078" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#2f9e44" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">batchStartIndex</text></g><g stroke-linecap="round" transform="translate(12.313339405000534 473.70564235677193) rotate(0 110.05757116156974 17.5)"><path d="M8.75 0 C68.11 -1.13, 123.23 -2.54, 211.37 0 M8.75 0 C62.26 -1.01, 114.56 -0.38, 211.37 0 M211.37 0 C218.16 1.27, 219.72 3.57, 220.12 8.75 M211.37 0 C214.97 1.38, 218.16 4.12, 220.12 8.75 M220.12 8.75 C219.49 14.53, 219.73 16.63, 220.12 26.25 M220.12 8.75 C220.16 12.86, 219.87 18.02, 220.12 26.25 M220.12 26.25 C218.31 31.76, 215.93 33.96, 211.37 35 M220.12 26.25 C219.36 32.2, 216.11 36.98, 211.37 35 M211.37 35 C157.58 33.14, 100.19 35.25, 8.75 35 M211.37 35 C136.2 32.53, 60.06 34.05, 8.75 35 M8.75 35 C3.98 33.3, -1.66 33.13, 0 26.25 M8.75 35 C1.54 33.47, -0.96 31.72, 0 26.25 M0 26.25 C-0.58 19.98, 1.53 14.75, 0 8.75 M0 26.25 C0.68 20.36, 0.06 16.18, 0 8.75 M0 8.75 C1 4.37, 2.56 -1.51, 8.75 0 M0 8.75 C-1.95 1.65, 2.95 -1.82, 8.75 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(46.250984113933555 478.70564235677193) rotate(0 76.11992645263672 12.5)"><text x="76.11992645263672" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#2f9e44" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">maxVoteOptions</text></g><g stroke-linecap="round" transform="translate(492.8713939460399 532.3293628989304) rotate(0 110.05757116156974 17.5)"><path d="M8.75 0 C59.75 0.97, 114.59 0.86, 211.37 0 M8.75 0 C64.31 0.35, 119.62 1.76, 211.37 0 M211.37 0 C218.46 1.23, 219 4.31, 220.12 8.75 M211.37 0 C218.55 -1.13, 219.48 4.6, 220.12 8.75 M220.12 8.75 C220.39 12.57, 218.63 18.67, 220.12 26.25 M220.12 8.75 C219.92 13.62, 220.87 19.1, 220.12 26.25 M220.12 26.25 C218.54 33.92, 215.88 34.64, 211.37 35 M220.12 26.25 C221.31 32.22, 214.95 35.97, 211.37 35 M211.37 35 C144.87 33.79, 76.39 32.08, 8.75 35 M211.37 35 C154.75 36.63, 98.55 35.93, 8.75 35 M8.75 35 C4.61 34.95, 1.4 30.8, 0 26.25 M8.75 35 C4.3 35.72, 0.31 29.82, 0 26.25 M0 26.25 C1.48 21.21, -1.55 15.15, 0 8.75 M0 26.25 C-0.65 22.43, 0.8 19.83, 0 8.75 M0 8.75 C-1.21 3.91, 3.68 1.97, 8.75 0 M0 8.75 C0.63 3.65, 4.42 0.93, 8.75 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(531.5690179030198 537.3293628989304) rotate(0 71.35994720458984 12.5)"><text x="71.35994720458984" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#2f9e44" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">batchEndIndex</text></g><g stroke-linecap="round" transform="translate(26.107430007601124 531.8927689815405) rotate(0 100.69598202867246 18.8120165048158)"><path d="M9.41 0 C56.45 -0.68, 100.77 -0.94, 191.99 0 M9.41 0 C61.16 -0.44, 111.69 -0.75, 191.99 0 M191.99 0 C196.75 1.16, 201.09 3.99, 201.39 9.41 M191.99 0 C198.73 0.71, 202.69 3.08, 201.39 9.41 M201.39 9.41 C200.73 13.73, 200.91 17.94, 201.39 28.22 M201.39 9.41 C202.23 12.9, 200.92 18.22, 201.39 28.22 M201.39 28.22 C202.7 33.58, 199.26 36.43, 191.99 37.62 M201.39 28.22 C202.76 35.29, 200.24 35.71, 191.99 37.62 M191.99 37.62 C144.89 38.47, 95.34 35.43, 9.41 37.62 M191.99 37.62 C148.02 37.24, 103.8 35.6, 9.41 37.62 M9.41 37.62 C2.07 38.13, 1.93 32.86, 0 28.22 M9.41 37.62 C1.26 35.74, 0.97 35.34, 0 28.22 M0 28.22 C0.43 25.34, -1.71 20.4, 0 9.41 M0 28.22 C0.37 23.84, 1.07 20.29, 0 9.41 M0 9.41 C0.91 5.03, 2.33 -1.18, 9.41 0 M0 9.41 C-1.23 1.47, 1.82 0.78, 9.41 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(104.82343156752358 538.2047854863563) rotate(0 21.97998046875 12.5)"><text x="21.97998046875" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#2f9e44" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">hash</text></g><g stroke-linecap="round" transform="translate(808.3598847939502 460.21521954600166) rotate(0 139.43116576484636 57.405236106649454)"><path d="M28.7 0 C79.15 -1.56, 128.01 -0.77, 250.16 0 M28.7 0 C103.02 -0.17, 178.38 -0.6, 250.16 0 M250.16 0 C271.25 -1.8, 280.5 10.43, 278.86 28.7 M250.16 0 C271.17 1.88, 280.06 7.76, 278.86 28.7 M278.86 28.7 C277.79 44.22, 277.22 64.44, 278.86 86.11 M278.86 28.7 C277.67 40.68, 278.78 52.41, 278.86 86.11 M278.86 86.11 C280.41 104.22, 268.74 116.34, 250.16 114.81 M278.86 86.11 C278.83 103.5, 267 116.51, 250.16 114.81 M250.16 114.81 C191.36 111.53, 132.24 113.27, 28.7 114.81 M250.16 114.81 C165.7 116.49, 80.62 116, 28.7 114.81 M28.7 114.81 C9.84 114.23, 0.92 106.87, 0 86.11 M28.7 114.81 C9.09 115.5, -0.45 104.2, 0 86.11 M0 86.11 C2.04 67.45, 1.41 44.52, 0 28.7 M0 86.11 C-0.07 72.1, -0.71 57.29, 0 28.7 M0 28.7 C-0.22 7.81, 7.8 -1.62, 28.7 0 M0 28.7 C-2.22 8.25, 9.25 -1.25, 28.7 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(813.9911543185622 492.6204556526509) rotate(0 133.79989624023438 25)"><text x="133.79989624023438" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">3. using a SHA256 hasher </text><text x="133.79989624023438" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">hash all the values</text></g><g stroke-linecap="round" transform="translate(1247.7646627165261 430.4621147456146) rotate(0 157.6823703906091 89.79119820109236)"><path d="M32 0 C116.29 1.14, 203.01 0.52, 283.36 0 M32 0 C111.13 0.3, 189.62 -0.61, 283.36 0 M283.36 0 C303.85 1.25, 315.32 8.8, 315.36 32 M283.36 0 C302.49 1.65, 314.97 11.51, 315.36 32 M315.36 32 C315 56.68, 314.14 79.5, 315.36 147.58 M315.36 32 C314.79 73.51, 314.8 114.04, 315.36 147.58 M315.36 147.58 C317.15 169.41, 304.57 179.22, 283.36 179.58 M315.36 147.58 C316.05 169.73, 306.31 179.07, 283.36 179.58 M283.36 179.58 C195.55 181.25, 105.79 180.02, 32 179.58 M283.36 179.58 C196.02 178.56, 107.53 178.76, 32 179.58 M32 179.58 C11.26 181.42, -1.84 167, 0 147.58 M32 179.58 C9.83 178.83, 1.53 170.18, 0 147.58 M0 147.58 C-0.44 108.41, 0.29 68.55, 0 32 M0 147.58 C-1.19 122.76, -0.64 99.89, 0 32 M0 32 C1.11 11.01, 9.06 -0.45, 32 0 M0 32 C-1.6 12.48, 10.35 -1.28, 32 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1304.597133815143 445.25331294670696) rotate(0 100.84989929199219 75)"><text x="100.84989929199219" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Inputs:</text><text x="100.84989929199219" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">packedValues</text><text x="100.84989929199219" y="50" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">hashedPublicKey</text><text x="100.84989929199219" y="75" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">messageTreeRoot</text><text x="100.84989929199219" y="100" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">currentSbCommitment</text><text x="100.84989929199219" y="125" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">pollEndTimestamp</text></g><g stroke-linecap="round"><g transform="translate(1126.9088481702345 522.1442171898125) rotate(0 45.73237227768925 0.13517117272863288)"><path d="M0.99 1.16 C16.24 1.27, 77.48 0.32, 92.41 0.33 M0.05 0.73 C15.14 1.07, 76.47 2.13, 91.96 1.9" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g><g transform="translate(1126.9088481702345 522.1442171898125) rotate(0 45.73237227768925 0.13517117272863288)"><path d="M68.44 10.37 C79.29 8.55, 86.35 2.28, 91.96 1.9 M68.44 10.37 C77.29 7.46, 86.16 4.75, 91.96 1.9" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g><g transform="translate(1126.9088481702345 522.1442171898125) rotate(0 45.73237227768925 0.13517117272863288)"><path d="M68.5 -6.73 C79.28 -2.08, 86.32 -1.89, 91.96 1.9 M68.5 -6.73 C77.39 -3.16, 86.24 0.62, 91.96 1.9" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(808.4545864916281 602.3657019012053) rotate(0 139.1176418329478 64.21538708641174)"><path d="M32 0 C84.19 3, 133.92 3.13, 246.24 0 M32 0 C80.8 -1.67, 129.71 -0.59, 246.24 0 M246.24 0 C265.61 1.67, 279.75 10.88, 278.24 32 M246.24 0 C269.56 1.42, 276.44 11.17, 278.24 32 M278.24 32 C279.58 49.79, 279.33 69.82, 278.24 96.43 M278.24 32 C277.58 44.77, 278.55 57.32, 278.24 96.43 M278.24 96.43 C276.83 119.53, 268.86 127.16, 246.24 128.43 M278.24 96.43 C278.59 119.49, 267.7 128.97, 246.24 128.43 M246.24 128.43 C202.26 129.37, 159.23 128.22, 32 128.43 M246.24 128.43 C172.17 126.41, 99.86 127.11, 32 128.43 M32 128.43 C9.64 126.87, 1.75 117.62, 0 96.43 M32 128.43 C10.08 127.44, -1.4 120.06, 0 96.43 M0 96.43 C1.66 80.71, -1.19 60.81, 0 32 M0 96.43 C0.43 78.75, -0.91 60.29, 0 32 M0 32 C0.9 12.01, 8.81 -0.35, 32 0 M0 32 C-0.94 10.08, 8.52 -1.71, 32 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(822.8423317791658 629.081088987617) rotate(0 124.72989654541016 37.5)"><text x="124.72989654541016" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">4. Wire the output hash </text><text x="124.72989654541016" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">to the output signal </text><text x="124.72989654541016" y="50" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">(hash)</text></g><g stroke-linecap="round"><g transform="translate(1089.1574604917391 257.0930443026127) rotate(0 55.42052351083339 0.8414543730668811)"><path d="M-0.38 -0.57 C18.21 -0.44, 92.4 0.59, 111 1.13 M1.61 1.74 C20.11 2.01, 91.96 2.53, 110.13 2.37" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g><g transform="translate(1089.1574604917391 257.0930443026127) rotate(0 55.42052351083339 0.8414543730668811)"><path d="M86.63 10.91 C91.63 9.07, 97.63 7.25, 110.13 2.37 M86.63 10.91 C94.86 7.8, 103.7 5.02, 110.13 2.37" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g><g transform="translate(1089.1574604917391 257.0930443026127) rotate(0 55.42052351083339 0.8414543730668811)"><path d="M86.64 -6.19 C91.68 -3.68, 97.68 -1.15, 110.13 2.37 M86.64 -6.19 C94.9 -2.81, 103.74 0.91, 110.13 2.37" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(1216.2388380182044 175.4350566963201) rotate(0 147.75239930162763 92.05782203662068)"><path d="M32 0 C121.39 2.44, 215.65 0.65, 263.5 0 M32 0 C109.24 0.02, 184.71 0.4, 263.5 0 M263.5 0 C286.11 0.71, 297.38 12.01, 295.5 32 M263.5 0 C284.48 1.49, 294.54 12.88, 295.5 32 M295.5 32 C297.94 60.42, 296.11 88.74, 295.5 152.12 M295.5 32 C296.98 67.8, 295.89 102.52, 295.5 152.12 M295.5 152.12 C296.99 173.41, 284.59 185.62, 263.5 184.12 M295.5 152.12 C294.77 172.59, 283.99 183.55, 263.5 184.12 M263.5 184.12 C189.37 182.81, 113.82 181.42, 32 184.12 M263.5 184.12 C209.32 183.95, 156.02 183.79, 32 184.12 M32 184.12 C11.1 184.13, -0.26 174.81, 0 152.12 M32 184.12 C9.34 185.59, 0.67 173.03, 0 152.12 M0 152.12 C0.88 105.57, -1.4 56.29, 0 32 M0 152.12 C-0.01 119.29, -0.94 86.04, 0 32 M0 32 C-1.66 11.83, 10 -0.15, 32 0 M0 32 C0.06 10.48, 11.32 -0.96, 32 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1281.3813053740314 204.99287873294088) rotate(0 82.60993194580078 62.5)"><text x="82.60993194580078" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Wire outputs to:</text><text x="82.60993194580078" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">maxVoteOptions</text><text x="82.60993194580078" y="50" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">numSignups</text><text x="82.60993194580078" y="75" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">batchStartIndex</text><text x="82.60993194580078" y="100" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">batchEndIndex</text></g></svg>