@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.
- package/.eslintrc.js +157 -0
- package/CHANGELOG.md +566 -0
- package/LICENSE +22 -0
- package/README.md +58 -0
- package/babel.config.js +3 -0
- package/blog/2021-10-12-maci-v1.md +100 -0
- package/blog/2022-09-22-maci-v1-technical-introduction.md +180 -0
- package/blog/2023-01-18-maci-v1.1.1.md +121 -0
- package/blog/2024-01-18-roadmap.md +106 -0
- package/blog/2024-02-28-maci-v1.2.0.md +121 -0
- package/blog/2024-04-10-roadmap-q2.md +96 -0
- package/blog/2024-05-08-ethdam.md +169 -0
- package/blog/2024-05-22-the-origins-of-maci.md +38 -0
- package/blog/2024-05-28-upcoming-grants.md +85 -0
- package/blog/2024-06-17-understanding-maci.md +63 -0
- package/blog/2024-06-21-deciphering-maci.md +48 -0
- package/blog/2024-06-28-revolusioning-public-goods-funding.md +32 -0
- package/blog/2024-07-23-q2-review.md +72 -0
- package/blog/2024-07-30-roadmap-q3.md +61 -0
- package/blog/2024-08-10-maci-v2.md +102 -0
- package/blog/2024-08-29-anonymous-poll-joining.md +47 -0
- package/blog/2024-10-29-q3-review.md +63 -0
- package/blog/2024-11-20-maci-platform.md +93 -0
- package/blog/2024-12-01-maci-getting-started.md +294 -0
- package/blog/2025-03-21-roadmap-2025.md +112 -0
- package/blog/assets/MACI_Bob_SignUp_1.png +0 -0
- package/blog/assets/MACI_Bob_SignUp_2.png +0 -0
- package/blog/assets/MACI_Complex_Message.png +0 -0
- package/blog/assets/MACI_Contracts.png +0 -0
- package/blog/assets/MACI_Sign_Up.png +0 -0
- package/blog/assets/MACI_Simple_Message.png +0 -0
- package/blog/assets/MACI_Verifier_1.png +0 -0
- package/blog/authors.yml +5 -0
- package/docusaurus.config.ts +213 -0
- package/package.json +65 -0
- package/src/components/ActionCard/index.tsx +30 -0
- package/src/components/ActionCard/styles.module.css +96 -0
- package/src/components/HomepageFeatures/index.tsx +91 -0
- package/src/components/HomepageFeatures/styles.module.css +17 -0
- package/src/components/ProjectCard/index.tsx +74 -0
- package/src/components/ProjectCard/styles.module.css +77 -0
- package/src/components/ProjectList/index.tsx +218 -0
- package/src/components/ProjectList/styles.module.css +180 -0
- package/src/content/projects.json +294 -0
- package/src/css/card.module.css +130 -0
- package/src/css/custom.css +91 -0
- package/src/icons/IconDiscord.tsx +16 -0
- package/src/icons/IconGithub.tsx +16 -0
- package/src/icons/IconWebsite.tsx +16 -0
- package/src/pages/blogs.tsx +58 -0
- package/src/pages/index.module.css +152 -0
- package/src/pages/index.tsx +66 -0
- package/src/pages/projects.tsx +44 -0
- package/src/pages/roadmap.md +150 -0
- package/src/pages/typedoc.tsx +11 -0
- package/src/plugins/blog-plugin/index.ts +86 -0
- package/src/react-app-env.d.ts +1 -0
- package/src/scripts/setupSolidityDocs.ts +67 -0
- package/src/scripts/setupTypedoc.ts +112 -0
- package/src/scripts/utils.ts +115 -0
- package/src/utils/getProjectsByFilter.ts +40 -0
- package/static/.nojekyll +0 -0
- package/static/audit_reports/20210922_Hashcloak_audit_report.pdf +0 -0
- package/static/audit_reports/202220930_Hashcloak_audit_report.pdf +0 -0
- package/static/audit_reports/20240223_PSE_Audit_audit_report.pdf +0 -0
- package/static/audit_reports/20240731_PSE_Audit_audit_report.pdf +0 -0
- package/static/fonts/DM_Sans.woff2 +0 -0
- package/static/fonts/Share_Tech_Mono.woff2 +0 -0
- package/static/img/box.png +0 -0
- package/static/img/box_dark.png +0 -0
- package/static/img/chain.png +0 -0
- package/static/img/chain_dark.png +0 -0
- package/static/img/chart.png +0 -0
- package/static/img/chart_dark.png +0 -0
- package/static/img/circuits/MACI-Circuits.excalidraw +39652 -0
- package/static/img/circuits/calculateTotal.svg +21 -0
- package/static/img/circuits/ecdh.svg +21 -0
- package/static/img/circuits/messageToCommand.svg +21 -0
- package/static/img/circuits/messageValidator.svg +21 -0
- package/static/img/circuits/poseidonHasher13.svg +21 -0
- package/static/img/circuits/privToPubkey.svg +21 -0
- package/static/img/circuits/processMessages.svg +21 -0
- package/static/img/circuits/processMessagesInputHasher.svg +21 -0
- package/static/img/circuits/processMessages_2_0.svg +21 -0
- package/static/img/circuits/processOne.svg +21 -0
- package/static/img/circuits/processTopup.svg +21 -0
- package/static/img/circuits/processingAfterPollEnds.svg +21 -0
- package/static/img/circuits/quinBatchLeavesExists.svg +21 -0
- package/static/img/circuits/quinCheckRoot.svg +21 -0
- package/static/img/circuits/quinGeneratePathIndices.svg +21 -0
- package/static/img/circuits/quinSelector.svg +21 -0
- package/static/img/circuits/resultsCommitmentVerifier.svg +21 -0
- package/static/img/circuits/splicer.svg +21 -0
- package/static/img/circuits/tallyInputHasher.svg +21 -0
- package/static/img/circuits/tallyVotes.svg +21 -0
- package/static/img/circuits/unpackElement.svg +21 -0
- package/static/img/circuits/verifySignature.svg +21 -0
- package/static/img/completingAPoll.svg +4 -0
- package/static/img/contracts.svg +16 -0
- package/static/img/coordinatorComponents.svg +21 -0
- package/static/img/favicon.ico +0 -0
- package/static/img/generateProofs.svg +4 -0
- package/static/img/hero.svg +9 -0
- package/static/img/maci-card.png +0 -0
- package/static/img/maci-rpgf-design.jpg +0 -0
- package/static/img/messageProcessingLocal.svg +21 -0
- package/static/img/offlineProcessing.svg +21 -0
- package/static/img/pse-logo-round.png +0 -0
- package/static/img/relayer-diagram.png +0 -0
- package/static/img/tallyCommitments.svg +4 -0
- package/static/img/voteTallyingLocal.svg +21 -0
- package/tsconfig.json +34 -0
- package/versioned_docs/version-v0.x/circuits.md +22 -0
- package/versioned_docs/version-v0.x/contract.md +186 -0
- package/versioned_docs/version-v0.x/faq.md +67 -0
- package/versioned_docs/version-v0.x/introduction.md +119 -0
- package/versioned_docs/version-v0.x/quadratic-vote-tallying-circuit.md +138 -0
- package/versioned_docs/version-v0.x/state-root-transition-circuit.md +230 -0
- package/versioned_docs/version-v1.2/audit.md +160 -0
- package/versioned_docs/version-v1.2/ci-pipeline.md +38 -0
- package/versioned_docs/version-v1.2/circuits.md +508 -0
- package/versioned_docs/version-v1.2/cli.md +689 -0
- package/versioned_docs/version-v1.2/contracts.md +445 -0
- package/versioned_docs/version-v1.2/contributing/code-of-conduct.md +91 -0
- package/versioned_docs/version-v1.2/contributing/contributing.md +129 -0
- package/versioned_docs/version-v1.2/coordinator-processing.md +46 -0
- package/versioned_docs/version-v1.2/deployment.md +122 -0
- package/versioned_docs/version-v1.2/installation.md +175 -0
- package/versioned_docs/version-v1.2/integrating.md +200 -0
- package/versioned_docs/version-v1.2/introduction.md +94 -0
- package/versioned_docs/version-v1.2/key-change.md +182 -0
- package/versioned_docs/version-v1.2/overview.md +47 -0
- package/versioned_docs/version-v1.2/poll-types.md +68 -0
- package/versioned_docs/version-v1.2/primitives.md +216 -0
- package/versioned_docs/version-v1.2/project-ideas.md +14 -0
- package/versioned_docs/version-v1.2/purpose.md +62 -0
- package/versioned_docs/version-v1.2/solidity-docs/MACI.md +345 -0
- package/versioned_docs/version-v1.2/solidity-docs/MessageProcessor.md +266 -0
- package/versioned_docs/version-v1.2/solidity-docs/MessageProcessorFactory.md +26 -0
- package/versioned_docs/version-v1.2/solidity-docs/Poll.md +381 -0
- package/versioned_docs/version-v1.2/solidity-docs/PollFactory.md +50 -0
- package/versioned_docs/version-v1.2/solidity-docs/SignUpToken.md +27 -0
- package/versioned_docs/version-v1.2/solidity-docs/Subsidy.md +218 -0
- package/versioned_docs/version-v1.2/solidity-docs/SubsidyFactory.md +27 -0
- package/versioned_docs/version-v1.2/solidity-docs/Tally.md +311 -0
- package/versioned_docs/version-v1.2/solidity-docs/TallyFactory.md +27 -0
- package/versioned_docs/version-v1.2/solidity-docs/TallyNonQv.md +296 -0
- package/versioned_docs/version-v1.2/solidity-docs/TallyNonQvFactory.md +27 -0
- package/versioned_docs/version-v1.2/solidity-docs/TopupCredit.md +61 -0
- package/versioned_docs/version-v1.2/solidity-docs/VkRegistry.md +457 -0
- package/versioned_docs/version-v1.2/solidity-docs/benchmarks/HasherBenchmarks.md +44 -0
- package/versioned_docs/version-v1.2/solidity-docs/crypto/Hasher.md +125 -0
- package/versioned_docs/version-v1.2/solidity-docs/crypto/IVerifier.md +11 -0
- package/versioned_docs/version-v1.2/solidity-docs/crypto/MockVerifier.md +17 -0
- package/versioned_docs/version-v1.2/solidity-docs/crypto/Pairing.md +85 -0
- package/versioned_docs/version-v1.2/solidity-docs/crypto/PoseidonT3.md +9 -0
- package/versioned_docs/version-v1.2/solidity-docs/crypto/PoseidonT4.md +9 -0
- package/versioned_docs/version-v1.2/solidity-docs/crypto/PoseidonT5.md +9 -0
- package/versioned_docs/version-v1.2/solidity-docs/crypto/PoseidonT6.md +9 -0
- package/versioned_docs/version-v1.2/solidity-docs/crypto/SnarkCommon.md +16 -0
- package/versioned_docs/version-v1.2/solidity-docs/crypto/SnarkConstants.md +40 -0
- package/versioned_docs/version-v1.2/solidity-docs/crypto/Verifier.md +61 -0
- package/versioned_docs/version-v1.2/solidity-docs/gatekeepers/EASGatekeeper.md +121 -0
- package/versioned_docs/version-v1.2/solidity-docs/gatekeepers/FreeForAllSignUpGatekeeper.md +40 -0
- package/versioned_docs/version-v1.2/solidity-docs/gatekeepers/SignUpGatekeeper.md +26 -0
- package/versioned_docs/version-v1.2/solidity-docs/gatekeepers/SignUpTokenGatekeeper.md +93 -0
- package/versioned_docs/version-v1.2/solidity-docs/gatekeepers/hatsGatekeepers/HatsGatekeeperBase.md +79 -0
- package/versioned_docs/version-v1.2/solidity-docs/gatekeepers/hatsGatekeepers/HatsGatekeeperMultiple.md +48 -0
- package/versioned_docs/version-v1.2/solidity-docs/gatekeepers/hatsGatekeepers/HatsGatekeeperSingle.md +42 -0
- package/versioned_docs/version-v1.2/solidity-docs/index.md +4 -0
- package/versioned_docs/version-v1.2/solidity-docs/initialVoiceCreditProxy/ConstantInitialVoiceCreditProxy.md +40 -0
- package/versioned_docs/version-v1.2/solidity-docs/initialVoiceCreditProxy/InitialVoiceCreditProxy.md +26 -0
- package/versioned_docs/version-v1.2/solidity-docs/interfaces/IEAS.md +40 -0
- package/versioned_docs/version-v1.2/solidity-docs/interfaces/IHats.md +103 -0
- package/versioned_docs/version-v1.2/solidity-docs/interfaces/IMPFactory.md +26 -0
- package/versioned_docs/version-v1.2/solidity-docs/interfaces/IMessageProcessor.md +31 -0
- package/versioned_docs/version-v1.2/solidity-docs/interfaces/IPoll.md +217 -0
- package/versioned_docs/version-v1.2/solidity-docs/interfaces/IPollFactory.md +29 -0
- package/versioned_docs/version-v1.2/solidity-docs/interfaces/ITallyFactory.md +28 -0
- package/versioned_docs/version-v1.2/solidity-docs/interfaces/ITallySubsidyFactory.md +27 -0
- package/versioned_docs/version-v1.2/solidity-docs/interfaces/IVerifier.md +25 -0
- package/versioned_docs/version-v1.2/solidity-docs/interfaces/IVkRegistry.md +70 -0
- package/versioned_docs/version-v1.2/solidity-docs/mocks/MockHatsProtocol.md +133 -0
- package/versioned_docs/version-v1.2/solidity-docs/trees/AccQueue.md +464 -0
- package/versioned_docs/version-v1.2/solidity-docs/trees/AccQueueBinary.md +60 -0
- package/versioned_docs/version-v1.2/solidity-docs/trees/AccQueueBinary0.md +40 -0
- package/versioned_docs/version-v1.2/solidity-docs/trees/AccQueueBinaryMaci.md +34 -0
- package/versioned_docs/version-v1.2/solidity-docs/trees/AccQueueQuinary.md +75 -0
- package/versioned_docs/version-v1.2/solidity-docs/trees/AccQueueQuinary0.md +40 -0
- package/versioned_docs/version-v1.2/solidity-docs/trees/AccQueueQuinaryBlankSl.md +40 -0
- package/versioned_docs/version-v1.2/solidity-docs/trees/AccQueueQuinaryMaci.md +40 -0
- package/versioned_docs/version-v1.2/solidity-docs/trees/EmptyBallotRoots.md +13 -0
- package/versioned_docs/version-v1.2/solidity-docs/utilities/CommonUtilities.md +25 -0
- package/versioned_docs/version-v1.2/solidity-docs/utilities/DomainObjs.md +40 -0
- package/versioned_docs/version-v1.2/solidity-docs/utilities/Params.md +36 -0
- package/versioned_docs/version-v1.2/solidity-docs/utilities/Utilities.md +79 -0
- package/versioned_docs/version-v1.2/spec.md +944 -0
- package/versioned_docs/version-v1.2/testing-in-detail.md +209 -0
- package/versioned_docs/version-v1.2/testing.md +472 -0
- package/versioned_docs/version-v1.2/topup.md +43 -0
- package/versioned_docs/version-v1.2/troubleshooting.md +51 -0
- package/versioned_docs/version-v1.2/trusted-setup.md +76 -0
- package/versioned_docs/version-v1.2/typedoc/cli/.nojekyll +1 -0
- package/versioned_docs/version-v1.2/typedoc/cli/index.md +15 -0
- package/versioned_docs/version-v1.2/typedoc/cli/interfaces/AirdropArgs.md +89 -0
- package/versioned_docs/version-v1.2/typedoc/cli/interfaces/DeployArgs.md +154 -0
- package/versioned_docs/version-v1.2/typedoc/cli/interfaces/DeployPollArgs.md +154 -0
- package/versioned_docs/version-v1.2/typedoc/cli/interfaces/DeployedContracts.md +130 -0
- package/versioned_docs/version-v1.2/typedoc/cli/interfaces/GenLocalStateArgs.md +168 -0
- package/versioned_docs/version-v1.2/typedoc/cli/interfaces/GenProofsArgs.md +388 -0
- package/versioned_docs/version-v1.2/typedoc/cli/interfaces/IGenKeypairArgs.md +37 -0
- package/versioned_docs/version-v1.2/typedoc/cli/interfaces/IRegisteredUserArgs.md +63 -0
- package/versioned_docs/version-v1.2/typedoc/cli/interfaces/MergeMessagesArgs.md +76 -0
- package/versioned_docs/version-v1.2/typedoc/cli/interfaces/MergeSignupsArgs.md +76 -0
- package/versioned_docs/version-v1.2/typedoc/cli/interfaces/PollContracts.md +53 -0
- package/versioned_docs/version-v1.2/typedoc/cli/interfaces/ProveOnChainArgs.md +128 -0
- package/versioned_docs/version-v1.2/typedoc/cli/interfaces/PublishArgs.md +154 -0
- package/versioned_docs/version-v1.2/typedoc/cli/interfaces/SignupArgs.md +89 -0
- package/versioned_docs/version-v1.2/typedoc/cli/interfaces/SubsidyData.md +73 -0
- package/versioned_docs/version-v1.2/typedoc/cli/interfaces/TallyData.md +166 -0
- package/versioned_docs/version-v1.2/typedoc/cli/interfaces/TopupArgs.md +89 -0
- package/versioned_docs/version-v1.2/typedoc/cli/interfaces/VerifyArgs.md +128 -0
- package/versioned_docs/version-v1.2/typedoc/cli/modules.md +556 -0
- package/versioned_docs/version-v1.2/typedoc/core/.nojekyll +1 -0
- package/versioned_docs/version-v1.2/typedoc/core/classes/MaciState.md +295 -0
- package/versioned_docs/version-v1.2/typedoc/core/classes/Poll.md +1098 -0
- package/versioned_docs/version-v1.2/typedoc/core/index.md +110 -0
- package/versioned_docs/version-v1.2/typedoc/core/interfaces/BatchSizes.md +50 -0
- package/versioned_docs/version-v1.2/typedoc/core/interfaces/IJsonMaciState.md +77 -0
- package/versioned_docs/version-v1.2/typedoc/core/interfaces/IProcessMessagesCircuitInputs.md +242 -0
- package/versioned_docs/version-v1.2/typedoc/core/interfaces/ISubsidyCircuitInputs.md +198 -0
- package/versioned_docs/version-v1.2/typedoc/core/interfaces/ITallyCircuitInputs.md +231 -0
- package/versioned_docs/version-v1.2/typedoc/core/interfaces/MaxValues.md +37 -0
- package/versioned_docs/version-v1.2/typedoc/core/interfaces/TreeDepths.md +63 -0
- package/versioned_docs/version-v1.2/typedoc/core/modules.md +289 -0
- package/versioned_docs/version-v1.2/typedoc/crypto/.nojekyll +1 -0
- package/versioned_docs/version-v1.2/typedoc/crypto/classes/AccQueue.md +770 -0
- package/versioned_docs/version-v1.2/typedoc/crypto/classes/G1Point.md +115 -0
- package/versioned_docs/version-v1.2/typedoc/crypto/classes/G2Point.md +140 -0
- package/versioned_docs/version-v1.2/typedoc/crypto/classes/IncrementalQuinTree.md +470 -0
- package/versioned_docs/version-v1.2/typedoc/crypto/index.md +44 -0
- package/versioned_docs/version-v1.2/typedoc/crypto/interfaces/Keypair.md +33 -0
- package/versioned_docs/version-v1.2/typedoc/crypto/interfaces/PoseidonFuncs.md +115 -0
- package/versioned_docs/version-v1.2/typedoc/crypto/interfaces/Queue.md +33 -0
- package/versioned_docs/version-v1.2/typedoc/crypto/interfaces/Signature.md +37 -0
- package/versioned_docs/version-v1.2/typedoc/crypto/modules.md +913 -0
- package/versioned_docs/version-v1.2/typedoc/domainobjs/.nojekyll +1 -0
- package/versioned_docs/version-v1.2/typedoc/domainobjs/classes/Ballot.md +274 -0
- package/versioned_docs/version-v1.2/typedoc/domainobjs/classes/Keypair.md +181 -0
- package/versioned_docs/version-v1.2/typedoc/domainobjs/classes/Message.md +244 -0
- package/versioned_docs/version-v1.2/typedoc/domainobjs/classes/PCommand.md +409 -0
- package/versioned_docs/version-v1.2/typedoc/domainobjs/classes/PrivKey.md +206 -0
- package/versioned_docs/version-v1.2/typedoc/domainobjs/classes/PubKey.md +289 -0
- package/versioned_docs/version-v1.2/typedoc/domainobjs/classes/StateLeaf.md +340 -0
- package/versioned_docs/version-v1.2/typedoc/domainobjs/classes/TCommand.md +200 -0
- package/versioned_docs/version-v1.2/typedoc/domainobjs/classes/VerifyingKey.md +240 -0
- package/versioned_docs/version-v1.2/typedoc/domainobjs/index.md +81 -0
- package/versioned_docs/version-v1.2/typedoc/domainobjs/interfaces/ICommand.md +104 -0
- package/versioned_docs/version-v1.2/typedoc/domainobjs/interfaces/IG1ContractParams.md +31 -0
- package/versioned_docs/version-v1.2/typedoc/domainobjs/interfaces/IG2ContractParams.md +31 -0
- package/versioned_docs/version-v1.2/typedoc/domainobjs/interfaces/IJsonBallot.md +42 -0
- package/versioned_docs/version-v1.2/typedoc/domainobjs/interfaces/IJsonCommand.md +32 -0
- package/versioned_docs/version-v1.2/typedoc/domainobjs/interfaces/IJsonKeyPair.md +31 -0
- package/versioned_docs/version-v1.2/typedoc/domainobjs/interfaces/IJsonPCommand.md +111 -0
- package/versioned_docs/version-v1.2/typedoc/domainobjs/interfaces/IJsonStateLeaf.md +42 -0
- package/versioned_docs/version-v1.2/typedoc/domainobjs/interfaces/IJsonTCommand.md +67 -0
- package/versioned_docs/version-v1.2/typedoc/domainobjs/interfaces/IMessageContractParams.md +31 -0
- package/versioned_docs/version-v1.2/typedoc/domainobjs/interfaces/IStateLeaf.md +39 -0
- package/versioned_docs/version-v1.2/typedoc/domainobjs/interfaces/IStateLeafContractParams.md +42 -0
- package/versioned_docs/version-v1.2/typedoc/domainobjs/interfaces/IVkContractParams.md +64 -0
- package/versioned_docs/version-v1.2/typedoc/domainobjs/interfaces/IVkObjectParams.md +108 -0
- package/versioned_docs/version-v1.2/typedoc/domainobjs/interfaces/Proof.md +46 -0
- package/versioned_docs/version-v1.2/typedoc/domainobjs/interfaces/VoteOptionTreeLeaf.md +24 -0
- package/versioned_docs/version-v1.2/typedoc/domainobjs/modules.md +110 -0
- package/versioned_docs/version-v1.2/typedoc/index.md +4 -0
- package/versioned_docs/version-v1.2/versioning.md +94 -0
- package/versioned_docs/version-v1.2/workflow.md +142 -0
- package/versioned_docs/version-v2.x/case-studies.md +35 -0
- package/versioned_docs/version-v2.x/contributing/_category_.json +4 -0
- package/versioned_docs/version-v2.x/contributing/code-of-conduct.md +92 -0
- package/versioned_docs/version-v2.x/contributing/contributing.md +149 -0
- package/versioned_docs/version-v2.x/contributing/project-ideas.md +78 -0
- package/versioned_docs/version-v2.x/core-concepts/_category_.json +4 -0
- package/versioned_docs/version-v2.x/core-concepts/ballot.md +19 -0
- package/versioned_docs/version-v2.x/core-concepts/coordinator-processing.md +46 -0
- package/versioned_docs/version-v2.x/core-concepts/hashing-and-encryption.md +45 -0
- package/versioned_docs/version-v2.x/core-concepts/key-change.md +179 -0
- package/versioned_docs/version-v2.x/core-concepts/maci-keys.md +84 -0
- package/versioned_docs/version-v2.x/core-concepts/maci-messages.md +44 -0
- package/versioned_docs/version-v2.x/core-concepts/merkle-trees.md +23 -0
- package/versioned_docs/version-v2.x/core-concepts/poll-types.md +106 -0
- package/versioned_docs/version-v2.x/core-concepts/spec.md +883 -0
- package/versioned_docs/version-v2.x/core-concepts/state-leaf.md +42 -0
- package/versioned_docs/version-v2.x/core-concepts/workflow.md +142 -0
- package/versioned_docs/version-v2.x/getting-started.md +313 -0
- package/versioned_docs/version-v2.x/guides/_category_.json +4 -0
- package/versioned_docs/version-v2.x/guides/compile-circuits.md +163 -0
- package/versioned_docs/version-v2.x/guides/frontend.md +99 -0
- package/versioned_docs/version-v2.x/guides/integrating.md +73 -0
- package/versioned_docs/version-v2.x/guides/maciWrapper.md +173 -0
- package/versioned_docs/version-v2.x/guides/subgraph.md +79 -0
- package/versioned_docs/version-v2.x/guides/testing/_category_.json +4 -0
- package/versioned_docs/version-v2.x/guides/testing/testing-in-detail.md +203 -0
- package/versioned_docs/version-v2.x/guides/testing/testing.md +163 -0
- package/versioned_docs/version-v2.x/guides/troubleshooting.md +161 -0
- package/versioned_docs/version-v2.x/introduction.md +146 -0
- package/versioned_docs/version-v2.x/processes/_category_.json +4 -0
- package/versioned_docs/version-v2.x/processes/ci-pipeline.md +38 -0
- package/versioned_docs/version-v2.x/processes/versioning.md +94 -0
- package/versioned_docs/version-v2.x/resources.md +33 -0
- package/versioned_docs/version-v2.x/security/_category_.json +4 -0
- package/versioned_docs/version-v2.x/security/audit.md +167 -0
- package/versioned_docs/version-v2.x/security/trusted-setup.md +166 -0
- package/versioned_docs/version-v2.x/supported-networks/_category_.json +4 -0
- package/versioned_docs/version-v2.x/supported-networks/deployed-contracts.md +1108 -0
- package/versioned_docs/version-v2.x/supported-networks/supported-networks.md +47 -0
- package/versioned_docs/version-v2.x/technical-references/_category_.json +4 -0
- package/versioned_docs/version-v2.x/technical-references/smart-contracts/AccQueue.md +21 -0
- package/versioned_docs/version-v2.x/technical-references/smart-contracts/Gatekeepers.md +40 -0
- package/versioned_docs/version-v2.x/technical-references/smart-contracts/MACI.md +152 -0
- package/versioned_docs/version-v2.x/technical-references/smart-contracts/MessageProcessor.md +13 -0
- package/versioned_docs/version-v2.x/technical-references/smart-contracts/Params.md +32 -0
- package/versioned_docs/version-v2.x/technical-references/smart-contracts/Poll.md +104 -0
- package/versioned_docs/version-v2.x/technical-references/smart-contracts/PollFactory.md +43 -0
- package/versioned_docs/version-v2.x/technical-references/smart-contracts/Tally.md +45 -0
- package/versioned_docs/version-v2.x/technical-references/smart-contracts/VkRegistry.md +57 -0
- package/versioned_docs/version-v2.x/technical-references/smart-contracts/VoiceCreditProxy.md +18 -0
- package/versioned_docs/version-v2.x/technical-references/smart-contracts/_category_.json +8 -0
- package/versioned_docs/version-v2.x/technical-references/technical-references.md +47 -0
- package/versioned_docs/version-v2.x/technical-references/typescript-code/_category_.json +4 -0
- package/versioned_docs/version-v2.x/technical-references/typescript-code/cli.md +699 -0
- package/versioned_docs/version-v2.x/technical-references/zk-snark-circuits/_category_.json +4 -0
- package/versioned_docs/version-v2.x/technical-references/zk-snark-circuits/processMessages.md +107 -0
- package/versioned_docs/version-v2.x/technical-references/zk-snark-circuits/setup.md +101 -0
- package/versioned_docs/version-v2.x/technical-references/zk-snark-circuits/tallyVotes.md +79 -0
- package/versioned_docs/version-v2.x/technical-references/zk-snark-circuits/utilities.md +131 -0
- package/versioned_docs/version-v2.x/technical-references/zk-snark-circuits/zk-snark-circuits.md +37 -0
- package/versioned_docs/version-v2.x/use-cases/_category_.json +4 -0
- package/versioned_docs/version-v2.x/use-cases/governance.md +18 -0
- package/versioned_docs/version-v2.x/use-cases/polling.md +10 -0
- package/versioned_docs/version-v2.x/use-cases/public-goods.md +65 -0
- package/versioned_docs/version-v3.x/case-studies.md +35 -0
- package/versioned_docs/version-v3.x/contributing/_category_.json +4 -0
- package/versioned_docs/version-v3.x/contributing/code-of-conduct.md +92 -0
- package/versioned_docs/version-v3.x/contributing/contributing.md +149 -0
- package/versioned_docs/version-v3.x/contributing/project-ideas.md +78 -0
- package/versioned_docs/version-v3.x/core-concepts/_category_.json +4 -0
- package/versioned_docs/version-v3.x/core-concepts/ballot.md +19 -0
- package/versioned_docs/version-v3.x/core-concepts/coordinator-processing.md +46 -0
- package/versioned_docs/version-v3.x/core-concepts/coordinator-service.md +16 -0
- package/versioned_docs/version-v3.x/core-concepts/hashing-and-encryption.md +45 -0
- package/versioned_docs/version-v3.x/core-concepts/key-change.md +179 -0
- package/versioned_docs/version-v3.x/core-concepts/maci-keys.md +84 -0
- package/versioned_docs/version-v3.x/core-concepts/maci-messages.md +44 -0
- package/versioned_docs/version-v3.x/core-concepts/merkle-trees.md +16 -0
- package/versioned_docs/version-v3.x/core-concepts/offchain-voting.md +14 -0
- package/versioned_docs/version-v3.x/core-concepts/poll-types.md +58 -0
- package/versioned_docs/version-v3.x/core-concepts/polls.md +81 -0
- package/versioned_docs/version-v3.x/core-concepts/spec.md +883 -0
- package/versioned_docs/version-v3.x/core-concepts/state-leaf.md +42 -0
- package/versioned_docs/version-v3.x/core-concepts/workflow.md +149 -0
- package/versioned_docs/version-v3.x/guides/_category_.json +4 -0
- package/versioned_docs/version-v3.x/guides/compile-circuits.md +175 -0
- package/versioned_docs/version-v3.x/guides/integrating.md +137 -0
- package/versioned_docs/version-v3.x/guides/subgraph.md +79 -0
- package/versioned_docs/version-v3.x/guides/testing/_category_.json +4 -0
- package/versioned_docs/version-v3.x/guides/testing/testing-in-detail.md +191 -0
- package/versioned_docs/version-v3.x/guides/testing/testing-introduction.md +158 -0
- package/versioned_docs/version-v3.x/guides/troubleshooting.md +161 -0
- package/versioned_docs/version-v3.x/introduction.md +153 -0
- package/versioned_docs/version-v3.x/processes/_category_.json +4 -0
- package/versioned_docs/version-v3.x/processes/ci-pipeline.md +38 -0
- package/versioned_docs/version-v3.x/processes/versioning.md +94 -0
- package/versioned_docs/version-v3.x/quick-start.md +318 -0
- package/versioned_docs/version-v3.x/resources.md +33 -0
- package/versioned_docs/version-v3.x/security/_category_.json +4 -0
- package/versioned_docs/version-v3.x/security/audit.md +167 -0
- package/versioned_docs/version-v3.x/security/trusted-setup.md +172 -0
- package/versioned_docs/version-v3.x/supported-networks/_category_.json +4 -0
- package/versioned_docs/version-v3.x/supported-networks/deployed-contracts.md +112 -0
- package/versioned_docs/version-v3.x/supported-networks/supported-networks.md +53 -0
- package/versioned_docs/version-v3.x/technical-references/_category_.json +4 -0
- package/versioned_docs/version-v3.x/technical-references/coordinator-service/_category_.json +8 -0
- package/versioned_docs/version-v3.x/technical-references/coordinator-service/index.md +10 -0
- package/versioned_docs/version-v3.x/technical-references/coordinator-service/installation.md +43 -0
- package/versioned_docs/version-v3.x/technical-references/offchain-relayer/_category_.json +8 -0
- package/versioned_docs/version-v3.x/technical-references/offchain-relayer/index.md +51 -0
- package/versioned_docs/version-v3.x/technical-references/offchain-relayer/installation.md +109 -0
- package/versioned_docs/version-v3.x/technical-references/smart-contracts/MACI.md +160 -0
- package/versioned_docs/version-v3.x/technical-references/smart-contracts/MessageProcessor.md +13 -0
- package/versioned_docs/version-v3.x/technical-references/smart-contracts/Params.md +33 -0
- package/versioned_docs/version-v3.x/technical-references/smart-contracts/Policies.md +39 -0
- package/versioned_docs/version-v3.x/technical-references/smart-contracts/Poll.md +170 -0
- package/versioned_docs/version-v3.x/technical-references/smart-contracts/PollFactory.md +33 -0
- package/versioned_docs/version-v3.x/technical-references/smart-contracts/Tally.md +43 -0
- package/versioned_docs/version-v3.x/technical-references/smart-contracts/VkRegistry.md +62 -0
- package/versioned_docs/version-v3.x/technical-references/smart-contracts/VoiceCreditProxy.md +18 -0
- package/versioned_docs/version-v3.x/technical-references/smart-contracts/_category_.json +8 -0
- package/versioned_docs/version-v3.x/technical-references/technical-references.md +48 -0
- package/versioned_docs/version-v3.x/technical-references/zk-snark-circuits/_category_.json +4 -0
- package/versioned_docs/version-v3.x/technical-references/zk-snark-circuits/joinPoll.md +53 -0
- package/versioned_docs/version-v3.x/technical-references/zk-snark-circuits/processMessages.md +106 -0
- package/versioned_docs/version-v3.x/technical-references/zk-snark-circuits/setup.md +96 -0
- package/versioned_docs/version-v3.x/technical-references/zk-snark-circuits/tallyVotes.md +79 -0
- package/versioned_docs/version-v3.x/technical-references/zk-snark-circuits/utilities.md +131 -0
- package/versioned_docs/version-v3.x/technical-references/zk-snark-circuits/zk-snark-circuits.md +42 -0
- package/versioned_docs/version-v3.x/use-cases/_category_.json +4 -0
- package/versioned_docs/version-v3.x/use-cases/governance.md +18 -0
- package/versioned_docs/version-v3.x/use-cases/polling.md +10 -0
- package/versioned_docs/version-v3.x/use-cases/public-goods.md +65 -0
- package/versioned_sidebars/version-v0.x-sidebars.json +8 -0
- package/versioned_sidebars/version-v1.2-sidebars.json +8 -0
- package/versioned_sidebars/version-v2.x-sidebars.json +8 -0
- package/versioned_sidebars/version-v3.x-sidebars.json +8 -0
- package/versions.json +1 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2565.347691553326 1499.993768697064" width="5130.695383106652" height="2999.987537394128">
|
|
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="2565.347691553326" height="1499.993768697064" fill="#ffffff"></rect><g stroke-linecap="round" transform="translate(517.8468497956186 613.8964685925898) rotate(0 114.33810379333892 33.80052213620303)"><path d="M16.9 0 C73.19 -3.23, 130.79 -3.18, 211.78 0 M16.9 0 C92.83 0.63, 168.82 1.51, 211.78 0 M211.78 0 C222.82 1.28, 228.34 5.6, 228.68 16.9 M211.78 0 C224.67 0.71, 228.57 3.62, 228.68 16.9 M228.68 16.9 C228.23 26.67, 226.62 37.71, 228.68 50.7 M228.68 16.9 C228.23 25.45, 228.92 32.06, 228.68 50.7 M228.68 50.7 C229.05 63.1, 224.1 66.43, 211.78 67.6 M228.68 50.7 C230 61.15, 221.81 68.99, 211.78 67.6 M211.78 67.6 C166.79 69.94, 125 67.32, 16.9 67.6 M211.78 67.6 C166.5 68.08, 120.87 67.35, 16.9 67.6 M16.9 67.6 C5.93 68.32, 0.16 61.92, 0 50.7 M16.9 67.6 C3.93 65.55, -0.59 60.24, 0 50.7 M0 50.7 C-0.89 42.31, 0.73 38.02, 0 16.9 M0 50.7 C0.6 43.19, 0.56 33.53, 0 16.9 M0 16.9 C1.08 5.82, 5.22 -1.27, 16.9 0 M0 16.9 C-2.25 5.92, 4.31 -1.67, 16.9 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(538.7950381226489 635.196990728793) rotate(0 93.38991546630854 12.5)"><text x="93.3899154663086" 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">Tally Votes Circuit</text></g><g stroke-linecap="round" transform="translate(274.8151306253857 96.12987726788646) rotate(0 70.68038597279167 30.528358897653305)"><path d="M15.26 0 C48.98 -1.4, 83.99 -2.3, 126.1 0 M15.26 0 C47.32 -1.17, 78.38 -0.57, 126.1 0 M126.1 0 C137.99 1.09, 143.33 3.62, 141.36 15.26 M126.1 0 C134.68 -0.75, 139.2 4.28, 141.36 15.26 M141.36 15.26 C139.62 23.34, 142.52 33.63, 141.36 45.79 M141.36 15.26 C141.01 25.61, 141.77 37.12, 141.36 45.79 M141.36 45.79 C142.7 56.52, 135.6 61.53, 126.1 61.06 M141.36 45.79 C141.33 55.8, 134.2 61.54, 126.1 61.06 M126.1 61.06 C93.91 62.22, 63.14 61.16, 15.26 61.06 M126.1 61.06 C91.71 59.65, 58.86 60.74, 15.26 61.06 M15.26 61.06 C4.66 61.69, -0.69 56.3, 0 45.79 M15.26 61.06 C4.76 60.28, 0.8 57.96, 0 45.79 M0 45.79 C-0.82 35.21, 1.73 24.7, 0 15.26 M0 45.79 C-0.84 36.03, 0.86 24.06, 0 15.26 M0 15.26 C-1.27 6.49, 3.31 1.37, 15.26 0 M0 15.26 C0.36 3.93, 5.64 -0.88, 15.26 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(293.11556512112645 114.15823616553979) rotate(0 52.37995147705078 12.5)"><text x="52.37995147705078" 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">stateRoot</text></g><g stroke-linecap="round" transform="translate(30.841281830089997 10) rotate(0 70.68038597279167 30.528358897653305)"><path d="M15.26 0 C48.59 -1.03, 84.37 1.94, 126.1 0 M15.26 0 C44.96 -1.62, 72.54 -1.18, 126.1 0 M126.1 0 C136.52 -0.65, 139.61 4.39, 141.36 15.26 M126.1 0 C135.37 -0.36, 143.09 5.71, 141.36 15.26 M141.36 15.26 C140.49 23.26, 139.65 32.67, 141.36 45.79 M141.36 15.26 C142.03 21.57, 141.94 28.2, 141.36 45.79 M141.36 45.79 C141.9 55.03, 137.29 61.93, 126.1 61.06 M141.36 45.79 C139.28 55.73, 136 59.85, 126.1 61.06 M126.1 61.06 C97.88 62.65, 73.62 60.66, 15.26 61.06 M126.1 61.06 C84.19 61.58, 44.66 61.9, 15.26 61.06 M15.26 61.06 C4.06 59.69, 0.27 55.95, 0 45.79 M15.26 61.06 C6.66 60.16, -0.19 54.83, 0 45.79 M0 45.79 C1.33 39.12, 1.55 33.95, 0 15.26 M0 45.79 C-0.48 37.91, 0.36 29.61, 0 15.26 M0 15.26 C0.82 3.86, 6.23 0.61, 15.26 0 M0 15.26 C2.2 5.15, 6.42 1.98, 15.26 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(49.81171449477608 28.028358897653277) rotate(0 51.70995330810547 12.5)"><text x="51.70995330810547" 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">ballotRoot</text></g><g stroke-linecap="round" transform="translate(198.1205343879002 10.664576425954493) rotate(0 85.38362342154988 30.33022431103332)"><path d="M15.17 0 C45.98 0.14, 79.02 0.25, 155.6 0 M15.17 0 C63.84 1.2, 113.18 0.89, 155.6 0 M155.6 0 C167.59 -0.54, 170.58 3.32, 170.77 15.17 M155.6 0 C166.54 -0.78, 172.74 5.17, 170.77 15.17 M170.77 15.17 C171.55 23.62, 172.09 31.79, 170.77 45.5 M170.77 15.17 C170.66 22.85, 171.12 30.35, 170.77 45.5 M170.77 45.5 C170.42 53.68, 166.08 61.24, 155.6 60.66 M170.77 45.5 C172.23 54.11, 167.91 60.12, 155.6 60.66 M155.6 60.66 C122.55 61.6, 87.3 60.56, 15.17 60.66 M155.6 60.66 C113.52 60.53, 69.27 61.04, 15.17 60.66 M15.17 60.66 C6.02 59.4, 1.48 53.85, 0 45.5 M15.17 60.66 C5.76 62.4, 0.94 55.43, 0 45.5 M0 45.5 C0.29 36.94, 1.16 23.72, 0 15.17 M0 45.5 C0.5 37.99, -0.72 30.6, 0 15.17 M0 15.17 C1.12 5.33, 3.16 -0.24, 15.17 0 M0 15.17 C0.23 5.22, 4.11 1.71, 15.17 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(207.3242185394305 15.99480073698777) rotate(0 76.17993927001953 25)"><text x="76.17993927001953" 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">stateAndBallot</text><text x="76.17993927001953" 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">Salt</text></g><g stroke-linecap="round" transform="translate(386.1956629330326 15.362017250403198) rotate(0 85.38362342154988 30.330224311033334)"><path d="M15.17 0 C55.85 -0.75, 95.26 -0.43, 155.6 0 M15.17 0 C69.82 2.02, 123.89 0.85, 155.6 0 M155.6 0 C163.92 -1.81, 171.61 4.83, 170.77 15.17 M155.6 0 C163.95 -2.21, 170.59 3.82, 170.77 15.17 M170.77 15.17 C169.54 25.36, 171.24 36.89, 170.77 45.5 M170.77 15.17 C169.84 23.57, 170.11 32.37, 170.77 45.5 M170.77 45.5 C169.19 57.42, 167.12 60.43, 155.6 60.66 M170.77 45.5 C168.48 55.19, 163.43 62.57, 155.6 60.66 M155.6 60.66 C100.69 62.71, 46.09 59.35, 15.17 60.66 M155.6 60.66 C105.74 61.78, 54.4 61.42, 15.17 60.66 M15.17 60.66 C3.64 60.83, -1.19 53.7, 0 45.5 M15.17 60.66 C4.15 62.59, 1.29 55.6, 0 45.5 M0 45.5 C-0.29 39.5, 1.06 31.85, 0 15.17 M0 45.5 C0.85 37.67, -0.56 30.39, 0 15.17 M0 15.17 C-1.11 4.23, 4.37 0.76, 15.17 0 M0 15.17 C0.64 4.04, 5.18 0.68, 15.17 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(419.0293290791918 33.19224156143656) 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(580.0951227640153 18.387697500245793) rotate(0 85.38362342154983 30.330224311033334)"><path d="M15.17 0 C50.01 1.75, 90.78 0.04, 155.6 0 M15.17 0 C48.06 -0.12, 82.42 0.3, 155.6 0 M155.6 0 C164.5 1.59, 172.4 5.01, 170.77 15.17 M155.6 0 C167.77 -0.6, 172.25 5.18, 170.77 15.17 M170.77 15.17 C170.44 23.72, 171.68 32.98, 170.77 45.5 M170.77 15.17 C170.76 21.46, 170.99 27.08, 170.77 45.5 M170.77 45.5 C170.26 56.35, 164.21 60.42, 155.6 60.66 M170.77 45.5 C168.69 57.34, 167.31 61.32, 155.6 60.66 M155.6 60.66 C107.81 58.13, 64.83 61.6, 15.17 60.66 M155.6 60.66 C105.03 61.67, 54.03 61.34, 15.17 60.66 M15.17 60.66 C3.49 59.87, 1.07 55.87, 0 45.5 M15.17 60.66 C6.15 59.41, 0.25 54.27, 0 45.5 M0 45.5 C-0.82 34.75, 0.85 25.1, 0 15.17 M0 45.5 C0.32 35.25, -0.58 26.2, 0 15.17 M0 15.17 C0.99 6.89, 3.59 0.67, 15.17 0 M0 15.17 C1.45 2.84, 4.07 -0.85, 15.17 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(587.5988252260922 23.717921811279155) rotate(0 77.87992095947266 25)"><text x="77.87992095947266" 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">stateAndBallot</text><text x="77.87992095947266" 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">TreeCommitment</text></g><g stroke-linecap="round" transform="translate(779.4763061581511 22.61044087758421) rotate(0 123.65868497225415 26.666798360507585)"><path d="M13.33 0 C58.01 1.16, 104.07 0.7, 233.98 0 M13.33 0 C79.02 1.66, 146.9 0.86, 233.98 0 M233.98 0 C244.23 0.84, 245.8 3.28, 247.32 13.33 M233.98 0 C244.38 -0.7, 246.29 3.15, 247.32 13.33 M247.32 13.33 C245.54 22.73, 247.08 29.48, 247.32 40 M247.32 13.33 C248.09 20.99, 248.04 29.59, 247.32 40 M247.32 40 C246.48 50.49, 243.07 55.27, 233.98 53.33 M247.32 40 C247.34 51.18, 245.14 51.19, 233.98 53.33 M233.98 53.33 C153.2 52.76, 74.18 50.34, 13.33 53.33 M233.98 53.33 C158.27 53.13, 84.61 53.27, 13.33 53.33 M13.33 53.33 C5.16 51.69, 0.8 47.65, 0 40 M13.33 53.33 C6.6 54.44, 2.06 48.79, 0 40 M0 40 C0.71 31.71, 0.43 21.16, 0 13.33 M0 40 C-0.38 31.7, -1.02 21.36, 0 13.33 M0 13.33 C1.89 4.01, 2.89 -1.17, 13.33 0 M0 13.33 C-2.17 5.69, 4.12 0.47, 13.33 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(788.7850994678074 36.777239238091795) rotate(0 114.34989166259766 12.5)"><text x="114.34989166259766" 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">currentTallyCommitment</text></g><g stroke-linecap="round" transform="translate(443.82186911028873 95.7860843006215) rotate(0 123.6586849722542 26.666798360507585)"><path d="M13.33 0 C83.1 2.31, 152.09 2.55, 233.98 0 M13.33 0 C86.72 0.11, 158.69 0.31, 233.98 0 M233.98 0 C242.39 1.65, 246.79 5.18, 247.32 13.33 M233.98 0 C241.56 0.3, 248.85 3.22, 247.32 13.33 M247.32 13.33 C245.61 21.82, 247.34 31.65, 247.32 40 M247.32 13.33 C247.95 22.23, 247.26 31.33, 247.32 40 M247.32 40 C249.09 49.32, 242.26 51.59, 233.98 53.33 M247.32 40 C247.45 49.58, 242.06 54.32, 233.98 53.33 M233.98 53.33 C158.33 54.46, 82.58 53.5, 13.33 53.33 M233.98 53.33 C179.37 51.55, 124.23 52.88, 13.33 53.33 M13.33 53.33 C3.58 54.55, 0.57 48.98, 0 40 M13.33 53.33 C4.76 52.79, 2.12 48.99, 0 40 M0 40 C-0.19 31.88, -1.26 19.71, 0 13.33 M0 40 C0.76 31.7, 0.48 23.35, 0 13.33 M0 13.33 C-0.36 5.2, 2.75 0.89, 13.33 0 M0 13.33 C-2.25 4.94, 5.93 1.77, 13.33 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(471.9906401421132 109.95288266112908) rotate(0 95.48991394042963 12.5)"><text x="95.48991394042969" 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">newTallyCommitment</text></g><g stroke-linecap="round" transform="translate(736.600807174364 97.75711065710146) rotate(0 138.97283739642387 29.94840245140105)"><path d="M14.97 0 C114.23 -1.38, 212.47 0.75, 262.97 0 M14.97 0 C101.45 -1.81, 188.95 -1.89, 262.97 0 M262.97 0 C271.47 -0.37, 279.45 3.12, 277.95 14.97 M262.97 0 C274.65 -0.94, 280.2 3.21, 277.95 14.97 M277.95 14.97 C277.29 23.02, 277.09 30.57, 277.95 44.92 M277.95 14.97 C278.67 26.9, 276.83 36.99, 277.95 44.92 M277.95 44.92 C277.58 54.45, 271.64 60.67, 262.97 59.9 M277.95 44.92 C276.02 54.59, 272.51 59.48, 262.97 59.9 M262.97 59.9 C190.72 59.72, 120.04 59.96, 14.97 59.9 M262.97 59.9 C174.52 61.15, 87.39 61.05, 14.97 59.9 M14.97 59.9 C4.9 58.17, 0.93 54.95, 0 44.92 M14.97 59.9 C3.91 60.84, -0.77 54.88, 0 44.92 M0 44.92 C-0.99 34.19, -0.82 25.95, 0 14.97 M0 44.92 C1 37.9, -0.33 32.67, 0 14.97 M0 14.97 C1.21 5.55, 5.31 0.81, 14.97 0 M0 14.97 C-1.38 4.59, 2.78 -0.99, 14.97 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(763.7237605375849 115.20551310850243) 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" transform="translate(10 269.61822553049905) rotate(0 70.68038597279167 30.528358897653277)"><path d="M15.26 0 C57.79 -0.95, 96.94 0.94, 126.1 0 M15.26 0 C40.34 -1.34, 63.68 -1, 126.1 0 M126.1 0 C138.16 -1.44, 140.17 5.34, 141.36 15.26 M126.1 0 C137.31 1.07, 142.83 4.62, 141.36 15.26 M141.36 15.26 C142.65 25.91, 141.39 34.44, 141.36 45.79 M141.36 15.26 C141.24 22.37, 140.64 27.8, 141.36 45.79 M141.36 45.79 C143.12 57.23, 135.16 60.01, 126.1 61.06 M141.36 45.79 C139.75 54.3, 133.98 59.27, 126.1 61.06 M126.1 61.06 C84.94 62.38, 40.74 61.07, 15.26 61.06 M126.1 61.06 C98.32 61.86, 68.64 62.15, 15.26 61.06 M15.26 61.06 C5 59.24, 1.73 57.35, 0 45.79 M15.26 61.06 C5.61 59.85, -0.25 54.97, 0 45.79 M0 45.79 C1.33 35.77, 1.09 25.46, 0 15.26 M0 45.79 C-0.59 34.95, 0.31 26.16, 0 15.26 M0 15.26 C-0.93 6.33, 4.2 0.54, 15.26 0 M0 15.26 C1.73 6.29, 6.32 1.46, 15.26 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(42.050419236951825 275.14658442815227) rotate(0 38.629966735839844 25)"><text x="38.629966735839844" 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">ballots </text><text x="38.629966735839844" 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">(array)</text></g><g stroke-linecap="round" transform="translate(12.063901943958285 182.38947377105058) rotate(0 110.05757116156974 32.177416550875904)"><path d="M16.09 0 C83.18 1.32, 152.18 0.58, 204.03 0 M16.09 0 C79.57 0.71, 144.42 2.63, 204.03 0 M204.03 0 C215.49 0.2, 218.4 4.81, 220.12 16.09 M204.03 0 C214.79 -1.03, 221.51 3.92, 220.12 16.09 M220.12 16.09 C221.03 24.27, 218.87 35.08, 220.12 48.27 M220.12 16.09 C219.79 24.06, 219.06 33.52, 220.12 48.27 M220.12 48.27 C221.45 58.16, 213.02 64.67, 204.03 64.35 M220.12 48.27 C220.85 61.21, 215.51 62.89, 204.03 64.35 M204.03 64.35 C159.53 63.62, 111.39 61.97, 16.09 64.35 M204.03 64.35 C134.3 64.53, 62.81 64.19, 16.09 64.35 M16.09 64.35 C4.43 64.88, -1.6 60.09, 0 48.27 M16.09 64.35 C6.7 66.08, 1.09 56.84, 0 48.27 M0 48.27 C1.09 40.28, -0.58 29.95, 0 16.09 M0 48.27 C-0.85 36.58, 0.51 23.9, 0 16.09 M0 16.09 C-0.1 6.52, 4.2 1.88, 16.09 0 M0 16.09 C-1.46 4.52, 6.52 -0.02, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(27.661557944395213 202.0668903219265) rotate(0 94.45991516113281 12.5)"><text x="94.45991516113281" 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">ballotPathElements</text></g><g stroke-linecap="round" transform="translate(191.8132500471637 269.5274138449651) rotate(0 70.68038597279167 30.528358897653277)"><path d="M15.26 0 C47.83 -1.16, 85.47 -0.08, 126.1 0 M15.26 0 C56.88 -0.3, 99.45 -0.2, 126.1 0 M126.1 0 C136.08 0.8, 141.62 6.56, 141.36 15.26 M126.1 0 C136.45 1.14, 142.08 3.09, 141.36 15.26 M141.36 15.26 C139.82 27.87, 140.67 37.85, 141.36 45.79 M141.36 15.26 C140.71 24.08, 141.84 33.9, 141.36 45.79 M141.36 45.79 C140.58 54.26, 134.28 59.86, 126.1 61.06 M141.36 45.79 C143.45 53.92, 134.17 59.28, 126.1 61.06 M126.1 61.06 C86.47 62.45, 44.91 60.01, 15.26 61.06 M126.1 61.06 C87.53 61.72, 47.38 60.27, 15.26 61.06 M15.26 61.06 C6.95 61.87, 0.02 54.51, 0 45.79 M15.26 61.06 C4.89 61.8, 2.04 54.27, 0 45.79 M0 45.79 C-1.42 40.42, -0.76 32.1, 0 15.26 M0 45.79 C0.93 39.16, 0.61 31.88, 0 15.26 M0 15.26 C1.46 5.13, 5.56 0.1, 15.26 0 M0 15.26 C-1.16 5.36, 3.95 2.03, 15.26 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(228.333662875424 275.05577274261833) rotate(0 34.15997314453125 25)"><text x="34.15997314453125" 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">votes </text><text x="34.15997314453125" 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">(array)</text></g><g stroke-linecap="round" transform="translate(23.202780735500482 96.60751727431688) rotate(0 110.05757116156974 32.177416550875904)"><path d="M16.09 0 C70.78 -0.01, 123.49 -1.25, 204.03 0 M16.09 0 C57.49 1.26, 97.94 0.87, 204.03 0 M204.03 0 C216.35 -1.48, 220.29 6.79, 220.12 16.09 M204.03 0 C215.25 0.57, 217.87 4.82, 220.12 16.09 M220.12 16.09 C219.53 28.87, 221.91 38.86, 220.12 48.27 M220.12 16.09 C220.92 25.05, 219.69 33.47, 220.12 48.27 M220.12 48.27 C221.29 58.04, 214.98 64.44, 204.03 64.35 M220.12 48.27 C220.71 59.67, 215.4 63.93, 204.03 64.35 M204.03 64.35 C139.43 63.73, 74.64 62.33, 16.09 64.35 M204.03 64.35 C135.19 64.21, 65.05 65.58, 16.09 64.35 M16.09 64.35 C4.03 64.05, 1.83 57.97, 0 48.27 M16.09 64.35 C4.38 66.31, 0.48 59.87, 0 48.27 M0 48.27 C1.05 37.43, 0.81 28.06, 0 16.09 M0 48.27 C0.18 41.54, -0.41 34.98, 0 16.09 M0 16.09 C1.1 6.76, 6.39 1.34, 16.09 0 M0 16.09 C0.25 4.87, 3.25 -0.73, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(61.10042452890616 116.28493382519275) rotate(0 72.15992736816406 12.5)"><text x="72.15992736816406" 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">currentResults</text></g><g stroke-linecap="round" transform="translate(266.99087835584 181.52057105264402) rotate(0 110.05757116156974 32.177416550875904)"><path d="M16.09 0 C65.89 -1.89, 116.14 -1, 204.03 0 M16.09 0 C68.97 0.33, 123.11 -0.1, 204.03 0 M204.03 0 C214.71 0.52, 222.09 6.43, 220.12 16.09 M204.03 0 C216.03 1.73, 222.11 4.66, 220.12 16.09 M220.12 16.09 C220.26 25.19, 219.24 32.17, 220.12 48.27 M220.12 16.09 C220.28 25.83, 219.81 35.62, 220.12 48.27 M220.12 48.27 C220.72 59.56, 215.91 64.52, 204.03 64.35 M220.12 48.27 C218.71 58.27, 214.81 66.25, 204.03 64.35 M204.03 64.35 C149.82 63.15, 94.3 61.63, 16.09 64.35 M204.03 64.35 C139.92 63.99, 75.03 64.9, 16.09 64.35 M16.09 64.35 C5.74 63.29, 1.05 57.65, 0 48.27 M16.09 64.35 C6.79 63.52, -2.1 59.77, 0 48.27 M0 48.27 C-1.89 37.49, -1.67 28.13, 0 16.09 M0 48.27 C0.84 39.12, 0.16 29.78, 0 16.09 M0 16.09 C1.78 4.74, 6.96 0.26, 16.09 0 M0 16.09 C0.76 4.25, 6.86 0.69, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(275.2985486995386 188.6979876035199) rotate(0 101.7499008178711 25)"><text x="101.7499008178711" 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">currentResultsRootS</text><text x="101.7499008178711" 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">alt</text></g><g stroke-linecap="round" transform="translate(780.0769016238432 175.80356266788) rotate(0 110.05757116156974 32.177416550875904)"><path d="M16.09 0 C79.37 0.34, 141.5 0.53, 204.03 0 M16.09 0 C65.96 0.48, 113.49 1.17, 204.03 0 M204.03 0 C214.37 1.73, 219.4 4.71, 220.12 16.09 M204.03 0 C216.32 -2.11, 222.25 5.8, 220.12 16.09 M220.12 16.09 C220.05 23.57, 217.81 32.69, 220.12 48.27 M220.12 16.09 C219.87 25.07, 220.57 34.21, 220.12 48.27 M220.12 48.27 C221.32 58.9, 214.11 63.5, 204.03 64.35 M220.12 48.27 C220.6 60.76, 216.03 65.08, 204.03 64.35 M204.03 64.35 C130.51 66.05, 58.6 63.28, 16.09 64.35 M204.03 64.35 C154.8 64.11, 106.38 63.69, 16.09 64.35 M16.09 64.35 C5.32 65.88, 1.71 57.22, 0 48.27 M16.09 64.35 C6.35 62.11, -0.84 59.55, 0 48.27 M0 48.27 C-1.33 35.09, 0.11 23.74, 0 16.09 M0 48.27 C0.51 39.91, -0.62 30.93, 0 16.09 M0 16.09 C1.57 5.29, 5.3 -0.66, 16.09 0 M0 16.09 C-1.16 3.15, 5.58 -2.12, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(788.6445741037724 182.98097921875592) rotate(0 101.48989868164062 25)"><text x="101.48989868164062" 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">currentSpentVoiceCre</text><text x="101.48989868164062" 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">ditSubtotal</text></g><g stroke-linecap="round" transform="translate(357.00796164157634 272.56240595327967) rotate(0 124.30262237876906 30)"><path d="M15 0 C68.9 0.06, 122.61 2.11, 233.61 0 M15 0 C68.93 -0.04, 124.5 -0.57, 233.61 0 M233.61 0 C245.22 1.25, 248.92 4.21, 248.61 15 M233.61 0 C241.83 -0.93, 247.41 5.58, 248.61 15 M248.61 15 C250.22 20.79, 249.96 27.07, 248.61 45 M248.61 15 C247.62 24.44, 248.39 32.21, 248.61 45 M248.61 45 C248.38 53.75, 244.14 58.13, 233.61 60 M248.61 45 C246.77 56.79, 243.14 60.55, 233.61 60 M233.61 60 C172.18 59.48, 111.85 60.04, 15 60 M233.61 60 C155.73 61.78, 79.42 61.99, 15 60 M15 60 C4.86 60.42, 0.92 53.1, 0 45 M15 60 C6.66 59.58, 1.68 53.93, 0 45 M0 45 C0.37 34.7, -1.4 28.01, 0 15 M0 45 C-0.46 33.79, -1.12 22.94, 0 15 M0 15 C-1.81 5.96, 5.09 1.64, 15 0 M0 15 C-1.53 5.71, 5.38 -1.21, 15 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(366.29070181819714 277.56240595327967) rotate(0 115.0198822021485 25)"><text x="115.01988220214844" 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">currentSpentVoiceCredit</text><text x="115.01988220214844" 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">SubtotalSalt</text></g><g stroke-linecap="round" transform="translate(517.2472446685452 177.551816608284) rotate(0 110.0575711615698 32.177416550875904)"><path d="M16.09 0 C61.23 -0.09, 109.08 0.32, 204.03 0 M16.09 0 C70.33 1.35, 123.02 -0.02, 204.03 0 M204.03 0 C216.01 0.39, 220.61 3.63, 220.12 16.09 M204.03 0 C213.31 0.76, 218.23 4.35, 220.12 16.09 M220.12 16.09 C221.37 22.89, 220.15 28.56, 220.12 48.27 M220.12 16.09 C219.77 23.84, 220.02 32.9, 220.12 48.27 M220.12 48.27 C219.49 57.17, 215.81 64.34, 204.03 64.35 M220.12 48.27 C218.01 57.64, 216.31 62.45, 204.03 64.35 M204.03 64.35 C151.78 62.38, 95.8 62.45, 16.09 64.35 M204.03 64.35 C163.11 65.18, 121.36 66.7, 16.09 64.35 M16.09 64.35 C5.88 63.34, 1.21 58.66, 0 48.27 M16.09 64.35 C5.46 65.52, 0.79 58.08, 0 48.27 M0 48.27 C0.44 37.54, -0.86 27.51, 0 16.09 M0 48.27 C0.14 39.59, 0.81 29.88, 0 16.09 M0 16.09 C1.33 3.95, 5.84 1.39, 16.09 0 M0 16.09 C-1.04 3.55, 5.59 0.93, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(523.7049165381228 184.72923315915995) rotate(0 103.59989929199213 25)"><text x="103.59989929199219" 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">currentPerVOSpentVoi</text><text x="103.59989929199219" 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">ceCredits</text></g><g stroke-linecap="round" transform="translate(643.7355392059662 277.8686735514718) rotate(0 110.05757116156974 32.17741655087593)"><path d="M16.09 0 C72.42 1.09, 132.82 2.62, 204.03 0 M16.09 0 C87.57 2.27, 159.73 0.53, 204.03 0 M204.03 0 C216.08 -0.92, 218.48 6.01, 220.12 16.09 M204.03 0 C212.82 -2.26, 219.87 7.6, 220.12 16.09 M220.12 16.09 C221.13 30.26, 218.72 42.26, 220.12 48.27 M220.12 16.09 C219.42 27.31, 219.68 40.04, 220.12 48.27 M220.12 48.27 C221.7 58.5, 213.46 65.32, 204.03 64.35 M220.12 48.27 C218.78 60.79, 214.1 62.66, 204.03 64.35 M204.03 64.35 C163.89 66.3, 128.12 65.33, 16.09 64.35 M204.03 64.35 C139.81 63.51, 74.48 63.96, 16.09 64.35 M16.09 64.35 C4.99 63.02, 0.73 60.81, 0 48.27 M16.09 64.35 C7.01 63.6, 0.77 60.67, 0 48.27 M0 48.27 C0.5 41.89, 1.58 29.75, 0 16.09 M0 48.27 C-0.62 36.33, 0.48 24.43, 0 16.09 M0 16.09 C-1.19 3.74, 6.05 0.25, 16.09 0 M0 16.09 C1.73 5.92, 3.31 -1.52, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(650.1932110755438 285.0460901023477) rotate(0 103.59989929199219 25)"><text x="103.59989929199219" 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">currentPerVOSpentVoi</text><text x="103.59989929199219" 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">ceCreditsRootSalt</text></g><g stroke-linecap="round" transform="translate(266.6111203981519 366.3131925497832) rotate(0 110.05757116156974 32.17741655087593)"><path d="M16.09 0 C83.96 0.81, 156.53 -0.12, 204.03 0 M16.09 0 C88.61 -0.39, 160.94 -1.67, 204.03 0 M204.03 0 C214.24 -0.96, 219.67 4.83, 220.12 16.09 M204.03 0 C215.47 1.54, 220.87 6.46, 220.12 16.09 M220.12 16.09 C219.8 27.04, 221.71 41.22, 220.12 48.27 M220.12 16.09 C219.39 23.48, 220.34 31.46, 220.12 48.27 M220.12 48.27 C220.44 60.43, 214.44 64.12, 204.03 64.35 M220.12 48.27 C220.45 61, 216.18 66.24, 204.03 64.35 M204.03 64.35 C141.09 63.98, 79.78 64.58, 16.09 64.35 M204.03 64.35 C161.19 65.2, 120.25 66.06, 16.09 64.35 M16.09 64.35 C6.29 65.46, -0.15 58.31, 0 48.27 M16.09 64.35 C6.57 63.95, -0.88 57.68, 0 48.27 M0 48.27 C0.76 37.31, -1.83 25.81, 0 16.09 M0 48.27 C-0.46 39.27, -0.92 29.67, 0 16.09 M0 16.09 C-1.57 7.04, 3.41 1.28, 16.09 0 M0 16.09 C-1.62 7.52, 3.96 1.5, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(278.82877914517087 385.9906091006591) rotate(0 97.83991241455078 12.5)"><text x="97.83991241455078" 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">newResultsRootSalt</text></g><g stroke-linecap="round" transform="translate(13.593253284431626 365.0377011484165) rotate(0 110.05757116156974 32.17741655087593)"><path d="M16.09 0 C62.57 0.23, 108.35 -2.36, 204.03 0 M16.09 0 C85.33 -1.79, 155.08 -2.25, 204.03 0 M204.03 0 C215.58 -1.57, 221.79 3.41, 220.12 16.09 M204.03 0 C216.22 -1.62, 222.27 3.96, 220.12 16.09 M220.12 16.09 C219.34 26.15, 220.76 40.67, 220.12 48.27 M220.12 16.09 C219.5 23.64, 220.48 29.53, 220.12 48.27 M220.12 48.27 C219.9 57.03, 216.3 63.6, 204.03 64.35 M220.12 48.27 C219.65 59.53, 214.89 63.06, 204.03 64.35 M204.03 64.35 C159.48 61.28, 118.45 65.15, 16.09 64.35 M204.03 64.35 C153.03 63.85, 101.79 65.21, 16.09 64.35 M16.09 64.35 C6.8 63.63, 0.54 58.72, 0 48.27 M16.09 64.35 C5.03 64.93, 1.88 60.91, 0 48.27 M0 48.27 C-1.25 37.25, 1.75 23.64, 0 16.09 M0 48.27 C1.26 37.07, 1.22 25.03, 0 16.09 M0 16.09 C-1.78 5.7, 5.98 1.33, 16.09 0 M0 16.09 C1.45 4.22, 7.57 -1.42, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(21.980917829790428 372.2151176992924) rotate(0 101.66990661621094 25)"><text x="101.66990661621094" 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">newPerVOSpentVoiceC</text><text x="101.66990661621094" 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">reditsRootSalt</text></g><g stroke-linecap="round" transform="translate(536.9657638411214 357.1018915839049) rotate(0 110.0575711615698 32.17741655087593)"><path d="M16.09 0 C56.85 -0.66, 92.06 -0.56, 204.03 0 M16.09 0 C77.78 -0.22, 139.85 -1.67, 204.03 0 M204.03 0 C214.34 -1.28, 220.06 7.29, 220.12 16.09 M204.03 0 C216.77 -0.68, 220.46 6.32, 220.12 16.09 M220.12 16.09 C221.51 24.68, 219.77 36.4, 220.12 48.27 M220.12 16.09 C220.67 26.31, 219.88 36.25, 220.12 48.27 M220.12 48.27 C219.24 57.49, 215.44 66.04, 204.03 64.35 M220.12 48.27 C219.98 60.14, 213.63 64.56, 204.03 64.35 M204.03 64.35 C136.25 63.98, 73.13 65.62, 16.09 64.35 M204.03 64.35 C143.14 64.68, 81.74 64.59, 16.09 64.35 M16.09 64.35 C7.01 62.76, -0.83 57.28, 0 48.27 M16.09 64.35 C5.28 66.37, -0.34 58.03, 0 48.27 M0 48.27 C-0.93 39.81, 1.32 27.22, 0 16.09 M0 48.27 C0.63 37.12, -0.63 25.77, 0 16.09 M0 16.09 C1.96 4.84, 7.29 -0.61, 16.09 0 M0 16.09 C1.12 5.5, 6.25 1.44, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(544.7834363210505 364.2793081347808) rotate(0 102.23989868164057 25)"><text x="102.23989868164062" 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">newSpentVoiceCreditS</text><text x="102.23989868164062" 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">ubtotalSalt</text></g><g stroke-linecap="round"><g transform="translate(588.359957435367 475.5060823760983) rotate(0 -0.5737647404203017 40.173851339145926)"><path d="M-1.16 -0.97 C-1.45 12.37, -2.28 67.64, -2.11 81.17 M0.42 1.13 C0.55 14.65, 0.23 66.09, 0.1 79.47" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(588.359957435367 475.5060823760983) rotate(0 -0.5737647404203017 40.173851339145926)"><path d="M-8.28 55.92 C-7.46 60.64, -2.25 70.22, 0.1 79.47 M-8.28 55.92 C-6.85 63.32, -3.39 69.98, 0.1 79.47" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(588.359957435367 475.5060823760983) rotate(0 -0.5737647404203017 40.173851339145926)"><path d="M8.82 56.04 C5.11 60.57, 5.78 70.11, 0.1 79.47 M8.82 56.04 C5.34 63.43, 3.89 70.05, 0.1 79.47" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g transform="translate(649.1512625237958 497.939590852403) 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"><g transform="translate(801.5081075393834 625.747776767402) rotate(0 115.11289570814108 -11.985195439505617)"><path d="M0.11 -0.41 C38.68 -4.43, 192.34 -19.1, 230.8 -23.08 M-1.29 -1.67 C37.22 -5.5, 191.52 -21.16, 230.16 -24.74" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(801.5081075393834 625.747776767402) rotate(0 115.11289570814108 -11.985195439505617)"><path d="M207.61 -13.94 C212.49 -15.71, 220.31 -18.21, 230.16 -24.74 M207.61 -13.94 C213.06 -17.74, 219.12 -19.89, 230.16 -24.74" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(801.5081075393834 625.747776767402) rotate(0 115.11289570814108 -11.985195439505617)"><path d="M205.95 -30.96 C211.39 -28.46, 219.63 -26.69, 230.16 -24.74 M205.95 -30.96 C211.98 -30.12, 218.49 -27.63, 230.16 -24.74" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(1068.4076690157722 76.6330906873581) rotate(0 134.7272739645182 56.817925724212444)"><path d="M28.41 0 C86.16 1.01, 147.05 1.74, 241.05 0 M28.41 0 C75.39 0.01, 122.67 1.1, 241.05 0 M241.05 0 C259.6 0.79, 267.67 10.83, 269.45 28.41 M241.05 0 C259.58 -0.4, 271.25 10.56, 269.45 28.41 M269.45 28.41 C270.4 45.7, 270.87 65.99, 269.45 85.23 M269.45 28.41 C270.23 39.88, 269.12 51.99, 269.45 85.23 M269.45 85.23 C271.07 102.26, 260.32 113.6, 241.05 113.64 M269.45 85.23 C267.9 104.25, 259.2 113.62, 241.05 113.64 M241.05 113.64 C177.15 110.22, 115.77 112.46, 28.41 113.64 M241.05 113.64 C188.13 111.72, 134.98 112.72, 28.41 113.64 M28.41 113.64 C7.8 113.82, 0.26 102.73, 0 85.23 M28.41 113.64 C9.28 112.34, -0.56 105.76, 0 85.23 M0 85.23 C0.51 73.16, -0.11 62.23, 0 28.41 M0 85.23 C-0.36 65.35, 1.5 45.67, 0 28.41 M0 28.41 C1.83 8.51, 8.74 0.1, 28.41 0 M0 28.41 C-0.15 8.05, 7.58 -1.77, 28.41 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1076.845041246892 95.95101641157055) rotate(0 126.28990173339844 37.5)"><text x="126.28990173339844" 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 state and ballot</text><text x="126.28990173339844" 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">root commitment </text><text x="126.28990173339844" 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">(sbCommitment)</text></g><g transform="translate(835.4534528920151 506.9384420969274) 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"><g transform="translate(1338.8622169448086 128.2381131764094) rotate(0 61.8100949426514 -3.1920893994773394)"><path d="M0.08 -0.98 C20.85 -2.2, 102.91 -5.51, 123.62 -6.24 M-1.34 1.13 C19.36 0.63, 101.79 -3.25, 122.68 -4.62" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(1338.8622169448086 128.2381131764094) rotate(0 61.8100949426514 -3.1920893994773394)"><path d="M99.69 5.2 C102.9 3.08, 109.69 2.18, 122.68 -4.62 M99.69 5.2 C108.94 1.95, 117.25 -2.92, 122.68 -4.62" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(1338.8622169448086 128.2381131764094) rotate(0 61.8100949426514 -3.1920893994773394)"><path d="M98.75 -11.88 C102.32 -10.33, 109.32 -7.58, 122.68 -4.62 M98.75 -11.88 C108.42 -8.52, 117.09 -6.77, 122.68 -4.62" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(1480.9262539797019 70.53188686001079) rotate(0 160.23457477676288 53.48255786656648)"><path d="M26.74 0 C79.67 0.93, 134.69 1.03, 293.73 0 M26.74 0 C121.26 1.11, 213.56 -0.03, 293.73 0 M293.73 0 C312.37 -1.81, 320.44 7.51, 320.47 26.74 M293.73 0 C313.56 1.09, 321.18 8.58, 320.47 26.74 M320.47 26.74 C319.12 38.43, 319.88 51.03, 320.47 80.22 M320.47 26.74 C320.63 42.43, 320.66 57.78, 320.47 80.22 M320.47 80.22 C319.51 98.79, 310.94 107.05, 293.73 106.97 M320.47 80.22 C318.91 100, 310.68 105.24, 293.73 106.97 M293.73 106.97 C201.59 107.5, 110.24 105.85, 26.74 106.97 M293.73 106.97 C216.12 108.51, 138.86 108.58, 26.74 106.97 M26.74 106.97 C7.28 107.33, -1.39 96.09, 0 80.22 M26.74 106.97 C9.22 106.43, -1.95 98.84, 0 80.22 M0 80.22 C-1.98 61.52, 1.28 44.09, 0 26.74 M0 80.22 C-0.5 63.88, 0.68 49.92, 0 26.74 M0 26.74 C0.02 7.43, 9.25 1.56, 26.74 0 M0 26.74 C-1.13 6.67, 6.7 1.3, 26.74 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1519.9909297696483 86.51444472657727) rotate(0 121.16989898681652 37.5)"><text x="121.1698989868164" 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">hash3( stateTreeRoot, </text><text x="121.1698989868164" 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">ballotTreeRoot, </text><text x="121.1698989868164" 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">saltAndBallotSalt)</text></g><g stroke-linecap="round" transform="translate(1081.0231174443206 208.7300319126395) rotate(0 126.89967642472766 59.3983285600263)"><path d="M29.7 0 C77.93 2.41, 126.27 1.32, 224.1 0 M29.7 0 C85.82 -0.22, 141.51 0.75, 224.1 0 M224.1 0 C242.55 0.37, 252.33 8.92, 253.8 29.7 M224.1 0 C245.71 0.76, 255.17 7.76, 253.8 29.7 M253.8 29.7 C253.9 49.4, 254.23 68.91, 253.8 89.1 M253.8 29.7 C253.55 42.41, 252.79 53.23, 253.8 89.1 M253.8 89.1 C254.96 107.95, 244.89 120.31, 224.1 118.8 M253.8 89.1 C252.73 109.94, 242.63 119.29, 224.1 118.8 M224.1 118.8 C170.85 116.88, 116.6 117.62, 29.7 118.8 M224.1 118.8 C185.27 117.42, 145.58 118.04, 29.7 118.8 M29.7 118.8 C10.02 120.07, -1.64 110.86, 0 89.1 M29.7 118.8 C9.38 120.42, 2.1 110.7, 0 89.1 M0 89.1 C-0.89 74.2, 1.63 63.04, 0 29.7 M0 89.1 C-0.27 68.48, -0.28 48.83, 0 29.7 M0 29.7 C-0.18 8.23, 11.44 0.22, 29.7 0 M0 29.7 C0.83 11.46, 10.67 1.03, 29.7 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1089.592898849517 243.1283604726658) rotate(0 118.32989501953125 25.00000000000003)"><text x="118.32989501953125" 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 the inputHash </text><text x="118.32989501953125" 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 only public input)</text></g><g stroke-linecap="round"><g transform="translate(1340.4632814593897 262.09322484973836) rotate(0 56.497890677715304 -3.8876755950670656)"><path d="M0.39 -0.06 C19.12 -1.55, 94.56 -6.82, 113.41 -8.17 M-0.87 -1.14 C17.66 -2.53, 93.71 -5.85, 112.68 -6.84" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(1340.4632814593897 262.09322484973836) rotate(0 56.497890677715304 -3.8876755950670656)"><path d="M89.62 2.82 C98.27 -0.25, 106.53 -3.81, 112.68 -6.84 M89.62 2.82 C95.9 0.19, 102.23 -1.52, 112.68 -6.84" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(1340.4632814593897 262.09322484973836) rotate(0 56.497890677715304 -3.8876755950670656)"><path d="M88.81 -14.26 C97.88 -10.81, 106.45 -7.84, 112.68 -6.84 M88.81 -14.26 C95.46 -12.33, 102.01 -9.48, 112.68 -6.84" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(1473.4984936328037 214.19739367915025) rotate(0 110.05757116156974 55)"><path d="M27.5 0 C61.25 -0.49, 96.05 0.35, 192.62 0 M27.5 0 C86.67 1.74, 145.18 1.46, 192.62 0 M192.62 0 C210.42 -0.89, 220.95 7.96, 220.12 27.5 M192.62 0 C212.42 0.79, 220.27 7.8, 220.12 27.5 M220.12 27.5 C220.14 49.71, 220.45 69.04, 220.12 82.5 M220.12 27.5 C219.57 48.66, 220.31 69.48, 220.12 82.5 M220.12 82.5 C221.82 101.29, 212.49 108.55, 192.62 110 M220.12 82.5 C218.6 102.41, 208.83 109.57, 192.62 110 M192.62 110 C148.75 109.11, 100.62 108.72, 27.5 110 M192.62 110 C131.86 109.64, 73.51 109.87, 27.5 110 M27.5 110 C7.9 110.27, 1.37 100.73, 0 82.5 M27.5 110 C10.36 110.85, 1.16 99.29, 0 82.5 M0 82.5 C0 70.59, 0.05 55.77, 0 27.5 M0 82.5 C0.49 65.33, -0.39 49.35, 0 27.5 M0 27.5 C0.66 7.43, 8.85 -1.56, 27.5 0 M0 27.5 C1.29 10.47, 10.4 2.04, 27.5 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1482.7061578729868 244.19739367915025) rotate(0 100.84990692138672 25)"><text x="100.84990692138672" 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">TallyVotesInputHash</text><text x="100.84990692138672" 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">er component</text></g><g stroke-linecap="round" transform="translate(1712.9754580881586 212.39394458672888) rotate(0 231.85483863891614 57.215831729189176)"><path d="M28.61 0 C164.65 -0.63, 299.55 -0.25, 435.1 0 M28.61 0 C127.17 -1.48, 225.82 -1.48, 435.1 0 M435.1 0 C455.29 -1.77, 465.14 8.43, 463.71 28.61 M435.1 0 C455.4 1.84, 463.76 10.77, 463.71 28.61 M463.71 28.61 C464.17 47.99, 463.92 67.42, 463.71 85.82 M463.71 28.61 C463.74 47.54, 463.7 65.07, 463.71 85.82 M463.71 85.82 C463.18 105.4, 454.08 115.59, 435.1 114.43 M463.71 85.82 C465.26 105.82, 453.16 115.49, 435.1 114.43 M435.1 114.43 C310.32 114.83, 184.86 115.36, 28.61 114.43 M435.1 114.43 C348.02 115.21, 259.79 115, 28.61 114.43 M28.61 114.43 C7.97 113.48, 1.33 103.25, 0 85.82 M28.61 114.43 C11.56 115.3, -1.34 106.14, 0 85.82 M0 85.82 C0.93 74.7, -0.77 61.12, 0 28.61 M0 85.82 C-0.24 64.93, -0.91 44.43, 0 28.61 M0 28.61 C1.26 9.84, 8.03 -1.28, 28.61 0 M0 28.61 C-0.62 11.51, 11.25 2.29, 28.61 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1719.2605030259028 244.60977631591805) rotate(0 225.56979370117188 25)"><text x="225.56979370117188" 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: sbCommitment, currentTallyCommitment,</text><text x="225.56979370117188" 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">newTallyCommitment, packedVals, inputHash</text></g><g stroke-linecap="round" transform="translate(1048.673448808577 348.54528000971067) rotate(0 178.5978782182391 62.11394901169069)"><path d="M31.06 0 C131.85 0.48, 228.61 -0.06, 326.14 0 M31.06 0 C142.68 1.67, 255.49 1.39, 326.14 0 M326.14 0 C348.26 -1.66, 358.05 11.46, 357.2 31.06 M326.14 0 C347.88 0.91, 357.47 9.4, 357.2 31.06 M357.2 31.06 C356.07 46.21, 356.92 58.56, 357.2 93.17 M357.2 31.06 C357.43 49.97, 356.59 68.3, 357.2 93.17 M357.2 93.17 C357.23 112.51, 345.79 125.99, 326.14 124.23 M357.2 93.17 C354.96 112.33, 348.95 125.09, 326.14 124.23 M326.14 124.23 C246.35 126.88, 166.79 124.86, 31.06 124.23 M326.14 124.23 C234.29 125.19, 142.1 125.62, 31.06 124.23 M31.06 124.23 C8.64 122.74, 1.54 114.36, 0 93.17 M31.06 124.23 C11.25 123.51, 0.89 112.37, 0 93.17 M0 93.17 C-0.18 73.89, -0.57 49.92, 0 31.06 M0 93.17 C0.84 72.31, 0.34 49.29, 0 31.06 M0 31.06 C-1.97 12.23, 9.67 -1.48, 31.06 0 M0 31.06 C-1.48 8.44, 12.52 1.57, 31.06 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1058.5514478764255 373.15922902140136) rotate(0 168.71987915039062 37.5)"><text x="168.71987915039062" 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. Validate that the batch start</text><text x="168.71987915039062" 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">index is <= than the number of </text><text x="168.71987915039062" 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">signups</text></g><g stroke-linecap="round" transform="translate(1102.038228298699 497.7820786115755) rotate(0 110.05757116156974 55)"><path d="M27.5 0 C84.43 1.1, 142.52 0.4, 192.62 0 M27.5 0 C74.9 1.84, 124.83 1.09, 192.62 0 M192.62 0 C209 -1.59, 221.69 9.38, 220.12 27.5 M192.62 0 C210.27 0, 221.22 7.85, 220.12 27.5 M220.12 27.5 C219.7 47.28, 219.16 70.61, 220.12 82.5 M220.12 27.5 C220.59 45.34, 218.99 63.87, 220.12 82.5 M220.12 82.5 C219.93 99.5, 209.23 109.57, 192.62 110 M220.12 82.5 C221.6 99.41, 211.23 110.47, 192.62 110 M192.62 110 C141.66 110.55, 92.47 110.93, 27.5 110 M192.62 110 C130.31 108.88, 67.06 110.74, 27.5 110 M27.5 110 C7.67 108.04, -1.97 101.73, 0 82.5 M27.5 110 C7.71 108.83, 0.54 100.91, 0 82.5 M0 82.5 C-0.39 71.65, -0.88 60.9, 0 27.5 M0 82.5 C0.3 64.27, 0.44 48.17, 0 27.5 M0 27.5 C0.73 7.46, 7.31 1.61, 27.5 0 M0 27.5 C0.68 11.3, 10.15 1.17, 27.5 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1110.10587026105 502.7820786115755) rotate(0 101.98992919921875 50)"><text x="101.98992919921875" 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. Hash each ballot </text><text x="101.98992919921875" 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 generate the </text><text x="101.98992919921875" 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">subroot of the </text><text x="101.98992919921875" 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">ballots</text></g><g stroke-linecap="round"><g transform="translate(1350.7997420399533 557.4333083115348) rotate(0 28.201147162785674 0.007314142972575155)"><path d="M0.07 0.87 C9.56 1.03, 47.09 1.04, 56.48 0.77 M-1.36 0.28 C8.02 0.12, 46.07 -0.94, 55.58 -0.96" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(1350.7997420399533 557.4333083115348) rotate(0 28.201147162785674 0.007314142972575155)"><path d="M32.23 7.98 C39.83 5.76, 45.76 3.38, 55.58 -0.96 M32.23 7.98 C37.95 6.07, 43.91 2.85, 55.58 -0.96" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(1350.7997420399533 557.4333083115348) rotate(0 28.201147162785674 0.007314142972575155)"><path d="M31.95 -9.12 C39.59 -6.85, 45.59 -4.75, 55.58 -0.96 M31.95 -9.12 C37.61 -6.98, 43.64 -6.16, 55.58 -0.96" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(1480.5190969264277 480.7566003276174) rotate(0 148.9439038532455 55)"><path d="M27.5 0 C120.55 -2.94, 215.26 -0.03, 270.39 0 M27.5 0 C101.18 0.21, 174.6 0.63, 270.39 0 M270.39 0 C288.95 -1.44, 298.26 9.27, 297.89 27.5 M270.39 0 C288.12 2.29, 296.97 10.28, 297.89 27.5 M297.89 27.5 C299.69 42.26, 300.04 51.76, 297.89 82.5 M297.89 27.5 C298.12 47.43, 297.95 66.92, 297.89 82.5 M297.89 82.5 C298.93 99.38, 286.78 110.85, 270.39 110 M297.89 82.5 C296.94 98.77, 286.94 107.74, 270.39 110 M270.39 110 C214.73 108.34, 154.83 110.49, 27.5 110 M270.39 110 C214.65 111.03, 157.97 110.87, 27.5 110 M27.5 110 C9.84 111.38, -0.53 101.78, 0 82.5 M27.5 110 C9.22 108.56, -0.79 102.52, 0 82.5 M0 82.5 C-0.7 64.12, 0.42 48.3, 0 27.5 M0 82.5 C0.69 70.22, -1.02 58.72, 0 27.5 M0 27.5 C1.48 9.06, 10.23 -0.54, 27.5 0 M0 27.5 C1.7 10.44, 7.9 1.55, 27.5 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1489.153125291392 485.7566003276174) rotate(0 140.30987548828125 50)"><text x="140.30987548828125" 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">Create one hasher </text><text x="140.30987548828125" 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 for each element </text><text x="140.30987548828125" 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">in the batch </text><text x="140.30987548828125" 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">(hashLeftAndRight)</text></g><g stroke-linecap="round" transform="translate(1805.2138714477983 482.26298891160326) rotate(0 141.35669318607802 51.623315648622)"><path d="M25.81 0 C105.94 2.67, 184.48 0.57, 256.9 0 M25.81 0 C73.01 -2.16, 120.04 -2.65, 256.9 0 M256.9 0 C272.4 1.21, 284.07 10.47, 282.71 25.81 M256.9 0 C272.62 -1.34, 281.55 8.01, 282.71 25.81 M282.71 25.81 C282.23 46, 283.35 64.69, 282.71 77.43 M282.71 25.81 C282.29 39.72, 282.37 53.51, 282.71 77.43 M282.71 77.43 C280.74 95.64, 273.84 103.17, 256.9 103.25 M282.71 77.43 C284.87 96.12, 274.92 104.72, 256.9 103.25 M256.9 103.25 C181.01 102.82, 106.13 103.5, 25.81 103.25 M256.9 103.25 C179.74 104.53, 100.41 103.58, 25.81 103.25 M25.81 103.25 C9.14 104.62, -0.31 95.03, 0 77.43 M25.81 103.25 C8.11 102.46, 0.63 94.24, 0 77.43 M0 77.43 C-0.3 64.63, 0.55 53.92, 0 25.81 M0 77.43 C0.03 63.18, -0.33 48.87, 0 25.81 M0 25.81 C1.58 8.04, 9.72 -0.61, 25.81 0 M0 25.81 C-0.04 7.37, 9.96 -0.88, 25.81 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1818.670654660732 508.88630456022526) rotate(0 127.89990997314453 25)"><text x="127.89990997314453" 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 the nonce and vote </text><text x="127.89990997314453" 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">option tree root</text></g><g stroke-linecap="round" transform="translate(2119.099124311517 483.6794711026367) rotate(0 138.05888577727933 48.48326212498239)"><path d="M24.24 0 C91.85 0.91, 161.94 1.8, 251.88 0 M24.24 0 C113.43 -0.37, 201.75 0.78, 251.88 0 M251.88 0 C267.21 -0.7, 276.1 7.19, 276.12 24.24 M251.88 0 C266.32 0.67, 277.88 6.98, 276.12 24.24 M276.12 24.24 C275 43.72, 277.52 59.54, 276.12 72.72 M276.12 24.24 C275.77 36.94, 275.19 48.04, 276.12 72.72 M276.12 72.72 C277.01 87.01, 269.02 95.57, 251.88 96.97 M276.12 72.72 C278.1 90.67, 269.17 98.47, 251.88 96.97 M251.88 96.97 C189.88 95.91, 128.05 97.09, 24.24 96.97 M251.88 96.97 C184.11 95.81, 115.02 95.86, 24.24 96.97 M24.24 96.97 C10.03 95.56, -0.25 87.57, 0 72.72 M24.24 96.97 C9.51 96.94, -0.21 87.04, 0 72.72 M0 72.72 C0.09 62.1, 0.22 48.42, 0 24.24 M0 72.72 C0.25 60.38, 0.19 46.9, 0 24.24 M0 24.24 C-0.71 9.66, 8.59 0.29, 24.24 0 M0 24.24 C-0.7 6.99, 7.24 -0.1, 24.24 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(2124.6081291073506 507.16273322761907) rotate(0 132.5498809814453 25)"><text x="132.5498809814453" 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 ballot subroot is the </text><text x="132.5498809814453" 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 of these two values</text></g><g stroke-linecap="round" transform="translate(1102.4444623505774 634.4136737231911) rotate(0 110.05757116156974 55)"><path d="M27.5 0 C91.1 2.71, 156.15 0.49, 192.62 0 M27.5 0 C80.17 0.81, 132.17 1.4, 192.62 0 M192.62 0 C210.81 1.46, 220.74 9.08, 220.12 27.5 M192.62 0 C213.04 1.27, 221.72 8.84, 220.12 27.5 M220.12 27.5 C220.01 47.84, 222.03 70.83, 220.12 82.5 M220.12 27.5 C220.08 40.1, 220.5 51.59, 220.12 82.5 M220.12 82.5 C221.3 99.44, 210.63 108.54, 192.62 110 M220.12 82.5 C221.56 102.92, 210.89 111.27, 192.62 110 M192.62 110 C145.41 109.56, 100.75 110.29, 27.5 110 M192.62 110 C144.95 109.26, 96.38 109.11, 27.5 110 M27.5 110 C7.45 111.38, 0.84 101.17, 0 82.5 M27.5 110 C9.45 107.88, -1.11 100.93, 0 82.5 M0 82.5 C0.54 63.3, -0.8 43.77, 0 27.5 M0 82.5 C-0.24 69.24, 0.08 56.49, 0 27.5 M0 27.5 C0.08 7.35, 10.48 0.77, 27.5 0 M0 27.5 C-1.06 7.83, 7.88 -1.4, 27.5 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1110.482113163026 651.9136737231911) rotate(0 102.0199203491211 37.5)"><text x="102.0199203491211" 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. Ensure that the </text><text x="102.0199203491211" 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">ballots are part of </text><text x="102.0199203491211" 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 quinary tree</text></g><g stroke-linecap="round"><g transform="translate(1363.1669063231693 697.7052688159902) rotate(0 29.970244303496656 -1.0413346064792108)"><path d="M-0.2 0.03 C9.76 -0.38, 49.88 -1.95, 59.94 -2.2 M-1.76 -1 C8.02 -1.23, 48.78 -0.31, 58.99 -0.72" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(1363.1669063231693 697.7052688159902) rotate(0 29.970244303496656 -1.0413346064792108)"><path d="M35.53 7.94 C42.97 5.24, 50.15 2.82, 58.99 -0.72 M35.53 7.94 C42.92 5.3, 52.65 2, 58.99 -0.72" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(1363.1669063231693 697.7052688159902) rotate(0 29.970244303496656 -1.0413346064792108)"><path d="M35.45 -9.16 C42.95 -6.46, 50.15 -3.48, 58.99 -0.72 M35.45 -9.16 C42.99 -5.75, 52.75 -3.02, 58.99 -0.72" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(1448.7703876518676 633.9832207470788) rotate(0 144.30894446548086 67.5)"><path d="M32 0 C93.47 -0.74, 151.95 1.73, 256.62 0 M32 0 C117.69 -0.34, 202.81 0.27, 256.62 0 M256.62 0 C277.01 -0.47, 287.29 11.72, 288.62 32 M256.62 0 C278.76 -1.18, 290.62 11.19, 288.62 32 M288.62 32 C288.15 46.39, 288.94 65.64, 288.62 103 M288.62 32 C287.51 48.33, 287.22 64.81, 288.62 103 M288.62 103 C289.94 125.58, 278.12 133.79, 256.62 135 M288.62 103 C287.83 124.9, 278.7 133.02, 256.62 135 M256.62 135 C192.68 132.62, 130.98 133.96, 32 135 M256.62 135 C174.93 136.96, 94.43 136.29, 32 135 M32 135 C9.48 135.32, -0.69 125.82, 0 103 M32 135 C9.29 134.7, 1.15 122.42, 0 103 M0 103 C1.65 86.54, 0.12 73.14, 0 32 M0 103 C0.03 87.72, 0.95 71.44, 0 32 M0 32 C1.48 10.17, 12.22 -0.3, 32 0 M0 32 C-1.12 12.13, 12.73 -0.74, 32 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1454.809434656411 638.9832207470788) rotate(0 138.2698974609376 62.5)"><text x="138.2698974609375" 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">Create a component </text><text x="138.2698974609375" 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">(QuinLeafExists) to be </text><text x="138.2698974609375" 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">used to verify if a leaf </text><text x="138.2698974609375" 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">exists in a quinary tree of </text><text x="138.2698974609375" 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">depth k</text></g><g stroke-linecap="round" transform="translate(1752.4061456814302 637.7649367937547) rotate(0 194.22116942181583 67.5)"><path d="M32 0 C121.11 -0.25, 210.9 -0.26, 356.44 0 M32 0 C101.09 0.66, 171.74 0.14, 356.44 0 M356.44 0 C377.99 0.59, 387.09 10.36, 388.44 32 M356.44 0 C378.51 2.11, 387.39 10.5, 388.44 32 M388.44 32 C387.1 58.96, 386.37 83.2, 388.44 103 M388.44 32 C387.17 51.65, 387.81 69.95, 388.44 103 M388.44 103 C389.56 125.49, 378.05 135.07, 356.44 135 M388.44 103 C389.96 126.49, 377.13 135.66, 356.44 135 M356.44 135 C258.9 135.57, 162.37 134.36, 32 135 M356.44 135 C230.75 134.94, 104.19 135.25, 32 135 M32 135 C11.05 133.48, -1.28 125.68, 0 103 M32 135 C9.47 134.73, 1.26 123.56, 0 103 M0 103 C-1.01 79.74, -1.77 52.4, 0 32 M0 103 C-0.85 88.66, -0.46 73.17, 0 32 M0 32 C-0.28 11.01, 11.67 0.16, 32 0 M0 32 C0.07 12.75, 8.67 -1.27, 32 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1757.5174823395741 642.7649367937547) rotate(0 189.10983276367188 62.5)"><text x="189.10983276367188" 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">Create a component </text><text x="189.10983276367188" 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">(QuinGeneratePathIndices) to </text><text x="189.10983276367188" 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">generate the indices of the path from</text><text x="189.10983276367188" 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">a leaf to the root of a quinary tree</text><text x="189.10983276367188" 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">with a depth of k</text></g><g stroke-linecap="round" transform="translate(2155.3683562529327 639.7310366085505) rotate(0 199.98966765019668 62.38027606929904)"><path d="M31.19 0 C139.06 -1.61, 244.08 -2.03, 368.79 0 M31.19 0 C136.97 0.3, 243.38 0.29, 368.79 0 M368.79 0 C389.5 -0.73, 398.45 12.02, 399.98 31.19 M368.79 0 C389.17 -0.28, 400.42 10.53, 399.98 31.19 M399.98 31.19 C399.09 52.5, 398.36 77.4, 399.98 93.57 M399.98 31.19 C400.44 51.98, 399.51 73.71, 399.98 93.57 M399.98 93.57 C398.38 114.48, 387.71 124.72, 368.79 124.76 M399.98 93.57 C400.02 113.05, 389.01 124.69, 368.79 124.76 M368.79 124.76 C291.51 122.72, 212.31 123.73, 31.19 124.76 M368.79 124.76 C297.58 127.14, 226.17 126.47, 31.19 124.76 M31.19 124.76 C9.44 125.58, 1.66 113.2, 0 93.57 M31.19 124.76 C11.07 126.67, 0.04 116.28, 0 93.57 M0 93.57 C0.37 72.15, 1.68 54.53, 0 31.19 M0 93.57 C-0.74 68.11, 0.43 44.67, 0 31.19 M0 31.19 C-0.84 8.63, 8.88 -0.63, 31.19 0 M0 31.19 C-0.45 12.37, 10.4 1.7, 31.19 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(2161.168204567192 652.1113126778496) rotate(0 194.1898193359375 50)"><text x="194.1898193359375" 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 k and assign the path</text><text x="194.1898193359375" 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">indices and elements to the leaf </text><text x="194.1898193359375" 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">existence checker to confirm that each</text><text x="194.1898193359375" 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">ballot is part of the quinary tree</text></g><g stroke-linecap="round" transform="translate(1104.0355308573048 799.7900063619686) rotate(0 110.05757116156974 55)"><path d="M27.5 0 C62.96 1.07, 95.39 1.07, 192.62 0 M27.5 0 C80.32 -0.5, 135.42 -0.1, 192.62 0 M192.62 0 C209.62 -0.29, 218.54 10.89, 220.12 27.5 M192.62 0 C211.48 -0.31, 220.47 8.87, 220.12 27.5 M220.12 27.5 C217.9 41.69, 219.94 53.81, 220.12 82.5 M220.12 27.5 C220.48 42.58, 220.58 57.64, 220.12 82.5 M220.12 82.5 C220.24 102.55, 209.96 109.42, 192.62 110 M220.12 82.5 C218.04 99.29, 212.86 111.25, 192.62 110 M192.62 110 C139.13 107.79, 87.39 108.16, 27.5 110 M192.62 110 C157.47 109.05, 123.23 107.93, 27.5 110 M27.5 110 C8.8 108, 1.61 101.6, 0 82.5 M27.5 110 C10.47 109.31, -1.06 102.87, 0 82.5 M0 82.5 C0.39 69.64, -1.32 57.64, 0 27.5 M0 82.5 C0.1 63.19, 0.63 44.39, 0 27.5 M0 27.5 C-1.16 7.27, 10.68 -1.04, 27.5 0 M0 27.5 C1.18 10.34, 11.01 -1.27, 27.5 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1120.3231816697535 829.7900063619686) rotate(0 93.7699203491211 25)"><text x="93.7699203491211" 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. Verify the vote </text><text x="93.7699203491211" 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">option root</text></g><g stroke-linecap="round"><g transform="translate(1351.2678784433556 859.4476217421691) rotate(0 46.92503091319634 6.460994713404034)"><path d="M-0.46 -0.57 C15.37 1.84, 78.14 11.15, 93.9 13.48 M1.5 1.74 C17.27 3.88, 77.64 10.06, 92.98 11.65" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(1351.2678784433556 859.4476217421691) rotate(0 46.92503091319634 6.460994713404034)"><path d="M68.73 17.74 C72.92 16.63, 79.9 15.72, 92.98 11.65 M68.73 17.74 C76.31 16.38, 84.92 13.4, 92.98 11.65" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(1351.2678784433556 859.4476217421691) rotate(0 46.92503091319634 6.460994713404034)"><path d="M70.49 0.73 C74.17 3.19, 80.78 5.85, 92.98 11.65 M70.49 0.73 C77.57 5.16, 85.57 7.97, 92.98 11.65" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(1466.2028348089398 820.791988445272) rotate(0 146.6977890121732 65.2199633785624)"><path d="M32 0 C113.19 -0.64, 193.7 0.23, 261.4 0 M32 0 C105.51 -0.52, 180.62 -1.22, 261.4 0 M261.4 0 C284.61 -0.86, 293.79 12.13, 293.4 32 M261.4 0 C284.6 0.01, 292.64 11.68, 293.4 32 M293.4 32 C291.34 57.14, 291.87 81.96, 293.4 98.44 M293.4 32 C293.72 58.14, 293.21 82.17, 293.4 98.44 M293.4 98.44 C292.23 118, 281.01 129.53, 261.4 130.44 M293.4 98.44 C293.05 119.67, 284.41 130.8, 261.4 130.44 M261.4 130.44 C177.92 131.94, 94.94 133.62, 32 130.44 M261.4 130.44 C182.33 130.34, 103.26 129.27, 32 130.44 M32 130.44 C9.44 131.25, -0.32 120.58, 0 98.44 M32 130.44 C8.88 132.64, -1.81 119.58, 0 98.44 M0 98.44 C0.16 73.57, 0.42 46.44, 0 32 M0 98.44 C0.33 74.38, 0.25 49.76, 0 32 M0 32 C1.37 8.98, 11.73 0.59, 32 0 M0 32 C2.18 11.53, 9.18 -1.02, 32 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1475.7207532156442 861.0119518238344) rotate(0 137.17987060546886 25)"><text x="137.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">verify the root of the vote</text><text x="137.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">option tree for each ballot.</text></g><g stroke-linecap="round" transform="translate(1779.2838341147149 824.1889212252056) rotate(0 357.85828845441506 59.82879290296307)"><path d="M29.91 0 C288.99 0.24, 547.28 1.36, 685.8 0 M29.91 0 C277.62 0.21, 524.46 0.87, 685.8 0 M685.8 0 C704.74 1.22, 714.83 8.78, 715.72 29.91 M685.8 0 C706.87 1.77, 717.95 10.25, 715.72 29.91 M715.72 29.91 C716.86 46.78, 715.92 66.41, 715.72 89.74 M715.72 29.91 C715.97 45.93, 716.4 60.5, 715.72 89.74 M715.72 89.74 C715.78 107.77, 705.28 119.84, 685.8 119.66 M715.72 89.74 C716.58 107.9, 704.24 119.09, 685.8 119.66 M685.8 119.66 C467.32 118.79, 249.16 119.29, 29.91 119.66 M685.8 119.66 C446.13 120.04, 206.49 119.97, 29.91 119.66 M29.91 119.66 C9.86 118.49, 0.9 110.5, 0 89.74 M29.91 119.66 C8.18 119.27, -0.38 109.94, 0 89.74 M0 89.74 C0.79 66.43, 1 41.31, 0 29.91 M0 89.74 C-0.74 68.59, -0.7 46.46, 0 29.91 M0 29.91 C-1.07 8.79, 11.32 -1.48, 29.91 0 M0 29.91 C0.05 8.02, 8.77 1.87, 29.91 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1799.462374033974 834.0177141281686) rotate(0 337.67974853515625 50)"><text x="337.67974853515625" 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">checks that the root of the vote option tree of the i-th ballot is </text><text x="337.67974853515625" 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">equal to the root stored in the i-th ballot. If the roots are not </text><text x="337.67974853515625" 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">equal, the circuit will not be satisfied, indicating that the vote </text><text x="337.67974853515625" 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">options have been tampered with.</text></g><g stroke-linecap="round" transform="translate(1113.8236902290898 967.5197382409087) rotate(0 110.05757116156974 55)"><path d="M27.5 0 C69.33 1.71, 110.76 -0.07, 192.62 0 M27.5 0 C69.79 1.29, 112.91 0.18, 192.62 0 M192.62 0 C211.23 0.7, 220.6 10.84, 220.12 27.5 M192.62 0 C212.75 2.18, 221.76 11.33, 220.12 27.5 M220.12 27.5 C218.63 42.05, 218.46 60.7, 220.12 82.5 M220.12 27.5 C221.26 45.29, 220.39 63.88, 220.12 82.5 M220.12 82.5 C218.79 102.18, 208.99 108.45, 192.62 110 M220.12 82.5 C220.21 98.73, 213.16 112.21, 192.62 110 M192.62 110 C143.12 108.1, 95.49 109.01, 27.5 110 M192.62 110 C150.56 111.51, 107.95 110.11, 27.5 110 M27.5 110 C10.69 110.22, 0.93 100.58, 0 82.5 M27.5 110 C7.21 109.79, -1.85 102.33, 0 82.5 M0 82.5 C1.68 66.42, -0.33 48.26, 0 27.5 M0 82.5 C0.4 61.85, -0.33 43.54, 0 27.5 M0 27.5 C0.44 10.64, 8.34 0.66, 27.5 0 M0 27.5 C-0.62 8.09, 9.33 1.77, 27.5 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1138.811315101597 997.5197382409087) rotate(0 85.0699462890625 25)"><text x="85.0699462890625" 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. Tally the new </text><text x="85.0699462890625" 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">result</text></g><g stroke-linecap="round"><g transform="translate(1366.4343438451117 1033.7539627696497) rotate(0 43.30460759050732 3.4532420039610088)"><path d="M1.18 -1.16 C15.76 0.02, 73.25 5.92, 87.41 7.22 M0.34 0.85 C14.83 1.63, 72.75 4.11, 86.88 5.26" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(1366.4343438451117 1033.7539627696497) rotate(0 43.30460759050732 3.4532420039610088)"><path d="M62.93 12.41 C68.05 11.4, 77.57 7.18, 86.88 5.26 M62.93 12.41 C68.92 11.16, 77.02 9.46, 86.88 5.26" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(1366.4343438451117 1033.7539627696497) rotate(0 43.30460759050732 3.4532420039610088)"><path d="M63.94 -4.66 C68.79 -0.63, 78.01 0.19, 86.88 5.26 M63.94 -4.66 C69.81 -1.22, 77.62 1.78, 86.88 5.26" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(1471.2591910944852 1000.2724706503091) rotate(0 218.81138583144366 36.4312641367178)"><path d="M18.22 0 C162.48 -0.7, 304.28 -1.28, 419.41 0 M18.22 0 C104.06 -1.93, 189.5 -2.09, 419.41 0 M419.41 0 C430.51 1.48, 435.68 5.62, 437.62 18.22 M419.41 0 C431.93 1.63, 438.53 5.89, 437.62 18.22 M437.62 18.22 C438.57 30.01, 439.45 46.11, 437.62 54.65 M437.62 18.22 C438.63 32.9, 438.22 47.72, 437.62 54.65 M437.62 54.65 C436.19 67.85, 429.96 74.6, 419.41 72.86 M437.62 54.65 C438.83 66.95, 429.91 73.28, 419.41 72.86 M419.41 72.86 C303.69 73.65, 189.77 74.18, 18.22 72.86 M419.41 72.86 C284 70.24, 147.35 71.13, 18.22 72.86 M18.22 72.86 C5.66 71.26, 1.48 65.58, 0 54.65 M18.22 72.86 C6.53 74.79, -2.22 65.57, 0 54.65 M0 54.65 C-1.87 41.01, 0.17 29.71, 0 18.22 M0 54.65 C-0.29 46.32, -0.45 38.21, 0 18.22 M0 18.22 C0.61 5.1, 5.54 1.73, 18.22 0 M0 18.22 C0.44 7.69, 7.55 0.14, 18.22 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1485.480763693507 1024.2037347870269) rotate(0 204.58981323242188 12.5)"><text x="204.58981323242188" 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 CalculateTotal to sum up the votes</text></g><g stroke-linecap="round" transform="translate(1115.6745567089288 1114.8001809100474) rotate(0 110.05757116156974 55)"><path d="M27.5 0 C92.18 -0.65, 155.6 -0.99, 192.62 0 M27.5 0 C91.2 -0.18, 153.12 0.71, 192.62 0 M192.62 0 C211.82 -1.95, 220.07 8.79, 220.12 27.5 M192.62 0 C210.22 -0.02, 221.35 7.12, 220.12 27.5 M220.12 27.5 C219.43 38.39, 219.37 50.94, 220.12 82.5 M220.12 27.5 C220.93 44.37, 220.43 59.47, 220.12 82.5 M220.12 82.5 C218.59 102.79, 210.27 108.93, 192.62 110 M220.12 82.5 C218.47 100.83, 211.49 108.95, 192.62 110 M192.62 110 C145.5 112.87, 99.82 110.58, 27.5 110 M192.62 110 C151.69 111.5, 109.66 109.94, 27.5 110 M27.5 110 C10.95 108.42, -1.23 99.82, 0 82.5 M27.5 110 C10.79 108.66, -1.52 99.99, 0 82.5 M0 82.5 C0.36 68.98, 1.61 54.91, 0 27.5 M0 82.5 C-0.03 64.14, 0.33 43.25, 0 27.5 M0 27.5 C-0.19 9.83, 9.47 -1.6, 27.5 0 M0 27.5 C-0.35 9.9, 9.27 -1.58, 27.5 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1124.5922200335845 1132.3001809100474) rotate(0 101.13990783691406 37.5)"><text x="101.13990783691406" 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. Tally the new </text><text x="101.13990783691406" 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">total of spent voice</text><text x="101.13990783691406" 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">credits</text></g><g stroke-linecap="round" transform="translate(480.7500883641337 948.0077161054639) rotate(0 203.01703692827346 58.69960147919426)"><path d="M29.35 0 C157.02 -0.47, 284.19 -0.3, 376.68 0 M29.35 0 C167.31 -1.76, 304.77 -1.73, 376.68 0 M376.68 0 C396.14 1.23, 405.92 10.5, 406.03 29.35 M376.68 0 C396.87 -0.43, 406.93 10.69, 406.03 29.35 M406.03 29.35 C407.19 48.05, 405.38 65.19, 406.03 88.05 M406.03 29.35 C406.37 51.44, 405.18 74.29, 406.03 88.05 M406.03 88.05 C404.95 109.58, 396.97 116.77, 376.68 117.4 M406.03 88.05 C407.26 106.78, 395.16 116.76, 376.68 117.4 M376.68 117.4 C240.85 117.16, 108.68 118.77, 29.35 117.4 M376.68 117.4 C261.11 119.26, 146.1 119.71, 29.35 117.4 M29.35 117.4 C9.19 117.16, -1.5 109, 0 88.05 M29.35 117.4 C9.6 117.16, 1.26 107.94, 0 88.05 M0 88.05 C0.13 65.13, 1.61 44.79, 0 29.35 M0 88.05 C0.68 76.59, -0.39 63.77, 0 29.35 M0 29.35 C0.93 8.14, 10.44 -1.03, 29.35 0 M0 29.35 C1.09 7.58, 8.03 -1.06, 29.35 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(496.5172778802978 969.2073175846583) rotate(0 187.24984741210938 37.5)"><text x="187.24984741210938" 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 this is the first batch then we do </text><text x="187.24984741210938" 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">not add the current result (as it </text><text x="187.24984741210938" 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">would be zero) to the calculation</text></g><g stroke-linecap="round"><g transform="translate(1072.5666577812376 1029.057968720134) rotate(0 -77.04585966563582 -18.342157370195764)"><path d="M-0.76 -0.29 C-26.27 -6.38, -127.24 -29.48, -152.93 -35.53 M1.04 -1.49 C-24.54 -7.36, -127.7 -31.43, -153.27 -37.04" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(1072.5666577812376 1029.057968720134) rotate(0 -77.04585966563582 -18.342157370195764)"><path d="M-128.47 -40.17 C-136.63 -37.43, -141.93 -39.72, -153.27 -37.04 M-128.47 -40.17 C-137.06 -39.48, -143.94 -37.78, -153.27 -37.04" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(1072.5666577812376 1029.057968720134) rotate(0 -77.04585966563582 -18.342157370195764)"><path d="M-132.26 -23.5 C-139.39 -25.91, -143.5 -33.39, -153.27 -37.04 M-132.26 -23.5 C-139.81 -27.97, -145.51 -31.44, -153.27 -37.04" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(1475.1235614450711 1126.0203789058685) rotate(0 218.81138583144366 36.4312641367178)"><path d="M18.22 0 C173.54 -2.57, 328.12 -0.9, 419.41 0 M18.22 0 C151.33 0.93, 284.78 0.12, 419.41 0 M419.41 0 C433.01 1.18, 435.67 6.12, 437.62 18.22 M419.41 0 C431.12 -0.37, 438.07 4.21, 437.62 18.22 M437.62 18.22 C435.59 27.98, 436.83 40.16, 437.62 54.65 M437.62 18.22 C437.03 26.28, 437.52 33.86, 437.62 54.65 M437.62 54.65 C437.28 68.11, 432.05 71.36, 419.41 72.86 M437.62 54.65 C438.13 65.41, 430.91 70.75, 419.41 72.86 M419.41 72.86 C335.98 72.64, 251.76 70.99, 18.22 72.86 M419.41 72.86 C312.51 70.8, 206.15 71.21, 18.22 72.86 M18.22 72.86 C5.81 73.89, 1.23 66.3, 0 54.65 M18.22 72.86 C6.18 74.88, 0.69 66.55, 0 54.65 M0 54.65 C-1.53 40.36, 1.89 26.73, 0 18.22 M0 54.65 C-0.85 43.55, -0.97 30.42, 0 18.22 M0 18.22 C-1.92 7.78, 7.47 1.8, 18.22 0 M0 18.22 C-1.47 7.72, 5.17 1.32, 18.22 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1489.345134044093 1149.9516430425863) rotate(0 204.58981323242188 12.5)"><text x="204.58981323242188" 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 CalculateTotal to sum up the votes</text></g><g stroke-linecap="round" transform="translate(1939.9312949254977 1124.9057522299108) rotate(0 79.24150107935225 38.57681398772138)"><path d="M19.29 0 C60.89 0.34, 98.87 -0.71, 139.19 0 M19.29 0 C55.49 -0.55, 92.29 -0.65, 139.19 0 M139.19 0 C150.68 1.09, 159.57 4.73, 158.48 19.29 M139.19 0 C153.92 -0.55, 160.2 8.27, 158.48 19.29 M158.48 19.29 C160.3 31.26, 158.99 40.45, 158.48 57.87 M158.48 19.29 C157.68 33.92, 158.62 47.98, 158.48 57.87 M158.48 57.87 C158.84 71.22, 150.93 77.04, 139.19 77.15 M158.48 57.87 C158.25 70.74, 150.1 75.95, 139.19 77.15 M139.19 77.15 C112.18 75.87, 82.8 76.47, 19.29 77.15 M139.19 77.15 C111.77 76.93, 83.25 77.46, 19.29 77.15 M19.29 77.15 C6 76.45, 0.78 72.08, 0 57.87 M19.29 77.15 C8.49 78.19, -2.18 72.73, 0 57.87 M0 57.87 C-0.75 48.68, 1.49 34.41, 0 19.29 M0 57.87 C0.4 46.35, 0.92 33.98, 0 19.29 M0 19.29 C1.2 5.39, 5.77 0.96, 19.29 0 M0 19.29 C0.63 7.96, 7.67 0.27, 19.29 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1950.0928475795567 1138.4825662176322) rotate(0 69.07994842529297 25)"><text x="69.07994842529297" 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">votes are ** </text><text x="69.07994842529297" 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">2</text></g><g stroke-linecap="round"><g transform="translate(1368.9363305930342 1155.1717960839194) rotate(0 43.30460759050732 3.4532420039610088)"><path d="M-0.14 -0.35 C14.51 0.99, 72.72 5.84, 87.11 6.93 M-1.67 -1.58 C12.93 0.07, 71.94 7.03, 86.42 8.48" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(1368.9363305930342 1155.1717960839194) rotate(0 43.30460759050732 3.4532420039610088)"><path d="M62.13 14.4 C67.38 13.85, 73.78 10.91, 86.42 8.48 M62.13 14.4 C69.01 13.94, 74.26 11.68, 86.42 8.48" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(1368.9363305930342 1155.1717960839194) rotate(0 43.30460759050732 3.4532420039610088)"><path d="M64.01 -2.6 C68.66 0.9, 74.61 2, 86.42 8.48 M64.01 -2.6 C70.38 1.05, 75.18 2.91, 86.42 8.48" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(1111.4640872122798 1250.81619378166) rotate(0 110.05757116156974 55)"><path d="M27.5 0 C76.36 0.88, 128.45 1.17, 192.62 0 M27.5 0 C64.73 -1.2, 102.61 -0.61, 192.62 0 M192.62 0 C209.57 0.31, 218.85 7.46, 220.12 27.5 M192.62 0 C211.81 -0.56, 219.3 6.88, 220.12 27.5 M220.12 27.5 C220.11 45.13, 220.19 65.17, 220.12 82.5 M220.12 27.5 C218.94 45.07, 219.09 63.63, 220.12 82.5 M220.12 82.5 C221.33 102.26, 210.73 110.91, 192.62 110 M220.12 82.5 C219.35 102.04, 212.24 108.5, 192.62 110 M192.62 110 C129.87 107.42, 65.59 109.43, 27.5 110 M192.62 110 C131.78 108.53, 70.56 109.19, 27.5 110 M27.5 110 C8.89 110.62, -0.05 101.28, 0 82.5 M27.5 110 C6.92 111.19, 0.5 101.36, 0 82.5 M0 82.5 C-0.71 71.56, -0.97 57.49, 0 27.5 M0 82.5 C1.44 67.57, 0.15 52.5, 0 27.5 M0 27.5 C-1.05 7.59, 7.9 -1.11, 27.5 0 M0 27.5 C1.42 8.87, 7.61 0.76, 27.5 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1125.821730090158 1268.31619378166) rotate(0 95.6999282836914 37.5)"><text x="95.6999282836914" 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. Tally the spent </text><text x="95.6999282836914" 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">voice credits per </text><text x="95.6999282836914" 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">vote option</text></g><g stroke-linecap="round"><g transform="translate(1350.5206300733018 1289.6112414426218) rotate(0 41.921522033748374 0.19873772120035937)"><path d="M0.94 -0.45 C14.78 -0.3, 69.35 0.65, 83.02 0.64 M-0.03 -1.73 C14.2 -1.95, 71.06 -1.7, 85.29 -1.36" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(1350.5206300733018 1289.6112414426218) rotate(0 41.921522033748374 0.19873772120035937)"><path d="M61.7 6.9 C67.91 2.91, 76.01 0.35, 85.29 -1.36 M61.7 6.9 C66.33 6.15, 72.88 2.66, 85.29 -1.36" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(1350.5206300733018 1289.6112414426218) rotate(0 41.921522033748374 0.19873772120035937)"><path d="M61.91 -10.2 C68.02 -9.16, 76.06 -6.69, 85.29 -1.36 M61.91 -10.2 C66.36 -7.13, 72.86 -6.81, 85.29 -1.36" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(1476.68677924149 1261.5065728261172) rotate(0 79.24150107935225 38.57681398772138)"><path d="M19.29 0 C44.02 -0.66, 69.35 1.55, 139.19 0 M19.29 0 C49.84 -1.97, 78.94 -2.08, 139.19 0 M139.19 0 C151.02 -1.76, 156.64 5.18, 158.48 19.29 M139.19 0 C149.76 0.79, 158.61 4.2, 158.48 19.29 M158.48 19.29 C159.83 29.23, 157.9 35.6, 158.48 57.87 M158.48 19.29 C157.63 29.38, 158.2 38.69, 158.48 57.87 M158.48 57.87 C159.74 70.88, 150.51 77.28, 139.19 77.15 M158.48 57.87 C158.46 70, 151.6 74.96, 139.19 77.15 M139.19 77.15 C97.91 77.95, 54.92 78.45, 19.29 77.15 M139.19 77.15 C96.77 76.81, 55.02 77.16, 19.29 77.15 M19.29 77.15 C6.52 75.82, 0.78 71.05, 0 57.87 M19.29 77.15 C4.63 78.98, -0.47 72.2, 0 57.87 M0 57.87 C0.49 45.02, 1.3 31.41, 0 19.29 M0 57.87 C0.81 44.76, 0.41 31.29, 0 19.29 M0 19.29 C-1.4 5.59, 6.45 -1.84, 19.29 0 M0 19.29 C0.22 4.54, 7.58 -0.34, 19.29 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1486.848331895549 1275.0833868138386) rotate(0 69.07994842529297 25)"><text x="69.07994842529297" 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">votes are ** </text><text x="69.07994842529297" 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">2</text></g><g stroke-linecap="round" transform="translate(1119.0945932957025 1379.993768697064) rotate(0 110.05757116156974 55)"><path d="M27.5 0 C92.61 -2.74, 156.61 -1.78, 192.62 0 M27.5 0 C82.18 -0.47, 135.48 -0.07, 192.62 0 M192.62 0 C211.29 -0.95, 218.56 10.09, 220.12 27.5 M192.62 0 C210.27 1.57, 220.83 8.22, 220.12 27.5 M220.12 27.5 C218.53 49.92, 221.58 70.12, 220.12 82.5 M220.12 27.5 C219.65 47.35, 220.38 66.37, 220.12 82.5 M220.12 82.5 C220.8 102.61, 212.86 108.57, 192.62 110 M220.12 82.5 C222.01 99.38, 213.2 110.53, 192.62 110 M192.62 110 C136.11 111.22, 83.99 109.65, 27.5 110 M192.62 110 C153.89 109.82, 116.53 110.46, 27.5 110 M27.5 110 C10.41 110.22, 1.1 100.21, 0 82.5 M27.5 110 C10.39 110.88, 0.43 101.41, 0 82.5 M0 82.5 C-0.44 63.93, 1.24 44.1, 0 27.5 M0 82.5 C-0.61 69.02, 0.25 56.8, 0 27.5 M0 27.5 C1.83 8.76, 8.87 1.99, 27.5 0 M0 27.5 C0.13 11.13, 11.31 1.56, 27.5 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1145.8022193889128 1397.493768697064) rotate(0 83.34994506835938 37.5)"><text x="83.34994506835938" 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. Verify the </text><text x="83.34994506835938" 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">current and new </text><text x="83.34994506835938" 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">Tally </text></g><g stroke-linecap="round"><g transform="translate(1085.8997286630536 1292.2040185814556) rotate(0 -98.87011615869937 -111.5216435334886)"><path d="M-0.47 -0.91 C-33.31 -38.17, -164.09 -187.2, -196.84 -224.13 M1.48 1.22 C-31.45 -35.88, -164.17 -185.53, -197.31 -223.16" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(1085.8997286630536 1292.2040185814556) rotate(0 -98.87011615869937 -111.5216435334886)"><path d="M-175.35 -211.23 C-183.71 -213.56, -190.9 -217.55, -197.31 -223.16 M-175.35 -211.23 C-182.33 -216.03, -191.04 -219.77, -197.31 -223.16" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(1085.8997286630536 1292.2040185814556) rotate(0 -98.87011615869937 -111.5216435334886)"><path d="M-188.16 -199.9 C-192.45 -205.74, -195.61 -213.3, -197.31 -223.16 M-188.16 -199.9 C-190.7 -208.52, -194.98 -216.18, -197.31 -223.16" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g stroke-linecap="round"><g transform="translate(1360.5264305868823 1438.9572467767052) rotate(0 41.921522033748374 0.19873772120035937)"><path d="M0.5 -1.15 C14.62 -0.74, 71.33 1.11, 85.03 1.49 M-0.7 0.86 C13.34 1.04, 70.43 0.22, 84.71 -0.05" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(1360.5264305868823 1438.9572467767052) rotate(0 41.921522033748374 0.19873772120035937)"><path d="M61.35 8.87 C67.11 7.85, 78.45 1.06, 84.71 -0.05 M61.35 8.87 C69.77 6.37, 77.68 3.44, 84.71 -0.05" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(1360.5264305868823 1438.9572467767052) rotate(0 41.921522033748374 0.19873772120035937)"><path d="M61.08 -8.23 C66.79 -3.69, 78.22 -4.91, 84.71 -0.05 M61.08 -8.23 C69.45 -4.49, 77.46 -1.19, 84.71 -0.05" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(1472.5923872577696 1387.49749106691) rotate(0 155.50068085529665 48.72157468842897)"><path d="M24.36 0 C115.42 -3.59, 204.6 -3.45, 286.64 0 M24.36 0 C80.96 -0.47, 138.41 -0.94, 286.64 0 M286.64 0 C303.95 -0.18, 311.37 7.83, 311 24.36 M286.64 0 C303.06 0.38, 311.07 9.93, 311 24.36 M311 24.36 C309.56 38.06, 311.33 48.55, 311 73.08 M311 24.36 C310.36 42.2, 309.98 58.28, 311 73.08 M311 73.08 C312.18 89.24, 302.68 96.36, 286.64 97.44 M311 73.08 C311.86 88.88, 300.82 97.16, 286.64 97.44 M286.64 97.44 C212.73 98.87, 142.52 97.69, 24.36 97.44 M286.64 97.44 C216.62 97.31, 147.09 96.65, 24.36 97.44 M24.36 97.44 C7.95 96.78, 1.82 90.88, 0 73.08 M24.36 97.44 C7.05 98.37, 1.05 90.58, 0 73.08 M0 73.08 C0.44 55.06, 1.35 35.01, 0 24.36 M0 73.08 C-0.59 57.18, -0.69 40.71, 0 24.36 M0 24.36 C1.19 9.4, 9.82 -1.15, 24.36 0 M0 24.36 C1.97 10.37, 8.4 -0.79, 24.36 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1486.323216428496 1423.719065755339) rotate(0 141.7698516845703 12.5)"><text x="141.7698516845703" 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 ResultCommitmentVerifier</text></g><g stroke-linecap="round"><g transform="translate(1080.3886880219522 1105.367356650987) rotate(0 -94.97617241785429 -49.426962130688025)"><path d="M-0.02 -1.17 C-31.8 -17.66, -159.44 -83.48, -190.93 -99.78 M-1.49 0.83 C-32.88 -15.46, -157.45 -82.31, -188.73 -98.72" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(1080.3886880219522 1105.367356650987) rotate(0 -94.97617241785429 -49.426962130688025)"><path d="M-163.97 -95.25 C-172.78 -97.85, -179.26 -95.51, -188.73 -98.72 M-163.97 -95.25 C-170.62 -97.11, -178.96 -96.56, -188.73 -98.72" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(1080.3886880219522 1105.367356650987) rotate(0 -94.97617241785429 -49.426962130688025)"><path d="M-172 -80.15 C-178.47 -86.95, -182.72 -88.81, -188.73 -98.72 M-172 -80.15 C-176.25 -86.47, -182.24 -90.35, -188.73 -98.72" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask></svg>
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1286.680238300206 817.252663995177" width="2573.360476600412" height="1634.505327990354">
|
|
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="1286.680238300206" height="817.252663995177" fill="#ffffff"></rect><g stroke-linecap="round" transform="translate(324.29028620173494 283.59552403271437) rotate(0 114.33810379333897 33.80052213620297)"><path d="M16.9 0 C78.57 -0.92, 144.93 0.05, 211.78 0 M16.9 0 C57.94 -1.04, 98.51 -2.01, 211.78 0 M211.78 0 C221.72 1.37, 229.13 6.08, 228.68 16.9 M211.78 0 C221.37 2, 229.49 5.06, 228.68 16.9 M228.68 16.9 C227.57 27.95, 229.41 41.68, 228.68 50.7 M228.68 16.9 C228.75 29.22, 229.56 40.89, 228.68 50.7 M228.68 50.7 C228.03 61.15, 224.98 67.26, 211.78 67.6 M228.68 50.7 C230.26 62.09, 224.22 67.14, 211.78 67.6 M211.78 67.6 C148 67.17, 89.36 66.16, 16.9 67.6 M211.78 67.6 C166.4 68, 121.84 66.32, 16.9 67.6 M16.9 67.6 C7 67.06, 1.7 61, 0 50.7 M16.9 67.6 C7.42 67.24, 0.45 64.02, 0 50.7 M0 50.7 C0.33 37.67, 0.3 23.35, 0 16.9 M0 50.7 C0.4 44.12, -0.61 35.53, 0 16.9 M0 16.9 C-0.17 7.55, 4.62 1.32, 16.9 0 M0 16.9 C-1.61 6.89, 6.62 1.49, 16.9 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(368.36844126460517 304.89604616891756) rotate(0 70.25994873046875 12.5)"><text x="70.25994873046875" 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">UnpackElement</text></g><g stroke-linecap="round"><g transform="translate(424.72086352848055 198.2253131586508) rotate(0 -2.731305301702662 40.81570261330012)"><path d="M1.12 -1.1 C0.13 12.55, -4.41 68.7, -5.42 82.59 M0.25 0.94 C-0.94 14.2, -5.4 67.75, -6.35 80.97" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(424.72086352848055 198.2253131586508) rotate(0 -2.731305301702662 40.81570261330012)"><path d="M-13.03 56.88 C-12.42 65.2, -6.68 74.32, -6.35 80.97 M-13.03 56.88 C-11.24 66.06, -8 74.06, -6.35 80.97" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(424.72086352848055 198.2253131586508) rotate(0 -2.731305301702662 40.81570261330012)"><path d="M4.02 58.22 C-1.26 66.23, -1.4 74.89, -6.35 80.97 M4.02 58.22 C-0.19 66.85, -2.94 74.38, -6.35 80.97" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g transform="translate(471.2751909446042 236.47277283600442) rotate(0 26.379974365234375 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">Input</text></g><g transform="translate(482.5614270566066 385.03968054250026) rotate(0 34.84996032714844 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">Output</text></g><g stroke-linecap="round"><g transform="translate(421.85685320184257 370.3548124441636) rotate(0 0.2229014099474398 20.511057519056294)"><path d="M0.23 -0.25 C0.2 6.6, 0.03 34.5, 0.08 41.4 M-0.32 0.81 C-0.19 7.48, 1.03 33.79, 1.13 40.63" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(421.85685320184257 370.3548124441636) rotate(0 0.2229014099474398 20.511057519056294)"><path d="M-6.5 21.59 C-4.29 27.46, -0.52 34.89, 1.13 40.63 M-6.5 21.59 C-3.94 27.56, -1.35 33.51, 1.13 40.63" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(421.85685320184257 370.3548124441636) rotate(0 0.2229014099474398 20.511057519056294)"><path d="M7.52 21.14 C4.91 27.19, 3.86 34.78, 1.13 40.63 M7.52 21.14 C5.57 27.32, 3.63 33.41, 1.13 40.63" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(325.0209074898962 436.28115471057254) rotate(0 110.05757116156974 32.17741655087593)"><path d="M16.09 0 C81.62 1.7, 144.87 -0.21, 204.03 0 M16.09 0 C89.43 -0.17, 162.46 0.02, 204.03 0 M204.03 0 C213.62 0.95, 220.54 6.5, 220.12 16.09 M204.03 0 C216.14 -1.09, 219.81 5.96, 220.12 16.09 M220.12 16.09 C219.25 29.88, 219.72 41.16, 220.12 48.27 M220.12 16.09 C220.47 26.56, 219.36 34.9, 220.12 48.27 M220.12 48.27 C221.48 60.8, 215.11 63.02, 204.03 64.35 M220.12 48.27 C222.26 58.63, 214.88 65.98, 204.03 64.35 M204.03 64.35 C129.91 67.34, 55.91 67.19, 16.09 64.35 M204.03 64.35 C151.36 66.55, 97.78 66.28, 16.09 64.35 M16.09 64.35 C5.1 64.83, -1.82 57.42, 0 48.27 M16.09 64.35 C7.58 63.18, 1.66 61.06, 0 48.27 M0 48.27 C1.98 38.53, 1.39 29.42, 0 16.09 M0 48.27 C0.6 36.2, 0.23 25.76, 0 16.09 M0 16.09 C0.63 6.44, 5.17 -1.54, 16.09 0 M0 16.09 C-1.47 4.99, 3.86 2.26, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(403.62850459140736 455.95857126144847) rotate(0 31.449974060058594 12.5)"><text x="31.449974060058594" 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">out[n]</text></g><g transform="translate(588.6231603290175 224.9595056407229) 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"><g transform="translate(593.2915159969322 326.294111495622) rotate(0 59.587677703881525 -25.581320235236035)"><path d="M0.43 -0.3 C20.56 -9.13, 99.93 -43.36, 119.9 -51.93 M-0.81 -1.5 C19.3 -9.67, 99.19 -42.59, 119.33 -50.79" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(593.2915159969322 326.294111495622) rotate(0 59.587677703881525 -25.581320235236035)"><path d="M100.83 -33.97 C104.39 -36.65, 107.82 -39.87, 119.33 -50.79 M100.83 -33.97 C105.87 -37.78, 110.98 -43.12, 119.33 -50.79" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(593.2915159969322 326.294111495622) rotate(0 59.587677703881525 -25.581320235236035)"><path d="M94.35 -49.79 C99.52 -48.9, 104.42 -48.53, 119.33 -50.79 M94.35 -49.79 C100.95 -49.6, 107.72 -50.89, 119.33 -50.79" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g transform="translate(10 212.65116965047946) rotate(0 144.7598876953125 37.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">Convert a field element (253</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">bits) to n 50-bit elements</text><text x="0" y="50" 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">1 < n <= 5</text></g><g stroke-linecap="round" transform="translate(315.4100325371529 121.56389676447952) rotate(0 110.05757116156974 32.17741655087593)"><path d="M16.09 0 C82.91 -2.82, 152.47 -1.27, 204.03 0 M16.09 0 C83.05 1.15, 150.95 0.75, 204.03 0 M204.03 0 C214.11 -0.82, 222.06 5.02, 220.12 16.09 M204.03 0 C216.34 0.12, 221.29 4.91, 220.12 16.09 M220.12 16.09 C218.66 27.71, 222.13 36.96, 220.12 48.27 M220.12 16.09 C220.47 24.3, 221.33 30.12, 220.12 48.27 M220.12 48.27 C221.48 58.45, 216.45 63.38, 204.03 64.35 M220.12 48.27 C221.9 58.63, 215.2 66.4, 204.03 64.35 M204.03 64.35 C133.55 65.28, 62.54 63.73, 16.09 64.35 M204.03 64.35 C163.18 64.29, 120.59 63.18, 16.09 64.35 M16.09 64.35 C5.2 66.27, -1.01 60.31, 0 48.27 M16.09 64.35 C3.76 65.61, 0.99 60.49, 0 48.27 M0 48.27 C0.84 36.87, 1.29 24.03, 0 16.09 M0 48.27 C-0.45 42.07, -0.35 34.37, 0 16.09 M0 16.09 C-0.49 5.73, 4.09 0.31, 16.09 0 M0 16.09 C-0.19 4.09, 5.69 0.38, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(328.2877025756758 141.24131331535546) rotate(0 97.17990112304688 12.5)"><text x="97.17990112304688" 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">input (field element)</text></g><g stroke-linecap="round" transform="translate(746.8780920439989 10) rotate(0 126.57626878357974 61.92974013474486)"><path d="M30.96 0 C78.67 0.8, 123.16 -0.67, 222.19 0 M30.96 0 C92.93 -0.14, 156.52 0.1, 222.19 0 M222.19 0 C244.21 0.1, 254.18 9.92, 253.15 30.96 M222.19 0 C243.26 1.49, 251.03 8.41, 253.15 30.96 M253.15 30.96 C252.37 55.65, 253.4 76.71, 253.15 92.89 M253.15 30.96 C254.4 53.64, 254.57 76.38, 253.15 92.89 M253.15 92.89 C254.7 113.23, 243.22 125.64, 222.19 123.86 M253.15 92.89 C254.94 114.73, 244.29 124.44, 222.19 123.86 M222.19 123.86 C165.77 124.05, 111.47 123.56, 30.96 123.86 M222.19 123.86 C147.55 124.41, 72.57 124.11, 30.96 123.86 M30.96 123.86 C8.92 124.95, 0.86 114.84, 0 92.89 M30.96 123.86 C12.01 122.35, 0.85 114.26, 0 92.89 M0 92.89 C-1.87 71.1, -0.66 50.55, 0 30.96 M0 92.89 C0.1 68.4, -0.29 43.69, 0 30.96 M0 30.96 C-0.16 9.21, 10.61 0.33, 30.96 0 M0 30.96 C-1.46 11.27, 10.44 0.6, 30.96 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(753.1844633666411 34.42974013474486) rotate(0 120.2698974609375 37.5)"><text x="120.2698974609375" 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. Convert to bits using </text><text x="120.2698974609375" 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">Num2Bits_strict() of </text><text x="120.2698974609375" 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">circomlib</text></g><g stroke-linecap="round" transform="translate(748.8778336764971 150.03532818601388) rotate(0 108.66984613635154 55)"><path d="M27.5 0 C86.53 1.58, 144.25 -0.43, 189.84 0 M27.5 0 C70.22 0.33, 112.06 0.08, 189.84 0 M189.84 0 C208.55 1.3, 215.5 7.5, 217.34 27.5 M189.84 0 C209.75 2.07, 217.75 7.63, 217.34 27.5 M217.34 27.5 C218.67 50.95, 215.31 72.12, 217.34 82.5 M217.34 27.5 C218.58 42.34, 218 58.39, 217.34 82.5 M217.34 82.5 C218.89 101.87, 209.44 110.5, 189.84 110 M217.34 82.5 C217.04 101.38, 206.08 108.19, 189.84 110 M189.84 110 C127.3 110.59, 60.73 111, 27.5 110 M189.84 110 C124.9 111.62, 61.79 111.72, 27.5 110 M27.5 110 C10.64 108.69, 0.74 101.46, 0 82.5 M27.5 110 C9.89 111.24, -0.23 99.06, 0 82.5 M0 82.5 C2.06 68.4, 1.02 56.02, 0 27.5 M0 82.5 C0.27 64.44, 0.49 47.65, 0 27.5 M0 27.5 C-1.27 9.99, 9.27 0.53, 27.5 0 M0 27.5 C-1.51 10.85, 8.22 -0.61, 27.5 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(756.9177512239814 180.03532818601388) rotate(0 100.62992858886719 25)"><text x="100.62992858886719" 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. Loop from 0 to n</text><text x="100.62992858886719" 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">(not inclusive)</text></g><g stroke-linecap="round" transform="translate(752.0185281093542 278.4551425257878) rotate(0 110.05757116156974 42.5)"><path d="M21.25 0 C85.81 2.51, 151.68 1.95, 198.87 0 M21.25 0 C75.64 1, 128.73 -0.48, 198.87 0 M198.87 0 C214.4 1.8, 220.47 5.75, 220.12 21.25 M198.87 0 C215.18 -0.36, 220.24 8.71, 220.12 21.25 M220.12 21.25 C219.16 39.59, 218.73 56.07, 220.12 63.75 M220.12 21.25 C220.97 33.86, 220.83 45.67, 220.12 63.75 M220.12 63.75 C219.85 78.39, 211.21 83.42, 198.87 85 M220.12 63.75 C222.33 76.74, 214.69 87.07, 198.87 85 M198.87 85 C152.63 83.84, 103.89 83.45, 21.25 85 M198.87 85 C136.6 85.5, 73.24 86.47, 21.25 85 M21.25 85 C7.71 86.07, -0.2 76.38, 0 63.75 M21.25 85 C5.62 84.62, -1.51 80.18, 0 63.75 M0 63.75 C0.17 52.08, 0.11 42.79, 0 21.25 M0 63.75 C-0.7 53.76, -0.01 43.22, 0 21.25 M0 21.25 C-1.31 8.54, 6.26 -0.53, 21.25 0 M0 21.25 C-0.33 4.94, 8.21 0.87, 21.25 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(757.7161978427013 295.9551425257878) rotate(0 104.35990142822266 25)"><text x="104.35990142822266" 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. Create n </text><text x="104.35990142822266" 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">Bits2Num components</text></g><g stroke-linecap="round" transform="translate(29.559420832270234 318.68748370541925) rotate(0 110.05757116156974 32.17741655087593)"><path d="M16.09 0 C77.49 -2.94, 135 0.06, 204.03 0 M16.09 0 C79.89 -0.21, 142.64 -0.33, 204.03 0 M204.03 0 C213.12 -1.84, 218.31 4.62, 220.12 16.09 M204.03 0 C216.99 -1.34, 222.17 3.65, 220.12 16.09 M220.12 16.09 C219.49 22.24, 218.11 33.82, 220.12 48.27 M220.12 16.09 C219.29 25.73, 219.32 33.15, 220.12 48.27 M220.12 48.27 C219.47 58.15, 215.81 64.62, 204.03 64.35 M220.12 48.27 C220.39 59.67, 214.78 63.08, 204.03 64.35 M204.03 64.35 C128.8 64.98, 54.36 64.36, 16.09 64.35 M204.03 64.35 C155.4 64.51, 107.98 63.64, 16.09 64.35 M16.09 64.35 C5.41 65.85, 0.08 60.69, 0 48.27 M16.09 64.35 C7.54 63.39, 0 59.39, 0 48.27 M0 48.27 C1.43 42.03, -0.81 33.18, 0 16.09 M0 48.27 C0.9 37.97, 0.04 26.83, 0 16.09 M0 16.09 C0.25 6.62, 4.61 0.83, 16.09 0 M0 16.09 C2.14 4.43, 5.88 -1.07, 16.09 0" stroke="#f08c00" stroke-width="1" fill="none"></path></g><g transform="translate(72.7370405167892 338.3649002562952) rotate(0 66.87995147705078 12.5)"><text x="66.87995147705078" 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">parameter: n </text></g><g stroke-linecap="round"><g transform="translate(270.36274933499556 339.70132304237313) rotate(0 22.27889688945629 -12.101152245474623)"><path d="M1.18 -0.11 C8.55 -4.15, 37.21 -19.52, 44.62 -23.67 M0.34 -1.22 C7.52 -5.67, 36.19 -21.69, 43.7 -25.51" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(270.36274933499556 339.70132304237313) rotate(0 22.27889688945629 -12.101152245474623)"><path d="M27.06 -6.85 C32.36 -13.18, 39.01 -17.76, 43.7 -25.51 M27.06 -6.85 C30.18 -12.11, 35.78 -15.16, 43.7 -25.51" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(270.36274933499556 339.70132304237313) rotate(0 22.27889688945629 -12.101152245474623)"><path d="M18.96 -21.91 C27.05 -23.27, 36.42 -22.8, 43.7 -25.51 M18.96 -21.91 C23.92 -23.66, 31.41 -23.2, 43.7 -25.51" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(754.5485058920488 384.7739619843951) rotate(0 110.05757116156974 42.5)"><path d="M21.25 0 C59.27 -0.16, 92.05 2.54, 198.87 0 M21.25 0 C61.55 0.42, 100.93 -0.47, 198.87 0 M198.87 0 C214.74 1.72, 218.85 5.42, 220.12 21.25 M198.87 0 C212.14 1.41, 217.98 5.02, 220.12 21.25 M220.12 21.25 C218.32 37.36, 221.36 53.67, 220.12 63.75 M220.12 21.25 C220.44 30.84, 219.62 38.48, 220.12 63.75 M220.12 63.75 C218.6 77.55, 214.01 85.43, 198.87 85 M220.12 63.75 C221.75 75.98, 212.76 85.29, 198.87 85 M198.87 85 C143.53 85.06, 86.39 84.27, 21.25 85 M198.87 85 C135.51 84.35, 70.71 85.11, 21.25 85 M21.25 85 C7.15 85.36, 0.81 79.05, 0 63.75 M21.25 85 C5.62 86.25, -0.95 78.95, 0 63.75 M0 63.75 C-1.57 51.59, 0.29 42.51, 0 21.25 M0 63.75 C-0.88 55.05, 0.58 45.22, 0 21.25 M0 21.25 C-0.28 8.64, 8.72 1.26, 21.25 0 M0 21.25 C-0.55 6.78, 5.42 -0.09, 21.25 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(769.3661478543997 402.2739619843951) rotate(0 95.23992919921875 25)"><text x="95.23992919921875" 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. Loop from 0 to </text><text x="95.23992919921875" 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">50 (not inclusive) </text></g><g stroke-linecap="round" transform="translate(755.2792629019352 495.02175540043936) rotate(0 140.55593966787274 65.66691706378106)"><path d="M32 0 C91.38 -0.79, 154.58 0.57, 249.11 0 M32 0 C107.39 -1.26, 183.82 -2.54, 249.11 0 M249.11 0 C272.19 -0.15, 282.29 9.82, 281.11 32 M249.11 0 C268.41 1.48, 282.02 12.97, 281.11 32 M281.11 32 C281.42 49.04, 283.37 67.12, 281.11 99.33 M281.11 32 C281.07 51.58, 281.06 70.7, 281.11 99.33 M281.11 99.33 C282.65 119.4, 270.8 132.3, 249.11 131.33 M281.11 99.33 C279.68 121.03, 268.95 131.95, 249.11 131.33 M249.11 131.33 C163.41 129.94, 76.25 132.65, 32 131.33 M249.11 131.33 C199.37 131.49, 148.2 131.61, 32 131.33 M32 131.33 C10.08 133.31, -1.63 121.92, 0 99.33 M32 131.33 C10.66 132.3, 0.86 119.6, 0 99.33 M0 99.33 C1.77 77.5, -1.3 56.18, 0 32 M0 99.33 C0.26 81.3, -0.18 62.93, 0 32 M0 32 C1.1 8.84, 9.92 1.65, 32 0 M0 32 C-1.07 10.38, 12.95 2.23, 32 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(765.1553014467611 523.1886724642204) rotate(0 130.67990112304688 37.5)"><text x="130.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">5. Assign as input to the </text><text x="130.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">Bits2Num components the </text><text x="130.67990112304688" 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">input bits in chunks of 50</text></g><g stroke-linecap="round" transform="translate(752.9287189362801 651.038668361477) rotate(0 147.4030487549403 78.10699781685003)"><path d="M32 0 C89.06 -0.16, 144.53 1.68, 262.81 0 M32 0 C101.91 1.14, 170.98 1.03, 262.81 0 M262.81 0 C284.86 0.39, 294.22 12.12, 294.81 32 M262.81 0 C285.14 -1.3, 294.66 11.28, 294.81 32 M294.81 32 C297.09 62.72, 297.16 92.79, 294.81 124.21 M294.81 32 C295.17 57.22, 295.03 80.88, 294.81 124.21 M294.81 124.21 C294.59 144.1, 284.93 155.47, 262.81 156.21 M294.81 124.21 C295.55 145.72, 283.98 155.64, 262.81 156.21 M262.81 156.21 C175.51 158.4, 85.58 158.79, 32 156.21 M262.81 156.21 C216.35 157.53, 169.14 157.47, 32 156.21 M32 156.21 C11.42 154.26, -0.3 145.73, 0 124.21 M32 156.21 C9.05 157.8, 0.09 146.55, 0 124.21 M0 124.21 C0.92 91.04, 2.71 61.1, 0 32 M0 124.21 C0.11 104.33, 1.07 84.29, 0 32 M0 32 C-1.85 11.53, 10.27 -1.36, 32 0 M0 32 C2.17 10.22, 10.93 0.56, 32 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(759.9018970857517 691.6456661783272) rotate(0 140.42987060546875 37.5)"><text x="140.42987060546875" 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. Wire the outputs to the </text><text x="140.42987060546875" 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">out array (array of </text><text x="140.42987060546875" 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">outputs from Bits2Num)</text></g><g stroke-linecap="round" transform="translate(1056.5650959770664 291.67193674351256) rotate(0 110.05757116156975 42.5)"><path d="M21.25 0 C69.91 2.34, 120.28 -1.16, 198.87 0 M21.25 0 C82.15 0.81, 143.4 2.16, 198.87 0 M198.87 0 C212.17 0.79, 221.87 7.59, 220.12 21.25 M198.87 0 C210.82 0.58, 218.36 6.69, 220.12 21.25 M220.12 21.25 C218.32 36.93, 218.76 48.4, 220.12 63.75 M220.12 21.25 C220.78 30.34, 219.59 38.94, 220.12 63.75 M220.12 63.75 C220.41 79.81, 214 86.87, 198.87 85 M220.12 63.75 C221.1 79.45, 212.53 86.51, 198.87 85 M198.87 85 C146.85 87.61, 91.35 86.21, 21.25 85 M198.87 85 C133.12 86.78, 66.63 86.98, 21.25 85 M21.25 85 C6.21 86.7, 0.05 79.78, 0 63.75 M21.25 85 C7.47 85.61, -0.64 77.11, 0 63.75 M0 63.75 C-1.72 45.47, -0.18 29.99, 0 21.25 M0 63.75 C-0.99 55.66, -0.33 46.2, 0 21.25 M0 21.25 C1.27 5.66, 7.99 0.72, 21.25 0 M0 21.25 C1.09 8.2, 8.47 2.28, 21.25 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1064.0027406859995 296.67193674351256) rotate(0 102.61992645263672 37.5)"><text x="102.61992645263672" 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">Allows to convert a </text><text x="102.61992645263672" 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">50-bit input to a </text><text x="102.61992645263672" 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">number</text></g><g stroke-linecap="round"><g transform="translate(990.5812320283471 324.77064607475904) rotate(0 26.452024971070713 -1.8498228121004558)"><path d="M0.6 0.47 C9.56 -0.3, 44.4 -2.89, 53.02 -3.7 M-0.55 -0.33 C8.33 -0.98, 43.5 -1.65, 52.13 -2.17" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(990.5812320283471 324.77064607475904) rotate(0 26.452024971070713 -1.8498228121004558)"><path d="M28.97 7.25 C35.19 5.09, 39.91 1.68, 52.13 -2.17 M28.97 7.25 C34.1 5.32, 39.31 2.08, 52.13 -2.17" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(990.5812320283471 324.77064607475904) rotate(0 26.452024971070713 -1.8498228121004558)"><path d="M28.33 -9.84 C34.84 -7.94, 39.7 -7.28, 52.13 -2.17 M28.33 -9.84 C33.68 -7.64, 39.04 -6.75, 52.13 -2.17" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask></svg>
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1217.3312986646956 496.83961586464534" width="3651.993895994087" height="1490.518847593936">
|
|
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="1217.3312986646956" height="496.83961586464534" fill="#ffffff"></rect><g stroke-linecap="round" transform="translate(321.0041776352655 269.2483868541449) rotate(0 114.33810379333897 33.800522136203085)"><path d="M16.9 0 C88.76 -0.11, 158 0.44, 211.78 0 M16.9 0 C71.53 0.82, 127.07 1.75, 211.78 0 M211.78 0 C223.68 -0.9, 227.92 5.41, 228.68 16.9 M211.78 0 C225.18 -0.9, 226.79 5.25, 228.68 16.9 M228.68 16.9 C227.74 23.13, 228.84 30.7, 228.68 50.7 M228.68 16.9 C227.98 29.02, 228.54 40.3, 228.68 50.7 M228.68 50.7 C228.21 60.46, 222 67.03, 211.78 67.6 M228.68 50.7 C228.75 64.04, 223.87 66.73, 211.78 67.6 M211.78 67.6 C168.98 65.25, 127.31 68.09, 16.9 67.6 M211.78 67.6 C163.66 70.17, 117.7 68.45, 16.9 67.6 M16.9 67.6 C6.89 68.79, 0.74 63.11, 0 50.7 M16.9 67.6 C6.18 66.16, 1.05 63.67, 0 50.7 M0 50.7 C1.57 41.72, -1.05 32.87, 0 16.9 M0 50.7 C-1.02 41.13, -0.71 32.91, 0 16.9 M0 16.9 C-1.23 6.5, 4.23 -0.32, 16.9 0 M0 16.9 C0.42 4.17, 5.24 -0.28, 16.9 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(362.94235619667086 290.54890899034785) rotate(0 72.3999252319336 12.5)"><text x="72.3999252319336" 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">VerifySignature</text></g><g stroke-linecap="round"><g transform="translate(421.4347549620111 183.87817598008132) rotate(0 -2.731305301702662 40.81570261330023)"><path d="M1.15 -0.19 C-0.03 13.24, -5.01 67.39, -6.26 80.99 M0.29 -1.34 C-0.58 12.2, -3.27 68.21, -3.96 82.19" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(421.4347549620111 183.87817598008132) rotate(0 -2.731305301702662 40.81570261330023)"><path d="M-12.83 53.53 C-9.79 62.65, -7.29 73.06, -3.96 82.19 M-12.83 53.53 C-10.21 60.96, -8.45 69.25, -3.96 82.19" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(421.4347549620111 183.87817598008132) rotate(0 -2.731305301702662 40.81570261330023)"><path d="M7.67 54.53 C3.17 63.48, -1.86 73.52, -3.96 82.19 M7.67 54.53 C4.61 61.83, 0.68 69.84, -3.96 82.19" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g transform="translate(467.98908237813475 222.12563565743494) 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 transform="translate(479.2753184901371 370.6925433639308) rotate(0 34.84996032714844 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">Output</text></g><g stroke-linecap="round"><g transform="translate(418.5707446353731 356.0076752655941) rotate(0 0.2229014099474398 20.511057519056408)"><path d="M-0.3 0.39 C-0.13 7.21, 0.53 34.01, 0.62 40.77 M0.54 0.11 C0.69 7.01, 0.41 34.44, 0.28 41.35" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(418.5707446353731 356.0076752655941) rotate(0 0.2229014099474398 20.511057519056408)"><path d="M-6.48 21.98 C-4.26 26.72, -3.88 30.42, 0.28 41.35 M-6.48 21.98 C-4.85 27.51, -2.89 33.64, 0.28 41.35" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(418.5707446353731 356.0076752655941) rotate(0 0.2229014099474398 20.511057519056408)"><path d="M7.55 22.17 C6.58 26.82, 3.77 30.49, 0.28 41.35 M7.55 22.17 C5.13 27.61, 3.03 33.69, 0.28 41.35" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(321.73479892342675 421.93401753200305) rotate(0 110.05757116156974 32.17741655087593)"><path d="M16.09 0 C61.23 -1.36, 107.97 1.26, 204.03 0 M16.09 0 C64.31 1.22, 113.35 -0.31, 204.03 0 M204.03 0 C213.58 -0.15, 219.1 6.12, 220.12 16.09 M204.03 0 C212.78 -0.82, 219.17 6.98, 220.12 16.09 M220.12 16.09 C218.79 25.21, 219.73 36.48, 220.12 48.27 M220.12 16.09 C219.36 28.22, 219.51 40.52, 220.12 48.27 M220.12 48.27 C219.18 57.48, 216.66 63.23, 204.03 64.35 M220.12 48.27 C221.16 60.86, 213.23 66.63, 204.03 64.35 M204.03 64.35 C133.07 66.27, 60.87 66.01, 16.09 64.35 M204.03 64.35 C159.24 65.69, 114.06 66.52, 16.09 64.35 M16.09 64.35 C5.93 63.28, 1.28 58.4, 0 48.27 M16.09 64.35 C7.06 65.69, -1.77 58, 0 48.27 M0 48.27 C0.71 38.68, -0.47 32.27, 0 16.09 M0 48.27 C0.5 40.12, -0.75 32.37, 0 16.09 M0 16.09 C-0.54 6.98, 6.78 -1.23, 16.09 0 M0 16.09 C-1.55 4.33, 5.09 1.94, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(409.3823893110707 441.611434082879) rotate(0 22.40998077392578 12.5)"><text x="22.40998077392578" 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">valid</text></g><g transform="translate(604.3045623273312 260.52445102419415) 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"><g transform="translate(610.393068410685 311.06455075794474) rotate(0 93.97450351338216 1.8903043869634075)"><path d="M-0.98 -0.2 C29.99 0.69, 155.65 4.33, 186.98 4.87 M0.7 -1.35 C31.95 -0.73, 157.73 2.44, 189.18 3.32" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(610.393068410685 311.06455075794474) rotate(0 93.97450351338216 1.8903043869634075)"><path d="M160.73 12.84 C171.61 7.71, 184.95 4, 189.18 3.32 M160.73 12.84 C167.04 10.98, 173.45 7.98, 189.18 3.32" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(610.393068410685 311.06455075794474) rotate(0 93.97450351338216 1.8903043869634075)"><path d="M161.27 -7.68 C171.86 -4.74, 184.99 -0.39, 189.18 3.32 M161.27 -7.68 C167.33 -4.66, 173.62 -2.78, 189.18 3.32" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g transform="translate(10 269.0311999256169) rotate(0 126.28990173339844 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">Verify a EdDSA signature</text></g><g stroke-linecap="round" transform="translate(312.12392397068345 107.21675958591004) rotate(0 110.05757116156974 32.17741655087593)"><path d="M16.09 0 C56.02 0.32, 98.3 0.48, 204.03 0 M16.09 0 C79.15 1.37, 143.18 1.24, 204.03 0 M204.03 0 C214.29 -1.51, 219.08 4.79, 220.12 16.09 M204.03 0 C214.83 2.07, 220.94 4.49, 220.12 16.09 M220.12 16.09 C218.66 22, 218.47 31.69, 220.12 48.27 M220.12 16.09 C219.6 24.91, 221.1 31.02, 220.12 48.27 M220.12 48.27 C221.37 60.18, 215.49 65.5, 204.03 64.35 M220.12 48.27 C220.66 57.55, 215.8 66.06, 204.03 64.35 M204.03 64.35 C152.45 63.52, 96.71 64.23, 16.09 64.35 M204.03 64.35 C152.46 65.02, 101.97 65.93, 16.09 64.35 M16.09 64.35 C4.13 65.22, -1.4 58.67, 0 48.27 M16.09 64.35 C5.78 62.89, -0.39 58.71, 0 48.27 M0 48.27 C-1.2 36.64, 1.79 27.5, 0 16.09 M0 48.27 C0.1 41.44, -0.53 33.73, 0 16.09 M0 16.09 C-1.02 7.29, 3.92 -0.5, 16.09 0 M0 16.09 C1.22 6.57, 5.1 1.21, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(390.20152992229225 126.89417613678597) rotate(0 31.979965209960938 12.5)"><text x="31.979965209960938" 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">pubKey</text></g><g stroke-linecap="round" transform="translate(821.4290949205064 156.92763297834836) rotate(0 110.05757116156974 42.5)"><path d="M21.25 0 C64.85 -0.82, 106.22 0.08, 198.87 0 M21.25 0 C86.8 -1.76, 152.3 -1.29, 198.87 0 M198.87 0 C213.1 1.8, 220.83 6.33, 220.12 21.25 M198.87 0 C211.03 -0.95, 218.45 5.57, 220.12 21.25 M220.12 21.25 C218.66 32.92, 221.42 41.45, 220.12 63.75 M220.12 21.25 C221.1 38.8, 220.84 55.72, 220.12 63.75 M220.12 63.75 C220.59 76.66, 213.95 86.48, 198.87 85 M220.12 63.75 C219.72 77.8, 211.31 86.78, 198.87 85 M198.87 85 C139.94 87.61, 83.36 84.6, 21.25 85 M198.87 85 C152.62 86.28, 106.9 85.69, 21.25 85 M21.25 85 C7.45 83.73, -0.34 77.67, 0 63.75 M21.25 85 C8.11 83.74, -1.84 76.34, 0 63.75 M0 63.75 C-1.57 50.79, -1.24 40.29, 0 21.25 M0 63.75 C-0.19 48.37, -0.4 30.81, 0 21.25 M0 21.25 C1.06 8.14, 6.86 1.06, 21.25 0 M0 21.25 C-1.74 9, 5.48 -1.54, 21.25 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(829.3667472588339 174.42763297834836) rotate(0 102.11991882324219 25)"><text x="102.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">1. hash the preImage</text><text x="102.11991882324219" 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 Poseidon</text></g><g stroke-linecap="round" transform="translate(819.2869353481848 267.96382233672193) rotate(0 194.02218165825548 55)"><path d="M27.5 0 C99.75 1.14, 170.87 0.61, 360.54 0 M27.5 0 C102.25 1.25, 177.2 0.39, 360.54 0 M360.54 0 C377.13 -0.82, 386.6 7.85, 388.04 27.5 M360.54 0 C377.8 -1.74, 390.23 7.87, 388.04 27.5 M388.04 27.5 C390.47 48.17, 387.02 66.74, 388.04 82.5 M388.04 27.5 C388.49 46.65, 388.7 67.8, 388.04 82.5 M388.04 82.5 C387.7 100.73, 377.38 111.55, 360.54 110 M388.04 82.5 C388.7 99.6, 380.35 109.32, 360.54 110 M360.54 110 C235.51 107.65, 112.3 107.43, 27.5 110 M360.54 110 C246.4 109.21, 131.89 109.56, 27.5 110 M27.5 110 C10.06 108.91, -1.6 99.46, 0 82.5 M27.5 110 C8.55 111.86, 1.62 99.42, 0 82.5 M0 82.5 C1.94 68.21, 1.87 55.87, 0 27.5 M0 82.5 C0.93 61.22, 0.28 39.42, 0 27.5 M0 27.5 C-1.51 10.83, 7.77 -1.34, 27.5 0 M0 27.5 C0.21 10.77, 10.3 -1.48, 27.5 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(831.4892470113231 272.96382233672193) rotate(0 181.8198699951172 50)"><text x="181.8198699951172" 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 using </text><text x="181.8198699951172" 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">EdDSAPoseidonVerifier_patched</text><text x="181.8198699951172" 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">which takes all inputs and the hash </text><text x="181.8198699951172" 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">of the preImage of the signature</text></g><g stroke-linecap="round" transform="translate(818.1681233501882 401.83961586464534) rotate(0 110.05757116156974 42.5)"><path d="M21.25 0 C75.84 -0.63, 132.88 0.48, 198.87 0 M21.25 0 C89.63 0.26, 159.03 0.01, 198.87 0 M198.87 0 C212.09 -1.52, 222.02 5.95, 220.12 21.25 M198.87 0 C214.07 1.87, 218.6 9.36, 220.12 21.25 M220.12 21.25 C220.99 38.3, 220.95 54.36, 220.12 63.75 M220.12 21.25 C220.14 31.29, 219.56 42.2, 220.12 63.75 M220.12 63.75 C220.68 76.85, 214.31 84.41, 198.87 85 M220.12 63.75 C221.81 79.26, 211.27 84.01, 198.87 85 M198.87 85 C154.56 82.5, 108.21 84.27, 21.25 85 M198.87 85 C157.35 84.24, 114.13 84.1, 21.25 85 M21.25 85 C6.55 86.62, 1.41 76.69, 0 63.75 M21.25 85 C5.54 83.96, -0.27 79.86, 0 63.75 M0 63.75 C1.58 52.71, -0.85 45.62, 0 21.25 M0 63.75 C-0.71 49.6, -0.65 33.11, 0 21.25 M0 21.25 C0.19 8.48, 8.07 -1.28, 21.25 0 M0 21.25 C1.8 5.83, 7.43 -0.4, 21.25 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(826.6457766040431 419.33961586464534) rotate(0 101.57991790771484 25)"><text x="101.57991790771484" 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. Return whether is</text><text x="101.57991790771484" 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">valid or not</text></g><g stroke-linecap="round" transform="translate(61.99469259540717 105.26086868321454) rotate(0 110.05757116156974 32.17741655087593)"><path d="M16.09 0 C55.1 -0.82, 97.29 -0.92, 204.03 0 M16.09 0 C60.06 -0.54, 104.77 -0.21, 204.03 0 M204.03 0 C215.56 0.02, 221.19 3.66, 220.12 16.09 M204.03 0 C212.7 -0.46, 219.69 7.48, 220.12 16.09 M220.12 16.09 C218.9 24.79, 222.29 30.57, 220.12 48.27 M220.12 16.09 C219.82 25.65, 220.33 36.12, 220.12 48.27 M220.12 48.27 C220.67 59.81, 214.06 64.01, 204.03 64.35 M220.12 48.27 C218.84 57.11, 215.53 65.49, 204.03 64.35 M204.03 64.35 C134.44 65.69, 64.81 63.6, 16.09 64.35 M204.03 64.35 C143.77 63.08, 84.22 63.05, 16.09 64.35 M16.09 64.35 C3.45 63.62, -0.75 60.78, 0 48.27 M16.09 64.35 C6.47 65.87, -1.2 57.38, 0 48.27 M0 48.27 C-2.21 38.1, 1.4 31.59, 0 16.09 M0 48.27 C0.64 35.13, -1.24 22.69, 0 16.09 M0 16.09 C-1.63 6.15, 6.4 0.31, 16.09 0 M0 16.09 C-1.72 5.89, 4.62 -0.88, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(120.202311059223 124.93828523409047) rotate(0 51.849952697753906 12.5)"><text x="51.849952697753906" 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">signatureR</text></g><g stroke-linecap="round" transform="translate(552.8217271194076 104.8566288276329) rotate(0 110.05757116156974 32.17741655087593)"><path d="M16.09 0 C92.23 0.62, 166.8 -1.05, 204.03 0 M16.09 0 C64.87 1.81, 113.62 1.49, 204.03 0 M204.03 0 C214.38 -0.92, 220.6 5.98, 220.12 16.09 M204.03 0 C216.62 0.01, 221 5.33, 220.12 16.09 M220.12 16.09 C218.65 23.6, 220.85 34.37, 220.12 48.27 M220.12 16.09 C220.16 26.13, 220.33 37.13, 220.12 48.27 M220.12 48.27 C219.07 59.89, 216.63 66.01, 204.03 64.35 M220.12 48.27 C222.26 60.44, 215.63 64, 204.03 64.35 M204.03 64.35 C146.66 63.06, 85.76 65.02, 16.09 64.35 M204.03 64.35 C148.04 63.62, 91.25 62.28, 16.09 64.35 M16.09 64.35 C4.39 63.79, 0.45 57.77, 0 48.27 M16.09 64.35 C3.07 64.5, 0.29 58.04, 0 48.27 M0 48.27 C-1.58 36.6, -0.76 24, 0 16.09 M0 48.27 C-0.94 36.5, -0.41 25.6, 0 16.09 M0 16.09 C1.69 6.74, 3.6 -1.36, 16.09 0 M0 16.09 C-1.76 5.43, 3.32 1.68, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(611.7293501608601 124.53404537850884) rotate(0 51.14994812011719 12.5)"><text x="51.14994812011719" 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">signatureS</text></g><g stroke-linecap="round" transform="translate(319.9645984579398 10) rotate(0 110.05757116156974 32.17741655087593)"><path d="M16.09 0 C56.1 -3.17, 96.71 -3.37, 204.03 0 M16.09 0 C67.11 -0.94, 117.53 -0.81, 204.03 0 M204.03 0 C216.63 -1.52, 218.55 5.29, 220.12 16.09 M204.03 0 C213.59 0.13, 219.04 5.35, 220.12 16.09 M220.12 16.09 C220.84 26.31, 218.45 37.31, 220.12 48.27 M220.12 16.09 C221.15 28.91, 219.9 40.65, 220.12 48.27 M220.12 48.27 C218.34 58.62, 215.88 65.94, 204.03 64.35 M220.12 48.27 C221.98 60.4, 216.18 62.69, 204.03 64.35 M204.03 64.35 C154.41 64.6, 108.46 63.64, 16.09 64.35 M204.03 64.35 C142.34 64.99, 81.51 64.34, 16.09 64.35 M16.09 64.35 C3.84 64.21, -1.05 57.06, 0 48.27 M16.09 64.35 C6.55 66.09, -1.49 61.09, 0 48.27 M0 48.27 C0.34 36.09, -0.03 24.79, 0 16.09 M0 48.27 C-1.02 39.7, -0.21 30.88, 0 16.09 M0 16.09 C1.6 3.93, 6.96 0.4, 16.09 0 M0 16.09 C-1.78 5.13, 4.26 -1.6, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(365.8422227200955 17.177416550875932) rotate(0 64.17994689941406 25)"><text x="64.17994689941406" 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">preImage (4 </text><text x="64.17994689941406" 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">elements)</text></g></svg>
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<!-- Do not edit this file with editors other than draw.io -->
|
|
3
|
+
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
|
4
|
+
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="841px" height="601px" viewBox="-0.5 -0.5 841 601" content="<mxfile host="app.diagrams.net" modified="2023-11-29T16:50:25.765Z" agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36" version="22.1.3" etag="1rgiwoidFmTS43vuqws4" type="google"><diagram name="Page-1" id="D50t5GcNa2-JsIkVJtEn">3Vpbb6M4FP41kWZfqgABksdcOhdpKlWTlXb76IALnjGYGtMk++v3GOxwMRlFKimZVmpqH2xjf+c7N6cTZ50cvnCUxQ8sxHRiT8PDxNlMbNt2PQv+SMmxklgLf1FJIk5CJasFW/IfVsKpkhYkxHlroGCMCpK1hQFLUxyIlgxxzvbtYc+Mtt+aoQgbgm2AqCn9h4QirqRz26/lXzGJYv1my1PnS5AerE6Sxyhk+4bIuZ84a86YqFrJYY2pRE/jUs37fObpaWMcp+KSCbbahjjqs+EQjqq6jIuYRSxF9L6Wrjgr0hDLBabQq8d8ZywDoQXCn1iIo9IbKgQDUSwSqp7iAxH/qumy/STbd07nRz3cHBojN8dG5xFzkmCBuZJVR5H7b4GRs4IHSjRTZEE8wgofz4TMOikCKIwZvIMfYQjHFAny2l4dKSpFp3E12tBQgPeD74wCfgq7LNG/c3X3SaMqOzXgZe/4JnTnw6NbTl1yjo6NARkjqcgbKz9KAQxQTsf1lcEplzObdhRVLVir7bSzizSpTv6KaKEOsGaMhyRFgvGJ7VE4+2onW5E4YdnQO7iBTDaLhC4DOcVZvWIuCLic72iH6SPLiSAshSE7JgRLGgOWlETygZAEaGqaFYKSFK9PTrBWo5yLD2d9xhkVqQlOB0vty/a1K3SUKG54QW/6dotxP5jFeKbFaJc8hkPyDBo/YNiZDFw4z1HZQkEAny8FhiFdZdRQS9z2MRF4m6HysHtIBdqwDsBESxNCMXFhMtGyr0RF/4NRcW5S0fIvVsjgVJyfpWIukLg1IrpW2yW+JxEXJlLL9be7RMK1lVgtX7bF7geklPmnv0ZHyrHbSDlTE6qrhQ+tpQ9jtJaufppWuxjPavV+fkfGGyChuxiThLaB0d8xzqVLSzGAIGtZ+NhVYRdwk6JnDjkfvBd+H1m5HNS2giPI67pgAiyijVguOPsFeSCVieUmZamk9TOhtCNCKpMMAEbczEF1ipmQMCxtok9FbTsZQEv+tK0la9bjVf0eLflDaGmU4uwSk++psqzLsR3e5M3aRzK0MvkHFJDbNXv7Xc1+lNrlEkL5JqHGDCHeKDFaXUnp9lMdrs/fQZ3ieiuq10H+DXG9Ryfa0EZRin+Zkd9wovm+xj4fhcRXTDQXJiE1wKMQ0qx6vuAU86o0FHGrUExlBrVDlDJ5Iygv1/MygUoSIhK59bG56na4OuvLdK5VP+p1G1DGKI8/TdxViaA06K8gmNhryZIkE8dViaV8UAmnE3djWjy8hmT5uXRxWARnc7+FoOv0IDj3TAQXQyBomWf/o63dtnus3RnP2vV++sNPdTV5W8GnE3u8nthj9dizOwQbnUvAuj2QnB6ndz2QzKpF3i+SNGqHj+WLfBHNWUnrvKBl6CCpAd6Hqbq9TpE0s3o86UBqgW79VXf1tVv9HwPO/f8=</diagram></mxfile>" style="background-color: rgb(255, 255, 255);"><defs/><g><path d="M 340 20 L 155 20 L 155 63.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 155 68.88 L 151.5 61.88 L 155 63.63 L 158.5 61.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 370 20 L 540 20 L 540 63.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 540 68.88 L 536.5 61.88 L 540 63.63 L 543.5 61.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><ellipse cx="355" cy="7.5" rx="7.5" ry="7.5" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><path d="M 355 15 L 355 40 M 355 20 L 340 20 M 355 20 L 370 20 M 355 40 L 340 60 M 355 40 L 370 60" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 67px; margin-left: 355px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;">Coordinator<br /></div></div></div></foreignObject><text x="355" y="79" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Coord...</text></switch></g><path d="M 155 130 L 155 185 L 105 185 L 105 233.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 105 238.88 L 101.5 231.88 L 105 233.63 L 108.5 231.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><rect x="95" y="70" width="120" height="60" rx="9" ry="9" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 100px; margin-left: 96px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Merge message acc queue</div></div></div></foreignObject><text x="155" y="104" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Merge message acc qu...</text></switch></g><path d="M 540 130 L 540 155 L 405 155 L 405 173.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 405 178.88 L 401.5 171.88 L 405 173.63 L 408.5 171.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><rect x="480" y="70" width="120" height="60" rx="9" ry="9" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 100px; margin-left: 481px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Merge state acc queue</div></div></div></foreignObject><text x="540" y="104" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Merge state acc queue</text></switch></g><rect x="290" y="280" width="230" height="60" rx="9" ry="9" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 228px; height: 1px; padding-top: 310px; margin-left: 291px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">MACI.mergeStateAqSubRoots()</div></div></div></foreignObject><text x="405" y="314" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">MACI.mergeStateAqSubRoots()</text></switch></g><path d="M 675 340 L 675 380 L 550 380 L 550 413.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 550 418.88 L 546.5 411.88 L 550 413.63 L 553.5 411.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><rect x="560" y="280" width="230" height="60" rx="9" ry="9" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 228px; height: 1px; padding-top: 310px; margin-left: 561px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">MACI.mergeStateAq()</div></div></div></foreignObject><text x="675" y="314" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">MACI.mergeStateAq()</text></switch></g><rect x="670" y="120" width="170" height="70" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 168px; height: 1px; padding-top: 155px; margin-left: 671px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">These need to be merged from a Poll contract</div></div></div></foreignObject><text x="755" y="159" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">These need to be merged from...</text></switch></g><path d="M 675 240 L 675 273.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 675 278.88 L 671.5 271.88 L 675 273.63 L 678.5 271.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><rect x="560" y="180" width="230" height="60" rx="9" ry="9" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 228px; height: 1px; padding-top: 210px; margin-left: 561px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Poll.mergeMaciStateAq()</div></div></div></foreignObject><text x="675" y="214" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Poll.mergeMaciStateAq()</text></switch></g><path d="M 405 240 L 405 273.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 405 278.88 L 401.5 271.88 L 405 273.63 L 408.5 271.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 520 210 L 553.63 210" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 558.88 210 L 551.88 213.5 L 553.63 210 L 551.88 206.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><rect x="290" y="180" width="230" height="60" rx="9" ry="9" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 228px; height: 1px; padding-top: 210px; margin-left: 291px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Poll.mergeMaciStateAqSubRoots()</div></div></div></foreignObject><text x="405" y="214" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Poll.mergeMaciStateAqSubRoots()</text></switch></g><path d="M 550 480 L 550 500 L 550 490 L 550 503.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 550 508.88 L 546.5 501.88 L 550 503.63 L 553.5 501.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><rect x="490" y="420" width="120" height="60" rx="9" ry="9" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 450px; margin-left: 491px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Generate the state and ballot roots commitment</div></div></div></foreignObject><text x="550" y="454" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Generate the state a...</text></switch></g><ellipse cx="550" cy="555" rx="93" ry="45" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 184px; height: 1px; padding-top: 555px; margin-left: 458px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">hash([stateRootHash, emptyBallotRoot, 0])</div></div></div></foreignObject><text x="550" y="559" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">hash([stateRootHash, emptyBallo...</text></switch></g><path d="M 105 290 L 105 310 L 105 300 L 105 313.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 105 318.88 L 101.5 311.88 L 105 313.63 L 108.5 311.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><rect x="0" y="240" width="210" height="50" rx="7.5" ry="7.5" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 208px; height: 1px; padding-top: 265px; margin-left: 1px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"></div></div></foreignObject></switch></g><rect x="0" y="320" width="210" height="50" rx="7.5" ry="7.5" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 208px; height: 1px; padding-top: 345px; margin-left: 1px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Poll.mergeMessageAq()</div></div></div></foreignObject><text x="105" y="349" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Poll.mergeMessageAq()</text></switch></g><rect x="660" y="390" width="110" height="50" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 108px; height: 1px; padding-top: 415px; margin-left: 661px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Merging the stateAq also results in</div></div></div></foreignObject><text x="715" y="419" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Merging the stateA...</text></switch></g></g><switch><g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"/><a transform="translate(0,-5)" xlink:href="https://www.drawio.com/doc/faq/svg-export-text-problems" target="_blank"><text text-anchor="middle" font-size="10px" x="50%" y="100%">Text is not SVG - cannot display</text></a></switch></svg>
|