{"abi":[{"type":"function","name":"UPGRADE_INTERFACE_VERSION","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"getRoot","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"initialOwner","type":"address","internalType":"address"},{"name":"_verifier","type":"address","internalType":"contract Groth16Verifier_NfAnonNullifier"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"lockProof","inputs":[{"name":"proof","type":"tuple","internalType":"struct Commonlib.Proof","components":[{"name":"pA","type":"uint256[2]","internalType":"uint256[2]"},{"name":"pB","type":"uint256[2][2]","internalType":"uint256[2][2]"},{"name":"pC","type":"uint256[2]","internalType":"uint256[2]"}]},{"name":"delegate","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"mint","inputs":[{"name":"utxos","type":"uint256[]","internalType":"uint256[]"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transfer","inputs":[{"name":"nullifier","type":"uint256","internalType":"uint256"},{"name":"output","type":"uint256","internalType":"uint256"},{"name":"root","type":"uint256","internalType":"uint256"},{"name":"proof","type":"tuple","internalType":"struct Commonlib.Proof","components":[{"name":"pA","type":"uint256[2]","internalType":"uint256[2]"},{"name":"pB","type":"uint256[2][2]","internalType":"uint256[2][2]"},{"name":"pC","type":"uint256[2]","internalType":"uint256[2]"}]},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeToAndCall","inputs":[{"name":"newImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint64","indexed":false,"internalType":"uint64"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"UTXOMint","inputs":[{"name":"outputs","type":"uint256[]","indexed":false,"internalType":"uint256[]"},{"name":"submitter","type":"address","indexed":true,"internalType":"address"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"UTXOTransfer","inputs":[{"name":"inputs","type":"uint256[]","indexed":false,"internalType":"uint256[]"},{"name":"outputs","type":"uint256[]","indexed":false,"internalType":"uint256[]"},{"name":"submitter","type":"address","indexed":true,"internalType":"address"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"AddressEmptyCode","inputs":[{"name":"target","type":"address","internalType":"address"}]},{"type":"error","name":"ERC1967InvalidImplementation","inputs":[{"name":"implementation","type":"address","internalType":"address"}]},{"type":"error","name":"ERC1967NonPayable","inputs":[]},{"type":"error","name":"FailedCall","inputs":[]},{"type":"error","name":"IdentityNotRegistered","inputs":[{"name":"addr","type":"address","internalType":"address"}]},{"type":"error","name":"InvalidInitialization","inputs":[]},{"type":"error","name":"NotInitializing","inputs":[]},{"type":"error","name":"OwnableInvalidOwner","inputs":[{"name":"owner","type":"address","internalType":"address"}]},{"type":"error","name":"OwnableUnauthorizedAccount","inputs":[{"name":"account","type":"address","internalType":"address"}]},{"type":"error","name":"UTXOAlreadyOwned","inputs":[{"name":"utxo","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"UTXOAlreadySpent","inputs":[{"name":"utxo","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"UTXOArrayTooLarge","inputs":[{"name":"maxAllowed","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"UTXODuplicate","inputs":[{"name":"utxo","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"UTXONotMinted","inputs":[{"name":"utxo","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"UTXORootNotFound","inputs":[{"name":"root","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"UUPSUnauthorizedCallContext","inputs":[]},{"type":"error","name":"UUPSUnsupportedProxiableUUID","inputs":[{"name":"slot","type":"bytes32","internalType":"bytes32"}]}],"bytecode":{"object":"0x60a0806040523460295730608052611ed0908161002e823960805181818161084b01526110030152f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c80630dd1dc8b146100c457806312c0fed2146100bf578063485cc955146100ba5780634f1ef286146100b557806352d1902d146100b05780635ca1e165146100ab578063715018a6146100a65780638bb2513b146100a15780638da5cb5b1461009c578063ad3cb1cc146100975763f2fde38b14610092575f80fd5b610bb3565b610b3d565b610aeb565b610a42565b61096e565b6108c3565b610824565b61079f565b6104b3565b610316565b61013d565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9c6101009101126100f957606490565b5f80fd5b6003196101009101126100f957600490565b9181601f840112156100f95782359167ffffffffffffffff83116100f957602083818601950101116100f957565b346100f9576101806003193601126100f957602435600435604435610161366100c9565b90610164359267ffffffffffffffff84116100f957602061018961025795369060040161010f565b929094610194610be0565b978261019f8a610c60565b526101a8610be0565b95816101b388610c60565b526101c76101c282898d611384565b610c86565b6101cf610ceb565b938452602084015260408301526102176101fe60345473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1690565b906040518098819482937f11479fea00000000000000000000000000000000000000000000000000000000845260c0810190604081019060048601610d19565b03915afa9081156102f3576102986102b0927fcb56a7130431b68e0e636f24584d40580490c1bf882bef3701f317d47ba98c38965f916102c4575b50610d8e565b6102a283876116a6565b604051938493339785610e46565b0390a26040516001815280602081015b0390f35b6102e6915060203d6020116102ec575b6102de818361074b565b810190610d01565b5f610292565b503d6102d4565b610d83565b73ffffffffffffffffffffffffffffffffffffffff8116036100f957565b346100f9576101206003193601126100f95761047a610334366100fd565b61043a6101043591610345836102f8565b6103ac60c0610355610100610773565b83358152926020810135602085015261039861038b604083018035604088015261037f8160200190565b35606088015260400190565b8035608087015260200190565b3560a085015201803560c084015260200190565b3560e08201526040516103d5816103c76020820194856117e1565b03601f19810183528261074b565b51902073ffffffffffffffffffffffffffffffffffffffff61041b610401835f525f60205260405f2090565b5473ffffffffffffffffffffffffffffffffffffffff1690565b1615801561047c575b61042d90610e81565b5f525f60205260405f2090565b9073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff0000000000000000000000000000000000000000825416179055565b005b5061042d610494610401835f525f60205260405f2090565b73ffffffffffffffffffffffffffffffffffffffff1633149050610424565b346100f95760406003193601126100f9576004356104d0816102f8565b602435906104dd826102f8565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00549167ffffffffffffffff61052360ff604086901c16159467ffffffffffffffff1690565b1680159081610716575b600114908161070c575b159081610703575b506106db576105c091836105b760017fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000007ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005416177ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0055565b61066057610f0c565b6105c657005b6106317fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054167ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0055565b604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a1005b6106d6680100000000000000007fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005416177ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0055565b610f0c565b7ff92ee8a9000000000000000000000000000000000000000000000000000000005f5260045ffd5b9050155f61053f565b303b159150610537565b84915061052d565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b90601f601f19910116810190811067ffffffffffffffff82111761076e57604052565b61071e565b90610781604051928361074b565b565b67ffffffffffffffff811161076e57601f01601f191660200190565b60406003193601126100f9576004356107b7816102f8565b6024359067ffffffffffffffff82116100f957366023830112156100f9578160040135906107e482610783565b916107f2604051938461074b565b80835236602482860101116100f9576020815f92602461047a97018387013784010152610fea565b5f9103126100f957565b346100f9575f6003193601126100f95773ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016300361089b5760206040517f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8152f35b7fe07c8dba000000000000000000000000000000000000000000000000000000005f5260045ffd5b346100f9575f6003193601126100f9576040517f79f971250000000000000000000000000000000000000000000000000000000081526001600482015260208160248173__$a9045d4c56ee07180ebebc7f688ffab42f$__5af480156102f3576102c0915f9161093f575b506040519081529081906020820190565b610961915060203d602011610967575b610959818361074b565b810190611195565b5f61092e565b503d61094f565b346100f9575f6003193601126100f95761098661180d565b5f73ffffffffffffffffffffffffffffffffffffffff7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300547fffffffffffffffffffffffff000000000000000000000000000000000000000081167f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930055167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b67ffffffffffffffff811161076e5760051b60200190565b346100f95760406003193601126100f95760043567ffffffffffffffff81116100f957366023820112156100f957806004013590610a7f82610a2a565b91610a8d604051938461074b565b8083526024602084019160051b830101913683116100f957602401905b828210610adb576024358467ffffffffffffffff82116100f957610ad561047a92369060040161010f565b9161189e565b8135815260209182019101610aaa565b346100f9575f6003193601126100f957602073ffffffffffffffffffffffffffffffffffffffff7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c1993005416604051908152f35b346100f9575f6003193601126100f9576040805190610b5c818361074b565b6005825260208201917f352e302e300000000000000000000000000000000000000000000000000000008352601f19601f8351948593602085525180918160208701528686015e5f85828601015201168101030190f35b346100f95760206003193601126100f95761047a600435610bd3816102f8565b610bdb61180d565b6111a4565b60408051909190610bf1838261074b565b6001815291601f1901366020840137565b90610c0c82610a2a565b610c19604051918261074b565b828152601f19610c298294610a2a565b0190602036910137565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b805115610c6d5760200190565b610c33565b8051821015610c6d5760209160051b010190565b15610c8d57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f496e76616c6964207472616e73616374696f6e2070726f706f73616c000000006044820152fd5b60405190610cfa60608361074b565b6060368337565b908160209103126100f9575180151581036100f95790565b919493929094604061016084019684375f604084015b60028210610d6d575050509060406101009260c0830137015f905b60038210610d5757505050565b6020806001928551815201930191019091610d4a565b6040808281866001953701930191019091610d2f565b6040513d5f823e3d90fd5b15610d9557565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f496e76616c69642070726f6f66000000000000000000000000000000000000006044820152fd5b90602080835192838152019201905f5b818110610e105750505090565b8251845260209384019390920191600101610e03565b601f8260209493601f1993818652868601375f8582860101520116010190565b9290610e7e9492610e62610e7092606087526060870190610df3565b908582036020870152610df3565b926040818503910152610e26565b90565b15610e8857565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f50726f6f6620616c7265616479206c6f636b656420627920616e6f746865722060448201527f70617274790000000000000000000000000000000000000000000000000000006064820152fd5b610f3090610f18611b79565b610f20611b79565b610f28611b79565b610bdb611b79565b73__$a9045d4c56ee07180ebebc7f688ffab42f$__90813b156100f9575f604492604051938480927f9e43b81300000000000000000000000000000000000000000000000000000000825260016004830152604060248301525af49182156102f35773ffffffffffffffffffffffffffffffffffffffff92610fda575b50167fffffffffffffffffffffffff00000000000000000000000000000000000000006034541617603455565b5f610fe49161074b565b5f610fad565b909173ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016803014908115611153575b5061089b5761103b61180d565b604051927f52d1902d00000000000000000000000000000000000000000000000000000000845260208460048173ffffffffffffffffffffffffffffffffffffffff87165afa5f9481611132575b506110d1577f4c9c8ce3000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff831660045260245b5ffd5b90917f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc840361110557610781929350611bd0565b7faa1d49a4000000000000000000000000000000000000000000000000000000005f52600484905260245ffd5b61114c91955060203d60201161096757610959818361074b565b935f611089565b905073ffffffffffffffffffffffffffffffffffffffff7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc541614155f61102e565b908160209103126100f9575190565b73ffffffffffffffffffffffffffffffffffffffff1680156112655773ffffffffffffffffffffffffffffffffffffffff7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930054827fffffffffffffffffffffffff00000000000000000000000000000000000000008216177f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930055167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b7f1e4fbdf7000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82019182116112be57565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b908160a09103126100f9576040519060a0820182811067ffffffffffffffff82111761076e5760405280519060038210156100f95760809183526020810151602084015260408101516040840152606081015160608401520151608082015290565b6003111561135757565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b9061139191939293611a15565b5f9291925b835181101561149a576113a98185610c72565b5115611492578015158061146d575b6114345760016113ec6113e76113e06113d18589610c72565b515f52603360205260405f2090565b5460ff1690565b151590565b146113fb576001905b01611396565b6114086110ce9185610c72565b517f41a06d28000000000000000000000000000000000000000000000000000000005f52600452602490565b6114416110ce9185610c72565b517fdd574831000000000000000000000000000000000000000000000000000000005f52600452602490565b506114788185610c72565b5161148b61148583611291565b86610c72565b51146113b8565b6001906113f5565b50915073__$a9045d4c56ee07180ebebc7f688ffab42f$__905f5b83518110156115f5576114c88185610c72565b51156115ed57801515806115ce575b6114345761153260a06114f36114ed8488610c72565b51611ad0565b604051809381927fe170cf6e00000000000000000000000000000000000000000000000000000000835260048301919060206040840193600181520152565b0381875af49081156102f3575f916115a0575b50516115508161134d565b6115598161134d565b611567576001905b016114b5565b6115746110ce9185610c72565b517f79e1da47000000000000000000000000000000000000000000000000000000005f52600452602490565b6115c1915060a03d81116115c7575b6115b9818361074b565b8101906112eb565b5f611545565b503d6115af565b506115d98185610c72565b516115e661148583611291565b51146114d7565b600190611561565b50929150602060405180927f92f5b06c000000000000000000000000000000000000000000000000000000008252818061163e8760048301919060206040840193600181520152565b03915af49081156102f3575f91611687575b501561165c5750600190565b7f4acd7ab8000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b6116a0915060203d6020116102ec576102de818361074b565b5f611650565b9190915f5b815181101561170d57806116c160019284610c72565b516116cd575b016116ab565b6117086116dd6113d18386610c72565b60017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00825416179055565b6116c7565b50505f5b82518110156117dc576117248184610c72565b51611732575b600101611711565b73__$a9045d4c56ee07180ebebc7f688ffab42f$__906117528185610c72565b5161175d8286610c72565b51833b156100f9576040517fc1d29f010000000000000000000000000000000000000000000000000000000081526001600482015260248101929092526044820152915f90839060649082905af49182156102f3576001926117c2575b50905061172a565b806117d05f6117d69361074b565b8061081a565b5f6117ba565b509050565b905f825b600882106117f7575050506101000190565b60208060019285518152019301910190916117e5565b73ffffffffffffffffffffffffffffffffffffffff7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c1993005416330361184d57565b7f118cdaa7000000000000000000000000000000000000000000000000000000005f523360045260245ffd5b91611890610e7e9492604085526040850190610df3565b926020818503910152610e26565b9091925f9373__$a9045d4c56ee07180ebebc7f688ffab42f$__945b83518110156119d8576118cd8185610c72565b519081156119cf576118e360a06114f384611ad0565b03818b5af49081156102f3575f916119b1575b50516119018161134d565b61190a8161134d565b61198457863b156100f9576040517fc1d29f01000000000000000000000000000000000000000000000000000000008152600160048201526024810183905260448101929092525f826064818a5af49182156102f357600192611970575b505b016118ba565b806117d05f61197e9361074b565b5f611968565b7f79e1da47000000000000000000000000000000000000000000000000000000005f52600482905260245ffd5b6119c9915060a03d81116115c7576115b9818361074b565b5f6118f6565b6001915061196a565b509093507f7ff08e0ca1fce6b202b83128811e4f6ceda54930aa074cd365bf68f95c20ce199192611a10604051928392339684611879565b0390a2565b9190611a218351610c02565b90611a2c8151610c02565b905f5b8551811015611a575780611a4560019288610c72565b51611a508287610c72565b5201611a2f565b5091929093505f5b8251811015611a875780611a7560019285610c72565b51611a808288610c72565b5201611a5f565b50919050611a9481611d45565b50611a9e83611d45565b509190565b919060608301925f905b60038210611aba57505050565b6020806001928551815201930191019091611aad565b604051606081019080821067ffffffffffffffff83111761076e57611b36926020926040528082528282015260016040820152604051809381927f25cc70e800000000000000000000000000000000000000000000000000000000835260048301611aa3565b038173__$abc2523fb3bac9ceee4baf18a48b86000d$__5af49081156102f3575f91611b60575090565b610e7e915060203d60201161096757610959818361074b565b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c1615611ba857565b7fd7e6bcf8000000000000000000000000000000000000000000000000000000005f5260045ffd5b90813b15611cbf5773ffffffffffffffffffffffffffffffffffffffff8216807fffffffffffffffffffffffff00000000000000000000000000000000000000007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5416177f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc557fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f80a2805115611c8e57611c8b91611d01565b50565b505034611c9757565b7fb398979f000000000000000000000000000000000000000000000000000000005f5260045ffd5b73ffffffffffffffffffffffffffffffffffffffff827f4c9c8ce3000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b5f80610e7e93602081519101845af43d15611d3d573d91611d2183610783565b92611d2f604051948561074b565b83523d5f602085013e611d5d565b606091611d5d565b610e7e60016020835160051b84010160208401611df6565b90611d9a5750805115611d7257805190602001fd5b7fd6bda275000000000000000000000000000000000000000000000000000000005f5260045ffd5b81511580611ded575b611dab575090565b73ffffffffffffffffffffffffffffffffffffffff907f9996b315000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b50803b15611da3565b9190604083820310611e955782519282818095602084015b858110611e345750508251815184528152611e2892611df6565b60206107819301611df6565b91509150805185600114611e6f577f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffd5b8211611e82575b60200184918691611e0e565b6020909501805186518252865294611e76565b50505056fea264697066735822122095300d2d32bf6cc3b9c9ca7cc3ae51fcba299fe1009f74d8164181eb9cece0d464736f6c634300081b0033","sourceMap":"2041:2081:44:-:0;;;;;;;1171:4:70;1163:13;;2041:2081:44;;;;;;1163:13:70;2041:2081:44;;;;;;;;;;;;;;","linkReferences":{"node_modules/@iden3/contracts/lib/Poseidon.sol":{"PoseidonUnit3L":[{"start":7016,"length":20}]},"node_modules/@iden3/contracts/lib/SmtLib.sol":{"SmtLib":[{"start":2358,"length":20},{"start":3936,"length":20},{"start":5325,"length":20},{"start":5986,"length":20},{"start":6355,"length":20}]}}},"deployedBytecode":{"object":"0x60806040526004361015610011575f80fd5b5f3560e01c80630dd1dc8b146100c457806312c0fed2146100bf578063485cc955146100ba5780634f1ef286146100b557806352d1902d146100b05780635ca1e165146100ab578063715018a6146100a65780638bb2513b146100a15780638da5cb5b1461009c578063ad3cb1cc146100975763f2fde38b14610092575f80fd5b610bb3565b610b3d565b610aeb565b610a42565b61096e565b6108c3565b610824565b61079f565b6104b3565b610316565b61013d565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9c6101009101126100f957606490565b5f80fd5b6003196101009101126100f957600490565b9181601f840112156100f95782359167ffffffffffffffff83116100f957602083818601950101116100f957565b346100f9576101806003193601126100f957602435600435604435610161366100c9565b90610164359267ffffffffffffffff84116100f957602061018961025795369060040161010f565b929094610194610be0565b978261019f8a610c60565b526101a8610be0565b95816101b388610c60565b526101c76101c282898d611384565b610c86565b6101cf610ceb565b938452602084015260408301526102176101fe60345473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1690565b906040518098819482937f11479fea00000000000000000000000000000000000000000000000000000000845260c0810190604081019060048601610d19565b03915afa9081156102f3576102986102b0927fcb56a7130431b68e0e636f24584d40580490c1bf882bef3701f317d47ba98c38965f916102c4575b50610d8e565b6102a283876116a6565b604051938493339785610e46565b0390a26040516001815280602081015b0390f35b6102e6915060203d6020116102ec575b6102de818361074b565b810190610d01565b5f610292565b503d6102d4565b610d83565b73ffffffffffffffffffffffffffffffffffffffff8116036100f957565b346100f9576101206003193601126100f95761047a610334366100fd565b61043a6101043591610345836102f8565b6103ac60c0610355610100610773565b83358152926020810135602085015261039861038b604083018035604088015261037f8160200190565b35606088015260400190565b8035608087015260200190565b3560a085015201803560c084015260200190565b3560e08201526040516103d5816103c76020820194856117e1565b03601f19810183528261074b565b51902073ffffffffffffffffffffffffffffffffffffffff61041b610401835f525f60205260405f2090565b5473ffffffffffffffffffffffffffffffffffffffff1690565b1615801561047c575b61042d90610e81565b5f525f60205260405f2090565b9073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff0000000000000000000000000000000000000000825416179055565b005b5061042d610494610401835f525f60205260405f2090565b73ffffffffffffffffffffffffffffffffffffffff1633149050610424565b346100f95760406003193601126100f9576004356104d0816102f8565b602435906104dd826102f8565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00549167ffffffffffffffff61052360ff604086901c16159467ffffffffffffffff1690565b1680159081610716575b600114908161070c575b159081610703575b506106db576105c091836105b760017fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000007ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005416177ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0055565b61066057610f0c565b6105c657005b6106317fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054167ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0055565b604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a1005b6106d6680100000000000000007fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005416177ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0055565b610f0c565b7ff92ee8a9000000000000000000000000000000000000000000000000000000005f5260045ffd5b9050155f61053f565b303b159150610537565b84915061052d565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b90601f601f19910116810190811067ffffffffffffffff82111761076e57604052565b61071e565b90610781604051928361074b565b565b67ffffffffffffffff811161076e57601f01601f191660200190565b60406003193601126100f9576004356107b7816102f8565b6024359067ffffffffffffffff82116100f957366023830112156100f9578160040135906107e482610783565b916107f2604051938461074b565b80835236602482860101116100f9576020815f92602461047a97018387013784010152610fea565b5f9103126100f957565b346100f9575f6003193601126100f95773ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016300361089b5760206040517f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8152f35b7fe07c8dba000000000000000000000000000000000000000000000000000000005f5260045ffd5b346100f9575f6003193601126100f9576040517f79f971250000000000000000000000000000000000000000000000000000000081526001600482015260208160248173__$a9045d4c56ee07180ebebc7f688ffab42f$__5af480156102f3576102c0915f9161093f575b506040519081529081906020820190565b610961915060203d602011610967575b610959818361074b565b810190611195565b5f61092e565b503d61094f565b346100f9575f6003193601126100f95761098661180d565b5f73ffffffffffffffffffffffffffffffffffffffff7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300547fffffffffffffffffffffffff000000000000000000000000000000000000000081167f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930055167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b67ffffffffffffffff811161076e5760051b60200190565b346100f95760406003193601126100f95760043567ffffffffffffffff81116100f957366023820112156100f957806004013590610a7f82610a2a565b91610a8d604051938461074b565b8083526024602084019160051b830101913683116100f957602401905b828210610adb576024358467ffffffffffffffff82116100f957610ad561047a92369060040161010f565b9161189e565b8135815260209182019101610aaa565b346100f9575f6003193601126100f957602073ffffffffffffffffffffffffffffffffffffffff7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c1993005416604051908152f35b346100f9575f6003193601126100f9576040805190610b5c818361074b565b6005825260208201917f352e302e300000000000000000000000000000000000000000000000000000008352601f19601f8351948593602085525180918160208701528686015e5f85828601015201168101030190f35b346100f95760206003193601126100f95761047a600435610bd3816102f8565b610bdb61180d565b6111a4565b60408051909190610bf1838261074b565b6001815291601f1901366020840137565b90610c0c82610a2a565b610c19604051918261074b565b828152601f19610c298294610a2a565b0190602036910137565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b805115610c6d5760200190565b610c33565b8051821015610c6d5760209160051b010190565b15610c8d57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f496e76616c6964207472616e73616374696f6e2070726f706f73616c000000006044820152fd5b60405190610cfa60608361074b565b6060368337565b908160209103126100f9575180151581036100f95790565b919493929094604061016084019684375f604084015b60028210610d6d575050509060406101009260c0830137015f905b60038210610d5757505050565b6020806001928551815201930191019091610d4a565b6040808281866001953701930191019091610d2f565b6040513d5f823e3d90fd5b15610d9557565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f496e76616c69642070726f6f66000000000000000000000000000000000000006044820152fd5b90602080835192838152019201905f5b818110610e105750505090565b8251845260209384019390920191600101610e03565b601f8260209493601f1993818652868601375f8582860101520116010190565b9290610e7e9492610e62610e7092606087526060870190610df3565b908582036020870152610df3565b926040818503910152610e26565b90565b15610e8857565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f50726f6f6620616c7265616479206c6f636b656420627920616e6f746865722060448201527f70617274790000000000000000000000000000000000000000000000000000006064820152fd5b610f3090610f18611b79565b610f20611b79565b610f28611b79565b610bdb611b79565b73__$a9045d4c56ee07180ebebc7f688ffab42f$__90813b156100f9575f604492604051938480927f9e43b81300000000000000000000000000000000000000000000000000000000825260016004830152604060248301525af49182156102f35773ffffffffffffffffffffffffffffffffffffffff92610fda575b50167fffffffffffffffffffffffff00000000000000000000000000000000000000006034541617603455565b5f610fe49161074b565b5f610fad565b909173ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016803014908115611153575b5061089b5761103b61180d565b604051927f52d1902d00000000000000000000000000000000000000000000000000000000845260208460048173ffffffffffffffffffffffffffffffffffffffff87165afa5f9481611132575b506110d1577f4c9c8ce3000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff831660045260245b5ffd5b90917f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc840361110557610781929350611bd0565b7faa1d49a4000000000000000000000000000000000000000000000000000000005f52600484905260245ffd5b61114c91955060203d60201161096757610959818361074b565b935f611089565b905073ffffffffffffffffffffffffffffffffffffffff7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc541614155f61102e565b908160209103126100f9575190565b73ffffffffffffffffffffffffffffffffffffffff1680156112655773ffffffffffffffffffffffffffffffffffffffff7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930054827fffffffffffffffffffffffff00000000000000000000000000000000000000008216177f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930055167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b7f1e4fbdf7000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82019182116112be57565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b908160a09103126100f9576040519060a0820182811067ffffffffffffffff82111761076e5760405280519060038210156100f95760809183526020810151602084015260408101516040840152606081015160608401520151608082015290565b6003111561135757565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b9061139191939293611a15565b5f9291925b835181101561149a576113a98185610c72565b5115611492578015158061146d575b6114345760016113ec6113e76113e06113d18589610c72565b515f52603360205260405f2090565b5460ff1690565b151590565b146113fb576001905b01611396565b6114086110ce9185610c72565b517f41a06d28000000000000000000000000000000000000000000000000000000005f52600452602490565b6114416110ce9185610c72565b517fdd574831000000000000000000000000000000000000000000000000000000005f52600452602490565b506114788185610c72565b5161148b61148583611291565b86610c72565b51146113b8565b6001906113f5565b50915073__$a9045d4c56ee07180ebebc7f688ffab42f$__905f5b83518110156115f5576114c88185610c72565b51156115ed57801515806115ce575b6114345761153260a06114f36114ed8488610c72565b51611ad0565b604051809381927fe170cf6e00000000000000000000000000000000000000000000000000000000835260048301919060206040840193600181520152565b0381875af49081156102f3575f916115a0575b50516115508161134d565b6115598161134d565b611567576001905b016114b5565b6115746110ce9185610c72565b517f79e1da47000000000000000000000000000000000000000000000000000000005f52600452602490565b6115c1915060a03d81116115c7575b6115b9818361074b565b8101906112eb565b5f611545565b503d6115af565b506115d98185610c72565b516115e661148583611291565b51146114d7565b600190611561565b50929150602060405180927f92f5b06c000000000000000000000000000000000000000000000000000000008252818061163e8760048301919060206040840193600181520152565b03915af49081156102f3575f91611687575b501561165c5750600190565b7f4acd7ab8000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b6116a0915060203d6020116102ec576102de818361074b565b5f611650565b9190915f5b815181101561170d57806116c160019284610c72565b516116cd575b016116ab565b6117086116dd6113d18386610c72565b60017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00825416179055565b6116c7565b50505f5b82518110156117dc576117248184610c72565b51611732575b600101611711565b73__$a9045d4c56ee07180ebebc7f688ffab42f$__906117528185610c72565b5161175d8286610c72565b51833b156100f9576040517fc1d29f010000000000000000000000000000000000000000000000000000000081526001600482015260248101929092526044820152915f90839060649082905af49182156102f3576001926117c2575b50905061172a565b806117d05f6117d69361074b565b8061081a565b5f6117ba565b509050565b905f825b600882106117f7575050506101000190565b60208060019285518152019301910190916117e5565b73ffffffffffffffffffffffffffffffffffffffff7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c1993005416330361184d57565b7f118cdaa7000000000000000000000000000000000000000000000000000000005f523360045260245ffd5b91611890610e7e9492604085526040850190610df3565b926020818503910152610e26565b9091925f9373__$a9045d4c56ee07180ebebc7f688ffab42f$__945b83518110156119d8576118cd8185610c72565b519081156119cf576118e360a06114f384611ad0565b03818b5af49081156102f3575f916119b1575b50516119018161134d565b61190a8161134d565b61198457863b156100f9576040517fc1d29f01000000000000000000000000000000000000000000000000000000008152600160048201526024810183905260448101929092525f826064818a5af49182156102f357600192611970575b505b016118ba565b806117d05f61197e9361074b565b5f611968565b7f79e1da47000000000000000000000000000000000000000000000000000000005f52600482905260245ffd5b6119c9915060a03d81116115c7576115b9818361074b565b5f6118f6565b6001915061196a565b509093507f7ff08e0ca1fce6b202b83128811e4f6ceda54930aa074cd365bf68f95c20ce199192611a10604051928392339684611879565b0390a2565b9190611a218351610c02565b90611a2c8151610c02565b905f5b8551811015611a575780611a4560019288610c72565b51611a508287610c72565b5201611a2f565b5091929093505f5b8251811015611a875780611a7560019285610c72565b51611a808288610c72565b5201611a5f565b50919050611a9481611d45565b50611a9e83611d45565b509190565b919060608301925f905b60038210611aba57505050565b6020806001928551815201930191019091611aad565b604051606081019080821067ffffffffffffffff83111761076e57611b36926020926040528082528282015260016040820152604051809381927f25cc70e800000000000000000000000000000000000000000000000000000000835260048301611aa3565b038173__$abc2523fb3bac9ceee4baf18a48b86000d$__5af49081156102f3575f91611b60575090565b610e7e915060203d60201161096757610959818361074b565b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c1615611ba857565b7fd7e6bcf8000000000000000000000000000000000000000000000000000000005f5260045ffd5b90813b15611cbf5773ffffffffffffffffffffffffffffffffffffffff8216807fffffffffffffffffffffffff00000000000000000000000000000000000000007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5416177f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc557fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f80a2805115611c8e57611c8b91611d01565b50565b505034611c9757565b7fb398979f000000000000000000000000000000000000000000000000000000005f5260045ffd5b73ffffffffffffffffffffffffffffffffffffffff827f4c9c8ce3000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b5f80610e7e93602081519101845af43d15611d3d573d91611d2183610783565b92611d2f604051948561074b565b83523d5f602085013e611d5d565b606091611d5d565b610e7e60016020835160051b84010160208401611df6565b90611d9a5750805115611d7257805190602001fd5b7fd6bda275000000000000000000000000000000000000000000000000000000005f5260045ffd5b81511580611ded575b611dab575090565b73ffffffffffffffffffffffffffffffffffffffff907f9996b315000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b50803b15611da3565b9190604083820310611e955782519282818095602084015b858110611e345750508251815184528152611e2892611df6565b60206107819301611df6565b91509150805185600114611e6f577f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffd5b8211611e82575b60200184918691611e0e565b6020909501805186518252865294611e76565b50505056fea264697066735822122095300d2d32bf6cc3b9c9ca7cc3ae51fcba299fe1009f74d8164181eb9cece0d464736f6c634300081b0033","sourceMap":"2041:2081:44:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;;;;;;;;;:::o;:::-;;;;;-1:-1:-1;;2041:2081:44;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;-1:-1:-1;;2041:2081:44;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;3760:64;2041:2081;;;;;;:::i;:::-;3246:16;;;;;:::i;:::-;3272:25;;;;;:::i;:::-;2041:2081;3334:16;;:::i;:::-;3360:19;;;;;:::i;:::-;2041:2081;3389:129;3410:54;;;;;:::i;:::-;3389:129;:::i;:::-;2041:2081;;:::i;:::-;;;;;;;;;;;;3760:20;2041:2081;3760:8;2041:2081;;;;;;;;;;3760:20;2041:2081;;;3760:64;;;;;;2041:2081;3760:64;;3801:8;;;3791;2041:2081;3791:8;;3760:64;2041:2081;3760:64;;;:::i;:::-;;;;;;;;;;3739:124;3934:51;3760:64;3934:51;3760:64;-1:-1:-1;3760:64:44;;;2041:2081;3739:124;;:::i;:::-;3910:7;;;;:::i;:::-;2041:2081;;3968:10;;;;3934:51;;;:::i;:::-;;;;2041:2081;;3260:1;2041:2081;;;;;;;;;;3760:64;;;;2041:2081;3760:64;2041:2081;3760:64;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;:::i;2041:2081::-;;;;;;;:::o;:::-;;;;;-1:-1:-1;;2041:2081:44;;;;;2492:34:31;2041:2081:44;;;:::i;:::-;2492:23:31;2041:2081:44;;;;;;:::i;:::-;1812:11:2;1787:8;2041:2081:44;;;:::i;:::-;;;;;1625:11:2;2041:2081:44;;;;1611:222:2;;;2041:2081:44;1759:14:2;1731:11;1675:8;;;2041:2081:44;;1675:8:2;1611:222;;2041:2081:44;1703:14:2;;2041:2081:44;;;;1703:14:2;2041:2081:44;1611:222:2;;;2041:2081:44;;;;;1731:11:2;2041:2081:44;;1611:222:2;;;2041:2081:44;;;;;1759:14:2;2041:2081:44;1611:222:2;;;2041:2081:44;1787:8:2;2041:2081:44;;1787:8:2;1611:222;;2041:2081:44;;;;;1812:11:2;2041:2081:44;1611:222:2;;;2041:2081:44;1675:8:2;2041:2081:44;1861:24:2;;;1611:222;1861:24;;;;;:::i;:::-;;-1:-1:-1;;1861:24:2;;;;;;:::i;:::-;2041:2081:44;1851:35:2;;2041:2081:44;2325:23:31;;;:12;2041:2081:44;2325:12:31;2041:2081:44;;;2325:12:31;2041:2081:44;;;2325:23:31;2041:2081:44;;;;;2325:23:31;2041:2081:44;2325:37:31;:94;;;;2041:2081:44;2304:178:31;;;:::i;:::-;2325:12;2041:2081:44;2325:12:31;2041:2081:44;;;2325:12:31;2041:2081:44;;;2492:23:31;2041:2081:44;;;;;;;;;;;2492:34:31;2041:2081:44;2325:94:31;2382:23;2304:178;2382:23;;;2325:12;2041:2081:44;2325:12:31;2041:2081:44;;;2325:12:31;2041:2081:44;;;2382:23:31;2041:2081:44;;2409:10:31;2382:37;;-1:-1:-1;2325:94:31;;2041:2081:44;;;;;-1:-1:-1;;2041:2081:44;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;3147:66:69;2041:2081:44;;;;;;;;;;4301:16:69;2041:2081:44;;;;;;;4724:16:69;;:34;;;;2041:2081:44;4803:1:69;4788:16;:50;;;;2041:2081:44;4853:13:69;:30;;;;2041:2081:44;4849:91:69;;;5053:1;4949:18;;;2041:2081:44;;3147:66:69;2041:2081:44;;;3147:66:69;2041:2081:44;;4949:18:69;4977:67;;5053:1;:::i;:::-;5064:101;;2041:2081:44;5064:101:69;5098:23;2041:2081:44;3147:66:69;2041:2081:44;;3147:66:69;2041:2081:44;;5098:23:69;2041:2081:44;;3260:1;2041:2081;;5140:14:69;;2041:2081:44;;5140:14:69;2041:2081:44;4977:67:69;5011:22;2041:2081:44;;3147:66:69;2041:2081:44;;;3147:66:69;2041:2081:44;;5011:22:69;5053:1;:::i;4849:91::-;4906:23;-1:-1:-1;4906:23:69;2041:2081:44;-1:-1:-1;4906:23:69;4853:30;4870:13;;;4853:30;;;4788:50;4816:4;4808:25;:30;;-1:-1:-1;4788:50:69;;4724:34;;;-1:-1:-1;4724:34:69;;2041:2081:44;;;;;;;;;;;;;-1:-1:-1;;2041:2081:44;;;;;;;;;;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;;:::i;:::-;:::o;:::-;;;;;;;;-1:-1:-1;;2041:2081:44;;;;:::o;:::-;;-1:-1:-1;;2041:2081:44;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;-1:-1:-1;2041:2081:44;;4161:214:70;2041:2081:44;;;;;;;;;;4161:214:70;:::i;2041:2081:44:-;;;;;;;:::o;:::-;;;;;-1:-1:-1;;2041:2081:44;;;;;;5090:6:70;2041:2081:44;5081:4:70;5073:23;5069:145;;2041:2081:44;;;811:66:77;2041:2081:44;;;5069:145:70;5174:29;2041:2081:44;5174:29:70;2041:2081:44;;5174:29:70;2041:2081:44;;;;;-1:-1:-1;;2041:2081:44;;;;;;;;4908:26:35;;:16;2041:2081:44;4908:26:35;;2041:2081:44;;4908:24:35;:26;:24;;:26;;;;;;2041:2081:44;4908:26:35;2041:2081:44;4908:26:35;;;2041:2081:44;-1:-1:-1;2041:2081:44;;;;;;;;;;;;;4908:26:35;;;;2041:2081:44;4908:26:35;2041:2081:44;4908:26:35;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;2041:2081:44;;;;;-1:-1:-1;;2041:2081:44;;;;;2303:62:68;;:::i;:::-;2041:2081:44;;1280:65:68;2041:2081:44;;;;1280:65:68;2041:2081:44;;3975:40:68;;;;2041:2081:44;;;;;;;;;;;;:::o;:::-;;;;;-1:-1:-1;;2041:2081:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4108:4;2041:2081;;;;;;:::i;:::-;4108:4;;:::i;2041:2081::-;;;;;;;;;;;;;;;;;;-1:-1:-1;;2041:2081:44;;;;;;;1280:65:68;2041:2081:44;;;;;;;;;;;;;-1:-1:-1;;2041:2081:44;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;;2041:2081:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2041:2081:44;;;;;2357:1:68;2041:2081:44;;;;;:::i;:::-;2303:62:68;;:::i;:::-;2357:1;:::i;2041:2081:44:-;;;;;;;;;;;:::i;:::-;3260:1;2041:2081;;;-1:-1:-1;;2041:2081:44;;;;;;:::o;:::-;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;-1:-1:-1;;2041:2081:44;;;;:::i;:::-;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2041:2081:44;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2041:2081:44;;;;;;;;-1:-1:-1;2041:2081:44;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;2165:207;6959:1:69;2165:207:44;6891:76:69;;:::i;:::-;;;:::i;:::-;;;:::i;:::-;;;:::i;6959:1::-;1643:27:35;:42;;;;;;-1:-1:-1;1643:42:35;2041:2081:44;1067:2:35;2041:2081:44;1643:42:35;;;;2041:2081:44;1643:42:35;;:16;:42;;;2041:2081:44;1067:2:35;2041:2081:44;;;;1643:42:35;;;;;;;2041:2081:44;1643:42:35;;;2165:207:44;2041:2081;;;2345:20;2041:2081;;;2345:20;2041:2081;2165:207::o;1643:42:35:-;-1:-1:-1;1643:42:35;;;:::i;:::-;-1:-1:-1;1643:42:35;;2624:62:70;;;2041:2081:44;4667:6:70;2041:2081:44;4658:4:70;;4650:23;:120;;;;;2624:62;4633:251;;;2303:62:68;;:::i;:::-;2041:2081:44;;6131:52:70;2041:2081:44;6131:52:70;;;2041:2081:44;6131:52:70;2041:2081:44;;;;6131:52:70;;-1:-1:-1;;6131:52:70;;;2624:62;-1:-1:-1;6127:437:70;;6493:60;-1:-1:-1;6493:60:70;2041:2081:44;;;6131:52:70;2041:2081:44;;6493:60:70;-1:-1:-1;6493:60:70;6127:437;6225:40;;811:66:77;6225:40:70;;6221:120;;6403:4;;;;;:::i;6221:120::-;6292:34;-1:-1:-1;6292:34:70;6131:52;2041:2081:44;;;;-1:-1:-1;6493:60:70;6131:52;;;;;;;;;;;;;;;:::i;:::-;;;;;4650:120;2041:2081:44;;;811:66:77;2041:2081:44;;4728:42:70;;4650:120;;;2041:2081:44;;;;;;;;;;;:::o;3405:215:68:-;2041:2081:44;;3489:22:68;;3485:91;;2041:2081:44;1280:65:68;2041:2081:44;;;;;;1280:65:68;2041:2081:44;;3975:40:68;3509:1;3975:40;;3405:215::o;3485:91::-;3534:31;3509:1;3534:31;3509:1;3534:31;2041:2081:44;;3509:1:68;3534:31;2041:2081:44;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;-1:-1:-1;2041:2081:44;;;:::o;:::-;;;;;;;;;;1698:1903:35;;2033:41;1698:1903;;;;2033:41;:::i;:::-;2146:1;2134:13;;;2174:3;2041:2081:44;;2149:23:35;;;;;2197:15;;;;:::i;:::-;2041:2081:44;2197:20:35;2193:107;;2317:5;;;:47;;;2174:3;2313:123;;2485:4;2453:36;:28;;2465:15;;;;:::i;:::-;2041:2081:44;;;2453:11:35;2041:2081:44;;;;;;;2453:28:35;2041:2081:44;;;;;2453:28:35;2041:2081:44;;;;2453:36:35;;2449:115;;2485:4;2174:3;2134:13;2041:2081:44;2134:13:35;;2449:115;2533:15;2516:33;2533:15;;;:::i;:::-;2041:2081:44;2516:33:35;2146:1;2516:33;6131:52:70;2041:2081:44;;;;2313:123:35;2405:15;2391:30;2405:15;;;:::i;:::-;2041:2081:44;2391:30:35;2146:1;2391:30;6131:52:70;2041:2081:44;;;;2317:47:35;2326:15;;;;;:::i;:::-;2041:2081:44;2345:19:35;2358:5;;;:::i;:::-;2345:19;;:::i;:::-;2041:2081:44;2326:38:35;2317:47;;2193:107;2485:4;2277:8;;;2149:23;-1:-1:-1;2149:23:35;-1:-1:-1;3050:24:35;;2146:1;2677:3;2041:2081:44;;2651:24:35;;;;;2700:16;;;;:::i;:::-;2041:2081:44;2700:21:35;2696:109;;2822:5;;;:49;;;2677:3;2818:126;;3050:34;;2976;2993:16;;;;:::i;:::-;2041:2081:44;2976:34:35;:::i;:::-;2041:2081:44;;3050:34:35;;;;2041:2081:44;3050:34:35;;;;;2041:2081:44;;;;;;;2485:4:35;2041:2081:44;;;;;3050:34:35;;;;;;;;;;;2146:1;3050:34;;;2677:3;2041:2081:44;;;;;:::i;:::-;;;;:::i;:::-;3098:118:35;;2485:4;2677:3;2636:13;2041:2081:44;2636:13:35;;3098:118;3184:16;3167:34;3184:16;;;:::i;:::-;2041:2081:44;3167:34:35;2146:1;3167:34;6131:52:70;2041:2081:44;;;;3050:34:35;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;2822:49;2831:16;;;;;:::i;:::-;2041:2081:44;2851:20:35;2865:5;;;:::i;2851:20::-;2041:2081:44;2831:40:35;2822:49;;2696:109;2485:4;2782:8;;;2651:24;;;;;3484:33;2041:2081:44;;3484:33:35;;2041:2081:44;3484:33:35;;;;;;3050:34;3484:33;;2041:2081:44;;;;;;;2485:4:35;2041:2081:44;;;;;3484:33:35;;;;;;;;;;2146:1;3484:33;;;2631:595;3483:34;;3479:94;;3583:11;2485:4;1698:1903;:::o;3479:94::-;3540:22;2146:1;3540:22;6131:52:70;2041:2081:44;;-1:-1:-1;6493:60:70;3484:33:35;;;;;;;;;;;;;;:::i;:::-;;;;3607:477;;;;3753:1;3779:3;2041:2081:44;;3756:21:35;;;;;3802:13;;2041:2081:44;3802:13:35;;;:::i;:::-;2041:2081:44;3798:90:35;;3779:3;2041:2081:44;3741:13:35;;3798:90;3840:33;:26;3852:13;;;;:::i;3840:26::-;2041:2081:44;;;;;;;;;3840:33:35;3798:90;;3756:21;;;3753:1;3947:3;2041:2081:44;;3927:18:35;;;;;3970:10;;;;:::i;:::-;2041:2081:44;3966:102:35;;3947:3;2041:2081:44;;3912:13:35;;3966:102;4005:24;4030:10;;;;;:::i;:::-;2041:2081:44;4042:10:35;;;;:::i;:::-;2041:2081:44;4005:48:35;;;;;2041:2081:44;;;4005:48:35;;2041:2081:44;4005:48:35;;;2041:2081:44;;;;;;;;;;;;;-1:-1:-1;;2041:2081:44;;;;;;4005:48:35;;;;;;;2041:2081:44;4005:48:35;;;3966:102;;;;;;4005:48;;;3753:1;4005:48;;;:::i;:::-;;;:::i;:::-;;;;3927:18;;;;3607:477::o;2041:2081:44:-;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;2658:162:68;2041:2081:44;1280:65:68;2041:2081:44;;966:10:71;2717:23:68;2713:101;;2658:162::o;2713:101::-;2763:40;-1:-1:-1;2763:40:68;966:10:71;2763:40:68;2041:2081:44;;-1:-1:-1;2763:40:68;2041:2081:44;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;4212:624:35:-;;;;4338:1;4565:24;;4321:460;4359:3;2041:2081:44;;4341:16:35;;;;;4393:8;;;;:::i;:::-;2041:2081:44;4419:9:35;;;4415:56;;4565:34;;4503:22;;;:::i;4565:34::-;;;;;;;;;;;4338:1;4565:34;;;4359:3;2041:2081:44;;;;;:::i;:::-;;;;:::i;:::-;4614:106:35;;4734:36;;;;;2041:2081:44;;;4734:36:35;;2041:2081:44;4565:34:35;4734:36;;2041:2081:44;;;;;;;;;;;;;;-1:-1:-1;2041:2081:44;;;4734:36:35;;;;;;;;4565:16;4734:36;;;4359:3;;4326:13;2041:2081:44;4326:13:35;;4734:36;;;4338:1;4734:36;;;:::i;:::-;;;;4614:106;4683:22;4338:1;4683:22;6131:52:70;2041:2081:44;;;;-1:-1:-1;6493:60:70;4565:34:35;;;;;;;;;;;;;;:::i;:::-;;;;4415:56;4565:16;4448:8;;;;4341:16;;;;;4796:33;4341:16;;4796:33;2041:2081:44;;4812:10:35;;;;4796:33;;;:::i;:::-;;;;4212:624::o;3878:672:31:-;;;4082:28;2041:2081:44;;4082:28:31;:::i;:::-;2041:2081:44;4153:29:31;2041:2081:44;;4153:29:31;:::i;:::-;4197:13;4209:1;4231:3;2041:2081:44;;4212:17:31;;;;;4268:9;;2041:2081:44;4268:9:31;;;:::i;:::-;2041:2081:44;4250:27:31;;;;:::i;:::-;2041:2081:44;;4197:13:31;;4212:17;;;;;;;4209:1;4337:3;2041:2081:44;;4317:18:31;;;;;4375:10;;2041:2081:44;4375:10:31;;;:::i;:::-;2041:2081:44;4356:29:31;;;;:::i;:::-;2041:2081:44;;4302:13:31;;4317:18;;;;;1904:27:83;;;:::i;:::-;;;;;:::i;:::-;;4507:36:31;3878:672;:::o;2041:2081:44:-;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;4947:188:35;2041:2081:44;;;;;;;;;;;;;;;5097:31:35;2041:2081:44;5056:24:35;2041:2081:44;;;;;;5056:24:35;;;2041:2081:44;5077:1:35;2041:2081:44;5056:24:35;;2041:2081:44;;;5097:31:35;;;;2041:2081:44;5097:31:35;;;;;;:::i;:::-;;:14;;:31;;;;;;;-1:-1:-1;5097:31:35;;;5090:38;4947:188;:::o;5097:31::-;;;;5056:24;5097:31;5056:24;5097:31;;;;;;;:::i;7082:141:69:-;2041:2081:44;3147:66:69;2041:2081:44;;;;7148:18:69;7144:73;;7082:141::o;7144:73::-;7189:17;-1:-1:-1;7189:17:69;;-1:-1:-1;7189:17:69;2264:344:77;;1748:29;;:34;1744:119;;2041:2081:44;;;;;811:66:77;2041:2081:44;;;811:66:77;2041:2081:44;2407:36:77;1781:1;2407:36;;2041:2081:44;;2458:15:77;:11;;2489:53;;;:::i;:::-;;2264:344::o;2454:148::-;6163:9;;;6159:70;;2264:344::o;6159:70::-;6199:19;1781:1;6199:19;;1781:1;6199:19;1744:119;2041:2081:44;1805:47:77;;1781:1;1805:47;2041:2081:44;1805:47:77;2041:2081:44;;1781:1:77;1805:47;3916:253:82;4065:25;3916:253;4107:55;3916:253;4065:25;;;;;;;;2041:2081:44;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;4065:25:82;;2041:2081:44;;;4107:55:82;:::i;2041:2081:44:-;;;4107:55:82;:::i;1474:237:83:-;1677:4;2041:2081:44;6542:72:83;2041:2081:44;;;;;;;6542:72:83;;;1677:4;:::i;4437:582:82:-;;4609:8;;-1:-1:-1;2041:2081:44;;5690:21:82;:17;;5815:158;;;;;;5686:354;6010:19;5710:1;6010:19;;5710:1;6010:19;4605:408;2041:2081:44;;4857:22:82;:49;;;4605:408;4853:119;;4985:17;;:::o;4853:119::-;2041:2081:44;4933:24:82;;4878:1;4933:24;2041:2081:44;4933:24:82;2041:2081:44;;4878:1:82;4933:24;4857:49;4883:18;;;:23;4857:49;;5356:1003:83;;;5522:4;2041:2081:44;;;5508:18:83;5504:31;;7146:52;;5707:19;;;2041:2081:44;;5767:4:83;2041:2081:44;;5773:8:83;;;;;;-1:-1:-1;;7358:162:83;;;;;;;;6219:4;;;:::i;:::-;5767;6301;2041:2081:44;;6301:4:83;:::i;5783:10::-;7146:52;;;;;;2041:2081:44;;;;;;-1:-1:-1;2041:2081:44;;;;;-1:-1:-1;2041:2081:44;;330:5:84;-1:-1:-1;5813:299:83;;2041:2081:44;5767:4:83;2041:2081:44;5746:25:83;;;;;;5813:299;5767:4;2041:2081:44;;;7358:162:83;;;;;;;;2041:2081:44;5813:299:83;;5504:31;5528:7;;;:::o","linkReferences":{"node_modules/@iden3/contracts/lib/Poseidon.sol":{"PoseidonUnit3L":[{"start":6970,"length":20}]},"node_modules/@iden3/contracts/lib/SmtLib.sol":{"SmtLib":[{"start":2312,"length":20},{"start":3890,"length":20},{"start":5279,"length":20},{"start":5940,"length":20},{"start":6309,"length":20}]}},"immutableReferences":{"55279":[{"start":2123,"length":32},{"start":4099,"length":32}]}},"methodIdentifiers":{"UPGRADE_INTERFACE_VERSION()":"ad3cb1cc","getRoot()":"5ca1e165","initialize(address,address)":"485cc955","lockProof((uint256[2],uint256[2][2],uint256[2]),address)":"12c0fed2","mint(uint256[],bytes)":"8bb2513b","owner()":"8da5cb5b","proxiableUUID()":"52d1902d","renounceOwnership()":"715018a6","transfer(uint256,uint256,uint256,(uint256[2],uint256[2][2],uint256[2]),bytes)":"0dd1dc8b","transferOwnership(address)":"f2fde38b","upgradeToAndCall(address,bytes)":"4f1ef286"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.27+commit.40a35a09\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"ERC1967InvalidImplementation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC1967NonPayable\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedCall\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"IdentityNotRegistered\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"OwnableInvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"OwnableUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"utxo\",\"type\":\"uint256\"}],\"name\":\"UTXOAlreadyOwned\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"utxo\",\"type\":\"uint256\"}],\"name\":\"UTXOAlreadySpent\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"maxAllowed\",\"type\":\"uint256\"}],\"name\":\"UTXOArrayTooLarge\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"utxo\",\"type\":\"uint256\"}],\"name\":\"UTXODuplicate\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"utxo\",\"type\":\"uint256\"}],\"name\":\"UTXONotMinted\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"root\",\"type\":\"uint256\"}],\"name\":\"UTXORootNotFound\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UUPSUnauthorizedCallContext\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"UUPSUnsupportedProxiableUUID\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"outputs\",\"type\":\"uint256[]\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"submitter\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"UTXOMint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"inputs\",\"type\":\"uint256[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"outputs\",\"type\":\"uint256[]\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"submitter\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"UTXOTransfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"UPGRADE_INTERFACE_VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRoot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"initialOwner\",\"type\":\"address\"},{\"internalType\":\"contract Groth16Verifier_NfAnonNullifier\",\"name\":\"_verifier\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint256[2]\",\"name\":\"pA\",\"type\":\"uint256[2]\"},{\"internalType\":\"uint256[2][2]\",\"name\":\"pB\",\"type\":\"uint256[2][2]\"},{\"internalType\":\"uint256[2]\",\"name\":\"pC\",\"type\":\"uint256[2]\"}],\"internalType\":\"struct Commonlib.Proof\",\"name\":\"proof\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"delegate\",\"type\":\"address\"}],\"name\":\"lockProof\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"utxos\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"nullifier\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"output\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"root\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256[2]\",\"name\":\"pA\",\"type\":\"uint256[2]\"},{\"internalType\":\"uint256[2][2]\",\"name\":\"pB\",\"type\":\"uint256[2][2]\"},{\"internalType\":\"uint256[2]\",\"name\":\"pC\",\"type\":\"uint256[2]\"}],\"internalType\":\"struct Commonlib.Proof\",\"name\":\"proof\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Kaleido, Inc.\",\"details\":\"The proof has the following statements:        - each value in the output commitments must be a positive number in the range 0 ~ (2\\\\*\\\\*40 - 1)        - the sum of the nullified values match the sum of output values        - the hashes in the input and output match the hash(value, salt, owner public key) formula        - the sender possesses the private BabyJubjub key, whose public key is part of the pre-image of the input commitment hashes, which match the corresponding nullifiers        - the nullifiers represent input commitments that are included in a Sparse Merkle Tree represented by the root hash\",\"errors\":{\"AddressEmptyCode(address)\":[{\"details\":\"There's no code at `target` (it is not a contract).\"}],\"ERC1967InvalidImplementation(address)\":[{\"details\":\"The `implementation` of the proxy is invalid.\"}],\"ERC1967NonPayable()\":[{\"details\":\"An upgrade function sees `msg.value > 0` that may be lost.\"}],\"FailedCall()\":[{\"details\":\"A call to an address target failed. The target may have reverted.\"}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"OwnableInvalidOwner(address)\":[{\"details\":\"The owner is not a valid owner account. (eg. `address(0)`)\"}],\"OwnableUnauthorizedAccount(address)\":[{\"details\":\"The caller account is not authorized to perform an operation.\"}],\"UUPSUnauthorizedCallContext()\":[{\"details\":\"The call is from an unauthorized context.\"}],\"UUPSUnsupportedProxiableUUID(bytes32)\":[{\"details\":\"The storage `slot` is unsupported as a UUID.\"}]},\"events\":{\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC-1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transfer(uint256,uint256,uint256,(uint256[2],uint256[2][2],uint256[2]),bytes)\":{\"details\":\"the main function of the contract.\",\"params\":{\"nullifier\":\"A nullifier that are secretly bound to the UTXO to be spent by the transaction.\",\"output\":\"new UTXO to generate, for future transactions to spend.\",\"proof\":\"A zero knowledge proof that the submitter is authorized to spend the inputs, and      that the outputs are valid in terms of obeying mass conservation rules. Emits a {UTXOTransfer} event.\",\"root\":\"The root hash of the Sparse Merkle Tree that contains the nullifier.\"}},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"title\":\"A sample implementation of a Zeto based non-fungible token with anonymity and history masking\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/zeto_nf_anon_nullifier.sol\":\"Zeto_NfAnonNullifier\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":10000},\"remappings\":[\":@iden3/=node_modules/@iden3/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":eth-gas-reporter/=node_modules/eth-gas-reporter/\",\":forge-std/=lib/forge-std/src/\",\":hardhat/=node_modules/hardhat/\"],\"viaIR\":true},\"sources\":{\"contracts/lib/common.sol\":{\"keccak256\":\"0x41a6c108b95ddee950755303e6e59bceca9c55d518cc7e4ca6e8f5badfe490cb\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://c6865168ec6355ee85c6ce11d17c7c1bc57baec729de7cdbb9d6e8d860f70957\",\"dweb:/ipfs/QmXysx5oVKrSzoAvhzQCQs5bx1p5T5LeuJW6DtvgT7pXnV\"]},\"contracts/lib/interfaces/izeto.sol\":{\"keccak256\":\"0xeaec7f7b46d7b10febc04733f82917fa5a2e991ab7d4dd1df5aa5eef4f8ef5a5\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://1dadf25079f120d3291a1c1ad0c6d07921228f85e2544a600c7644ce8e0ea5de\",\"dweb:/ipfs/Qmas9LQQLMqYD8F6wx4htyCBdGn2csXdtHk1iKboQLw81e\"]},\"contracts/lib/interfaces/izeto_base.sol\":{\"keccak256\":\"0x6829d76623badc1a0acd73795c7cefbcacf786429cd0d12444d07a1e0c940cb9\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://6af5c33bf1664f565ab34aadf603fc8c0713551e0413284f09069db2e12ad152\",\"dweb:/ipfs/QmfCHhUyz5B4uhEBLXkKFRLUz61Pn6PaX9Pfwjo27jFyVN\"]},\"contracts/lib/registry.sol\":{\"keccak256\":\"0x040b7a4e1e0f7ca22e59e8be24548afd1ed1322a5acdd18193d4cf5e98d8c7de\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://b0c617332af5e0a0fb92d8492b1472a59c735bb4d6f0d56be43a58e3bd36791c\",\"dweb:/ipfs/Qme1FSyTGwvrdAQ82m9SoPXWeLgnaQECBU9xfGSR5zkGS6\"]},\"contracts/lib/verifier_nf_anon_nullifier.sol\":{\"keccak256\":\"0x9941f6604e349e0938187bf19d7be1bf18af2fc4557e91953a75c3a48d33c7fa\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ac254738df70a2e5dbbe5c05a44cd431b61b2d23ade4f5aa12e482f68aae4117\",\"dweb:/ipfs/QmQsYX8ae3jfKQrx8pMgzeP5nGzGWmLxMdv8GzDbfsad3E\"]},\"contracts/lib/zeto_common.sol\":{\"keccak256\":\"0xbf5b94d9177dc9b3d59a95b7424a20bb1869dfb7df948053b4b59d75495da6ae\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://e845a92c277c61f4374f04333e31cac9dc1cba5e36913f78ecc72eb74ec7ddc8\",\"dweb:/ipfs/QmPyyEzEy4q9wcff9d65yD3pmZHCxXRTYEHHjcGCSwcztf\"]},\"contracts/lib/zeto_nullifier.sol\":{\"keccak256\":\"0xf5243e20f729812b926a474fb1ef00be26635f0a563d5a63a3b1acf73171e355\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://de7adde3324d1bf06c20ff9ce50f4c9d9d13ea7e0cdf1492dbe348c195946238\",\"dweb:/ipfs/QmVf86nXLLw6XW4tM7dHqTePq3i4FfJZnHvs3MefFXCDec\"]},\"contracts/zeto_nf_anon_nullifier.sol\":{\"keccak256\":\"0x8172ea5e3390d2ef906094ec3570bbd7e9718b58258720ce087a1fe4dba7a71f\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://65cfe2fa167805c4acab1cc65ac050a17ded00dc1f1deb834b315374993774df\",\"dweb:/ipfs/QmSKcUWh9yD6VhGvEG2LYqDcuC1ZhCmqicujwiHabMQxxx\"]},\"node_modules/@iden3/contracts/lib/ArrayUtils.sol\":{\"keccak256\":\"0x7c5e3f9c56e8e80811db1f1336a1e37c657947f44687451e5a1d6bd12e9e6141\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c9497d8d8fe9fc2b2c9d61bbdfa5a4eb881ddf8948bbc099024e5026fadd6846\",\"dweb:/ipfs/Qmczkk8FLcxpM91ZAWpixowBEdq64YVLke3ZqVDt3NkYiT\"]},\"node_modules/@iden3/contracts/lib/Poseidon.sol\":{\"keccak256\":\"0x1776fa64b19c5e2f42d1449537ea5e911d7f067ee5d0409ca7daf7319853381f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://516c8ae954d17c4c5e4366249b93e85660f5887640c8141c6912831a42b89539\",\"dweb:/ipfs/QmVMZW5sFUmb3Bgypmfn19z1cNUWhubYXWFthbFruopZNc\"]},\"node_modules/@iden3/contracts/lib/SmtLib.sol\":{\"keccak256\":\"0x9c67be9b7d045ded48a63bd827a5bdc3f2255c68f9640bae41eef074640f1779\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1f2b2452120f5b2b2c5589fcf58183f7d800d3f8a2c202ebdc3b69815bcfb2aa\",\"dweb:/ipfs/QmbnvLnfJaKL3eqt1CfXofsiLJ7G3nYTawUEqGpCazWbrQ\"]},\"node_modules/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0xc163fcf9bb10138631a9ba5564df1fa25db9adff73bd9ee868a8ae1858fe093a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9706d43a0124053d9880f6e31a59f31bc0a6a3dc1acd66ce0a16e1111658c5f6\",\"dweb:/ipfs/QmUFmfowzkRwGtDu36cXV9SPTBHJ3n7dG9xQiK5B28jTf2\"]},\"node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0xdb4d24ee2c087c391d587cd17adfe5b3f9d93b3110b1388c2ab6c7c0ad1dcd05\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab7b6d5b9e2b88176312967fe0f0e78f3d9a1422fa5e4b64e2440c35869b5d08\",\"dweb:/ipfs/QmXKYWWyzcLg1B2k7Sb1qkEXgLCYfXecR9wYW5obRzWP1Q\"]},\"node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0x574a7451e42724f7de29e2855c392a8a5020acd695169466a18459467d719d63\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5bc189f63b639ee173dd7b6fecc39baf7113bf161776aea22b34c57fdd1872ec\",\"dweb:/ipfs/QmZAf2VtjDLRULqjJkde6LNsxAg12tUqpPqgUQQZbAjgtZ\"]},\"node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"node_modules/@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6\",\"dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0xb25a4f11fa80c702bf5cd85adec90e6f6f507f32f4a8e6f5dbc31e8c10029486\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6917f8a323e7811f041aecd4d9fd6e92455a6fba38a797ac6f6e208c7912b79d\",\"dweb:/ipfs/QmShuYv55wYHGi4EFkDB8QfF7ZCHoKk2efyz3AWY1ExSq7\"]},\"node_modules/@openzeppelin/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0xc42facb5094f2f35f066a7155bda23545e39a3156faef3ddc00185544443ba7d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d3b36282ab029b46bd082619a308a2ea11c309967b9425b7b7a6eb0b0c1c3196\",\"dweb:/ipfs/QmP2YVfDB2FoREax3vJu7QhDnyYRMw52WPrCD4vdT2kuDA\"]},\"node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol\":{\"keccak256\":\"0x8decfa54cec979c824b044b8128cd91d713f72c71fd7dfa54974624d8c949898\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://271f914261a19d87117a777e0924ada545c16191ef9b00cc40b0134fc14ebc70\",\"dweb:/ipfs/QmdvVNWHGHQrGGPonZJs5NuzTevTjZRM2zayKrDJf7WBA2\"]},\"node_modules/@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xc59a78b07b44b2cf2e8ab4175fca91e8eca1eee2df7357b8d2a8833e5ea1f64c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5aa4f07e65444784c29cd7bfcc2341b34381e4e5b5da9f0c5bd00d7f430e66fa\",\"dweb:/ipfs/QmWRMh4Q9DpaU9GvsiXmDdoNYMyyece9if7hnfLz7uqzWM\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xaaa1d17c1129b127a4a401db2fbd72960e2671474be3d08cae71ccdc42f7624c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cb2f27cd3952aa667e198fba0d9b7bcec52fbb12c16f013c25fe6fb52b29cc0e\",\"dweb:/ipfs/QmeuohBFoeyDPZA9JNCTEDz3VBfBD4EABWuWXVhHAuEpKR\"]},\"node_modules/@openzeppelin/contracts/utils/Arrays.sol\":{\"keccak256\":\"0x55a4fdb408e3db950b48f4a6131e538980be8c5f48ee59829d92d66477140cd6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e1ad251e692822ce1494135a4ecb5b97c19b90aa82418fd2959ce32017953fd\",\"dweb:/ipfs/QmT6N7mf6heZYhY2BAQ5kwZp9o3SXzGVdkMqUszx67WRDN\"]},\"node_modules/@openzeppelin/contracts/utils/Comparators.sol\":{\"keccak256\":\"0x302eecd8cf323b4690e3494a7d960b3cbce077032ab8ef655b323cdd136cec58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49ba706f1bc476d68fe6c1fad75517acea4e9e275be0989b548e292eb3a3eacd\",\"dweb:/ipfs/QmeBpvcdGWzWMKTQESUCEhHgnEQYYATVwPxLMxa6vMT7jC\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"node_modules/@openzeppelin/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"node_modules/@openzeppelin/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"node_modules/@openzeppelin/contracts/utils/SlotDerivation.sol\":{\"keccak256\":\"0x67672e4ca1dafdcc661d4eba8475cfac631fa0933309258e3af7644b92e1fb26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://30192451f05ea5ddb0c18bd0f9003f098505836ba19c08a9c365adf829454da2\",\"dweb:/ipfs/QmfCuZSCTyCdFoSKn7MSaN6hZksnQn9ZhrZDAdRTCbwGu2\"]},\"node_modules/@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"node_modules/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x1225214420c83ebcca88f2ae2b50f053aaa7df7bd684c3e878d334627f2edfc6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c5fab4970634f9ab9a620983dc1c8a30153981a0b1a521666e269d0a11399d3\",\"dweb:/ipfs/QmVRnBC575MESGkEHndjujtR7qub2FzU9RWy9eKLp4hPZB\"]},\"node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.27+commit.40a35a09"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"target","type":"address"}],"type":"error","name":"AddressEmptyCode"},{"inputs":[{"internalType":"address","name":"implementation","type":"address"}],"type":"error","name":"ERC1967InvalidImplementation"},{"inputs":[],"type":"error","name":"ERC1967NonPayable"},{"inputs":[],"type":"error","name":"FailedCall"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"type":"error","name":"IdentityNotRegistered"},{"inputs":[],"type":"error","name":"InvalidInitialization"},{"inputs":[],"type":"error","name":"NotInitializing"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"type":"error","name":"OwnableInvalidOwner"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"type":"error","name":"OwnableUnauthorizedAccount"},{"inputs":[{"internalType":"uint256","name":"utxo","type":"uint256"}],"type":"error","name":"UTXOAlreadyOwned"},{"inputs":[{"internalType":"uint256","name":"utxo","type":"uint256"}],"type":"error","name":"UTXOAlreadySpent"},{"inputs":[{"internalType":"uint256","name":"maxAllowed","type":"uint256"}],"type":"error","name":"UTXOArrayTooLarge"},{"inputs":[{"internalType":"uint256","name":"utxo","type":"uint256"}],"type":"error","name":"UTXODuplicate"},{"inputs":[{"internalType":"uint256","name":"utxo","type":"uint256"}],"type":"error","name":"UTXONotMinted"},{"inputs":[{"internalType":"uint256","name":"root","type":"uint256"}],"type":"error","name":"UTXORootNotFound"},{"inputs":[],"type":"error","name":"UUPSUnauthorizedCallContext"},{"inputs":[{"internalType":"bytes32","name":"slot","type":"bytes32"}],"type":"error","name":"UUPSUnsupportedProxiableUUID"},{"inputs":[{"internalType":"uint64","name":"version","type":"uint64","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"uint256[]","name":"outputs","type":"uint256[]","indexed":false},{"internalType":"address","name":"submitter","type":"address","indexed":true},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"UTXOMint","anonymous":false},{"inputs":[{"internalType":"uint256[]","name":"inputs","type":"uint256[]","indexed":false},{"internalType":"uint256[]","name":"outputs","type":"uint256[]","indexed":false},{"internalType":"address","name":"submitter","type":"address","indexed":true},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"UTXOTransfer","anonymous":false},{"inputs":[{"internalType":"address","name":"implementation","type":"address","indexed":true}],"type":"event","name":"Upgraded","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"UPGRADE_INTERFACE_VERSION","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getRoot","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"initialOwner","type":"address"},{"internalType":"contract Groth16Verifier_NfAnonNullifier","name":"_verifier","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"struct Commonlib.Proof","name":"proof","type":"tuple","components":[{"internalType":"uint256[2]","name":"pA","type":"uint256[2]"},{"internalType":"uint256[2][2]","name":"pB","type":"uint256[2][2]"},{"internalType":"uint256[2]","name":"pC","type":"uint256[2]"}]},{"internalType":"address","name":"delegate","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"lockProof"},{"inputs":[{"internalType":"uint256[]","name":"utxos","type":"uint256[]"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"mint"},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"uint256","name":"nullifier","type":"uint256"},{"internalType":"uint256","name":"output","type":"uint256"},{"internalType":"uint256","name":"root","type":"uint256"},{"internalType":"struct Commonlib.Proof","name":"proof","type":"tuple","components":[{"internalType":"uint256[2]","name":"pA","type":"uint256[2]"},{"internalType":"uint256[2][2]","name":"pB","type":"uint256[2][2]"},{"internalType":"uint256[2]","name":"pC","type":"uint256[2]"}]},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"upgradeToAndCall"}],"devdoc":{"kind":"dev","methods":{"owner()":{"details":"Returns the address of the current owner."},"proxiableUUID()":{"details":"Implementation of the ERC-1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"transfer(uint256,uint256,uint256,(uint256[2],uint256[2][2],uint256[2]),bytes)":{"details":"the main function of the contract.","params":{"nullifier":"A nullifier that are secretly bound to the UTXO to be spent by the transaction.","output":"new UTXO to generate, for future transactions to spend.","proof":"A zero knowledge proof that the submitter is authorized to spend the inputs, and      that the outputs are valid in terms of obeying mass conservation rules. Emits a {UTXOTransfer} event.","root":"The root hash of the Sparse Merkle Tree that contains the nullifier."}},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."},"upgradeToAndCall(address,bytes)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@iden3/=node_modules/@iden3/","@openzeppelin/=node_modules/@openzeppelin/","eth-gas-reporter/=node_modules/eth-gas-reporter/","forge-std/=lib/forge-std/src/","hardhat/=node_modules/hardhat/"],"optimizer":{"enabled":true,"runs":10000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"contracts/zeto_nf_anon_nullifier.sol":"Zeto_NfAnonNullifier"},"evmVersion":"cancun","libraries":{},"viaIR":true},"sources":{"contracts/lib/common.sol":{"keccak256":"0x41a6c108b95ddee950755303e6e59bceca9c55d518cc7e4ca6e8f5badfe490cb","urls":["bzz-raw://c6865168ec6355ee85c6ce11d17c7c1bc57baec729de7cdbb9d6e8d860f70957","dweb:/ipfs/QmXysx5oVKrSzoAvhzQCQs5bx1p5T5LeuJW6DtvgT7pXnV"],"license":"Apache-2.0"},"contracts/lib/interfaces/izeto.sol":{"keccak256":"0xeaec7f7b46d7b10febc04733f82917fa5a2e991ab7d4dd1df5aa5eef4f8ef5a5","urls":["bzz-raw://1dadf25079f120d3291a1c1ad0c6d07921228f85e2544a600c7644ce8e0ea5de","dweb:/ipfs/Qmas9LQQLMqYD8F6wx4htyCBdGn2csXdtHk1iKboQLw81e"],"license":"Apache-2.0"},"contracts/lib/interfaces/izeto_base.sol":{"keccak256":"0x6829d76623badc1a0acd73795c7cefbcacf786429cd0d12444d07a1e0c940cb9","urls":["bzz-raw://6af5c33bf1664f565ab34aadf603fc8c0713551e0413284f09069db2e12ad152","dweb:/ipfs/QmfCHhUyz5B4uhEBLXkKFRLUz61Pn6PaX9Pfwjo27jFyVN"],"license":"Apache-2.0"},"contracts/lib/registry.sol":{"keccak256":"0x040b7a4e1e0f7ca22e59e8be24548afd1ed1322a5acdd18193d4cf5e98d8c7de","urls":["bzz-raw://b0c617332af5e0a0fb92d8492b1472a59c735bb4d6f0d56be43a58e3bd36791c","dweb:/ipfs/Qme1FSyTGwvrdAQ82m9SoPXWeLgnaQECBU9xfGSR5zkGS6"],"license":"Apache-2.0"},"contracts/lib/verifier_nf_anon_nullifier.sol":{"keccak256":"0x9941f6604e349e0938187bf19d7be1bf18af2fc4557e91953a75c3a48d33c7fa","urls":["bzz-raw://ac254738df70a2e5dbbe5c05a44cd431b61b2d23ade4f5aa12e482f68aae4117","dweb:/ipfs/QmQsYX8ae3jfKQrx8pMgzeP5nGzGWmLxMdv8GzDbfsad3E"],"license":"GPL-3.0"},"contracts/lib/zeto_common.sol":{"keccak256":"0xbf5b94d9177dc9b3d59a95b7424a20bb1869dfb7df948053b4b59d75495da6ae","urls":["bzz-raw://e845a92c277c61f4374f04333e31cac9dc1cba5e36913f78ecc72eb74ec7ddc8","dweb:/ipfs/QmPyyEzEy4q9wcff9d65yD3pmZHCxXRTYEHHjcGCSwcztf"],"license":"Apache-2.0"},"contracts/lib/zeto_nullifier.sol":{"keccak256":"0xf5243e20f729812b926a474fb1ef00be26635f0a563d5a63a3b1acf73171e355","urls":["bzz-raw://de7adde3324d1bf06c20ff9ce50f4c9d9d13ea7e0cdf1492dbe348c195946238","dweb:/ipfs/QmVf86nXLLw6XW4tM7dHqTePq3i4FfJZnHvs3MefFXCDec"],"license":"Apache-2.0"},"contracts/zeto_nf_anon_nullifier.sol":{"keccak256":"0x8172ea5e3390d2ef906094ec3570bbd7e9718b58258720ce087a1fe4dba7a71f","urls":["bzz-raw://65cfe2fa167805c4acab1cc65ac050a17ded00dc1f1deb834b315374993774df","dweb:/ipfs/QmSKcUWh9yD6VhGvEG2LYqDcuC1ZhCmqicujwiHabMQxxx"],"license":"Apache-2.0"},"node_modules/@iden3/contracts/lib/ArrayUtils.sol":{"keccak256":"0x7c5e3f9c56e8e80811db1f1336a1e37c657947f44687451e5a1d6bd12e9e6141","urls":["bzz-raw://c9497d8d8fe9fc2b2c9d61bbdfa5a4eb881ddf8948bbc099024e5026fadd6846","dweb:/ipfs/Qmczkk8FLcxpM91ZAWpixowBEdq64YVLke3ZqVDt3NkYiT"],"license":"GPL-3.0"},"node_modules/@iden3/contracts/lib/Poseidon.sol":{"keccak256":"0x1776fa64b19c5e2f42d1449537ea5e911d7f067ee5d0409ca7daf7319853381f","urls":["bzz-raw://516c8ae954d17c4c5e4366249b93e85660f5887640c8141c6912831a42b89539","dweb:/ipfs/QmVMZW5sFUmb3Bgypmfn19z1cNUWhubYXWFthbFruopZNc"],"license":"GPL-3.0"},"node_modules/@iden3/contracts/lib/SmtLib.sol":{"keccak256":"0x9c67be9b7d045ded48a63bd827a5bdc3f2255c68f9640bae41eef074640f1779","urls":["bzz-raw://1f2b2452120f5b2b2c5589fcf58183f7d800d3f8a2c202ebdc3b69815bcfb2aa","dweb:/ipfs/QmbnvLnfJaKL3eqt1CfXofsiLJ7G3nYTawUEqGpCazWbrQ"],"license":"GPL-3.0"},"node_modules/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol":{"keccak256":"0xc163fcf9bb10138631a9ba5564df1fa25db9adff73bd9ee868a8ae1858fe093a","urls":["bzz-raw://9706d43a0124053d9880f6e31a59f31bc0a6a3dc1acd66ce0a16e1111658c5f6","dweb:/ipfs/QmUFmfowzkRwGtDu36cXV9SPTBHJ3n7dG9xQiK5B28jTf2"],"license":"MIT"},"node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol":{"keccak256":"0xdb4d24ee2c087c391d587cd17adfe5b3f9d93b3110b1388c2ab6c7c0ad1dcd05","urls":["bzz-raw://ab7b6d5b9e2b88176312967fe0f0e78f3d9a1422fa5e4b64e2440c35869b5d08","dweb:/ipfs/QmXKYWWyzcLg1B2k7Sb1qkEXgLCYfXecR9wYW5obRzWP1Q"],"license":"MIT"},"node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0x574a7451e42724f7de29e2855c392a8a5020acd695169466a18459467d719d63","urls":["bzz-raw://5bc189f63b639ee173dd7b6fecc39baf7113bf161776aea22b34c57fdd1872ec","dweb:/ipfs/QmZAf2VtjDLRULqjJkde6LNsxAg12tUqpPqgUQQZbAjgtZ"],"license":"MIT"},"node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol":{"keccak256":"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397","urls":["bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9","dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV"],"license":"MIT"},"node_modules/@openzeppelin/contracts/access/Ownable.sol":{"keccak256":"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb","urls":["bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6","dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/IERC1967.sol":{"keccak256":"0xb25a4f11fa80c702bf5cd85adec90e6f6f507f32f4a8e6f5dbc31e8c10029486","urls":["bzz-raw://6917f8a323e7811f041aecd4d9fd6e92455a6fba38a797ac6f6e208c7912b79d","dweb:/ipfs/QmShuYv55wYHGi4EFkDB8QfF7ZCHoKk2efyz3AWY1ExSq7"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0xc42facb5094f2f35f066a7155bda23545e39a3156faef3ddc00185544443ba7d","urls":["bzz-raw://d3b36282ab029b46bd082619a308a2ea11c309967b9425b7b7a6eb0b0c1c3196","dweb:/ipfs/QmP2YVfDB2FoREax3vJu7QhDnyYRMw52WPrCD4vdT2kuDA"],"license":"MIT"},"node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol":{"keccak256":"0x8decfa54cec979c824b044b8128cd91d713f72c71fd7dfa54974624d8c949898","urls":["bzz-raw://271f914261a19d87117a777e0924ada545c16191ef9b00cc40b0134fc14ebc70","dweb:/ipfs/QmdvVNWHGHQrGGPonZJs5NuzTevTjZRM2zayKrDJf7WBA2"],"license":"MIT"},"node_modules/@openzeppelin/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xc59a78b07b44b2cf2e8ab4175fca91e8eca1eee2df7357b8d2a8833e5ea1f64c","urls":["bzz-raw://5aa4f07e65444784c29cd7bfcc2341b34381e4e5b5da9f0c5bd00d7f430e66fa","dweb:/ipfs/QmWRMh4Q9DpaU9GvsiXmDdoNYMyyece9if7hnfLz7uqzWM"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Address.sol":{"keccak256":"0xaaa1d17c1129b127a4a401db2fbd72960e2671474be3d08cae71ccdc42f7624c","urls":["bzz-raw://cb2f27cd3952aa667e198fba0d9b7bcec52fbb12c16f013c25fe6fb52b29cc0e","dweb:/ipfs/QmeuohBFoeyDPZA9JNCTEDz3VBfBD4EABWuWXVhHAuEpKR"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Arrays.sol":{"keccak256":"0x55a4fdb408e3db950b48f4a6131e538980be8c5f48ee59829d92d66477140cd6","urls":["bzz-raw://3e1ad251e692822ce1494135a4ecb5b97c19b90aa82418fd2959ce32017953fd","dweb:/ipfs/QmT6N7mf6heZYhY2BAQ5kwZp9o3SXzGVdkMqUszx67WRDN"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Comparators.sol":{"keccak256":"0x302eecd8cf323b4690e3494a7d960b3cbce077032ab8ef655b323cdd136cec58","urls":["bzz-raw://49ba706f1bc476d68fe6c1fad75517acea4e9e275be0989b548e292eb3a3eacd","dweb:/ipfs/QmeBpvcdGWzWMKTQESUCEhHgnEQYYATVwPxLMxa6vMT7jC"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Context.sol":{"keccak256":"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2","urls":["bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12","dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Errors.sol":{"keccak256":"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123","urls":["bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf","dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Panic.sol":{"keccak256":"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a","urls":["bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a","dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/SlotDerivation.sol":{"keccak256":"0x67672e4ca1dafdcc661d4eba8475cfac631fa0933309258e3af7644b92e1fb26","urls":["bzz-raw://30192451f05ea5ddb0c18bd0f9003f098505836ba19c08a9c365adf829454da2","dweb:/ipfs/QmfCuZSCTyCdFoSKn7MSaN6hZksnQn9ZhrZDAdRTCbwGu2"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/StorageSlot.sol":{"keccak256":"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97","urls":["bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b","dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/Math.sol":{"keccak256":"0x1225214420c83ebcca88f2ae2b50f053aaa7df7bd684c3e878d334627f2edfc6","urls":["bzz-raw://6c5fab4970634f9ab9a620983dc1c8a30153981a0b1a521666e269d0a11399d3","dweb:/ipfs/QmVRnBC575MESGkEHndjujtR7qub2FzU9RWy9eKLp4hPZB"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol":{"keccak256":"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54","urls":["bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8","dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy"],"license":"MIT"}},"version":1},"id":44}