PageSourceSearch

https://privote.live/_next/static/chunks/766-f9d113c83c6790b1.js

js privote.live collected 2026-10-04 13:17:30 UTC 1,091,778 bytes, 7 lines download raw bytes

1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[766],{504:function(e,t,n){"use strict";var a,r=this&&this.__createBinding||(Object.create?function(e,t,n,a){void 0===a&&(a=n);var r=Object.getOwnPropertyDescriptor(t,n);(!r||("get"in r?!t.__esModule:r.writable||r.configurable))&&(r={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,a,r)}:function(e,t,n,a){void 0===a&&(a=n),e[a]=t[n]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),f=this&&this.__importStar||(a=function(e){return(a=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t})(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n=a(e),f=0;f<n.length;f++)"default"!==n[f]&&r(t,e,n[f]);return i(t,e),t});Object.defineProperty(t,"__esModule",{value:!0}),t.draftIerc6093Sol=void 0,t.draftIerc6093Sol=f(n(8030))},614:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BLOCKS_STEP=void 0,t.BLOCKS_STEP=1e3},668:e=>{!function(){"undefined"!=typeof __nccwpck_require__&&(__nccwpck_require__.ab="//");var t={};t.endianness=function(){return"LE"},t.hostname=function(){return"undefined"!=typeof location?location.hostname:""},t.loadavg=function(){return[]},t.uptime=function(){return 0},t.freemem=function(){return Number.MAX_VALUE},t.totalmem=function(){return Number.MAX_VALUE},t.cpus=function(){return[]},t.type=function(){return"Browser"},t.release=function(){return"undefined"!=typeof navigator?navigator.appVersion:""},t.networkInterfaces=t.getNetworkInterfaces=function(){return{}},t.arch=function(){return"javascript"},t.platform=function(){return"browser"},t.tmpdir=t.tmpDir=function(){return"/tmp"},t.EOL="\n",t.homedir=function(){return"/"},e.exports=t}()},1175:(e,t)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.ProcessMessageError=t.ProcessMessageErrors=void 0,function(e){e.InvalidCommand="invalid command",e.InvalidStateLeafIndex="invalid state leaf index",e.InvalidSignature="invalid signature",e.InvalidNonce="invalid nonce",e.InsufficientVoiceCredits="insufficient voice credits",e.InvalidVoteOptionIndex="invalid vote option index",e.FailedDecryption="failed decryption due to either wrong encryption public key or corrupted ciphertext",e.InvalidVoiceCredits="invalid voice credits"}(n||(t.ProcessMessageErrors=n={}));class a extends Error{constructor(e){super(e),this.code=e,this.name=this.constructor.name}}t.ProcessMessageError=a},1973:(e,t,n)=>{"use strict";n.d(t,{k:()=>i});var a=n(29592),r=n(44618);class i extends r._y{#e;#t;constructor(e,t,n){let r=Object.assign({},null!=n?n:{},{batchMaxCount:1});(0,a.MR)(e&&e.request,"invalid EIP-1193 provider","ethereum",e),super(t,r),this.#t=null,n&&n.providerInfo&&(this.#t=n.providerInfo),this.#e=async(t,n)=>{let a={method:t,params:n};this.emit("debug",{action:"sendEip1193Request",payload:a});try{let t=await e.request(a);return this.emit("debug",{action:"receiveEip1193Result",result:t}),t}catch(t){let e=Error(t.message);throw e.code=t.code,e.data=t.data,e.payload=a,this.emit("debug",{action:"receiveEip1193Error",error:e}),e}}}get providerInfo(){return this.#t}async send(e,t){return await this._start(),await super.send(e,t)}async _send(e){(0,a.MR)(!Array.isArray(e),"EIP-1193 does not support batch request","payload",e);try{let t=await this.#e(e.method,e.params||[]);return[{id:e.id,result:t}]}catch(t){return[{id:e.id,error:{code:t.code,data:t.data,message:t.message}}]}}getRpcError(e,t){switch((t=JSON.parse(JSON.stringify(t))).error.code||-1){case 4001:t.error.message=`ethers-user-denied: ${t.error.message}`;break;case 4200:t.error.message=`ethers-unsupported: ${t.error.message}`}return super.getRpcError(e,t)}async hasSigner(e){null==e&&(e=0);let t=await this.send("eth_accounts",[]);return"number"==typeof e?t.length>e:(e=e.toLowerCase(),0!==t.filter(t=>t.toLowerCase()===e).length)}async getSigner(e){if(null==e&&(e=0),!await this.hasSigner(e))try{await this.#e("eth_requestAccounts",[])}catch(t){let e=t.payload;throw this.getRpcError(e,{id:e.id,error:t})}return await super.getSigner(e)}static async discover(e){if(null==e&&(e={}),e.provider)return new i(e.provider);let t=e.window?e.window:"undefined"!=typeof window?window:null;if(null==t)return null;let n=e.anyProvider;if(n&&t.ethereum)return new i(t.ethereum);if(!("addEventListener"in t&&"dispatchEvent"in t&&"removeEventListener"in t))return null;let r=e.timeout?e.timeout:300;return 0===r?null:await new Promise((f,b)=>{let s=[],o=e=>{s.push(e.detail),n&&c()},c=()=>
1{if(clearTimeout(d),s.length)if(e&&e.filter){let t=e.filter(s.map(e=>Object.assign({},e.info)));if(null==t)f(null);else if(t instanceof i)f(t);else{let e=null;if(t.uuid&&(e=s.filter(e=>t.uuid===e.info.uuid)[0]),e){let{provider:t,info:n}=e;f(new i(t,void 0,{providerInfo:n}))}else b((0,a.xz)("filter returned unknown info","UNSUPPORTED_OPERATION",{value:t}))}}else{let{provider:e,info:t}=s[0];f(new i(e,void 0,{providerInfo:t}))}else f(null);t.removeEventListener("eip6963:announceProvider",o)},d=setTimeout(()=>{c()},r);t.addEventListener("eip6963:announceProvider",o),t.dispatchEvent(new Event("eip6963:requestProvider"))})}}},2014:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Clone__factory=void 0;let a=n(27653),r=[{inputs:[],name:"AlreadyInitialized",type:"error"},{inputs:[],name:"getAppendedBytes",outputs:[{internalType:"bytes",name:"appendedBytes",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"initialized",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"}];class i{static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.Clone__factory=i,i.abi=r},2314:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.generateSignUpTreeFromKeys=t.generateSignUpTreeWithEndKey=t.generateSignUpTree=void 0;let a=n(68832),r=n(68960),i=n(68681),f=n(59282),b=n(57334);t.generateSignUpTree=async({provider:e,address:t,fromBlock:n=0,blocksPerRequest:s=50,endBlock:o,sleepAmount:c})=>{let d=o||await e.getBlockNumber(),u=a.MACI__factory.connect(t,e),l=new f.LeanIMT(r.hashLeanIMT);l.insert(r.PAD_KEY_HASH);let p=[];for(let e=n;e<=d;e+=s+1){let t=e+s>=d?d:e+s;(await u.queryFilter(u.filters.SignUp(),e,t)).forEach(e=>{let t=e.args._userPublicKeyX,n=e.args._userPublicKeyY,a=new i.PublicKey([t,n]);p.push(a),l.insert((0,r.hashLeftRight)(t,n))}),c&&await (0,b.sleep)(c)}return{signUpTree:l,publicKeys:p}},t.generateSignUpTreeWithEndKey=async({provider:e,address:t,fromBlock:n=0,blocksPerRequest:s=50,endBlock:o,sleepAmount:c,userPublicKey:d})=>{let u=o||await e.getBlockNumber(),l=a.MACI__factory.connect(t,e),p=new f.LeanIMT(r.hashLeanIMT);p.insert(r.PAD_KEY_HASH);let y=[];for(let e=n;e<=u;e+=s+1){let t=e+s>=u?u:e+s,n=await l.queryFilter(l.filters.SignUp(),e,t);for(let e=0;e<n.length;e+=1){let t=n[e],a=t.args._userPublicKeyX,f=t.args._userPublicKeyY,b=new i.PublicKey([a,f]);if(y.push(b),p.insert((0,r.hashLeftRight)(a,f)),b.equals(d))return{signUpTree:p,publicKeys:y}}c&&await (0,b.sleep)(c)}return{signUpTree:p,publicKeys:y}},t.generateSignUpTreeFromKeys=e=>{let t=new f.LeanIMT(r.hashLeanIMT);return e.forEach(e=>{t.insert(e.hash())}),t}},2384:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.downloadPollJoiningArtifactsBrowser=void 0;let a=n(61489),r=async e=>{let t=await e.read(),n=[],a=0;for(;!t.done;){let{value:r}=t;a+=r.length,n.push(r),t=await e.read()}let{acc:r}=n.reduce(({acc:e,position:t},n)=>(e.set(n,t),{acc:e,position:t+n.length}),{acc:new Uint8Array(a),position:0});return r};t.downloadPollJoiningArtifactsBrowser=async({testing:e=!1,stateTreeDepth:t})=>{let{zKeyUrl:n,wasmUrl:i}=(0,a.getPollJoiningArtifactsUrl)(e,t),[f,b]=await Promise.all([fetch(n),fetch(i)]),s=f.body?.getReader(),o=b.body?.getReader();if(!s||!o)throw Error("Failed to read zKey or wasm");let[c,d]=await Promise.all([r(s),r(o)]);return{zKey:c,wasm:d}}},2580:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ERC20__factory=void 0;let a=n(27653),r=[{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"allowance",type:"uint256"},{internalType:"uint256",name:"needed",type:"uint256"}],name:"ERC20InsufficientAllowance",type:"error"},{inputs:[{internalType:"address",name:"sender",type:"address"},{internalType:"uint256",name:"balance",type:"uint256"},{internalType:"uint256",name:"needed",type:"uint256"}],name:"ERC20InsufficientBalance",type:"error"},{inputs:[{internalType:"address",name:"approver",type:"address"}],name:"ERC20InvalidApprover",type:"error"},{inputs:[{internalType:"address",name:"receiver",type:"address"}],name:"ERC20InvalidReceiver",type:"error"},{inputs:[{internalType:"address",name:"sender",type:"address"}],name:"ERC20InvalidSender",type:"error"},{inputs:[{internalType:"address",name:"spender",type:"address"}],name:"ERC20InvalidSpender",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"spender",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Transfer",type:"event"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"spender",type:"address"}],name:"allowance",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"approve",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"decimals",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"transfer",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"transferFrom",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"}];
1class i{static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.ERC20__factory=i,i.abi=r},3431:function(e,t,n){"use strict";var a,r=this&&this.__createBinding||(Object.create?function(e,t,n,a){void 0===a&&(a=n);var r=Object.getOwnPropertyDescriptor(t,n);(!r||("get"in r?!t.__esModule:r.writable||r.configurable))&&(r={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,a,r)}:function(e,t,n,a){void 0===a&&(a=n),e[a]=t[n]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),f=this&&this.__importStar||(a=function(e){return(a=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t})(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n=a(e),f=0;f<n.length;f++)"default"!==n[f]&&r(t,e,n[f]);return i(t,e),t});Object.defineProperty(t,"__esModule",{value:!0}),t.erc721=t.erc20=void 0,t.erc20=f(n(66002)),t.erc721=f(n(39898))},4016:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Hasher__factory=void 0;let a=n(27653),r=[{inputs:[{internalType:"uint256[2]",name:"array",type:"uint256[2]"}],name:"hash2",outputs:[{internalType:"uint256",name:"result",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"uint256[3]",name:"array",type:"uint256[3]"}],name:"hash3",outputs:[{internalType:"uint256",name:"result",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"uint256[4]",name:"array",type:"uint256[4]"}],name:"hash4",outputs:[{internalType:"uint256",name:"result",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"uint256[5]",name:"array",type:"uint256[5]"}],name:"hash5",outputs:[{internalType:"uint256",name:"result",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"uint256",name:"left",type:"uint256"},{internalType:"uint256",name:"right",type:"uint256"}],name:"hashLeftRight",outputs:[{internalType:"uint256",name:"result",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"uint256[]",name:"array",type:"uint256[]"}],name:"sha256Hash",outputs:[{internalType:"uint256",name:"result",type:"uint256"}],stateMutability:"pure",type:"function"}],i="0x6080604052348015600f57600080fd5b506106c18061001f6000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c80633dfb88b21461006757806358bfc3791461008c5780635bb939951461009f57806362a361bb146100b25780639cfced97146100c5578063bea140b3146100d8575b600080fd5b61007a61007536600461033e565b6100eb565b60405190815260200160405180910390f35b61007a61009a3660046103a6565b61016c565b61007a6100ad366004610457565b610206565b61007a6100c0366004610479565b61022b565b61007a6100d33660046104bc565b610265565b61007a6100e63660046104ff565b61029f565b60405163248f667760e01b815260009073__$ce9c2c925f157047e54fa833ec4e61409f$__9063248f667790610125908590600401610542565b602060405180830381865af4158015610142573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101669190610573565b92915050565b60007f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016002836040516020016101a2919061058c565b60408051601f19818403018152908290526101bc916105c2565b602060405180830381855afa1580156101d9573d6000803e3d6000fd5b5050506040513d601f19601f820116820180604052508101906101fc9190610573565b61016691906105f1565b60006102106102d9565b838152602081018390526102238161022b565b949350505050565b6040516314d2f97b60e11b815260009073__$6574937f64fc1d7710ec0e28b7a36713bb$__906329a5f2f690610125908590600401610613565b604051630926f44b60e31b815260009073__$20527677031d76601747626a9845039fe4$__90634937a2589061012590859060040161063b565b6040516304b98e1d60e31b815260009073__$dc01a9744591ab014bc46a3b7671cdaefb$__906325cc70e890610125908590600401610663565b60405180604001604052806002906020820280368337509192915050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610336576103366102f7565b604052919050565b60006080828403121561035057600080fd5b600083601f840112610360578081fd5b8061036b608061030d565b9050809150608084018581111561038157600080fd5b845b8181101561039b578035845260209384019301610383565b509095945050505050565b6000602082840312156103b857600080fd5b813567ffffffffffffffff8111156103cf57600080fd5b8201601f810184136103e057600080fd5b803567ffffffffffffffff8111156103fa576103fa6102f7565b8060051b61040a6020820161030d565b9182526020818401810192908101908784111561042657600080fd5b6020850194505b8385101561044c5784358083526020958601959093509091019061042d565b979650505050505050565b6000806040838503121561046a57600080fd5b50508035926020909101359150565b60006040828403121561048b57600080fd5b600083601f84011261049b578081fd5b806104a6604061030d565b9050809150604084018581111561038157600080fd5b600060a082840312156104ce57600080fd5b600083601f8401126104de578081fd5b806104e960a061030d565b905080915060a084018581111561038157600080fd5b60006060828403121561051157600080fd5b600083601f840112610521578081fd5b8061052c606061030d565b9050809150606084018581111561038157600080fd5b60808101818360005b600481101561056a57815183526020928301929091019060010161054b565b50505092915050565b60006020828403121561058557600080fd5b5051919050565b8151600090829060208501835b828110156105b7578151845260209384019390910190600101610599565b509195945050505050565b6000825160005b818110156105e357602081860181015185830152016105c9565b506000920191825250919050565b60008261060e57634e487b7160e01b600052601260045260246000fd5b500690565b60408101818360005b600281101561056a57815183526020928301929091019060010161061c565b60a08101818360005b600581101561056a578151835260209283019290910190600101610644565b60608101818360005b600381101561056a57815183526020928301929091019060010161066c56fea26469706673582212202c418cc19fcf5300682d0fe4008b0292b86ed1af847905664e9ffc1772af9d8164736f6c634300081c0033",f=e=>"string"==typeof e[0]||Array.isArray(e[0])||"_isInterface"in e[0];class b extends a.ContractFactory{constructor(...e){if(f(e))super(...e);else{let[t,n]=e;super(r,b.linkBytecode(t),n)}}static linkBytecode(e){let t=i;return(t=(t=(t=t.replace(RegExp("__\\$ce9c2c925f157047e54fa833ec4e61409f\\$__","g"),e["contracts/crypto/PoseidonT5.sol:PoseidonT5"].replace(/^0x/,"").toLowerCase())).replace(RegExp("__\\$6574937f64fc1d7710ec0e28b7a36713bb\\$__","g"),e["contracts/crypto/PoseidonT3.sol:PoseidonT3"].replace(/^0x/,"").toLowerCase())).replace(RegExp("__\\$20527677031d76601747626a9845039fe4\\$__","g"),e["contracts/crypto/PoseidonT6.sol:PoseidonT6"].replace(/^0x/,"").toLowerCase())).replace(RegExp("__\\$dc01a9744591ab014bc46a3b7671cdaefb\\$__","g"),e["contracts/crypto/PoseidonT4.sol:PoseidonT4"].replace(/^0x/,"").toLowerCase())}getDeployTransaction(e){return super.getDeployTransaction(e||{})}deploy(e){return super.deploy(e||{})}connect(e){return super.connect(e)}static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.Hasher__factory=b,b.bytecode=i,b.abi=r},4377:(e,t,n)=>{var a=n(24376),r=a?a.prototype:void 0,i=r?r.valueOf:void 0;e.exports=function(e){return i?Object(i.call(e)):{}}}
1,4483:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.generateMaciPublicKey=void 0;let a=n(68960),r=n(68681);t.generateMaciPublicKey=e=>{if(!r.PrivateKey.isValidSerialized(e))throw Error("Invalid private key");let t=r.PrivateKey.deserialize(e);return new r.PublicKey((0,a.generatePublicKey)(t.raw)).serialize()}},4967:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TokenPolicyFactory__factory=t.TokenPolicy__factory=t.TokenCheckerFactory__factory=t.TokenChecker__factory=void 0;var a=n(69147);Object.defineProperty(t,"TokenChecker__factory",{enumerable:!0,get:function(){return a.TokenChecker__factory}});var r=n(74815);Object.defineProperty(t,"TokenCheckerFactory__factory",{enumerable:!0,get:function(){return r.TokenCheckerFactory__factory}});var i=n(66132);Object.defineProperty(t,"TokenPolicy__factory",{enumerable:!0,get:function(){return i.TokenPolicy__factory}});var f=n(86118);Object.defineProperty(t,"TokenPolicyFactory__factory",{enumerable:!0,get:function(){return f.TokenPolicyFactory__factory}})},4991:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PoseidonT5__factory=void 0;let a=n(27653),r=[{inputs:[{internalType:"uint256[4]",name:"input",type:"uint256[4]"}],name:"poseidon",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"pure",type:"function"}],i="0x61011d610039600b82828239805160001a607314602c57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361060335760003560e01c8063248f6677146038575b600080fd5b604960433660046071565b50600090565b60405190815260200160405180910390f35b634e487b7160e01b600052604160045260246000fd5b600060808284031215608257600080fd5b82601f830112609057600080fd5b6040516080810181811067ffffffffffffffff8211171560b05760b0605b565b60405280608084018581111560c457600080fd5b845b8181101560dc57803583526020928301920160c6565b50919594505050505056fea2646970667358221220ce290d6f384c1c45b3cf486f678d3fa1bf00399da6fc84ed3c0434771e24a33464736f6c634300081c0033",f=e=>e.length>1;class b extends a.ContractFactory{constructor(...e){f(e)?super(...e):super(r,i,e[0])}getDeployTransaction(e){return super.getDeployTransaction(e||{})}deploy(e){return super.deploy(e||{})}connect(e){return super.connect(e)}static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.PoseidonT5__factory=b,b.bytecode=i,b.abi=r},5175:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Factory__factory=void 0;let a=n(27653),r=[{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"clone",type:"address"}],name:"CloneDeployed",type:"event"},{inputs:[],name:"IMPLEMENTATION",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"}];class i{static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.Factory__factory=i,i.abi=r},5516:(e,t,n)=>{var a=n(5658);e.exports=function(e,t){var n=a(this,e),r=n.size;return n.set(e,t),this.size+=+(n.size!=r),this}},5518:(e,t,n)=>{var a=n(11850),r=n(28897);e.exports=function(e,t,n,i){var f=!n;n||(n={});for(var b=-1,s=t.length;++b<s;){var o=t[b],c=i?i(n[o],e[o],o,n,e):void 0;void 0===c&&(c=e[o]),f?r(n,o,c):a(n,o,c)}return n}},5658:(e,t,n)=>{var a=n(30699);e.exports=function(e,t){var n=e.__data__;return a(t)?n["string"==typeof t?"string":"hash"]:n.map}},5876:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.submitVoteBatch=t.submitVote=void 0;let a=n(68832);t.submitVote=async({pollAddress:e,vote:t,signer:n})=>{let r=a.Poll__factory.connect(e,n),i=await r.publishMessage(t.message,t.ephemeralKeypair.publicKey.asContractParam()).then(e=>e.wait());if(i?.status===0)throw Error("Failed to submit the vote");return i?.hash},t.submitVoteBatch=async({pollAddress:e,votes:t,signer:n})=>{let r=a.Poll__factory.connect(e,n),i=await r.publishMessageBatch(t.map(e=>e.message),t.map(e=>e.ephemeralKeypair.publicKey.asContractParam())).then(e=>e.wait());if(i?.status===0)throw Error("Failed to submit the batch of votes");return i?.hash}}
1,6543:(e,t,n)=>{var a=n(5518),r=n(54648);e.exports=function(e,t){return e&&a(t,r(t),e)}},6714:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getPollParams=t.getPoll=void 0;let a=n(67380);t.getPoll=async({maciAddress:e,signer:t,provider:n,pollId:r})=>{if(!t&&!n)throw Error("No signer and provider are provided");let{id:i,poll:f,tally:b}=await (0,a.getPollContracts)({maciAddress:e,pollId:r,signer:t,provider:n}),[[s,o],c,d]=await Promise.all([f.getStartAndEndDate(),f.mergedStateRoot(),f.getAddress()]),u=c!==BigInt(0);return{id:i,address:d,startDate:s,endDate:o,totalSignups:await f.totalSignups(),isMerged:u,mode:await b.mode()}},t.getPollParams=async({pollId:e,signer:t,maciContractAddress:n})=>{let{poll:r}=await (0,a.getPollContracts)({maciAddress:n,pollId:e,signer:t}),i=await r.treeDepths(),f=Number(i.voteOptionTreeDepth),b=Number.parseInt((await r.messageBatchSize()).toString(),10),s=Number(i.tallyProcessingStateTreeDepth);return{messageBatchSize:b,totalVoteOptions:5**f,tallyBatchSize:5**s,voteOptionTreeDepth:f,tallyProcessingStateTreeDepth:s}}},6822:function(e,t,n){"use strict";var a,r=this&&this.__createBinding||(Object.create?function(e,t,n,a){void 0===a&&(a=n);var r=Object.getOwnPropertyDescriptor(t,n);
1(!r||("get"in r?!t.__esModule:r.writable||r.configurable))&&(r={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,a,r)}:function(e,t,n,a){void 0===a&&(a=n),e[a]=t[n]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),f=this&&this.__importStar||(a=function(e){return(a=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t})(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n=a(e),f=0;f<n.length;f++)"default"!==n[f]&&r(t,e,n[f]);return i(t,e),t});Object.defineProperty(t,"__esModule",{value:!0}),t.zupass=t.token=t.semaphore=t.merkle=t.hats=t.gitcoin=t.freeForAll=t.erc20Votes=t.erc20=t.eas=t.anonAadhaar=void 0,t.anonAadhaar=f(n(65594)),t.eas=f(n(53409)),t.erc20=f(n(98076)),t.erc20Votes=f(n(27943)),t.freeForAll=f(n(7348)),t.gitcoin=f(n(26475)),t.hats=f(n(40118)),t.merkle=f(n(53002)),t.semaphore=f(n(56468)),t.token=f(n(4967)),t.zupass=f(n(48592))},7016:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.GitcoinPassportPolicyFactory__factory=void 0;let a=n(27653),r=[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"clone",type:"address"}],name:"CloneDeployed",type:"event"},{inputs:[],name:"IMPLEMENTATION",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"checkerAddress",type:"address"}],name:"deploy",outputs:[{internalType:"address",name:"clone",type:"address"}],stateMutability:"nonpayable",type:"function"}],i="0x60a0604052348015600f57600080fd5b50604051601a906046565b604051809103906000f0801580156035573d6000803e3d6000fd5b506001600160a01b03166080526053565b610894806102e183390190565b60805161026d6100746000396000818160400152610123015261026d6000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80633a4741bd1461003b5780634c96a3891461007e575b600080fd5b6100627f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b61006261008c36600461020e565b604080513360208201526001600160a01b0383168183015281518082038301815260609091019091526000906100c18161011c565b9150816001600160a01b0316638129fc1c6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156100fe57600080fd5b505af1158015610112573d6000803e3d6000fd5b5050505050919050565b60006101487f000000000000000000000000000000000000000000000000000000000000000083610184565b6040519091506001600160a01b038216907f2158cde9935cbf85d0b02e02fbc315ad0be2f3f017a603a2ebeedead21b8d60b90600090a2919050565b600061019260008484610199565b9392505050565b600060405182518060438301826020870160045afa506e5af43d82803e903d91602b57fd5bf360238301528460148301528060881b74fe61002d3d81600a3d39f3363d3d373d3d3d363d730182526037810161ffd38210600b01830187f092505050806101925763301164256000526004601cfd5b60006020828403121561022057600080fd5b81356001600160a01b038116811461019257600080fdfea26469706673582212202749f52b5b69065dc65ed5a57d1866c355b792cfe2f31051c7ac9d8ba0a4c0ab64736f6c634300081c003360806040523380602957604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b6030816035565b50608e565b600080546001600160a01b03838116610100818102610100600160a81b0319851617855560405193049190911692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35050565b6107f78061009d6000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c80638129fc1c116100715780638129fc1c146101495780638da5cb5b14610151578063b41a4b1914610167578063ce343deb1461017c578063d9456531146101a7578063f2fde38b146101ca57600080fd5b8063158ef93e146100b95780631e898ef1146100db578063715018a6146100f057806372f7a030146100f8578063776d1a01146101235780637e16420414610136575b600080fd5b6000546100c69060ff1681565b60405190151581526020015b60405180910390f35b6100ee6100e93660046105ee565b6101dd565b005b6100ee610218565b60015461010b906001600160a01b031681565b6040516001600160a01b0390911681526020016100d256
15b6100ee610131366004610675565b61022c565b60025461010b906001600160a01b031681565b6100ee6102cf565b60005461010090046001600160a01b031661010b565b61016f6102d7565b6040516100d291906106df565b60408051808201909152600f81526e11da5d18dbda5b94185cdcdc1bdc9d608a1b602082015261016f565b6100c66101b5366004610675565b60036020526000908152604090205460ff1681565b6100ee6101d8366004610675565b6102e6565b6001546001600160a01b0316331461020857604051631f492dbf60e21b815260040160405180910390fd5b610213838383610329565b505050565b610220610391565b61022a60006103c4565b565b610234610391565b6001600160a01b03811661025b5760405163d92e233d60e01b815260040160405180910390fd5b6001546001600160a01b0316156102855760405163e0f2d7b160e01b815260040160405180910390fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040517f3bfb4bbf112628248058745a3c57e35b13369386e474b8e56c552f3063a4a19690600090a250565b61022a61041d565b60606102e1610479565b905090565b6102ee610391565b6001600160a01b03811661031d57604051631e4fbdf760e01b8152600060048201526024015b60405180910390fd5b610326816103c4565b50565b6001600160a01b03831660009081526003602052604090205460ff161561036357604051633440c93360e21b815260040160405180910390fd5b6001600160a01b0383166000908152600360205260409020805460ff19166001179055610213838383610484565b6000546001600160a01b0361010090910416331461022a5760405163118cdaa760e01b8152336004820152602401610314565b600080546001600160a01b03838116610100818102610100600160a81b0319851617855560405193049190911692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35050565b610425610567565b600061042f610479565b90506000808280602001905181019061044891906106f2565b91509150610455826103c4565b600280546001600160a01b0319166001600160a01b03929092169190911790555050565b60606102e130610578565b60025460405163e2b2408560e01b81526001600160a01b039091169063e2b24085906104b890869086908690600401610755565b602060405180830381865afa1580156104d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104f99190610783565b61051657604051634715494560e01b815260040160405180910390fd5b6001546040516001600160a01b03918216918516907fc013b39287cb7a53f776482ac9573829321f002f31ef8782129b41d60047bda09061055a90869086906107a5565b60405180910390a3505050565b61056f6105a7565b61022a336103c4565b60405164ffffffffff602c19833b0116808252602090810190602d908301843c60408101815101604052919050565b60005460ff16156105ca5760405162dc149f60e41b815260040160405180910390fd5b6000805460ff19166001179055565b6001600160a01b038116811461032657600080fd5b60008060006040848603121561060357600080fd5b833561060e816105d9565b9250602084013567ffffffffffffffff81111561062a57600080fd5b8401601f8101861361063b57600080fd5b803567ffffffffffffffff81111561065257600080fd5b86602082840101111561066457600080fd5b939660209190910195509293505050565b60006020828403121561068757600080fd5b8135610692816105d9565b9392505050565b6000815180845260005b818110156106bf576020818501810151868301820152016106a3565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006106926020830184610699565b6000806040838503121561070557600080fd5b8251610710816105d9565b6020840151909250610721816105d9565b809150509250929050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b038416815260406020820181905260009061077a908301848661072c565b95945050505050565b60006020828403121561079557600080fd5b8151801515811461069257600080fd5b6020815260006107b960208301848661072c565b94935050505056fea2646970667358221220b4696866b6b8906154153daf3fca568eafcb4cb38c7b44b0c54bb963475e8b2f64736f6c634300081c0033",f=e=>e.length>1;class b extends a.ContractFactory{constructor(...e){f(e)?super(...e):super(r,i,e[0])}getDeployTransaction(e){return super.getDeployTransaction(e||{})}deploy(e){return super.deploy(e||{})}connect(e){return super.connect(e)}static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.GitcoinPassportPolicyFactory__factory=b,b.bytecode=i,b.abi=r},7307:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ERC20Checker__factory=void 0;let a=n(27653),r=[{inputs:[],name:"AlreadyInitialized",type:"error"},{inputs:[],name:"BalanceTooLow",type:"error"},{inputs:[{internalType:"address",name:"subject",type:"address"},{internalType:"bytes",name:"evidence",type:"bytes"}],name:"check",outputs:[{internalType:"bool",name:"checked",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"getAppendedBytes",outputs:[{internalType:"bytes",name:"appendedBytes",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"initialized",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"threshold",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"token",outputs:[{internalType:"contract IERC20",name:"",type:"address"}],stateMutability:"view",type:"function"}],i="0x6080604052348015600f57600080fd5b506104058061001f6000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c8063158ef93e1461006757806342cde4e8146100895780638129fc1c146100a0578063b41a4b19146100aa578063e2b2408514
16100bf578063fc0c546a146100d2575b600080fd5b6000546100749060ff1681565b60405190151581526020015b60405180910390f35b61009260015481565b604051908152602001610080565b6100a8610102565b005b6100b261010c565b604051610080919061029b565b6100746100cd366004610301565b61011b565b6000546100ea9061010090046001600160a01b031681565b6040516001600160a01b039091168152602001610080565b61010a610130565b565b606061011661018a565b905090565b6000610128848484610195565b949350505050565b61013861023a565b600061014261018a565b90506000808280602001905181019061015b9190610388565b600080546001600160a01b0390931661010002610100600160a81b031990931692909217909155600155505050565b60606101163061026c565b60008080546040516370a0823160e01b81526001600160a01b038781166004830152610100909204909116906370a0823190602401602060405180830381865afa1580156101e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061020b91906103b6565b9050600154811161022f576040516351940b3960e11b815260040160405180910390fd5b506001949350505050565b60005460ff161561025d5760405162dc149f60e41b815260040160405180910390fd5b6000805460ff19166001179055565b60405164ffffffffff602c19833b0116808252602090810190602d908301843c60408101815101604052919050565b602081526000825180602084015260005b818110156102c957602081860181015160408684010152016102ac565b506000604082850101526040601f19601f83011684010191505092915050565b6001600160a01b03811681146102fe57600080fd5b50565b60008060006040848603121561031657600080fd5b8335610321816102e9565b9250602084013567ffffffffffffffff81111561033d57600080fd5b8401601f8101861361034e57600080fd5b803567ffffffffffffffff81111561036557600080fd5b86602082840101111561037757600080fd5b939660209190910195509293505050565b6000806040838503121561039b57600080fd5b82516103a6816102e9565b6020939093015192949293505050565b6000602082840312156103c857600080fd5b505191905056fea26469706673582212205a89b1dcf5452b255bdbf7963680bb60835379b78df741c77cca67ed71671b3c64736f6c634300081c0033",f=e=>e.length>1;class b extends a.ContractFactory{constructor(...e){f(e)?super(...e):super(r,i,e[0])}getDeployTransaction(e){return super.getDeployTransaction(e||{})}deploy(e){return super.deploy(e||{})}connect(e){return super.connect(e)}static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.ERC20Checker__factory=b,b.bytecode=i,b.abi=r}
1,7348:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FreeForAllPolicyFactory__factory=t.FreeForAllPolicy__factory=t.FreeForAllCheckerFactory__factory=t.FreeForAllChecker__factory=void 0;var a=n(47841);Object.defineProperty(t,"FreeForAllChecker__factory",{enumerable:!0,get:function(){return a.FreeForAllChecker__factory}});var r=n(17481);Object.defineProperty(t,"FreeForAllCheckerFactory__factory",{enumerable:!0,get:function(){return r.FreeForAllCheckerFactory__factory}});var i=n(39710);Object.defineProperty(t,"FreeForAllPolicy__factory",{enumerable:!0,get:function(){return i.FreeForAllPolicy__factory}});var f=n(54476);Object.defineProperty(t,"FreeForAllPolicyFactory__factory",{enumerable:!0,get:function(){return f.FreeForAllPolicyFactory__factory}})},7512:e=>{var t=Function.prototype.toString;e.exports=function(e){if(null!=e){try{return t.call(e)}catch(e){}try{return e+""}catch(e){}}return""}},7681:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ITallyFactory__factory=void 0;let a=n(27653),r=[{inputs:[{internalType:"address",name:"_verifier",type:"address"},{internalType:"address",name:"_verifyingKeysRegistry",type:"address"},{internalType:"address",name:"_poll",type:"address"},{internalType:"address",name:"_messageProcessor",type:"address"},{internalType:"enum DomainObjs.Mode",name:"_mode",type:"uint8"}],name:"deploy",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"nonpayable",type:"function"}];class i{static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.ITallyFactory__factory=i,i.abi=r},7771:(e,t,n)=>{e.exports=n(82500)["__core-js_shared__"]},7985:(e,t,n)=>{e.exports="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g},8030:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IERC721Errors__factory=t.IERC20Errors__factory=t.IERC1155Errors__factory=void 0;var a=n(83552);Object.defineProperty(t,"IERC1155Errors__factory",{enumerable:!0,get:function(){return a.IERC1155Errors__factory}});var r=n(63914);Object.defineProperty(t,"IERC20Errors__factory",{enumerable:!0,get:function(){return r.IERC20Errors__factory}});var i=n(48450);Object.defineProperty(t,"IERC721Errors__factory",{enumerable:!0,get:function(){return i.IERC721Errors__factory}})},8409:function(e,t,n){"use strict";var a,r=this&&this.__createBinding||(Object.create?function(e,t,n,a){void 0===a&&(a=n);var r=Object.getOwnPropertyDescriptor(t,n);
1(!r||("get"in r?!t.__esModule:r.writable||r.configurable))&&(r={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,a,r)}:function(e,t,n,a){void 0===a&&(a=n),e[a]=t[n]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),f=this&&this.__importStar||(a=function(e){return(a=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t})(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n=a(e),f=0;f<n.length;f++)"default"!==n[f]&&r(t,e,n[f]);return i(t,e),t});Object.defineProperty(t,"__esModule",{value:!0}),t.solady=t.contracts=t.openzeppelin=t.excubiae=void 0,t.excubiae=f(n(90208)),t.openzeppelin=f(n(97873)),t.contracts=f(n(98321)),t.solady=f(n(19642))},8599:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IERC165__factory=t.ERC165__factory=void 0;var a=n(26545);Object.defineProperty(t,"ERC165__factory",{enumerable:!0,get:function(){return a.ERC165__factory}});var r=n(11454);Object.defineProperty(t,"IERC165__factory",{enumerable:!0,get:function(){return r.IERC165__factory}})},8901:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Tally__factory=void 0;let a=n(27653),r=[{inputs:[],name:"AllBallotsTallied",type:"error"},{inputs:[],name:"AlreadyInitialized",type:"error"},{inputs:[],name:"BatchStartIndexTooLarge",type:"error"},{inputs:[],name:"IncorrectSpentVoiceCredits",type:"error"},{inputs:[],name:"InvalidTallyVotesProof",type:"error"},{inputs:[],name:"NotSupported",type:"error"},{inputs:[],name:"ProcessingNotComplete",type:"error"},{inputs:[],name:"TallyBatchSizeTooLarge",type:"error"},{inputs:[],name:"VotesNotTallied",type:"error"},{inputs:[],name:"totalSignupsTooLarge",type:"error"},{inputs:[],name:"MESSAGE_DATA_LENGTH",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[{components:[{internalType:"uint256[]",name:"voteOptionIndices",type:"uint256[]"},{internalType:"uint256[]",name:"tallyResults",type:"uint256[]"},{internalType:"uint256[][][]",name:"tallyResultProofs",type:"uint256[][][]"},{internalType:"uint256",name:"totalSpent",type:"uint256"},{internalType:"uint256",name:"totalSpentSalt",type:"uint256"},{internalType:"uint256",name:"tallyResultSalt",type:"uint256"},{internalType:"uint256",name:"newResultsCommitment",type:"uint256"},{internalType:"uint256",name:"spentVoiceCreditsHash",type:"uint256"},{internalType:"uint256",name:"perVOSpentVoiceCreditsHash",type:"uint256"}],internalType:"struct ITally.AddTallyResultsArgs",name:"args",type:"tuple"}],name:"addTallyResults",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"getAppendedBytes",outputs:[{internalType:"bytes",name:"appendedBytes",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_batchStartIndex",type:"uint256"},{internalType:"uint256",name:"_newTallyCommitment",type:"uint256"}],name:"getPublicCircuitInputs",outputs:[{internalType:"uint256[]",name:"publicInputs",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"index",type:"uint256"}],name:"getTallyResults",outputs:[{components:[{internalType:"uint256",name:"value",type:"uint256"},{internalType:"bool",name:"isSet",type:"bool"}],internalType:"struct ITally.TallyResult",name:"",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256[2]",name:"array",type:"uint256[2]"}],name:"hash2",outputs:[{internalType:"uint256",name:"result",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"uint256[3]",name:"array",type:"uint256[3]"}],name:"hash3",outputs:[{internalType:"uint256",name:"result",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"uint256[4]",name:"array",type:"uint256[4]"}],name:"hash4",outputs:[{internalType:"uint256",name:"result",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"uint256[5]",name:"array",type:"uint256[5]"}],name:"hash5",outputs:[{internalType:"uint256",name:"result",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"uint256",name:"left",type:"uint256"},{internalType:"uint256",name:"right",type:"uint256"}],name:"hashLeftRight",outputs:[{internalType:"uint256",name:"result",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"initialized",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"isTallied",outputs:[{internalType:"bool",name:"tallied",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"messageProcessor",outputs:[{internalType:"contract IMessageProcessor",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"mode",outputs:[{internalType:"enum DomainObjs.Mode",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[],name:"poll",outputs:[{internalType:"contract IPoll",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"sbCommitment",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256[]",name:"array",type:"uint256[]"}],name:"sha256Hash",outputs:[{internalType:"uint256",name:"result",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[],name:"tallyBatchNum",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"tallyCommitment",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_newTallyCommitment",type:"uint256"},{internalType:"uint256[8]",name:"_proof",type:"uint256[8]"}],name:"tallyVotes",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"totalSpent",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"totalTallyResults",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"updateSbCommitment",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"verifier",outputs:[{internalType:"contract IVerifier",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_voteOptionIndex",type:"uint256"},{internalType:"uint256",name:"_spent",type:"uint256"},{internalType:"uint256[][]",name:"_spentProof",type:"uint256[][]"},{internalType:"uint256",name:"_spentSalt",type:"uint256"},{internalType:"uint8",name:"_voteOptionTreeDepth",type:"uint8"},{internalType:"uint256",name:"_spentVoiceCreditsHash",type:"uint256"},{internalType:"uint256",name:"_resultCommitment",type:"uint256"}],name:"verifyPerVoteOptionSpentVoiceCredits",outputs:[{internalType:"bool",name:"isValid",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_totalSpent",type:"uint256"},{internalType:"uint256",name:"_totalSpentSalt",type:"uint256"},{internalType:"uint256",name:"_resultCommitment",type:"uint256"},{internalType:"uint256",name:"_perVoteOptionSpentVoiceCreditsHash",type:"uint256"}],name:"verifySpentVoiceCredits",outputs:[{internalType:"bool",name:"isValid",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_batchStartIndex",type:"uint256"},{internalType:"uint256",name:"_newTallyCommitment",type:"uint256"},{internalType:"uint256[8]",name:"_proof",type:"uint256[8]"}],name:"verifyTallyProof",outputs:[{internalType:"bool",name:"isValid",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_voteOptionIndex",type:"uint256"},{internalType:"uint256",name:"_tallyResult",type:"uint256"},{internalType:"uint256[][]",name:"_tallyResultProof",type:"uint256[][]"},{internalType:"uint256",name:"_tallyResultSalt",type:"uint256"},{internalType:"uint8",name:"_voteOptionTreeDepth",type:"uint8"},{internalType:"uint256",name:"_spentVoiceCreditsHash",type:"uint256"},{internalType:"uint256",name:"_perVoteOptionSpentVoiceCreditsHash",type:"uint256"}],name:"verifyTallyResult",outputs:[{internalType:"bool",name:"isValid",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"verifyingKeysRegistry",outputs:[{internalType:"contract IVerifyingKeysRegistry",name:"",type:"address"}],stateMutability:"view",type:"function"}],i="0x6080604052348015600f57600080fd5b5061232b8061001f6000396000f3fe608060405234801561001057600080fd5b50600436106101d95760003560e01c80638129fc1c11610104578063b41a4b19116100a2578063d13181b811610071578063d13181b81461044e578063e3ff760614610457578063e57fe1a01461045f578063fb346eab1461047257600080fd5b8063b41a4b1914610400578063b904438814610415578063bea140b314610428578063d0380fe21461043b57600080fd5b8063a21fb511116100de578063a21fb51114
1610363578063a2d718a414610376578063afb93bd314610389578063b0990c531461039257600080fd5b80638129fc1c146103355780639cfced971461033d578063a11752791461035057600080fd5b8063295a52121161017c5780635bb939951161014b5780635bb93995146102ec57806361750293146102ff57806362a361bb14610308578063683f3dc31461031b57600080fd5b8063295a52121461027a5780632b7ac3f31461029b5780633dfb88b2146102c657806358bfc379146102d957600080fd5b8063158ef93e116101b8578063158ef93e1461023957806316425eeb146102465780631b99d6691461025057806323e3feb11461026757600080fd5b80626abc8f146101de578063023650801461020657806310bc5f5114610226575b600080fd5b6101f16101ec3660046115e8565b61047b565b60405190151581526020015b60405180910390f35b6102196102143660046116a0565b610508565b6040516101fd91906116fe565b6101f1610234366004611718565b610646565b6000546101f19060ff1681565b61024e6106e3565b005b61025960095481565b6040519081526020016101fd565b61024e61027536600461175c565b6107fe565b60075461028e90600160a01b900460ff1681565b6040516101fd91906117c2565b6004546102ae906001600160a01b031681565b6040516001600160a01b0390911681526020016101fd565b6102596102d4366004611863565b610974565b6102596102e73660046118ef565b6109f5565b6102596102fa3660046116a0565b610a8f565b61025960015481565b61025961031636600461198a565b610aa8565b610323600a81565b60405160ff90911681526020016101fd565b61024e610ae2565b61025961034b3660046119cd565b610aea565b6006546102ae906001600160a01b031681565b6101f16103713660046115e8565b610b24565b6005546102ae906001600160a01b031681565b61025960025481565b6103e36103a0366004611a10565b6040805180820190915260008082526020820152506000908152600860209081526040918290208251808401909352805483526001015460ff1615159082015290565b6040805182518152602092830151151592810192909252016101fd565b610408610c14565b6040516101fd9190611a4d565b6101f1610423366004611a80565b610c23565b610259610436366004611ab7565b610eaf565b6007546102ae906001600160a01b031681565b61025960035481565b6101f1610ee9565b61024e61046d366004611afa565b611092565b610259600a5481565b600080600754600160a01b900460ff16600281111561049c5761049c61178a565b146104ba57604051630280e1e560e61b815260040160405180910390fd5b60006104c9858b8b8b8b61122c565b90506104d361156c565b838152602081018590526104e78288610a8f565b60408201526001546104f882610eaf565b149b9a5050505050505050505050565b6006546040805163ba5810fd60e01b815281516060936000936001600160a01b039091169263ba5810fd92600480830193928290030181865afa158015610553573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105779190611b4c565b5060408051600580825260c082019092529192506020820160a080368337019050509150600354826000815181106105b1576105b1611b36565b602002602001018181525050600154826001815181106105d3576105d3611b36565b60200260200101818152505082826002815181106105f3576105f3611b36565b602002602001018181525050838260038151811061061357610613611b36565b602002602001018181525050808260048151811061063357610633611b36565b6020026020010181815250505092915050565b600080600754600160a01b900460ff1660028111156106675761066761178a565b0361067f576106788585858561135b565b90506106db565b6001600754600160a01b900460ff16600281111561069f5761069f61178a565b14806106c857506002600754600160a01b900460ff1660028111156106c6576106c661178a565b145b156106db576106d8858585611395565b90505b949350505050565b600760009054906101000a90046001600160a01b03166001600160a01b0316638763d0c46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610736573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061075a9190611b70565b6107775760405163f13e1b8560e01b815260040160405180910390fd5b6003546000036107fc57600760009054906101000a90046001600160a01b03166001600160a01b031663d13181b86040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107f89190611b92565b6003555b565b6108066106e3565b6006546040805163ac98e5df60e01b815290516000926001600160a01b03169163ac98e5df9160048083019260609291908290030181865afa158015610850573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108749190611bab565b5050905060008160026108879190611cf5565b90506000816002546108999190611d04565b90506000600660009054906101000a90046001600160a01b03166001600160a01b031663ba5810fd6040518163ffffffff1660e01b81526004016040805180830381865afa1580156108ef573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109139190611b4c565b5090508082106109365760405163b3f8c18960e01b815260040160405180910390fd5b60028054600101905561094a828787610c23565b610967576040516341acf34d60e01b815260040160405180910390fd5b5050506001929092555050565b60405163248f667760e01b815260009073__$ce9c2
1c925f157047e54fa833ec4e61409f$__9063248f6677906109ae908590600401611d1b565b602060405180830381865af41580156109cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ef9190611b92565b92915050565b60007f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001600283604051602001610a2b9190611d4c565b60408051601f1981840301815290829052610a4591611d82565b602060405180830381855afa158015610a62573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610a859190611b92565b6109ef9190611db4565b6000610a9961158a565b838152602081018390526106db815b6040516314d2f97b60e11b815260009073__$6574937f64fc1d7710ec0e28b7a36713bb$__906329a5f2f6906109ae908590600401611dc8565b6107fc6113c7565b604051630926f44b60e31b815260009073__$20527677031d76601747626a9845039fe4$__90634937a258906109ae908590600401611df0565b600080610b34858b8b8b8b61122c565b90506000600754600160a01b900460ff166002811115610b5657610b5661178a565b03610b9257610b6361156c565b610b6d8288610a8f565b81526020810185905260408101849052600154610b8982610eaf565b14925050610c07565b6001600754600160a01b900460ff166002811115610bb257610bb261178a565b1480610bdb57506002600754600160a01b900460ff166002811115610bd957610bd961178a565b145b15610c0757610be861158a565b610bf28288610a8f565b8152602081018590526001546104f882610aa8565b5098975050505050505050565b6060610c1e611480565b905090565b6000806000600660009054906101000a90046001600160a01b03166001600160a01b031663ac98e5df6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610c7b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c9f9190611bab565b50915091506000610cb08787610508565b90506000600660009054906101000a90046001600160a01b03166001600160a01b0316638b6e7463604
10518163ffffffff1660e01b8152600401602060405180830381865afa158015610d07573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d2b9190611e2d565b90506000600560009054906101000a90046001600160a01b03166001600160a01b031663f3350299836001600160a01b031663652c76e46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d91573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610db59190611e4a565b60075460405160e084901b6001600160e01b0319168152610de892918a918a91600160a01b900460ff1690600401611e67565b600060405180830381865afa158015610e05573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e2d9190810190611f4f565b6004805460405163352a4d1560e01b81529293506001600160a01b03169163352a4d1591610e61918b9186918991016120bd565b602060405180830381865afa158015610e7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ea29190611b70565b9998505050505050505050565b6040516304b98e1d60e31b815260009073__$dc01a9744591ab014bc46a3b7671cdaefb$__906325cc70e8906109ae90859060040161219e565b600080600660009054906101000a90046001600160a01b03166001600160a01b031663ac98e5df6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610f3f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f639190611bab565b505090506000600660009054906101000a90046001600160a01b03166001600160a01b0316635ae9d4f16040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fbc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fe09190611b92565b90506000600660009054906101000a90046001600160a01b03166001600160a01b031663c24a0f8b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611037573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061105b9190611b92565b90504281111561106e576000935061108c565b8161107a846002611cf5565b6002546110879190611d04565b101593505b50505090565b61109a610ee9565b6110b757604051633e95b0b360e01b815260040160405180910390fd5b6006546040805163ac98e5df60e01b815290516000926001600160a01b03169163ac98e5df9160048083019260609291908290030181865afa158015611101573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111259190611bab565b5091506000905061113683806121c6565b9050905060005b818110156111e0576111d861115285806121c6565b8381811061116257611162611b36565b9050602002013585806020019061117991906121c6565b8481811061118957611189611b36565b905060200201358680604001906111a091906121c6565b858181106111b0576111b0611b36565b90506020028101906111c291906121c6565b8860a001358960e001358a61010001358a61148b565b60010161113d565b506000611200846060013585608001358660c00135876101000135610646565b9050806112205760405163e5d02d8b60e01b815260040160405180910390fd5b50505060600135600a55565b60008061123a600587611db4565b905084915060006112496115a8565b60005b8960ff168160ff16101561134e5760005b60058160ff16101561132057848160ff16036112935785838260ff166005811061128957611289611b36565b6020020152611310565b848160ff1611156112b0576112a9600182612217565b93506112b4565b8093505b87878360ff168181106112c9576112c9611b36565b90506020028101906112db91906121c6565b8560ff168181106112ee576112ee611b36565b90506020020135838260ff166005811061130a5761130a611b36565b60200201525b61131981612230565b905061125d565b5061132c60058a61224f565b985061133960058a611db4565b935061134482610aea565b945060010161124c565b5050505095945050505050565b600061136561156c565b8381526113728686610a8f565b60208201526040810183905260015461138a82610eaf565b149695505050505050565b600061139f61158a565b8281526113ac8585610a8f565b60208201526001546113bd82610aa8565b1495945050505050565b6113cf61150b565b60006113d9611480565b90506000806000806000858060200190518101906113f79190612263565b600480546001600160a01b038088166001600160a01b03199283161790925560058054838816908316179055600680548387169083161790556007805492851691831682178155969b5094995092975090955093508392916001600160a81b031990911617600160a01b8360028111156114735761147361178a565b0217905550505050505050565b6060610c1e3061153d565b600061149d8989898989878a8a610b24565b9050806114bd576040516341acf34d60e01b815260040160405180910390fd5b6000898152600860205260409020600181015460ff166114fd576001818101805460ff19169091179055600980549060006114f7836122dc565b91905055505b979097555050505050505050565b60005460ff161561152e5760405162dc149f60e41b815260040160405180910390fd5b6000805460ff19166001179055565b60405164ffffffffff602c19833b0116808252602090810190602d908301843c60408101815101604052919050565b60405180606001604052806003906020820280368337509192915050565b60405180604001604052806002906020820280368337509192915050565b6040518060a001604052806005906020820280368337509192915050565b60ff811681146115d557600080fd5b50565b80356115e3816115c6
1565b919050565b60008060008060008060008060e0898b03121561160457600080fd5b8835975060208901359650604089013567ffffffffffffffff81111561162957600080fd5b8901601f81018b1361163a57600080fd5b803567ffffffffffffffff81111561165157600080fd5b8b60208260051b840101111561166657600080fd5b602091909101965094506060890135935061168360808a016115d8565b979a969950949793969295929450505060a08201359160c0013590565b600080604083850312156116b357600080fd5b50508035926020909101359150565b600081518084526020840193506020830160005b828110156116f45781518652602095860195909101906001016116d6565b5093949350505050565b60208152600061171160208301846116c2565b9392505050565b6000806000806080858703121561172e57600080fd5b5050823594602084013594506040840135936060013592509050565b8061010081018310156109ef57600080fd5b600080610120838503121561177057600080fd5b82359150611781846020850161174a565b90509250929050565b634e487b7160e01b600052602160045260246000fd5b600381106117be57634e487b7160e01b600052602160045260246000fd5b9052565b602081016109ef82846117a0565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715611809576118096117d0565b60405290565b60405160a0810167ffffffffffffffff81118282101715611809576118096117d0565b604051601f8201601f1916810167ffffffffffffffff8111828210171561185b5761185b6117d0565b604052919050565b60006080828403121561187557600080fd5b600083601f840112611885578081fd5b806118906080611832565b905080915060808401858111156118a657600080fd5b845b818110156118c05780358452602093840193016118a8565b509095945050505050565b600067ffffffffffffffff8211156118e5576118e56117d0565b5060051b60200190565b60006020828403121561190157600080fd5b813567ffffffffffffffff81111561191857600080fd5b8201601f8101841361192957600080fd5b803561193c611937826118cb565b611832565b8082825260208201915060208360051b85010192508683111561195e57600080fd5b6020840193505b82841015611980578335825260209384019390910190611965565b9695505050505050565b60006040828403121561199c57600080fd5b600083601f8401126119ac578081fd5b806119b76040611832565b905080915060408401858111156118a657600080fd5b600060a082840312156119df57600080fd5b600083601f8401126119ef578081fd5b806119fa60a0611832565b905080915060a08401858111156118a657600080fd5b600060208284031215611a2257600080fd5b5035919050565b60005b83811015611a44578181015183820152602001611a2c565b50506000910152565b6020815260008251806020840152611a6c816040850160208701611a29565b601f01601f19169190910160400192915050565b60008060006101408486031215611a9657600080fd5b8335925060208401359150611aae856040860161174a565b90509250925092565b600060608284031215611ac957600080fd5b600083601f840112611ad9578081fd5b80611ae46060611832565b905080915060608401858111156118a657600080fd5b600060208284031215611b0c57600080fd5b813567ffffffffffffffff811115611b2357600080fd5b8201610120818503121561171157600080fd5b634e487b7160e01b600052603260045260246000fd5b60008060408385031215611b5f57600080fd5b505080516020909101519092909150565b600060208284031215611b8257600080fd5b8151801515811461171157600080fd5b600060208284031215611ba457600080fd5b5051919050565b60008060006060848
16031215611bc057600080fd5b8351611bcb816115c6565b6020850151909350611bdc816115c6565b6040850151909250611bed816115c6565b809150509250925092565b634e487b7160e01b600052601160045260246000fd5b6001815b6001841115611c4957808504811115611c2d57611c2d611bf8565b6001841615611c3b57908102905b60019390931c928002611c12565b935093915050565b600082611c60575060016109ef565b81611c6d575060006109ef565b8160018114611c835760028114611c8d57611ca9565b60019150506109ef565b60ff841115611c9e57611c9e611bf8565b50506001821b6109ef565b5060208310610133831016604e8410600b8410161715611ccc575081810a6109ef565b611cd96000198484611c0e565b8060001904821115611ced57611ced611bf8565b029392505050565b600061171160ff841683611c51565b80820281158282048414176109ef576109ef611bf8565b60808101818360005b6004811015611d43578151835260209283019290910190600101611d24565b50505092915050565b8151600090829060208501835b82811015611d77578151845260209384019390910190600101611d59565b509195945050505050565b60008251611d94818460208701611a29565b9190910192915050565b634e487b7160e01b600052601260045260246000fd5b600082611dc357611dc3611d9e565b500690565b60408101818360005b6002811015611d43578151835260209283019290910190600101611dd1565b60a08101818360005b6005811015611d43578151835260209283019290910190600101611df9565b6001600160a01b03811681146115d557600080fd5b600060208284031215611e3f57600080fd5b815161171181611e18565b600060208284031215611e5c57600080fd5b8151611711816115c6565b60ff858116825284811660208301528316604082015260808101611e8e60608301846117a0565b95945050505050565b600060408284031215611ea957600080fd5b611eb16117e6565b825181526020928301519281019290925250919050565b600082601f830112611ed957600080fd5b611ee36040611832565b806040840185811115611ef557600080fd5b845b818110156118c0578051845260209384019301611ef7565b600060808284031215611f2157600080fd5b611f296117e6565b9050611f358383611ec8565b8152611f448360408401611ec8565b602082015292915050565b600060208284031215611f6157600080fd5b815167ffffffffffffffff811115611f7857600080fd5b82016101e08185031215611f8b57600080fd5b611f9361180f565b611f9d8583611e97565b8152611fac8560408401611f0f565b6020820152611fbe8560c08401611f0f565b6040820152611fd1856101408401611f0f565b60608201526101c082015167ffffffffffffffff811115611ff157600080fd5b80830192505084601f83011261200657600080fd5b8151612014611937826118cb565b8082825260208201915060208360061b86010192508783111561203657600080fd5b6020850194505b828510156120625761204f8886611e97565b825260208201915060408501945061203d565b6080840152509095945050505050565b8060005b6002811015612095578151845260209384019390910190600101612076565b50505050565b6120a6828251612072565b60208101516120b86040840182612072565b505050565b610100848237610140610100820152600061032082016120ec6101408401865180518252602090810151910152565b60208501516120ff61018085018261209b565b50604085015161211361020085018261209b565b50606085015161212761028085018261209b565b5060808501516101e0610300850152805191829052602001906000906103408501905b8083101561217e5761216782855180518252602090810151910152565b60408201915060208401935060018301925061214a565b5084810361012086015261219281876116c2565b98975050505050505050565b60608101818360005b6003811015611d435781518352602092830192909101906001016121a7565b6000808335601e198436030181126121dd57600080fd5b83018035915067ffffffffffffffff8211156121f857600080fd5b6020019150600581901b360382131561221057600080fd5b9250929050565b60ff82811682821603908111156109ef576109ef611bf8565b600060ff821660ff810361224657612246611bf8565b60010192915050565b60008261225e5761225e611d9e565b500490565b600080600080600060a0868803121561227b57600080fd5b855161228681611e18565b602087015190955061229781611e18565b60408701519094506122a881611e18565b60608701519093506122b981611e18565b6080870151909250600381106122ce57600080fd5b809150509295509295909350565b6000600182016122ee576122ee611bf8565b506001019056fea2646970667358221220e5c6928a39897996fde581335eb319b655d165174f3b1fecd3f7a113f0043adf64736f6c634300081c0033",f=e=>"string"==typeof e[0]||Array.isArray(e[0])||"_isInterface"in e[0];class b extends a.ContractFactory{constructor(...e){if(f(e))super(...e);else{let[t,n]=e;super(r,b.linkBytecode(t),n)}}static linkBytecode(e){let t=i;return(t=(t=(t=t.replace(RegExp("__\\$ce9c2c925f157047e54fa833ec4e61409f\\$__","g"),e["contracts/crypto/PoseidonT5.sol:PoseidonT5"].replace(/^0x/,"").toLowerCase())).replace(RegExp("__\\$6574937f64fc1d7710ec0e28b7a36713bb\\$__","g"),e["contracts/crypto/PoseidonT3.sol:PoseidonT3"].replace(/^0x/,"").toLowerCase())).replace(RegExp("__\\$20527677031d76601747626a9845039fe4\\$__","g"),e["contracts/crypto/PoseidonT6.sol:PoseidonT6"].replace(/^0x/,"").toLowerCase())).replace(RegExp("__\\$dc01a9744591ab014bc46a3b7671cdaefb\\$__","g"),e["contracts/crypto/PoseidonT4.sol:PoseidonT4"].replace(/^0x/,"").toLowerCase())}getDeployTransaction(e){return super.getDeployTransaction(e||{})}deploy(e){return super.deploy(e||{})}connect(e){return super.connect(e)}static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.Tally__factory=b,b.bytecode=i,b.abi=r},9813:(e,t,n)=>{var a=n(22143),r=n(48611),i=Object.prototype,f=i.hasOwnProperty,b=i.propertyIsEnumerable;e.exports=a(function(){return arguments}())?a:function(e){return r(e)&&f.call(e,"callee")&&!b.call(e,"callee")}},9900:(e,t,n)=>{"use strict";
1Object.defineProperty(t,"__esModule",{value:!0}),t.ERC20VotesPolicy__factory=void 0;let a=n(27653),r=[{inputs:[],stateMutability:"payable",type:"constructor"},{inputs:[],name:"AlreadyEnforced",type:"error"},{inputs:[],name:"AlreadyInitialized",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:[],name:"TargetAlreadySet",type:"error"},{inputs:[],name:"TargetNotSet",type:"error"},{inputs:[],name:"TargetOnly",type:"error"},{inputs:[],name:"UnsuccessfulCheck",type:"error"},{inputs:[],name:"ZeroAddress",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"subject",type:"address"},{indexed:!0,internalType:"address",name:"guarded",type:"address"},{indexed:!1,internalType:"bytes",name:"evidence",type:"bytes"}],name:"Enforced",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"guarded",type:"address"}],name:"TargetSet",type:"event"},{inputs:[],name:"BASE_CHECKER",outputs:[{internalType:"contract BaseChecker",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"subject",type:"address"},{internalType:"bytes",name:"evidence",type:"bytes"}],name:"enforce",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"enforcedUsers",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"getAppendedBytes",outputs:[{internalType:"bytes",name:"appendedBytes",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[],name:"guarded",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"initialized",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_guarded",type:"address"}],name:"setTarget",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"trait",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"}],i="0x60806040523380602957604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b6030816035565b50608e565b600080546001600160a01b03838116610100818102610100600160a81b0319851617855560405193049190911692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35050565b6107f28061009d6000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c80638129fc1c116100715780638129fc1c146101495780638da5cb5b14610151578063b41a4b1914610167578063ce343deb1461017c578063d9456531146101a2578063f2fde38b146101c557600080fd5b8063158ef93e146100b95780631e898ef1146100db578063715018a6146100f057806372f7a030146100f8578063776d1a01146101235780637e16420414610136575b600080fd5b6000546100c69060ff1681565b60405190151581526020015b60405180910390f35b6100ee6100e93660046105e9565b6101d8565b005b6100ee610213565b60015461010b906001600160a01b031681565b6040516001600160a01b0390911681526020016100d2565b6100ee610131366004610670565b610227565b60025461010b906001600160a01b031681565b6100ee6102ca565b60005461010090046001600160a01b031661010b565b61016f6102d2565b6040516100d291906106da565b60408051808201909152600a8152694552433230566f74657360b01b602082015261016f565b6100c66101b0366004610670565b60036020526000908152604090205460ff1681565b6100ee6101d3366004610670565b6102e1565b6001546001600160a01b0316331461020357604051631f492dbf60e21b815260040160405180910390fd5b61020e838383610324565b505050565b61021b61038
1c565b61022560006103bf565b565b61022f61038c565b6001600160a01b0381166102565760405163d92e233d60e01b815260040160405180910390fd5b6001546001600160a01b0316156102805760405163e0f2d7b160e01b815260040160405180910390fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040517f3bfb4bbf112628248058745a3c57e35b13369386e474b8e56c552f3063a4a19690600090a250565b610225610418565b60606102dc610474565b905090565b6102e961038c565b6001600160a01b03811661031857604051631e4fbdf760e01b8152600060048201526024015b60405180910390fd5b610321816103bf565b50565b6001600160a01b03831660009081526003602052604090205460ff161561035e57604051633440c93360e21b815260040160405180910390fd5b6001600160a01b0383166000908152600360205260409020805460ff1916600117905561020e83838361047f565b6000546001600160a01b036101009091041633146102255760405163118cdaa760e01b815233600482015260240161030f565b600080546001600160a01b03838116610100818102610100600160a81b0319851617855560405193049190911692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35050565b610420610562565b600061042a610474565b90506000808280602001905181019061044391906106ed565b91509150610450826103bf565b600280546001600160a01b0319166001600160a01b03929092169190911790555050565b60606102dc30610573565b60025460405163e2b2408560e01b81526001600160a01b039091169063e2b24085906104b390869086908690600401610750565b602060405180830381865afa1580156104d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104f4919061077e565b61051157604051634715494560e01b815260040160405180910390fd5b6001546040516001600160a01b03918216918516907fc013b39287cb7a53f776482ac9573829321f002f31ef8782129b41d60047bda09061055590869086906107a0565b60405180910390a3505050565b61056a6105a2565b610225336103bf565b60405164ffffffffff602c19833b0116808252602090810190602d908301843c60408101815101604052919050565b60005460ff16156105c55760405162dc149f60e41b815260040160405180910390fd5b6000805460ff19166001179055565b6001600160a01b038116811461032157600080fd5b6000806000604084860312156105fe57600080fd5b8335610609816105d4565b9250602084013567ffffffffffffffff81111561062557600080fd5b8401601f8101861361063657600080fd5b803567ffffffffffffffff81111561064d57600080fd5b86602082840101111561065f57600080fd5b939660209190910195509293505050565b60006020828403121561068257600080fd5b813561068d816105d4565b9392505050565b6000815180845260005b818110156106ba5760208185018101518683018201520161069e565b506000602082860101526020601f19601f83011685010191505092915050565b60208152600061068d6020830184610694565b6000806040838503121561070057600080fd5b825161070b816105d4565b602084015190925061071c816105d4565b809150509250929050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b03841681526040602082018190526000906107759083018486610727565b95945050505050565b60006020828403121561079057600080fd5b8151801515811461068d57600080fd5b6020815260006107b4602083018486610727565b94935050505056fea2646970667358221220b0017ac4c5a5dc1c3978a14d3ac2d6abc1f4ba4d04ee8fc12ca2ecaeb9951d9e64736f6c634300081c0033",f=e=>e.length>1;class b extends a.ContractFactory{constructor(...e){f(e)?super(...e):super(r,i,e[0])}getDeployTransaction(e){return super.getDeployTransaction(e||{})}deploy(e){return super.deploy(e||{})}connect(e){return super.connect(e)}static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.ERC20VotesPolicy__factory=b,b.bytecode=i,b.abi=r},10345:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ZupassGroth16Verifier__factory=void 0;let a=n(27653),r=[{inputs:[{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:"uint256[38]",name:"_pubSignals",type:"uint256[38]"}],name:"verifyProof",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"}],i="0x6080604052348015600f57600080fd5b506113178061001f6000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063831e4ae014610030575b600080fd5b61004361003e36600461127a565b
1610057565b604051901515815260200160405180910390f35b6000611025565b7f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47811061008f576000805260206000f35b50565b600060405183815284602082015285604082015260408160608360076107d05a03fa9150816100c5576000805260206000f35b825160408201526020830151606082015260408360808360066107d05a03fa915050806100f6576000805260206000f35b5050505050565b7f0f9006886f6f20ff507615a18b97e3c01a4014043c38b27cde5a7cdf7dab0d7f85527f1e92b1b255ac9824dd1ee75e42c910e057e6dd572de9aad0494189943d373eb160208601526000608086018661019a87357f2cb53751205cf78a9cf5e100f215c610367178554c581286e82ce6894d769ee17f08c033375f7b9b4d4d21ab61cf95398b85ceab592496fac5e0278c847e67427684610092565b6101ea60208801357f052490713e636a97e1fb031b2d3384c4ab2d6f6ed3ac9f459fac2d2ba4a1b2e07f01fd7cd23534b84d17783c31e441aa2eb95a050b9127e37a9f5587a1751f71eb84610092565b61023a60408801357f256616621649a845cb66babd1f676ba44d689e683eb7eb53374e48b8e4c409b17f0b228257ad0859000e38bdf38ff787e6b829b3cd0040ab92164d6171f3b085ea84610092565b61028a60608801357f186e961f4c05f1671f7994e4500382eefc07ea1ddc6a5a1a60f6ee347c7be0577f2979d724649fc184f1091abdedb64ea58401b0c0e54e9480a1c2ef5601c087e084610092565b6102da60808801357f27081b7a953c3790bf751674a50a23821e7f3841d7b0418e61b5277d6aaa7ccc7f1fd8ffd81e555806ffdc9e0f034c1373ae012499e7e67d5edc01582790d4099384610092565b61032a60a08801357f0e82363237a4dc55526e001eb1d695c3e9039986e9a2373455ba4b570acc72647f13498910321d23ea90b409e45e90c40e837c70eeffd5ca85a02eccbceade6b5384610092565b61037a60c08801357f2e2315c45313e02591ba43319399b74bedd9ced2793f602f6b22eafe003f8b4a7f203a8f7d111ad941e485f2692c256680b752edc3cd8ccd92e620cf17ff3534d284610092565b6103ca60e08801357f1e86fb929660fdaa69f10be5714651ed0de3dfd49f06238334f937d9d3e2733f7f21564b1e9db2b247e0921254e9f0f75e3fcbe2d1d30a202b2be65e4b18a152e084610092565b61041b6101008801357f016ec5dcb66e609a8d89e711444d32e586f662354e41084e2888ebb97f5b67227f1a71bfa4c37985b56863021a5c26e1a561cdd4cfa2f1aa9327f632b4670f524284610092565b61046c6101208801357f1831182339eb45624402af0e2887a9a93b33abc52c8d50096aca373449396cd67f15e1f2d6b38cae9960aceae8d832067aac43565737b79c4875b6dd7a67d4bfc984610092565b6104bd6101408801357f05dd559259952daad5ad52f86970c2fa050974d317cc2ad04dd58f59ecbc7e787f3020cdde5eb7df9c7afd526edb333a11dcdb1f271e3e7d31dac1ad0ddc7b755384610092565b61050e6101608801357f1f63433f4731866908a7fdd84e9a6a9cc5584c8e9a6c9541183c17e018660f017f176401669c60e015427c97b4f4e756e9b12a249fbc767240a1b95b6e90339af884610092565b61055f6101808801357f1becf90ef08f14887607386cf5c4ae46eac76cc93f9b28e3dc6720f2a8636f727f266d92bb0c7cf54c13320ec43b304aae7c1e68ab8c633f6bc079beca7b83b8a884610092565b6105b06101a08801357f0f16bca08d7672c2c6a70b097f780d92cb6abe71231530ab38be47ec4bb9f0657f1ecef5129f49f6c4f70856db2437c3342d840ef55e7f674431b39235bb32a2e584610092565b6106016101c08801357f0e57ec4267b4df8c79888d886080dddd7330233a9ea5489dbe03a388741adc657f0f8bf7735da92118f10b840163fc142a2f8c35c5daf732d0375f30ec021c382284610092565b6106516101e08801357f25d3c509d8f46e27ef324e20dad1befe8f5ef4c5698065d8b2ec025b80a4bdb97e128ae85c76fbc1214b05cc94acb1a72e3f1fc009250a9a7c3eb907e1aaab4a84610092565b6106a26102008801357f27529cf8c93cd529763ffa29d7b1b0bb845b2e4ee836bfa6fdc2a3f295a2a2a47f0b61bd21284bfb3849df98447bba37fd83979043923df5a5a1e2313f6c934fe784610092565b6106f36102208801357f1d0690e56fd4ebdbeddc2c36d146a581f1bada3459fc0d22e6cf3a879d8e0bb27f2a4c8d4ce173db6c3151ff95771e5bc600454ba8d8e77d73d691d3b788f1547c84610092565b6107446102408801357f2197d9057bcd8512d8bd10d708f9b9b983e30aa4206d0d298b1bfdb22c03af0d7f1f91c262234db447c7a42e2ac865dfc25173698c81f7150c1fc6e3f52152517484610092565b6107956102608801357f0ccf58b5f8b38c4fb71107eb3141fd4cd8835c1ac98ce069d17f483fda4902137f160261b562bb1c2e1adfbe16213ab10f1d65a9af797ff9fdf33cbaffdd8ff14a84610092565b6107e66102808801357f06070cd76564f60c5cd3189dfd49e1aed642613d7d2361e1a8e522fa39e2139b7f06d6cb60a85a184ed8560777b4d6ea19d81cb7a5c1f2dc6a485edc4ceb40a26084610092565b6108376102a08801357f2fc55313fc9e16e0dda7103536e846ee999347ed86ad019229f031a19ed4634c7f0baae891783d92c0d64d955d136cbcebb2e38ae09dbfde150feee3c0b882a86584610092565b6108886102c08801357f1d7c06c0d99ac359b5ef4753b1bf87d1a8fcffe2ce8cc05e92f39f1d027f43a47f065f3215077f26963b7171c9ff320db50fde64fb3dd2992595c11981b0bda98b84610092565b6108d96102e08801357f06fead1c35303d414ab4af9fda1e1fd929ef117d2cb5da0efc04f42bc9c6f0bb7f2484e7bd73447c5f7ce18f9df35f68977544ba54ba13a30555bbc0c11a8a427a84610092565b61092a6103008801357f1a2f48b9b4d7d54e7533ecce0c24385e6a2a65a9f073da49b169aa83444a2c787f2f68633a8f3f177d4be86b9e27b768b50cce1a9e304d44055081d1cf878c922d84610092565b61097b6103208801357f2a74eb84308bc8b3e745cb7869a3301e4f7c6376639d186606ff9a27bad8cbd07f13ec3d5bd56285ef6ad6950716731c0347193d8cadd2b24f33b0bc49ea8b002784610092565b6109cc6103408801357f04a3a7a4b18f2e65b78613d067c00fc8e083e60aa927d230047343e15570c1647f1b27af4b6e4052e4c2820aa710903fc054cc14f34e5515d98f9db79108e7197e84610092565b610a1d6103608801357f0a6a46ce4ff2fd7ec6b6bff4233f44cac59f12e27b2964aa4804a67b9cc179347f0466b278eb0e5e3a1117c981ee45eaa3fc9b99a65422bafc1ab3b2d35b25cb1784610092565b610a6e6103808801357f2a0a97c04405a1f7fef7a27e4055bffc61bfa9213790043f44a58c97808466cd7f2d02b829f9fcf0d926ff84f19acd70edd1e3cebcb3d8992d08bb9abf65cc0b5a84610092565b610abf6103a08801357f199dc24b47a01774b2ca14c6ebb1d6dbefd68f2910cea07a6f52a39a51e821b37f2e2acca1c520dbc0c6669c66d83c51d43ff7623e6e47e8b682b4b53c27fbee5484610092565b610b106103c08801357f10d9be99903ae31c2e662af507aeac7734dea024cdfca7d206aa20a47b893e707f15d021f30dff2805c0c2699359e2c1e1fd31ccaf156d2d38bbc1e1e2b42d91f184610092565b610b616103e08801357f182f3ab3a4ff98f3885bd016f76eeec476ba1b76c323b1653ef6b80768a5a16b7f1f03120f3f56b9035896158416bc21b1b55938ca68811e0713ab85d2feee2b3e84610092565b610bb26104008801357f0f86d0b5c22dce1b3919696027d8a6e866
1726b44893e19cf1384544d66758f6b7f1218fcad9b211671bc8484d52d665df07d2a87fdce5e2df8c05c643a627a532184610092565b610c036104208801357f29feae1b5b40d3a967d3696b9503cececda9980a7a0b51e3386778862673abd67f19abd3b165a28e010c686149f039ea919508d9373aca3096fe6fee3e63717a6e84610092565b610c536104408801357f2c3c0a78a37f4cd21f164ffd0133f5d4cb2c0ad3ca4ce260a04930dac48cc5207e7169c644575f01b354a6f7633c7be48066117f6add439b6f745525017ac9c584610092565b610ca36104608801357f0b793cba68e2710afcdb131342860cea217a60ab74f3f49bcf10bbf9ad78533b7eb9e02b1890acc5f73ac202170eeb3d99ab5d849179db2a443e20d5d71cfeb084610092565b610cf46104808801357f06f371ff234dbbe385a7b198ec02fe2c3114696d09a9baacb27c91f2bedd20ae7f0d4adb8a04cae83cb1cd6867a50b8bb4e6f506b4f76de88d66188a2caeee25fb84610092565b610d456104a08801357f2274d3006c7891d6ffa5005462d890c9a3f06c2740684f17d98f4fc749dc04de7f0e38eb2cc3fd05d81d7991331e43a9cb3a39825b841d3abe9fbba1d50269445484610092565b50823581527f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4760208401357f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4703066020820152833560408201526020840135606082015260408401356080820152606084013560a08201527f2d4d9aa7e302d9df41749d5507949d05dbea33fbb16c643b22f599a2be6df2e260c08201527f14bedd503c37ceb061d8ec60209fe345ce89830a19230301f076caff004d192660e08201527f0967032fcbf776d1afc985f88877f182d38480a653f2decaa9794cbc3bf3060c6101008201527f0e187847ad4c798374d0d6732bf501847dd68bc0e071241e0213bc7fc13db7ab6101208201527f304cfbd1e08a704a99f5e847d93f8c3caafddec46b7a0d379da69a4d112346a76101408201527f1739c1b1a457a8c7313123d24d2f9192f896b7c63eea05a9d57f06547ad0cec8610160820152600087015161018082015260206000018701516101a08201527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26101c08201527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6101e08201527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6102008201527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa610220820152843561024082015260208501356102608201527f0a99859aa8393a5eca66946b5015eaa847991f8bc375aa6cf49fa75656c614a66102808201527f040455d90d2400b3bccf9ce7dcf376258d8a89bfef69a359795ee559e971cb436102a08201527f0aa97e6e93aadcbb21d5b5e193976fc8edea5b4e5400d438ee722ce8b12416bf6102c08201527f1df147cf091a2b6e12bec09ea95cf9d90d8684d8c987b3041b6c08724a262ad26102e08201526020816103008360086107d05a03fa9051169695505050505050565b604051610380810160405261103d600084013561005e565b61104a602084013561005e565b611057604084013561005e565b611064606084013561005e565b611071608084013561005e565b61107e60a084013561005e565b61108b60c084013561005e565b61109860e084013561005e565b6110a661010084013561005e565b6110b461012084013561005e565b6110c261014084013561005e565b6110d061016084013561005e565b6110de61018084013561005e565b6110ec6101a084013561005e565b6110fa6101c084013561005e565b6111086101e084013561005e565b61111661020084013561005e565b61112461022084013561005e565b61113261024084013561005e565b61114061026084013561005e565b61114e61028084013561005e565b61115c6102a084013561005e565b61116a6102c084013561005e565b6111786102e084013561005e565b61118661030084013561005e565b61119461032084013561005e565b6111a261034084013561005e565b6111b061036084013561005e565b6111be61038084013561005e565b6111cc6103a084013561005e565b6111da6103c084013561005e565b6111e86103e084013561005e565b6111f661040084013561005e565b61120461042084013561005e565b61121261044084013561005e565b61122061046084013561005e565b61122e61048084013561005e565b61123c6104a084013561005e565b61124a6104c084013561005e565b611257818486888a6100fd565b90508060005260206000f35b806040810183101561127457600080fd5b92915050565b6000806000806105c0858703121561129157600080fd5b61129b8686611263565b935060c08501868111156112ae57600080fd5b6040860193506112be8782611263565b925050856105c0860111156112d257600080fd5b5091949093509091610100019056fea2646970667358221220a10155106edc5e579b1437377895d74232c66be8546c93184ae6fd6e71edce5664736f6c634300081c0033",f=e=>e.length>1;class b extends a.ContractFactory{constructor(...e){f(e)?super(...e):super(r,i,e[0])}getDeployTransaction(e){return super.getDeployTransaction(e||{})}deploy(e){return super.deploy(e||{})}connect(e){return super.connect(e)}static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.ZupassGroth16Verifier__factory=b,b.bytecode=i,b.abi=r},10537:(e,t,n)=>{var a=n(96540),r=n(31598),i=n(18686);e.exports=function(){this.size=0,this.__data__={hash:new a,map:new(i||r),string:new a}}},11368:(e,t,n)=>{var a=n(83172);e.exports=function(e,t){var n=t?a(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}}
1,11454:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IERC165__factory=void 0;let a=n(27653),r=[{inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"}];class i{static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.IERC165__factory=i,i.abi=r},11670:(e,t,n)=>{var a=n(79401),r=n(9813),i=n(39608),f=n(33497),b=n(99544),s=n(35190),o=Object.prototype.hasOwnProperty;e.exports=function(e,t){var n=i(e),c=!n&&r(e),d=!n&&!c&&f(e),u=!n&&!c&&!d&&s(e),l=n||c||d||u,p=l?a(e.length,String):[],y=p.length;for(var m in e)(t||o.call(e,m))&&!(l&&("length"==m||d&&("offset"==m||"parent"==m)||u&&("buffer"==m||"byteLength"==m||"byteOffset"==m)||b(m,y)))&&p.push(m);return p}},11767:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.verify=void 0;let a=n(68832),r=n(52470),i=n(62744),f=n(88797);t.verify=async({pollId:e,tallyData:t,signer:n,tallyCommitments:b,totalVoteOptions:s,voteOptionTreeDepth:o})=>{let c=t.maci;if(!await (0,i.contractExists)(n.provider,c))throw Error(`There is no MACI contract deployed at ${c}.`);let d=a.MACI__factory.connect(c,n),u=await d.polls(e),l=a.Tally__factory.connect(u.tally,n),p=BigInt(await l.tallyCommitment());if(!t.newTallyCommitment.match(/0x[a-fA-F0-9]+/))throw Error("Invalid results commitment format");if(t.results.tally.length!==s)throw Error("Wrong number of vote options.");let{newTallyCommitment:y,newSpentVoiceCreditsCommitment:m,newPerVoteOptionSpentVoiceCreditsCommitment:h,newResultsCommitment:g}=b;if(p!==y)throw Error("The on-chain tally commitment does not match.");if(!await l.verifySpentVoiceCredits(t.totalSpentVoiceCredits.spent,t.totalSpentVoiceCredits.salt,g,h??0n))throw Error("The on-chain verification of total spent voice credits failed.");let T=await (0,f.verifyTallyResults)(l,t,o,m,h);if(T.length>0)throw Error(`At least one spent voice credits entry in the tally results failed the on-chain verification. Please check your tally results at these indexes: ${T.join(", ")}`);if(t.mode!==r.EMode.QV)return!0;if(t.perVoteOptionSpentVoiceCredits?.tally.length!==s)throw Error("Wrong number of vote options.");let _=await (0,f.verifyPerVoteOptionSpentVoiceCredits)(l,t,o,m,g);if(_.length>0)throw Error(`At least one tally result failed the on-chain verification. Please check your Tally data at these indexes: ${_.join(", ")}`);return!0}},11850:(e,t,n)=>{var a=n(28897),r=n(58817),i=Object.prototype.hasOwnProperty;e.exports=function(e,t,n){var f=e[t];i.call(e,t)&&r(f,n)&&(void 0!==n||t in e)||a(e,t,n)}},11928:(e,t,n)=>{var a=n(83172);e.exports=function(e,t){var n=t?a(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}},12471:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SemaphoreChecker__factory=void 0;let a=n(27653),r=[{inputs:[],name:"AlreadyInitialized",type:"error"},{inputs:[],name:"InvalidGroup",type:"error"},{inputs:[],name:"InvalidProof",type:"error"},{inputs:[],name:"InvalidProver",type:"error"},{inputs:[{internalType:"address",name:"subject",type:"address"},{internalType:"bytes",name:"evidence",type:"bytes"}],name:"check",outputs:[{internalType:"bool",name:"checked",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"getAppendedBytes",outputs:[{internalType:"bytes",name:"appendedBytes",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[],name:"groupId",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"initialized",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"semaphore",outputs:[{internalType:"contract ISemaphore",name:"",type:"address"}],stateMutability:"view",type:"function"}],i="0x6080604052348015600f57600080fd5b506106078061001f6000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c8063158ef93e146100675780637b5d2534146100895780638129fc1c146100b9578063a0f44c92146100c3578063b41a4b19146100da578063e2b2408514
16100ef575b600080fd5b6000546100749060ff1681565b60405190151581526020015b60405180910390f35b6000546100a19061010090046001600160a01b031681565b6040516001600160a01b039091168152602001610080565b6100c1610102565b005b6100cc60015481565b604051908152602001610080565b6100e261010c565b604051610080919061031a565b6100746100fd366004610380565b61011b565b61010a610130565b565b606061011661018a565b905090565b6000610128848484610195565b949350505050565b6101386102b9565b600061014261018a565b90506000808280602001905181019061015b9190610407565b600080546001600160a01b0390931661010002610100600160a81b031990931692909217909155600155505050565b6060610116306102eb565b6000806101a483850185610498565b608081015160015491925090606082901c906bffffffffffffffffffffffff83169081146101e55760405163036c503960e61b815260040160405180910390fd5b876001600160a01b0316826001600160a01b03161461021757604051635945f53b60e01b815260040160405180910390fd5b6000546040516308ade83160e31b81526101009091046001600160a01b03169063456f41889061024d9086908890600401610538565b602060405180830381865afa15801561026a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061028e91906105a8565b6102ab576040516309bde33960e01b815260040160405180910390fd5b506001979650505050505050565b60005460ff16156102dc5760405162dc149f60e41b815260040160405180910390fd5b6000805460ff19166001179055565b60405164ffffffffff602c19833b0116808252602090810190602d908301843c60408101815101604052919050565b602081526000825180602084015260005b81811015610348576020818601810151604086840101520161032b565b506000604082850101526040601f19601f83011684010191505092915050565b6001600160a01b038116811461037d57600080fd5b50565b60008060006040848603121561039557600080fd5b83356103a081610368565b9250602084013567ffffffffffffffff8111156103bc57600080fd5b8401601f810186136103cd57600080fd5b803567ffffffffffffffff8111156103e457600080fd5b8660208284010111156103f657600080fd5b939660209190910195509293505050565b6000806040838503121561041a57600080fd5b825161042581610368565b6020939093015192949293505050565b634e487b7160e01b600052604160045260246000fd5b60405160c0810167ffffffffffffffff8111828210171561046e5761046e610435565b60405290565b604051610100810167ffffffffffffffff8111828210171561046e5761046e610435565b60006101a08284031280156104ac57600080fd5b5060006104b761044b565b833581526020808501359082015260408085013590820152606080850135908201526080808501359082015260bf840185136104f1578182fd5b6104f9610474565b806101a086018781111561050b578485fd5b60a087015b81811015610528578035845260209384019301610510565b505060a083015250949350505050565b60006101c08201905083825282516020830152602083015160408301526040830151606083015260608301516080830152608083015160a083015260a083015160c0830160005b600881101561059e57825182526020928301929091019060010161057f565b5050509392505050565b6000602082840312156105ba57600080fd5b815180151581146105ca57600080fd5b939250505056fea264697066735822122042ff395a29744b7e4c438fd1c45a147cc89a84e95a02274d871344a85ab5f30c64736f6c634300081c0033",f=e=>e.length>1;class b extends a.ContractFactory{constructor(...e){f(e)?super(...e):super(r,i,e[0])}getDeployTransaction(e){return super.getDeployTransaction(e||{})}deploy(e){return super.deploy(e||{})}connect(e){return super.connect(e)}static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.SemaphoreChecker__factory=b,b.bytecode=i,b.abi=r},12728:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AnonAadhaarPolicy__factory=void 0;let a=n(27653),r=[{inputs:[],stateMutability:"payable",type:"constructor"},{inputs:[],name:"AlreadyEnforced",type:"error"},{inputs:[],name:"AlreadyInitialized",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:[],name:"TargetAlreadySet",type:"error"},{inputs:[],name:"TargetNotSet",type:"error"},{inputs:[],name:"TargetOnly",type:"error"},{inputs:[],name:"UnsuccessfulCheck",type:"error"},{inputs:[],name:"ZeroAddress",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"subject",type:"address"},{indexed:!0,internalType:"address",name:"guarded",type:"address"},{indexed:!1,internalType:"bytes",name:"evidence",type:"bytes"}],name:"Enforced",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"guarded",type:"address"}],name:"TargetSet",type:"event"},{inputs:[],name:"BASE_CHECKER",outputs:[{internalType:"contract BaseChecker",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"subject",type:"address"},{internalType:"bytes",name:"evidence",type:"bytes"}],name:"enforce",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"enforcedAadhaars",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"getAppendedBytes",outputs:[{internalType:"bytes",name:"appendedBytes",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[],name:"guarded",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"initialized",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_guarded",type:"address"}],name:"setTarget",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"trait",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"}],i="0x60806040523380602957604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b6030816035565b50608e565b600080546001600160a01b03838116610100818102610100600160a81b0319851617855560405193049190911692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35050565b6109468061009d6000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c80637e164204116100715780637e164204146101595780638129fc1c1461016c5780638da5cb5b14610174578063b41a4b191461018a578063ce343deb1461019f578063f2fde38b146101c657600080fd5b8063158ef93e146100b95780631e898ef1146100db57806367644aab146100f0578063715018a61461011357806372f7a0301461011b578063776d1a0114610146575b600080fd5b6000546100c69060ff1681565b60405190151581526020015b60405180910390f35b6100ee6100e93660046105f3565b6101d9565b005b6100c66100fe36600461067a565b60036020526000908152604090205460ff1681565b6100ee610214565b60015461012e906001600160a01b031681565b6040516001600160a01b0390911681526020016100d256
15b6100ee610154366004610693565b610228565b60025461012e906001600160a01b031681565b6100ee6102cb565b60005461010090046001600160a01b031661012e565b6101926102d3565b6040516100d291906106fd565b60408051808201909152600b81526a20b737b720b0b23430b0b960a91b6020820152610192565b6100ee6101d4366004610693565b6102e2565b6001546001600160a01b0316331461020457604051631f492dbf60e21b815260040160405180910390fd5b61020f838383610325565b505050565b61021c610396565b61022660006103c9565b565b610230610396565b6001600160a01b0381166102575760405163d92e233d60e01b815260040160405180910390fd5b6001546001600160a01b0316156102815760405163e0f2d7b160e01b815260040160405180910390fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040517f3bfb4bbf112628248058745a3c57e35b13369386e474b8e56c552f3063a4a19690600090a250565b610226610422565b60606102dd61047e565b905090565b6102ea610396565b6001600160a01b03811661031957604051631e4fbdf760e01b8152600060048201526024015b60405180910390fd5b610322816103c9565b50565b600061033382840184610792565b5050506000828152600360205260409020549193505060ff1615905061036c57604051633440c93360e21b815260040160405180910390fd5b6000818152600360205260409020805460ff19166001179055610390848484610489565b50505050565b6000546001600160a01b036101009091041633146102265760405163118cdaa760e01b8152336004820152602401610310565b600080546001600160a01b03838116610100818102610100600160a81b0319851617855560405193049190911692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35050565b61042a61056c565b600061043461047e565b90506000808280602001905181019061044d9190610841565b9150915061045a826103c9565b600280546001600160a01b0319166001600160a01b03929092169190911790555050565b60606102dd3061057d565b60025460405163e2b2408560e01b81526001600160a01b039091169063e2b24085906104bd908690869086906004016108a4565b602060405180830381865afa1580156104da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104fe91906108d2565b61051b57604051634715494560e01b815260040160405180910390fd5b6001546040516001600160a01b03918216918516907fc013b39287cb7a53f776482ac9573829321f002f31ef8782129b41d60047bda09061055f90869086906108f4565b60405180910390a3505050565b6105746105ac565b610226336103c9565b60405164ffffffffff602c19833b0116808252602090810190602d908301843c60408101815101604052919050565b60005460ff16156105cf5760405162dc149f60e41b815260040160405180910390fd5b6000805460ff19166001179055565b6001600160a01b038116811461032257600080fd5b60008060006040848603121561060857600080fd5b8335610613816105de565b9250602084013567ffffffffffffffff81111561062f57600080fd5b8401601f8101861361064057600080fd5b803567ffffffffffffffff81111561065757600080fd5b86602082840101111561066957600080fd5b939660209190910195509293505050565b60006020828403121561068c57600080fd5b5035919050565b6000602082840312156106a557600080fd5b81356106b0816105de565b9392505050565b6000815180845260005b818110156106dd576020818501810151868301820152016106c1565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006106b060208301846106b7565b604051601f8201601f1916810167ffffffffffffffff8111828210171561074757634e487b7160e01b600052604160045260246000fd5b604052919050565b600061010061075d81610710565b91508201818482111561076f57600080fd5b835b82811015610789578035825260209182019101610771565b50505092915050565b60008060008060008061020087890312156107ac57600080fd5b863595506020870135945060408701359350606087013592506000609f880189136107d5578081fd5b806107e06080610710565b905080915061010089018a8111156107f757600080fd5b60808a015b818110156108145780358452602093840193016107fc565b508194508a61011f8b011261082857600080fd5b6108328b8261074f565b93505050509295509295509295565b6000806040838503121561085457600080fd5b825161085f816105de565b6020840151909250610870816105de565b809150509250929050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b03841681526040602082018190526000906108c9908301848661087b565b95945050505050565b6000602082840312156108e457600080fd5b815180151581146106b057600080fd5b60208152600061090860208301848661087b565b94935050505056fea264697066735822122097d20d8e2190a83f962a95a66c1fdd630d216189f9cd4ba4995db1ee194661ae64736f6c634300081c0033",f=e=>e.length>1;class b extends a.ContractFactory{constructor(...e){f(e)?super(...e):super(r,i,e[0])}getDeployTransaction(e){return super.getDeployTransaction(e||{})}deploy(e){return super.deploy(e||{})}connect(e){return super.connect(e)}static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}
1t.AnonAadhaarPolicy__factory=b,b.bytecode=i,b.abi=r},12820:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MessageProcessorFactory__factory=void 0;let a=n(27653),r=[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"clone",type:"address"}],name:"CloneDeployed",type:"event"},{inputs:[],name:"IMPLEMENTATION",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"MESSAGE_DATA_LENGTH",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_verifier",type:"address"},{internalType:"address",name:"_verifyingKeysRegistry",type:"address"},{internalType:"address",name:"_poll",type:"address"},{internalType:"enum DomainObjs.Mode",name:"_mode",type:"uint8"}],name:"deploy",outputs:[{internalType:"address",name:"messageProcessorAddress",type:"address"}],stateMutability:"nonpayable",type:"function"}],i="0x60a0604052348015600f57600080fd5b50604051601a906046565b604051809103906000f0801580156035573d6000803e3d6000fd5b506001600160a01b03166080526053565b611c34806103ac83390190565b60805161033861007460003960008181607b015261015401526103386000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c806338fa9c56146100465780633a4741bd14610076578063683f3dc31461009d575b600080fd5b61005961005436600461025b565b6100b7565b6040516001600160a01b0390911681526020015b60405180910390f35b6100597f000000000000000000000000000000000000000000000000000000000000000081565b6100a5600a81565b60405160ff909116815260200161006d565b600080858585856040516020016100d194939291906102b5565b604051602081830303815290604052905060006100ed8261014d565b9050806001600160a01b0316638129fc1c6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561012a57600080fd5b505af115801561013e573d6000803e3d6000fd5b50929998505050505050505050565b60006101797f0000000000000000000000000000000000000000000000000000000000000000836101b5565b6040519091506001600160a01b038216907f2158cde9935cbf85d0b02e02fbc315ad0be2f3f017a603a2ebeedead21b8d60b90600090a2919050565b60006101c3600084846101ca565b9392505050565b600060405182518060438301826020870160045afa506e5af43d82803e903d91602b57fd5bf360238301528460148301528060881b74fe61002d3d81600a3d39f3363d3d373d3d3d363d730182526037810161ffd38210600b01830187f092505050806101c35763301164256000526004601cfd5b80356001600160a01b038116811461025657600080fd5b919050565b6000806000806080858703121561027157600080fd5b61027a8561023f565b93506102886020860161023f565b92506102966040860161023f565b91506060850135600381106102aa57600080fd5b939692955090935050565b6001600160a01b03858116825284811660208301528316604082015260808101600383106102f357634e487b7160e01b600052602160045260246000fd5b8260608301529594505050505056fea2646970667358221220dce44cf80144aa5f45e6aae57928856a8204983cc74bb4c32a7dd65a68ffaa8764736f6c634300081c00336080604052348015600f57600080fd5b50611c158061001f6000396000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c80638129fc1c116100ad578063b1a263d311610071578063b1a263d314610291578063b41a4b19146102a4578063bea140b3146102b9578063d13181b8146102cc578063faa2e25a146102d557600080fd5b80638129fc1c1461023c5780638763d0c4146102465780639cfced9714610258578063a11752791461026b578063a2d718a41461027e57600080fd5b806358bfc379116100f457806358bfc379146101e05780635bb93995146101f35780636090b30e1461020657806362a361bb1461020f578063683f3dc31461022257600080fd5b8063158ef93e14610131578063295a5212146101535780632b7ac3f3146101745780633dfb88b21461019f57806345c7237b146101c0575b600080fd5b60005461013e9060ff1681565b60405190151581526020015b60405180910390f35b60065461016790600160a01b900460ff1681565b60405161014a9190611131565b600554610187906001600160a01b031681565b6040516001600160a01b03909116815260200161014a565b6101b26101ad3660046111d2565b6102de565b60405190815260200161014a565b6101d36101ce36600461123a565b61035f565b60405161014a91906112a2565b6101b26101ee3660046112e0565b6107c7565b6101b261020136600461137b565b610861565b6101b260025481565b6101b261021d36600461139d565b610886565b61022a600a81565b60405160ff909116815260200161014a565b6102446108c0565b005b60005461013e90610100900460ff1681565b6101b26102663660046113e0565b6108ca565b600454610187906001600160a01b031681565b600654610187906001600160a01b031681565b61024461029f366004611423565b610904565b6102ac610d2d565b60405161014a919061147c565b6101b26102c73660046114af565b610d3c565b6101b260035481565b6101b260015481565b60405163248f667760e01b815260009073__$ce9c2
1c925f157047e54fa833ec4e61409f$__9063248f6677906103189085906004016114f2565b602060405180830381865af4158015610335573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103599190611523565b92915050565b60048054604080516314385fc360e21b815290516060936000936001600160a01b0316926350e17f0c92818301926020928290030181865afa1580156103a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103cd9190611523565b90506000600460009054906101000a90046001600160a01b03166001600160a01b031663719b9bd86040518163ffffffff1660e01b8152600401602060405180830381865afa158015610424573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104489190611552565b9050600080600460009054906101000a90046001600160a01b03166001600160a01b031663ba5810fd6040518163ffffffff1660e01b81526004016040805180830381865afa15801561049f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104c3919061156d565b909250905060006104d760ff85168a6115a7565b9050818111156104e45750805b6000808a116104f457600061050d565b60ff851661050360018c6115be565b61050d91906115a7565b604080516009808252610140820190925291925060208201610120803683370190505096508387600081518110610546576105466115d1565b6020026020010181815250508787600181518110610566576105666115d1565b602002602001018181525050600460009054906101000a90046001600160a01b03166001600160a01b0316637028bb0e6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105e99190611552565b60ff16876002815181106105ff576105ff6115d1565b602002602001018181525050858760038151811061061f5761061f6115d1565b602002602001018181525050600460009054906101000a90046001600160a01b03166001600160a01b03166341495d1c6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561067e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106a29190611523565b876004815181106106b5576106b56115d1565b6020908102919091010152600354156106d05760035461073b565b600480546040805163c17268d960e01b815290516001600160a01b039092169263c17268d99282820192602092908290030181865afa158015610717573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061073b9190611523565b8760058151811061074e5761074e6115d1565b602002602001018181525050888760068151811061076e5761076e6115d1565b602002602001018181525050808760078151811061078e5761078e6115d1565b60200260200101818152505081876008815181106107ae576107ae6115d1565b6020026020010181815250505050505050509392505050565b60007f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016002836040516020016107fd91906115e7565b60408051601f19818403018152908290526108179161161d565b602060405180830381855afa158015610834573d6000803e3d6000fd5b5050506040513d601f19601f820116820180604052508101906108579190611523565b6103599190611639565b600061086b6110db565b8381526020810183905261087e81610886565b949350505050565b6040516314d2f97b60e11b815260009073__$6574937f64fc1d7710ec0e28b7a36713bb$__906329a5f2f69061031890859060040161165b565b6108c8610d76565b565b604051630926f44b60e31b815260009073__$20527677031d76601747626a9845039fe4$__90634937a25890610318908590600401611683565b600054610100900460ff161561092d5760405163a7f0397560e01b815260040160405180910390fd5b6000600460009054906101000a90046001600160a01b03166001600160a01b031663ac98e5df6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610982573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109a691906116ab565b509150506000600460009054906101000a90046001600160a01b03166001600160a01b031663719b9bd86040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a239190611552565b90506060600154600003610b96576000600460009054906101000a90046001600160a01b03166001600160a01b031663c17268d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a86573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aaa9190611523565b60038190556004805460408051639255266760e01b815290519394506001600160a01b039091169263925526679282810192600092919082900301818387803b158015610af657600080fd5b505af1158015610b0a573d6000803e3d6000fd5b505060048054604080516305105fa360e21b815290516001600160a01b0390921694506314417e8c935080830192600092918290030181865afa158015610b55573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610b7d91908101906116ee565b9
115060018251610b8d91906115be565b60025550610c08565b60048054604080516305105fa360e21b815290516001600160a01b03909216926314417e8c9282820192600092908290030181865afa158015610bdd573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610c0591908101906116ee565b90505b60008160025481518110610c1e57610c1e6115d1565b60200260200101519050610c61600254828886888a6008806020026040519081016040528092919082600860200280828437600092019190915250610e24915050565b610c815760405160016268f24f60e01b0319815260040160405180910390fd5b6000600460009054906101000a90046001600160a01b03166001600160a01b031663ba5810fd6040518163ffffffff1660e01b81526004016040805180830381865afa158015610cd5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cf9919061156d565b915050610d24876001546001610d0f919061177a565b610d1c9060ff88166115a7565b831115611026565b50505050505050565b6060610d3761106f565b905090565b6040516304b98e1d60e31b815260009073__$dc01a9744591ab014bc46a3b7671cdaefb$__906325cc70e89061031890859060040161178d565b610d7e61107a565b6000610d8861106f565b905060008060008084806020019051810190610da491906117cd565b600580546001600160a01b038087166001600160a01b031992831617909255600680548387168184168117835560048054958816959094169490941790925595995093975091955093508392916001600160a81b03191617600160a01b836002811115610e1357610e136110f9565b021790555050600160025550505050565b6004805460408051638b6e746360e01b8152905160009384936001600160a01b031692638b6e746392818301926020928290030181865afa158015610e6d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e919190611830565b90506000610ea089888a61035f565b90506000600660009054906101000a90046001600160a01b03166001600160a01b031663435fe1c9846001600160a01b031663652c76e46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f06573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f2a9190611552565b60065460405160e084901b6001600160e01b0319168152610f5d92918b918d91600160a01b900460ff169060040161184d565b600060405180830381865afa158015610f7a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610fa29190810190611935565b60055460405163352a4d1560e01b81529192506001600160a01b03169063352a4d1590610fd790889085908790600401611aa3565b602060405180830381865afa158015610ff4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110189190611ba4565b9a9950505050505050505050565b60038290556000805461ff0019166101008315150217815560028054600192906110519084906115be565b90915550506001805490600061106683611bc6565b91905055505050565b6060610d37306110ac565b60005460ff161561109d5760405162dc149f60e41b815260040160405180910390fd5b6000805460ff19166001179055565b60405164ffffffffff602c19833b0116808252602090810190602d908301843c60408101815101604052919050565b60405180604001604052806002906020820280368337509192915050565b634e487b7160e01b600052602160045260246000fd5b6003811061112d57634e487b7160e01b600052602160045260246000fd5b9052565b60208101610359828461110f565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156111785761117861113f565b60405290565b60405160a0810167ffffffffffffffff811182821017156111785761117861113f565b604051601f8201601f1916810167ffffffffffffffff811182821017156111ca576111ca61113f565b604052919050565b6000608082840312156111e457600080fd5b600083601f8401126111f4578081fd5b806111ff60806111a1565b9050809150608084018581111561121557600080fd5b845b8181101561122f578035845260209384019301611217565b509095945050505050565b60008060006060848
1603121561124f57600080fd5b505081359360208301359350604090920135919050565b600081518084526020840193506020830160005b8281101561129857815186526020958601959091019060010161127a565b5093949350505050565b6020815260006112b56020830184611266565b9392505050565b600067ffffffffffffffff8211156112d6576112d661113f565b5060051b60200190565b6000602082840312156112f257600080fd5b813567ffffffffffffffff81111561130957600080fd5b8201601f8101841361131a57600080fd5b803561132d611328826112bc565b6111a1565b8082825260208201915060208360051b85010192508683111561134f57600080fd5b6020840193505b82841015611371578335825260209384019390910190611356565b9695505050505050565b6000806040838503121561138e57600080fd5b50508035926020909101359150565b6000604082840312156113af57600080fd5b600083601f8401126113bf578081fd5b806113ca60406111a1565b9050809150604084018581111561121557600080fd5b600060a082840312156113f257600080fd5b600083601f840112611402578081fd5b8061140d60a06111a1565b905080915060a084018581111561121557600080fd5b600080610120838503121561143757600080fd5b82359150610120830184101561144c57600080fd5b50926020919091019150565b60005b8381101561147357818101518382015260200161145b565b50506000910152565b602081526000825180602084015261149b816040850160208701611458565b601f01601f19169190910160400192915050565b6000606082840312156114c157600080fd5b600083601f8401126114d1578081fd5b806114dc60606111a1565b9050809150606084018581111561121557600080fd5b60808101818360005b600481101561151a5781518352602092830192909101906001016114fb565b50505092915050565b60006020828403121561153557600080fd5b5051919050565b805160ff8116811461154d57600080fd5b919050565b60006020828403121561156457600080fd5b6112b58261153c565b6000806040838503121561158057600080fd5b505080516020909101519092909150565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761035957610359611591565b8181038181111561035957610359611591565b634e487b7160e01b600052603260045260246000fd5b8151600090829060208501835b828110156116125781518452602093840193909101906001016115f4565b509195945050505050565b6000825161162f818460208701611458565b9190910192915050565b60008261165657634e487b7160e01b600052601260045260246000fd5b500690565b60408101818360005b600281101561151a578151835260209283019290910190600101611664565b60a08101818360005b600581101561151a57815183526020928301929091019060010161168c565b60008060006060848
160312156116c057600080fd5b6116c98461153c565b92506116d76020850161153c565b91506116e56040850161153c565b90509250925092565b60006020828403121561170057600080fd5b815167ffffffffffffffff81111561171757600080fd5b8201601f8101841361172857600080fd5b8051611736611328826112bc565b8082825260208201915060208360051b85010192508683111561175857600080fd5b6020840193505b8284101561137157835182526020938401939091019061175f565b8082018082111561035957610359611591565b60608101818360005b600381101561151a578151835260209283019290910190600101611796565b6001600160a01b03811681146117ca57600080fd5b50565b600080600080608085870312156117e357600080fd5b84516117ee816117b5565b60208601519094506117ff816117b5565b6040860151909350611810816117b5565b60608601519092506003811061182557600080fd5b939692955090935050565b60006020828403121561184257600080fd5b81516112b5816117b5565b60ff858116825284811660208301528316604082015260808101611874606083018461110f565b95945050505050565b60006040828403121561188f57600080fd5b611897611155565b825181526020928301519281019290925250919050565b600082601f8301126118bf57600080fd5b6118c960406111a1565b8060408401858111156118db57600080fd5b845b8181101561122f5780518452602093840193016118dd565b60006080828403121561190757600080fd5b61190f611155565b905061191b83836118ae565b815261192a83604084016118ae565b602082015292915050565b60006020828403121561194757600080fd5b815167ffffffffffffffff81111561195e57600080fd5b82016101e0818503121561197157600080fd5b61197961117e565b611983858361187d565b815261199285604084016118f5565b60208201526119a48560c084016118f5565b60408201526119b78561014084016118f5565b60608201526101c082015167ffffffffffffffff8111156119d757600080fd5b80830192505084601f8301126119ec57600080fd5b81516119fa611328826112bc565b8082825260208201915060208360061b860101925087831115611a1c57600080fd5b6020850194505b82851015611a4857611a35888661187d565b8252602082019150604085019450611a23565b6080840152509095945050505050565b8060005b6002811015611a7b578151845260209384019390910190600101611a5c565b50505050565b611a8c828251611a58565b6020810151611a9e6040840182611a58565b505050565b60008185825b6008811015611ac8578151835260209283019290910190600101611aa9565b5050506101406101008301526103208201611af26101408401865180518252602090810151910152565b6020850151611b05610180850182611a81565b506040850151611b19610200850182611a81565b506060850151611b2d610280850182611a81565b5060808501516101e0610300850152805191829052602001906000906103408501905b80831015611b8457611b6d82855180518252602090810151910152565b604082019150602084019350600183019250611b50565b50848103610120860152611b988187611266565b98975050505050505050565b600060208284031215611bb657600080fd5b815180151581146112b557600080fd5b600060018201611bd857611bd8611591565b506001019056fea2646970667358221220d9f0b6e45137e2d012d87c18021416072c4d491ce50db95c95a2bc8b31a1b0f064736f6c634300081c0033",f=e=>"string"==typeof e[0]||Array.isArray(e[0])||"_isInterface"in e[0];class b extends a.ContractFactory{constructor(...e){if(f(e))super(...e);else{let[t,n]=e;super(r,b.linkBytecode(t),n)}}static linkBytecode(e){let t=i;return(t=(t=(t=t.replace(RegExp("__\\$ce9c2c925f157047e54fa833ec4e61409f\\$__","g"),e["contracts/crypto/PoseidonT5.sol:PoseidonT5"].replace(/^0x/,"").toLowerCase())).replace(RegExp("__\\$6574937f64fc1d7710ec0e28b7a36713bb\\$__","g"),e["contracts/crypto/PoseidonT3.sol:PoseidonT3"].replace(/^0x/,"").toLowerCase())).replace(RegExp("__\\$20527677031d76601747626a9845039fe4\\$__","g"),e["contracts/crypto/PoseidonT6.sol:PoseidonT6"].replace(/^0x/,"").toLowerCase())).replace(RegExp("__\\$dc01a9744591ab014bc46a3b7671cdaefb\\$__","g"),e["contracts/crypto/PoseidonT4.sol:PoseidonT4"].replace(/^0x/,"").toLowerCase())}getDeployTransaction(e){return super.getDeployTransaction(e||{})}deploy(e){return super.deploy(e||{})}connect(e){return super.connect(e)}static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.MessageProcessorFactory__factory=b,b.bytecode=i,b.abi=r},13122:(e,t,n)=>{var a=n(40139),r=n(38985),i=n(67460),f=n(7512),b=/^\[object .+?Constructor\]$/,s=Object.prototype,o=Function.prototype.toString,c=s.hasOwnProperty,d=RegExp("^"+o.call(c).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");e.exports=function(e){return!(!i(e)||r(e))&&(a(e)?d:b).test(f(e))}}
1,13364:(e,t,n)=>{var a=n(75899),r=Object.prototype.hasOwnProperty;e.exports=function(e){var t=this.__data__;return a?void 0!==t[e]:r.call(t,e)}},13458:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Utilities__factory=void 0;let a=n(27653),r=[{inputs:[],name:"InvalidMessage",type:"error"},{inputs:[],name:"MESSAGE_DATA_LENGTH",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256[2]",name:"array",type:"uint256[2]"}],name:"hash2",outputs:[{internalType:"uint256",name:"result",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"uint256[3]",name:"array",type:"uint256[3]"}],name:"hash3",outputs:[{internalType:"uint256",name:"result",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"uint256[4]",name:"array",type:"uint256[4]"}],name:"hash4",outputs:[{internalType:"uint256",name:"result",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"uint256[5]",name:"array",type:"uint256[5]"}],name:"hash5",outputs:[{internalType:"uint256",name:"result",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"uint256",name:"left",type:"uint256"},{internalType:"uint256",name:"right",type:"uint256"}],name:"hashLeftRight",outputs:[{internalType:"uint256",name:"result",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{components:[{internalType:"uint256[10]",name:"data",type:"uint256[10]"}],internalType:"struct DomainObjs.Message",name:"_message",type:"tuple"},{components:[{internalType:"uint256",name:"x",type:"uint256"},{internalType:"uint256",name:"y",type:"uint256"}],internalType:"struct DomainObjs.PublicKey",name:"_encryptionPublicKey",type:"tuple"}],name:"hashMessageAndPublicKey",outputs:[{internalType:"uint256",name:"msgHash",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{components:[{components:[{internalType:"uint256",name:"x",type:"uint256"},{internalType:"uint256",name:"y",type:"uint256"}],internalType:"struct DomainObjs.PublicKey",name:"publicKey",type:"tuple"},{internalType:"uint256",name:"voiceCreditBalance",type:"uint256"}],internalType:"struct DomainObjs.StateLeaf",name:"_stateLeaf",type:"tuple"}],name:"hashStateLeaf",outputs:[{internalType:"uint256",name:"ciphertext",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"uint256[2]",name:"dataToPad",type:"uint256[2]"}],name:"padAndHashMessage",outputs:[{components:[{internalType:"uint256[10]",name:"data",type:"uint256[10]"}],internalType:"struct DomainObjs.Message",name:"message",type:"tuple"},{components:[{internalType:"uint256",name:"x",type:"uint256"},{internalType:"uint256",name:"y",type:"uint256"}],internalType:"struct DomainObjs.PublicKey",name:"padKey",type:"tuple"},{internalType:"uint256",name:"msgHash",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"uint256[]",name:"array",type:"uint256[]"}],name:"sha256Hash",outputs:[{internalType:"uint256",name:"result",type:"uint256"}],stateMutability:"pure",type:"function"}],i="0x6080604052348015600f57600080fd5b50610b0e8061001f6000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c8063683f3dc311610066578063683f3dc314610115578063793c56321461012f5780639cfced9714610142578063bea140b314610155578063edbfe83f1461016857600080fd5b806301405426146100a35780633dfb88b2146100c957806358bfc379146100dc5780635bb93995146100ef57806362a361bb14610102575b600080fd5b6100b66100b1366004610653565b61018a565b6040519081526020015b60405180910390f35b6100b66100d7366004610705565b610258565b6100b66100ea36600461076d565b6102d9565b6100b66100fd36600461081e565b610373565b6100b6610110366004610840565b610398565b61011d600a81565b60405160ff90911681526020016100c0565b6100b661013d366004610883565b6103d2565b6100b66101503660046108bd565b610405565b6100b6610163366004610900565b61043f565b61017b610176366004610840565b610479565b6040516100c093929190610943565b6000610194610521565b83515181528351602090810151908201528351604090810151908201528351606090810151908201528351608090810151908201526101d1610521565b845160a001518152845160c001516020820152845160e001
15160408083019190915285516101000151606083015285516101200151608080840191909152815190810190915261024f908061022585610405565b815260200161023384610405565b8152602001866000015181526020018660200151815250610258565b95945050505050565b60405163248f667760e01b815260009073__$ce9c2c925f157047e54fa833ec4e61409f$__9063248f66779061029290859060040161098f565b602060405180830381865af41580156102af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102d391906109c0565b92915050565b60007f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160028360405160200161030f91906109d9565b60408051601f198184030181529082905261032991610a0f565b602060405180830381855afa158015610346573d6000803e3d6000fd5b5050506040513d601f19601f8201168201806040525081019061036991906109c0565b6102d39190610a3e565b600061037d61053f565b8381526020810183905261039081610398565b949350505050565b6040516314d2f97b60e11b815260009073__$6574937f64fc1d7710ec0e28b7a36713bb$__906329a5f2f690610292908590600401610a60565b60006103dc61055d565b825151815282516020908101518183015283015160408201526103fe8161043f565b9392505050565b604051630926f44b60e31b815260009073__$20527677031d76601747626a9845039fe4$__90634937a25890610292908590600401610a88565b6040516304b98e1d60e31b815260009073__$dc01a9744591ab014bc46a3b7671cdaefb$__906325cc70e890610292908590600401610ab0565b61048161057b565b6040805180820190915260008082526020820152600061049f610593565b84518152602080860151828201526040805180820182527f171e826ad4a870fd925e0bf0e87884e70e080879c2205ef10114f28a3b6f6dd781527f2bd407d897fbbca9f88adfd2d15252e69de8c1564eb4d3d27162e259172f1a1d8184015281519283019091528282529094509250610518848461018a565b93959294505050565b6040518060a001604052806005906020820280368337509192915050565b60405180604001604052806002906020820280368337509192915050565b60405180606001604052806003906020820280368337509192915050565b604051806020016040528061058e610593565b905290565b604051806101400160405280600a906020820280368337509192915050565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156105eb576105eb6105b2565b60405290565b604051601f8201601f1916810167ffffffffffffffff8111828210171561061a5761061a6105b2565b604052919050565b60006040828403121561063457600080fd5b61063c6105c8565b823581526020928301359281019290925250919050565b60008082840361018081121561066857600080fd5b61014081121561067757600080fd5b506040516020810167ffffffffffffffff8111828210171561069b5761069b6105b2565b604052601f840185136106ad57600080fd5b60006101406106bb816105f1565b9150850181878211156106cd57600080fd5b865b828110156106e75780358252602091820191016106cf565b50508183528294506106f98782610622565b93505050509250929050565b60006080828403121561071757600080fd5b600083601f840112610727578081fd5b8061073260806105f1565b9050809150608084018581111561074857600080fd5b845b8181101561076257803584526020938401930161074a565b509095945050505050565b60006020828403121561077f57600080fd5b813567ffffffffffffffff81111561079657600080fd5b8201601f810184136107a757600080fd5b803567ffffffffffffffff8111156107c1576107c16105b2565b8060051b6107d1602082016105f1565b918252602081840181019290810190878411156107ed57600080fd5b6020850194505b83851015610813578435808352602095860195909350909101906107f4565b979650505050505050565b6000806040838503121561083157600080fd5b50508035926020909101359150565b60006040828403121561085257600080fd5b600083601f840112610862578081fd5b8061086d60406105f1565b9050809150604084018581111561074857600080fd5b6000606082840312801561089657600080fd5b5061089f6105c8565b6108a98484610622565b815260409290920135602083015250919050565b600060a082840312156108cf57600080fd5b600083601f8401126108df578081fd5b806108ea60a06105f1565b905080915060a084018581111561074857600080fd5b60006060828403121561091257600080fd5b600083601f840112610922578081fd5b8061092d60606105f1565b9050809150606084018581111561074857600080fd5b83516101a08201908260005b600a81101561096e57825182526020928301929091019060010161094f565b50508451610140840152506020909301516101608201526101800152919050565b60808101818360005b60048110156109b7578151835260209283019290910190600101610998565b50505092915050565b6000602082840312156109d257600080fd5b5051919050565b8151600090829060208501835b82811015610a045781518452602093840193909101906001016109e6565b509195945050505050565b6000825160005b81811015610a305760208186018101518583015201610a16565b506000920191825250919050565b600082610a5b57634e487b7160e01b600052601260045260246000fd5b500690565b60408101818360005b60028110156109b7578151835260209283019290910190600101610a69565b60a08101818360005b60058110156109b7578151835260209283019290910190600101610a91565b
160608101818360005b60038110156109b7578151835260209283019290910190600101610ab956fea2646970667358221220fa18a708d4ebd2044601c299d46b840b3607450038f85ecc4d2220afc4cc86b264736f6c634300081c0033",f=e=>"string"==typeof e[0]||Array.isArray(e[0])||"_isInterface"in e[0];class b extends a.ContractFactory{constructor(...e){if(f(e))super(...e);else{let[t,n]=e;super(r,b.linkBytecode(t),n)}}static linkBytecode(e){let t=i;return(t=(t=(t=t.replace(RegExp("__\\$ce9c2c925f157047e54fa833ec4e61409f\\$__","g"),e["contracts/crypto/PoseidonT5.sol:PoseidonT5"].replace(/^0x/,"").toLowerCase())).replace(RegExp("__\\$6574937f64fc1d7710ec0e28b7a36713bb\\$__","g"),e["contracts/crypto/PoseidonT3.sol:PoseidonT3"].replace(/^0x/,"").toLowerCase())).replace(RegExp("__\\$20527677031d76601747626a9845039fe4\\$__","g"),e["contracts/crypto/PoseidonT6.sol:PoseidonT6"].replace(/^0x/,"").toLowerCase())).replace(RegExp("__\\$dc01a9744591ab014bc46a3b7671cdaefb\\$__","g"),e["contracts/crypto/PoseidonT4.sol:PoseidonT4"].replace(/^0x/,"").toLowerCase())}getDeployTransaction(e){return super.getDeployTransaction(e||{})}deploy(e){return super.deploy(e||{})}connect(e){return super.connect(e)}static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.Utilities__factory=b,b.bytecode=i,b.abi=r},13465:e=>{e.exports=function(e){return e}},13467:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.publishBatch=t.publish=void 0;let a=n(68681),r=n(42669),i=n(18495),f=n(5876),b=n(15013);t.publish=async({stateIndex:e,voteOptionIndex:t,nonce:n,pollId:s,newVoteWeight:o,maciAddress:c,salt:d,publicKey:u,privateKey:l,signer:p})=>{if(!a.PublicKey.isValidSerialized(u))throw Error("Invalid MACI public key");if(!a.PrivateKey.isValidSerialized(l))throw Error("Invalid MACI private key");let{poll:y}=await (0,r.getPollContracts)({maciAddress:c,pollId:s,signer:p}),m=a.PublicKey.deserialize(u),h=a.PrivateKey.deserialize(l),[g,T]=await Promise.all([y.voteOptions(),y.getAddress()]),_=await (0,b.getCoordinatorPublicKey)(T,p),v=(0,i.generateVote)({pollId:s,voteOptionIndex:t,salt:d,nonce:n,privateKey:h,stateIndex:e,voteWeight:o,coordinatorPublicKey:_,maxVoteOption:g,newPublicKey:m});return{hash:await (0,f.submitVote)({pollAddress:T,vote:v,signer:p}),encryptedMessage:v.message,privateKey:v.ephemeralKeypair.privateKey.serialize()}},t.publishBatch=async({messages:e,pollId:t,maciAddress:n,publicKey:s,privateKey:o,signer:c})=>{if(!a.PublicKey.isValidSerialized(s))throw Error("Invalid MACI public key");if(!a.PrivateKey.isValidSerialized(o))throw Error("Invalid MACI private key");let{poll:d}=await (0,r.getPollContracts)({maciAddress:n,pollId:t,signer:c}),u=a.PublicKey.deserialize(s),l=a.PrivateKey.deserialize(o),[p,y]=await Promise.all([d.voteOptions(),d.getAddress()]),m=await (0,b.getCoordinatorPublicKey)(y,c),h=e.map(({stateIndex:e,voteOptionIndex:n,salt:a,nonce:r,newVoteWeight:f})=>(0,i.generateVote)({pollId:t,voteOptionIndex:n,nonce:r,privateKey:l,stateIndex:e,maxVoteOption:BigInt(p),salt:a,voteWeight:f,coordinatorPublicKey:m,newPublicKey:u}));return{hash:await (0,f.submitVoteBatch)({pollAddress:y,votes:h.reverse(),signer:c}),encryptedMessages:h.map(e=>e.message),privateKeys:h.map(e=>e.ephemeralKeypair.privateKey.serialize())}}},13703:(e,t,n)=>{var a=n(94380),r=n(48611);e.exports=function(e){return r(e)&&"[object Set]"==a(e)}},14614:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isTallied=t.getResults=t.getResultPerOption=void 0;let a=n(42669);t.getResultPerOption=async({maciAddress:e,pollId:t,index:n,signer:r})=>{let{tally:i}=await (0,a.getPollContracts)({maciAddress:e,pollId:t,signer:r}),{value:f,isSet:b}=await i.getTallyResults(n);return{value:f,isSet:b}},t.getResults=async({maciAddress:e,pollId:t,signer:n})=>{let{poll:r,tally:i}=await (0,a.getPollContracts)({maciAddress:e,pollId:t,signer:n}),f=await r.voteOptions(),b=[];for(let e=0;e<f;e+=1){let{value:t,isSet:n}=await i.getTallyResults(e);b.push({value:t,isSet:n})}return b},t.isTallied=async({maciAddress:e,pollId:t,signer:n})=>{let{tally:r}=await (0,a.getPollContracts)({maciAddress:e,pollId:t,signer:n});return r.isTallied()}},14955:(e,t,n)=>{"use strict";
1Object.defineProperty(t,"__esModule",{value:!0}),t.IClone__factory=void 0;let a=n(27653),r=[{inputs:[],name:"AlreadyInitialized",type:"error"},{inputs:[],name:"getAppendedBytes",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"}];class i{static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.IClone__factory=i,i.abi=r},15013:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getCoordinatorPublicKey=t.validateSalt=void 0;let a=n(68832),r=n(68960),i=n(68681);t.validateSalt=e=>e<r.SNARK_FIELD_SIZE,t.getCoordinatorPublicKey=async(e,t)=>{let n=a.Poll__factory.connect(e,t),r=await n.coordinatorPublicKey();return new i.PublicKey([r.x,r.y])}},15249:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ISemaphore__factory=void 0;let a=n(27653),r=[{inputs:[{internalType:"uint256",name:"groupId",type:"uint256"},{components:[{internalType:"uint256",name:"merkleTreeDepth",type:"uint256"},{internalType:"uint256",name:"merkleTreeRoot",type:"uint256"},{internalType:"uint256",name:"nullifier",type:"uint256"},{internalType:"uint256",name:"message",type:"uint256"},{internalType:"uint256",name:"scope",type:"uint256"},{internalType:"uint256[8]",name:"points",type:"uint256[8]"}],internalType:"struct ISemaphore.SemaphoreProof",name:"proof",type:"tuple"}],name:"verifyProof",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"}];class i{static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.ISemaphore__factory=i,i.abi=r},15473:e=>{e.exports=function(e,t){return null==e?void 0:e[t]}},15631:e=>{e.exports=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=0x1fffffffffffff}},15786:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.generateMaciPublicKey=t.generateKeypair=void 0;var a=n(99397);Object.defineProperty(t,"generateKeypair",{enumerable:!0,get:function(){return a.generateKeypair}});var r=n(4483);Object.defineProperty(t,"generateMaciPublicKey",{enumerable:!0,get:function(){return r.generateMaciPublicKey}})},15949:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IBasePolicy__factory=void 0;let a=n(27653),r=[{inputs:[],name:"AlreadyEnforced",type:"error"},{inputs:[],name:"TargetAlreadySet",type:"error"},{inputs:[],name:"TargetNotSet",type:"error"},{inputs:[],name:"TargetOnly",type:"error"},{inputs:[],name:"UnsuccessfulCheck",type:"error"},{inputs:[],name:"ZeroAddress",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"subject",type:"address"},{indexed:!0,internalType:"address",name:"guarded",type:"address"},{indexed:!1,internalType:"bytes",name:"evidence",type:"bytes"}],name:"Enforced",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"guarded",type:"address"}],name:"TargetSet",type:"event"},{inputs:[{internalType:"address",name:"subject",type:"address"},{internalType:"bytes",name:"evidence",type:"bytes"}],name:"enforce",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_guarded",type:"address"}],name:"setTarget",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"trait",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"pure",type:"function"}];class i{static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.IBasePolicy__factory=i,i.abi=r},16277:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},16571:(e,t,n)=>{var a=n(50687),r=n(54906),i=n(13465);e.exports=r?function(e,t){return r(e,"toString",{configurable:!0,enumerable:!1,value:a(t),writable:!0})}:i},16613:(e,t,n)=>{var a=n(24376),r=n(57213),i=n(39608),f=n(70771),b=1/0,s=a?a.prototype:void 0,o=s?s.toString:void 0;e.exports=function e(t){if("string"==typeof t)return t;if(i(t))return r(t,e)+"";if(f(t))return o?o.call(t):"";var n=t+"";return"0"==n&&1/t==-b?"-0":n}}
1,16648:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EASPolicy__factory=void 0;let a=n(27653),r=[{inputs:[],stateMutability:"payable",type:"constructor"},{inputs:[],name:"AlreadyEnforced",type:"error"},{inputs:[],name:"AlreadyInitialized",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:[],name:"TargetAlreadySet",type:"error"},{inputs:[],name:"TargetNotSet",type:"error"},{inputs:[],name:"TargetOnly",type:"error"},{inputs:[],name:"UnsuccessfulCheck",type:"error"},{inputs:[],name:"ZeroAddress",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"subject",type:"address"},{indexed:!0,internalType:"address",name:"guarded",type:"address"},{indexed:!1,internalType:"bytes",name:"evidence",type:"bytes"}],name:"Enforced",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"guarded",type:"address"}],name:"TargetSet",type:"event"},{inputs:[],name:"BASE_CHECKER",outputs:[{internalType:"contract BaseChecker",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"subject",type:"address"},{internalType:"bytes",name:"evidence",type:"bytes"}],name:"enforce",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"",type:"bytes32"}],name:"enforcedAttestations",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"getAppendedBytes",outputs:[{internalType:"bytes",name:"appendedBytes",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[],name:"guarded",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"initialized",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_guarded",type:"address"}],name:"setTarget",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"trait",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"}],i="0x60806040523380602957604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b6030816035565b50608e565b600080546001600160a01b03838116610100818102610100600160a81b0319851617855560405193049190911692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35050565b6108078061009d6000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c80637e164204116100715780637e164204146101595780638129fc1c1461016c5780638da5cb5b14610174578063b41a4b191461018a578063ce343deb1461019f578063f2fde38b146101be57600080fd5b8063158ef93e146100b957806319e4daed146100db5780631e898ef1146100fe578063715018a61461011357806372f7a0301461011b578063776d1a0114610146575b600080fd5b6000546100c69060ff1681565b60405190151581526020015b60405180910390f35b6100c66100e93660046105d0565b60036020526000908152604090205460ff1681565b61011161010c3660046105fe565b6101d1565b005b61011161020c565b60015461012e906001600160a01b031681565b6040516001600160a01b0390911681526020016100d2565b610111610154366004610685565b610220565b60025461012e906001600160a01b031681565b6101116102c3565b60005461010090046001600160a01b031661012e565b6101926102cb565b6040516100d291906106ef565b60408051808201909152600381526245415360e81b6020820152610192565b6101116101cc366004610685565b6102da565b6001546001600160a01b031633146101fc57604051631f492dbf60e21b815260040160405180910390fd5b61020783838361031d565b505050565b610214610388565b61021e60006103bb565b565b610228610388565b6001600160a01b03811661024f5760405163d92e233d60e01b815260040160405180910390fd5b6001546001600160a01b0316156102795760405163e0f2d7b160e01b815260040160405180910390fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040517f3bfb4bbf112628248058745a3c57e35b13369386e474b8e56c552f3063a4a19690600090a250565b61021e610414565b60606102d5610470565b905090565b6102e2610388565b6001600160a01b03811661031157604051631e4fbdf760e01b8152600060048201526024015b60405180910390fd5b61031a816103bb565b50565b600061032b828401846105d0565b60008181526003602052604090205490915060ff161561035e57604051633440c93360e21b815260040160405180910390fd5b6000818152600360205260409020805460ff1916600117905561038284848461047b565b50505050565b6000546001600160a01b0361010090910416331461021e5760405163118cdaa760e01b8152336004820152602401610308565b600080546001600160a01b03838116610100818102610100600160a81b0319851617855560405193049190911692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35050565b61041c61055e565b6000610426610470565b90506000808280602001905181019061043f9190610702565b9150915061044c826103bb565b600280546001600160a01b0319166001600160a01b03929092169190911790555050565b60606102d53061056f565b60025460405163e2b2408560e01b81526001600160a01b039091169063e2b24085906104af90869086908690600401610765565b602060405180830381865afa1580156104cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104f09190610793565b61050d57604051634715494560e01b815260040160405180910390fd5b6001546040516001600160a01b03918216918516907fc013b39287cb7a53f776482ac9573829321f002f31ef8782129b41d60047bda09061055190869086906107b5565b60405180910390a3505050565b61056661059e565b61021e336103bb565b60405164ffffffffff602c19833b0116808252602090810190602d908301843c60408101815101604052919050565b60005460ff16156105c15760405162dc149f60e41b815260040160405180910390fd5b6000805460ff19166001179055565b6000602082840312156105e257600080fd5b5035919050565b6001600160a01b038116811461031a57600080fd5b60008060006040848603121561061357600080fd5b833561061e816105e9565b9250602084013567ffffffffffffffff81111561063a57600080fd5b8401601f8101861361064b57600080fd5b803567ffffffffffffffff81111561066257600080fd5b86602082840101111561067457600080fd5b939660209190910195509293505050565b60006020828403121561069757600080fd5b81356106a2816105e9565b9392505050565b6000815180845260005b818110156106cf576020818501810151868301820152016106b3565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006106a260208301846106a9565b6000806040838503121561071557600080fd5b8251610720816105e9565b6020840151909250610731816105e9565b809150509250929050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b038416815260406020820181905260009061078a908301848661073c565b95945050505050565b6000602082840312156107a557600080fd5b815180151581146106a257600080fd5b6020815260006107c9602083
101848661073c565b94935050505056fea264697066735822122021bdc807bdb24efe7ff0c561ba377150106409769d6ba51bbcbb8671c325391364736f6c634300081c0033",f=e=>e.length>1;class b extends a.ContractFactory{constructor(...e){f(e)?super(...e):super(r,i,e[0])}getDeployTransaction(e){return super.getDeployTransaction(e||{})}deploy(e){return super.deploy(e||{})}connect(e){return super.connect(e)}static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.EASPolicy__factory=b,b.bytecode=i,b.abi=r},17481:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FreeForAllCheckerFactory__factory=void 0;let a=n(27653),r=[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"clone",type:"address"}],name:"CloneDeployed",type:"event"},{inputs:[],name:"IMPLEMENTATION",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"deploy",outputs:[{internalType:"address",name:"clone",type:"address"}],stateMutability:"nonpayable",type:"function"}],i="0x60a0604052348015600f57600080fd5b50604051601a906046565b604051809103906000f0801580156035573d6000803e3d6000fd5b506001600160a01b03166080526053565b61026c8061028e83390190565b60805161021b610073600039600081816040015260fa015261021b6000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80633a4741bd1461003b578063775c300c1461007e575b600080fd5b6100627f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b6100626040805160008082526020820190925261009a816100f3565b9150816001600160a01b0316638129fc1c6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156100d757600080fd5b505af11580156100eb573d6000803e3d6000fd5b505050505090565b600061011f7f00000000000000000000000000000000000000000000000000000000000000008361015b565b6040519091506001600160a01b038216907f2158cde9935cbf85d0b02e02fbc315ad0be2f3f017a603a2ebeedead21b8d60b90600090a2919050565b600061016960008484610170565b9392505050565b600060405182518060438301826020870160045afa506e5af43d82803e903d91602b57fd5bf360238301528460148301528060881b74fe61002d3d81600a3d39f3363d3d373d3d3d363d730182526037810161ffd38210600b01830187f092505050806101695763301164256000526004601cfdfea2646970667358221220ed8d99eb85ab29b701b3847b3daf47a29477de342d7e102c77905da77eadf69564736f6c634300081c00336080604052348015600f57600080fd5b5061024d8061001f6000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c8063158ef93e146100515780638129fc1c14610073578063b41a4b191461007d578063e2b2408514610092575b600080fd5b60005461005e9060ff1681565b60405190151581526020015b60405180910390f35b61007b6100a9565b005b6100856100b3565b60405161006a9190610136565b61005e6100a0366004610184565b50600192915050565b6100b16100c2565b565b60606100bd6100ca565b905090565b6100b16100d5565b60606100bd30610107565b60005460ff16156100f85760405162dc149f60e41b815260040160405180910390fd5b6000805460ff19166001179055565b60405164ffffffffff602c19833b0116808252602090810190602d908301843c60408101815101604052919050565b602081526000825180602084015260005b818110156101645760208186018101516040868401015201610147565b506000604082850101526040601f19601f83011684010191505092915050565b60008060006040848603121561019957600080fd5b83356001600160a01b03811681146101b057600080fd5b9250602084013567ffffffffffffffff8111156101cc57600080fd5b8401601f810186136101dd57600080fd5b803567ffffffffffffffff8111156101f457600080fd5b86602082840101111561020657600080fd5b93966020919091019550929350505056fea2646970667358221220c30430394fbaf0d4d4c912a3b6ce777e09203b6b60d5fd436e50b7e7cf0dbeb264736f6c634300081c0033",f=e=>e.length>1;class b extends a.ContractFactory{constructor(...e){f(e)?super(...e):super(r,i,e[0])}getDeployTransaction(e){return super.getDeployTransaction(e||{})}deploy(e){return super.deploy(e||{})}connect(e){return super.connect(e)}static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.FreeForAllCheckerFactory__factory=b,b.bytecode=i,b.abi=r}
1,17489:(e,t,n)=>{var a=n(91113);e.exports=function(e){var t=a(e,function(e){return 500===n.size&&n.clear(),e}),n=t.cache;return t}},17624:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MerkleProof__factory=void 0;var a=n(41368);Object.defineProperty(t,"MerkleProof__factory",{enumerable:!0,get:function(){return a.MerkleProof__factory}})},18489:(e,t,n)=>{var a=n(96294),r=n(72043),i=Object.prototype.hasOwnProperty;e.exports=function(e){if(!a(e))return r(e);var t=[];for(var n in Object(e))i.call(e,n)&&"constructor"!=n&&t.push(n);return t}},18490:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AnonAadhaarPolicyFactory__factory=void 0;let a=n(27653),r=[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"clone",type:"address"}],name:"CloneDeployed",type:"event"},{inputs:[],name:"IMPLEMENTATION",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"checkerAddress",type:"address"}],name:"deploy",outputs:[{internalType:"address",name:"clone",type:"address"}],stateMutability:"nonpayable",type:"function"}],i="0x60a0604052348015600f57600080fd5b50604051601a906046565b604051809103906000f0801580156035573d6000803e3d6000fd5b506001600160a01b03166080526053565b6109e3806102e183390190565b60805161026d6100746000396000818160400152610123015261026d6000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80633a4741bd1461003b5780634c96a3891461007e575b600080fd5b6100627f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b61006261008c36600461020e565b604080513360208201526001600160a01b0383168183015281518082038301815260609091019091526000906100c18161011c565b9150816001600160a01b0316638129fc1c6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156100fe57600080fd5b505af1158015610112573d6000803e3d6000fd5b5050505050919050565b60006101487f000000000000000000000000000000000000000000000000000000000000000083610184565b6040519091506001600160a01b038216907f2158cde9935cbf85d0b02e02fbc315ad0be2f3f017a603a2ebeedead21b8d60b90600090a2919050565b600061019260008484610199565b9392505050565b600060405182518060438301826020870160045afa506e5af43d82803e903d91602b57fd5bf360238301528460148301528060881b74fe61002d3d81600a3d39f3363d3d373d3d3d363d730182526037810161ffd38210600b01830187f092505050806101925763301164256000526004601cfd5b60006020828403121561022057600080fd5b81356001600160a01b038116811461019257600080fdfea2646970667358221220ed102a309bc2dadba6f280fb4c1fa0e965eb23d4d171292eefdf4d87dc27b03e64736f6c634300081c003360806040523380602957604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b6030816035565b50608e565b600080546001600160a01b03838116610100818102610100600160a81b0319851617855560405193049190911692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35050565b6109468061009d6000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c80637e164204116100715780637e164204146101595780638129fc1c1461016c5780638da5cb5b14610174578063b41a4b191461018a578063ce343deb1461019f578063f2fde38b146101c657600080fd5b8063158ef93e146100b95780631e898ef1146100db57806367644aab146100f0578063715018a61461011357806372f7a0301461011b578063776d1a0114610146575b600080fd5b6000546100c69060ff1681565b60405190151581526020015b60405180910390f35b6100ee6100e93660046105f3565b6101d9565b005b6100c66100fe36600461067a565b60036020526000908152604090205460ff1681565b6100ee610214565b60015461012e906001600160a01b031681565b6040516001600160a01b0390911681526020016100d2565b6100ee610154366004610693565b610228565b60025461012e906001600160a01b031681565b6100ee6102cb565b60005461010090046001600160a01b031661012e565b6101926102d3565b6040516100d291906106fd565b60408051808201909152600b81526a20b737b720b0b23430b0b960a91b6020820152610192565b6100ee6101d4366004610693565b6102e2565b6001546001600160a01b0316331461020457604051631f492dbf60e21b815260040160405180910390fd5b61020f838383610325565b505050565b61021c610396565b61022660006103c9565b565b610230610396565b6001600160a01b0381166102575760405163d92e233d60e01b815260040160405180910390fd5b6001546001600160a01b0316156102815760405163e0f2d7b160e01b815260040160405180910390fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040517f3bfb4bbf112628248058745a3c57e35b13369386e474b8e56c552f3063a4a19690600090a250565b610226610422565b60606102dd61047e565b905090565b6102ea610396565b6001600160a01b03811661031957604051631e4fbdf760e01b8152600060048201526024015b60405180910390fd5b610322816103c9565b50565b600061033382840184610792565b5050506000828152600360205260409020549193505060ff1615905061036c57604051633440c93360e21b815260040160405180910390fd5b6000818152600360205260409020805460ff19166001179055610390848484610489565b50505050565b6000546001600160a01b036101009091041633146102265760405163118cdaa760e01b8152336004820152602401610310565b600080546001600160a01b03838116610100818102610100600160a81b0319851617855560405193049190911692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35050565b61042a61056c565b600061043461047e565b90506000808280602001905181019061044d9190610841565b9150915061045a826103c9565b600280546001600160a01b0319166001600160a01b03929092169190911790555050565b60606102dd3061057d565b60025460405163e2b2408560e01b81526001600160a01b039091169063e2b24085906104bd908690869086906004016108a4565b602060405180830381865afa1580156104da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104fe91906108d2565b61051b57604051634715494560e01b815260040160405180910390fd5b6001546040516001600160a01b03918216918516907fc013b39287cb7a53f776482ac9573829321f002f31ef8782129b41d60047bda09061055f90869086906108f4565b60405180910390a3505050565b6105746105ac565b610226336103c9565b60405164ffffffffff602c19833b0116808252602090810190602d908301843c60408101815101604052919050565b60005460ff16156105cf5760405162dc149f60e41b815260040160405180910390fd5b6000805460ff19166001179055565b6001600160a01b038116811461032257600080fd5b60008060006040848603121561060857600080fd5b8335610613816105de565b9250602084013567ffffffffffffffff81111561062f57600080fd5b8401601f8101861361064057600080fd5b803567ffffffffffffffff81111561065757600080fd5b86602082840101111561066957600080fd5b939660209190910195509293505050565b60006020828403121561068c57600080fd5b5035919050565b6000602082840312156106a557600080fd5b81356106b0816105de565b9392505050565b6000815180845260005b818110156106dd576020818501810151868301820152016106c1565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006106b060208301846106b7565b604051601f8201601f1916810167ffffffffffffffff8111828210171561074757634e487b7160e01b600052604160045260246000fd5b604052919050565b600061010061075d81610710565b91508201818482111561076f57600080fd5b835b82811015610789578035825260209182019101610771565b50505092915050565b60008060008060008061020087890312156107ac57600080fd5b863595506020870135945060408701359350606087013592506000609f880189136107d5578081fd5b806107e06080610710565b905080915061010089018a8111156107f757600080fd5b60808a015b818110156108145780358452602093840193016107fc565b508194508a61011f8b011261082857600080fd5b6108328b8261074f565b93505050509295509295509295565b6000806040838503121561085457600080fd5b825161085f816105
1de565b6020840151909250610870816105de565b809150509250929050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b03841681526040602082018190526000906108c9908301848661087b565b95945050505050565b6000602082840312156108e457600080fd5b815180151581146106b057600080fd5b60208152600061090860208301848661087b565b94935050505056fea264697066735822122097d20d8e2190a83f962a95a66c1fdd630d216189f9cd4ba4995db1ee194661ae64736f6c634300081c0033",f=e=>e.length>1;class b extends a.ContractFactory{constructor(...e){f(e)?super(...e):super(r,i,e[0])}getDeployTransaction(e){return super.getDeployTransaction(e||{})}deploy(e){return super.deploy(e||{})}connect(e){return super.connect(e)}static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.AnonAadhaarPolicyFactory__factory=b,b.bytecode=i,b.abi=r},18495:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.generateVote=void 0;let a=n(68960),r=n(68681),i=n(15013);t.generateVote=({pollId:e,voteOptionIndex:t,salt:n,nonce:f,privateKey:b,stateIndex:s,voteWeight:o,coordinatorPublicKey:c,maxVoteOption:d,ephemeralKeypair:u,newPublicKey:l})=>{let p=new r.Keypair(b);if(t<0||t>d)throw Error("Invalid vote option index");if(s<1)throw Error("Invalid state index");if(f<0)throw Error("Invalid nonce");if(n&&!(0,i.validateSalt)(n))throw Error("Invalid salt");let y=n?BigInt(n):(0,a.generateRandomSalt)();if(e<0)throw Error("Invalid poll id");let m=u??new r.Keypair,h=new r.VoteCommand(s,l??p.publicKey,t,o,f,e,y),g=h.sign(b);return{message:h.encrypt(g,r.Keypair.generateEcdhSharedKey(m.privateKey,c)),ephemeralKeypair:m}}},18686:(e,t,n)=>{e.exports=n(83711)(n(82500),"Map")},19125:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ZupassChecker__factory=void 0;let a=n(27653),r=[{inputs:[],name:"AlreadyInitialized",type:"error"},{inputs:[],name:"InvalidEventId",type:"error"},{inputs:[],name:"InvalidProof",type:"error"},{inputs:[],name:"InvalidSigners",type:"error"},{inputs:[],name:"InvalidWatermark",type:"error"},{inputs:[{internalType:"address",name:"subject",type:"address"},{internalType:"bytes",name:"evidence",type:"bytes"}],name:"check",outputs:[{internalType:"bool",name:"checked",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"getAppendedBytes",outputs:[{internalType:"bytes",name:"appendedBytes",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"initialized",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"validEventId",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"validSigner1",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"validSigner2",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"verifier",outputs:[{internalType:"contract ZupassGroth16Verifier",name:"",type:"address"}],stateMutability:"view",type:"function"}],i="0x6080604052348015600f57600080fd5b5061075c8061001f6000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c80638f1d49a51161005b5780638f1d49a5146100fb5780639ed2c04e14610104578063b41a4b191461010d578063e2b240851461012257600080fd5b8063158ef93e1461008d5780632b7ac3f3146100af578063523c359d146100da5780638129fc1c146100f1575b600080fd5b60005461009a9060ff1681565b60405190151581526020015b60405180910390f35b6004546100c2906001600160a01b031681565b6040516001600160a01b0390911681526020016100a6565b6100e360015481565b6040519081526020016100a6565b6100f9610135565b005b6100e360035481565b6100e360025481565b61011561013f565b6040516100a6919061038f565b61009a6101303660046103f5565b61014e565b61013d610163565b565b60606101496101c6565b905090565b600061015b8484846101d1565b949350505050565b61016b61032e565b60006101756101c6565b905060008060008084806020019051810190610191919061047c565b600193909355600291909155600355600480546001600160a01b0319166001600160a01b039092169190911790555050505050565b606061014930610360565b6000808080806101e386880188610554565b93509350935093506001548160016026811061020157610201610639565b60200201511461022457604051630c93477d60e41b815260040160405180910390fd5b6002546101a082015114158061024157506003546101c082015114155b1561025f57604051635e231fff60e01b815260040160405180910390fd5b6104a08101516001600160a01b0389161461028d5760405163055e490360e01b815260040160405180910390fd5b60048054604051630418f25760e51b8152
16001600160a01b039091169163831e4ae0916102c291889188918891889101610678565b602060405180830381865afa1580156102df573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061030391906106fd565b610320576040516309bde33960e01b815260040160405180910390fd5b506001979650505050505050565b60005460ff16156103515760405162dc149f60e41b815260040160405180910390fd5b6000805460ff19166001179055565b60405164ffffffffff602c19833b0116808252602090810190602d908301843c60408101815101604052919050565b602081526000825180602084015260005b818110156103bd57602081860181015160408684010152016103a0565b506000604082850101526040601f19601f83011684010191505092915050565b6001600160a01b03811681146103f257600080fd5b50565b60008060006040848603121561040a57600080fd5b8335610415816103dd565b9250602084013567ffffffffffffffff81111561043157600080fd5b8401601f8101861361044257600080fd5b803567ffffffffffffffff81111561045957600080fd5b86602082840101111561046b57600080fd5b939660209190910195509293505050565b6000806000806080858703121561049257600080fd5b845160208601516040870151606088015192965090945092506104b4816103dd565b939692955090935050565b604051601f8201601f1916810167ffffffffffffffff811182821017156104f657634e487b7160e01b600052604160045260246000fd5b604052919050565b600082601f83011261050f57600080fd5b600061051b60406104bf565b905080604084018581111561052f57600080fd5b845b81811015610549578035835260209283019201610531565b509195945050505050565b6000806000806105c0858703121561056b57600080fd5b61057586866104fe565b935085605f86011261058657600080fd5b6040610591816104bf565b8060c08801898111156105a357600080fd5b8389015b818110156105c8576105b98b826104fe565b845260209093019284016105a7565b508196506105d68a826104fe565b9550505050506101008501600087601f8301126105f1578081fd5b806104c06105fe816104bf565b91508301818a82111561060f578384fd5b5b81851015610628578435815260209485019401610610565b509699959850939650929450505050565b634e487b7160e01b600052603260045260246000fd5b8060005b6002811015610672578151845260209384019390910190600101610653565b50505050565b6105c08101610687828761064f565b604082018560005b60028110156106b9576106a383835161064f565b604092909201916020919091019060010161068f565b5050506106c960c083018561064f565b61010082018360005b60268110156106f15781518352602092830192909101906001016106d2565b50505095945050505050565b60006020828403121561070f57600080fd5b8151801515811461071f57600080fd5b939250505056fea26469706673582212202191aa9b2bbcefddc5fcfb9b0962087ceb8f8d35e5eafe2e15387af9901762fd64736f6c634300081c0033",f=e=>e.length>1;class b extends a.ContractFactory{constructor(...e){f(e)?super(...e):super(r,i,e[0])}getDeployTransaction(e){return super.getDeployTransaction(e||{})}deploy(e){return super.deploy(e||{})}connect(e){return super.connect(e)}static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.ZupassChecker__factory=b,b.bytecode=i,b.abi=r},19229:(e,t,n)=>{var a=n(94380),r=n(48611);e.exports=function(e){return r(e)&&"[object Map]"==a(e)}},19266:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PoseidonT4__factory=void 0;let a=n(27653),r=[{inputs:[{internalType:"uint256[3]",name:"input",type:"uint256[3]"}],name:"poseidon",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"pure",type:"function"}],i="0x61011d610039600b82828239805160001a607314602c57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361060335760003560e01c806325cc70e8146038575b600080fd5b604960433660046071565b50600090565b60405190815260200160405180910390f35b634e487b7160e01b600052604160045260246000fd5b600060608284031215608257600080fd5b82601f830112609057600080fd5b6040516060810181811067ffffffffffffffff8211171560b05760b0605b565b60405280606084018581111560c457600080fd5b845b8181101560dc57803583526020928301920160c6565b50919594505050505056fea2646970667358221220480a65e291e9db602b5e70489a393df2b5bbaef8c15634166dd6462f9b5a6d0a64736f6c634300081c0033",f=e=>e.length>1;class b extends a.ContractFactory{constructor(...e){f(e)?super(...e):super(r,i,e[0])}getDeployTransaction(e){return super.getDeployTransaction(e||{})}deploy(e){return super.deploy(e||{})}connect(e){return super.connect(e)}static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.PoseidonT4__factory=b,b.bytecode=i,b.abi=r},19642:function(e,t,n){"use strict";var a,r=this&&this.__createBinding||(Object.create?function(e,t,n,a){void 0===a&&(a=n);var r=Object.getOwnPropertyDescriptor(t,n);
1(!r||("get"in r?!t.__esModule:r.writable||r.configurable))&&(r={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,a,r)}:function(e,t,n,a){void 0===a&&(a=n),e[a]=t[n]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),f=this&&this.__importStar||(a=function(e){return(a=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t})(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n=a(e),f=0;f<n.length;f++)"default"!==n[f]&&r(t,e,n[f]);return i(t,e),t});Object.defineProperty(t,"__esModule",{value:!0}),t.src=void 0,t.src=f(n(57715))},19759:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ERC20CheckerFactory__factory=void 0;let a=n(27653),r=[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"clone",type:"address"}],name:"CloneDeployed",type:"event"},{inputs:[],name:"IMPLEMENTATION",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_token",type:"address"},{internalType:"uint256",name:"_threshold",type:"uint256"}],name:"deploy",outputs:[{internalType:"address",name:"clone",type:"address"}],stateMutability:"nonpayable",type:"function"}],i="0x60a0604052348015600f57600080fd5b50604051601a906046565b604051809103906000f0801580156035573d6000803e3d6000fd5b506001600160a01b03166080526053565b610424806102f283390190565b60805161027e6100746000396000818160400152610125015261027e6000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80633a4741bd1461003b5780634956eaf01461007e575b600080fd5b6100627f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b61006261008c366004610210565b604080516001600160a01b038416602082015280820183905281518082038301815260609091019091526000906100c28161011e565b9150816001600160a01b0316638129fc1c6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156100ff57600080fd5b505af1158015610113573d6000803e3d6000fd5b505050505092915050565b600061014a7f000000000000000000000000000000000000000000000000000000000000000083610186565b6040519091506001600160a01b038216907f2158cde9935cbf85d0b02e02fbc315ad0be2f3f017a603a2ebeedead21b8d60b90600090a2919050565b60006101946000848461019b565b9392505050565b600060405182518060438301826020870160045afa506e5af43d82803e903d91602b57fd5bf360238301528460148301528060881b74fe61002d3d81600a3d39f3363d3d373d3d3d363d730182526037810161ffd38210600b01830187f092505050806101945763301164256000526004601cfd5b6000806040838503121561022357600080fd5b82356001600160a01b038116811461023a57600080fd5b94602093909301359350505056fea2646970667358221220185a38ed08c8bda5883b41eff57aa6938e9c39b112c8d420483fd76f718b28f164736f6c634300081c00336080604052348015600f57600080fd5b506104058061001f6000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c8063158ef93e1461006757806342cde4e8146100895780638129fc1c146100a0578063b41a4b19146100aa578063e2b24085146100bf578063fc0c546a146100d2575b600080fd5b6000546100749060ff1681565b60405190151581526020015b60405180910390f35b61009260015481565b604051908152602001610080565b6100a8610102565b005b6100b261010c565b604051610080919061029b565b6100746100cd366004610301565b61011b565b6000546100ea9061010090046001600160a01b031681565b6040516001600160a01b039091168152602001610080565b61010a610130565b565b606061011661018a565b905090565b6000610128848484610195565b949350505050565b61013861023a565b600061014261018a565b90506000808280602001905181019061015b9190610388565b600080546001600160a01b0390931661010002610100600160a81b031990931692909217909155600155505050565b60606101163061026c565b60008080546040516370a0823160e01b81526001600160a01b038781166004830152610100909204909116906370a0823190602401602060405180830381865afa1580156101e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061020b91906103b6565b9050600154811161022f576040516351940b3960e11b815260040160405180910390fd5b506001949350505050565b60005460ff161561025d5760405162dc149f60e41b815260040160405180910390fd5b6000805460ff19166001179055565b60405164ffffffffff602c19833b0116808252602090810190602d908301843c60408101815101604052919050565b602081526000825180602084015260005b818110156102c957602081860181015160408684010152016102ac565b506000604082850101526040601f19601f83011684010191505092915050565b6001600160a01b03811681146102fe57600080fd5b50565b60008060006040848603121561031657600080fd5b8335610321816102e9565b9250602084013567ffffffffffffffff81111561033d57600080fd5b8401601f8101861361034e57600080fd5b803567ffffffffffffffff81111561036557600080fd5b86602082840101111561037757600080fd5b939660209190910195509293505050565b6000806040838503121561039b57600080fd5b82516103a6816102e9565b6020939093015192949293505050565b6000602082840312156103c857600080fd5b505191905056fea26469706673582212205a89b1dcf5452b255bdbf7963680bb60835379b78df741c77cca67ed71671b3c64736f6c634300081c0033",f=e=>e.length>1;class b extends a.ContractFactory{constructor(...e){f(e)?super(...e):super(r,i,e[0])}getDeployTransaction(e){return super.getDeployTransaction(e||{})}deploy(e){return super.deploy(e||{})}connect(e){return super.connect(e)}static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.ERC20CheckerFactory__factory=b,b.bytecode=i,b.abi=r},20570:(e,t,n)=>{var a=n(24376),r=Object.prototype,i=r.hasOwnProperty,f=r.toString,b=a?a.toStringTag:void 0;e.exports=function(e){var t=i.call(e,b),n=e[b];try{e[b]=void 0;var a=!0}catch(e){}var r=f.call(e);return a&&(t?e[b]=n:delete e[b]),r}}
1,20772:(e,t,n)=>{var a=n(5518),r=n(35095);e.exports=function(e,t){return e&&a(t,r(t),e)}},20963:(e,t,n)=>{var a=n(65646),r=n(38649),i=n(35095);e.exports=function(e){return a(e,i,r)}},20988:(e,t,n)=>{var a=n(75899);e.exports=function(e,t){var n=this.__data__;return this.size+=+!this.has(e),n[e]=a&&void 0===t?"__lodash_hash_undefined__":t,this}},21687:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MerkleProofCheckerFactory__factory=void 0;let a=n(27653),r=[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"clone",type:"address"}],name:"CloneDeployed",type:"event"},{inputs:[],name:"IMPLEMENTATION",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"root",type:"bytes32"}],name:"deploy",outputs:[{internalType:"address",name:"clone",type:"address"}],stateMutability:"nonpayable",type:"function"}],i="0x60a0604052348015600f57600080fd5b50604051601a906046565b604051809103906000f0801580156035573d6000803e3d6000fd5b506001600160a01b03166080526053565b610518806102d183390190565b60805161025d61007460003960008181606f0152610123015261025d6000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80632b85ba381461003b5780633a4741bd1461006a575b600080fd5b61004e61004936600461020e565b610091565b6040516001600160a01b03909116815260200160405180910390f35b61004e7f000000000000000000000000000000000000000000000000000000000000000081565b600080826040516020016100a791815260200190565b60405160208183030381529060405290506100c18161011c565b9150816001600160a01b0316638129fc1c6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156100fe57600080fd5b505af1158015610112573d6000803e3d6000fd5b5050505050919050565b60006101487f000000000000000000000000000000000000000000000000000000000000000083610184565b6040519091506001600160a01b038216907f2158cde9935cbf85d0b02e02fbc315ad0be2f3f017a603a2ebeedead21b8d60b90600090a2919050565b600061019260008484610199565b9392505050565b600060405182518060438301826020870160045afa506e5af43d82803e903d91602b57fd5bf360238301528460148301528060881b74fe61002d3d81600a3d39f3363d3d373d3d3d363d730182526037810161ffd38210600b01830187f092505050806101925763301164256000526004601cfd5b60006020828403121561022057600080fd5b503591905056fea2646970667358221220c2b5f565a483bd874db2ca30c68e47ef9cc1df9f996ca96875de4945da60201964736f6c634300081c00336080604052348015600f57600080fd5b506104f98061001f6000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c8063158ef93e1461005c5780638129fc1c1461007e578063b41a4b1914610088578063e2b240851461009d578063ebf0c717146100b0575b600080fd5b6000546100699060ff1681565b60405190151581526020015b60405180910390f35b6100866100c7565b005b6100906100d1565b60405161007591906102d0565b6100696100ab36600461031e565b6100e0565b6100b960015481565b604051908152602001610075565b6100cf6100f5565b565b60606100db610145565b905090565b60006100ed848484610150565b949350505050565b6100fd6101e4565b6000610107610145565b905060008180602001905181019061011f91906103b1565b90508061013f5760405163504570e360e01b815260040160405180910390fd5b60015550565b60606100db30610216565b60008061015f838501856103e0565b604080516001600160a01b03881660208201529192506000910160408051601f19818403018152828252805160209182012090830152016040516020818303038152906040528051906020012090506101bb8260015483610245565b6101d8576040516309bde33960e01b815260040160405180910390fd5b50600195945050505050565b60005460ff16156102075760405162dc149f60e41b815260040160405180910390fd5b6000805460ff19166001179055565b60405164ffffffffff602c19833b0116808252602090810190602d908301843c60408101815101604052919050565b600082610252858461025b565b14949350505050565b600081815b84518110156102965761028c8286838151811061027f5761027f6104ad565b602002602001015161029e565b9150600101610260565b509392505050565b60008183106102ba5760008281526020849052604090206102c9565b60008381526020839052604090205b9392505050565b602081526000825180602084015260005b818110156102fe57602081860181015160408684010152016102e1565b506000604082850101526040601f19601f83011684010191505092915050565b60008060006040848603121561033357600080fd5b83356001600160a01b038116811461034a57600080fd5b9250602084013567ffffffffffffffff81111561036657600080fd5b8401601f8101861361037757600080fd5b803567ffffffffffffffff81111561038e57600080fd5b8660208284010111156103a057600080fd5b939660209190910195509293505050565b6000602082840312156103c357600080fd5b5051919050565b634e487b7160e01b600052604160045260246000fd5b6000602082840312156103f257600080fd5b813567ffffffffffffffff81111561040957600080fd5b8201601f8101841361041a57600080fd5b803567ffffffffffffffff811115610434576104346103ca565b8060051b604051601f19603f830116810181811067ffffffffffffffff82111715610461576104616103ca565b60405291825260208184018101929081018784111561047f57600080fd5b6020850194505b838510156104a257843580825260209586019590935001610486565b509695505050505050565b634e487b7160e01b600052603260045260246000fdfea2646970667358221220b69e445466d94f4516ee3a37b9080e454b285bc38677d8b1707e0e051bf4a60f64736f6c634300081c0033",f=e=>e.length>1;class b extends a.ContractFactory{constructor(...e){f(e)?super(...e):super(r,i,e[0])}getDeployTransaction(e){return super.getDeployTransaction(e||{})}deploy(e){return super.deploy(e||{})}connect(e){return super.connect(e)}static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.MerkleProofCheckerFactory__factory=b,b.bytecode=i,b.abi=r},21790:(e,t,n)=>{var a=n(54360);e.exports=function(e,t){var n=this.__data__,r=a(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this}}
1,22143:(e,t,n)=>{var a=n(98233),r=n(48611);e.exports=function(e){return r(e)&&"[object Arguments]"==a(e)}},22471:(e,t,n)=>{var a=n(40139),r=n(15631);e.exports=function(e){return null!=e&&r(e.length)&&!a(e)}},23219:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Factory__factory=t.Clone__factory=void 0;var a=n(2014);Object.defineProperty(t,"Clone__factory",{enumerable:!0,get:function(){return a.Clone__factory}});var r=n(5175);Object.defineProperty(t,"Factory__factory",{enumerable:!0,get:function(){return r.Factory__factory}})},24012:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IInitialVoiceCreditProxy__factory=void 0;let a=n(27653),r=[{inputs:[{internalType:"address",name:"_user",type:"address"},{internalType:"bytes",name:"_data",type:"bytes"}],name:"getVoiceCredits",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"}];class i{static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.IInitialVoiceCreditProxy__factory=i,i.abi=r},24035:(e,t,n)=>{e=n.nmd(e);var a=n(82500),r=t&&!t.nodeType&&t,i=r&&e&&!e.nodeType&&e,f=i&&i.exports===r?a.Buffer:void 0,b=f?f.allocUnsafe:void 0;e.exports=function(e,t){if(t)return e.slice();var n=e.length,a=b?b(n):new e.constructor(n);return e.copy(a),a}},24149:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LibClone__factory=void 0;let a=n(27653),r=[{inputs:[],name:"DeploymentFailed",type:"error"},{inputs:[],name:"ETHTransferFailed",type:"error"},{inputs:[],name:"SaltDoesNotStartWith",type:"error"}],i="0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220c465de42dc286487acd5ea4499d4281e9bfa9bc1a238f99ddaddb89d08d56c3264736f6c634300081c0033",f=e=>e.length>1;class b extends a.ContractFactory{constructor(...e){f(e)?super(...e):super(r,i,e[0])}getDeployTransaction(e){return super.getDeployTransaction(e||{})}deploy(e){return super.deploy(e||{})}connect(e){return super.connect(e)}static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.LibClone__factory=b,b.bytecode=i,b.abi=r},24163:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MACI__factory=void 0;let a=n(27653),r=[{inputs:[{internalType:"contract IPollFactory",name:"_pollFactory",type:"address"},{internalType:"contract IMessageProcessorFactory",name:"_messageProcessorFactory",type:"address"},{internalType:"contract ITallyFactory",name:"_tallyFactory",type:"address"},{internalType:"contract IBasePolicy",name:"_signUpPolicy",type:"address"},{internalType:"uint8",name:"_stateTreeDepth",type:"uint8"},{internalType:"uint256[5]",name:"_emptyBallotRoots",type:"uint256[5]"}],stateMutability:"payable",type:"constructor"},{inputs:[],name:"InvalidPublicKey",type:"error"},{inputs:[],name:"LeafAlreadyExists",type:"error"},{inputs:[],name:"LeafCannotBeZero",type:"error"},{inputs:[],name:"LeafGreaterThanSnarkScalarField",type:"error"},{inputs:[{internalType:"uint256",name:"pollId",type:"uint256"}],name:"PollDoesNotExist",type:"error"},{inputs:[],name:"PoseidonHashLibrariesNotLinked",type:"error"},{inputs:[],name:"TooManySignups",type:"error"},{inputs:[],name:"UserNotSignedUp",type:"error"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"_pollId",type:"uint256"},{indexed:!0,internalType:"uint256",name:"_coordinatorPublicKeyX",type:"uint256"},{indexed:!0,internalType:"uint256",name:"_coordinatorPublicKeyY",type:"uint256"},{indexed:!1,internalType:"enum DomainObjs.Mode",name:"_mode",type:"uint8"}],name:"DeployPoll",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"_stateIndex",type:"uint256"},{indexed:!1,internalType:"uint256",name:"_timestamp",type:"uint256"},{indexed:!0,internalType:"uint256",name:"_userPublicKeyX",type:"uint256"},{indexed:!0,internalType:"uint256",name:"_userPublicKeyY",type:"uint256"}],name:"SignUp",type:"event"},{inputs:[],name:"MESSAGE_DATA_LENGTH",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[{components:[{internalType:"uint256",name:"startDate",type:"uint256"},{internalType:"uint256",name:"endDate",type:"uint256"},{components:[{internalType:"uint8",name:"tallyProcessingStateTreeDepth",type:"uint8"},{internalType:"uint8",name:"voteOptionTreeDepth",type:"uint8"},{internalType:"uint8",name:"stateTreeDepth",type:"uint8"}],internalType:"struct Params.TreeDepths",name:"treeDepths",type:"tuple"},{internalType:"uint8",name:"messageBatchSize",type:"uint8"},{components:[{internalType:"uint256",name:"x",type:"uint256"},{internalType:"uint256",name:"y",type:"uint256"}],internalType:"struct DomainObjs.PublicKey",name:"coordinatorPublicKey",type:"tuple"},{internalType:"address",name:"verifier",type:"address"},{internalType:"address",name:"verifyingKeysRegistry",type:"address"},{internalType:"enum DomainObjs.Mode",name:"mode",type:"uint8"},{internalType:"address",name:"policy",type:"address"},{internalType:"address",name:"initialVoiceCreditProxy",type:"address"},{internalType:"address[]",name:"relayers",type:"address[]"},{internalType:"uint256",name:"voteOptions",type:"uint256"}],internalType:"struct IMACI.DeployPollArgs",name:"args",type:"tuple"}],name:"deployPoll",outputs:[{components:[{internalType:"address",name:"poll",type:"address"},{internalType:"address",name:"messageProcessor",type:"address"},{internalType:"address",name:"tally",type:"address"}],internalType:"struct IMACI.PollContracts",name:"",type:"tuple"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"emptyBallotRoots",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_pollId",type:"uint256"}],name:"getPoll",outputs:[{components:[{internalType:"address",name:"poll",type:"address"},{internalType:"address",name:"messageProcessor",type:"address"},{internalType:"address",name:"tally",type:"address"}],internalType:"struct IMACI.PollContracts",name:"pollContracts",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_publicKeyHash",type:"uint256"}],name:"getStateIndex",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_index",type:"uint256"}],name:"getStateRootOnIndexedSignUp",outputs:[{internalType:"uint256",name:"stateRoot",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getStateTreeRoot",outputs:[{internalType:"uint256",name:"root",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256[2]",name:"array",type:"uint256[2]"}],name:"hash2",outputs:[{internalType:"uint256",name:"result",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"uint256[3]",name:"array",type:"uint256[3]"}],name:"hash3",outputs:[{internalType:"uint256",name:"result",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"uint256[4]",name:"array",type:"uint256[4]"}],name:"hash4",outputs:[{internalType:"uint256",name:"result",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"uint256[5]",name:"array",type:"uint256[5]"}],name:"hash5",outputs:[{internalType:"uint256",name:"result",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"uint256",name:"left",type:"uint256"},{internalType:"uint256",name:"right",type:"uint256"}],name:"hashLeftRight",outputs:[{internalType:"uint256",name:"result",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[],name:"leanIMTData",outputs:[{internalType:"uint256",name:"size",type:"uint256"},{internalType:"uint256",name:"depth",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"maxSignups",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"messageProcessorFactory",outputs:[{internalType:"contract IMessageProcessorFactory",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"nextPollId",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"pollFactory",outputs:[{internalType:"contract IPollFactory",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"polls",outputs:[{internalType:"address",name:"poll",type:"address"},{internalType:"address",name:"messageProcessor",type:"address"},{internalType:"address",name:"tally",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256[]",name:"array",type:"uint256[]"}],name:"sha256Hash",outputs:[{internalType:"uint256",name:"result",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{components:[{internalType:"uint256",name:"x",type:"uint256"},{internalType:"uint256",name:"y",type:"uint256"}],internalType:"struct DomainObjs.PublicKey",name:"_publicKey",type:"tuple"},{internalType:"bytes",name:"_signUpPolicyData",type:"bytes"}],name:"signUp",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"signUpPolicy",outputs:[{internalType:"contract IBasePolicy",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"stateRootsOnSignUp",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"stateTreeDepth",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[],name:"tallyFactory",outputs:[{internalType:"contract ITallyFactory",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"totalSignups",outputs:[{internalType:"uint256",name:"signUps",type:"uint256"}],stateMutability:"view",type:"function"}],i="0x61014060405260405161215e38038061215e833981016040819052610023916103e2565b61003c600760008051602061213e83398151915261010f565b50600b805460018101825560009190915260008051602061213e8339815191527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db9909101556001600160a01b0380871660c05285811660e0528481166101005283166101205260ff821660808190526100b69060026105c5565b60a0526100c66000826005610361565b5060408051808201909152600180825260208201526100e4906102e6565b60000361010457604051633d7ba68560e21b815260040160405180910390fd5b50505050505061064e565b60007f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018210610151576040516361c0541760e11b815260040160405180910390fd5b81600003610172576040516314b48df160e11b815260040160405180910390fd5b6000828152600384016020526040902054156101a1576040516312c50cad60e11b815260040160405180910390fd5b8254600180850154906101b59083906105d8565b6001821b10156101cb576101c8816105eb565b90505b600185018190558360005b828110156102a8578084901c60011660010361028c57604080518082018252600083815260028a01602090815290839020548252810184905290516314d2f97b60e11b815273__$6574937f64fc1d7710ec0e28b7a36713bb$__916329a5f2f6916102449190600401610604565b602060405180830381865af4158015610261573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102859190610635565b91506102a0565b600081815260028801602052604090208290555b6001016101d6565b506102b2836105eb565b8087556000928352600287016020908152604080852084905587855260038901909152909220919091559150505b92915050565b6040516314d2f97b60e11b815260009073__$6574937f64fc1d7710ec0e28b7a36713bb$__906329a5f2f690610320908590600401610604565b602060405180830381865af415801561033d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102e09190610635565b826005810192821561038f579160200282015b8281111561038f578251825591602001919060010190610374565b5061039b92915061039f565b5090565b5b8082111
1561039b57600081556001016103a0565b6001600160a01b03811681146103c957600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60008060008060008061014087890312156103fc57600080fd5b8651610407816103b4565b6020880151909650610418816103b4565b6040880151909550610429816103b4565b606088015190945061043a816103b4565b608088015190935060ff8116811461045157600080fd5b915060bf8701881361046257600080fd5b60405160a081016001600160401b0381118282101715610484576104846103cc565b6040528061014089018a81111561049a57600080fd5b60a08a015b818110156104b757805183526020928301920161049f565b505050809150509295509295509295565b634e487b7160e01b600052601160045260246000fd5b6001815b6001841115610519578085048111156104fd576104fd6104c8565b600184161561050b57908102905b60019390931c9280026104e2565b935093915050565b600082610530575060016102e0565b8161053d575060006102e0565b8160018114610553576002811461055d57610579565b60019150506102e0565b60ff84111561056e5761056e6104c8565b50506001821b6102e0565b5060208310610133831016604e8410600b841016171561059c575081810a6102e0565b6105a960001984846104de565b80600019048211156105bd576105bd6104c8565b029392505050565b60006105d18383610521565b9392505050565b808201808211156102e0576102e06104c8565b6000600182016105fd576105fd6104c8565b5060010190565b60408101818360005b600281101561062c57815183526020928301929091019060010161060d565b50505092915050565b60006020828403121561064757600080fd5b5051919050565b60805160a05160c05160e0516101005161012051611a7e6106c060003960008181610417015261059c0152600081816102ea0152610b1901526000818161017d0152610a7401526000818161023201526109e101526000818161043e0152610519015260006103110152611a7e6000f3fe608060405234801561001057600080fd5b50600436106101735760003560e01c806362a361bb116100de578063ac2f007411610097578063c1103da011610071578063c1103da0146103ff578063cffca67614610412578063df82635a14610439578063fc6bb9941461046057600080fd5b8063ac2f007414610373578063b87802c8146103d9578063bea140b3146103ec57600080fd5b806362a361bb146102d257806362b31f1e146102e5578063652c76e41461030c578063683f3dc3146103455780637d9f541c1461034d5780639cfced971461036057600080fd5b8063423f3e1911610130578063423f3e191461026757806349716ebf1461027e5780634984b8941461029157806358bfc379146102a45780635ae9d4f1146102b75780635bb93995146102bf57600080fd5b8063055575eb146101785780631a8cbcaa146101bc5780632b7865711461020157806330c5072814610218578063343393b51461022d5780633dfb88b214610254575b600080fd5b61019f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b6101cf6101ca366004611002565b610483565b6040805182516001600160a01b03908116825260208085015182169083015292820151909216908201526060016101b3565b61020a60055481565b6040519081526020016101b3565b61022b6102263660046110db565b610514565b005b61019f7f000000000000000000000000000000000000000000000000000000000000000081565b61020a610262366004611187565b6106b7565b60085460009081526009602052604090205461020a565b61020a61028c366004611002565b610738565b61020a61029f366004611002565b610779565b61020a6102b2366004611213565b61079a565b60075461020a565b61020a6102cd3660046112ae565b610822565b61020a6102e03660046112d0565b610847565b61019f7f000000000000000000000000000000000000000000000000000000000000000081565b6103337f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff90911681526020016101b3565b610333600a81565b6101cf61035b36600461143b565b610881565b61020a61036e366004611561565b610c8b565b6103af610381366004611002565b6006602052600090815260409020805460018201546002909201546001600160a01b03918216928216911683565b604080516001600160a01b03948516815292841660208401529216918101919091526060016101b3565b61020a6103e7366004611002565b610cc5565b61020a6103fa3660046115a4565b610cdc565b61020a61040d366004611002565b610d16565b61019f7f000000000000000000000000000000000000000000000000000000000000000081565b61020a7f000000000000000000000000000000000000000000000000000000000000000081565b60075460085461046e919082565b604080519283526020830191909152016101b3565b604080516060810182526000808252602082018190529181019190915260055482106104c95760405163a86ecdd560e01b81526004810183905260240160405180910390fd5b50600090815260066020908152604091829020825160608101845281546001600160a01b03908116825260018301548116938201939093526002909101549091169181019190915290565b6007547f0000000000000000000000000000000000000000000000000000000000000000116105565760405163b984588b60e01b815260040160405180910390fd5b61056882600001518360200151610d3d565b6105855760405163145a1fdd60e31b815260040160405180910390fd5b604051631e898ef160e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690631e898ef1906105d3903390859060040161160b565b600060405180830381600087803b1580156105ed57600080fd5b505af1158015610601573d6000803e3d6000fd5b50505050600061061983600001518460200151610822565b90506000610628600783610de7565b600b8054600181810183556000929092527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db90182905560208601518651600754939450909290917f8a7b66ad10ac10c434142aadc63725213863fe31458b701f452d43de8a19b0d99161069b9190611663565b604080519182524260208301520160405180910390a350505050565b60405163248f667760e01b815260009073__$ce9c2
1c925f157047e54fa833ec4e61409f$__9063248f6677906106f1908590600401611676565b602060405180830381865af415801561070e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061073291906116a7565b92915050565b6000818152600a602052604081205480820361076757604051632cb4506160e21b815260040160405180910390fd5b610772600182611663565b9392505050565b600b818154811061078957600080fd5b600091825260209091200154905081565b6000600080516020611a298339815191526002836040516020016107be91906116c0565b60408051601f19818403018152908290526107d8916116f6565b602060405180830381855afa1580156107f5573d6000803e3d6000fd5b5050506040513d601f19601f8201168201806040525081019061081891906116a7565b6107329190611728565b600061082c610fe4565b8381526020810183905261083f81610847565b949350505050565b6040516314d2f97b60e11b815260009073__$6574937f64fc1d7710ec0e28b7a36713bb$__906329a5f2f6906106f1908590600401611760565b60408051606081018252600080825260208201819052918101919091526005805460018101909155608083015180516020909101516108c09190610d3d565b6108dd5760405163145a1fdd60e31b815260040160405180910390fd5b60006040518060a00160405280306001600160a01b031681526020018560a001516001600160a01b031681526020018560c001516001600160a01b031681526020018561010001516001600160a01b031681526020018561012001516001600160a01b031681525090506000604051806101400160405280866000015181526020018660200151815260200186604001518152602001866060015160ff16815260200186608001518152602001838152602001600060018860400151602001516109a79190611788565b60ff16600581106109ba576109ba61174a565b015481526020018481526020018661014001518152602001866101600151815250905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634b332c20836040518263ffffffff1660e01b8152600401610a2b91906117e6565b6020604051808303816000875af1158015610a4a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a6e91906118ee565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166338fa9c568860a001518960c00151858b60e001516040518563ffffffff1660e01b8152600401610ad0949392919061192d565b6020604051808303816000875af1158015610aef573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b1391906118ee565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663363448738960a001518a60c0015186868d60e001516040518663ffffffff1660e01b8152600401610b77959493929190611963565b6020604051808303816000875af1158015610b96573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bba91906118ee565b604080516060810182526001600160a01b038087168252858116602080840191825282861684860190815260008d815260068352869020855181549086166001600160a01b031991821617825593516001820180549187169186169190911790559051600290910180549190941692169190911790915560808c015190810151905160e08d01519351949550919390927f38b2d18bb65cc91d7b436014cf44c8298b13bee60cc18d9e8efec26d1df3189091610c77918c91611998565b60405180910390a398975050505050505050565b604051630926f44b60e31b815260009073__$20527677031d76601747626a9845039fe4$__90634937a258906106f19085906004016119ac565b60008160058110610cd557600080fd5b0154905081565b6040516304b98e1d60e31b815260009073__$dc01a9744591ab014bc46a3b7671cdaefb$__906325cc70e8906106f19085906004016119d4565b6000600b8281548110610d2b57610d2b61174a565b90600052602060002001549050919050565b600080600080516020611a2983398151915284850990506000600080516020611a2983398151915284850990506000600080516020611a2983398151915282600080516020611a2983398151915285620292fc090890506000600080516020611a298339815191528084600080516020611a2983398151915287620292f809096001089050610ddb8282600080516020611a29833981519152610fa9565b15979650505050505050565b6000600080516020611a298339815191528210610e17576040516361c0541760e11b815260040160405180910390fd5b81600003610e38576040516314b48df160e11b815260040160405180910390fd5b600082815260038401602052604090205415610e67576040516312c50cad60e11b815260040160405180910390fd5b825460018085015490610e7b9083906119fc565b6001821b1015610e9157610e8e81611a0f565b90505b600185018190558360005b82811015610f6e578084901c600116600103610f5257604080518082018252600083815260028a01602090815290839020548252810184905290516314d2f97b60e11b815273__$6574937f64fc1d7710ec0e28b7a36713bb$__916329a5f2f691610f0a9190600401611760565b602060405180830381865af4158015610f27573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f4b91906116a7565b9150610f66565b600081815260028801602052604090208290555b600101610e9c565b50610f7883611a0f565b8087556000928352600287016020908152604080852084905596845260039097019096529390209390935550919050565b600083838111610fc057610fbd83826119fc565b90505b8280610fce57610fce611712565b6000610fda8684611663565b0895945050505050565b60405180604001604052806002906020820280368337509192915050565b60006020828403121561101457600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b604051610180810167ffffffffffffffff811182821017156110555761105561101b565b60405290565b604051601f8201601f1916810167ffffffffffffffff811182821017156110845761108461101b565b604052919050565b60006040828403121561109e5
17600080fd5b6040805190810167ffffffffffffffff811182821017156110c1576110c161101b565b604052823581526020928301359281019290925250919050565b600080606083850312156110ee57600080fd5b6110f8848461108c565b9150604083013567ffffffffffffffff81111561111457600080fd5b8301601f8101851361112557600080fd5b803567ffffffffffffffff81111561113f5761113f61101b565b611152601f8201601f191660200161105b565b81815286602083850101111561116757600080fd5b816020840160208301376000602083830101528093505050509250929050565b60006080828403121561119957600080fd5b600083601f8401126111a9578081fd5b806111b4608061105b565b905080915060808401858111156111ca57600080fd5b845b818110156111e45780358452602093840193016111cc565b509095945050505050565b600067ffffffffffffffff8211156112095761120961101b565b5060051b60200190565b60006020828403121561122557600080fd5b813567ffffffffffffffff81111561123c57600080fd5b8201601f8101841361124d57600080fd5b803561126061125b826111ef565b61105b565b8082825260208201915060208360051b85010192508683111561128257600080fd5b6020840193505b828410156112a4578335825260209384019390910190611289565b9695505050505050565b600080604083850312156112c157600080fd5b50508035926020909101359150565b6000604082840312156112e257600080fd5b600083601f8401126112f2578081fd5b806112fd604061105b565b905080915060408401858111156111ca57600080fd5b803560ff8116811461132457600080fd5b919050565b60006060828403121561133b57600080fd5b6040516060810167ffffffffffffffff8111828210171561135e5761135e61101b565b60405290508061136d83611313565b815261137b60208401611313565b602082015261138c60408401611313565b60408201525092915050565b6001600160a01b03811681146113ad57600080fd5b50565b803561132481611398565b80356003811061132457600080fd5b600082601f8301126113db57600080fd5b81356113e961125b826111ef565b8082825260208201915060208360051b86010192508583111561140b57600080fd5b602085015b8381101561143157803561142381611398565b835260209283019201611410565b5095945050505050565b60006020828403121561144d57600080fd5b813567ffffffffffffffff81111561146457600080fd5b82016101e0818503121561147757600080fd5b61147f611031565b813581526020808301359082015261149a8560408401611329565b60408201526114ab60a08301611313565b60608201526114bd8560c0840161108c565b60808201526114cf61010083016113b0565b60a08201526114e161012083016113b0565b60c08201526114f361014083016113bb565b60e082015261150561016083016113b0565b61010082015261151861018083016113b0565b6101208201526101a082013567ffffffffffffffff81111561153957600080fd5b611545868285016113ca565b610140830152506101c091909101356101608201529392505050565b600060a0828403121561157357600080fd5b600083601f840112611583578081fd5b8061158e60a061105b565b905080915060a08401858111156111ca57600080fd5b6000606082840312156115b657600080fd5b600083601f8401126115c6578081fd5b806115d1606061105b565b905080915060608401858111156111ca57600080fd5b60005b838110156116025781810151838201526020016115ea565b50506000910152565b60018060a01b038316815260406020820152600082518060408401526116388160608501602087016115e7565b601f01601f1916919091016060019392505050565b634e487b7160e01b600052601160045260246000fd5b818103818111156107325761073261164d565b60808101818360005b600481101561169e57815183526020928301929091019060010161167f565b50505092915050565b6000602082840312156116b957600080fd5b5051919050565b8151600090829060208501835b828110156116eb5781518452602093840193909101906001016116cd565b509195945050505050565b600082516117088184602087016115e7565b9190910192915050565b634e487b7160e01b600052601260045260246000fd5b60008261174557634e487b7160e01b600052601260045260246000fd5b500690565b634e487b7160e01b600052603260045260246000fd5b60408101818360005b600281101561169e578151835260209283019290910190600101611769565b60ff82811682821603908111156107325761073261164d565b600081518084526020840193506020830160005b828110156117dc5781516001600160a01b03168652602095860195909101906001016117b5565b5093949350505050565b6020815281516020820152602082015160408201526000604083015161182f606084018260ff815116825260ff602082015116602083015260ff60408201511660408301525050565b50606083015160ff811660c0840152506080830151805160e084015260208101516101008401525060a083015180516001600160a01b039081166101208501526020820151811661014085015260408201518116610160850152606082015181166101808501526080820151166101a08401525060c08301516101c083015260e08301516101e08301526101008301516102206102008401526118d66102408401826117a1565b90506101208401516102208401528091505092915050565b60006020828403121561190057600080fd5b815161077281611398565b6003811061192957634e487b7160e01b600052602160045260246000fd5b9052565b6001600160a01b0385811682528481166020830152831660408201526080810161195a606083018461190b565b95945050505050565b6001600160a01b0386811682528581166020830152848
111660408301528316606082015260a081016112a4608083018461190b565b82815260408101610772602083018461190b565b60a08101818360005b600581101561169e5781518352602092830192909101906001016119b5565b60608101818360005b600381101561169e5781518352602092830192909101906001016119dd565b808201808211156107325761073261164d565b600060018201611a2157611a2161164d565b506001019056fe30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001a2646970667358221220b05e5793aafbe15d9c6a2be6ebaf6dac3720e40c08e380164228e76a29d0090664736f6c634300081c003302e5032e6745f142152719c9b1c7f4790cf2b265e9060346a64791186aeae9d6",f=e=>"string"==typeof e[0]||Array.isArray(e[0])||"_isInterface"in e[0];class b extends a.ContractFactory{constructor(...e){if(f(e))super(...e);else{let[t,n]=e;super(r,b.linkBytecode(t),n)}}static linkBytecode(e){let t=i;return(t=(t=(t=t.replace(RegExp("__\\$6574937f64fc1d7710ec0e28b7a36713bb\\$__","g"),e["contracts/crypto/PoseidonT3.sol:PoseidonT3"].replace(/^0x/,"").toLowerCase())).replace(RegExp("__\\$ce9c2c925f157047e54fa833ec4e61409f\\$__","g"),e["contracts/crypto/PoseidonT5.sol:PoseidonT5"].replace(/^0x/,"").toLowerCase())).replace(RegExp("__\\$20527677031d76601747626a9845039fe4\\$__","g"),e["contracts/crypto/PoseidonT6.sol:PoseidonT6"].replace(/^0x/,"").toLowerCase())).replace(RegExp("__\\$dc01a9744591ab014bc46a3b7671cdaefb\\$__","g"),e["contracts/crypto/PoseidonT4.sol:PoseidonT4"].replace(/^0x/,"").toLowerCase())}getDeployTransaction(e,t,n,a,r,i,f){return super.getDeployTransaction(e,t,n,a,r,i,f||{})}deploy(e,t,n,a,r,i,f){return super.deploy(e,t,n,a,r,i,f||{})}connect(e){return super.connect(e)}static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.MACI__factory=b,b.bytecode=i,b.abi=r},24376:(e,t,n)=>{e.exports=n(82500).Symbol},25269:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IMessageProcessor__factory=void 0;let a=n(27653),r=[{inputs:[{internalType:"uint256",name:"_currentMessageBatchIndex",type:"uint256"},{internalType:"uint256",name:"_newSbCommitment",type:"uint256"},{internalType:"uint256",name:"_outputBatchHash",type:"uint256"}],name:"getPublicCircuitInputs",outputs:[{internalType:"uint256[]",name:"",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"processingComplete",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"sbCommitment",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"}];class i{static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.IMessageProcessor__factory=i,i.abi=r},26151:e=>{e.exports=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=!!t,t}},26333:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MockToken__factory=void 0;let a=n(27653),r=[{inputs:[],stateMutability:"payable",type:"constructor"},{inputs:[{internalType:"address",name:"sender",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"address",name:"owner",type:"address"}],name:"ERC721IncorrectOwner",type:"error"},{inputs:[{internalType:"address",name:"operator",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"ERC721InsufficientApproval",type:"error"},{inputs:[{internalType:"address",name:"approver",type:"address"}],name:"ERC721InvalidApprover",type:"error"},{inputs:[{internalType:"address",name:"operator",type:"address"}],name:"ERC721InvalidOperator",type:"error"},{inputs:[{internalType:"address",name:"owner",type:"address"}],name:"ERC721InvalidOwner",type:"error"},{inputs:[{internalType:"address",name:"receiver",type:"address"}],name:"ERC721InvalidReceiver",type:"error"},{inputs:[{internalType:"address",name:"sender",type:"address"}],name:"ERC721InvalidSender",type:"error"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"ERC721NonexistentToken",type:"error"},{inputs:[{internalType:"address",name:"owner",type:"address"}],name:"OwnableInvalidOwner",type:"error"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"OwnableUnauthorizedAccount",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"approved",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!1,internalType:"bool",name:"approved",type:"bool"}],name:"ApprovalForAll",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Transfer",type:"event"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"approve",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"getApproved",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"curTokenId",type:"uint256"}],name:"giveToken",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"operator",type:"address"}],name:"isApprovedForAll",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"ownerOf",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"safeTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"}],name:"safeTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"operator",type:"address"},{internalType:"bool",name:"approved",type:"bool"}],name:"setApprovalForAll",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"tokenURI",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"transferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"}],i="0x600960808181526826b7b1b5aa37b5b2b760b91b60a081905261010060405260c092835260e052339160006100348382610172565b5060016100418282610172565b5050506001600160a01b03811661007257604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b61007b81610081565b50610230565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806100fd57607f821691505b60208210810361011d57634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111561016d57806000526020600020601f840160051c8101602085101561014a5750805b601f840160051c820191505b8181101561016a5760008155600101610156565b50505b505050565b81516001600160401b0381111561018b5761018b6100d3565b61019f8161019984546100e9565b84610123565b6020601f8211600181146101d357600083156101bb5750848201515b600019600385901b1c1916600184901b17845561016a565b600084815260208120601f198516915b8281101561020357878501518255602094850194600190920191016101e3565b50848210156102215786840151600019600387901b60f8161c191681555b50505050600190811b01905550565b6110a98061023f6000396000f3fe608060405234801561001057600080fd5b506004361061010b5760003560e01c806370a08231116100a2578063a22cb46511610071578063a22cb4651461021b578063b88d4fde1461022e578063c87b56dd14610241578063e985e9c514610254578063f2fde38b1461026757600080fd5b806370a08231146101d9578063715018a6146101fa5780638da5cb5b1461020257806395d89b411461021357600080fd5b8063193f974c116100de578063193f974c1461018d57806323b872dd146101a057806342842e0e146101b35780636352211e146101c657600080fd5b806301ffc9a71461011057806306fdde0314610138578063081812fc1461014d578063095ea7b314610178575b600080fd5b61012361011e366004610d10565b61027a565b
160405190151581526020015b60405180910390f35b6101406102cc565b60405161012f9190610d7d565b61016061015b366004610d90565b61035e565b6040516001600160a01b03909116815260200161012f565b61018b610186366004610dc5565b610387565b005b61018b61019b366004610dc5565b610396565b61018b6101ae366004610def565b6103a8565b61018b6101c1366004610def565b610438565b6101606101d4366004610d90565b610458565b6101ec6101e7366004610e2c565b610463565b60405190815260200161012f565b61018b6104ab565b6006546001600160a01b0316610160565b6101406104bf565b61018b610229366004610e47565b6104ce565b61018b61023c366004610e99565b6104d9565b61014061024f366004610d90565b6104f1565b610123610262366004610f7d565b610566565b61018b610275366004610e2c565b610594565b60006001600160e01b031982166380ac58cd60e01b14806102ab57506001600160e01b03198216635b5e139f60e01b145b806102c657506301ffc9a760e01b6001600160e01b03198316145b92915050565b6060600080546102db90610fb0565b80601f016020809104026020016040519081016040528092919081815260200182805461030790610fb0565b80156103545780601f1061032957610100808354040283529160200191610354565b820191906000526020600020905b81548152906001019060200180831161033757829003601f168201915b5050505050905090565b6000610369826105d2565b506000828152600460205260409020546001600160a01b03166102c6565b61039282823361060b565b5050565b61039e610618565b6103928282610645565b6001600160a01b0382166103d757604051633250574960e11b8152600060048201526024015b60405180910390fd5b60006103e48383336106aa565b9050836001600160a01b0316816001600160a01b031614610432576040516364283d7b60e01b81526001600160a01b03808616600483015260248201849052821660448201526064016103ce565b50505050565b610453838383604051806020016040528060008152506104d9565b505050565b60006102c6826105d2565b60006001600160a01b03821661048f576040516322718ad960e21b8152600060048201526024016103ce565b506001600160a01b031660009081526003602052604090205490565b6104b3610618565b6104bd60006107a3565b565b6060600180546102db90610fb0565b6103923383836107f5565b6104e48484846103a8565b6104323385858585610894565b60606104fc826105d2565b50600061051460408051602081019091526000815290565b90506000815111610534576040518060200160405280600081525061055f565b8061053e846109bf565b60405160200161054f929190610fea565b6040516020818303038152906040525b9392505050565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b61059c610618565b6001600160a01b0381166105c657604051631e4fbdf760e01b8152600060048201526024016103ce565b6105cf816107a3565b50565b6000818152600260205260408120546001600160a01b0316806102c657604051637e27328960e01b8152600481018490526024016103ce565b6104538383836001610a52565b6006546001600160a01b031633146104bd5760405163118cdaa760e01b81523360048201526024016103ce565b6001600160a01b03821661066f57604051633250574960e11b8152600060048201526024016103ce565b600061067d838360006106aa565b90506001600160a01b03811615610453576040516339e3563760e11b8152600060048201526024016103ce565b6000828152600260205260408120546001600160a01b03908116908316156106d7576106d7818486610b58565b6001600160a01b03811615610715576106f4600085600080610a52565b6001600160a01b038116600090815260036020526040902080546000190190555b6001600160a01b03851615610744576001600160a01b0385166000908152600360205260409020805460010190555b60008481526002602052604080822080546001600160a01b0319166001600160a01b0389811691821790925591518793918516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4949350505050565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b03821661082757604051630b61174360e31b81526001600160a01b03831660048201526024016103ce565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6001600160a01b0383163b156109b857604051630a85bd0160e11b81526001600160a01b0384169063150b7a02906108d6908890889087908790600401611019565b6020604051808303816000875af1925050508015610911575060408051601f3d908101601f1916820190925261090e91810190611056565b60015b61097a573d80801561093f576040519150601f19603f3d011682016040523d82523d6000602084013e610944565b606091505b50805160000361097257604051633250574960e11b81526001600160a01b03851660048201526024016103ce565b805160208201fd5b6001600160e01b03198116630a85bd0160e11b146109b657604051633250574960e11b81526001600160a01b03851660048201526024016103ce565b505b5050505050565b606060006109cc83610bbc565b600101905060008167ffffffffffffffff8111156109ec576109ec610e83565b6040519080825280601f01601f191660200182016040528015610a16576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084610a2057509392505050565b8080610a6657506001600160a01b03821615155b15610b28576000610a76846105d2565b90506001600160a01b03831615801590610aa25750826001600160a01b0316816001600160a01b031614155b8015610ab55750610ab38184610566565b155b15610ade5760405163a9fbf51f60e01b81526001600160a01b03841660048201526024016103ce565b8115610b265783856001600160a01b0316826001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b505b5050600090815260046020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b610b63838383610c94565b610453576001600160a01b038316610b9157604051637e27328960e01b8152600481018290526024016103ce565b60405163177e802f60e01b81526001600160a01b0383166004820152602481018290526044016103ce565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310610bfb5772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310610c27576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310610c4557662386f26fc10000830492506010015b6305f5e1008310610c5d576305f5e100830492506008015b6127108310610c7157612710830492506004015b60648310610c83576064830492506002015b600a83
1106102c65760010192915050565b60006001600160a01b03831615801590610cf25750826001600160a01b0316846001600160a01b03161480610cce5750610cce8484610566565b80610cf257506000828152600460205260409020546001600160a01b038481169116145b949350505050565b6001600160e01b0319811681146105cf57600080fd5b600060208284031215610d2257600080fd5b813561055f81610cfa565b60005b83811015610d48578181015183820152602001610d30565b50506000910152565b60008151808452610d69816020860160208601610d2d565b601f01601f19169290920160200192915050565b60208152600061055f6020830184610d51565b600060208284031215610da257600080fd5b5035919050565b80356001600160a01b0381168114610dc057600080fd5b919050565b60008060408385031215610dd857600080fd5b610de183610da9565b946020939093013593505050565b600080600060608486031215610e0457600080fd5b610e0d84610da9565b9250610e1b60208501610da9565b929592945050506040919091013590565b600060208284031215610e3e57600080fd5b61055f82610da9565b60008060408385031215610e5a57600080fd5b610e6383610da9565b915060208301358015158114610e7857600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b60008060008060808587031215610eaf57600080fd5b610eb885610da9565b9350610ec660208601610da9565b925060408501359150606085013567ffffffffffffffff811115610ee957600080fd5b8501601f81018713610efa57600080fd5b803567ffffffffffffffff811115610f1457610f14610e83565b604051601f8201601f19908116603f0116810167ffffffffffffffff81118282101715610f4357610f43610e83565b604052818152828201602001891015610f5b57600080fd5b8160208401602083013760006020838301015280935050505092959194509250565b60008060408385031215610f9057600080fd5b610f9983610da9565b9150610fa760208401610da9565b90509250929050565b600181811c90821680610fc457607f821691505b602082108103610fe457634e487b7160e01b600052602260045260246000fd5b50919050565b60008351610ffc818460208801610d2d565b835190830190611010818360208801610d2d565b01949350505050565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061104c90830184610d51565b9695505050505050565b60006020828403121561106857600080fd5b815161055f81610cfa56fea2646970667358221220ebe1ebd9ad9c8acf672a097635f8e166236c7d359e0751efc09545f048df7f7164736f6c634300081c0033",f=e=>e.length>1;class b extends a.ContractFactory{constructor(...e){f(e)?super(...e):super(r,i,e[0])}getDeployTransaction(e){return super.getDeployTransaction(e||{})}deploy(e){return super.deploy(e||{})}connect(e){return super.connect(e)}static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.MockToken__factory=b,b.bytecode=i,b.abi=r},26475:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IGitcoinPassportDecoder__factory=t.GitcoinPassportPolicyFactory__factory=t.GitcoinPassportPolicy__factory=t.GitcoinPassportCheckerFactory__factory=t.GitcoinPassportChecker__factory=void 0;var a=n(68885);Object.defineProperty(t,"GitcoinPassportChecker__factory",{enumerable:!0,get:function(){return a.GitcoinPassportChecker__factory}});var r=n(52989);Object.defineProperty(t,"GitcoinPassportCheckerFactory__factory",{enumerable:!0,get:function(){return r.GitcoinPassportCheckerFactory__factory}});var i=n(58285);Object.defineProperty(t,"GitcoinPassportPolicy__factory",{enumerable:!0,get:function(){return i.GitcoinPassportPolicy__factory}});var f=n(7016);Object.defineProperty(t,"GitcoinPassportPolicyFactory__factory",{enumerable:!0,get:function(){return f.GitcoinPassportPolicyFactory__factory}});var b=n(58031);Object.defineProperty(t,"IGitcoinPassportDecoder__factory",{enumerable:!0,get:function(){return b.IGitcoinPassportDecoder__factory}})},26545:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ERC165__factory=void 0;let a=n(27653),r=[{inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"}];class i{static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.ERC165__factory=i,i.abi=r},27212:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IBaseChecker__factory=void 0;let a=n(27653),r=[{inputs:[{internalType:"address",name:"subject",type:"address"},{internalType:"bytes",name:"evidence",type:"bytes"}],name:"check",outputs:[{internalType:"bool",name:"checked",type:"bool"}],stateMutability:"view",type:"function"}];
1class i{static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.IBaseChecker__factory=i,i.abi=r},27232:(e,t,n)=>{var a=n(34711),r=n(37929);e.exports=function(e,t){return t.length<2?e:a(e,r(t,0,-1))}},27498:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Utilities__factory=t.DomainObjs__factory=void 0;var a=n(57828);Object.defineProperty(t,"DomainObjs__factory",{enumerable:!0,get:function(){return a.DomainObjs__factory}});var r=n(13458);Object.defineProperty(t,"Utilities__factory",{enumerable:!0,get:function(){return r.Utilities__factory}})},27819:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EASCheckerFactory__factory=void 0;let a=n(27653),r=[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"clone",type:"address"}],name:"CloneDeployed",type:"event"},{inputs:[],name:"IMPLEMENTATION",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"eas",type:"address"},{internalType:"address",name:"attester",type:"address"},{internalType:"bytes32",name:"schema",type:"bytes32"}],name:"deploy",outputs:[{internalType:"address",name:"clone",type:"address"}],stateMutability:"nonpayable",type:"function"}],i="0x60a0604052348015600f57600080fd5b50604051601a906046565b604051809103906000f0801580156035573d6000803e3d6000fd5b506001600160a01b03166080526053565b61072b8061031d83390190565b6080516102a9610074600039600081816040015261013001526102a96000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80633a4741bd1461003b578063b03110791461007e575b600080fd5b6100627f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b61006261008c366004610237565b604080516001600160a01b03858116602083015284168183015260608082018490528251808303909101815260809091019091526000906100cc81610129565b9150816001600160a01b0316638129fc1c6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561010957600080fd5b505af115801561011d573d6000803e3d6000fd5b50505050509392505050565b60006101557f000000000000000000000000000000000000000000000000000000000000000083610191565b6040519091506001600160a01b038216907f2158cde9935cbf85d0b02e02fbc315ad0be2f3f017a603a2ebeedead21b8d60b90600090a2919050565b600061019f600084846101a6565b9392505050565b600060405182518060438301826020870160045afa506e5af43d82803e903d91602b57fd5bf360238301528460148301528060881b74fe61002d3d81600a3d39f3363d3d373d3d3d363d730182526037810161ffd38210600b01830187f0925050508061019f5763301164256000526004601cfd5b80356001600160a01b038116811461023257600080fd5b919050565b60008060006060848
1603121561024c57600080fd5b6102558461021b565b92506102636020850161021b565b915060408401359050925092509256fea2646970667358221220e8a3ccc69a0cadcd9cc18a4d6bd98169622aaa6f7134812397ae46a57df7503464736f6c634300081c00336080604052348015600f57600080fd5b5061070c8061001f6000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80638150864d1161005b5780638150864d146100d9578063b41a4b19146100f1578063e2b2408514610106578063f8895cc81461011957600080fd5b8063158ef93e1461008257806347b0c3b3146100a45780638129fc1c146100cf575b600080fd5b60005461008f9060ff1681565b60405190151581526020015b60405180910390f35b6002546100b7906001600160a01b031681565b6040516001600160a01b03909116815260200161009b565b6100d7610130565b005b6000546100b79061010090046001600160a01b031681565b6100f961013a565b60405161009b91906103b2565b61008f6101143660046103fd565b610149565b61012260015481565b60405190815260200161009b565b61013861015e565b565b60606101446101ce565b905090565b60006101568484846101d9565b949350505050565b61016661032d565b60006101706101ce565b905060008060008380602001905181019061018b9190610484565b60008054610100600160a81b0319166101006001600160a01b0395861602179055600280546001600160a01b031916929093169190911790915560015550505050565b60606101443061035f565b6000806101e8838501856104c8565b600080546040516328c44a9960e21b81526004810184905292935090916101009091046001600160a01b03169063a3112a6490602401600060405180830381865afa15801561023b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261026391908101906105dc565b905060015481602001511461028b57604051635f9bd90760e11b815260040160405180910390fd5b60025460e08201516001600160a01b039081169116146102be5760405163cd74a32b60e01b815260040160405180910390fd5b608081015167ffffffffffffffff16156102eb57604051637b6227e960e11b815260040160405180910390fd5b856001600160a01b03168160c001516001600160a01b03161461032157604051633f97208360e11b815260040160405180910390fd5b50600195945050505050565b60005460ff16156103505760405162dc149f60e41b815260040160405180910390fd5b6000805460ff19166001179055565b60405164ffffffffff602c19833b0116808252602090810190602d908301843c60408101815101604052919050565b60005b838110156103a9578181015183820152602001610391565b50506000910152565b60208152600082518060208401526103d181604085016020870161038e565b601f01601f19169190910160400192915050565b6001600160a01b03811681146103fa57600080fd5b50565b60008060006040848603121561041257600080fd5b833561041d816103e5565b9250602084013567ffffffffffffffff81111561043957600080fd5b8401601f8101861361044a57600080fd5b803567ffffffffffffffff81111561046157600080fd5b86602082840101111561047357600080fd5b939660209190910195509293505050565b60008060006060848
1603121561049957600080fd5b83516104a4816103e5565b60208501519093506104b5816103e5565b6040949094015192959394509192915050565b6000602082840312156104da57600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b604051610140810167ffffffffffffffff8111828210171561051b5761051b6104e1565b60405290565b805167ffffffffffffffff8116811461053957600080fd5b919050565b8051610539816103e5565b8051801515811461053957600080fd5b600082601f83011261056a57600080fd5b815167ffffffffffffffff811115610584576105846104e1565b604051601f8201601f19908116603f0116810167ffffffffffffffff811182821017156105b3576105b36104e1565b6040528181528382016020018510156105cb57600080fd5b61015682602083016020870161038e565b6000602082840312156105ee57600080fd5b815167ffffffffffffffff81111561060557600080fd5b8201610140818503121561061857600080fd5b6106206104f7565b815181526020808301519082015261063a60408301610521565b604082015261064b60608301610521565b606082015261065c60808301610521565b608082015260a0828101519082015261067760c0830161053e565b60c082015261068860e0830161053e565b60e082015261069a6101008301610549565b61010082015261012082015167ffffffffffffffff8111156106bb57600080fd5b6106c786828501610559565b6101208301525094935050505056fea264697066735822122063346c72a5946266d80557e5a890d70b0e279551d67f1b702d09d721a6c4092364736f6c634300081c0033",f=e=>e.length>1;class b extends a.ContractFactory{constructor(...e){f(e)?super(...e):super(r,i,e[0])}getDeployTransaction(e){return super.getDeployTransaction(e||{})}deploy(e){return super.deploy(e||{})}connect(e){return super.connect(e)}static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.EASCheckerFactory__factory=b,b.bytecode=i,b.abi=r},27943:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ERC20VotesPolicyFactory__factory=t.ERC20VotesPolicy__factory=t.ERC20VotesCheckerFactory__factory=t.ERC20VotesChecker__factory=void 0;var a=n(91235);Object.defineProperty(t,"ERC20VotesChecker__factory",{enumerable:!0,get:function(){return a.ERC20VotesChecker__factory}});var r=n(50871);Object.defineProperty(t,"ERC20VotesCheckerFactory__factory",{enumerable:!0,get:function(){return r.ERC20VotesCheckerFactory__factory}});var i=n(9900);Object.defineProperty(t,"ERC20VotesPolicy__factory",{enumerable:!0,get:function(){return i.ERC20VotesPolicy__factory}});var f=n(30894);Object.defineProperty(t,"ERC20VotesPolicyFactory__factory",{enumerable:!0,get:function(){return f.ERC20VotesPolicyFactory__factory}})},28581:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MockGitcoinPassportDecoder__factory=void 0;let a=n(27653),r=[{inputs:[{internalType:"uint256",name:"newScore",type:"uint256"}],name:"changeScore",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_user",type:"address"}],name:"getScore",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"score",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"}],i="0x6080604052348015600f57600080fd5b5060fb8061001e6000396000f3fe6080604052348015600f57600080fd5b5060043610603c5760003560e01c806329044119146041578063d47875d0146053578063efedc669146077575b600080fd5b6051604c366004607f565b600055565b005b606
15605e3660046097565b5060005490565b60405190815260200160405180910390f35b606560005481565b600060208284031215609057600080fd5b5035919050565b60006020828403121560a857600080fd5b81356001600160a01b038116811460be57600080fd5b939250505056fea2646970667358221220359b3660d08185045889af17c1244d8c3adec8f464e0c0de53a5fae113b6eb8264736f6c634300081c0033",f=e=>e.length>1;class b extends a.ContractFactory{constructor(...e){f(e)?super(...e):super(r,i,e[0])}getDeployTransaction(e){return super.getDeployTransaction(e||{})}deploy(e){return super.deploy(e||{})}connect(e){return super.connect(e)}static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.MockGitcoinPassportDecoder__factory=b,b.bytecode=i,b.abi=r},28662:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IPolicy__factory=void 0;let a=n(27653),r=[{inputs:[],name:"AlreadyEnforced",type:"error"},{inputs:[],name:"TargetAlreadySet",type:"error"},{inputs:[],name:"TargetNotSet",type:"error"},{inputs:[],name:"TargetOnly",type:"error"},{inputs:[],name:"UnsuccessfulCheck",type:"error"},{inputs:[],name:"ZeroAddress",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"guarded",type:"address"}],name:"TargetSet",type:"event"},{inputs:[{internalType:"address",name:"_guarded",type:"address"}],name:"setTarget",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"trait",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"pure",type:"function"}];class i{static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.IPolicy__factory=i,i.abi=r},28667:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IERC20__factory=void 0;let a=n(27653),r=[{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"spender",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Transfer",type:"event"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"spender",type:"address"}],name:"allowance",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"approve",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"transfer",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"transferFrom",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"}];class i{static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.IERC20__factory=i,i.abi=r},28897:(e,t,n)=>{var a=n(54906);e.exports=function(e,t,n){"__proto__"==t&&a?a(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n}},29147:(e,t,n)=>{var a=n(77969);e.exports=function(e){return(null==e?0:e.length)?a(e,1):[]}},29592:(e,t,n)=>{"use strict";n.d(t,{vA:()=>s,MR:()=>o,dd:()=>c,SP:()=>u,gk:()=>l,E:()=>f,bJ:()=>i,xz:()=>b});var a=n(50797);function r(e,t){if(null==e)return"null";if(null==t&&(t=new Set),"object"==typeof e){if(t.has(e))return"[Circular]";t.add(e)}if(Array.isArray(e))return"[ "+e.map(e=>r(e,t)).join(", ")+" ]";if(e instanceof Uint8Array){let t="0123456789abcdef",n="0x";for(let a=0;a<e.length;a++)n+=t[e[a]>>4],n+=t[15&e[a]];return n}if("object"==typeof e&&"function"==typeof e.toJSON)return r(e.toJSON(),t);switch(typeof e){case"boolean":case"number":case"symbol":return e.toString();case"bigint":return BigInt(e).toString();case"string":return JSON.stringify(e);case"object":{let n=Object.keys(e);return n.sort(),"{ "+n.map(n=>`${r(n,t)}: ${r(e[n],t)}`).join(", ")+" }"}}return"[ COULD NOT SERIALIZE ]"}function i(e,t){return e&&e.code===t}function f(e){return i(e,"CALL_EXCEPTION")}function b(e,t,n){let i,f=e;{let a=[];if(n){if("message"in n||"code"in n||"name"in n)throw Error(`value will over
1write populated values: ${r(n)}`);for(let e in n){if("shortMessage"===e)continue;let t=n[e];a.push(e+"="+r(t))}}a.push(`code=${t}`),a.push("version=6.15.0"),a.length&&(e+=" ("+a.join(", ")+")")}switch(t){case"INVALID_ARGUMENT":i=TypeError(e);break;case"NUMERIC_FAULT":case"BUFFER_OVERRUN":i=RangeError(e);break;default:i=Error(e)}return(0,a.n)(i,{code:t}),n&&Object.assign(i,n),null==i.shortMessage&&(0,a.n)(i,{shortMessage:f}),i}function s(e,t,n,a){if(!e)throw b(t,n,a)}function o(e,t,n,a){s(e,t,"INVALID_ARGUMENT",{argument:n,value:a})}function c(e,t,n){null==n&&(n=""),n&&(n=": "+n),s(e>=t,"missing argument"+n,"MISSING_ARGUMENT",{count:e,expectedCount:t}),s(e<=t,"too many arguments"+n,"UNEXPECTED_ARGUMENT",{count:e,expectedCount:t})}let d=["NFD","NFC","NFKD","NFKC"].reduce((e,t)=>{try{if("test"!=="test".normalize(t))throw Error("bad");if("NFD"===t){let e=String.fromCharCode(233).normalize("NFD"),t=String.fromCharCode(101,769);if(e!==t)throw Error("broken")}e.push(t)}catch(e){}return e},[]);function u(e){s(d.indexOf(e)>=0,"platform missing String.prototype.normalize","UNSUPPORTED_OPERATION",{operation:"String.prototype.normalize",info:{form:e}})}function l(e,t,n){if(null==n&&(n=""),e!==t){let e=n,t="new";n&&(e+=".",t+=" "+n),s(!1,`private constructor; use ${e}from* methods`,"UNSUPPORTED_OPERATION",{operation:t})}}},30152:(e,t,n)=>{var a=n(31598),r=n(18686),i=n(88748);e.exports=function(e,t){var n=this.__data__;if(n instanceof a){var f=n.__data__;if(!r||f.length<199)return f.push([e,t]),this.size=++n.size,this;n=this.__data__=new i(f)}return n.set(e,t),this.size=n.size,this}},30373:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Policy__factory=t.BasePolicy__factory=void 0;var a=n(40940);Object.defineProperty(t,"BasePolicy__factory",{enumerable:!0,get:function(){return a.BasePolicy__factory}});var r=n(77755);Object.defineProperty(t,"Policy__factory",{enumerable:!0,get:function(){return r.Policy__factory}})},30699:e=>{e.exports=function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}},30894:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ERC20VotesPolicyFactory__factory=void 0;let a=n(27653),r=[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"clone",type:"address"}],name:"CloneDeployed",type:"event"},{inputs:[],name:"IMPLEMENTATION",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_checkerAddress",type:"address"}],name:"deploy",outputs:[{internalType:"address",name:"clone",type:"address"}],stateMutability:"nonpayable",type:"function"}],i="0x60a0604052348015600f57600080fd5b50604051601a906046565b604051809103906000f0801580156035573d6000803e3d6000fd5b506001600160a01b03166080526053565b61088f806102e183390190565b60805161026d6100746000396000818160400152610123015261026d6000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80633a4741bd1461003b5780634c96a3891461007e575b600080fd5b6100627f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b61006261008c36600461020e565b604080513360208201526001600160a01b0383168183015281518082038301815260609091019091526000906100c18161011c565b9150816001600160a01b0316638129fc1c6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156100fe57600080fd5b505af1158015610112573d6000803e3d6000fd5b5050505050919050565b60006101487f000000000000000000000000000000000000000000000000000000000000000083610184565b6040519091506001600160a01b038216907f2158cde9935cbf85d0b02e02fbc315ad0be2f3f017a603a2ebeedead21b8d60b90600090a2919050565b600061019260008484610199565b9392505050565b600060405182518060438301826020870160045afa506e5af43d82803e903d91602b57fd5bf360238301528460148301528060881b74fe61002d3d81600a3d39f3363d3d373d3d3d363d730182526037810161ffd38210600b01830187f092505050806101925763301164256000526004601cfd5b60006020828403121561022057600080fd5b81356001600160a01b038116811461019257600080fdfea2646970667358221220a01d54a91008700169cb204e0634862496dd183ff60abdc25c078fde14a2856e64736f6c634300081c003360806040523380602957604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b6030816035565b50608e565b600080546001600160a01b03838116610100818102610100600160a81b0319851617855560405193049190911692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35050565b6107f28061009d6000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c80638129fc1c116100715780638129fc1c146101495780638da5cb5b14610151578063b41a4b1914610167578063ce343deb1461017c578063d9456531146101a2578063f2fde38b146101c557600080fd5b8063158ef93e146100b95780631e898ef1146100db578063715018a6146100f057806372f7a030146100f8578063776d1a01146101235780637e16420414610136575b600080fd5b6000546100c69060ff1681565b60405190151581526020015b60405180910390f35b6100ee6100e93660046105e9565b6101d8565b005b6100ee610213565b60015461010b906001600160a01b031681565b6040516001600160a01b0390911681526020016100d256
15b6100ee610131366004610670565b610227565b60025461010b906001600160a01b031681565b6100ee6102ca565b60005461010090046001600160a01b031661010b565b61016f6102d2565b6040516100d291906106da565b60408051808201909152600a8152694552433230566f74657360b01b602082015261016f565b6100c66101b0366004610670565b60036020526000908152604090205460ff1681565b6100ee6101d3366004610670565b6102e1565b6001546001600160a01b0316331461020357604051631f492dbf60e21b815260040160405180910390fd5b61020e838383610324565b505050565b61021b61038c565b61022560006103bf565b565b61022f61038c565b6001600160a01b0381166102565760405163d92e233d60e01b815260040160405180910390fd5b6001546001600160a01b0316156102805760405163e0f2d7b160e01b815260040160405180910390fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040517f3bfb4bbf112628248058745a3c57e35b13369386e474b8e56c552f3063a4a19690600090a250565b610225610418565b60606102dc610474565b905090565b6102e961038c565b6001600160a01b03811661031857604051631e4fbdf760e01b8152600060048201526024015b60405180910390fd5b610321816103bf565b50565b6001600160a01b03831660009081526003602052604090205460ff161561035e57604051633440c93360e21b815260040160405180910390fd5b6001600160a01b0383166000908152600360205260409020805460ff1916600117905561020e83838361047f565b6000546001600160a01b036101009091041633146102255760405163118cdaa760e01b815233600482015260240161030f565b600080546001600160a01b03838116610100818102610100600160a81b0319851617855560405193049190911692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35050565b610420610562565b600061042a610474565b90506000808280602001905181019061044391906106ed565b91509150610450826103bf565b600280546001600160a01b0319166001600160a01b03929092169190911790555050565b60606102dc30610573565b60025460405163e2b2408560e01b81526001600160a01b039091169063e2b24085906104b390869086908690600401610750565b602060405180830381865afa1580156104d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104f4919061077e565b61051157604051634715494560e01b815260040160405180910390fd5b6001546040516001600160a01b03918216918516907fc013b39287cb7a53f776482ac9573829321f002f31ef8782129b41d60047bda09061055590869086906107a0565b60405180910390a3505050565b61056a6105a2565b610225336103bf565b60405164ffffffffff602c19833b0116808252602090810190602d908301843c60408101815101604052919050565b60005460ff16156105c55760405162dc149f60e41b815260040160405180910390fd5b6000805460ff19166001179055565b6001600160a01b038116811461032157600080fd5b6000806000604084860312156105fe57600080fd5b8335610609816105d4565b9250602084013567ffffffffffffffff81111561062557600080fd5b8401601f8101861361063657600080fd5b803567ffffffffffffffff81111561064d57600080fd5b86602082840101111561065f57600080fd5b939660209190910195509293505050565b60006020828403121561068257600080fd5b813561068d816105d4565b9392505050565b6000815180845260005b818110156106ba5760208185018101518683018201520161069e565b506000602082860101526020601f19601f83011685010191505092915050565b60208152600061068d6020830184610694565b6000806040838503121561070057600080fd5b825161070b816105d4565b602084015190925061071c816105d4565b809150509250929050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b03841681526040602082018190526000906107759083018486610727565b95945050505050565b60006020828403121561079057600080fd5b8151801515811461068d57600080fd5b6020815260006107b4602083018486610727565b94935050505056fea2646970667358221220b0017ac4c5a5dc1c3978a14d3ac2d6abc1f4ba4d04ee8fc12ca2ecaeb9951d9e64736f6c634300081c0033",f=e=>e.length>1;class b extends a.ContractFactory{constructor(...e){f(e)?super(...e):super(r,i,e[0])}getDeployTransaction(e){return super.getDeployTransaction(e||{})}deploy(e){return super.deploy(e||{})}connect(e){return super.connect(e)}static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.ERC20VotesPolicyFactory__factory=b,b.bytecode=i,b.abi=r},31031:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IVerifier__factory=void 0;let a=n(27653),r=[{inputs:[{internalType:"uint256[8]",name:"_proof",type:"uint256[8]"},{components:[{components:[{internalType:"uint256",name:"x",type:"uint256"},{internalType:"uint256",name:"y",type:"uint256"}],internalType:"struct Pairing.G1Point",name:"alpha1",type:"tuple"},{components:[{internalType:"uint256[2]",name:"x",type:"uint256[2]"},{internalType:"uint256[2]",name:"y",type:"uint256[2]"}],internalType:"struct Pairing.G2Point",name:"beta2",type:"tuple"},{components:[{internalType:"uint256[2]",name:"x",type:"uint256[2]"},{internalType:"uint256[2]",name:"y",type:"uint256[2]"}],internalType:"struct Pairing.G2Point",name:"gamma2",type:"tuple"},{components:[{internalType:"uint256[2]",name:"x",type:"uint256[2]"},{internalType:"uint256[2]",name:"y",type:"uint256[2]"}],internalType:"struct Pairing.G2Point",name:"delta2",type:"tuple"},{components:[{internalType:"uint256",name:"x",type:"uint256"},{internalType:"uint256",name:"y",type:"uint256"}],internalType:"struct Pairing.G1Point[]",name:"ic",type:"tuple[]"}],internalType:"struct SnarkCommon.VerifyingKey",name:"verifyingKey",type:"tuple"},{internalType:"uint256[]",name:"inputs",type:"uint256[]"}],name:"verify",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"}];
1class i{static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.IVerifier__factory=i,i.abi=r},31545:(e,t,n)=>{var a=n(75899);e.exports=function(){this.__data__=a?a(null):{},this.size=0}},31598:(e,t,n)=>{var a=n(31887),r=n(90929),i=n(45170),f=n(61830),b=n(21790);function s(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var a=e[t];this.set(a[0],a[1])}}s.prototype.clear=a,s.prototype.delete=r,s.prototype.get=i,s.prototype.has=f,s.prototype.set=b,e.exports=s},31881:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ITally__factory=void 0;let a=n(27653),r=[{inputs:[{components:[{internalType:"uint256[]",name:"voteOptionIndices",type:"uint256[]"},{internalType:"uint256[]",name:"tallyResults",type:"uint256[]"},{internalType:"uint256[][][]",name:"tallyResultProofs",type:"uint256[][][]"},{internalType:"uint256",name:"totalSpent",type:"uint256"},{internalType:"uint256",name:"totalSpentSalt",type:"uint256"},{internalType:"uint256",name:"tallyResultSalt",type:"uint256"},{internalType:"uint256",name:"newResultsCommitment",type:"uint256"},{internalType:"uint256",name:"spentVoiceCreditsHash",type:"uint256"},{internalType:"uint256",name:"perVOSpentVoiceCreditsHash",type:"uint256"}],internalType:"struct ITally.AddTallyResultsArgs",name:"args",type:"tuple"}],name:"addTallyResults",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_batchStartIndex",type:"uint256"},{internalType:"uint256",name:"_newTallyCommitment",type:"uint256"}],name:"getPublicCircuitInputs",outputs:[{internalType:"uint256[]",name:"publicInputs",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"index",type:"uint256"}],name:"getTallyResults",outputs:[{components:[{internalType:"uint256",name:"value",type:"uint256"},{internalType:"bool",name:"isSet",type:"bool"}],internalType:"struct ITally.TallyResult",name:"",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[],name:"isTallied",outputs:[{internalType:"bool",name:"tallied",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"sbCommitment",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"tallyBatchNum",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"tallyCommitment",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_newTallyCommitment",type:"uint256"},{internalType:"uint256[8]",name:"_proof",type:"uint256[8]"}],name:"tallyVotes",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"totalSpent",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"totalTallyResults",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"updateSbCommitment",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_voteOptionIndex",type:"uint256"},{internalType:"uint256",name:"_spent",type:"uint256"},{internalType:"uint256[][]",name:"_spentProof",type:"uint256[][]"},{internalType:"uint256",name:"_spentSalt",type:"uint256"},{internalType:"uint8",name:"_voteOptionTreeDepth",type:"uint8"},{internalType:"uint256",name:"_spentVoiceCreditsHash",type:"uint256"},{internalType:"uint256",name:"_resultCommitment",type:"uint256"}],name:"verifyPerVoteOptionSpentVoiceCredits",outputs:[{internalType:"bool",name:"isValid",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_totalSpent",type:"uint256"},{internalType:"uint256",name:"_totalSpentSalt",type:"uint256"},{internalType:"uint256",name:"_resultCommitment",type:"uint256"},{internalType:"uint256",name:"_perVoteOptionSpentVoiceCreditsHash",type:"uint256"}],name:"verifySpentVoiceCredits",outputs:[{internalType:"bool",name:"isValid",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_batchStartIndex",type:"uint256"},{internalType:"uint256",name:"_newTallyCommitment",type:"uint256"},{internalType:"uint256[8]",name:"_proof",type:"uint256[8]"}],name:"verifyTallyProof",outputs:[{internalType:"bool",name:"isValid",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_voteOptionIndex",type:"uint256"},{internalType:"uint256",name:"_tallyResult",type:"uint256"},{internalType:"uint256[][]",name:"_tallyResultProof",type:"uint256[][]"},{internalType:"uint256",name:"_tallyResultSalt",type:"uint256"},{internalType:"uint8",name:"_voteOptionTreeDepth",type:"uint8"},{internalType:"uint256",name:"_spentVoiceCreditsHash",type:"uint256"},{internalType:"uint256",name:"_perVoteOptionSpentVoiceCreditsHash",type:"uint256"}],name:"verifyTallyResult",outputs:[{internalType:"bool",name:"isValid",type:"bool"}],stateMutability:"view",type:"function"}];
1class i{static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.ITally__factory=i,i.abi=r},31887:e=>{e.exports=function(){this.__data__=[],this.size=0}},31913:(e,t,n)=>{var a=n(29147),r=n(64588),i=n(61632);e.exports=function(e){return i(r(e,void 0,a),e+"")}},32515:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MerkleProofChecker__factory=void 0;let a=n(27653),r=[{inputs:[],name:"AlreadyInitialized",type:"error"},{inputs:[],name:"InvalidProof",type:"error"},{inputs:[],name:"InvalidRoot",type:"error"},{inputs:[{internalType:"address",name:"subject",type:"address"},{internalType:"bytes",name:"evidence",type:"bytes"}],name:"check",outputs:[{internalType:"bool",name:"checked",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"getAppendedBytes",outputs:[{internalType:"bytes",name:"appendedBytes",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"initialized",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"root",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"}],i="0x6080604052348015600f57600080fd5b506104f98061001f6000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c8063158ef93e1461005c5780638129fc1c1461007e578063b41a4b1914610088578063e2b240851461009d578063ebf0c717146100b0575b600080fd5b6000546100699060ff1681565b60405190151581526020015b60405180910390f35b6100866100c7565b005b6100906100d1565b60405161007591906102d0565b6100696100ab36600461031e565b6100e0565b6100b960015481565b604051908152602001610075565b6100cf6100f5565b565b60606100db610145565b905090565b60006100ed848484610150565b949350505050565b6100fd6101e4565b6000610107610145565b905060008180602001905181019061011f91906103b1565b90508061013f5760405163504570e360e01b815260040160405180910390fd5b60015550565b60606100db30610216565b60008061015f838501856103e0565b604080516001600160a01b03881660208201529192506000910160408051601f19818403018152828252805160209182012090830152016040516020818303038152906040528051906020012090506101bb8260015483610245565b6101d8576040516309bde33960e01b815260040160405180910390fd5b50600195945050505050565b60005460ff16156102075760405162dc149f60e41b815260040160405180910390fd5b6000805460ff19166001179055565b60405164ffffffffff602c19833b0116808252602090810190602d908301843c60408101815101604052919050565b600082610252858461025b565b14949350505050565b600081815b84518110156102965761028c8286838151811061027f5761027f6104ad565b602002602001015161029e565b9150600101610260565b509392505050565b60008183106102ba5760008281526020849052604090206102c9565b60008381526020839052604090205b9392505050565b602081526000825180602084015260005b818110156102fe57602081860181015160408684010152016102e1565b506000604082850101526040601f19601f83011684010191505092915050565b60008060006040848603121561033357600080fd5b83356001600160a01b038116811461034a57600080fd5b9250602084013567ffffffffffffffff81111561036657600080fd5b8401601f8101861361037757600080fd5b803567ffffffffffffffff81111561038e57600080fd5b8660208284010111156103a057600080fd5b939660209190910195509293505050565b6000602082840312156103c357600080fd5b5051919050565b634e487b7160e01b600052604160045260246000fd5b6000602082840312156103f257600080fd5b813567ffffffffffffffff81111561040957600080fd5b8201601f8101841361041a57600080fd5b803567ffffffffffffffff811115610434576104346103ca565b8060051b604051601f19603f830116810181811067ffffffffffffffff82111715610461576104616103ca565b60405291825260208184018101929081018784111561047f57600080fd5b6020850194505b838510156104a257843580825260209586019590935001610486565b509695505050505050565b634e487b7160e01b600052603260045260246000fdfea2646970667358221220b69e445466d94f4516ee3a37b9080e454b285bc38677d8b1707e0e051bf4a60f64736f6c634300081c0033",f=e=>e.length>1;class b extends a.ContractFactory{constructor(...e){f(e)?super(...e):super(r,i,e[0])}getDeployTransaction(e){return super.getDeployTransaction(e||{})}deploy(e){return super.deploy(e||{})}connect(e){return super.connect(e)}static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.MerkleProofChecker__factory=b,b.bytecode=i,b.abi=r},32534:(e,t,n)=>{"use strict";
1Object.defineProperty(t,"__esModule",{value:!0}),t.ERC721__factory=void 0;let a=n(27653),r=[{inputs:[{internalType:"address",name:"sender",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"address",name:"owner",type:"address"}],name:"ERC721IncorrectOwner",type:"error"},{inputs:[{internalType:"address",name:"operator",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"ERC721InsufficientApproval",type:"error"},{inputs:[{internalType:"address",name:"approver",type:"address"}],name:"ERC721InvalidApprover",type:"error"},{inputs:[{internalType:"address",name:"operator",type:"address"}],name:"ERC721InvalidOperator",type:"error"},{inputs:[{internalType:"address",name:"owner",type:"address"}],name:"ERC721InvalidOwner",type:"error"},{inputs:[{internalType:"address",name:"receiver",type:"address"}],name:"ERC721InvalidReceiver",type:"error"},{inputs:[{internalType:"address",name:"sender",type:"address"}],name:"ERC721InvalidSender",type:"error"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"ERC721NonexistentToken",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"approved",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!1,internalType:"bool",name:"approved",type:"bool"}],name:"ApprovalForAll",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Transfer",type:"event"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"approve",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"getApproved",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"operator",type:"address"}],name:"isApprovedForAll",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"ownerOf",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"safeTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"}],name:"safeTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"operator",type:"address"},{internalType:"bool",name:"approved",type:"bool"}],name:"setApprovalForAll",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"tokenURI",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"transferFrom",outputs:[],stateMutability:"nonpayable",type:"function"}];
1class i{static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.ERC721__factory=i,i.abi=r},33044:e=>{e.exports=function(e){var t=[];if(null!=e)for(var n in Object(e))t.push(n);return t}},33332:e=>{e.exports=function(e){return function(t){return e(t)}}},33497:(e,t,n)=>{e=n.nmd(e);var a=n(82500),r=n(44158),i=t&&!t.nodeType&&t,f=i&&e&&!e.nodeType&&e,b=f&&f.exports===i?a.Buffer:void 0,s=b?b.isBuffer:void 0;e.exports=s||r},34056:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SemaphorePolicy__factory=void 0;let a=n(27653),r=[{inputs:[],stateMutability:"payable",type:"constructor"},{inputs:[],name:"AlreadyEnforced",type:"error"},{inputs:[],name:"AlreadyInitialized",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:[],name:"TargetAlreadySet",type:"error"},{inputs:[],name:"TargetNotSet",type:"error"},{inputs:[],name:"TargetOnly",type:"error"},{inputs:[],name:"UnsuccessfulCheck",type:"error"},{inputs:[],name:"ZeroAddress",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"subject",type:"address"},{indexed:!0,internalType:"address",name:"guarded",type:"address"},{indexed:!1,internalType:"bytes",name:"evidence",type:"bytes"}],name:"Enforced",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"guarded",type:"address"}],name:"TargetSet",type:"event"},{inputs:[],name:"BASE_CHECKER",outputs:[{internalType:"contract BaseChecker",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"subject",type:"address"},{internalType:"bytes",name:"evidence",type:"bytes"}],name:"enforce",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"getAppendedBytes",outputs:[{internalType:"bytes",name:"appendedBytes",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[],name:"guarded",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"initialized",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_guarded",type:"address"}],name:"setTarget",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"spentNullifiers",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"trait",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"}],i="0x60806040523380602957604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b6030816035565b50608e565b600080546001600160a01b03838116610100818102610100600160a81b0319851617855560405193049190911692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35050565b6109188061009d6000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c8063811608fd11610071578063811608fd146101495780638129fc1c1461016c5780638da5cb5b14610174578063b41a4b191461018a578063ce343deb1461019f578063f2fde38b146101c457600080fd5b8063158ef93e146100b95780631e898ef1146100db578063715018a6146100f057806372f7a030146100f8578063776d1a01146101235780637e16420414610136575b600080fd5b6000546100c69060ff1681565b60405190151581526020015b60405180910390f35b6100ee6100e93660046105f3565b6101d7565b005b6100ee610212565b60015461010b906001600160a01b031681565b6040516001600160a01b0390911681526020016100d256
15b6100ee61013136600461067a565b610226565b60025461010b906001600160a01b031681565b6100c661015736600461069e565b60036020526000908152604090205460ff1681565b6100ee6102c9565b60005461010090046001600160a01b031661010b565b6101926102d1565b6040516100d291906106fd565b60408051808201909152600981526853656d6170686f726560b81b6020820152610192565b6100ee6101d236600461067a565b6102e0565b6001546001600160a01b0316331461020257604051631f492dbf60e21b815260040160405180910390fd5b61020d838383610323565b505050565b61021a610396565b61022460006103c9565b565b61022e610396565b6001600160a01b0381166102555760405163d92e233d60e01b815260040160405180910390fd5b6001546001600160a01b03161561027f5760405163e0f2d7b160e01b815260040160405180910390fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040517f3bfb4bbf112628248058745a3c57e35b13369386e474b8e56c552f3063a4a19690600090a250565b610224610422565b60606102db61047e565b905090565b6102e8610396565b6001600160a01b03811661031757604051631e4fbdf760e01b8152600060048201526024015b60405180910390fd5b610320816103c9565b50565b600061033182840184610773565b6040808201516000818152600360205291909120549192509060ff161561036b57604051633440c93360e21b815260040160405180910390fd5b6000818152600360205260409020805460ff1916600117905561038f858585610489565b5050505050565b6000546001600160a01b036101009091041633146102245760405163118cdaa760e01b815233600482015260240161030e565b600080546001600160a01b03838116610100818102610100600160a81b0319851617855560405193049190911692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35050565b61042a61056c565b600061043461047e565b90506000808280602001905181019061044d9190610813565b9150915061045a826103c9565b600280546001600160a01b0319166001600160a01b03929092169190911790555050565b60606102db3061057d565b60025460405163e2b2408560e01b81526001600160a01b039091169063e2b24085906104bd90869086908690600401610876565b602060405180830381865afa1580156104da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104fe91906108a4565b61051b57604051634715494560e01b815260040160405180910390fd5b6001546040516001600160a01b03918216918516907fc013b39287cb7a53f776482ac9573829321f002f31ef8782129b41d60047bda09061055f90869086906108c6565b60405180910390a3505050565b6105746105ac565b610224336103c9565b60405164ffffffffff602c19833b0116808252602090810190602d908301843c60408101815101604052919050565b60005460ff16156105cf5760405162dc149f60e41b815260040160405180910390fd5b6000805460ff19166001179055565b6001600160a01b038116811461032057600080fd5b60008060006040848603121561060857600080fd5b8335610613816105de565b9250602084013567ffffffffffffffff81111561062f57600080fd5b8401601f8101861361064057600080fd5b803567ffffffffffffffff81111561065757600080fd5b86602082840101111561066957600080fd5b939660209190910195509293505050565b60006020828403121561068c57600080fd5b8135610697816105de565b9392505050565b6000602082840312156106b057600080fd5b5035919050565b6000815180845260005b818110156106dd576020818501810151868301820152016106c1565b506000602082860101526020601f19601f83011685010191505092915050565b60208152600061069760208301846106b7565b634e487b7160e01b600052604160045260246000fd5b60405160c0810167ffffffffffffffff8111828210171561074957610749610710565b60405290565b604051610100810167ffffffffffffffff8111828210171561074957610749610710565b60006101a082840312801561078757600080fd5b506000610792610726565b833581526020808501359082015260408085013590820152606080850135908201526080808501359082015260bf840185136107cc578182fd5b6107d461074f565b806101a08601878111156107e6578485fd5b60a087015b818110156108035780358452602093840193016107eb565b505060a083015250949350505050565b6000806040838503121561082657600080fd5b8251610831816105de565b6020840151909250610842816105de565b809150509250929050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b038416815260406020820181905260009061089b908301848661084d565b95945050505050565b6000602082840312156108b657600080fd5b8151801515811461069757600080fd5b6020815260006108da60208301848661084d565b94935050505056fea2646970667358221220614bd3826ae6a56e5f5ffb5df207ad5aa9f63d5c2f7568477b9a0faf0d78a1e564736f6c634300081c0033",f=e=>e.length>1;class b extends a.ContractFactory{constructor(...e){f(e)?super(...e):super(r,i,e[0])}getDeployTransaction(e){return super.getDeployTransaction(e||{})}deploy(e){return super.deploy(e||{})}connect(e){return super.connect(e)}static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.SemaphorePolicy__factory=b,b.bytecode=i,b.abi=r}
1,34404:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ERC20Policy__factory=void 0;let a=n(27653),r=[{inputs:[],stateMutability:"payable",type:"constructor"},{inputs:[],name:"AlreadyEnforced",type:"error"},{inputs:[],name:"AlreadyInitialized",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:[],name:"TargetAlreadySet",type:"error"},{inputs:[],name:"TargetNotSet",type:"error"},{inputs:[],name:"TargetOnly",type:"error"},{inputs:[],name:"UnsuccessfulCheck",type:"error"},{inputs:[],name:"ZeroAddress",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"subject",type:"address"},{indexed:!0,internalType:"address",name:"guarded",type:"address"},{indexed:!1,internalType:"bytes",name:"evidence",type:"bytes"}],name:"Enforced",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"guarded",type:"address"}],name:"TargetSet",type:"event"},{inputs:[],name:"BASE_CHECKER",outputs:[{internalType:"contract BaseChecker",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"subject",type:"address"},{internalType:"bytes",name:"evidence",type:"bytes"}],name:"enforce",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"enforcedUsers",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"getAppendedBytes",outputs:[{internalType:"bytes",name:"appendedBytes",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[],name:"guarded",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"initialized",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_guarded",type:"address"}],name:"setTarget",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"trait",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"}],i="0x60806040523380602957604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b6030816035565b50608e565b600080546001600160a01b03838116610100818102610100600160a81b0319851617855560405193049190911692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35050565b6107ed8061009d6000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c80638129fc1c116100715780638129fc1c146101495780638da5cb5b14610151578063b41a4b1914610167578063ce343deb1461017c578063d94565311461019d578063f2fde38b146101c057600080fd5b8063158ef93e146100b95780631e898ef1146100db578063715018a6146100f057806372f7a030146100f8578063776d1a01146101235780637e16420414610136575b600080fd5b6000546100c69060ff1681565b60405190151581526020015b60405180910390f35b6100ee6100e93660046105e4565b6101d3565b005b6100ee61020e565b60015461010b906001600160a01b031681565b6040516001600160a01b0390911681526020016100d2565b6100ee61013136600461066b565b610222565b60025461010b906001600160a01b031681565b6100ee6102c5565b60005461010090046001600160a01b031661010b565b61016f6102cd565b6040516100d291906106d5565b604080518082019091526005815264045524332360dc1b602082015261016f565b6100c66101ab36600461066b565b60036020526000908152604090205460ff1681565b6100ee6101ce36600461066b565b6102dc565b6001546001600160a01b031633146101fe57604051631f492dbf60e21b815260040160405180910390fd5b61020983838361031f565b505050565b610216610387565b61022060006103ba565b565b61022a610387565b6001600160a01b038116610251
15760405163d92e233d60e01b815260040160405180910390fd5b6001546001600160a01b03161561027b5760405163e0f2d7b160e01b815260040160405180910390fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040517f3bfb4bbf112628248058745a3c57e35b13369386e474b8e56c552f3063a4a19690600090a250565b610220610413565b60606102d761046f565b905090565b6102e4610387565b6001600160a01b03811661031357604051631e4fbdf760e01b8152600060048201526024015b60405180910390fd5b61031c816103ba565b50565b6001600160a01b03831660009081526003602052604090205460ff161561035957604051633440c93360e21b815260040160405180910390fd5b6001600160a01b0383166000908152600360205260409020805460ff1916600117905561020983838361047a565b6000546001600160a01b036101009091041633146102205760405163118cdaa760e01b815233600482015260240161030a565b600080546001600160a01b03838116610100818102610100600160a81b0319851617855560405193049190911692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35050565b61041b61055d565b600061042561046f565b90506000808280602001905181019061043e91906106e8565b9150915061044b826103ba565b600280546001600160a01b0319166001600160a01b03929092169190911790555050565b60606102d73061056e565b60025460405163e2b2408560e01b81526001600160a01b039091169063e2b24085906104ae9086908690869060040161074b565b602060405180830381865afa1580156104cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ef9190610779565b61050c57604051634715494560e01b815260040160405180910390fd5b6001546040516001600160a01b03918216918516907fc013b39287cb7a53f776482ac9573829321f002f31ef8782129b41d60047bda090610550908690869061079b565b60405180910390a3505050565b61056561059d565b610220336103ba565b60405164ffffffffff602c19833b0116808252602090810190602d908301843c60408101815101604052919050565b60005460ff16156105c05760405162dc149f60e41b815260040160405180910390fd5b6000805460ff19166001179055565b6001600160a01b038116811461031c57600080fd5b6000806000604084860312156105f957600080fd5b8335610604816105cf565b9250602084013567ffffffffffffffff81111561062057600080fd5b8401601f8101861361063157600080fd5b803567ffffffffffffffff81111561064857600080fd5b86602082840101111561065a57600080fd5b939660209190910195509293505050565b60006020828403121561067d57600080fd5b8135610688816105cf565b9392505050565b6000815180845260005b818110156106b557602081850181015186830182015201610699565b506000602082860101526020601f19601f83011685010191505092915050565b602081526000610688602083018461068f565b600080604083850312156106fb57600080fd5b8251610706816105cf565b6020840151909250610717816105cf565b809150509250929050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b03841681526040602082018190526000906107709083018486610722565b95945050505050565b60006020828403121561078b57600080fd5b8151801515811461068857600080fd5b6020815260006107af602083018486610722565b94935050505056fea2646970667358221220968975ad4a35ad87d3be47701c1c8def0240ba76f62199d0e18a4a3767f1f38864736f6c634300081c0033",f=e=>e.length>1;class b extends a.ContractFactory{constructor(...e){f(e)?super(...e):super(r,i,e[0])}getDeployTransaction(e){return super.getDeployTransaction(e||{})}deploy(e){return super.deploy(e||{})}connect(e){return super.connect(e)}static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.ERC20Policy__factory=b,b.bytecode=i,b.abi=r},34711:(e,t,n)=>{var a=n(73800),r=n(94356);e.exports=function(e,t){t=a(t,e);for(var n=0,i=t.length;null!=e&&n<i;)e=e[r(t[n++])];return n&&n==i?e:void 0}},35095:(e,t,n)=>{var a=n(11670),r=n(18489),i=n(22471);e.exports=function(e){return i(e)?a(e):r(e)}},35190:(e,t,n)=>{var a=n(89316),r=n(33332),i=n(49840),f=i&&i.isTypedArray;e.exports=f?r(f):a},35776:e=>{var t=/\w*$/;e.exports=function(e){var n=new e.constructor(e.source,t.exec(e));return n.lastIndex=e.lastIndex,n}},35908:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IERC721Receiver__factory=void 0;let a=n(27653),r=[{inputs:[{internalType:"address",name:"operator",type:"address"},{internalType:"address",name:"from",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"}],name:"onERC721Received",outputs:[{internalType:"bytes4",name:"",type:"bytes4"}],stateMutability:"nonpayable",type:"function"}];
1class i{static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.IERC721Receiver__factory=i,i.abi=r},36314:(e,t,n)=>{var a=n(24376),r=n(9813),i=n(39608),f=a?a.isConcatSpreadable:void 0;e.exports=function(e){return i(e)||r(e)||!!(f&&e&&e[f])}},36730:e=>{var t=Date.now;e.exports=function(e){var n=0,a=0;return function(){var r=t(),i=16-(r-a);if(a=r,i>0){if(++n>=800)return arguments[0]}else n=0;return e.apply(void 0,arguments)}}},36814:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Poll__factory=void 0;let a=n(27653),r=[{inputs:[],name:"AlreadyInitialized",type:"error"},{inputs:[],name:"BatchHashesAlreadyPadded",type:"error"},{inputs:[],name:"DefaultZeroBadIndex",type:"error"},{inputs:[],name:"DepthTooLarge",type:"error"},{inputs:[],name:"InvalidBatchLength",type:"error"},{inputs:[],name:"InvalidMessage",type:"error"},{inputs:[],name:"InvalidPollProof",type:"error"},{inputs:[],name:"InvalidPublicKey",type:"error"},{inputs:[],name:"NotRelayer",type:"error"},{inputs:[],name:"NumberOfLeavesCannotBeZero",type:"error"},{inputs:[],name:"PollAlreadyInit",type:"error"},{inputs:[],name:"StateAlreadyMerged",type:"error"},{inputs:[],name:"StateLeafNotFound",type:"error"},{inputs:[],name:"TooManyMessages",type:"error"},{inputs:[],name:"TooManySignups",type:"error"},{inputs:[],name:"TooManyVoteOptions",type:"error"},{inputs:[],name:"UserAlreadyJoined",type:"error"},{inputs:[],name:"VotingPeriodNotOver",type:"error"},{inputs:[],name:"VotingPeriodNotStarted",type:"error"},{inputs:[],name:"VotingPeriodOver",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"_chainHash",type:"uint256"}],name:"ChainHashUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"_ipfsHash",type:"bytes32"}],name:"IpfsHashAdded",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"_stateRoot",type:"uint256"},{indexed:!0,internalType:"uint256",name:"_totalSignups",type:"uint256"}],name:"MergeState",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"_pollPublicKeyX",type:"uint256"},{indexed:!0,internalType:"uint256",name:"_pollPublicKeyY",type:"uint256"},{indexed:!1,internalType:"uint256",name:"_voiceCreditBalance",type:"uint256"},{indexed:!1,internalType:"uint256",name:"_nullifier",type:"uint256"},{indexed:!1,internalType:"uint256",name:"_pollStateIndex",type:"uint256"}],name:"PollJoined",type:"event"},{anonymous:!1,inputs:[{components:[{internalType:"uint256[10]",name:"data",type:"uint256[10]"}],indexed:!1,internalType:"struct DomainObjs.Message",name:"_message",type:"tuple"},{components:[{internalType:"uint256",name:"x",type:"uint256"},{internalType:"uint256",name:"y",type:"uint256"}],indexed:!1,internalType:"struct DomainObjs.PublicKey",name:"_encryptionPublicKey",type:"tuple"}],name:"PublishMessage",type:"event"},{inputs:[],name:"MESSAGE_DATA_LENGTH",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[],name:"actualStateTreeDepth",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"batchHashes",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"chainHash",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"coordinatorPublicKey",outputs:[{internalType:"uint256",name:"x",type:"uint256"},{internalType:"uint256",name:"y",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"coordinatorPublicKeyHash",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"currentSbCommitment",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"emptyBallotRoot",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"endDate",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"extContracts",outputs:[{internalType:"contract IMACI",name:"maci",type:"address"},{internalType:"contract IVerifier",name:"verifier",type:"address"},{internalType:"contract IVerifyingKeysRegistry",name:"verifyingKeysRegistry",type:"address"},{internalType:"contract IBasePolicy",name:"policy",type:"address"},{internalType:"contract IInitialVoiceCreditProxy",name:"initialVoiceCreditProxy",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getAppendedBytes",outputs:[{internalType:"bytes",name:"appendedBytes",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[],name:"getBatchHashes",outputs:[{internalType:"uint256[]",name:"",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"getMaciContract",outputs:[{internalType:"contract IMACI",name:"maci",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_index",type:"uint256"}],name:"getPublicJoinedCircuitInputs",outputs:[{internalType:"uint256[]",name:"publicInputs",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_nullifier",type:"uint256"},{internalType:"uint256",name:"_index",type:"uint256"},{components:[{internalType:"uint256",name:"x",type:"uint256"},{internalType:"uint256",name:"y",type:"uint256"}],internalType:"struct DomainObjs.PublicKey",name:"_publicKey",type:"tuple"}],name:"getPublicJoiningCircuitInputs",outputs:[{internalType:"uint256[]",name:"publicInputs",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"getStartAndEndDate",outputs:[{internalType:"uint256",name:"pollStartDate",type:"uint256"},{internalType:"uint256",name:"pollEndDate",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"element",type:"uint256"}],name:"getStateIndex",outputs:[{internalType:"uint40",name:"",type:"uint40"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256[2]",name:"array",type:"uint256[2]"}],name:"hash2",outputs:[{internalType:"uint256",name:"result",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"uint256[3]",name:"array",type:"uint256[3]"}],name:"hash3",outputs:[{internalType:"uint256",name:"result",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"uint256[4]",name:"array",type:"uint256[4]"}],name:"hash4",outputs:[{internalType:"uint256",name:"result",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"uint256[5]",name:"array",type:"uint256[5]"}],name:"hash5",outputs:[{internalType:"uint256",name:"result",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"uint256",name:"left",type:"uint256"},{internalType:"uint256",name:"right",type:"uint256"}],name:"hashLeftRight",outputs:[{internalType:"uint256",name:"result",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{components:[{internalType:"uint256[10]",name:"data",type:"uint256[10]"}],internalType:"struct DomainObjs.Message",name:"_message",type:"tuple"},{components:[{internalType:"uint256",name:"x",type:"uint256"},{internalType:"uint256",name:"y",type:"uint256"}],internalType:"struct DomainObjs.PublicKey",name:"_encryptionPublicKey",type:"tuple"}],name:"hashMessageAndPublicKey",outputs:[{internalType:"uint256",name:"msgHash",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{components:[{components:[{internalType:"uint256",name:"x",type:"uint256"},{internalType:"uint256",name:"y",type:"uint256"}],internalType:"struct DomainObjs.PublicKey",name:"publicKey",type:"tuple"},{internalType:"uint256",name:"voiceCreditBalance",type:"uint256"}],internalType:"struct DomainObjs.StateLeaf",name:"_stateLeaf",type:"tuple"}],name:"hashStateLeaf",outputs:[{internalType:"uint256",name:"ciphertext",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"initialized",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"ipfsHashes",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"isBatchHashesPadded",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_nullifier",type:"uint256"},{components:[{internalType:"uint256",name:"x",type:"uint256"},{internalType:"uint256",name:"y",type:"uint256"}],internalType:"struct DomainObjs.PublicKey",name:"_publicKey",type:"tuple"},{internalType:"uint256",name:"_stateRootIndex",type:"uint256"},{internalType:"uint256[8]",name:"_proof",type:"uint256[8]"},{internalType:"bytes",name:"_signUpPolicyData",type:"bytes"},{internalType:"bytes",name:"_initialVoiceCreditProxyData",type:"bytes"}],name:"joinPoll",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"maxSignups",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"mergeState",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"mergedStateRoot",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"messageBatchSize",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[],name:"numMessages",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256[2]",name:"dataToPad",type:"uint256[2]"}],name:"padAndHashMessage",outputs:[{components:[{internalType:"uint256[10]",name:"data",type:"uint256[10]"}],internalType:"struct DomainObjs.Message",name:"message",type:"tuple"},{components:[{internalType:"uint256",name:"x",type:"uint256"},{internalType:"uint256",name:"y",type:"uint256"}],internalType:"struct DomainObjs.PublicKey",name:"padKey",type:"tuple"},{internalType:"uint256",name:"msgHash",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[],name:"padLastBatch",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"pollId",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"pollNullifiers",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"pollStateRootsOnJoin",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"pollStateTree",outputs:[{internalType:"uint40",name:"maxIndex",type:"uint40"},{internalType:"uint40",name:"numberOfLeaves",type:"uint40"}],stateMutability:"view",type:"function"},{inputs:[{components:[{internalType:"uint256[10]",name:"data",type:"uint256[10]"}],internalType:"struct DomainObjs.Message",name:"_message",type:"tuple"},{components:[{internalType:"uint256",name:"x",type:"uint256"},{internalType:"uint256",name:"y",type:"uint256"}],internalType:"struct DomainObjs.PublicKey",name:"_encryptionPublicKey",type:"tuple"}],name:"publishMessage",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"uint256[10]",name:"data",type:"uint256[10]"}
1],internalType:"struct DomainObjs.Message[]",name:"_messages",type:"tuple[]"},{components:[{internalType:"uint256",name:"x",type:"uint256"},{internalType:"uint256",name:"y",type:"uint256"}],internalType:"struct DomainObjs.PublicKey[]",name:"_encryptionPublicKeys",type:"tuple[]"}],name:"publishMessageBatch",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256[]",name:"_messageHashes",type:"uint256[]"},{internalType:"bytes32",name:"_ipfsHash",type:"bytes32"}],name:"relayMessagesBatch",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"relayers",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256[]",name:"array",type:"uint256[]"}],name:"sha256Hash",outputs:[{internalType:"uint256",name:"result",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[],name:"startDate",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"stateMerged",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"totalSignups",outputs:[{internalType:"uint256",name:"signups",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"totalSignupsAndMessages",outputs:[{internalType:"uint256",name:"numSUps",type:"uint256"},{internalType:"uint256",name:"numMsgs",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"treeDepths",outputs:[{internalType:"uint8",name:"tallyProcessingStateTreeDepth",type:"uint8"},{internalType:"uint8",name:"voteOptionTreeDepth",type:"uint8"},{internalType:"uint8",name:"stateTreeDepth",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_index",type:"uint256"},{internalType:"uint256[8]",name:"_proof",type:"uint256[8]"}],name:"verifyJoinedPollProof",outputs:[{internalType:"bool",name:"isValid",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_nullifier",type:"uint256"},{internalType:"uint256",name:"_index",type:"uint256"},{components:[{internalType:"uint256",name:"x",type:"uint256"},{internalType:"uint256",name:"y",type:"uint256"}],internalType:"struct DomainObjs.PublicKey",name:"_publicKey",type:"tuple"},{internalType:"uint256[8]",name:"_proof",type:"uint256[8]"}],name:"verifyJoiningPollProof",outputs:[{internalType:"bool",name:"isValid",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"voteOptions",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"}],i="0x6080604052348015600f57600080fd5b50613cac8061001f6000396000f3fe608060405234801561001057600080fd5b50600436106103275760003560e01c80636f13ab00116101b8578063b41a4b1911610104578063d2b5751d116100a2578063e33b13a01161007c578063e33b13a01461075a578063edbfe83f14610767578063ef9a5f0a14610789578063fba630f21461079c57600080fd5b8063d2b5751d14610735578063d98665271461073e578063df82635a1461075157600080fd5b8063bea140b3116100de578063bea140b3146106fd578063c17268d914610710578063c24a0f8b14610719578063c4e959581461072257600080fd5b8063b41a4b1914610667578063ba5810fd1461067c578063bc14ee2b1461069757600080fd5b80638b6e7463116101715780639cfced971161014b5780639cfced97146105da578063a4de2f5c146105ed578063ac98e5df14610600578063ad731cad1461064457600080fd5b80638b6e7463146105a45780638c2c887c146105bf57806392552667146105d257600080fd5b80636f13ab00146105535780637028bb0e1461055c578063719b9bd8146105695780637739919514610576578063793c5632146105895780638129fc1c1461059c57600080fd5b80633dfb88b2116102775780635ae9d4f11161023057806362a361bb1161020a57806362a361bb1461050f578063683f3dc3146105225780636d582d341461053c5780636dc590ad1461054557600080fd5b80635ae9d4f1146104d35780635bb93995146104e9578063623f54ac146104fc57600080fd5b80633dfb88b21461044f57806341495d1c1461046257806349716ebf1461046b57806350e17f0c146104945780635300f8411461049d57806358bfc379146104c057600080fd5b80630f4cf692116102e457806327bea0da116102be57806327bea0da14610403578063340a01c11461041657806337a90cae146104295780633b2ab96f1461043c57600080fd5b80630f4cf692146103d857806314417e8c146103e1578063158ef93e146103f657600080fd5b8063014054261461032c57806309feaf2a146103525780630b97bc861461035c5780630c4eb5c2146103655780630d4e6e6a1461039f5780630e1b48ea146103bc575b600080fd5b61033f61033a366004612ba6565b6107a5565b
16040519081526020015b60405180910390f35b61035a610873565b005b61033f60065481565b6018546103819064ffffffffff80821691600160281b90041682565b6040805164ffffffffff938416815292909116602083015201610349565b6017546103ac9060ff1681565b6040519015158152602001610349565b6006546007545b60408051928352602083019190915201610349565b61033f600b5481565b6103e9610980565b6040516103499190612c19565b6000546103ac9060ff1681565b61035a610411366004612c44565b6109d8565b61035a610424366004612c7a565b610abf565b6103ac610437366004612d4a565b610bd5565b6103ac61044a366004612d93565b610ce6565b61033f61045d366004612db8565b610dea565b61033f600d5481565b61047e610479366004612e20565b610e6b565b60405164ffffffffff9091168152602001610349565b61033f60045481565b6103ac6104ab366004612e51565b601b6020526000908152604090205460ff1681565b61033f6104ce366004612e91565b610ee0565b601854600160281b900464ffffffffff1661033f565b61033f6104f7366004612f2b565b610f68565b61035a61050a366004612f98565b610f8d565b61033f61051d366004613039565b611002565b61052a600a81565b60405160ff9091168152602001610349565b61033f60085481565b6002546003546103c3919082565b61033f601d5481565b600c5461052a9060ff1681565b600f5461052a9060ff1681565b61033f610584366004612e20565b61103c565b61033f61059736600461307c565b61105d565b61035a611090565b6010546040516001600160a01b039091168152602001610349565b61033f6105cd366004612e20565b61109a565b61035a6110aa565b61033f6105e83660046130b6565b611134565b61033f6105fb366004612e20565b61116e565b600e546106209060ff808216916101008104821691620100009091041683565b6040805160ff94851681529284166020840152921691810191909152606001610349565b6103ac610652366004612e20565b601c6020526000908152604090205460ff1681565b61066f61117e565b6040516103499190613149565b601854600b54600160281b90910464ffffffffff16906103c3565b6010546011546012546013546014546106c3946001600160a01b03908116948116938116928116911685565b604080516001600160a01b03968716815294861660208601529285169284019290925283166060830152909116608082015260a001610349565b61033f61070b36600461315c565b61118d565b61033f600a5481565b61033f60075481565b6103e9610730366004612e20565b6111c7565b61033f60165481565b6103e961074c36600461319f565b61122b565b61033f60015481565b6009546103ac9060ff1681565b61077a610775366004613039565b61136a565b60405161034993929190613201565b61035a61079736600461329d565b611412565b61033f60055481565b60006107af6129a0565b83515181528351602090810151908201528351604090810151908201528351606090810151908201528351608090810151908201526107ec6129a0565b845160a001518152845160c001516020820152845160e0015160408083019190915285516101000151606083015285516101200151608080840191909152815190810190915261086a908061084085611134565b815260200161084e84611134565b8152602001866000015181526020018660200151815250610dea565b95945050505050565b60075442101561089657604051630931513d60e11b815260040160405180910390fd5b60095460ff16156108ba5760405163b703d3c960e01b815260040160405180910390fd5b6009805460ff1916600117905560006108d360186116de565b600581905590506108e26129be565b8181526008546020820152600060408201526108fd8161118d565b600a55601854600160281b900464ffffffffff1660015b818160ff166001901b64ffffffffff16101561093c57806109348161336c565b915050610914565b600c805460ff191660ff83161790556005546040518391907f4e3ffd35899168b0b0f09b3a93419888fad4d7602c81fb08fe67506d1e2b42d490600090a350505050565b606060158054806020026020016040519081016040528092919081815260200182805480156109ce57602002820191906000526020600020905b8154815260200190600101908083116109ba575b5050505050905090565b6007544211156109fb5760405163148fb9a960e31b815260040160405180910390fd5b600654421015610a1e576040516304add5b960e31b815260040160405180910390fd5b610a2d8135602083013561172e565b610a4a5760405163145a1fdd60e31b815260040160405180910390fd5b600b805460010190556000610a76610a673685900385018561338b565b61033a368590038501856133a8565b9050610a81816117d8565b7f4be9ef9ae736055964ead1cf3c83a19c8b662b5df2bd4414776bb64d81f75d158383604051610ab29291906133c4565b60405180910390a1505050565b600754421115610ae25760405163148fb9a960e31b815260040160405180910390fd5b600654421015610b05576040516304add5b960e31b815260040160405180910390fd5b336000908152601b602052604090205460ff16610b355760405163c64891a560e01b815260040160405180910390fd5b600b8054830190558160005b81811015610b7257610b6a858583818110610b5e57610b5e613340565b905060200201356117d8565b600101610b41565b50601a805460018101825560009182527f057c384a7d1c54f3a1b2e5e67b2617b8224fdfd1ea7234eea573a6ff665ff63e0183905560405183917f91b942fa69ed48e396db89fe27f88192d8ca138308a57a2bb49c5824f8d54cab91a250505050565b601254600e54604051631fc87fab60e31b81526201000090910460ff16600482015260009182916001600160a01b039091169063fe43fd5890602401600060405180830381865afa158015610c2e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610c5691908101906134a1565b90506000610c6587878761122b565b60115460405163352a4d1560e01b81529192506001600160a01b03169063352a4d1590610c9a9087908690869060040161360d565b
1602060405180830381865afa158015610cb7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cdb919061370e565b979650505050505050565b601254600e5460405163b7e3d4f760e01b81526201000090910460ff16600482015260009182916001600160a01b039091169063b7e3d4f790602401600060405180830381865afa158015610d3f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610d6791908101906134a1565b90506000610d74856111c7565b60115460405163352a4d1560e01b81529192506001600160a01b03169063352a4d1590610da99087908690869060040161360d565b602060405180830381865afa158015610dc6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061086a919061370e565b60405163248f667760e01b815260009073__$ce9c2c925f157047e54fa833ec4e61409f$__9063248f667790610e24908590600401613730565b602060405180830381865af4158015610e41573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e659190613761565b92915050565b60185460009064ffffffffff16815b8164ffffffffff168164ffffffffff1611610ec65764ffffffffff8116600090815260196020526040902054849003610eb4579392505050565b80610ebe8161377a565b915050610e7a565b50604051631bfab01360e31b815260040160405180910390fd5b6000600080516020613c57833981519152600283604051602001610f049190613798565b60408051601f1981840301815290829052610f1e916137c3565b602060405180830381855afa158015610f3b573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610f5e9190613761565b610e6591906137f5565b6000610f726129dc565b83815260208101839052610f8581611002565b949350505050565b828114610fad5760405163ca3487f760e01b815260040160405180910390fd5b8260005b81811015610ffa57610ff2868683818110610fce57610fce613340565b90506101400201858584818110610fe757610fe7613340565b9050604002016109d8565b600101610fb1565b505050505050565b6040516314d2f97b60e11b815260009073__$6574937f64fc1d7710ec0e28b7a36713bb$__906329a5f2f690610e24908590600401613817565b601e818154811061104c57600080fd5b600091825260209091200154905081565b60006110676129be565b825151815282516020908101518183015283015160408201526110898161118d565b9392505050565b611098611882565b565b6015818154811061104c57600080fd5b6007544210156110cd57604051630931513d60e11b815260040160405180910390fd5b60175460ff16611098576017805460ff19166001179055600f54600b546110f79160ff16906137f5565b1561109857601654601580546001810182556000919091527f55f448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec4750155565b604051630926f44b60e31b815260009073__$20527677031d76601747626a9845039fe4$__90634937a25890610e2490859060040161383f565b601a818154811061104c57600080fd5b6060611188611c2b565b905090565b6040516304b98e1d60e31b815260009073__$dc01a9744591ab014bc46a3b7671cdaefb$__906325cc70e890610e24908590600401613867565b60408051600180825281830190925260609160208083019080368337019050509050601e82815481106111fc576111fc613340565b90600052602060002001548160008151811061121a5761121a613340565b
1602002602001018181525050919050565b60408051600580825260c082019092526060916020820160a08036833701905050905081600001358160008151811061126657611266613340565b60200260200101818152505081602001358160018151811061128a5761128a613340565b60200260200101818152505083816002815181106112aa576112aa613340565b602090810291909101015260105460405163060881ed60e51b8152600481018590526001600160a01b039091169063c1103da090602401602060405180830381865afa1580156112fe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113229190613761565b8160038151811061133557611335613340565b602002602001018181525050601d548160048151811061135757611357613340565b6020026020010181815250509392505050565b6113726129fa565b60408051808201909152600080825260208201526000611390612a12565b84518152602080860151828201526040805180820182527f171e826ad4a870fd925e0bf0e87884e70e080879c2205ef10114f28a3b6f6dd781527f2bd407d897fbbca9f88adfd2d15252e69de8c1564eb4d3d27162e259172f1a1d818401528151928301909152828252909450925061140984846107a5565b93959294505050565b6007544211156114355760405163148fb9a960e31b815260040160405180910390fd5b600154601854600160281b900464ffffffffff16106114675760405163b984588b60e01b815260040160405180910390fd5b6000868152601c602052604090205460ff16156114975760405163f45d43bf60e01b815260040160405180910390fd5b6000868152601c602052604090819020805460ff1916600117905580516101008181019092526114e6918891879189919088906008908390839080828437600092019190915250610bd5915050565b611503576040516375fc7f6f60e01b815260040160405180910390fd5b601354604051631e898ef160e01b81526001600160a01b0390911690631e898ef190611535903390869060040161388f565b600060405180830381600087803b15801561154f57600080fd5b505af1158015611563573d6000803e3d6000fd5b505060145460405163b36543a960e01b8152600093506001600160a01b03909116915063b36543a99061159c903390869060040161388f565b602060405180830381865afa1580156115b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115dd9190613761565b9050600061160d60405180604001604052808980360381019061160091906133a8565b815260200184905261105d565b9050600061161c601883611c36565b601e80546001808201835560009283527f50bb669a95c7b50b7e8a6f09454034b2b14cf2b85c730dca9a539ca82cb6e35090910183905560185492935090916116739190600160281b900464ffffffffff166138b3565b64ffffffffff169050886020013589600001357f0a572bcefffe7bd7ad8229e43033a1e9b6dbf856b924b9474102c7fe5a7434f4868d856040516116ca939291909283526020830191909152604082015260600190565b60405180910390a350505050505050505050565b8054600090600160281b900464ffffffffff1660015b8164ffffffffff168160ff166001901b64ffffffffff161015611723578061171b8161336c565b9150506116f4565b610f85848383611d8b565b600080600080516020613c5783398151915284850990506000600080516020613c5783398151915284850990506000600080516020613c5783398151915282600080516020613c5783398151915285620292fc090890506000600080516020613c578339815191528084600080516020613c5783398151915287620292f8090960010890506117cc8282600080516020613c57833981519152611e57565b15979650505050505050565b60006117f96040518060400160405280601654815260200184815250611002565b600f54600b549192506118119160ff909116906137f5565b60000361184e57601580546001810182556000919091527f55f448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec475018190555b601681905560405181907fca4eaea204af24b5e48747f98f903698aaf6e7ab2014f1f1209411467a90b62190600090a25050565b61188a611e92565b6000611894611c2b565b90506000806000806000806000806000808a8060200190518101906118b991906139d2565b99509950995099509950995099509950995099506118df8660000151876020015161172e565b6118fc5760405163145a1fdd60e31b815260040160405180910390fd5b85516002819055602087015160038190556119179190610f68565b6004558451601080546001600160a01b03199081166001600160a01b039384161790915560208088015160118054841691851691909117905560408801516012805484169185169190911790556060880151601380548416918516919091179055608088015160148054909316931692909217905560068b905560078a90558801516119a4906005613bb8565b8111156119c4576040516327c1eb1760e11b815260040160405180910390fd5b600d819055600f805460ff808a1660ff19909216919091179091558851600e805460208c015160408d0151851662010000810262ff0000199287166101000261ffff1990941695909616949094179190911716929092179091556008859055601d849055611a33906002613bc7565b60015560005b8251811015611a94576001601b6000858481518110611a5a57611a5a613340565b
16020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055600101611a39565b50600b80546001019055611aa66129dc565b7f12817f4161f2f5ded33f26c55735a77e80e4f8975483c8c2704745128417f71181526000602082018190528080611add8461136a565b7f12817f4161f2f5ded33f26c55735a77e80e4f8975483c8c2704745128417f7116016819055601580546001810182556000919091527f55f448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec475015591945092509050611b46816117d8565b600e54611b5e9060189062010000900460ff16611ec4565b611b8960187f19ce4238de2f70198652072a6fc1d13e88dbb8338091878c892cfffd95b3b870611c36565b50601e80546001810182556000919091527f19ce4238de2f70198652072a6fc1d13e88dbb8338091878c892cfffd95b3b8707f50bb669a95c7b50b7e8a6f09454034b2b14cf2b85c730dca9a539ca82cb6e350909101556040517f4be9ef9ae736055964ead1cf3c83a19c8b662b5df2bd4414776bb64d81f75d1590611c129085908590613bd3565b60405180910390a1505050505050505050505050505050565b606061118830611f1a565b8154600090600160281b900464ffffffffff16611c54816001613bfa565b845464ffffffffff91909116600160281b0269ffffffffff0000000000199091161784558260005b81866001016000611c8d8487611f49565b64ffffffffff1681526020810191909152604001600020556001831615611d82576000611cc482611cbf6001876138b3565b611f49565b60408051808201825264ffffffffff8316600090815260018b01602090815290839020548252810186905290516314d2f97b60e11b815291925073__$6574937f64fc1d7710ec0e28b7a36713bb$__916329a5f2f691611d2691600401613817565b602060405180830381865af4158015611d43573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d679190613761565b647fffffffff600195861c1694909350919091019050611c7c565b50949350505050565b600060208260ff161115611db257604051633e104c7760e01b815260040160405180910390fd5b8264ffffffffff16600003611dd157611dca82611f6e565b9050611089565b6000611dde836001613c17565b60ff166001600160401b03811115611df857611df8612a31565b604051908082528060200260200182016040528015611e21578160200160208202803683370190505b509050611e30858585846125fb565b808360ff1681518110611e4557611e45613340565b60200260200101519150509392505050565b600083838111611e6e57611e6b8382613c30565b90505b8280611e7c57611e7c6137df565b6000611e888684613c43565b0895945050505050565b60005460ff1615611eb55760405162dc149f60e41b815260040160405180910390fd5b6000805460ff19166001179055565b60208160ff161115611ee957604051633e104c7760e01b815260040160405180910390fd5b611efa600160ff831681901b613c43565b825469ffffffffffffffffffff191664ffffffffff919091161790915550565b60405164ffffffffff602c19833b0116808252602090810190602d908301843c60408101815101604052919050565b600081611f6460ff851664ff00000000602087901b166138b3565b6110899190613bfa565b60008160ff16600003611fa257507f19ce4238de2f70198652072a6fc1d13e88dbb8338091878c892cfffd95b3b870919050565b8160ff16600103611fd457507f2abd53d5b7c689279518d76ee2a062156c4dfc1f91b3a41120822915ccebbbdf919050565b8160ff1660020361200657507f28f1a6f8e2afd3b4bdb2354b1878c03fbc0689f59f2506ec9c1a07f3ae43eb8e919050565b8160ff1660030361203857507f1475250f14274b35bf6f3f21fb0b92c7429da64a16f9e14a76b42e13278671e3919050565b8160ff1660040361206a57507f16205c1b6fef76c5f3ebeeb65fb9d03870de9406b4553c230a0967e54c778236919050565b8160ff1660050361209c57507f21c60230ea583db469b0241e9b4b1fed912978ea94e8fd7943d70d66f054c850919050565b8160ff166006036120ce57507f03ad6f31eab2ec748fda41d3934b66023e024d9703d2f3c6edc5f4ba4d48e7be919050565b8160ff1660070361210057507f0befe58467be4b6c5b9d65fc0a6596ef02d82806db3e979d40dc5654ac1ee5a8919050565b8160ff1660080361213257507f0ac219d437658ac8605b019fac8a60408566d3751a21ef1564483cc27dd5de5f919050565b8160ff1660090361216457507f2f8fe9193176b84b71478e9502f8f48eaccace275b8b3a8c1aaf4168b4334185919050565b8160ff16600a0361219657507f0f102297a5668325e6e6bfa55eac199040d547a95105e09d9d10ad2b504f9f49919050565b8160ff16600b036121c857507f0977a346af59d90dabe49ae89dff6ec78805eb6e5e69d6a3eeb257c44f1c1c64919050565b8160ff16600c036121fa57507f09e43fcca6bc56c2bd13cd9a21ca1e0174ffb0c689cf19690e0db346bd0cd16c919050565b8160ff16600d0361222c57507f240b746d9368ffb3a702caea6e6274c0b0eb6e065d32931b2239c5f6b88309e4919050565b8160ff16600e0361225e57507f1a2a4e74d4eb4ac3332c0811a016fa102349fcbdb3d2d89da33eb2a12306bf57919050565b8160ff16600f0361229057507f3017a0b7fe96c1a157a01c501a48127d35889650ce434965971fb82de767dc97919050565b8160ff166010036122c257507f0cff1baadb1ac05e3c62f13bb21856a2b9f06bf00e998c4c5d7826988e257e2f919050565b8160ff166011036122f457507f0b15eb49f1565e5f998871ebde73f384e9c5a87f663e7566425baf2c6d493e04919050565b8160ff1660120361232657507f2ab1fa8163d01750eb2f04d9236f8266eaec1e812e96a8c43e1d1037e20e1618919050565b8160ff1660130361235857507f21fa81f21f63799353b8c8d03eee49725aa679e4492dc79a003d09f86ef71de6919050565b8160ff1660140361238a57507f0b2254e23cc7bdf6f8b12359de6fee38385dc134ece68124713f7486308c23b6919050565b8160ff166015036123bc57507f1d880478ac15630d219747d000bd7d9a309e1f242115fc7fb87ab2c67f2dc6b9919050565b8160ff166016036123ee57507f1713f9c548555e72906dc7a0f5d2860820e19244839c8bdd96d13ef08f96a19e919050565b8160ff1660170361242057507f10071050836b9ebb6f892aff50bda0ada97feb480a8b9d01d8d17d21a3a198aa919050565b8160ff1660180361245257507f081524bb945f526d53b708d73e8ececbcbefddad50ab56028468b9246d8106f7919050565b8160ff1660190361248457507f12d2875eae7bbe7764577d1ce6396912577f3a7c8b4f36f2cddc67001c58cd9c919050565b8160ff16601a036124b657507f2c6b18c2416056c5acf1306bafff0557daa33ade81234d73899d861e1d135339919050565b8160ff16601b036124e857507f17dd14d86e5504bca0683737f412067958998653d54bc5f0ea68e5fa4374801e919050565b8160ff16601c0361251a57507f243604d67ae0ccc5878ac99dbb78c54730bcfd3f96e6fb79fb949882deebd664919050565b8160ff16601d0361254c57507f070343da8389cdfc1eea58b29b644c56549c4bc85edb64144cb6b1ea5a260b1d919050565b8160ff16601e0361257e57507f098b5f814b673b715260df256d19b89831007fabb70a272b049122d729418de6919050565b8160ff16601f036125b057507f1830698c9c78f79b1c942fa9616a94d62fe0bee717cb6e48abca720b273bdcd0919050565b8160ff166020036125e257507f1134fee1d5551a91e22a67de9d9f00574cbaa2003a4bcb16f2fe9283c49ab377919050565b6040516310a2ea0560e21b815260040160405180910390fd5b60208260ff16111561262057604051633e104c7760e01b815260040160405180910390fd5b8264ffffffffff166000036126485760405163bb5e95dd60e01b815260040160405180910390fd5b60006126556001856138b3565b9050600181166000036126ad57846001016000612673600084611f49565b64ffffffffff168152602001908152602001600020548260008151811061269c5761269c613340565b
16020026020010181815250506126d7565b6126b76000611f6e565b826000815181106126ca576126ca613340565b6020026020010181815250505b60005b8360ff168160ff161015610ffa57600182166000036127d35773__$6574937f64fc1d7710ec0e28b7a36713bb$__6329a5f2f66040518060400160405280868560ff168151811061272d5761272d613340565b6020026020010151815260200161274385611f6e565b8152506040518263ffffffff1660e01b81526004016127629190613817565b602060405180830381865af415801561277f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127a39190613761565b836127af836001613c17565b60ff16815181106127c2576127c2613340565b60200260200101818152505061298d565b60006127e0826001613c17565b60ff168664ffffffffff16901c64ffffffffff16905060018364ffffffffff16901c64ffffffffff168111156128855760008760010160006128398560016128289190613c17565b60018864ffffffffff16901c611f49565b64ffffffffff16815260200190815260200160002054905080858460016128609190613c17565b60ff168151811061287357612873613340565b6020026020010181815250505061298b565b600087600101600061289e85600188611cbf91906138b3565b64ffffffffff16815260200190815260200160002054905073__$6574937f64fc1d7710ec0e28b7a36713bb$__6329a5f2f66040518060400160405280848152602001888760ff16815181106128f6576128f6613340565b60200260200101518152506040518263ffffffff1660e01b815260040161291d9190613817565b602060405180830381865af415801561293a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061295e9190613761565b8561296a856001613c17565b60ff168151811061297d5761297d613340565b602002602001018181525050505b505b647fffffffff600192831c1691016126da565b6040518060a001604052806005906020820280368337509192915050565b60405180606001604052806003906020820280368337509192915050565b60405180604001604052806002906020820280368337509192915050565b6040518060200160405280612a0d612a12565b905290565b604051806101400160405280600a906020820280368337509192915050565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b0381118282101715612a6957612a69612a31565b60405290565b60405160a081016001600160401b0381118282101715612a6957612a69612a31565b604051606081016001600160401b0381118282101715612a6957612a69612a31565b604051601f8201601f191681016001600160401b0381118282101715612adb57612adb612a31565b604052919050565b60006101408284031215612af657600080fd5b604051602081016001600160401b0381118282101715612b1857612b18612a31565b6040529050806000601f84018513612b2e578081fd5b80610140612b3b81612ab3565b9250829150850186811115612b4f57600080fd5b855b81811015612b69578035845260209384019301612b51565b50509091525092915050565b600060408284031215612b8757600080fd5b612b8f612a47565b823581526020928301359281019290925250919050565b6000806101808385031215612bba57600080fd5b612bc48484612ae3565b9
1150612bd4846101408501612b75565b90509250929050565b600081518084526020840193506020830160005b82811015612c0f578151865260209586019590910190600101612bf1565b5093949350505050565b6020815260006110896020830184612bdd565b600060408284031215612c3e57600080fd5b50919050565b600080828403610180811215612c5957600080fd5b610140811215612c6857600080fd5b50829150612bd4846101408501612c2c565b600080600060408486031215612c8f57600080fd5b83356001600160401b03811115612ca557600080fd5b8401601f81018613612cb657600080fd5b80356001600160401b03811115612ccc57600080fd5b8660208260051b8401011115612ce157600080fd5b6020918201979096509401359392505050565b600082601f830112612d0557600080fd5b6000610100612d1381612ab3565b915083018185821115612d2557600080fd5b845b82811015612d3f578035825260209182019101612d27565b509195945050505050565b6000806000806101808587031215612d6157600080fd5b8435935060208501359250612d798660408701612c2c565b9150612d888660808701612cf4565b905092959194509250565b6000806101208385031215612da757600080fd5b82359150612bd48460208501612cf4565b600060808284031215612dca57600080fd5b600083601f840112612dda578081fd5b80612de56080612ab3565b90508091506080840185811115612dfb57600080fd5b845b81811015612e15578035845260209384019301612dfd565b509095945050505050565b600060208284031215612e3257600080fd5b5035919050565b6001600160a01b0381168114612e4e57600080fd5b50565b600060208284031215612e6357600080fd5b813561108981612e39565b60006001600160401b03821115612e8757612e87612a31565b5060051b60200190565b600060208284031215612ea357600080fd5b81356001600160401b03811115612eb957600080fd5b8201601f81018413612eca57600080fd5b8035612edd612ed882612e6e565b612ab3565b8082825260208201915060208360051b850101925086831115612eff57600080fd5b6020840193505b82841015612f21578335825260209384019390910190612f06565b9695505050505050565b60008060408385031215612f3e57600080fd5b50508035926020909101359150565b60008083601f840112612f5f57600080fd5b5081356001600160401b03811115612f7657600080fd5b6020830191508360208260061b8501011115612f9157600080fd5b9250929050565b60008060008060408587031215612fae57600080fd5b84356001600160401b03811115612fc457600080fd5b8501601f81018713612fd557600080fd5b80356001600160401b03811115612feb57600080fd5b8760206101408302840101111561300157600080fd5b6020918201955093508501356001600160401b0381111561302157600080fd5b61302d87828801612f4d565b95989497509550505050565b60006040828403121561304b57600080fd5b600083601f84011261305b578081fd5b806130666040612ab3565b90508091506040840185811115612dfb57600080fd5b6000606082840312801561308f57600080fd5b50613098612a47565b6130a28484612b75565b815260409290920135602083015250919050565b600060a082840312156130c857600080fd5b600083601f8401126130d8578081fd5b806130e360a0612ab3565b905080915060a0840185811115612dfb57600080fd5b60005b838110156131145781810151838201526020016130fc565b50506000910152565b600081518084526131358160208601602086016130f9565b601f01601f19169290920160200192915050565b602081526000611089602083018461311d565b60006060828403121561316e57600080fd5b600083601f84011261317e578081fd5b806131896060612ab3565b90508091506060840185811115612dfb57600080fd5b6000806000608084860312156131b457600080fd5b83359250602084013591506131cc8560408601612c2c565b90509250925092565b80518260005b600a8110156131fa5782518252602092830192909101906001016131db565b5050505050565b6101a0810161321082866131d5565b83516101408301526020909301516101608201526101800152919050565b600082601f83011261323f57600080fd5b81356001600160401b0381111561325857613258612a31565b61326b601f8201601f1916602001612ab3565b81815284602083860101111561328057600080fd5b816020850160208301376000918101602001919091529392505050565b6000806000806000806101c087890312156132b757600080fd5b863595506132c88860208901612c2c565b9450606087013593506101808701888111156132e357600080fd5b608088019350356001600160401b038111156132fe57600080fd5b61330a89828a0161322e565b9250506101a08701356001600160401b0381111561332757600080fd5b61333389828a0161322e565b9150509295509295509295565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff810361338257613382613356565b60010192915050565b6000610140828403121561339e57600080fd5b6110898383612ae3565b6000604082840312156133ba57600080fd5b6110898383612b75565b6101808101610140848337823561014083015260209092013561016090910152919050565b6000604082840312156133fb57600080fd5b613403612a47565b825181526020928301519281019290925250919050565b600082601f83011261342b57600080fd5b6134356040612ab3565b80604084018581111561344757600080fd5b845b81811015612e15578051845260209384019301613449565b60006080828403121561347357600080fd5b61347b612a47565b9050613487838361341a565b8152613496836040840161341a565b602082015292915050565b6000602082840312156134b357600080fd5b81516001600160401b038111156134c957600080fd5b82016101e081850312156134dc57600080fd5b6134e4612a6f565b6134ee8583
16133e9565b81526134fd8560408401613461565b602082015261350f8560c08401613461565b6040820152613522856101408401613461565b60608201526101c08201516001600160401b0381111561354157600080fd5b80830192505084601f83011261355657600080fd5b8151613564612ed882612e6e565b8082825260208201915060208360061b86010192508783111561358657600080fd5b6020850194505b828510156135b25761359f88866133e9565b825260208201915060408501945061358d565b6080840152509095945050505050565b8060005b60028110156135e55781518452602093840193909101906001016135c6565b50505050565b6135f68282516135c2565b602081015161360860408401826135c2565b505050565b60008185825b6008811015613632578151835260209283019290910190600101613613565b505050610140610100830152610320820161365c6101408401865180518252602090810151910152565b602085015161366f6101808501826135eb565b5060408501516136836102008501826135eb565b5060608501516136976102808501826135eb565b5060808501516101e0610300850152805191829052602001906000906103408501905b808310156136ee576136d782855180518252602090810151910152565b6040820191506020840193506001830192506136ba565b508481036101208601526137028187612bdd565b98975050505050505050565b60006020828403121561372057600080fd5b8151801515811461108957600080fd5b60808101818360005b6004811015613758578151835260209283019290910190600101613739565b50505092915050565b60006020828403121561377357600080fd5b5051919050565b600064ffffffffff821664ffffffffff810361338257613382613356565b8151600090829060208501835b82811015612d3f5781518452602093840193909101906001016137a5565b600082516137d58184602087016130f9565b9190910192915050565b634e487b7160e01b600052601260045260246000fd5b60008261381257634e487b7160e01b600052601260045260246000fd5b500690565b60408101818360005b6002811015613758578151835260209283019290910190600101613820565b60a08101818360005b6005811015613758578151835260209283019290910190600101613848565b60608101818360005b6003811015613758578151835260209283019290910190600101613870565b6001600160a01b0383168152604060208201819052600090610f859083018461311d565b64ffffffffff8281168282160390811115610e6557610e65613356565b805160ff811681146138e157600080fd5b919050565b600060a082840312156138f857600080fd5b613900612a6f565b9050815161390d81612e39565b8152602082015161391d81612e39565b6020820152604082015161393081612e39565b6040820152606082015161394381612e39565b6060820152608082015161395681612e39565b608082015292915050565b600082601f83011261397257600080fd5b8151613980612ed882612e6e565b8082825260208201915060208360051b8601019250858311156139a257600080fd5b602085015b838110156139c85780516139ba81612e39565b8352602092830192016139a7565b5095945050505050565b6000806000806000806000806000808a8c036102208112156139f357600080fd5b8b5160208d0151909b5099506060603f1982011215613a1157600080fd5b50613a1a612a91565b613a2660408d016138d0565b8152613a3460608d016138d0565b6020820152613a4560808d016138d0565b60408201529750613a5860a08c016138d0565b9650613a678c60c08d016133e9565b9550613a778c6101008d016138e6565b6101a08c01516101c08d01516101e08e015192975090955093506001600160401b03811115613aa557600080fd5b613ab18d828e01613961565b92505060006102008c01519050809150509295989b9194979a5092959850565b6001815b6001841115613b0c57808504811115613af057613af0613356565b6001841615613afe57908102905b60019390931c928002613ad5565b935093915050565b600082613b2357506001610e65565b81613b3057506000610e65565b8160018114613b465760028114613b5057613b6c565b6001915050610e65565b60ff841115613b6157613b61613356565b50506001821b610e65565b5060208310610133831016604e8410600b8410161715613b8f575081810a610e65565b613b9c6000198484613ad1565b8060001904821115613bb057613bb0613356565b029392505050565b600061108960ff841683613b14565b60006110898383613b14565b6101808101613be282856131d5565b82516101408301526020830151610160830152611089565b64ffffffffff8181168382160190811115610e6557610e65613356565b60ff8181168382160190811115610e6557610e65613356565b80820180821115610e6557610e65613356565b81810381811115610e6557610e6561335656fe30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001a2646970667358221220b6ed9d9aeba594ecbec3d829f35a09683e8d15b3016d2f1a98594d394728b39964736f6c634300081c0033",f=e=>"string"==typeof e[0]||Array.isArray(e[0])||"_isInterface"in e[0];class b extends a.ContractFactory{constructor(...e){if(f(e))super(...e);else{let[t,n]=e;super(r,b.linkBytecode(t),n)}}static linkBytecode(e){let t=i;return(t=(t=(t=t.replace(RegExp("__\\$ce9c2c925f157047e54fa833ec4e61409f\\$__","g"),e["contracts/crypto/PoseidonT5.sol:PoseidonT5"].replace(/^0x/,"").toLowerCase())).replace(RegExp("__\\$6574937f64fc1d7710ec0e28b7a36713bb\\$__","g"),e["contracts/crypto/PoseidonT3.sol:PoseidonT3"].replace(/^0x/,"").toLowerCase())).replace(RegExp("__\\$20527677031d76601747626a9845039fe4\\$__","g"),e["contracts/crypto/PoseidonT6.sol:PoseidonT6"].replace(/^0x/,"").toLowerCase())).replace(RegExp("__\\$dc01a9744591ab014bc46a3b7671cdaefb\\$__","g"),e["contracts/crypto/PoseidonT4.sol:PoseidonT4"].replace(/^0x/,"").toLowerCase())}getDeployTransaction(e){return super.getDeployTransaction(e||{})}deploy(e){return super.deploy(e||{})}connect(e){return super.connect(e)}static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.Poll__factory=b,b.bytecode=i,b.abi=r},37322:(e,t,n)=>{"use strict";
1Object.defineProperty(t,"__esModule",{value:!0}),t.SafeCast__factory=void 0;let a=n(27653),r=[{inputs:[{internalType:"uint8",name:"bits",type:"uint8"},{internalType:"int256",name:"value",type:"int256"}],name:"SafeCastOverflowedIntDowncast",type:"error"},{inputs:[{internalType:"int256",name:"value",type:"int256"}],name:"SafeCastOverflowedIntToUint",type:"error"},{inputs:[{internalType:"uint8",name:"bits",type:"uint8"},{internalType:"uint256",name:"value",type:"uint256"}],name:"SafeCastOverflowedUintDowncast",type:"error"},{inputs:[{internalType:"uint256",name:"value",type:"uint256"}],name:"SafeCastOverflowedUintToInt",type:"error"}],i="0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220f339f8e25e68a389c2a927bb23c6cb93c79c9384ea0005062ee031ef0df1d28e64736f6c634300081c0033",f=e=>e.length>1;class b extends a.ContractFactory{constructor(...e){f(e)?super(...e):super(r,i,e[0])}getDeployTransaction(e){return super.getDeployTransaction(e||{})}deploy(e){return super.deploy(e||{})}connect(e){return super.connect(e)}static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.SafeCast__factory=b,b.bytecode=i,b.abi=r},37499:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IERC721__factory=void 0;let a=n(27653),r=[{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"approved",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!1,internalType:"bool",name:"approved",type:"bool"}],name:"ApprovalForAll",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Transfer",type:"event"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"approve",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"balance",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"getApproved",outputs:[{internalType:"address",name:"operator",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"operator",type:"address"}],name:"isApprovedForAll",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"ownerOf",outputs:[{internalType:"address",name:"owner",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"safeTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"}],name:"safeTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"operator",type:"address"},{internalType:"bool",name:"approved",type:"bool"}],name:"setApprovalForAll",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"transferFrom",outputs:[],stateMutability:"nonpayable",type:"function"}];
1class i{static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.IERC721__factory=i,i.abi=r},37835:(e,t,n)=>{var a=n(17489),r=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,i=/\\(\\)?/g;e.exports=a(function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(r,function(e,n,a,r){t.push(a?r.replace(i,"$1"):n||e)}),t})},37929:e=>{e.exports=function(e,t,n){var a=-1,r=e.length;t<0&&(t=-t>r?0:r+t),(n=n>r?r:n)<0&&(n+=r),r=t>n?0:n-t>>>0,t>>>=0;for(var i=Array(r);++a<r;)i[a]=e[a+t];return i}},38008:(e,t,n)=>{e.exports=n(83711)(n(82500),"Set")},38649:(e,t,n)=>{var a=n(38675),r=n(43720),i=Object.prototype.propertyIsEnumerable,f=Object.getOwnPropertySymbols;e.exports=f?function(e){return null==e?[]:a(f(e=Object(e)),function(t){return i.call(e,t)})}:r},38675:e=>{e.exports=function(e,t){for(var n=-1,a=null==e?0:e.length,r=0,i=[];++n<a;){var f=e[n];t(f,n,e)&&(i[r++]=f)}return i}},38985:(e,t,n)=>{var a=n(7771),r=function(){var e=/[^.]+$/.exec(a&&a.keys&&a.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();e.exports=function(e){return!!r&&r in e}},39208:(e,t,n)=>{var a=n(63457),r=n(73726),i=n(96294);e.exports=function(e){return"function"!=typeof e.constructor||i(e)?{}:a(r(e))}},39219:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IVerifyingKeysRegistry__factory=void 0;let a=n(27653),r=[{inputs:[{internalType:"uint256",name:"_stateTreeDepth",type:"uint256"}],name:"getPollJoinedVerifyingKey",outputs:[{components:[{components:[{internalType:"uint256",name:"x",type:"uint256"},{internalType:"uint256",name:"y",type:"uint256"}],internalType:"struct Pairing.G1Point",name:"alpha1",type:"tuple"},{components:[{internalType:"uint256[2]",name:"x",type:"uint256[2]"},{internalType:"uint256[2]",name:"y",type:"uint256[2]"}],internalType:"struct Pairing.G2Point",name:"beta2",type:"tuple"},{components:[{internalType:"uint256[2]",name:"x",type:"uint256[2]"},{internalType:"uint256[2]",name:"y",type:"uint256[2]"}],internalType:"struct Pairing.G2Point",name:"gamma2",type:"tuple"},{components:[{internalType:"uint256[2]",name:"x",type:"uint256[2]"},{internalType:"uint256[2]",name:"y",type:"uint256[2]"}],internalType:"struct Pairing.G2Point",name:"delta2",type:"tuple"},{components:[{internalType:"uint256",name:"x",type:"uint256"},{internalType:"uint256",name:"y",type:"uint256"}],internalType:"struct Pairing.G1Point[]",name:"ic",type:"tuple[]"}],internalType:"struct SnarkCommon.VerifyingKey",name:"",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_stateTreeDepth",type:"uint256"}],name:"getPollJoiningVerifyingKey",outputs:[{components:[{components:[{internalType:"uint256",name:"x",type:"uint256"},{internalType:"uint256",name:"y",type:"uint256"}],internalType:"struct Pairing.G1Point",name:"alpha1",type:"tuple"},{components:[{internalType:"uint256[2]",name:"x",type:"uint256[2]"},{internalType:"uint256[2]",name:"y",type:"uint256[2]"}],internalType:"struct Pairing.G2Point",name:"beta2",type:"tuple"},{components:[{internalType:"uint256[2]",name:"x",type:"uint256[2]"},{internalType:"uint256[2]",name:"y",type:"uint256[2]"}],internalType:"struct Pairing.G2Point",name:"gamma2",type:"tuple"},{components:[{internalType:"uint256[2]",name:"x",type:"uint256[2]"},{internalType:"uint256[2]",name:"y",type:"uint256[2]"}],internalType:"struct Pairing.G2Point",name:"delta2",type:"tuple"},{components:[{internalType:"uint256",name:"x",type:"uint256"},{internalType:"uint256",name:"y",type:"uint256"}],internalType:"struct Pairing.G1Point[]",name:"ic",type:"tuple[]"}],internalType:"struct SnarkCommon.VerifyingKey",name:"",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_stateTreeDepth",type:"uint256"},{internalType:"uint256",name:"_voteOptionTreeDepth",type:"uint256"},{internalType:"uint8",name:"_messageBatchSize",type:"uint8"},{internalType:"enum DomainObjs.Mode",name:"_mode",type:"uint8"}],name:"getProcessVerifyingKey",outputs:[{components:[{components:[{internalType:"uint256",name:"x",type:"uint256"},{internalType:"uint256",name:"y",type:"uint256"}],internalType:"struct Pairing.G1Point",name:"alpha1",type:"tuple"},{components:[{internalType:"uint256[2]",name:"x",type:"uint256[2]"},{internalType:"uint256[2]",name:"y",type:"uint256[2]"}],internalType:"struct Pairing.G2Point",name:"beta2",type:"tuple"},{components:[{internalType:"uint256[2]",name:"x",type:"uint256[2]"},{internalType:"uint256[2]",name:"y",type:"uint256[2]"}],internalType:"struct Pairing.G2Point",name:"gamma2",type:"tuple"},{components:[{internalType:"uint256[2]",name:"x",type:"uint256[2]"},{internalType:"uint256[2]",name:"y",type:"uint256[2]"}],internalType:"struct Pairing.G2Point",name:"delta2",type:"tuple"},{components:[{internalType:"uint256",name:"x",type:"uint256"},{internalType:"uint256",name:"y",type:"uint256"}],internalType:"struct Pairing.G1Point[]",name:"ic",type:"tuple[]"}],internalType:"struct SnarkCommon.VerifyingKey",name:"",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_stateTreeDepth",type:"uint256"},{internalType:"uint256",name:"_intStateTreeDepth",type:"uint256"},{internalType:"uint256",name:"_voteOptionTreeDepth",type:"uint256"},{internalType:"enum DomainObjs.Mode",name:"_mode",type:"uint8"}],name:"getTallyVerifyingKey",outputs:[{components:[{components:[{internalType:"uint256",name:"x",type:"uint256"},{internalType:"uint256",name:"y",type:"uint256"}],internalType:"struct Pairing.G1Point",name:"alpha1",type:"tuple"},{components:[{internalType:"uint256[2]",name:"x",type:"uint256[2]"},{internalType:"uint256[2]",name:"y",type:"uint256[2]"}],internalType:"struct Pairing.G2Point",name:"beta2",type:"tuple"},{components:[{internalType:"uint256[2]",name:"x",type:"uint256[2]"},{internalType:"uint256[2]",name:"y",type:"uint256[2]"}],internalType:"struct Pairing.G2Point",name:"gamma2",type:"tuple"},{components:[{internalType:"uint256[2]",name:"x",type:"uint256[2]"},{internalType:"uint256[2]",name:"y",type:"uint256[2]"}],internalType:"struct Pairing.G2Point",name:"delta2",type:"tuple"},{components:[{internalType:"uint256",name:"x",type:"uint256"},{internalType:"uint256",name:"y",type:"uint256"}],internalType:"struct Pairing.G1Point[]",name:"ic",type:"tuple[]"}],internalType:"struct SnarkCommon.VerifyingKey",name:"",type:"tuple"}],stateMutability:"view",type:"function"}];
1class i{static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.IVerifyingKeysRegistry__factory=i,i.abi=r},39608:e=>{e.exports=Array.isArray},39710:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FreeForAllPolicy__factory=void 0;let a=n(27653),r=[{inputs:[],stateMutability:"payable",type:"constructor"},{inputs:[],name:"AlreadyEnforced",type:"error"},{inputs:[],name:"AlreadyInitialized",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:[],name:"TargetAlreadySet",type:"error"},{inputs:[],name:"TargetNotSet",type:"error"},{inputs:[],name:"TargetOnly",type:"error"},{inputs:[],name:"UnsuccessfulCheck",type:"error"},{inputs:[],name:"ZeroAddress",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"subject",type:"address"},{indexed:!0,internalType:"address",name:"guarded",type:"address"},{indexed:!1,internalType:"bytes",name:"evidence",type:"bytes"}],name:"Enforced",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"guarded",type:"address"}],name:"TargetSet",type:"event"},{inputs:[],name:"BASE_CHECKER",outputs:[{internalType:"contract BaseChecker",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"subject",type:"address"},{internalType:"bytes",name:"evidence",type:"bytes"}],name:"enforce",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"getAppendedBytes",outputs:[{internalType:"bytes",name:"appendedBytes",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[],name:"guarded",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"initialized",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_guarded",type:"address"}],name:"setTarget",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"trait",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"}],i="0x60806040523380602957604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b6030816035565b50608e565b600080546001600160a01b03838116610100818102610100600160a81b0319851617855560405193049190911692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35050565b61075c8061009d6000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c80637e164204116100715780637e1642041461012b5780638129fc1c1461013e5780638da5cb5b14610146578063b41a4b191461015c578063ce343deb14610171578063f2fde38b1461019757600080fd5b8063158ef93e146100ae5780631e898ef1146100d0578063715018a6146100e557806372f7a030146100ed578063776d1a0114610118575b600080fd5b6000546100bb9060ff1681565b60405190151581526020015b60405180910390f35b6100e36100de366004610553565b6101aa565b005b6100e36101e5565b600154610100906001600160a01b031681565b6040516001600160a01b0390911681526020016100c7565b6100e36101263660046105da565b6101f9565b600254610100906001600160a01b031681565b6100e361029c565b60005461010090046001600160a01b0316610100565b6101646102a4565b6040516100c79190610644565b60408051808201909152600a815269119c9959519bdc905b1b60b21b6020820152610164565b6100e36101a53660046105da565b6102b3565b6001546001600160a01b031633146101d557604051631f492dbf60e21b815260040160405180910390fd5b6101e08383836102f6565b505050565b6101ed6103d9565b6101f7600061040c565b565b6102016103d9565b6001600160a01b0381166102285760405163d92e233d60e01b815260040160405180910390fd5b6001546001600160a01b0316156102525760405163e0f2d7b160e01b815260040160405180910390fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040517f3bfb4bbf112628248058745a3c57e35b13369386e474b8e56c552f3063a4a19690600090a250565b6101f76104
165565b60606102ae6104c1565b905090565b6102bb6103d9565b6001600160a01b0381166102ea57604051631e4fbdf760e01b8152600060048201526024015b60405180910390fd5b6102f38161040c565b50565b60025460405163e2b2408560e01b81526001600160a01b039091169063e2b240859061032a90869086908690600401610680565b602060405180830381865afa158015610347573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061036b91906106ae565b61038857604051634715494560e01b815260040160405180910390fd5b6001546040516001600160a01b03918216918516907fc013b39287cb7a53f776482ac9573829321f002f31ef8782129b41d60047bda0906103cc90869086906106d0565b60405180910390a3505050565b6000546001600160a01b036101009091041633146101f75760405163118cdaa760e01b81523360048201526024016102e1565b600080546001600160a01b03838116610100818102610100600160a81b0319851617855560405193049190911692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35050565b61046d6104cc565b60006104776104c1565b90506000808280602001905181019061049091906106ec565b9150915061049d8261040c565b600280546001600160a01b0319166001600160a01b03929092169190911790555050565b60606102ae306104dd565b6104d461050c565b6101f73361040c565b60405164ffffffffff602c19833b0116808252602090810190602d908301843c60408101815101604052919050565b60005460ff161561052f5760405162dc149f60e41b815260040160405180910390fd5b6000805460ff19166001179055565b6001600160a01b03811681146102f357600080fd5b60008060006040848603121561056857600080fd5b83356105738161053e565b9250602084013567ffffffffffffffff81111561058f57600080fd5b8401601f810186136105a057600080fd5b803567ffffffffffffffff8111156105b757600080fd5b8660208284010111156105c957600080fd5b939660209190910195509293505050565b6000602082840312156105ec57600080fd5b81356105f78161053e565b9392505050565b6000815180845260005b8181101561062457602081850181015186830182015201610608565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006105f760208301846105fe565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b03841681526040602082018190526000906106a59083018486610657565b95945050505050565b6000602082840312156106c057600080fd5b815180151581146105f757600080fd5b6020815260006106e4602083018486610657565b949350505050565b600080604083850312156106ff57600080fd5b825161070a8161053e565b602084015190925061071b8161053e565b80915050925092905056fea264697066735822122089e6f48a389a1f15a9ad7a80de81e6579b346d67882544c102db56e828d31a3f64736f6c634300081c0033",f=e=>e.length>1;class b extends a.ContractFactory{constructor(...e){f(e)?super(...e):super(r,i,e[0])}getDeployTransaction(e){return super.getDeployTransaction(e||{})}deploy(e){return super.deploy(e||{})}connect(e){return super.connect(e)}static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.FreeForAllPolicy__factory=b,b.bytecode=i,b.abi=r},39732:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.HatsPolicyFactory__factory=void 0;let a=n(27653),r=[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"clone",type:"address"}],name:"CloneDeployed",type:"event"},{inputs:[],name:"IMPLEMENTATION",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"checkerAddress",type:"address"}],name:"deploy",outputs:[{internalType:"address",name:"clone",type:"address"}],stateMutability:"nonpayable",type:"function"}],i="0x60a0604052348015600f57600080fd5b50604051601a906046565b604051809103906000f0801580156035573d6000803e3d6000fd5b506001600160a01b03166080526053565b610889806102e183390190565b60805161026d6100746000396000818160400152610123015261026d6000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80633a4741bd1461003b5780634c96a3891461007e575b600080fd5b6100627f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b61006261008c36600461020e565b604080513360208201526001600160a01b0383168183015281518082038301815260609091019091526000906100c18161011c565b9150816001600160a01b0316638129fc1c6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156100fe57600080fd5b505af1158015610112573d6000803e3d6000fd5b5050505050919050565b60006101487f000000000000000000000000000000000000000000000000000000000000000083610184565b6040519091506001600160a01b038216907f2158cde9935cbf85d0b02e02fbc315ad0be2f3f017a603a2ebeedead21b8d60b90600090a2919050565b600061019260008484610199565b9392505050565b600060405182518060438301826020870160045afa506e5af43d82803e903d91602b57fd5bf360238301528460148301528060881b74fe61002d3d81600a3d39f3363d3d373d3d3d363d730182526037810161ffd38210600b01830187f092505050806101925763301164256000526004601cfd5b60006020828403121561022057600080fd5b81356001600160a01b038116811461019257600080fdfea26469706673582212202b45ff1e0a91cf162deab11ce7255387ab0a8e7af4006a76fc3bed355b48
1038864736f6c634300081c003360806040523380602957604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b6030816035565b50608e565b600080546001600160a01b03838116610100818102610100600160a81b0319851617855560405193049190911692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35050565b6107ec8061009d6000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c80637e164204116100715780637e164204146101595780638129fc1c1461016c5780638da5cb5b14610174578063b41a4b191461018a578063ce343deb1461019f578063f2fde38b146101bf57600080fd5b8063158ef93e146100b95780631e898ef1146100db5780633f553ed4146100f0578063715018a61461011357806372f7a0301461011b578063776d1a0114610146575b600080fd5b6000546100c69060ff1681565b60405190151581526020015b60405180910390f35b6100ee6100e93660046105e3565b6101d2565b005b6100c66100fe36600461066a565b60036020526000908152604090205460ff1681565b6100ee61020d565b60015461012e906001600160a01b031681565b6040516001600160a01b0390911681526020016100d2565b6100ee61015436600461066a565b610221565b60025461012e906001600160a01b031681565b6100ee6102c4565b60005461010090046001600160a01b031661012e565b6101926102cc565b6040516100d291906106d4565b6040805180820190915260048152634861747360e01b6020820152610192565b6100ee6101cd36600461066a565b6102db565b6001546001600160a01b031633146101fd57604051631f492dbf60e21b815260040160405180910390fd5b61020883838361031e565b505050565b610215610386565b61021f60006103b9565b565b610229610386565b6001600160a01b0381166102505760405163d92e233d60e01b815260040160405180910390fd5b6001546001600160a01b03161561027a5760405163e0f2d7b160e01b815260040160405180910390fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040517f3bfb4bbf112628248058745a3c57e35b13369386e474b8e56c552f3063a4a19690600090a250565b61021f610412565b60606102d661046e565b905090565b6102e3610386565b6001600160a01b03811661031257604051631e4fbdf760e01b8152600060048201526024015b60405180910390fd5b61031b816103b9565b50565b6001600160a01b03831660009081526003602052604090205460ff161561035857604051633440c93360e21b815260040160405180910390fd5b6001600160a01b0383166000908152600360205260409020805460ff19166001179055610208838383610479565b6000546001600160a01b0361010090910416331461021f5760405163118cdaa760e01b8152336004820152602401610309565b600080546001600160a01b03838116610100818102610100600160a81b0319851617855560405193049190911692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35050565b61041a61055c565b600061042461046e565b90506000808280602001905181019061043d91906106e7565b9150915061044a826103b9565b600280546001600160a01b0319166001600160a01b03929092169190911790555050565b60606102d63061056d565b60025460405163e2b2408560e01b81526001600160a01b039091169063e2b24085906104ad9086908690869060040161074a565b602060405180830381865afa1580156104ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ee9190610778565b61050b57604051634715494560e01b815260040160405180910390fd5b6001546040516001600160a01b03918216918516907fc013b39287cb7a53f776482ac9573829321f002f31ef8782129b41d60047bda09061054f908690869061079a565b60405180910390a3505050565b61056461059c565b61021f336103b9565b60405164ffffffffff602c19833b0116808252602090810190602d908301843c60408101815101604052919050565b60005460ff16156105bf5760405162dc149f60e41b815260040160405180910390fd5b6000805460ff19166001179055565b6001600160a01b038116811461031b57600080fd5b6000806000604084860312156105f857600080fd5b8335610603816105ce565b9250602084013567ffffffffffffffff81111561061f57600080fd5b8401601f8101861361063057600080fd5b803567ffffffffffffffff81111561064757600080fd5b86602082840101111561065957600080fd5b939660209190910195509293505050565b60006020828403121561067c57600080fd5b8135610687816105ce565b9392505050565b6000815180845260005b818110156106b457602081850181015186830182015201610698565b506000602082860101526020601f19601f83011685010191505092915050565b602081526000610687602083018461068e565b600080604083850312156106fa57600080fd5b8251610705816105ce565b6020840151909250610716816105ce565b809150509250929050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b038416815260406020820181905260009061076f9083018486610721565b95945050505050565b60006020828403121561078a57600080fd5b8151801515811461068757600080fd5b6020815260006107ae602083
1018486610721565b94935050505056fea264697066735822122093c5cb89362bdabeaf87afadbd0d43510d69d35c49d78753ba9ceea2cb561a5f64736f6c634300081c0033",f=e=>e.length>1;class b extends a.ContractFactory{constructor(...e){f(e)?super(...e):super(r,i,e[0])}getDeployTransaction(e){return super.getDeployTransaction(e||{})}deploy(e){return super.deploy(e||{})}connect(e){return super.connect(e)}static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.HatsPolicyFactory__factory=b,b.bytecode=i,b.abi=r},39880:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IPollFactory__factory=void 0;let a=n(27653),r=[{inputs:[{components:[{internalType:"uint256",name:"startDate",type:"uint256"},{internalType:"uint256",name:"endDate",type:"uint256"},{components:[{internalType:"uint8",name:"tallyProcessingStateTreeDepth",type:"uint8"},{internalType:"uint8",name:"voteOptionTreeDepth",type:"uint8"},{internalType:"uint8",name:"stateTreeDepth",type:"uint8"}],internalType:"struct Params.TreeDepths",name:"treeDepths",type:"tuple"},{internalType:"uint8",name:"messageBatchSize",type:"uint8"},{components:[{internalType:"uint256",name:"x",type:"uint256"},{internalType:"uint256",name:"y",type:"uint256"}],internalType:"struct DomainObjs.PublicKey",name:"coordinatorPublicKey",type:"tuple"},{components:[{internalType:"contract IMACI",name:"maci",type:"address"},{internalType:"contract IVerifier",name:"verifier",type:"address"},{internalType:"contract IVerifyingKeysRegistry",name:"verifyingKeysRegistry",type:"address"},{internalType:"contract IBasePolicy",name:"policy",type:"address"},{internalType:"contract IInitialVoiceCreditProxy",name:"initialVoiceCreditProxy",type:"address"}],internalType:"struct Params.ExtContracts",name:"extContracts",type:"tuple"},{internalType:"uint256",name:"emptyBallotRoot",type:"uint256"},{internalType:"uint256",name:"pollId",type:"uint256"},{internalType:"address[]",name:"relayers",type:"address[]"},{internalType:"uint256",name:"voteOptions",type:"uint256"}],internalType:"struct IPollFactory.DeployPollArgs",name:"_args",type:"tuple"}],name:"deploy",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"nonpayable",type:"function"}];class i{static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.IPollFactory__factory=i,i.abi=r},39898:function(e,t,n){"use strict";var a,r=this&&this.__createBinding||(Object.create?function(e,t,n,a){void 0===a&&(a=n);var r=Object.getOwnPropertyDescriptor(t,n);
1(!r||("get"in r?!t.__esModule:r.writable||r.configurable))&&(r={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,a,r)}:function(e,t,n,a){void 0===a&&(a=n),e[a]=t[n]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),f=this&&this.__importStar||(a=function(e){return(a=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t})(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n=a(e),f=0;f<n.length;f++)"default"!==n[f]&&r(t,e,n[f]);return i(t,e),t});Object.defineProperty(t,"__esModule",{value:!0}),t.IERC721Receiver__factory=t.IERC721__factory=t.ERC721__factory=t.extensions=void 0,t.extensions=f(n(94031));var b=n(32534);Object.defineProperty(t,"ERC721__factory",{enumerable:!0,get:function(){return b.ERC721__factory}});var s=n(37499);Object.defineProperty(t,"IERC721__factory",{enumerable:!0,get:function(){return s.IERC721__factory}});var o=n(35908);Object.defineProperty(t,"IERC721Receiver__factory",{enumerable:!0,get:function(){return o.IERC721Receiver__factory}})},40104:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ZupassPolicyFactory__factory=void 0;let a=n(27653),r=[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"clone",type:"address"}],name:"CloneDeployed",type:"event"},{inputs:[],name:"IMPLEMENTATION",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_checkerAddress",type:"address"}],name:"deploy",outputs:[{internalType:"address",name:"clone",type:"address"}],stateMutability:"nonpayable",type:"function"}],i="0x60a0604052348015600f57600080fd5b50604051601a906046565b604051809103906000f0801580156035573d6000803e3d6000fd5b506001600160a01b03166080526053565b610a5d806102e183390190565b60805161026d6100746000396000818160400152610123015261026d6000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80633a4741bd1461003b5780634c96a3891461007e575b600080fd5b6100627f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b61006261008c36600461020e565b604080513360208201526001600160a01b0383168183015281518082038301815260609091019091526000906100c18161011c565b9150816001600160a01b0316638129fc1c6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156100fe57600080fd5b505af1158015610112573d6000803e3d6000fd5b5050505050919050565b60006101487f000000000000000000000000000000000000000000000000000000000000000083610184565b6040519091506001600160a01b038216907f2158cde9935cbf85d0b02e02fbc315ad0be2f3f017a603a2ebeedead21b8d60b90600090a2919050565b600061019260008484610199565b9392505050565b600060405182518060438301826020870160045afa506e5af43d82803e903d91602b57fd5bf360238301528460148301528060881b74fe61002d3d81600a3d39f3363d3d373d3d3d363d730182526037810161ffd38210600b01830187f092505050806101925763301164256000526004601cfd5b60006020828403121561022057600080fd5b81356001600160a01b038116811461019257600080fdfea2646970667358221220358d220aa0ae7d50858c1de4904fda1d1aac6df9cb9b0e00f549df0cb3db7d6064736f6c634300081c003360806040523380602957604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b6030816035565b50608e565b600080546001600160a01b03838116610100818102610100600160a81b0319851617855560405193049190911692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35050565b6109c08061009d6000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c80638129fc1c116100715780638129fc1c146101495780638da5cb5b14610151578063a86c9aea14610167578063b41a4b191461018a578063ce343deb1461019f578063f2fde38b146101c157600080fd5b8063158ef93e146100b95780631e898ef1146100db578063715018a6146100f057806372f7a030146100f8578063776d1a01146101235780637e16420414610136575b600080fd5b6000546100c69060ff1681565b60405190151581526020015b60405180910390f35b6100ee6100e936600461060e565b6101d4565b005b6100ee61020f565b60015461010b906001600160a01b031681565b6040516001600160a01b0390911681526020016100d256
15b6100ee610131366004610695565b610223565b60025461010b906001600160a01b031681565b6100ee6102c6565b60005461010090046001600160a01b031661010b565b6100c66101753660046106b9565b60036020526000908152604090205460ff1681565b6101926102ce565b6040516100d29190610718565b6040805180820190915260068152655a757061737360d01b6020820152610192565b6100ee6101cf366004610695565b6102dd565b6001546001600160a01b031633146101ff57604051631f492dbf60e21b815260040160405180910390fd5b61020a838383610320565b505050565b6102176103b1565b61022160006103e4565b565b61022b6103b1565b6001600160a01b0381166102525760405163d92e233d60e01b815260040160405180910390fd5b6001546001600160a01b03161561027c5760405163e0f2d7b160e01b815260040160405180910390fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040517f3bfb4bbf112628248058745a3c57e35b13369386e474b8e56c552f3063a4a19690600090a250565b61022161043d565b60606102d8610499565b905090565b6102e56103b1565b6001600160a01b03811661031457604051631e4fbdf760e01b8152600060048201526024015b60405180910390fd5b61031d816103e4565b50565b600061032e828401846107c0565b9350505050600081600060268110610348576103486108a5565b602090810291909101516000818152600390925260409091205490915060ff161561038657604051633440c93360e21b815260040160405180910390fd5b6000818152600360205260409020805460ff191660011790556103aa8585856104a4565b5050505050565b6000546001600160a01b036101009091041633146102215760405163118cdaa760e01b815233600482015260240161030b565b600080546001600160a01b03838116610100818102610100600160a81b0319851617855560405193049190911692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35050565b610445610587565b600061044f610499565b90506000808280602001905181019061046891906108bb565b91509150610475826103e4565b600280546001600160a01b0319166001600160a01b03929092169190911790555050565b60606102d830610598565b60025460405163e2b2408560e01b81526001600160a01b039091169063e2b24085906104d89086908690869060040161091e565b602060405180830381865afa1580156104f5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610519919061094c565b61053657604051634715494560e01b815260040160405180910390fd5b6001546040516001600160a01b03918216918516907fc013b39287cb7a53f776482ac9573829321f002f31ef8782129b41d60047bda09061057a908690869061096e565b60405180910390a3505050565b61058f6105c7565b610221336103e4565b60405164ffffffffff602c19833b0116808252602090810190602d908301843c60408101815101604052919050565b60005460ff16156105ea5760405162dc149f60e41b815260040160405180910390fd5b6000805460ff19166001179055565b6001600160a01b038116811461031d57600080fd5b60008060006040848603121561062357600080fd5b833561062e816105f9565b9250602084013567ffffffffffffffff81111561064a57600080fd5b8401601f8101861361065b57600080fd5b803567ffffffffffffffff81111561067257600080fd5b86602082840101111561068457600080fd5b939660209190910195509293505050565b6000602082840312156106a757600080fd5b81356106b2816105f9565b9392505050565b6000602082840312156106cb57600080fd5b5035919050565b6000815180845260005b818110156106f8576020818501810151868301820152016106dc565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006106b260208301846106d2565b604051601f8201601f1916810167ffffffffffffffff8111828210171561076257634e487b7160e01b600052604160045260246000fd5b604052919050565b600082601f83011261077b57600080fd5b6000610787604061072b565b905080604084018581111561079b57600080fd5b845b818110156107b557803583526020928301920161079d565b509195945050505050565b6000806000806105c085870312156107d757600080fd5b6107e1868661076a565b935085605f8601126107f257600080fd5b60406107fd8161072b565b8060c088018981111561080f57600080fd5b8389015b81811015610834576108258b8261076a565b84526020909301928401610813565b508196506108428a8261076a565b9550505050506101008501600087601f83011261085d578081fd5b806104c061086a8161072b565b91508301818a82111561087b578384fd5b5b8185101561089457843581526020948501940161087c565b509699959850939650929450505050565b634e487b7160e01b600052603260045260246000fd5b600080604083850312156108ce57600080fd5b82516108d9816105f9565b60208401519092506108ea816105f9565b809150509250929050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b038416815260406020820181905260009061094390830184866108f5565b95945050505050565b60006020828403121561095e57600080fd5b815180151581146106b257600080fd5b602081526000610982602083
10184866108f5565b94935050505056fea26469706673582212200920cd39b909e3d9ab24e30d3475c22fa8f70235feba7a5bcdefa318d263aa8264736f6c634300081c0033",f=e=>e.length>1;class b extends a.ContractFactory{constructor(...e){f(e)?super(...e):super(r,i,e[0])}getDeployTransaction(e){return super.getDeployTransaction(e||{})}deploy(e){return super.deploy(e||{})}connect(e){return super.connect(e)}static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.ZupassPolicyFactory__factory=b,b.bytecode=i,b.abi=r},40118:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IHats__factory=t.HatsPolicyFactory__factory=t.HatsPolicy__factory=t.HatsCheckerFactory__factory=t.HatsChecker__factory=void 0;var a=n(73961);Object.defineProperty(t,"HatsChecker__factory",{enumerable:!0,get:function(){return a.HatsChecker__factory}});var r=n(67009);Object.defineProperty(t,"HatsCheckerFactory__factory",{enumerable:!0,get:function(){return r.HatsCheckerFactory__factory}});var i=n(73430);Object.defineProperty(t,"HatsPolicy__factory",{enumerable:!0,get:function(){return i.HatsPolicy__factory}});var f=n(39732);Object.defineProperty(t,"HatsPolicyFactory__factory",{enumerable:!0,get:function(){return f.HatsPolicyFactory__factory}});var b=n(45713);Object.defineProperty(t,"IHats__factory",{enumerable:!0,get:function(){return b.IHats__factory}})},40139:(e,t,n)=>{var a=n(98233),r=n(67460);e.exports=function(e){if(!r(e))return!1;var t=a(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t}},40382:(e,t,n)=>{e.exports=n(83711)(n(82500),"WeakMap")},40940:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BasePolicy__factory=void 0;let a=n(27653),r=[{inputs:[],name:"AlreadyEnforced",type:"error"},{inputs:[],name:"AlreadyInitialized",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:[],name:"TargetAlreadySet",type:"error"},{inputs:[],name:"TargetNotSet",type:"error"},{inputs:[],name:"TargetOnly",type:"error"},{inputs:[],name:"UnsuccessfulCheck",type:"error"},{inputs:[],name:"ZeroAddress",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"subject",type:"address"},{indexed:!0,internalType:"address",name:"guarded",type:"address"},{indexed:!1,internalType:"bytes",name:"evidence",type:"bytes"}],name:"Enforced",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"guarded",type:"address"}],name:"TargetSet",type:"event"},{inputs:[],name:"BASE_CHECKER",outputs:[{internalType:"contract BaseChecker",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"subject",type:"address"},{internalType:"bytes",name:"evidence",type:"bytes"}],name:"enforce",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"getAppendedBytes",outputs:[{internalType:"bytes",name:"appendedBytes",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[],name:"guarded",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"initialized",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_guarded",type:"address"}],name:"setTarget",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"trait",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"}];
1class i{static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.BasePolicy__factory=i,i.abi=r},41089:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PoseidonT3__factory=void 0;let a=n(27653),r=[{inputs:[{internalType:"uint256[2]",name:"input",type:"uint256[2]"}],name:"poseidon",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"pure",type:"function"}],i="0x61011f610039600b82828239805160001a607314602c57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361060335760003560e01c806329a5f2f6146038575b600080fd5b604960433660046071565b50600090565b60405190815260200160405180910390f35b634e487b7160e01b600052604160045260246000fd5b600060408284031215608257600080fd5b82601f830112609057600080fd5b6040516040810181811067ffffffffffffffff8211171560b05760b0605b565b806040525080604084018581111560c657600080fd5b845b8181101560de57803583526020928301920160c8565b50919594505050505056fea2646970667358221220c8c0aaa4c158e47707d85f4b06023754a6722d9af00315e2ba4b84348613836064736f6c634300081c0033",f=e=>e.length>1;class b extends a.ContractFactory{constructor(...e){f(e)?super(...e):super(r,i,e[0])}getDeployTransaction(e){return super.getDeployTransaction(e||{})}deploy(e){return super.deploy(e||{})}connect(e){return super.connect(e)}static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.PoseidonT3__factory=b,b.bytecode=i,b.abi=r},41333:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MaciState=void 0;let a=n(68681),r=n(92795),i=n(92473);class f{constructor(e){this.polls=new Map,this.publicKeys=[],this.totalSignups=0,this.copy=()=>{let e=new f(this.stateTreeDepth);return e.publicKeys=this.publicKeys.map(e=>e.copy()),e.polls=new Map(Array.from(this.polls,([e,t])=>[e,t.copy()])),e},this.equals=e=>{if(this.stateTreeDepth!==e.stateTreeDepth||this.polls.size!==e.polls.size||this.publicKeys.length!==e.publicKeys.length)return!1;for(let t=0;t<this.polls.size;t+=1)if(!this.polls.get(BigInt(t))?.equals(e.polls.get(BigInt(t))))return!1;for(let t=0;t<this.publicKeys.length;t+=1)if(!this.publicKeys[t].equals(e.publicKeys[t]))return!1;return!0},this.stateTreeDepth=e,this.publicKeys.push(a.padKey),this.totalSignups+=1}signUp(e){return this.totalSignups+=1,this.stateTree?.insert(e.hash()),this.publicKeys.push(e.copy())-1}deployPoll(e,t,n,a,f,b){let s=new r.Poll(e,a,t,{messageBatchSize:n,tallyBatchSize:i.STATE_TREE_ARITY**t.tallyProcessingStateTreeDepth},this,f,b);return this.polls.set(BigInt(this.polls.size),s),BigInt(this.polls.size-1)}deployNullPoll(){this.polls.set(BigInt(this.polls.size),null)}toJSON(){return{stateTreeDepth:this.stateTreeDepth,polls:Array.from(this.polls.values()).map(e=>e.toJSON()),publicKeys:this.publicKeys.map(e=>e.toJSON()),pollBeingProcessed:!!this.pollBeingProcessed,currentPollBeingProcessed:this.currentPollBeingProcessed?this.currentPollBeingProcessed.toString():"",totalSignups:this.totalSignups}}static fromJSON(e){let t=new f(e.stateTreeDepth);return t.publicKeys=e.publicKeys.map(e=>a.PublicKey.fromJSON(e)),t.pollBeingProcessed=e.pollBeingProcessed,t.currentPollBeingProcessed=BigInt(e.currentPollBeingProcessed),t.totalSignups=e.totalSignups,t.polls=new Map(e.polls.map((e,n)=>[BigInt(n),r.Poll.fromJSON(e,t)])),t}}t.MaciState=f},41368:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MerkleProof__factory=void 0;let a=n(27653),r=[{inputs:[],name:"MerkleProofInvalidMultiproof",type:"error"}],i="0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220fe11a84dcec38cfdf275004b28653e8d343f9a5fcf1994e0625bc604dd079a6964736f6c634300081c0033",f=e=>e.length>1;class b extends a.ContractFactory{constructor(...e){f(e)?super(...e):super(r,i,e[0])}getDeployTransaction(e){return super.getDeployTransaction(e||{})}deploy(e){return super.deploy(e||{})}connect(e){return super.connect(e)}static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.MerkleProof__factory=b,b.bytecode=i,b.abi=r},42669:(e,t,n)=>{"use strict";
1Object.defineProperty(t,"__esModule",{value:!0}),t.getPollContracts=t.getPollParams=t.getPoll=void 0;var a=n(6714);Object.defineProperty(t,"getPoll",{enumerable:!0,get:function(){return a.getPoll}}),Object.defineProperty(t,"getPollParams",{enumerable:!0,get:function(){return a.getPollParams}});var r=n(67380);Object.defineProperty(t,"getPollContracts",{enumerable:!0,get:function(){return r.getPollContracts}})},42737:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ERC20VotesInitialVoiceCreditProxyFactory__factory=void 0;let a=n(27653),r=[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"clone",type:"address"}],name:"CloneDeployed",type:"event"},{inputs:[],name:"IMPLEMENTATION",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"snapshotBlock",type:"uint256"},{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"factor",type:"uint256"}],name:"deploy",outputs:[{internalType:"address",name:"clone",type:"address"}],stateMutability:"nonpayable",type:"function"}],i="0x60a0604052348015600f57600080fd5b50604051601a906046565b604051809103906000f0801580156035573d6000803e3d6000fd5b506001600160a01b03166080526053565b6104b38061030883390190565b608051610294610074600039600081816040015261012f01526102946000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80633a4741bd1461003b5780636f24caaa1461007e575b600080fd5b6100627f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b61006261008c36600461021a565b60408051602081018590526001600160a01b0384168183015260608082018490528251808303909101815260809091019091526000906100cb81610128565b9150816001600160a01b0316638129fc1c6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561010857600080fd5b505af115801561011c573d6000803e3d6000fd5b50505050509392505050565b60006101547f000000000000000000000000000000000000000000000000000000000000000083610190565b6040519091506001600160a01b038216907f2158cde9935cbf85d0b02e02fbc315ad0be2f3f017a603a2ebeedead21b8d60b90600090a2919050565b600061019e600084846101a5565b9392505050565b600060405182518060438301826020870160045afa506e5af43d82803e903d91602b57fd5bf360238301528460148301528060881b74fe61002d3d81600a3d39f3363d3d373d3d3d363d730182526037810161ffd38210600b01830187f0925050508061019e5763301164256000526004601cfd5b60008060006060848
1603121561022f57600080fd5b8335925060208401356001600160a01b038116811461024d57600080fd5b92959294505050604091909101359056fea26469706673582212204c955efe720ae4319358d465f6b54040f2f1d235727c1840d470b9e001ab3df564736f6c634300081c00336080604052348015600f57600080fd5b506104948061001f6000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80638129fc1c1161005b5780638129fc1c146100c4578063b36543a9146100ce578063b41a4b19146100e1578063fc0c546a146100f657600080fd5b8063158ef93e146100825780631f90b2a5146100a457806354f703f8146100bb575b600080fd5b60005461008f9060ff1681565b60405190151581526020015b60405180910390f35b6100ad60015481565b60405190815260200161009b565b6100ad60035481565b6100cc610121565b005b6100ad6100dc3660046102ce565b61012b565b6100e96101c9565b60405161009b919061039a565b600254610109906001600160a01b031681565b6040516001600160a01b03909116815260200161009b565b6101296101d8565b565b600354600254600154604051630748d63560e31b8152600093926001600160a01b031691633a46b1a8916101779188916004016001600160a01b03929092168252602082015260400190565b602060405180830381865afa158015610194573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101b891906103e8565b6101c29190610401565b9392505050565b60606101d3610234565b905090565b6101e061023f565b60006101ea610234565b90506000806000838060200190518101906102059190610423565b600192909255600280546001600160a01b0319166001600160a01b039290921691909117905560035550505050565b60606101d330610271565b60005460ff16156102625760405162dc149f60e41b815260040160405180910390fd5b6000805460ff19166001179055565b60405164ffffffffff602c19833b0116808252602090810190602d908301843c60408101815101604052919050565b6001600160a01b03811681146102b557600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b600080604083850312156102e157600080fd5b82356102ec816102a0565b9150602083013567ffffffffffffffff81111561030857600080fd5b8301601f8101851361031957600080fd5b803567ffffffffffffffff811115610333576103336102b8565b604051601f8201601f19908116603f0116810167ffffffffffffffff81118282101715610362576103626102b8565b60405281815282820160200187101561037a57600080fd5b816020840160208301376000602083830101528093505050509250929050565b602081526000825180602084015260005b818110156103c857602081860181015160408684010152016103ab565b506000604082850101526040601f19601f83011684010191505092915050565b6000602082840312156103fa57600080fd5b5051919050565b60008261041e57634e487b7160e01b600052601260045260246000fd5b500490565b60008060006060848
1603121561043857600080fd5b8351602085015190935061044b816102a0565b604094909401519295939450919291505056fea2646970667358221220b58704815b48e443a7328fc9c4177b7e51617d908f169c7350b4bd4c3573fe1664736f6c634300081c0033",f=e=>e.length>1;class b extends a.ContractFactory{constructor(...e){f(e)?super(...e):super(r,i,e[0])}getDeployTransaction(e){return super.getDeployTransaction(e||{})}deploy(e){return super.deploy(e||{})}connect(e){return super.connect(e)}static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.ERC20VotesInitialVoiceCreditProxyFactory__factory=b,b.bytecode=i,b.abi=r},43021:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TallyFactory__factory=void 0;let a=n(27653),r=[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"clone",type:"address"}],name:"CloneDeployed",type:"event"},{inputs:[],name:"IMPLEMENTATION",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"MESSAGE_DATA_LENGTH",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_verifier",type:"address"},{internalType:"address",name:"_verifyingKeysRegistry",type:"address"},{internalType:"address",name:"_poll",type:"address"},{internalType:"address",name:"_messageProcessor",type:"address"},{internalType:"enum DomainObjs.Mode",name:"_mode",type:"uint8"}],name:"deploy",outputs:[{internalType:"address",name:"tallyAddress",type:"address"}],stateMutability:"nonpayable",type:"function"}],i="0x60a0604052348015600f57600080fd5b50604051601a906046565b604051809103906000f0801580156035573d6000803e3d6000fd5b506001600160a01b03166080526053565b61234a806103cb83390190565b60805161035761007460003960008181607b015261015701526103576000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c806336344873146100465780633a4741bd14610076578063683f3dc31461009d575b600080fd5b61005961005436600461025e565b6100b7565b6040516001600160a01b0390911681526020015b60405180910390f35b6100597f000000000000000000000000000000000000000000000000000000000000000081565b6100a5600a81565b60405160ff909116815260200161006d565b60008086868686866040516020016100d39594939291906102cb565b604051602081830303815290604052905060006100ef82610150565b9050806001600160a01b0316638129fc1c6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561012c57600080fd5b505af1158015610140573d6000803e3d6000fd5b50929a9950505050505050505050565b600061017c7f0000000000000000000000000000000000000000000000000000000000000000836101b8565b6040519091506001600160a01b038216907f2158cde9935cbf85d0b02e02fbc315ad0be2f3f017a603a2ebeedead21b8d60b90600090a2919050565b60006101c6600084846101cd565b9392505050565b600060405182518060438301826020870160045afa506e5af43d82803e903d91602b57fd5bf360238301528460148301528060881b74fe61002d3d81600a3d39f3363d3d373d3d3d363d730182526037810161ffd38210600b01830187f092505050806101c65763301164256000526004601cfd5b80356001600160a01b038116811461025957600080fd5b919050565b600080600080600060a0868803121561027657600080fd5b61027f86610242565b945061028d60208701610242565b935061029b60408701610242565b92506102a960608701610242565b91506080860135600381106102bd57600080fd5b809150509295509295909350565b6001600160a01b038681168252858116602083015284811660408301528316606082015260a081016003831061031157634e487b7160e01b600052602160045260246000fd5b826080830152969550505050505056fea26469706673582212200714e0de92d036d07b8f5978257d643aeb9e67ea1fb6dd62ddc6c1e2a9f18ba364736f6c634300081c00336080604052348015600f57600080fd5b5061232b8061001f6000396000f3fe608060405234801561001057600080fd5b50600436106101d95760003560e01c80638129fc1c11610104578063b41a4b19116100a2578063d13181b811610071578063d13181b81461044e578063e3ff760614610457578063e57fe1a01461045f578063fb346eab1461047257600080fd5b8063b41a4b1914610400578063b904438814610415578063bea140b314610428578063d0380fe21461043b57600080fd5b8063a21fb511116100de578063a21fb51114610363578063a2d718a414610376578063afb93bd314610389578063b0990c531461039257600080fd5b80638129fc1c146103355780639cfced971461033d578063a11752791461035057600080fd5b8063295a52121161017c5780635bb939951161014b5780635bb93995146102ec57806361750293146102ff57806362a361bb14610308578063683f3dc31461031b57600080fd5b8063295a52121461027a5780632b7ac3f31461029b5780633dfb88b2146102c657806358bfc379146102d957600080fd5b8063158ef93e116101b8578063158ef93e1461023957806316425eeb146102465780631b99d6691461025057806323e3feb11461026757600080fd5b80626abc8f146101de578063023650801461020657806310bc5f5114610226575b600080fd5b6101f16101ec3660046115e8565b61047b565b60405190151581526020015b60405180910390f35b6102196102143660046116a0565b610508565b6040516101fd91906116fe565b6101f1610234366004611718565b610646565b6000546101f19060ff1681565b61024e6106e3565b005b61025960095481565b6040519081526020016101fd565b61024e61027536600461175c565b6107fe565b60075461028e90600160a01b900460ff1681565b6040516101fd91906117c2565b6004546102ae906001600160a01b031681565b6040516001600160a01b0390911681526020016101fd565b6102596102d4366004611863565b610974565b6102596102e73660046118ef565b6109f5565b6102596102fa3660046116a0565b610a8f565b61025960015481565b61025961031636600461198a565b610aa8565b610323600a81565b60405160ff90911681526020016101fd565b61024e610ae2565b61025961034b3660046119cd565b610aea565b6006546102ae906001600160a01b031681565b6101f16103713660046115e8565b610b24565b6005546102ae906001600160a01b031681565b61025960025481565b6103e36103a0366004611a10565b6040805180820190915260008082526020820152506000908152600860209081526040918290208251808401909352805483526001015460ff1615159082015290565b6040805182518152602092830151151592810192909252016101fd565b610408610c14565b6040516101fd9190611a4d565b6101f1610423366004611a80565b610c23565b610259610436366004611ab7565b610eaf565b6007546102ae906001600160a01b031681565b61025960035481565b6101f1610ee9565b61024e61046d366004611afa565b611092565b610259600a5481565b600080600754600160a01b900460ff16600281111561049c5761049
1c61178a565b146104ba57604051630280e1e560e61b815260040160405180910390fd5b60006104c9858b8b8b8b61122c565b90506104d361156c565b838152602081018590526104e78288610a8f565b60408201526001546104f882610eaf565b149b9a5050505050505050505050565b6006546040805163ba5810fd60e01b815281516060936000936001600160a01b039091169263ba5810fd92600480830193928290030181865afa158015610553573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105779190611b4c565b5060408051600580825260c082019092529192506020820160a080368337019050509150600354826000815181106105b1576105b1611b36565b602002602001018181525050600154826001815181106105d3576105d3611b36565b60200260200101818152505082826002815181106105f3576105f3611b36565b602002602001018181525050838260038151811061061357610613611b36565b602002602001018181525050808260048151811061063357610633611b36565b6020026020010181815250505092915050565b600080600754600160a01b900460ff1660028111156106675761066761178a565b0361067f576106788585858561135b565b90506106db565b6001600754600160a01b900460ff16600281111561069f5761069f61178a565b14806106c857506002600754600160a01b900460ff1660028111156106c6576106c661178a565b145b156106db576106d8858585611395565b90505b949350505050565b600760009054906101000a90046001600160a01b03166001600160a01b0316638763d0c46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610736573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061075a9190611b70565b6107775760405163f13e1b8560e01b815260040160405180910390fd5b6003546000036107fc57600760009054906101000a90046001600160a01b03166001600160a01b031663d13181b86040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107f89190611b92565b6003555b565b6108066106e3565b6006546040805163ac98e5df60e01b815290516000926001600160a01b03169163ac98e5df9160048083019260609291908290030181865afa158015610850573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108749190611bab565b5050905060008160026108879190611cf5565b90506000816002546108999190611d04565b90506000600660009054906101000a90046001600160a01b03166001600160a01b031663ba5810fd6040518163ffffffff1660e01b81526004016040805180830381865afa1580156108ef573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109139190611b4c565b5090508082106109365760405163b3f8c18960e01b815260040160405180910390fd5b60028054600101905561094a828787610c23565b610967576040516341acf34d60e01b815260040160405180910390fd5b5050506001929092555050565b60405163248f667760e01b815260009073__$ce9c2c925f157047e54fa833ec4e61409f$__9063248f6677906109ae908590600401611d1b565b602060405180830381865af41580156109cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ef9190611b92565b92915050565b60007f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001600283604051602001610a2b9190611d4c565b60408051601f1981840301815290829052610a4591611d82565b602060405180830381855afa158015610a62573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610a859190611b92565b6109ef9190611db4565b6000610a9961158a565b838152602081018390526106db815b6040516314d2f97b60e11b815260009073__$6574937f64fc1d7710ec0e28b7a36713bb$__906329a5f2f6906109ae908590600401611dc8565b6107fc6113c7565b604051630926f44b60e31b815260009073__$20527677031d76601747626a9845039fe4$__90634937a258906109ae908590600401611df0565b600080610b34858b8b8b8b61122c565b90506000600754600160a01b900460ff166002811115610b5657610b5661178a565b03610b9257610b6361156c565b610b6d8288610a8f565b81526020810185905260408101849052600154610b8982610eaf565b14925050610c07565b6001600754600160a01b900460ff166002811115610bb257610bb261178a565b1480610bdb57506002600754600160a01b900460ff166002811115610bd957610bd961178a565b145b15610c0757610be861158a565b610bf28288610a8f565b8152602081018590526001546104f882610aa8565b5098975050505050505050565b6060610c1e611480565b905090565b6000806000600660009054906101000a90046001600160a01b03166001600160a01b031663ac98e5df6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610c7b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c9f9190611bab565b50915091506000610cb08787610508565b90506000600660009054906101000a90046001600160a01b03166001600160a01b0316638b6e7463604
10518163ffffffff1660e01b8152600401602060405180830381865afa158015610d07573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d2b9190611e2d565b90506000600560009054906101000a90046001600160a01b03166001600160a01b031663f3350299836001600160a01b031663652c76e46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d91573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610db59190611e4a565b60075460405160e084901b6001600160e01b0319168152610de892918a918a91600160a01b900460ff1690600401611e67565b600060405180830381865afa158015610e05573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e2d9190810190611f4f565b6004805460405163352a4d1560e01b81529293506001600160a01b03169163352a4d1591610e61918b9186918991016120bd565b602060405180830381865afa158015610e7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ea29190611b70565b9998505050505050505050565b6040516304b98e1d60e31b815260009073__$dc01a9744591ab014bc46a3b7671cdaefb$__906325cc70e8906109ae90859060040161219e565b600080600660009054906101000a90046001600160a01b03166001600160a01b031663ac98e5df6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610f3f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f639190611bab565b505090506000600660009054906101000a90046001600160a01b03166001600160a01b0316635ae9d4f16040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fbc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fe09190611b92565b90506000600660009054906101000a90046001600160a01b03166001600160a01b031663c24a0f8b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611037573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061105b9190611b92565b90504281111561106e576000935061108c565b8161107a846002611cf5565b6002546110879190611d04565b101593505b50505090565b61109a610ee9565b6110b757604051633e95b0b360e01b815260040160405180910390fd5b6006546040805163ac98e5df60e01b815290516000926001600160a01b03169163ac98e5df9160048083019260609291908290030181865afa158015611101573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111259190611bab565b5091506000905061113683806121c6565b9050905060005b818110156111e0576111d861115285806121c6565b8381811061116257611162611b36565b9050602002013585806020019061117991906121c6565b8481811061118957611189611b36565b905060200201358680604001906111a091906121c6565b858181106111b0576111b0611b36565b90506020028101906111c291906121c6565b8860a001358960e001358a61010001358a61148b565b60010161113d565b506000611200846060013585608001358660c00135876101000135610646565b9050806112205760405163e5d02d8b60e01b815260040160405180910390fd5b50505060600135600a55565b60008061123a600587611db4565b905084915060006112496115a8565b60005b8960ff168160ff16101561134e5760005b60058160ff16101561132057848160ff16036112935785838260ff166005811061128957611289611b36565b6020020152611310565b848160ff1611156112b0576112a9600182612217565b93506112b4565b8093505b87878360ff168181106112c9576112c9611b36565b90506020028101906112db91906121c6565b8560ff168181106112ee576112ee611b36565b90506020020135838260ff166005811061130a5761130a611b36565b60200201525b61131981612230565b905061125d565b5061132c60058a61224f565b985061133960058a611db4565b935061134482610aea565b945060010161124c565b5050505095945050505050565b600061136561156c565b8381526113728686610a8f565b60208201526040810183905260015461138a82610eaf565b149695505050505050565b600061139f61158a565b8281526113ac8585610a8f565b60208201526001546113bd82610aa8565b1495945050505050565b6113cf61150b565b60006113d9611480565b90506000806000806000858060200190518101906113f79190612263565b600480546001600160a01b038088166001600160a01b03199283161790925560058054838816908316179055600680548387169083161790556007805492851691831682178155969b5094995092975090955093508392916001600160a81b031990911617600160a01b8360028111156114735761147361178a565b0217905550505050505050565b6060610c1e3061153d565b600061149d8989898989878a8a610b24565b9050806114bd576040516341acf34d60e01b815260040160405180910390fd5b6000898152600860205260409020600181015460ff166114fd576001818101805460ff19169091179055600980549060006114f7836122dc565b91905055505b979097555050505050505050565b60005460ff161561152e5760405162dc149f60e41b815260040160405180910390fd5b6000805460ff19166001179055565b60405164ffffffffff602c19833b0116808252602090810190602d908301843c60408101815101604052919050565b60405180606001604052806003906020820280368337509192915050565b60405180604001604052806002906020820280368337509192915050565b6040518060a001604052806005906020820280368337509192915050565b60ff811681146115d557600080fd5b50565b80356115e3816115c6
1565b919050565b60008060008060008060008060e0898b03121561160457600080fd5b8835975060208901359650604089013567ffffffffffffffff81111561162957600080fd5b8901601f81018b1361163a57600080fd5b803567ffffffffffffffff81111561165157600080fd5b8b60208260051b840101111561166657600080fd5b602091909101965094506060890135935061168360808a016115d8565b979a969950949793969295929450505060a08201359160c0013590565b600080604083850312156116b357600080fd5b50508035926020909101359150565b600081518084526020840193506020830160005b828110156116f45781518652602095860195909101906001016116d6565b5093949350505050565b60208152600061171160208301846116c2565b9392505050565b6000806000806080858703121561172e57600080fd5b5050823594602084013594506040840135936060013592509050565b8061010081018310156109ef57600080fd5b600080610120838503121561177057600080fd5b82359150611781846020850161174a565b90509250929050565b634e487b7160e01b600052602160045260246000fd5b600381106117be57634e487b7160e01b600052602160045260246000fd5b9052565b602081016109ef82846117a0565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715611809576118096117d0565b60405290565b60405160a0810167ffffffffffffffff81118282101715611809576118096117d0565b604051601f8201601f1916810167ffffffffffffffff8111828210171561185b5761185b6117d0565b604052919050565b60006080828403121561187557600080fd5b600083601f840112611885578081fd5b806118906080611832565b905080915060808401858111156118a657600080fd5b845b818110156118c05780358452602093840193016118a8565b509095945050505050565b600067ffffffffffffffff8211156118e5576118e56117d0565b5060051b60200190565b60006020828403121561190157600080fd5b813567ffffffffffffffff81111561191857600080fd5b8201601f8101841361192957600080fd5b803561193c611937826118cb565b611832565b8082825260208201915060208360051b85010192508683111561195e57600080fd5b6020840193505b82841015611980578335825260209384019390910190611965565b9695505050505050565b60006040828403121561199c57600080fd5b600083601f8401126119ac578081fd5b806119b76040611832565b905080915060408401858111156118a657600080fd5b600060a082840312156119df57600080fd5b600083601f8401126119ef578081fd5b806119fa60a0611832565b905080915060a08401858111156118a657600080fd5b600060208284031215611a2257600080fd5b5035919050565b60005b83811015611a44578181015183820152602001611a2c565b50506000910152565b6020815260008251806020840152611a6c816040850160208701611a29565b601f01601f19169190910160400192915050565b60008060006101408486031215611a9657600080fd5b8335925060208401359150611aae856040860161174a565b90509250925092565b600060608284031215611ac957600080fd5b600083601f840112611ad9578081fd5b80611ae46060611832565b905080915060608401858111156118a657600080fd5b600060208284031215611b0c57600080fd5b813567ffffffffffffffff811115611b2357600080fd5b8201610120818503121561171157600080fd5b634e487b7160e01b600052603260045260246000fd5b60008060408385031215611b5f57600080fd5b505080516020909101519092909150565b600060208284031215611b8257600080fd5b8151801515811461171157600080fd5b600060208284031215611ba457600080fd5b5051919050565b60008060006060848
16031215611bc057600080fd5b8351611bcb816115c6565b6020850151909350611bdc816115c6565b6040850151909250611bed816115c6565b809150509250925092565b634e487b7160e01b600052601160045260246000fd5b6001815b6001841115611c4957808504811115611c2d57611c2d611bf8565b6001841615611c3b57908102905b60019390931c928002611c12565b935093915050565b600082611c60575060016109ef565b81611c6d575060006109ef565b8160018114611c835760028114611c8d57611ca9565b60019150506109ef565b60ff841115611c9e57611c9e611bf8565b50506001821b6109ef565b5060208310610133831016604e8410600b8410161715611ccc575081810a6109ef565b611cd96000198484611c0e565b8060001904821115611ced57611ced611bf8565b029392505050565b600061171160ff841683611c51565b80820281158282048414176109ef576109ef611bf8565b60808101818360005b6004811015611d43578151835260209283019290910190600101611d24565b50505092915050565b8151600090829060208501835b82811015611d77578151845260209384019390910190600101611d59565b509195945050505050565b60008251611d94818460208701611a29565b9190910192915050565b634e487b7160e01b600052601260045260246000fd5b600082611dc357611dc3611d9e565b500690565b60408101818360005b6002811015611d43578151835260209283019290910190600101611dd1565b60a08101818360005b6005811015611d43578151835260209283019290910190600101611df9565b6001600160a01b03811681146115d557600080fd5b600060208284031215611e3f57600080fd5b815161171181611e18565b600060208284031215611e5c57600080fd5b8151611711816115c6565b60ff858116825284811660208301528316604082015260808101611e8e60608301846117a0565b95945050505050565b600060408284031215611ea957600080fd5b611eb16117e6565b825181526020928301519281019290925250919050565b600082601f830112611ed957600080fd5b611ee36040611832565b806040840185811115611ef557600080fd5b845b818110156118c0578051845260209384019301611ef7565b600060808284031215611f2157600080fd5b611f296117e6565b9050611f358383611ec8565b8152611f448360408401611ec8565b602082015292915050565b600060208284031215611f6157600080fd5b815167ffffffffffffffff811115611f7857600080fd5b82016101e08185031215611f8b57600080fd5b611f9361180f565b611f9d8583611e97565b8152611fac8560408401611f0f565b6020820152611fbe8560c08401611f0f565b6040820152611fd1856101408401611f0f565b60608201526101c082015167ffffffffffffffff811115611ff157600080fd5b80830192505084601f83011261200657600080fd5b8151612014611937826118cb565b8082825260208201915060208360061b86010192508783111561203657600080fd5b6020850194505b828510156120625761204f8886611e97565b825260208201915060408501945061203d565b6080840152509095945050505050565b8060005b6002811015612095578151845260209384019390910190600101612076565b50505050565b6120a6828251612072565b60208101516120b86040840182612072565b505050565b610100848237610140610100820152600061032082016120ec6101408401865180518252602090810151910152565b60208501516120ff61018085018261209b565b50604085015161211361020085018261209b565b50606085015161212761028085018261209b565b5060808501516101e0610300850152805191829052602001906000906103408501905b8083101561217e5761216782855180518252602090810151910152565b60408201915060208401935060018301925061214a565b5084810361012086015261219281876116c2565b98975050505050505050565b60608101818360005b6003811015611d435781518352602092830192909101906001016121a7565b6000808335601e198436030181126121dd57600080fd5b83018035915067ffffffffffffffff8211156121f857600080fd5b6020019150600581901b360382131561221057600080fd5b9250929050565b60ff82811682821603908111156109ef576109ef611bf8565b600060ff821660ff810361224657612246611bf8565b60010192915050565b60008261225e5761225e611d9e565b500490565b600080600080600060a0868803121561227b57600080fd5b855161228681611e18565b602087015190955061229781611e18565b60408701519094506122a881611e18565b60608701519093506122b981611e18565b6080870151909250600381106122ce57600080fd5b809150509295509295909350565b6000600182016122ee576122ee611bf8565b506001019056fea2646970667358221220e5c6928a39897996fde581335eb319b655d165174f3b1fecd3f7a113f0043adf64736f6c634300081c0033",f=e=>"string"==typeof e[0]||Array.isArray(e[0])||"_isInterface"in e[0];class b extends a.ContractFactory{constructor(...e){if(f(e))super(...e);else{let[t,n]=e;super(r,b.linkBytecode(t),n)}}static linkBytecode(e){let t=i;return(t=(t=(t=t.replace(RegExp("__\\$ce9c2c925f157047e54fa833ec4e61409f\\$__","g"),e["contracts/crypto/PoseidonT5.sol:PoseidonT5"].replace(/^0x/,"").toLowerCase())).replace(RegExp("__\\$6574937f64fc1d7710ec0e28b7a36713bb\\$__","g"),e["contracts/crypto/PoseidonT3.sol:PoseidonT3"].replace(/^0x/,"").toLowerCase())).replace(RegExp("__\\$20527677031d76601747626a9845039fe4\\$__","g"),e["contracts/crypto/PoseidonT6.sol:PoseidonT6"].replace(/^0x/,"").toLowerCase())).replace(RegExp("__\\$dc01a9744591ab014bc46a3b7671cdaefb\\$__","g"),e["contracts/crypto/PoseidonT4.sol:PoseidonT4"].replace(/^0x/,"").toLowerCase())}getDeployTransaction(e){return super.getDeployTransaction(e||{})}deploy(e){return super.deploy(e||{})}connect(e){return super.connect(e)}static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.TallyFactory__factory=b,b.bytecode=i,b.abi=r},43720:e=>{e.exports=function(){return[]}},43727:(e,t,n)=>{"use strict";
1Object.defineProperty(t,"__esModule",{value:!0}),t.Strings__factory=void 0;let a=n(27653),r=[{inputs:[{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256",name:"length",type:"uint256"}],name:"StringsInsufficientHexLength",type:"error"},{inputs:[],name:"StringsInvalidAddressFormat",type:"error"},{inputs:[],name:"StringsInvalidChar",type:"error"}],i="0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220d25119d96a0b6c751ed6c6aa81db3c845d0181659d29e3646b022356a5139e5364736f6c634300081c0033",f=e=>e.length>1;class b extends a.ContractFactory{constructor(...e){f(e)?super(...e):super(r,i,e[0])}getDeployTransaction(e){return super.getDeployTransaction(e||{})}deploy(e){return super.deploy(e||{})}connect(e){return super.connect(e)}static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.Strings__factory=b,b.bytecode=i,b.abi=r},44101:(e,t,n)=>{e.exports=n(83711)(n(82500),"DataView")},44158:e=>{e.exports=function(){return!1}},44482:(e,t,n)=>{var a=n(98233),r=n(73726),i=n(48611),f=Object.prototype,b=Function.prototype.toString,s=f.hasOwnProperty,o=b.call(Object);e.exports=function(e){if(!i(e)||"[object Object]"!=a(e))return!1;var t=r(e);if(null===t)return!0;var n=s.call(t,"constructor")&&t.constructor;return"function"==typeof n&&n instanceof n&&b.call(n)==o}},44618:(e,t,n)=>{"use strict";let a,r,i,f,b,s,o,c,d,u,l,p,y,m,h,g;n.d(t,{_y:()=>fD,cP:()=>fB});var T={};n.r(T),n.d(T,{OG:()=>rD,My:()=>rO,Ph:()=>rx,lX:()=>rS,Id:()=>rj,fg:()=>rV,qj:()=>rB,aT:()=>rE,lq:()=>rR,z:()=>rk,Q5:()=>rL});var _=n(29592);function v(e,t,n){if(e instanceof Uint8Array)return n?new Uint8Array(e):e;if("string"==typeof e&&e.match(/^0x(?:[0-9a-f][0-9a-f])*$/i)){let t=new Uint8Array((e.length-2)/2),n=2;for(let a=0;a<t.length;a++)t[a]=parseInt(e.substring(n,n+2),16),n+=2;return t}(0,_.MR)(!1,"invalid BytesLike value",t||"value",e)}function w(e,t){return v(e,t,!1)}function P(e,t){return v(e,t,!0)}function A(e,t){return"string"==typeof e&&!!e.match(/^0x[0-9A-Fa-f]*$/)&&("number"!=typeof t||e.length===2+2*t)&&(!0!==t||e.length%2==0)}function M(e){return A(e,!0)||e instanceof Uint8Array}let I="0123456789abcdef";function O(e){let t=w(e),n="0x";for(let e=0;e<t.length;e++){let a=t[e];n+=I[(240&a)>>4]+I[15&a]}return n}function C(e){return"0x"+e.map(e=>O(e).substring(2)).join("")}function E(e){return A(e,!0)?(e.length-2)/2:w(e).length}function x(e,t,n){let a=w(e);return null!=n&&n>a.length&&(0,_.vA)(!1,"cannot slice beyond data bounds","BUFFER_OVERRUN",{buffer:a,length:a.length,offset:n}),O(a.slice(null==t?0:t,null==n?a.length:n))}function S(e,t,n){let a=w(e);(0,_.vA)(t>=a.length,"padding exceeds data length","BUFFER_OVERRUN",{buffer:new Uint8Array(a),length:t,offset:t+1});let r=new Uint8Array(t);return r.fill(0),n?r.set(a,t-a.length):r.set(a,0),O(r)}function R(e,t){return S(e,t,!0)}let k=BigInt(0),B=BigInt(1);function j(e,t){let n=F(e,"value"),a=BigInt(L(t,"width")),r=B<<a-B;return n<k?(n=-n,(0,_.vA)(n<=r,"too low","NUMERIC_FAULT",{operation:"toTwos",fault:"overflow",value:e}),(~n&(B<<a)-B)+B):((0,_.vA)(n<r,"too high","NUMERIC_FAULT",{operation:"toTwos",fault:"overflow",value:e}),n)}function D(e,t){return N(e,"value")&(B<<BigInt(L(t,"bits")))-B}function F(e,t){switch(typeof e){case"bigint":return e;case"number":return(0,_.MR)(Number.isInteger(e),"underflow",t||"value",e),(0,_.MR)(e>=-0x1fffffffffffff&&e<=0x1fffffffffffff,"overflow",t||"value",e),BigInt(e);case"string":try{if(""===e)throw Error("empty string");if("-"===e[0]&&"-"!==e[1])return-BigInt(e.substring(1));return BigInt(e)}catch(n){(0,_.MR)(!1,`invalid BigNumberish string: ${n.message}`,t||"value",e)}}(0,_.MR)(!1,"invalid BigNumberish value",t||"value",e)}function N(e,t){let n=F(e,t);return(0,_.vA)(n>=k,"unsigned value cannot be negative","NUMERIC_FAULT",{fault:"overflow",operation:"getUint",value:e}),n}let V="0123456789abcdef";function U(e){if(e instanceof Uint8Array){let t="0x0";for(let n of e)t+=V[n>>4],t+=V[15&n];return BigInt(t)}return F(e)}function L(e,t){switch(typeof e){case"bigint":return(0,_.MR)(e>=-0x1fffffffffffff&&e<=0x1fffffffffffff,"overflow",t||"value",e),Number(e);case"number":return(0,_.MR)(Number.isInteger(e),"underflow",t||"value",e),(0,_.MR)(e>=-0x1fffffffffffff&&e<=0x1fffffffffffff,"overflow",t||"value",e),e;
1case"string":try{if(""===e)throw Error("empty string");return L(BigInt(e),t)}catch(n){(0,_.MR)(!1,`invalid numeric string: ${n.message}`,t||"value",e)}}(0,_.MR)(!1,"invalid numeric value",t||"value",e)}function K(e,t){let n=N(e,"value").toString(16);if(null==t)n.length%2&&(n="0"+n);else{let a=L(t,"width");for((0,_.vA)(2*a>=n.length,`value exceeds width (${a} bytes)`,"NUMERIC_FAULT",{operation:"toBeHex",fault:"overflow",value:e});n.length<2*a;)n="0"+n}return"0x"+n}function G(e){let t=N(e,"value");if(t===k)return new Uint8Array([]);let n=t.toString(16);n.length%2&&(n="0"+n);let a=new Uint8Array(n.length/2);for(let e=0;e<a.length;e++){let t=2*e;a[e]=parseInt(n.substring(t,t+2),16)}return a}function z(e){let t=O(M(e)?e:G(e)).substring(2);for(;t.startsWith("0");)t=t.substring(1);return""===t&&(t="0"),"0x"+t}var H=n(50797);let J=new Uint8Array(32),Q=["then"],q={},Z=new WeakMap;function $(e){return Z.get(e)}function Y(e,t){let n=Error(`deferred error during ABI decoding triggered accessing ${e}`);throw n.error=t,n}class W extends Array{#n;constructor(...e){var t,n;let a=e[0],r=e[1],i=(e[2]||[]).slice(),f=!0;a!==q&&(r=e,i=[],f=!1),super(r.length),r.forEach((e,t)=>{this[t]=e});let b=i.reduce((e,t)=>("string"==typeof t&&e.set(t,(e.get(t)||0)+1),e),new Map);if(t=Object.freeze(r.map((e,t)=>{let n=i[t];return null!=n&&1===b.get(n)?n:null})),Z.set(this,t),this.#n=[],null==this.#n&&this.#n,!f)return;Object.freeze(this);let s=new Proxy(this,{get:(e,t,n)=>{if("string"==typeof t){if(t.match(/^[0-9]+$/)){let n=L(t,"%index");if(n<0||n>=this.length)throw RangeError("out of result range");let a=e[n];return a instanceof Error&&Y(`index ${n}`,a),a}if(Q.indexOf(t)>=0)return Reflect.get(e,t,n);let a=e[t];if(a instanceof Function)return function(...t){return a.apply(this===n?e:this,t)};if(!(t in e))return e.getValue.apply(this===n?e:this,[t])}return Reflect.get(e,t,n)}});return n=$(this),Z.set(s,n),s}toArray(e){let t=[];return this.forEach((n,a)=>{n instanceof Error&&Y(`index ${a}`,n),e&&n instanceof W&&(n=n.toArray(e)),t.push(n)}),t}toObject(e){let t=$(this);return t.reduce((n,a,r)=>((0,_.vA)(null!=a,`value at index ${r} unnamed`,"UNSUPPORTED_OPERATION",{operation:"toObject()"}),function e(t,n,a){return t.indexOf(null)>=0?n.map((t,n)=>t instanceof W?e($(t),t,a):t):t.reduce((t,r,i)=>{let f=n.getValue(r);return r in t||(a&&f instanceof W&&(f=e($(f),f,a)),t[r]=f),t},{})}(t,this,e)),{})}slice(e,t){null==e&&(e=0),e<0&&(e+=this.length)<0&&(e=0),null==t&&(t=this.length),t<0&&(t+=this.length)<0&&(t=0),t>this.length&&(t=this.length);let n=$(this),a=[],r=[];for(let i=e;i<t;i++)a.push(this[i]),r.push(n[i]);return new W(q,a,r)}filter(e,t){let n=$(this),a=[],r=[];for(let i=0;i<this.length;i++){let f=this[i];f instanceof Error&&Y(`index ${i}`,f),e.call(t,f,i,this)&&(a.push(f),r.push(n[i]))}return new W(q,a,r)}map(e,t){let n=[];for(let a=0;a<this.length;a++){let r=this[a];r instanceof Error&&Y(`index ${a}`,r),n.push(e.call(t,r,a,this))}return n}getValue(e){let t=$(this).indexOf(e);if(-1===t)return;let n=this[t];return n instanceof Error&&Y(`property ${JSON.stringify(e)}`,n.error),n}static fromItems(e,t){return new W(q,e,t)}}function X(e){let t=G(e);return(0,_.vA)(t.length<=32,"value out-of-bounds","BUFFER_OVERRUN",{buffer:t,length:32,offset:t.length}),32!==t.length&&(t=P(C([J.slice(t.length%32),t]))),t}class ee{name;type;localName;dynamic;constructor(e,t,n,a){(0,H.n)(this,{name:e,type:t,localName:n,dynamic:a},{name:"string",type:"string",localName:"string",dynamic:"boolean"})}_throwError(e,t){(0,_.MR)(!1,e,this.localName,t)}}class et{#a;#r;constructor(){this.#a=[],this.#r=0}get data(){return C(this.#a)}get length(){return this.#r}#i(e){return this.#a.push(e),this.#r+=e.length,e.length}appendWriter(e){return this.#i(P(e.data))}writeBytes(e){let t=P(e),n=t.length%32;return n&&(t=P(C([t,J.slice(n)]))),this.#i(t)}writeValue(e){return this.#i(X(e))}writeUpdatableValue(){let e=this.#a.length;return this.#a.push(J),this.#r+=32,t=>{this.#a[e]=X(t)}}}class en{allowLoose;#a;#f;#b;#s;#o;constructor(e,t,n){(0,H.n)(this,{allowLoose:!!t}),this.#a=P(e),this.#b=0,this.#s=null,this.#o=null!=n?n:1024,this.#f=0}get data(){return O(this.#a)}get dataLength(){return this.#a.length}get consumed(){return this.#f}get bytes(){return new Uint8Array(this.#a)}#c(e){if(this.#s)return this.#s.#c(e);this.#b+=e,(0,_.vA)(this.#o<1||this.#b<=this.#o*this.dataLength,`c
1ompressed ABI data exceeds inflation ratio of ${this.#o} ( see: https://github.com/ethers-io/ethers.js/issues/4537 )`,"BUFFER_OVERRUN",{buffer:P(this.#a),offset:this.#f,length:e,info:{bytesRead:this.#b,dataLength:this.dataLength}})}#d(e,t,n){let a=32*Math.ceil(t/32);return this.#f+a>this.#a.length&&(this.allowLoose&&n&&this.#f+t<=this.#a.length?a=t:(0,_.vA)(!1,"data out-of-bounds","BUFFER_OVERRUN",{buffer:P(this.#a),length:this.#a.length,offset:this.#f+a})),this.#a.slice(this.#f,this.#f+a)}subReader(e){let t=new en(this.#a.slice(this.#f+e),this.allowLoose,this.#o);return t.#s=this,t}readBytes(e,t){let n=this.#d(0,e,!!t);return this.#c(e),this.#f+=n.length,n.slice(0,e)}readValue(){return U(this.readBytes(32))}readIndex(){return L(U(this.readBytes(32)))}}function ea(e){if(!Number.isSafeInteger(e)||e<0)throw Error(`Wrong positive integer: ${e}`)}function er(e,...t){if(!(e instanceof Uint8Array))throw Error("Expected Uint8Array");if(t.length>0&&!t.includes(e.length))throw Error(`Expected Uint8Array of length ${t}, not of length=${e.length}`)}function ei(e,t=!0){if(e.destroyed)throw Error("Hash instance has been destroyed");if(t&&e.finished)throw Error("Hash#digest() has already been called")}function ef(e,t){er(e);let n=t.outputLen;if(e.length<n)throw Error(`digestInto() expects output buffer of length at least ${n}`)}let eb=BigInt(0x100000000-1),es=BigInt(32);function eo(e,t=!1){let n=new Uint32Array(e.length),a=new Uint32Array(e.length);for(let r=0;r<e.length;r++){let{h:i,l:f}=function(e,t=!1){return t?{h:Number(e&eb),l:Number(e>>es&eb)}:{h:0|Number(e>>es&eb),l:0|Number(e&eb)}}(e[r],t);[n[r],a[r]]=[i,f]}return[n,a]}let ec=(e,t,n)=>e<<n|t>>>32-n,ed=(e,t,n)=>t<<n|e>>>32-n,eu=(e,t,n)=>t<<n-32|e>>>64-n,el=(e,t,n)=>e<<n-32|t>>>64-n,ep={split:eo,shrSH:(e,t,n)=>e>>>n,shrSL:(e,t,n)=>e<<32-n|t>>>n,rotrSH:(e,t,n)=>e>>>n|t<<32-n,rotrSL:(e,t,n)=>e<<32-n|t>>>n,rotrBH:(e,t,n)=>e<<64-n|t>>>n-32,rotrBL:(e,t,n)=>e>>>n-32|t<<64-n,add:function(e,t,n,a){let r=(t>>>0)+(a>>>0);return{h:e+n+(r/0x100000000|0)|0,l:0|r}},add3L:(e,t,n)=>(e>>>0)+(t>>>0)+(n>>>0),add3H:(e,t,n,a)=>t+n+a+(e/0x100000000|0)|0,add4L:(e,t,n,a)=>(e>>>0)+(t>>>0)+(n>>>0)+(a>>>0),add4H:(e,t,n,a,r)=>t+n+a+r+(e/0x100000000|0)|0,add5H:(e,t,n,a,r,i)=>t+n+a+r+i+(e/0x100000000|0)|0,add5L:(e,t,n,a,r)=>(e>>>0)+(t>>>0)+(n>>>0)+(a>>>0)+(r>>>0)},ey="object"==typeof globalThis&&"crypto"in globalThis?globalThis.crypto:void 0,em=e=>e instanceof Uint8Array,eh=e=>new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4)),eg=e=>new DataView(e.buffer,e.byteOffset,e.byteLength),eT=(e,t)=>e<<32-t|e>>>t;if(68!==new Uint8Array(new Uint32Array([0x11223344]).buffer)[0])throw Error("Non little-endian hardware is not supported");function e_(e){if("string"==typeof e&&(e=function(e){if("string"!=typeof e)throw Error(`utf8ToBytes expected string, got ${typeof e}`);return new Uint8Array(new TextEncoder().encode(e))}(e)),!em(e))throw Error(`expected Uint8Array, got ${typeof e}`);return e}(e,t)=>t.toString(16).padStart(2,"0");class ev{clone(){return this._cloneInto()}}function ew(e){let t=t=>e().update(e_(t)).digest(),n=e();return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=()=>e(),t}function eP(e=32){if(ey&&"function"==typeof ey.getRandomValues)return ey.getRandomValues(new Uint8Array(e));throw Error("crypto.getRandomValues must be defined")}let[eA,eM,eI]=[[],[],[]],eO=BigInt(0),eC=BigInt(1),eE=BigInt(2),ex=BigInt(7),eS=BigInt(256),eR=BigInt(113);for(let e=0,t=eC,n=1,a=0;e<24;e++){[n,a]=[a,(2*n+3*a)%5],eA.push(2*(5*a+n)),eM.push((e+1)*(e+2)/2%64);let r=eO;for(let e=0;e<7;e++)(t=(t<<eC^(t>>ex)*eR)%eS)&eE&&(r^=eC<<(eC<<BigInt(e))-eC);eI.push(r)}let[ek,eB]=eo(eI,!0),ej=(e,t,n)=>n>32?eu(e,t,n):ec(e,t,n),eD=(e,t,n)=>n>32?el(e,t,n):ed(e,t,n);class eF extends ev{constructor(e,t,n,a=!1,r=24){if(super(),this.blockLen=e,this.suffix=t,this.outputLen=n,this.enableXOF=a,this.rounds=r,this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,ea(n),0>=this.blockLen||this.blockLen>=200)throw Error("Sha3 supports only keccak-f1600 function");this.state=new Uint8Array(200),this.state32=eh(this.state)}keccak(){!function(e,t=24){let n=new Uint32Array(10);for(let a=24-t;a<24;a++){for(let t=0;t<10;t++)n[t]=e[t]^e[t+10]^e[t+20]^e[t+30]^e[t+40];for(let t=0;t<10;t+=2){let a=(t+8)%10,r=(t+2)%10,i=n[r],f=n[r+1],b=ej(i,f,1)^n[a],s=eD(i,f,1)^n[a+1];for(let n=0;n<50;n+=10)e[t+n]^=b,e[t+n+1]^=s}let t=e[2],r=e[3];for(let n=0;n<24;n++){let a=eM[n],i=ej(t,r,a),f=eD(t,r,a),b=eA[n];t=e[b],r=e[b+1],e[b]=i,e[b+1]=f}for(let t=0;t<50;t+=10){for(let a=0;a<10;a++)n[a]=e[t+a];for(let a=0;a<10;a++)e[t+a]^=~n[(a+2)%10]&n[(a+4)%10]}e[0]^=ek[a],e[1]^=eB[a]}n.fill(0)}(this.state32,this.rounds),this.posOut=0,this.pos=0}update(e){ei(this);let{blockLen:t,state:n}=this,a=(e=e_(e)).length;for(let r=0;r<a;){let i=Math.min(t-this.pos,a-r);for(let t=0;t<i;t++)n[this.pos++]^=e[r++];this.pos===t&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;let{state:e,suffix:t,pos:n,blockLen:a}=this;e[n]^=t,(128&t)!=0&&n===a-1&&this.keccak(),e[a-1]^=128,this.keccak()}writeInto(e){ei(this,!1),er(e),this.finish();let t=this.state,{blockLen:n}=this;for(let a=0,r=e.length;a<r;){this.posOut>=n&&this.keccak();let i=Math.min(n-this.posOut,r-a);e.set(t.subarray(this.posOut,this.posOut+i),a),this.posOut+=i,a+=i}return e}xofInto(e){if(!this.enableXOF)throw Error("XOF is not possible for this instance");return this.writeInto(e)}xof(e){return ea(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(ef(e,this),this.finished)throw Error("digest() was already called");return this.writeInto(e),this.destroy(),e}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,this.state.fill(0)}_cloneInto(e){let{blockLen:t,suffix:n,outputLen:a,rounds:r,enableXOF:i}=this;return e||(e=new eF(t,n,a,i,r)),e.state32.set(this.state32),e.pos=this.pos,e.posOut=this.posOut,e.finished=this.finished,e.rounds=r,e.suffix=n,e.outputLen=a,e.enableXOF=i,e.destroyed=this.destroyed,e}}let eN=ew(()=>new eF(136,1,32)),eV=!1,eU=function(e){return eN(e)},eL=eU;function eK(e){let t=w(e,"data");return O(eL(t))}eK._=eU,eK.lock=function(){eV=!0},eK.register=function(e){if(eV)throw TypeError("keccak256 is locked");eL=e},Object.freeze(eK);let eG=BigInt(0),ez=BigInt(36);function eH(e){let t=(e=e.toLowerCase()).substring(2).split(""),n=new Uint8Array(40);for(let e=0;e<40;e++)n[e]=t[e].charCodeAt(0);let a=w(eK(n));for(let e=0;e<40;e+=2)a[e>>1]>>4>=8&&(t[e]=t[e].toUpperCase()),(15&a[e>>1])>=8&&(t[e+1]=t[e+1].toUpperCase());return"0x"+t.join("")}let eJ={};for(let e=0;e<10;
1e++)eJ[String(e)]=String(e);for(let e=0;e<26;e++)eJ[String.fromCharCode(65+e)]=String(10+e);let eQ=function(){let e={};for(let t=0;t<36;t++)e["0123456789abcdefghijklmnopqrstuvwxyz"[t]]=BigInt(t);return e}();function eq(e){if((0,_.MR)("string"==typeof e,"invalid address","address",e),e.match(/^(0x)?[0-9a-fA-F]{40}$/)){e.startsWith("0x")||(e="0x"+e);let t=eH(e);return(0,_.MR)(!e.match(/([A-F].*[a-f])|([a-f].*[A-F])/)||t===e,"bad address checksum","address",e),t}if(e.match(/^XE[0-9]{2}[0-9A-Za-z]{30,31}$/)){(0,_.MR)(e.substring(2,4)===function(e){let t=(e=(e=e.toUpperCase()).substring(4)+e.substring(0,2)+"00").split("").map(e=>eJ[e]).join("");for(;t.length>=15;){let e=t.substring(0,15);t=parseInt(e,10)%97+t.substring(e.length)}let n=String(98-parseInt(t,10)%97);for(;n.length<2;)n="0"+n;return n}(e),"bad icap checksum","address",e);let t=(function(e){e=e.toLowerCase();let t=eG;for(let n=0;n<e.length;n++)t=t*ez+eQ[e[n]];return t})(e.substring(4)).toString(16);for(;t.length<40;)t="0"+t;return eH("0x"+t)}(0,_.MR)(!1,"invalid address","address",e)}let eZ={};function e$(e,t){let n=!1;return t<0&&(n=!0,t*=-1),new eX(eZ,`${n?"":"u"}int${t}`,e,{signed:n,width:t})}function eY(e,t){return new eX(eZ,`bytes${t||""}`,e,{size:t})}let eW=Symbol.for("_ethers_typed");class eX{type;value;#u;_typedSymbol;constructor(e,t,n,a){null==a&&(a=null),(0,_.gk)(eZ,e,"Typed"),(0,H.n)(this,{_typedSymbol:eW,type:t,value:n}),this.#u=a,this.format()}format(){if("array"===this.type||"dynamicArray"===this.type)throw Error("");return"tuple"===this.type?`tuple(${this.value.map(e=>e.format()).join(",")})`:this.type}defaultValue(){return 0}minValue(){return 0}maxValue(){return 0}isBigInt(){return!!this.type.match(/^u?int[0-9]+$/)}isData(){return this.type.startsWith("bytes")}isString(){return"string"===this.type}get tupleName(){if("tuple"!==this.type)throw TypeError("not a tuple");return this.#u}get arrayLength(){if("array"!==this.type)throw TypeError("not an array");return!0===this.#u?-1:!1===this.#u?this.value.length:null}static from(e,t){return new eX(eZ,e,t)}static uint8(e){return e$(e,8)}static uint16(e){return e$(e,16)}static uint24(e){return e$(e,24)}static uint32(e){return e$(e,32)}static uint40(e){return e$(e,40)}static uint48(e){return e$(e,48)}static uint56(e){return e$(e,56)}static uint64(e){return e$(e,64)}static uint72(e){return e$(e,72)}static uint80(e){return e$(e,80)}static uint88(e){return e$(e,88)}static uint96(e){return e$(e,96)}static uint104(e){return e$(e,104)}static uint112(e){return e$(e,112)}static uint120(e){return e$(e,120)}static uint128(e){return e$(e,128)}static uint136(e){return e$(e,136)}static uint144(e){return e$(e,144)}static uint152(e){return e$(e,152)}static uint160(e){return e$(e,160)}static uint168(e){return e$(e,168)}static uint176(e){return e$(e,176)}static uint184(e){return e$(e,184)}static uint192(e){return e$(e,192)}static uint200(e){return e$(e,200)}static uint208(e){return e$(e,208)}static uint216(e){return e$(e,216)}static uint224(e){return e$(e,224)}static uint232(e){return e$(e,232)}static uint240(e){return e$(e,240)}static uint248(e){return e$(e,248)}static uint256(e){return e$(e,256)}static uint(e){return e$(e,256)}static int8(e){return e$(e,-8)}static int16(e){return e$(e,-16)}static int24(e){return e$(e,-24)}static int32(e){return e$(e,-32)}static int40(e){return e$(e,-40)}static int48(e){return e$(e,-48)}static int56(e){return e$(e,-56)}static int64(e){return e$(e,-64)}static int72(e){return e$(e,-72)}static int80(e){return e$(e,-80)}static int88(e){return e$(e,-88)}static int96(e){return e$(e,-96)}static int104(e){return e$(e,-104)}static int112(e){return e$(e,-112)}static int120(e){return e$(e,-120)}static int128(e){return e$(e,-128)}static int136(e){return e$(e,-136)}static int144(e){return e$(e,-144)}static int152(e){return e$(e,-152)}static int160(e){return e$(e,-160)}static int168(e){return e$(e,-168)}static int176(e){return e$(e,-176)}static int184(e){return e$(e,-184)}static int192(e){return e$(e,-192)}static int200(e){return e$(e,-200)}static int208(e){return e$(e,-208)}static int216(e){return e$(e,-216)}static int224(e){return e$(e,-224)}static int232(e){return e$(e,-232)}static int240(e){return e$(e,-240)}static int248(e){return e$(e,-248)}
1static int256(e){return e$(e,-256)}static int(e){return e$(e,-256)}static bytes1(e){return eY(e,1)}static bytes2(e){return eY(e,2)}static bytes3(e){return eY(e,3)}static bytes4(e){return eY(e,4)}static bytes5(e){return eY(e,5)}static bytes6(e){return eY(e,6)}static bytes7(e){return eY(e,7)}static bytes8(e){return eY(e,8)}static bytes9(e){return eY(e,9)}static bytes10(e){return eY(e,10)}static bytes11(e){return eY(e,11)}static bytes12(e){return eY(e,12)}static bytes13(e){return eY(e,13)}static bytes14(e){return eY(e,14)}static bytes15(e){return eY(e,15)}static bytes16(e){return eY(e,16)}static bytes17(e){return eY(e,17)}static bytes18(e){return eY(e,18)}static bytes19(e){return eY(e,19)}static bytes20(e){return eY(e,20)}static bytes21(e){return eY(e,21)}static bytes22(e){return eY(e,22)}static bytes23(e){return eY(e,23)}static bytes24(e){return eY(e,24)}static bytes25(e){return eY(e,25)}static bytes26(e){return eY(e,26)}static bytes27(e){return eY(e,27)}static bytes28(e){return eY(e,28)}static bytes29(e){return eY(e,29)}static bytes30(e){return eY(e,30)}static bytes31(e){return eY(e,31)}static bytes32(e){return eY(e,32)}static address(e){return new eX(eZ,"address",e)}static bool(e){return new eX(eZ,"bool",!!e)}static bytes(e){return new eX(eZ,"bytes",e)}static string(e){return new eX(eZ,"string",e)}static array(e,t){throw Error("not implemented yet")}static tuple(e,t){throw Error("not implemented yet")}static overrides(e){return new eX(eZ,"overrides",Object.assign({},e))}static isTyped(e){return e&&"object"==typeof e&&"_typedSymbol"in e&&e._typedSymbol===eW}static dereference(e,t){if(eX.isTyped(e)){if(e.type!==t)throw Error(`invalid type: expecetd ${t}, got ${e.type}`);return e.value}return e}}class e0 extends ee{constructor(e){super("address","address",e,!1)}defaultValue(){return"0x0000000000000000000000000000000000000000"}encode(e,t){let n=eX.dereference(t,"string");try{n=eq(n)}catch(e){return this._throwError(e.message,t)}return e.writeValue(n)}decode(e){return eq(K(e.readValue(),20))}}class e1 extends ee{coder;constructor(e){super(e.name,e.type,"_",e.dynamic),this.coder=e}defaultValue(){return this.coder.defaultValue()}encode(e,t){return this.coder.encode(e,t)}decode(e){return this.coder.decode(e)}}function e6(e,t,n){let a=[];if(Array.isArray(n))a=n;else if(n&&"object"==typeof n){let e={};a=t.map(t=>{let a=t.localName;return(0,_.vA)(a,"cannot encode object for signature with missing names","INVALID_ARGUMENT",{argument:"values",info:{coder:t},value:n}),(0,_.vA)(!e[a],"cannot encode object for signature with duplicate names","INVALID_ARGUMENT",{argument:"values",info:{coder:t},value:n}),e[a]=!0,n[a]})}else(0,_.MR)(!1,"invalid tuple value","tuple",n);(0,_.MR)(t.length===a.length,"types/value length mismatch","tuple",n);let r=new et,i=new et,f=[];t.forEach((e,t)=>{let n=a[t];if(e.dynamic){let t=i.length;e.encode(i,n);let a=r.writeUpdatableValue();f.push(e=>{a(e+t)})}else e.encode(r,n)}),f.forEach(e=>{e(r.length)});let b=e.appendWriter(r);return b+e.appendWriter(i)}function e5(e,t){let n=[],a=[],r=e.subReader(0);return t.forEach(t=>{let i=null;if(t.dynamic){let n=e.readIndex(),a=r.subReader(n);try{i=t.decode(a)}catch(e){if((0,_.bJ)(e,"BUFFER_OVERRUN"))throw e;(i=e).baseType=t.name,i.name=t.localName,i.type=t.type}}else try{i=t.decode(e)}catch(e){if((0,_.bJ)(e,"BUFFER_OVERRUN"))throw e;(i=e).baseType=t.name,i.name=t.localName,i.type=t.type}if(void 0==i)throw Error("investigate");n.push(i),a.push(t.localName||null)}),W.fromItems(n,a)}class e8 extends ee{coder;length;constructor(e,t,n){super("array",e.type+"["+(t>=0?t:"")+"]",n,-1===t||e.dynamic),(0,H.n)(this,{coder:e,length:t})}defaultValue(){let e=this.coder.defaultValue(),t=[];for(let n=0;n<this.length;n++)t.push(e);return t}encode(e,t){let n=eX.dereference(t,"array");Array.isArray(n)||this._throwError("expected array value",n);let a=this.length;-1===a&&(a=n.length,e.writeValue(n.length)),(0,_.dd)(n.length,a,"coder array"+(this.localName?" "+this.localName:""));let r=[];for(let e=0;e<n.length;e++)r.push(this.coder);return e6(e,r,n)}decode(e){let t=this.length;-1===t&&(t=e.readIndex(),(0,_.vA)(32*t<=e.dataLength,"insufficient data length","BUFFER_OVERRUN",{buffer:e.bytes,offset:32*t,length:e.dataLength}));let n=[];for(let e=0;e<t;
1e++)n.push(new e1(this.coder));return e5(e,n)}}class e2 extends ee{constructor(e){super("bool","bool",e,!1)}defaultValue(){return!1}encode(e,t){let n=eX.dereference(t,"bool");return e.writeValue(+!!n)}decode(e){return!!e.readValue()}}class e3 extends ee{constructor(e,t){super(e,e,t,!0)}defaultValue(){return"0x"}encode(e,t){t=P(t);let n=e.writeValue(t.length);return n+e.writeBytes(t)}decode(e){return e.readBytes(e.readIndex(),!0)}}class e9 extends e3{constructor(e){super("bytes",e)}decode(e){return O(super.decode(e))}}class e4 extends ee{size;constructor(e,t){let n="bytes"+String(e);super(n,n,t,!1),(0,H.n)(this,{size:e},{size:"number"})}defaultValue(){return"0x0000000000000000000000000000000000000000000000000000000000000000".substring(0,2+2*this.size)}encode(e,t){let n=P(eX.dereference(t,this.type));return n.length!==this.size&&this._throwError("incorrect data length",t),e.writeBytes(n)}decode(e){return O(e.readBytes(this.size))}}let e7=new Uint8Array([]);class te extends ee{constructor(e){super("null","",e,!1)}defaultValue(){return null}encode(e,t){return null!=t&&this._throwError("not null",t),e.writeBytes(e7)}decode(e){return e.readBytes(0),null}}let tt=BigInt(0),tn=BigInt(1),ta=BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");class tr extends ee{size;signed;constructor(e,t,n){let a=(t?"int":"uint")+8*e;super(a,a,n,!1),(0,H.n)(this,{size:e,signed:t},{size:"number",signed:"boolean"})}defaultValue(){return 0}encode(e,t){let n=F(eX.dereference(t,this.type)),a=D(ta,256);if(this.signed){let e=D(a,8*this.size-1);(n>e||n<-(e+tn))&&this._throwError("value out-of-bounds",t),n=j(n,256)}else(n<tt||n>D(a,8*this.size))&&this._throwError("value out-of-bounds",t);return e.writeValue(n)}decode(e){let t=D(e.readValue(),8*this.size);return this.signed&&(t=function(e,t){let n=N(e,"value"),a=BigInt(L(t,"width"));return((0,_.vA)(n>>a===k,"overflow","NUMERIC_FAULT",{operation:"fromTwos",fault:"overflow",value:e}),n>>a-B)?-((~n&(B<<a)-B)+B):n}(t,8*this.size)),t}}function ti(e,t,n,a,r){if("BAD_PREFIX"===e||"UNEXPECTED_CONTINUE"===e){let e=0;for(let a=t+1;a<n.length&&n[a]>>6==2;a++)e++;return e}return"OVERRUN"===e?n.length-t-1:0}let tf=Object.freeze({error:function(e,t,n,a,r){(0,_.MR)(!1,`invalid codepoint at offset ${t}; ${e}`,"bytes",n)},ignore:ti,replace:function(e,t,n,a,r){return"OVERLONG"===e?((0,_.MR)("number"==typeof r,"invalid bad code point for replacement","badCodepoint",r),a.push(r),0):(a.push(65533),ti(e,t,n,a,r))}});function tb(e,t){(0,_.MR)("string"==typeof e,"invalid string value","str",e),null!=t&&((0,_.SP)(t),e=e.normalize(t));let n=[];for(let t=0;t<e.length;t++){let a=e.charCodeAt(t);if(a<128)n.push(a);else if(a<2048)n.push(a>>6|192),n.push(63&a|128);else if((64512&a)==55296){t++;let r=e.charCodeAt(t);(0,_.MR)(t<e.length&&(64512&r)==56320,"invalid surrogate pair","str",e);let i=65536+((1023&a)<<10)+(1023&r);n.push(i>>18|240),n.push(i>>12&63|128),n.push(i>>6&63|128),n.push(63&i|128)}else n.push(a>>12|224),n.push(a>>6&63|128),n.push(63&a|128)}return new Uint8Array(n)}function ts(e,t){return(function(e,t){null==t&&(t=tf.error);let n=w(e,"bytes"),a=[],r=0;for(;r<n.length;){let e=n[r++];if(e>>7==0){a.push(e);continue}let i=null,f=null;if((224&e)==192)i=1,f=127;else if((240&e)==224)i=2,f=2047;else if((248&e)==240)i=3,f=65535;else{(192&e)==128?r+=t("UNEXPECTED_CONTINUE",r-1,n,a):r+=t("BAD_PREFIX",r-1,n,a);continue}if(r-1+i>=n.length){r+=t("OVERRUN",r-1,n,a);continue}let b=e&(1<<8-i-1)-1;for(let e=0;e<i;e++){let e=n[r];if((192&e)!=128){r+=t("MISSING_CONTINUE",r,n,a),b=null;break}b=b<<6|63&e,r++}if(null!==b){if(b>1114111){r+=t("OUT_OF_RANGE",r-1-i,n,a,b);continue}if(b>=55296&&b<=57343){r+=t("UTF16_SURROGATE",r-1-i,n,a,b);continue}if(b<=f){r+=t("OVERLONG",r-1-i,n,a,b);continue}a.push(b)}}return a})(e,t).map(e=>e<=65535?String.fromCharCode(e):String.fromCharCode(((e-=65536)>>10&1023)+55296,(1023&e)+56320)).join("")}class to extends e3{constructor(e){super("string",e)}defaultValue(){return""}encode(e,t){return super.encode(e,tb(eX.dereference(t,"string")))}decode(e){return ts(super.decode(e))}}class tc extends ee{coders;constructor(e,t){let n=!1,a=[];
1e.forEach(e=>{e.dynamic&&(n=!0),a.push(e.type)}),super("tuple","tuple("+a.join(",")+")",t,n),(0,H.n)(this,{coders:Object.freeze(e.slice())})}defaultValue(){let e=[];this.coders.forEach(t=>{e.push(t.defaultValue())});let t=this.coders.reduce((e,t)=>{let n=t.localName;return n&&(e[n]||(e[n]=0),e[n]++),e},{});return this.coders.forEach((n,a)=>{let r=n.localName;r&&1===t[r]&&("length"===r&&(r="_length"),null==e[r]&&(e[r]=e[a]))}),Object.freeze(e)}encode(e,t){let n=eX.dereference(t,"tuple");return e6(e,this.coders,n)}decode(e){return e5(e,this.coders)}}function td(e){return eK(tb(e))}function tu(e){let t=new Set;return e.forEach(e=>t.add(e)),Object.freeze(t)}let tl=tu("external public payable override".split(" ")),tp="constant external internal payable private public pure view override",ty=tu(tp.split(" ")),tm="constructor error event fallback function receive struct",th=tu(tm.split(" ")),tg="calldata memory storage payable indexed",tT=tu(tg.split(" ")),t_=tu([tm,tg,"tuple returns",tp].join(" ").split(" ")),tv={"(":"OPEN_PAREN",")":"CLOSE_PAREN","[":"OPEN_BRACKET","]":"CLOSE_BRACKET",",":"COMMA","@":"AT"},tw=RegExp("^(\\s*)"),tP=RegExp("^([0-9]+)"),tA=RegExp("^([a-zA-Z$_][a-zA-Z0-9$_]*)"),tM=RegExp("^([a-zA-Z$_][a-zA-Z0-9$_]*)$"),tI=RegExp("^(address|bool|bytes([0-9]*)|string|u?int([0-9]*))$");class tO{#f;#l;get offset(){return this.#f}get length(){return this.#l.length-this.#f}constructor(e){this.#f=0,this.#l=e.slice()}clone(){return new tO(this.#l)}reset(){this.#f=0}#p(e=0,t=0){return new tO(this.#l.slice(e,t).map(t=>Object.freeze(Object.assign({},t,{match:t.match-e,linkBack:t.linkBack-e,linkNext:t.linkNext-e}))))}popKeyword(e){let t=this.peek();if("KEYWORD"!==t.type||!e.has(t.text))throw Error(`expected keyword ${t.text}`);return this.pop().text}popType(e){if(this.peek().type!==e){let t=this.peek();throw Error(`expected ${e}; got ${t.type} ${JSON.stringify(t.text)}`)}return this.pop().text}popParen(){let e=this.peek();if("OPEN_PAREN"!==e.type)throw Error("bad start");let t=this.#p(this.#f+1,e.match+1);return this.#f=e.match+1,t}popParams(){let e=this.peek();if("OPEN_PAREN"!==e.type)throw Error("bad start");let t=[];for(;this.#f<e.match-1;){let e=this.peek().linkNext;t.push(this.#p(this.#f+1,e)),this.#f=e}return this.#f=e.match+1,t}peek(){if(this.#f>=this.#l.length)throw Error("out-of-bounds");return this.#l[this.#f]}peekKeyword(e){let t=this.peekType("KEYWORD");return null!=t&&e.has(t)?t:null}peekType(e){if(0===this.length)return null;let t=this.peek();return t.type===e?t.text:null}pop(){let e=this.peek();return this.#f++,e}toString(){let e=[];for(let t=this.#f;t<this.#l.length;t++){let n=this.#l[t];e.push(`${n.type}:${n.text}`)}return`<TokenString ${e.join(" ")}>`}}function tC(e){let t=[],n=t=>{let n=i<e.length?JSON.stringify(e[i]):"$EOI";throw Error(`invalid token ${n} at ${i}: ${t}`)},a=[],r=[],i=0;for(;i<e.length;){let f=e.substring(i),b=f.match(tw);b&&(i+=b[1].length,f=e.substring(i));let s={depth:a.length,linkBack:-1,linkNext:-1,match:-1,type:"",text:"",offset:i,value:-1};t.push(s);let o=tv[f[0]]||"";if(o){if(s.type=o,s.text=f[0],i++,"OPEN_PAREN"===o)a.push(t.length-1),r.push(t.length-1);else if("CLOSE_PAREN"==o)0===a.length&&n("no matching open bracket"),s.match=a.pop(),t[s.match].match=t.length-1,s.depth--,s.linkBack=r.pop(),t[s.linkBack].linkNext=t.length-1;else if("COMMA"===o)s.linkBack=r.pop(),t[s.linkBack].linkNext=t.length-1,r.push(t.length-1);else if("OPEN_BRACKET"===o)s.type="BRACKET";else if("CLOSE_BRACKET"===o){let e=t.pop().text;if(t.length>0&&"NUMBER"===t[t.length-1].type){let n=t.pop().text;e=n+e,t[t.length-1].value=L(n)}if(0===t.length||"BRACKET"!==t[t.length-1].type)throw Error("missing opening bracket");t[t.length-1].text+=e}continue}if(b=f.match(tA)){if(s.text=b[1],i+=s.text.length,t_.has(s.text)){s.type="KEYWORD";continue}if(s.text.match(tI)){s.type="TYPE";continue}s.type="ID";continue}if(b=f.match(tP)){s.text=b[1],s.type="NUMBER",i+=s.text.length;continue}throw Error(`unexpected token ${JSON.stringify(f[0])} at position ${i}`)}return new tO(t.map(e=>Object.freeze(e)))}function tE(e,t){let n=[];for(let a in t.keys())e.has(a)&&n.push(a);if(n.length>1)throw Error(`conflicting types: ${n.join(", ")}`)}function tx(e,t){if(t.peekKeyword(th)){let n=t.pop().text;if(n!==e)throw Error(`expected ${e}, got ${n}`)}return t.popType("ID")}function tS(e,t){let n=new Set;for(;;){let a=e.peekType("KEYWORD");if(null==a||t&&!t.has(a))break;if(e.pop(),n.has(a))throw Error(`duplicate keywords: ${JSON.stringify(a)}`);n.add(a)}return Object.freeze(n)}function tR(e){let t=tS(e,ty);return(tE(t,tu("constant payable nonpayable".split(" "))),tE(t,tu("pure view payable nonpayable".split(" "))),t.has("view"))?"view":t.has("pure")?"pure":t.has("payable")?"payable":t.has("nonpayable")?"nonpayable":t.has("constant")?"view":"nonpayable"}function tk(e,t){return e.popParams().map(e=>tQ.from(e,t))}
1function tB(e){if(e.peekType("AT")){if(e.pop(),e.peekType("NUMBER"))return F(e.pop().text);throw Error("invalid gas")}return null}function tj(e){if(e.length)throw Error(`unexpected tokens at offset ${e.offset}: ${e.toString()}`)}let tD=new RegExp(/^(.*)\[([0-9]*)\]$/);function tF(e){let t=e.match(tI);if((0,_.MR)(t,"invalid type","type",e),"uint"===e)return"uint256";if("int"===e)return"int256";if(t[2]){let n=parseInt(t[2]);(0,_.MR)(0!==n&&n<=32,"invalid bytes length","type",e)}else if(t[3]){let n=parseInt(t[3]);(0,_.MR)(0!==n&&n<=256&&n%8==0,"invalid numeric width","type",e)}return e}let tN={},tV=Symbol.for("_ethers_internal"),tU="_ParamTypeInternal",tL="_ErrorInternal",tK="_EventInternal",tG="_ConstructorInternal",tz="_FallbackInternal",tH="_FunctionInternal",tJ="_StructInternal";class tQ{name;type;baseType;indexed;components;arrayLength;arrayChildren;constructor(e,t,n,a,r,i,f,b){if((0,_.gk)(e,tN,"ParamType"),Object.defineProperty(this,tV,{value:tU}),i&&(i=Object.freeze(i.slice())),"array"===a){if(null==f||null==b)throw Error("")}else if(null!=f||null!=b)throw Error("");if("tuple"===a){if(null==i)throw Error("")}else if(null!=i)throw Error("");(0,H.n)(this,{name:t,type:n,baseType:a,indexed:r,components:i,arrayLength:f,arrayChildren:b})}format(e){if(null==e&&(e="sighash"),"json"===e){let t=this.name||"";if(this.isArray()){let e=JSON.parse(this.arrayChildren.format("json"));return e.name=t,e.type+=`[${this.arrayLength<0?"":String(this.arrayLength)}]`,JSON.stringify(e)}let n={type:"tuple"===this.baseType?"tuple":this.type,name:t};return"boolean"==typeof this.indexed&&(n.indexed=this.indexed),this.isTuple()&&(n.components=this.components.map(t=>JSON.parse(t.format(e)))),JSON.stringify(n)}let t="";return this.isArray()?(t+=this.arrayChildren.format(e),t+=`[${this.arrayLength<0?"":String(this.arrayLength)}]`):this.isTuple()?t+="("+this.components.map(t=>t.format(e)).join("full"===e?", ":",")+")":t+=this.type,"sighash"!==e&&(!0===this.indexed&&(t+=" indexed"),"full"===e&&this.name&&(t+=" "+this.name)),t}isArray(){return"array"===this.baseType}isTuple(){return"tuple"===this.baseType}isIndexable(){return null!=this.indexed}walk(e,t){if(this.isArray()){if(!Array.isArray(e))throw Error("invalid array value");if(-1!==this.arrayLength&&e.length!==this.arrayLength)throw Error("array is wrong length");let n=this;return e.map(e=>n.arrayChildren.walk(e,t))}if(this.isTuple()){if(!Array.isArray(e))throw Error("invalid tuple value");if(e.length!==this.components.length)throw Error("array is wrong length");let n=this;return e.map((e,a)=>n.components[a].walk(e,t))}return t(this.type,e)}#y(e,t,n,a){if(this.isArray()){if(!Array.isArray(t))throw Error("invalid array value");if(-1!==this.arrayLength&&t.length!==this.arrayLength)throw Error("array is wrong length");let r=this.arrayChildren,i=t.slice();i.forEach((t,a)=>{r.#y(e,t,n,e=>{i[a]=e})}),a(i);return}if(this.isTuple()){let r,i=this.components;if(Array.isArray(t))r=t.slice();else{if(null==t||"object"!=typeof t)throw Error("invalid tuple value");r=i.map(e=>{if(!e.name)throw Error("cannot use object value with unnamed components");if(!(e.name in t))throw Error(`missing value for component ${e.name}`);return t[e.name]})}if(r.length!==this.components.length)throw Error("array is wrong length");r.forEach((t,a)=>{i[a].#y(e,t,n,e=>{r[a]=e})}),a(r);return}let r=n(this.type,t);r.then?e.push(async function(){a(await r)}()):a(r)}async walkAsync(e,t){let n=[],a=[e];return this.#y(n,e,t,e=>{a[0]=e}),n.length&&await Promise.all(n),a[0]}static from(e,t){if(tQ.isParamType(e))return e;if("string"==typeof e)try{return tQ.from(tC(e),t)}catch(t){(0,_.MR)(!1,"invalid param type","obj",e)}else if(e instanceof tO){let n="",a="",r=null;tS(e,tu(["tuple"])).has("tuple")||e.peekType("OPEN_PAREN")?(a="tuple",r=e.popParams().map(e=>tQ.from(e)),n=`tuple(${r.map(e=>e.format()).join(",")})`):a=n=tF(e.popType("TYPE"));let i=null,f=null;for(;e.length&&e.peekType("BRACKET");){let t=e.pop();i=new tQ(tN,"",n,a,null,r,f,i),f=t.value,n+=t.text,a="array",r=null}let b=null;if(tS(e,tT).has("indexed")){if(!t)throw Error("");b=!0}let s=e.peekType("ID")?e.pop().text:"";if(e.length)throw Error("leftover tokens");return new tQ(tN,s,n,a,b,r,f,i)}let n=e.name;(0,_.MR)(!n||"string"==typeof n&&n.match(tM),"invalid name","obj.name",n);let a=e.indexed;null!=a&&((0,_.MR)(t,"parameter cannot be indexed","obj.indexed",e.indexed),a=!!a);let r=e.type,i=r.match(tD);if(i){let t=parseInt(i[2]||"-1"),f=tQ.from({type:i[1],components:e.components});return new tQ(tN,n||"",r,"array",a,null,t,f)}if("tuple"===r||r.startsWith("tuple(")||r.startsWith("(")){let t=null!=e.components?e.components.map(e=>tQ.from(e)):null;return new tQ(tN,n||"",r,"tuple",a,t,null,null)}return new tQ(tN,n||"",r=tF(e.type),r,a,null,null,null)}static isParamType(e){return e&&e[tV]===tU}}class tq{type;inputs;constructor(e,t,n){(0,_.gk)(e,tN,"Fragment"),n=Object.freeze(n.slice()),(0,H.n)(this,{type:t,inputs:n})}static from(e){if("string"==typeof e){try{tq.from(JSON.parse(e))}catch(e){}return tq.from(tC(e))}if(e instanceof tO)switch(e.peekKeyword(th)){case"constructor":return tX.from(e);case"error":return tY.from(e);case"event":return tW.from(e);case"fallback":case"receive":return t0.from(e);case"function":return t1.from(e);case"struct":return t6.from(e)}else if("object"==typeof e){switch(e.type){case"constructor":return tX.from(e);case"error":return tY.from(e);case"event":return tW.from(e);case"fallback":case"receive":return t0.from(e);case"function":return t1.from(e);case"struct":return t6.from(e)}(0,_.vA)(!1,`unsupported type: ${e.type}`,"UNSUPPORTED_OPERATION",{operation:"Fragment.from"})}(0,_.MR)(!1,"unsupported frgament object","obj",e)}static isConstructor(e){return tX.isFragment(e)}static isError(e){return tY.isFragment(e)}static isEvent(e){return tW.isFragment(e)}static isFunction(e){return t1.isFragment(e)}static isStruct(e){return t6.isFragment(e)}}class tZ extends tq{name;
1constructor(e,t,n,a){super(e,t,a),(0,_.MR)("string"==typeof n&&n.match(tM),"invalid identifier","name",n),a=Object.freeze(a.slice()),(0,H.n)(this,{name:n})}}function t$(e,t){return"("+t.map(t=>t.format(e)).join("full"===e?", ":",")+")"}class tY extends tZ{constructor(e,t,n){super(e,"error",t,n),Object.defineProperty(this,tV,{value:tL})}get selector(){return td(this.format("sighash")).substring(0,10)}format(e){if(null==e&&(e="sighash"),"json"===e)return JSON.stringify({type:"error",name:this.name,inputs:this.inputs.map(t=>JSON.parse(t.format(e)))});let t=[];return"sighash"!==e&&t.push("error"),t.push(this.name+t$(e,this.inputs)),t.join(" ")}static from(e){if(tY.isFragment(e))return e;if("string"==typeof e)return tY.from(tC(e));if(e instanceof tO){let t=tx("error",e),n=tk(e);return tj(e),new tY(tN,t,n)}return new tY(tN,e.name,e.inputs?e.inputs.map(tQ.from):[])}static isFragment(e){return e&&e[tV]===tL}}class tW extends tZ{anonymous;constructor(e,t,n,a){super(e,"event",t,n),Object.defineProperty(this,tV,{value:tK}),(0,H.n)(this,{anonymous:a})}get topicHash(){return td(this.format("sighash"))}format(e){if(null==e&&(e="sighash"),"json"===e)return JSON.stringify({type:"event",anonymous:this.anonymous,name:this.name,inputs:this.inputs.map(t=>JSON.parse(t.format(e)))});let t=[];return"sighash"!==e&&t.push("event"),t.push(this.name+t$(e,this.inputs)),"sighash"!==e&&this.anonymous&&t.push("anonymous"),t.join(" ")}static getTopicHash(e,t){return new tW(tN,e,t=(t||[]).map(e=>tQ.from(e)),!1).topicHash}static from(e){if(tW.isFragment(e))return e;if("string"==typeof e)try{return tW.from(tC(e))}catch(t){(0,_.MR)(!1,"invalid event fragment","obj",e)}else if(e instanceof tO){let t=tx("event",e),n=tk(e,!0),a=!!tS(e,tu(["anonymous"])).has("anonymous");return tj(e),new tW(tN,t,n,a)}return new tW(tN,e.name,e.inputs?e.inputs.map(e=>tQ.from(e,!0)):[],!!e.anonymous)}static isFragment(e){return e&&e[tV]===tK}}class tX extends tq{payable;gas;constructor(e,t,n,a,r){super(e,t,n),Object.defineProperty(this,tV,{value:tG}),(0,H.n)(this,{payable:a,gas:r})}format(e){if((0,_.vA)(null!=e&&"sighash"!==e,"cannot format a constructor for sighash","UNSUPPORTED_OPERATION",{operation:"format(sighash)"}),"json"===e)return JSON.stringify({type:"constructor",stateMutability:this.payable?"payable":"undefined",payable:this.payable,gas:null!=this.gas?this.gas:void 0,inputs:this.inputs.map(t=>JSON.parse(t.format(e)))});let t=[`constructor${t$(e,this.inputs)}`];return this.payable&&t.push("payable"),null!=this.gas&&t.push(`@${this.gas.toString()}`),t.join(" ")}static from(e){if(tX.isFragment(e))return e;if("string"==typeof e)try{return tX.from(tC(e))}catch(t){(0,_.MR)(!1,"invalid constuctor fragment","obj",e)}else if(e instanceof tO){tS(e,tu(["constructor"]));let t=tk(e),n=!!tS(e,tl).has("payable"),a=tB(e);return tj(e),new tX(tN,"constructor",t,n,a)}return new tX(tN,"constructor",e.inputs?e.inputs.map(tQ.from):[],!!e.payable,null!=e.gas?e.gas:null)}static isFragment(e){return e&&e[tV]===tG}}class t0 extends tq{payable;constructor(e,t,n){super(e,"fallback",t),Object.defineProperty(this,tV,{value:tz}),(0,H.n)(this,{payable:n})}format(e){let t=0===this.inputs.length?"receive":"fallback";return"json"===e?JSON.stringify({type:t,stateMutability:this.payable?"payable":"nonpayable"}):`${t}()${this.payable?" payable":""}`}static from(e){if(t0.isFragment(e))return e;if("string"==typeof e)try{return t0.from(tC(e))}catch(t){(0,_.MR)(!1,"invalid fallback fragment","obj",e)}else if(e instanceof tO){let t=e.toString(),n=e.peekKeyword(tu(["fallback","receive"]));if((0,_.MR)(n,"type must be fallback or receive","obj",t),"receive"===e.popKeyword(tu(["fallback","receive"]))){let t=tk(e);return(0,_.MR)(0===t.length,"receive cannot have arguments","obj.inputs",t),tS(e,tu(["payable"])),tj(e),new t0(tN,[],!0)}let a=tk(e);a.length?(0,_.MR)(1===a.length&&"bytes"===a[0].type,"invalid fallback inputs","obj.inputs",a.map(e=>e.format("minimal")).join(", ")):a=[tQ.from("bytes")];let r=tR(e);if((0,_.MR)("nonpayable"===r||"payable"===r,"fallback cannot be constants","obj.stateMutability",r),tS(e,tu(["returns"])).has("returns")){let t=tk(e);
1(0,_.MR)(1===t.length&&"bytes"===t[0].type,"invalid fallback outputs","obj.outputs",t.map(e=>e.format("minimal")).join(", "))}return tj(e),new t0(tN,a,"payable"===r)}return"receive"===e.type?new t0(tN,[],!0):"fallback"===e.type?new t0(tN,[tQ.from("bytes")],"payable"===e.stateMutability):void(0,_.MR)(!1,"invalid fallback description","obj",e)}static isFragment(e){return e&&e[tV]===tz}}class t1 extends tZ{constant;outputs;stateMutability;payable;gas;constructor(e,t,n,a,r,i){super(e,"function",t,a),Object.defineProperty(this,tV,{value:tH}),r=Object.freeze(r.slice()),(0,H.n)(this,{constant:"view"===n||"pure"===n,gas:i,outputs:r,payable:"payable"===n,stateMutability:n})}get selector(){return td(this.format("sighash")).substring(0,10)}format(e){if(null==e&&(e="sighash"),"json"===e)return JSON.stringify({type:"function",name:this.name,constant:this.constant,stateMutability:"nonpayable"!==this.stateMutability?this.stateMutability:void 0,payable:this.payable,gas:null!=this.gas?this.gas:void 0,inputs:this.inputs.map(t=>JSON.parse(t.format(e))),outputs:this.outputs.map(t=>JSON.parse(t.format(e)))});let t=[];return"sighash"!==e&&t.push("function"),t.push(this.name+t$(e,this.inputs)),"sighash"!==e&&("nonpayable"!==this.stateMutability&&t.push(this.stateMutability),this.outputs&&this.outputs.length&&(t.push("returns"),t.push(t$(e,this.outputs))),null!=this.gas&&t.push(`@${this.gas.toString()}`)),t.join(" ")}static getSelector(e,t){return new t1(tN,e,"view",t=(t||[]).map(e=>tQ.from(e)),[],null).selector}static from(e){if(t1.isFragment(e))return e;if("string"==typeof e)try{return t1.from(tC(e))}catch(t){(0,_.MR)(!1,"invalid function fragment","obj",e)}else if(e instanceof tO){let t=tx("function",e),n=tk(e),a=tR(e),r=[];tS(e,tu(["returns"])).has("returns")&&(r=tk(e));let i=tB(e);return tj(e),new t1(tN,t,a,n,r,i)}let t=e.stateMutability;return null==t&&(t="payable","boolean"==typeof e.constant?(t="view",!e.constant&&(t="payable","boolean"!=typeof e.payable||e.payable||(t="nonpayable"))):"boolean"!=typeof e.payable||e.payable||(t="nonpayable")),new t1(tN,e.name,t,e.inputs?e.inputs.map(tQ.from):[],e.outputs?e.outputs.map(tQ.from):[],null!=e.gas?e.gas:null)}static isFragment(e){return e&&e[tV]===tH}}class t6 extends tZ{constructor(e,t,n){super(e,"struct",t,n),Object.defineProperty(this,tV,{value:tJ})}format(){throw Error("@TODO")}static from(e){if("string"==typeof e)try{return t6.from(tC(e))}catch(t){(0,_.MR)(!1,"invalid struct fragment","obj",e)}else if(e instanceof tO){let t=tx("struct",e),n=tk(e);return tj(e),new t6(tN,t,n)}return new t6(tN,e.name,e.inputs?e.inputs.map(tQ.from):[])}static isFragment(e){return e&&e[tV]===tJ}}let t5=new Map;t5.set(0,"GENERIC_PANIC"),t5.set(1,"ASSERT_FALSE"),t5.set(17,"OVERFLOW"),t5.set(18,"DIVIDE_BY_ZERO"),t5.set(33,"ENUM_RANGE_ERROR"),t5.set(34,"BAD_STORAGE_DATA"),t5.set(49,"STACK_UNDERFLOW"),t5.set(50,"ARRAY_RANGE_ERROR"),t5.set(65,"OUT_OF_MEMORY"),t5.set(81,"UNINITIALIZED_FUNCTION_CALL");let t8=new RegExp(/^bytes([0-9]*)$/),t2=new RegExp(/^(u?int)([0-9]*)$/),t3=null,t9=1024;class t4{#m(e){if(e.isArray())return new e8(this.#m(e.arrayChildren),e.arrayLength,e.name);if(e.isTuple())return new tc(e.components.map(e=>this.#m(e)),e.name);switch(e.baseType){case"address":return new e0(e.name);case"bool":return new e2(e.name);case"string":return new to(e.name);case"bytes":return new e9(e.name);case"":return new te(e.name)}let t=e.type.match(t2);if(t){let n=parseInt(t[2]||"256");return(0,_.MR)(0!==n&&n<=256&&n%8==0,"invalid "+t[1]+" bit length","param",e),new tr(n/8,"int"===t[1],e.name)}if(t=e.type.match(t8)){let n=parseInt(t[1]);
1return(0,_.MR)(0!==n&&n<=32,"invalid bytes length","param",e),new e4(n,e.name)}(0,_.MR)(!1,"invalid type","type",e.type)}getDefaultValue(e){return new tc(e.map(e=>this.#m(tQ.from(e))),"_").defaultValue()}encode(e,t){(0,_.dd)(t.length,e.length,"types/values length mismatch");let n=new tc(e.map(e=>this.#m(tQ.from(e))),"_"),a=new et;return n.encode(a,t),a.data}decode(e,t,n){return new tc(e.map(e=>this.#m(tQ.from(e))),"_").decode(new en(t,n,t9))}static _setDefaultMaxInflation(e){(0,_.MR)("number"==typeof e&&Number.isInteger(e),"invalid defaultMaxInflation factor","value",e),t9=e}static defaultAbiCoder(){return null==t3&&(t3=new t4),t3}static getBuiltinCallException(e,t,n){return function(e,t,n,a){let r="missing revert data",i=null,f=null;if(n){r="execution reverted";let e=w(n);if(n=O(n),0===e.length)r+=" (no data present; likely require(false) occurred",i="require(false)";else if(e.length%32!=4)r+=" (could not decode reason; invalid data length)";else if("0x08c379a0"===O(e.slice(0,4)))try{i=a.decode(["string"],e.slice(4))[0],f={signature:"Error(string)",name:"Error",args:[i]},r+=`: ${JSON.stringify(i)}`}catch(e){r+=" (could not decode reason; invalid string data)"}else if("0x4e487b71"===O(e.slice(0,4)))try{let t=Number(a.decode(["uint256"],e.slice(4))[0]);f={signature:"Panic(uint256)",name:"Panic",args:[t]},i=`Panic due to ${t5.get(t)||"UNKNOWN"}(${t})`,r+=`: ${i}`}catch(e){r+=" (could not decode panic code)"}else r+=" (unknown custom error)"}let b={to:t.to?eq(t.to):null,data:t.data||"0x"};return t.from&&(b.from=eq(t.from)),(0,_.xz)(r,"CALL_EXCEPTION",{action:e,data:n,reason:i,transaction:b,invocation:null,revert:f})}(e,t,n,t4.defaultAbiCoder())}}function t7(e){return e&&"function"==typeof e.getAddress}async function ne(e,t){let n=await t;return(null==n||"0x0000000000000000000000000000000000000000"===n)&&((0,_.vA)("string"!=typeof e,"unconfigured name","UNCONFIGURED_NAME",{value:e}),(0,_.MR)(!1,"invalid AddressLike value; did not resolve to a value address","target",e)),eq(n)}function nt(e,t){return"string"==typeof e?e.match(/^0x[0-9a-f]{40}$/i)?eq(e):((0,_.vA)(null!=t,"ENS resolution requires a provider","UNSUPPORTED_OPERATION",{operation:"resolveName"}),ne(e,t.resolveName(e))):t7(e)?ne(e,e.getAddress()):e&&"function"==typeof e.then?ne(e,e):void(0,_.MR)(!1,"unsupported addressable value","target",e)}let nn=new Uint8Array(32);nn.fill(0);let na=BigInt(-1),nr=BigInt(0),ni=BigInt(1),nf=BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),nb=K(ni,32),ns=K(nr,32),no={name:"string",version:"string",chainId:"uint256",verifyingContract:"address",salt:"bytes32"},nc=["name","version","chainId","verifyingContract","salt"];function nd(e){return function(t){return(0,_.MR)("string"==typeof t,`invalid domain value for ${JSON.stringify(e)}`,`domain.${e}`,t),t}}let nu={name:nd("name"),version:nd("version"),chainId:function(e){let t=F(e,"domain.chainId");return((0,_.MR)(t>=0,"invalid chain ID","domain.chainId",e),Number.isSafeInteger(t))?Number(t):z(t)},verifyingContract:function(e){try{return eq(e).toLowerCase()}catch(e){}(0,_.MR)(!1,'invalid domain value "verifyingContract"',"domain.verifyingContract",e)},salt:function(e){let t=w(e,"domain.salt");return(0,_.MR)(32===t.length,'invalid domain value "salt"',"domain.salt",e),O(t)}};function nl(e){{let t=e.match(/^(u?)int(\d+)$/);if(t){let n=""===t[1],a=parseInt(t[2]);(0,_.MR)(a%8==0&&0!==a&&a<=256&&t[2]===String(a),"invalid numeric width","type",e);let r=D(nf,n?a-1:a),i=n?(r+ni)*na:nr;return function(t){let a=F(t,"value");return(0,_.MR)(a>=i&&a<=r,`value out-of-bounds for ${e}`,"value",a),K(n?j(a,256):a,32)}}}{let t=e.match(/^bytes(\d+)$/);if(t){let n=parseInt(t[1]);return(0,_.MR)(0!==n&&n<=32&&t[1]===String(n),"invalid bytes width","type",e),function(t){let a=w(t);(0,_.MR)(a.length===n,`invalid length for ${e}`,"value",t);let r=w(t),i=r.length%32;return i?C([r,nn.slice(i)]):O(r)}}}switch(e){case"address":return function(e){return R(eq(e),32)};case"bool":return function(e){return e?nb:ns};case"bytes":return function(e){return eK(e)};case"string":return function(e){return td(e)}}return null}function np(e,t){return`${e}(${t.map(({name:e,type:t})=>t+" "+e).join(",")})`}function ny(e){let t=e.match(/^([^\x5b]*)((\x5b\d*\x5d)*)(\x5b(\d*)\x5d)$/);return t?{base:t[1],index:t[2]+t[4],array:{base:t[1],prefix:t[1]+t[2],count:t[5]?parseInt(t[5]):-1}}:{base:e}}class nm{primaryType;#h;get types(){return JSON.parse(this.#h)}#g;#T;constructor(e){this.#g=new Map,this.#T=new Map;let t=new Map,n=new Map,a=new Map,r={};for(let i in Object.keys(e).forEach(i=>
1{r[i]=e[i].map(({name:t,type:n})=>{let{base:a,index:r}=ny(n);return"int"!==a||e.int||(a="int256"),"uint"!==a||e.uint||(a="uint256"),{name:t,type:a+(r||"")}}),t.set(i,new Set),n.set(i,[]),a.set(i,new Set)}),this.#h=JSON.stringify(r),r){let a=new Set;for(let f of r[i]){(0,_.MR)(!a.has(f.name),`duplicate variable name ${JSON.stringify(f.name)} in ${JSON.stringify(i)}`,"types",e),a.add(f.name);let r=ny(f.type).base;(0,_.MR)(r!==i,`circular type reference to ${JSON.stringify(r)}`,"types",e),nl(r)||((0,_.MR)(n.has(r),`unknown type ${JSON.stringify(r)}`,"types",e),n.get(r).push(i),t.get(i).add(r))}}let i=Array.from(n.keys()).filter(e=>0===n.get(e).length);for(let[f,b]of((0,_.MR)(0!==i.length,"missing primary type","types",e),(0,_.MR)(1===i.length,`ambiguous primary types or unused types: ${i.map(e=>JSON.stringify(e)).join(", ")}`,"types",e),(0,H.n)(this,{primaryType:i[0]}),!function r(i,f){for(let b of((0,_.MR)(!f.has(i),`circular type reference to ${JSON.stringify(i)}`,"types",e),f.add(i),t.get(i)))if(n.has(b))for(let e of(r(b,f),f))a.get(e).add(b);f.delete(i)}(this.primaryType,new Set),a)){let e=Array.from(b);e.sort(),this.#g.set(f,np(f,r[f])+e.map(e=>np(e,r[e])).join(""))}}getEncoder(e){let t=this.#T.get(e);return t||(t=this.#_(e),this.#T.set(e,t)),t}#_(e){{let t=nl(e);if(t)return t}let t=ny(e).array;if(t){let e=t.prefix,n=this.getEncoder(e);return a=>{(0,_.MR)(-1===t.count||t.count===a.length,`array length mismatch; expected length ${t.count}`,"value",a);let r=a.map(n);return this.#g.has(e)&&(r=r.map(eK)),eK(C(r))}}let n=this.types[e];if(n){let t=td(this.#g.get(e));return e=>{let a=n.map(({name:t,type:n})=>{let a=this.getEncoder(n)(e[t]);return this.#g.has(n)?eK(a):a});return a.unshift(t),C(a)}}(0,_.MR)(!1,`unknown type: ${e}`,"type",e)}encodeType(e){let t=this.#g.get(e);return(0,_.MR)(t,`unknown type: ${JSON.stringify(e)}`,"name",e),t}encodeData(e,t){return this.getEncoder(e)(t)}hashStruct(e,t){return eK(this.encodeData(e,t))}encode(e){return this.encodeData(this.primaryType,e)}hash(e){return this.hashStruct(this.primaryType,e)}_visit(e,t,n){if(nl(e))return n(e,t);let a=ny(e).array;if(a)return(0,_.MR)(-1===a.count||a.count===t.length,`array length mismatch; expected length ${a.count}`,"value",t),t.map(e=>this._visit(a.prefix,e,n));let r=this.types[e];if(r)return r.reduce((e,{name:a,type:r})=>(e[a]=this._visit(r,t[a],n),e),{});(0,_.MR)(!1,`unknown type: ${e}`,"type",e)}visit(e,t){return this._visit(this.primaryType,e,t)}static from(e){return new nm(e)}static getPrimaryType(e){return nm.from(e).primaryType}static hashStruct(e,t,n){return nm.from(t).hashStruct(e,n)}static hashDomain(e){let t=[];for(let n in e){if(null==e[n])continue;let a=no[n];(0,_.MR)(a,`invalid typed-data domain key: ${JSON.stringify(n)}`,"domain",e),t.push({name:n,type:a})}return t.sort((e,t)=>nc.indexOf(e.name)-nc.indexOf(t.name)),nm.hashStruct("EIP712Domain",{EIP712Domain:t},e)}static encode(e,t,n){return C(["0x1901",nm.hashDomain(e),nm.from(t).hash(n)])}static hash(e,t,n){return eK(nm.encode(e,t,n))}static async resolveNames(e,t,n,a){for(let t in e=Object.assign({},e))null==e[t]&&delete e[t];let r={};e.verifyingContract&&!A(e.verifyingContract,20)&&(r[e.verifyingContract]="0x");let i=nm.from(t);for(let e in i.visit(n,(e,t)=>("address"!==e||A(t,20)||(r[t]="0x"),t)),r)r[e]=await a(e);return e.verifyingContract&&r[e.verifyingContract]&&(e.verifyingContract=r[e.verifyingContract]),n=i.visit(n,(e,t)=>"address"===e&&r[t]?r[t]:t),{domain:e,value:n}}static getPayload(e,t,n){nm.hashDomain(e);let a={},r=[];nc.forEach(t=>{let n=e[t];null!=n&&(a[t]=nu[t](n),r.push({name:t,type:no[t]}))});let i=nm.from(t),f=Object.assign({},t=i.types);return(0,_.MR)(null==f.EIP712Domain,"types must not contain EIP712Domain type","types.EIP712Domain",t),f.EIP712Domain=r,i.encode(n),{types:f,domain:a,primaryType:i.primaryType,message:i.visit(n,(e,t)=>{if(e.match(/^bytes(\d*)/))return O(w(t));if(e.match(/^u?int/))return F(t).toString();switch(e){case"address":return t.toLowerCase();case"bool":return!!t;case"string":return(0,_.MR)("string"==typeof t,"invalid string","value",t),t}(0,_.MR)(!1,"unsupported type","type",e)})}}}function nh(e,t){return{address:eq(e),storageKeys:t.map((e,t)=>((0,_.MR)(A(e,32),"invalid slot",`storageKeys[${t}]`,e),e.toLowerCase()))}}function ng(e){if(Array.isArray(e))return e.map((t,n)=>Array.isArray(t)?((0,_.MR)(2===t.length,"invalid slot set",`value[${n}]`,t),nh(t[0],t[1])):((0,_.MR)(null!=t&&"object"==typeof t,"invali
1d address-slot set","value",e),nh(t.address,t.storageKeys)));(0,_.MR)(null!=e&&"object"==typeof e,"invalid access list","value",e);let t=Object.keys(e).map(t=>{let n=e[t].reduce((e,t)=>(e[t]=!0,e),{});return nh(t,Object.keys(n).sort())});return t.sort((e,t)=>e.address.localeCompare(t.address)),t}let nT="0x0000000000000000000000000000000000000000000000000000000000000000",n_=BigInt(0),nv=BigInt(1),nw=BigInt(2),nP=BigInt(27),nA=BigInt(28),nM=BigInt(35),nI={};class nO{#v;#w;#P;#A;get r(){return this.#v}set r(e){(0,_.MR)(32===E(e),"invalid r","value",e),this.#v=O(e)}get s(){return(0,_.MR)(8>parseInt(this.#w.substring(0,3)),"non-canonical s; use ._s","s",this.#w),this.#w}set s(e){(0,_.MR)(32===E(e),"invalid s","value",e),this.#w=O(e)}get _s(){return this.#w}isValid(){return 8>parseInt(this.#w.substring(0,3))}get v(){return this.#P}set v(e){let t=L(e,"value");(0,_.MR)(27===t||28===t,"invalid v","v",e),this.#P=t}get networkV(){return this.#A}get legacyChainId(){let e=this.networkV;return null==e?null:nO.getChainId(e)}get yParity(){return+(27!==this.v)}get yParityAndS(){let e=w(this.s);return this.yParity&&(e[0]|=128),O(e)}get compactSerialized(){return C([this.r,this.yParityAndS])}get serialized(){return C([this.r,this.s,this.yParity?"0x1c":"0x1b"])}constructor(e,t,n,a){(0,_.gk)(e,nI,"Signature"),this.#v=t,this.#w=n,this.#P=a,this.#A=null}[Symbol.for("nodejs.util.inspect.custom")](){return`Signature { r: "${this.r}", s: "${this._s}"${this.isValid()?"":', valid: "false"'}, yParity: ${this.yParity}, networkV: ${this.networkV} }`}clone(){let e=new nO(nI,this.r,this._s,this.v);return this.networkV&&(e.#A=this.networkV),e}toJSON(){let e=this.networkV;return{_type:"signature",networkV:null!=e?e.toString():null,r:this.r,s:this._s,v:this.v}}static getChainId(e){let t=F(e,"v");return t==nP||t==nA?n_:((0,_.MR)(t>=nM,"invalid EIP-155 v","v",e),(t-nM)/nw)}static getChainIdV(e,t){return F(e)*nw+BigInt(35+t-27)}static getNormalizedV(e){let t=F(e);return t===n_||t===nP?27:t===nv||t===nA?28:((0,_.MR)(t>=nM,"invalid v","v",e),t&nv?27:28)}static from(e){function t(t,n){(0,_.MR)(t,n,"signature",e)}if(null==e)return new nO(nI,nT,nT,27);if("string"==typeof e){let n=w(e,"signature");if(64===n.length){let e=O(n.slice(0,32)),t=n.slice(32,64),a=128&t[0]?28:27;return t[0]&=127,new nO(nI,e,O(t),a)}if(65===n.length){let e=O(n.slice(0,32)),t=O(n.slice(32,64)),a=nO.getNormalizedV(n[64]);return new nO(nI,e,t,a)}t(!1,"invalid raw signature length")}if(e instanceof nO)return e.clone();let n=e.r;t(null!=n,"missing r");let a=R(G(n),32),r=function(e,n){if(null!=e)return R(G(e),32);if(null!=n){t(A(n,32),"invalid yParityAndS");let e=w(n);return e[0]&=127,O(e)}t(!1,"missing s")}(e.s,e.yParityAndS),{networkV:i,v:f}=function(e,n,a){if(null!=e){let t=F(e);return{networkV:t>=nM?t:void 0,v:nO.getNormalizedV(t)}}if(null!=n)return t(A(n,32),"invalid yParityAndS"),{v:128&w(n)[0]?28:27};if(null!=a){switch(L(a,"sig.yParity")){case 0:return{v:27};case 1:return{v:28}}t(!1,"invalid yParity")}t(!1,"missing v")}(e.v,e.yParityAndS,e.yParity),b=new nO(nI,a,r,f);return i&&(b.#A=i),t(null==e.yParity||L(e.yParity,"sig.yParity")===b.yParity,"yParity mismatch"),t(null==e.yParityAndS||e.yParityAndS===b.yParityAndS,"yParityAndS mismatch"),b}}function nC(e){return{address:eq(e.address),nonce:F(null!=e.nonce?e.nonce:0),chainId:F(null!=e.chainId?e.chainId:0),signature:nO.from(e.signature)}}function nE(e){return async function(t,n){let a;(0,_.vA)(null==n||!n.cancelled,"request cancelled before sending","CANCELLED");let r=t.url.split(":")[0].toLowerCase();(0,_.vA)("http"===r||"https"===r,`unsupported protocol ${r}`,"UNSUPPORTED_OPERATION",{info:{protocol:r},operation:"request"}),(0,_.vA)("https"===r||!t.credentials||t.allowInsecureAuthentication,"insecure authorized connections unsupported","UNSUPPORTED_OPERATION",{operation:"request"});let i=null,f=new AbortController,b=setTimeout(()=>{i=(0,_.xz)("request timeout","TIMEOUT"),f.abort()},t.timeout);n&&n.addListener(()=>{i=(0,_.xz)("request cancelled","CANCELLED"),f.abort()});let s=Object.assign({},e,{method:t.method,headers:new Headers(Array.from(t)),body:t.body||void 0,signal:f.
1signal});try{a=await fetch(t.url,s)}catch(e){if(clearTimeout(b),i)throw i;throw e}clearTimeout(b);let o={};a.headers.forEach((e,t)=>{o[t.toLowerCase()]=e});let c=await a.arrayBuffer(),d=null==c?null:new Uint8Array(c);return{statusCode:a.status,statusMessage:a.statusText,headers:o,body:d}}}nE({});let nx=nE(),nS=RegExp("^data:([^;:]*)?(;base64)?,(.*)$","i"),nR=RegExp("^ipfs://(ipfs/)?(.*)$","i"),nk=!1;async function nB(e,t){try{var n;let t=e.match(nS);if(!t)throw Error("invalid data");return new nL(200,"OK",{"content-type":t[1]||"text/plain"},t[2]?function(e){let t=new Uint8Array((e=atob(e)).length);for(let n=0;n<e.length;n++)t[n]=e.charCodeAt(n);return w(t)}(t[3]):(n=t[3],tb(n.replace(/%([0-9a-f][0-9a-f])/gi,(e,t)=>String.fromCharCode(parseInt(t,16))))))}catch(t){return new nL(599,"BAD REQUEST (invalid data: URI)",{},null,new nU(e))}}function nj(e){return async function(t,n){try{let n=t.match(nR);if(!n)throw Error("invalid link");return new nU(`${e}${n[2]}`)}catch(e){return new nL(599,"BAD REQUEST (invalid IPFS URI)",{},null,new nU(t))}}}let nD={data:nB,ipfs:nj("https://gateway.ipfs.io/ipfs/")},nF=new WeakMap;class nN{#M;#I;constructor(e){this.#M=[],this.#I=!1,nF.set(e,()=>{if(!this.#I){for(let e of(this.#I=!0,this.#M))setTimeout(()=>{e()},0);this.#M=[]}})}addListener(e){(0,_.vA)(!this.#I,"singal already cancelled","UNSUPPORTED_OPERATION",{operation:"fetchCancelSignal.addCancelListener"}),this.#M.push(e)}get cancelled(){return this.#I}checkSignal(){(0,_.vA)(!this.cancelled,"cancelled","CANCELLED",{})}}function nV(e){if(null==e)throw Error("missing signal; should not happen");return e.checkSignal(),e}class nU{#O;#C;#E;#x;#S;#R;#k;#B;#j;#D;#F;#N;#V;#U;#L;get url(){return this.#R}set url(e){this.#R=String(e)}get body(){return null==this.#k?null:new Uint8Array(this.#k)}set body(e){if(null==e)this.#k=void 0,this.#B=void 0;else if("string"==typeof e)this.#k=tb(e),this.#B="text/plain";else if(e instanceof Uint8Array)this.#k=e,this.#B="application/octet-stream";else if("object"==typeof e)this.#k=tb(JSON.stringify(e)),this.#B="application/json";else throw Error("invalid body")}hasBody(){return null!=this.#k}get method(){return this.#x?this.#x:this.hasBody()?"POST":"GET"}set method(e){null==e&&(e=""),this.#x=String(e).toUpperCase()}get headers(){let e=Object.assign({},this.#E);return this.#j&&(e.authorization=`Basic ${function(e){let t=w(e),n="";for(let e=0;e<t.length;e++)n+=String.fromCharCode(t[e]);return btoa(n)}(tb(this.#j))}`),this.allowGzip&&(e["accept-encoding"]="gzip"),null==e["content-type"]&&this.#B&&(e["content-type"]=this.#B),this.body&&(e["content-length"]=String(this.body.length)),e}getHeader(e){return this.headers[e.toLowerCase()]}setHeader(e,t){this.#E[String(e).toLowerCase()]=String(t)}clearHeaders(){this.#E={}}[Symbol.iterator](){let e=this.headers,t=Object.keys(e),n=0;return{next:()=>{if(n<t.length){let a=t[n++];return{value:[a,e[a]],done:!1}}return{value:void 0,done:!0}}}}get credentials(){return this.#j||null}setCredentials(e,t){(0,_.MR)(!e.match(/:/),"invalid basic authentication username","username","[REDACTED]"),this.#j=`${e}:${t}`}get allowGzip(){return this.#C}set allowGzip(e){this.#C=!!e}get allowInsecureAuthentication(){return!!this.#O}set allowInsecureAuthentication(e){this.#O=!!e}get timeout(){return this.#S}set timeout(e){(0,_.MR)(e>=0,"timeout must be non-zero","timeout",e),this.#S=e}get preflightFunc(){return this.#D||null}set preflightFunc(e){this.#D=e}get processFunc(){return this.#F||null}set processFunc(e){this.#F=e}get retryFunc(){return this.#N||null}set retryFunc(e){this.#N=e}get getUrlFunc(){return this.#L||nx}set getUrlFunc(e){this.#L=e}constructor(e){this.#R=String(e),this.#O=!1,this.#C=!0,this.#E={},this.#x="",this.#S=3e5,this.#U={slotInterval:250,maxAttempts:12},this.#L=null}toString(){return`<FetchRequest method=${JSON.stringify(this.method)} url=${JSON.stringify(this.url)} headers=${JSON.stringify(this.headers)} body=${this.#k?O(this.#k):"null"}>`}setThrottleParams(e){null!=e.slotInterval&&(this.#U.slotInterval=e.slotInterval),null!=e.maxAttempts&&(this.#U.maxAttempts=e.maxAttempts)}async #K(e,t,n,a,r){var i;if(e>=this.#U.maxAttempts)return r.makeServerError("exceeded maximum retry limit");(0,_.vA)(nK()<=t,"timeout","TIMEOUT",{operation:"request.send",reason:"timeout",request:a}),n>0&&await (i=n,new Promise(e=>
1setTimeout(e,i)));let f=this.clone(),b=(f.url.split(":")[0]||"").toLowerCase();if(b in nD){let e=await nD[b](f.url,nV(a.#V));if(e instanceof nL){let t=e;if(this.processFunc){nV(a.#V);try{t=await this.processFunc(f,t)}catch(e){(null==e.throttle||"number"!=typeof e.stall)&&t.makeServerError("error in post-processing function",e).assertOk()}}return t}f=e}this.preflightFunc&&(f=await this.preflightFunc(f));let s=await this.getUrlFunc(f,nV(a.#V)),o=new nL(s.statusCode,s.statusMessage,s.headers,s.body,a);if(301===o.statusCode||302===o.statusCode){try{let n=o.headers.location||"";return f.redirect(n).#K(e+1,t,0,a,o)}catch(e){}return o}if(429===o.statusCode&&(null==this.retryFunc||await this.retryFunc(f,o,e))){let n=o.headers["retry-after"],r=this.#U.slotInterval*Math.trunc(Math.random()*Math.pow(2,e));return"string"==typeof n&&n.match(/^[1-9][0-9]*$/)&&(r=parseInt(n)),f.clone().#K(e+1,t,r,a,o)}if(this.processFunc){nV(a.#V);try{o=await this.processFunc(f,o)}catch(r){(null==r.throttle||"number"!=typeof r.stall)&&o.makeServerError("error in post-processing function",r).assertOk();let n=this.#U.slotInterval*Math.trunc(Math.random()*Math.pow(2,e));return r.stall>=0&&(n=r.stall),f.clone().#K(e+1,t,n,a,o)}}return o}send(){return(0,_.vA)(null==this.#V,"request already sent","UNSUPPORTED_OPERATION",{operation:"fetchRequest.send"}),this.#V=new nN(this),this.#K(0,nK()+this.timeout,0,this,new nL(0,"",{},null,this))}cancel(){(0,_.vA)(null!=this.#V,"request has not been sent","UNSUPPORTED_OPERATION",{operation:"fetchRequest.cancel"});let e=nF.get(this);if(!e)throw Error("missing signal; should not happen");e()}redirect(e){let t=this.url.split(":")[0].toLowerCase(),n=e.split(":")[0].toLowerCase();(0,_.vA)("GET"===this.method&&("https"!==t||"http"!==n)&&e.match(/^https?:/),"unsupported redirect","UNSUPPORTED_OPERATION",{operation:`redirect(${this.method} ${JSON.stringify(this.url)} => ${JSON.stringify(e)})`});let a=new nU(e);return a.method="GET",a.allowGzip=this.allowGzip,a.timeout=this.timeout,a.#E=Object.assign({},this.#E),this.#k&&(a.#k=new Uint8Array(this.#k)),a.#B=this.#B,a}clone(){let e=new nU(this.url);return e.#x=this.#x,this.#k&&(e.#k=this.#k),e.#B=this.#B,e.#E=Object.assign({},this.#E),e.#j=this.#j,this.allowGzip&&(e.allowGzip=!0),e.timeout=this.timeout,this.allowInsecureAuthentication&&(e.allowInsecureAuthentication=!0),e.#D=this.#D,e.#F=this.#F,e.#N=this.#N,e.#U=Object.assign({},this.#U),e.#L=this.#L,e}static lockConfig(){nk=!0}static getGateway(e){return nD[e.toLowerCase()]||null}static registerGateway(e,t){if("http"===(e=e.toLowerCase())||"https"===e)throw Error(`cannot intercept ${e}; use registerGetUrl`);if(nk)throw Error("gateways locked");nD[e]=t}static registerGetUrl(e){if(nk)throw Error("gateways locked");nx=e}static createGetUrlFunc(e){return nE(e)}static createDataGateway(){return nB}static createIpfsGatewayFunc(e){return nj(e)}}class nL{#G;#z;#E;#k;#e;#H;toString(){return`<FetchResponse status=${this.statusCode} body=${this.#k?O(this.#k):"null"}>`}get statusCode(){return this.#G}get statusMessage(){return this.#z}get headers(){return Object.assign({},this.#E)}get body(){return null==this.#k?null:new Uint8Array(this.#k)}get bodyText(){try{return null==this.#k?"":ts(this.#k)}catch(e){(0,_.vA)(!1,"response body is not valid UTF-8 data","UNSUPPORTED_OPERATION",{operation:"bodyText",info:{response:this}})}}get bodyJson(){try{return JSON.parse(this.bodyText)}catch(e){(0,_.vA)(!1,"response body is not valid JSON","UNSUPPORTED_OPERATION",{operation:"bodyJson",info:{response:this}})}}[Symbol.iterator](){let e=this.headers,t=Object.keys(e),n=0;return{next:()=>{if(n<t.length){let a=t[n++];return{value:[a,e[a]],done:!1}}return{value:void 0,done:!0}}}}constructor(e,t,n,a,r){this.#G=e,this.#z=t,this.#E=Object.keys(n).reduce((e,t)=>(e[t.toLowerCase()]=String(n[t]),e),{}),this.#k=null==a?null:new Uint8Array(a),this.#e=r||null,this.#H={message:""}}makeServerError(e,t){let n;e?n=`CLIENT ESCALATED SERVER ERROR (${this.statusCode} ${this.statusMessage}; ${e})`:(e=`${this.statusCode} ${this.statusMessage}`,n=`CLIENT ESCALATED SERVER ERROR (${e})`);let a=new nL(599,n,this.headers,this.body,this.#e||void 0);return a.#H={message:e,error:t},a}throwThrottleError(e,t){null==t?t=-1:(0,_.MR)(Number.isInteger(t)&&t>=0,"invalid stall timeout","stall",t);let n=Error(e||"throttling requests");throw(0,H.n)(n,{stall:t,throttle:!0}),n}getHeader(e){return this.headers[e.toLowerCase()]}hasBody(){return null!=this.#k}get request(){return this.#e}ok(){return""===this.#H.message&&this.statusCode>=200&&this.statusCode<300}assertOk(){if(this.ok())return;let{message:e,error:t}=this.#H;""===e&&(e=`server response ${this.statusCode} ${this.statusMessage}`);let n=null;this.request&&(n=this.request.url);let a=null;try{this.#k&&(a=ts(this.#k))}catch(e){}(0,_.vA)(!1,e,"SERVER_ERROR",{request:this.request||"unknown request",response:this,error:t,info:{requestUrl:n,responseBody:a,responseStatus:`${this.statusCode} ${this.statusMessage}`}})}}function nK(){return new Date().getTime()}let nG="0x0000000000000000000000000000000000000000";class nz{fragment;name;signature;topic;args;constructor(e,t,n){let a=e.name,r=e.format();(0,H.n)(this,{fragment:e,name:a,signature:r,topic:t,args:n})}}class nH{fragment;name;args;signature;selector;value;constructor(e,t,n,a){let r=e.name,i=e.format();(0,H.n)(this,{fragment:e,name:r,args:n,signature:i,selector:t,value:a})}}class nJ{fragment;name;args;signature;selector;constructor(e,t,n){let a=e.name,r=e.format();(0,H.n)(this,{fragment:e,name:a,args:n,signature:r,selector:t})}}class nQ{hash;_isIndexed;static isIndexed(e){return!!(e&&e._isIndexed)}constructor(e){(0,H.n)(this,{hash:e,_isIndexed:!0})}}let nq={0:"generic panic",1:"assert(false)",17:"arithmetic overflow",18:"division or modulo by zero",33:"enum overflow",34:"invalid encoded storage byte array accessed",49:"out-of-bounds array access; popping on an empty array",50:"out-of-bounds access of an array or bytesN",65:"out of memory",81:"uninitialized function"},nZ={"0x08c379a0":{signature:"Error(string)",name:"Error",inputs:["string"],reason:e=>`reverted with reason string ${JSON.stringify(e)}`},"0x4e487b71":{signature:"Panic(uint256)",name:"Panic",inputs:["uint256"],reason:e=>{let t="unknown panic code";return e>=0&&e<=255&&nq[e.toString()]&&(t=nq[e.toString()]),`reverted with panic code 0x${e.toString(16)} (${t})`}}};
1class n${fragments;deploy;fallback;receive;#J;#Q;#q;#Z;constructor(e){let t=[];t="string"==typeof e?JSON.parse(e):e,this.#q=new Map,this.#J=new Map,this.#Q=new Map;let n=[];for(let e of t)try{n.push(tq.from(e))}catch(t){console.log(`[Warning] Invalid Fragment ${JSON.stringify(e)}:`,t.message)}(0,H.n)(this,{fragments:Object.freeze(n)});let a=null,r=!1;this.#Z=this.getAbiCoder(),this.fragments.forEach((e,t)=>{let n;switch(e.type){case"constructor":if(this.deploy)return void console.log("duplicate definition - constructor");(0,H.n)(this,{deploy:e});return;case"fallback":0===e.inputs.length?r=!0:((0,_.MR)(!a||e.payable!==a.payable,"conflicting fallback fragments",`fragments[${t}]`,e),r=(a=e).payable);return;case"function":n=this.#q;break;case"event":n=this.#Q;break;case"error":n=this.#J;break;default:return}let i=e.format();n.has(i)||n.set(i,e)}),this.deploy||(0,H.n)(this,{deploy:tX.from("constructor()")}),(0,H.n)(this,{fallback:a,receive:r})}format(e){let t=e?"minimal":"full";return this.fragments.map(e=>e.format(t))}formatJson(){return JSON.stringify(this.fragments.map(e=>e.format("json")).map(e=>JSON.parse(e)))}getAbiCoder(){return t4.defaultAbiCoder()}#$(e,t,n){if(A(e)){let t=e.toLowerCase();for(let e of this.#q.values())if(t===e.selector)return e;return null}if(-1===e.indexOf("(")){let a=[];for(let[t,n]of this.#q)t.split("(")[0]===e&&a.push(n);if(t){let e=t.length>0?t[t.length-1]:null,n=t.length,r=!0;eX.isTyped(e)&&"overrides"===e.type&&(r=!1,n--);for(let e=a.length-1;e>=0;e--){let t=a[e].inputs.length;t===n||r&&t===n-1||a.splice(e,1)}for(let e=a.length-1;e>=0;e--){let n=a[e].inputs;for(let r=0;r<t.length;r++)if(eX.isTyped(t[r])){if(r>=n.length){if("overrides"===t[r].type)continue;a.splice(e,1);break}if(t[r].type!==n[r].baseType){a.splice(e,1);break}}}}if(1===a.length&&t&&t.length!==a[0].inputs.length){let e=t[t.length-1];(null==e||Array.isArray(e)||"object"!=typeof e)&&a.splice(0,1)}if(0===a.length)return null;if(a.length>1&&n){let t=a.map(e=>JSON.stringify(e.format())).join(", ");(0,_.MR)(!1,`ambiguous function description (i.e. matches ${t})`,"key",e)}return a[0]}let a=this.#q.get(t1.from(e).format());return a||null}getFunctionName(e){let t=this.#$(e,null,!1);return(0,_.MR)(t,"no matching function","key",e),t.name}hasFunction(e){return!!this.#$(e,null,!1)}getFunction(e,t){return this.#$(e,t||null,!0)}forEachFunction(e){let t=Array.from(this.#q.keys());t.sort((e,t)=>e.localeCompare(t));for(let n=0;n<t.length;n++){let a=t[n];e(this.#q.get(a),n)}}#Y(e,t,n){if(A(e)){let t=e.toLowerCase();for(let e of this.#Q.values())if(t===e.topicHash)return e;return null}if(-1===e.indexOf("(")){let a=[];for(let[t,n]of this.#Q)t.split("(")[0]===e&&a.push(n);if(t){for(let e=a.length-1;e>=0;e--)a[e].inputs.length<t.length&&a.splice(e,1);for(let e=a.length-1;e>=0;e--){let n=a[e].inputs;for(let r=0;r<t.length;r++)if(eX.isTyped(t[r])&&t[r].type!==n[r].baseType){a.splice(e,1);break}}}if(0===a.length)return null;if(a.length>1&&n){let t=a.map(e=>JSON.stringify(e.format())).join(", ");(0,_.MR)(!1,`ambiguous event description (i.e. matches ${t})`,"key",e)}return a[0]}let a=this.#Q.get(tW.from(e).format());return a||null}getEventName(e){let t=this.#Y(e,null,!1);return(0,_.MR)(t,"no matching event","key",e),t.name}hasEvent(e){return!!this.#Y(e,null,!1)}getEvent(e,t){return this.#Y(e,t||null,!0)}forEachEvent(e){let t=Array.from(this.#Q.keys());t.sort((e,t)=>e.localeCompare(t));for(let n=0;n<t.length;n++){let a=t[n];e(this.#Q.get(a),n)}}getError(e,t){if(A(e)){let t=e.toLowerCase();if(nZ[t])return tY.from(nZ[t].signature);for(let e of this.#J.values())if(t===e.selector)return e;return null}if(-1===e.indexOf("(")){let t=[];for(let[n,a]of this.#J)n.split("(")[0]===e&&t.push(a);if(0===t.length)return"Error"===e?tY.from("error Error(string)"):"Panic"===e?tY.from("error Panic(uint256)"):null;if(t.length>1){let n=t.map(e=>JSON.stringify(e.format())).join(", ");(0,_.MR)(!1,`ambiguous error description (i.e. ${n})`,"name",e)}return t[0]}if("Error(string)"===(e=tY.from(e).format()))return tY.from("error Error(string)");if("Panic(uint256)"===e)return tY.from("error Panic(uint256)");let n=this.#J.get(e);return n||null}forEachError(e){let t=Array.from(this.#J.keys());t.sort((e,t)=>
1e.localeCompare(t));for(let n=0;n<t.length;n++){let a=t[n];e(this.#J.get(a),n)}}_decodeParams(e,t){return this.#Z.decode(e,t)}_encodeParams(e,t){return this.#Z.encode(e,t)}encodeDeploy(e){return this._encodeParams(this.deploy.inputs,e||[])}decodeErrorResult(e,t){if("string"==typeof e){let t=this.getError(e);(0,_.MR)(t,"unknown error","fragment",e),e=t}return(0,_.MR)(x(t,0,4)===e.selector,`data signature does not match error ${e.name}.`,"data",t),this._decodeParams(e.inputs,x(t,4))}encodeErrorResult(e,t){if("string"==typeof e){let t=this.getError(e);(0,_.MR)(t,"unknown error","fragment",e),e=t}return C([e.selector,this._encodeParams(e.inputs,t||[])])}decodeFunctionData(e,t){if("string"==typeof e){let t=this.getFunction(e);(0,_.MR)(t,"unknown function","fragment",e),e=t}return(0,_.MR)(x(t,0,4)===e.selector,`data signature does not match function ${e.name}.`,"data",t),this._decodeParams(e.inputs,x(t,4))}encodeFunctionData(e,t){if("string"==typeof e){let t=this.getFunction(e);(0,_.MR)(t,"unknown function","fragment",e),e=t}return C([e.selector,this._encodeParams(e.inputs,t||[])])}decodeFunctionResult(e,t){if("string"==typeof e){let t=this.getFunction(e);(0,_.MR)(t,"unknown function","fragment",e),e=t}let n="invalid length for result data",a=P(t);if(a.length%32==0)try{return this.#Z.decode(e.outputs,a)}catch(e){n="could not decode result data"}(0,_.vA)(!1,n,"BAD_DATA",{value:O(a),info:{method:e.name,signature:e.format()}})}makeError(e,t){let n=w(e,"data"),a=t4.getBuiltinCallException("call",t,n);if(a.message.startsWith("execution reverted (unknown custom error)")){let e=O(n.slice(0,4)),t=this.getError(e);
1if(t)try{let e=this.#Z.decode(t.inputs,n.slice(4));a.revert={name:t.name,signature:t.format(),args:e},a.reason=a.revert.signature,a.message=`execution reverted: ${a.reason}`}catch(e){a.message="execution reverted (coult not decode custom error)"}}let r=this.parseTransaction(t);return r&&(a.invocation={method:r.name,signature:r.signature,args:r.args}),a}encodeFunctionResult(e,t){if("string"==typeof e){let t=this.getFunction(e);(0,_.MR)(t,"unknown function","fragment",e),e=t}return O(this.#Z.encode(e.outputs,t||[]))}encodeFilterTopics(e,t){if("string"==typeof e){let t=this.getEvent(e);(0,_.MR)(t,"unknown event","eventFragment",e),e=t}(0,_.vA)(t.length<=e.inputs.length,`too many arguments for ${e.format()}`,"UNEXPECTED_ARGUMENT",{count:t.length,expectedCount:e.inputs.length});let n=[];e.anonymous||n.push(e.topicHash);let a=(e,t)=>{if("string"===e.type)return td(t);if("bytes"===e.type)return eK(O(t));if("bool"===e.type&&"boolean"==typeof t)t=t?"0x01":"0x00";else if(e.type.match(/^u?int/))t=K(t);else if(e.type.match(/^bytes/))t=S(t,32,!1);else"address"===e.type&&this.#Z.encode(["address"],[t]);return R(O(t),32)};for(t.forEach((t,r)=>{let i=e.inputs[r];if(!i.indexed)return void(0,_.MR)(null==t,"cannot filter non-indexed parameters; must be null","contract."+i.name,t);null==t?n.push(null):"array"===i.baseType||"tuple"===i.baseType?(0,_.MR)(!1,"filtering with tuples or arrays not supported","contract."+i.name,t):Array.isArray(t)?n.push(t.map(e=>a(i,e))):n.push(a(i,t))});n.length&&null===n[n.length-1];)n.pop();return n}encodeEventLog(e,t){if("string"==typeof e){let t=this.getEvent(e);(0,_.MR)(t,"unknown event","eventFragment",e),e=t}let n=[],a=[],r=[];return e.anonymous||n.push(e.topicHash),(0,_.MR)(t.length===e.inputs.length,"event arguments/values mismatch","values",t),e.inputs.forEach((e,i)=>{let f=t[i];if(e.indexed)if("string"===e.type)n.push(td(f));else if("bytes"===e.type)n.push(eK(f));else if("tuple"===e.baseType||"array"===e.baseType)throw Error("not implemented");else n.push(this.#Z.encode([e.type],[f]));else a.push(e),r.push(f)}),{data:this.#Z.encode(a,r),topics:n}}decodeEventLog(e,t,n){if("string"==typeof e){let t=this.getEvent(e);(0,_.MR)(t,"unknown event","eventFragment",e),e=t}if(null!=n&&!e.anonymous){let t=e.topicHash;(0,_.MR)(A(n[0],32)&&n[0].toLowerCase()===t,"fragment/topic mismatch","topics[0]",n[0]),n=n.slice(1)}let a=[],r=[],i=[];e.inputs.forEach((e,t)=>{e.indexed?"string"===e.type||"bytes"===e.type||"tuple"===e.baseType||"array"===e.baseType?(a.push(tQ.from({type:"bytes32",name:e.name})),i.push(!0)):(a.push(e),i.push(!1)):(r.push(e),i.push(!1))});let f=null!=n?this.#Z.decode(a,C(n)):null,b=this.#Z.decode(r,t,!0),s=[],o=[],c=0,d=0;return e.inputs.forEach((e,t)=>{let n=null;if(e.indexed)if(null==f)n=new nQ(null);else if(i[t])n=new nQ(f[d++]);else try{n=f[d++]}catch(e){n=e}else try{n=b[c++]}catch(e){n=e}s.push(n),o.push(e.name||null)}),W.fromItems(s,o)}parseTransaction(e){let t=w(e.data,"tx.data"),n=F(null!=e.value?e.value:0,"tx.value"),a=this.getFunction(O(t.slice(0,4)));if(!a)return null;let r=this.#Z.decode(a.inputs,t.slice(4));return new nH(a,a.selector,r,n)}parseCallResult(e){throw Error("@TODO")}parseLog(e){let t=this.getEvent(e.topics[0]);return!t||t.anonymous?null:new nz(t,t.topicHash,this.decodeEventLog(t,e.data,e.topics))}parseError(e){let t=O(e),n=this.getError(x(t,0,4));if(!n)return null;let a=this.#Z.decode(n.inputs,x(t,4));return new nJ(n,n.selector,a)}static from(e){return e instanceof n$?e:new n$("string"==typeof e?JSON.parse(e):"function"==typeof e.formatJson?e.formatJson():"function"==typeof e.format?e.format("json"):e)}}let nY=BigInt(0);function nW(e){return null==e?null:e}function nX(e){return null==e?null:e.toString()}class n0{gasPrice;maxFeePerGas;maxPriorityFeePerGas;constructor(e,t,n){(0,H.n)(this,{gasPrice:nW(e),maxFeePerGas:nW(t),maxPriorityFeePerGas:nW(n)})}toJSON(){let{gasPrice:e,maxFeePerGas:t,maxPriorityFeePerGas:n}=this;return{_type:"FeeData",gasPrice:nX(e),maxFeePerGas:nX(t),maxPriorityFeePerGas:nX(n)}}}function n1(e){let t={};for(let n of(e.to&&(t.to=e.to),e.from&&(t.from=e.from),e.data&&(t.data=O(e.data)),"chainId,gasLimit,gasPrice,maxFeePerBlobGas,maxFeePerGas,maxPriorityFeePerGas,value".split(/,/)))n in e&&null!=e[n]&&(t[n]=F(e[n],`request.${n}`));for(let n of"type,nonce".split(/,/))n in e&&null!=e[n]&&(t[n]=L(e[n],`request.${n}`));return e.accessList&&(t.accessList=ng(e.accessList)),e.authorizationList&&(t.authorizationList=e.authorizationList.slice()),"blockTag"in e&&(t.blockTag=e.blockTag),"enableCcipRead"in e&&(t.enableCcipRead=!!e.enableCcipRead),"customData"in e&&(t.customData=e.customData),"blobVersionedHashes"in e&&e.blobVersionedHashes&&(t.blobVersionedHashes=e.blobVersionedHashes.slice()),"kzg"in e&&(t.kzg=e.kzg),"blobs"in e&&e.blobs&&(t.blobs=e.blobs.map(e=>M(e)?O(e):Object.assign({},e))),t}class n6{provider;number;hash;timestamp;parentHash;parentBeaconBlockRoot;nonce;difficulty;
1gasLimit;gasUsed;stateRoot;receiptsRoot;blobGasUsed;excessBlobGas;miner;prevRandao;extraData;baseFeePerGas;#W;constructor(e,t){this.#W=e.transactions.map(e=>"string"!=typeof e?new n2(e,t):e),(0,H.n)(this,{provider:t,hash:nW(e.hash),number:e.number,timestamp:e.timestamp,parentHash:e.parentHash,parentBeaconBlockRoot:e.parentBeaconBlockRoot,nonce:e.nonce,difficulty:e.difficulty,gasLimit:e.gasLimit,gasUsed:e.gasUsed,blobGasUsed:e.blobGasUsed,excessBlobGas:e.excessBlobGas,miner:e.miner,prevRandao:nW(e.prevRandao),extraData:e.extraData,baseFeePerGas:nW(e.baseFeePerGas),stateRoot:e.stateRoot,receiptsRoot:e.receiptsRoot})}get transactions(){return this.#W.map(e=>"string"==typeof e?e:e.hash)}get prefetchedTransactions(){let e=this.#W.slice();return 0===e.length?[]:((0,_.vA)("object"==typeof e[0],"transactions were not prefetched with block request","UNSUPPORTED_OPERATION",{operation:"transactionResponses()"}),e)}toJSON(){let{baseFeePerGas:e,difficulty:t,extraData:n,gasLimit:a,gasUsed:r,hash:i,miner:f,prevRandao:b,nonce:s,number:o,parentHash:c,parentBeaconBlockRoot:d,stateRoot:u,receiptsRoot:l,timestamp:p,transactions:y}=this;return{_type:"Block",baseFeePerGas:nX(e),difficulty:nX(t),extraData:n,gasLimit:nX(a),gasUsed:nX(r),blobGasUsed:nX(this.blobGasUsed),excessBlobGas:nX(this.excessBlobGas),hash:i,miner:f,prevRandao:b,nonce:s,number:o,parentHash:c,timestamp:p,parentBeaconBlockRoot:d,stateRoot:u,receiptsRoot:l,transactions:y}}[Symbol.iterator](){let e=0,t=this.transactions;return{next:()=>e<this.length?{value:t[e++],done:!1}:{value:void 0,done:!0}}}get length(){return this.#W.length}get date(){return null==this.timestamp?null:new Date(1e3*this.timestamp)}async getTransaction(e){let t;if("number"==typeof e)t=this.#W[e];else{let n=e.toLowerCase();for(let e of this.#W)if("string"==typeof e){if(e!==n)continue;t=e;break}else{if(e.hash!==n)continue;t=e;break}}if(null==t)throw Error("no such tx");return"string"==typeof t?await this.provider.getTransaction(t):t}getPrefetchedTransaction(e){let t=this.prefetchedTransactions;if("number"==typeof e)return t[e];for(let n of(e=e.toLowerCase(),t))if(n.hash===e)return n;(0,_.MR)(!1,"no matching transaction","indexOrHash",e)}isMined(){return!!this.hash}isLondon(){return!!this.baseFeePerGas}orphanedEvent(){var e;if(!this.isMined())throw Error("");return e=this,{orphan:"drop-block",hash:e.hash,number:e.number}}}class n5{provider;transactionHash;blockHash;blockNumber;removed;address;data;topics;index;transactionIndex;constructor(e,t){this.provider=t;let n=Object.freeze(e.topics.slice());(0,H.n)(this,{transactionHash:e.transactionHash,blockHash:e.blockHash,blockNumber:e.blockNumber,removed:e.removed,address:e.address,data:e.data,topics:n,index:e.index,transactionIndex:e.transactionIndex})}toJSON(){let{address:e,blockHash:t,blockNumber:n,data:a,index:r,removed:i,topics:f,transactionHash:b,transactionIndex:s}=this;return{_type:"log",address:e,blockHash:t,blockNumber:n,data:a,index:r,removed:i,topics:f,transactionHash:b,transactionIndex:s}}async getBlock(){let e=await this.provider.getBlock(this.blockHash);return(0,_.vA)(!!e,"failed to find transaction","UNKNOWN_ERROR",{}),e}async getTransaction(){let e=await this.provider.getTransaction(this.transactionHash);return(0,_.vA)(!!e,"failed to find transaction","UNKNOWN_ERROR",{}),e}async getTransactionReceipt(){let e=await this.provider.getTransactionReceipt(this.transactionHash);return(0,_.vA)(!!e,"failed to find transaction receipt","UNKNOWN_ERROR",{}),e}removedEvent(){var e;return e=this,{orphan:"drop-log",log:{transactionHash:e.transactionHash,blockHash:e.blockHash,blockNumber:e.blockNumber,address:e.address,data:e.data,topics:Object.freeze(e.topics.slice()),index:e.index}}}}class n8{provider;to;from;contractAddress;hash;index;blockHash;blockNumber;logsBloom;gasUsed;blobGasUsed;cumulativeGasUsed;gasPrice;blobGasPrice;type;status;root;#X;constructor(e,t){this.#X=Object.freeze(e.logs.map(e=>new n5(e,t)));let n=nY;null!=e.effectiveGasPrice?n=e.effectiveGasPrice:null!=e.gasPrice&&(n=e.gasPrice),(0,H.n)(this,{provider:t,to:e.to,from:e.from,contractAddress:e.contractAddress,hash:e.hash,index:e.index,blockHash:e.blockHash,blockNumber:e.blockNumber,logsBloom:e.logsBloom,gasUsed:e.gasUsed,cumulativeGasUsed:e.cumulativeGasUsed,blobGasUsed:e.blobGasUsed,gasPrice:n,blobGasPrice:e.blobGasPrice,type:e.type,status:e.status,root:e.root})}get logs(){return this.#X}toJSON(){let{to:e,from:t,contractAddress:n,hash:a,index:r,blockHash:i,blockNumber:f,logsBloom:b,logs:s,status:o,root:c}=this;return{_type:"TransactionReceipt",blockHash:i,blockNumber:f,contractAddress:n,cumulativeGasUsed:nX(this.cumulativeGasUsed),from:t,gasPrice:nX(this.gasPrice),blobGasUsed:nX(this.blobGasUsed),blobGasPrice:nX(this.blobGasPrice),gasUsed:nX(this.gasUsed),hash:a,index:r,logs:s,logsBloom:b,root:c,status:o,to:e}}get length(){return this.logs.length}[Symbol.iterator](){let e=0;return{next:()=>e<this.length?{value:this.logs[e++],done:!1}:{value:void 0,done:!0}}}get fee(){return this.gasUsed*this.gasPrice}async getBlock(){let e=await this.provider.getBlock(this.blockHash);if(null==e)throw Error("TODO");return e}async getTransaction(){let e=await this.provider.getTransaction(this.hash);if(null==e)throw Error("TODO");return e}async getResult(){return await this.provider.getTransactionResult(this.hash)}async confirmations(){return await this.provider.getBlockNumber()-this.blockNumber+1}removedEvent(){return n9(this)}reorderedEvent(e){return(0,_.vA)(!e||e.isMined(),"unmined 'other' transction cannot be orphaned","UNSUPPORTED_OPERATION",{operation:"reorderedEvent(other)"}),n3(this,e)}}class n2{provider;blockNumber;blockHash;index;hash;type;to;from;nonce;gasLimit;gasPrice;maxPriorityFeePerGas;maxFeePerGas;maxFeePerBlobGas;data;value;chainId;signature;accessList;blobVersionedHashes;authorizationList;#ee;constructor(e,t){this.provider=t,this.blockNumber=null!=e.blockNumber?e.blockNumber:null,this.blockHash=null!=e.blockHash?e.blockHash:null,this.hash=e.hash,this.index=e.index,this.type=e.type,this.from=e.from,this.to=e.to||null,this.gasLimit=e.gasLim
1it,this.nonce=e.nonce,this.data=e.data,this.value=e.value,this.gasPrice=e.gasPrice,this.maxPriorityFeePerGas=null!=e.maxPriorityFeePerGas?e.maxPriorityFeePerGas:null,this.maxFeePerGas=null!=e.maxFeePerGas?e.maxFeePerGas:null,this.maxFeePerBlobGas=null!=e.maxFeePerBlobGas?e.maxFeePerBlobGas:null,this.chainId=e.chainId,this.signature=e.signature,this.accessList=null!=e.accessList?e.accessList:null,this.blobVersionedHashes=null!=e.blobVersionedHashes?e.blobVersionedHashes:null,this.authorizationList=null!=e.authorizationList?e.authorizationList:null,this.#ee=-1}toJSON(){let{blockNumber:e,blockHash:t,index:n,hash:a,type:r,to:i,from:f,nonce:b,data:s,signature:o,accessList:c,blobVersionedHashes:d}=this;return{_type:"TransactionResponse",accessList:c,blockNumber:e,blockHash:t,blobVersionedHashes:d,chainId:nX(this.chainId),data:s,from:f,gasLimit:nX(this.gasLimit),gasPrice:nX(this.gasPrice),hash:a,maxFeePerGas:nX(this.maxFeePerGas),maxPriorityFeePerGas:nX(this.maxPriorityFeePerGas),maxFeePerBlobGas:nX(this.maxFeePerBlobGas),nonce:b,signature:o,to:i,index:n,type:r,value:nX(this.value)}}async getBlock(){let e=this.blockNumber;if(null==e){let t=await this.getTransaction();t&&(e=t.blockNumber)}if(null==e)return null;let t=this.provider.getBlock(e);if(null==t)throw Error("TODO");return t}async getTransaction(){return this.provider.getTransaction(this.hash)}async confirmations(){if(null==this.blockNumber){let{tx:e,blockNumber:t}=await (0,H.k)({tx:this.getTransaction(),blockNumber:this.provider.getBlockNumber()});return null==e||null==e.blockNumber?0:t-e.blockNumber+1}return await this.provider.getBlockNumber()-this.blockNumber+1}async wait(e,t){let n=null==e?1:e,a=null==t?0:t,r=this.#ee,i=-1,f=-1===r,b=async()=>{if(f)return null;let{blockNumber:e,nonce:t}=await (0,H.k)({blockNumber:this.provider.getBlockNumber(),nonce:this.provider.getTransactionCount(this.from)});if(t<this.nonce){r=e;return}if(f)return null;let a=await this.getTransaction();if(!a||null==a.blockNumber)for(-1===i&&(i=r-3)<this.#ee&&(i=this.#ee);i<=e;){if(f)return null;let t=await this.provider.getBlock(i,!0);if(null==t)break;for(let e of t)if(e===this.hash)return;for(let a=0;a<t.length;a++){let i=await t.getTransaction(a);if(i.from===this.from&&i.nonce===this.nonce){if(f)return null;let t=await this.provider.getTransactionReceipt(i.hash);if(null==t||e-t.blockNumber+1<n)return;let a="replaced";i.data===this.data&&i.to===this.to&&i.value===this.value?a="repriced":"0x"===i.data&&i.from===i.to&&i.value===nY&&(a="cancelled"),(0,_.vA)(!1,"transaction was replaced","TRANSACTION_REPLACED",{cancelled:"replaced"===a||"cancelled"===a,reason:a,replacement:i.replaceableTransaction(r),hash:i.hash,receipt:t})}}i++}},s=e=>{if(null==e||0!==e.status)return e;(0,_.vA)(!1,"transaction execution reverted","CALL_EXCEPTION",{action:"sendTransaction",data:null,reason:null,invocation:null,revert:null,transaction:{to:e.to,from:e.from,data:""},receipt:e})},o=await this.provider.getTransactionReceipt(this.hash);if(0===n)return s(o);if(o){if(1===n||await o.confirmations()>=n)return s(o)}else if(await b(),0===n)return null;let c=new Promise((e,t)=>{let i=[],o=()=>{i.forEach(e=>e())};if(i.push(()=>{f=!0}),a>0){let e=setTimeout(()=>{o(),t((0,_.xz)("wait for transaction timeout","TIMEOUT"))},a);i.push(()=>{clearTimeout(e)})}let c=async a=>{if(await a.confirmations()>=n){o();try{e(s(a))}catch(e){t(e)}}};if(i.push(()=>{this.provider.off(this.hash,c)}),this.provider.on(this.hash,c),r>=0){let e=async()=>{try{await b()}catch(e){if((0,_.bJ)(e,"TRANSACTION_REPLACED")){o(),t(e);return}}f||this.provider.once("block",e)};i.push(()=>{this.provider.off("block",e)}),this.provider.once("block",e)}});return await c}isMined(){return null!=this.blockHash}isLegacy(){return 0===this.type}isBerlin(){return 1===this.type}isLondon(){return 2===this.type}isCancun(){return 3===this.type}removedEvent(){return(0,_.vA)(this.isMined(),"unmined transaction canot be orphaned","UNSUPPORTED_OPERATION",{operation:"removeEvent()"}),n9(this)}reorderedEvent(e){return(0,_.vA)(this.isMined(),"unmined transaction canot be orphaned","UNSUPPORTED_OPERATION",{operation:"removeEvent()"}),(0,_.vA)(!e||e.isMined(),"unmined 'other' transaction canot be orphaned","UNSUPPORTED_OPERATION",{operation:"removeEvent()"}),n3(this,e)}replaceableTransaction(e){(0,_.MR)(Number.isInteger(e)&&e>=0,"invalid startBlock","startBlock",e);let t=new n2(this,this.provider);return t.#ee=e,t}}function n3(e,t){return{orphan:"reorder-transaction",tx:e,other:t}}function n9(e){return{orphan:"drop-transaction",tx:e}}class n4{filter;emitter;#et;constructor(e,t,n){this.#et=t,(0,H.n)(this,{emitter:e,filter:n})}async removeListener(){null!=this.#et&&await this.emitter.off(this.filter,this.#et)}}class n7 extends n5{interface;fragment;args;constructor(e,t,n){super(e,e.provider);let a=t.decodeEventLog(n,e.data,e.topics);(0,H.n)(this,{args:a,fragment:n,interface:t})}get eventName(){return this.fragment.name}get eventSignature(){return this.fragment.format()}}class ae extends n5{error;constructor(e,t){super(e,e.provider),(0,H.n)(this,{error:t})}}class at extends n8{#en;constructor(e,t,n){super(n,t),this.#en=e}get logs(){return super.logs.map(e=>{let t=e.topics.length?this.#en.getEvent(e.topics[0]):null;if(t)try{return new n7(e,this.#en,t)}catch(t){return new ae(e,t)}return e})}}class an extends n2{#en;constructor(e,t,n){super(n,t),this.#en=e}async wait(e,t){let n=await super.wait(e,t);return null==n?null:new at(this.#en,this.provider,n)}}class aa extends n4{log;constructor(e,t,n,a){super(e,t,n),(0,H.n)(this,{log:a})}async getBlock(){return await this.log.getBlock()}async getTransaction(){return await this.log.getTransaction()}async getTransactionReceipt(){return await this.log.getTransactionReceipt()}}class ar extends aa{constructor(e,t,n,a,r){super(e,t,n,new n7(r,e.interface,a));let i=e.interface.decodeEventLog(a,this.log.data,this.log.topics);(0,H.n)(this,{args:i,fragment:a})}get eventName(){return this.fragment.name}get eventSignature(){return this.fragment.format()}}let ai=BigInt(0);function af(e){return e&&"function"==typeof e.call}function ab(e){return e&&"function"==typeof e.estimateGas}function as(e){return e&&"function"==typeof e.resolveName}function ao(e){return e&&"function"==typeof e.sendTransaction}function ac(e){if(null!=e){if(as(e))return e;if(e.provider)return e.provider}}class ad{#ea;fragment;constructor(e,t,n){if((0,H.n)(this,{fragment:t}
1),t.inputs.length<n.length)throw Error("too many arguments");let a=au(e.runner,"resolveName"),r=as(a)?a:null;this.#ea=async function(){let a=await Promise.all(t.inputs.map((e,t)=>null==n[t]?null:e.walkAsync(n[t],(e,t)=>"address"===e?Array.isArray(t)?Promise.all(t.map(e=>nt(e,r))):nt(t,r):t)));return e.interface.encodeFilterTopics(t,a)}()}getTopicFilter(){return this.#ea}}function au(e,t){return null==e?null:"function"==typeof e[t]?e:e.provider&&"function"==typeof e.provider[t]?e.provider:null}function al(e){return null==e?null:e.provider||null}async function ap(e,t){let n=eX.dereference(e,"overrides");(0,_.MR)("object"==typeof n,"invalid overrides parameter","overrides",e);let a=n1(n);return(0,_.MR)(null==a.to||(t||[]).indexOf("to")>=0,"cannot override to","overrides.to",a.to),(0,_.MR)(null==a.data||(t||[]).indexOf("data")>=0,"cannot override data","overrides.data",a.data),a.from&&(a.from=a.from),a}async function ay(e,t,n){let a=au(e,"resolveName"),r=as(a)?a:null;return await Promise.all(t.map((e,t)=>e.walkAsync(n[t],(e,t)=>(t=eX.dereference(t,e),"address"===e)?nt(t,r):t)))}let am=Symbol.for("_ethersInternal_contract"),ah=new WeakMap;function ag(e){return ah.get(e[am])}async function aT(e,t){let n,a=null;if(Array.isArray(t)){let a=function(t){if(A(t,32))return t;let n=e.interface.getEvent(t);return(0,_.MR)(n,"unknown fragment","name",t),n.topicHash};n=t.map(e=>null==e?null:Array.isArray(e)?e.map(a):a(e))}else if("*"===t)n=[null];else if("string"==typeof t)A(t,32)?n=[t]:(a=e.interface.getEvent(t),(0,_.MR)(a,"unknown fragment","event",t),n=[a.topicHash]);else t&&"object"==typeof t&&"getTopicFilter"in t&&"function"==typeof t.getTopicFilter&&t.fragment?n=await t.getTopicFilter():"fragment"in t?n=[(a=t.fragment).topicHash]:(0,_.MR)(!1,"unknown event name","event",t);return{fragment:a,tag:(n=n.map(e=>{if(null==e)return null;if(Array.isArray(e)){let t=Array.from(new Set(e.map(e=>e.toLowerCase())).values());return 1===t.length?t[0]:(t.sort(),t)}return e.toLowerCase()})).map(e=>null==e?"null":Array.isArray(e)?e.join("|"):e).join("&"),topics:n}}async function a_(e,t){let{subs:n}=ag(e);return n.get((await aT(e,t)).tag)||null}async function av(e,t,n){let a=al(e.runner);(0,_.vA)(a,"contract runner does not support subscribing","UNSUPPORTED_OPERATION",{operation:t});let{fragment:r,tag:i,topics:f}=await aT(e,n),{addr:b,subs:s}=ag(e),o=s.get(i);if(!o){let t={address:b||e,topics:f},c=t=>{let a=r;if(null==a)try{a=e.interface.getEvent(t.topics[0])}catch(e){}if(a){let i=a,f=r?e.interface.decodeEventLog(r,t.data,t.topics):[];aA(e,n,f,a=>new ar(e,a,n,i,t))}else aA(e,n,[],a=>new aa(e,a,n,t))},d=[];o={tag:i,listeners:[],start:()=>{d.length||d.push(a.on(t,c))},stop:async()=>{if(0==d.length)return;let e=d;d=[],await Promise.all(e),a.off(t,c)}},s.set(i,o)}return o}let aw=Promise.resolve();async function aP(e,t,n,a){await aw;let r=await a_(e,t);if(!r)return!1;let i=r.listeners.length;return r.listeners=r.listeners.filter(({listener:t,once:r})=>{let i=Array.from(n);a&&i.push(a(r?null:t));try{t.call(e,...i)}catch(e){}return!r}),0===r.listeners.length&&(r.stop(),ag(e).subs.delete(r.tag)),i>0}async function aA(e,t,n,a){try{await aw}catch(e){}let r=aP(e,t,n,a);return aw=r,await r}let aM=["then"];class aI{target;interface;runner;filters;[am];fallback;constructor(e,t,n,a){var r;let i;(0,_.MR)("string"==typeof e||t7(e),"invalid value for Contract target","target",e),null==n&&(n=null);let f=n$.from(t);(0,H.n)(this,{target:e,runner:n,interface:f}),Object.defineProperty(this,am,{value:{}});let b=null,s=null;if(a){let e=al(n);s=new an(this.interface,e,a)}let o=new Map;if("string"==typeof e)if(A(e))b=e,i=Promise.resolve(e);else{let t=au(n,"resolveName");if(!as(t))throw(0,_.xz)("contract runner does not support name resolution","UNSUPPORTED_OPERATION",{operation:"resolveName"});i=t.resolveName(e).then(t=>{if(null==t)throw(0,_.xz)("an ENS name used for a contract target must be correctly configured","UNCONFIGURED_NAME",{value:e});return ag(this).addr=t,t})}else i=e.getAddress().then(e=>{if(null==e)throw Error("TODO");return ag(this).addr=e,e});r={addrPromise:i,addr:b,deployTx:s,subs:o},ah.set(this[am],r);let c=new Proxy({},{get:(e,t,n)=>{if("symbol"==typeof t||aM.indexOf(t)>=0)return Reflect.get(e,t,n);try{return this.getEvent(t)}catch(e){if(!(0,_.bJ)(e,"INVALID_ARGUMENT")||"key"!==e.argument)throw e}},has:(e,t)=>aM.indexOf(t)>=0?Reflect.has(e,t):Reflect.has(e,t)||this.interface.hasEvent(String(t))});return(0,H.n)(this,{filters:c}),(0,H.n)(this,{fallback:f.receive||f.fallback?function(e){let t=async function(t){let n=await ap(t,["data"]);n.to=await e.getAddress(),n.from&&(n.from=await nt(n.from,ac(e.runner)));let a=e.interface,r=F(n.value||ai,"overrides.value")===ai,i="0x"===(n.data||"0x");!a.fallback||a.fallback.payable||!a.receive||i||r||(0,_.MR)(!1,"cannot send data to receive or send value to non-payable fallback","overrides",t),(0,_.MR)(a.fallback||i,"cannot send data to receive-only contract","overrides.data",n.data);let f=a.receive||a.fallback&&a.fallback.payable;return(0,_.MR)(f||r,"cannot send value to non-payable fallback","overrides.value",n.value),(0,_.MR)(a.fallback||i,"cannot send data to receive-only contract","overrides.data",n.data),n},n=async function(n){let a=au(e.runner,"call");(0,_.vA)(af(a),"contract runner does not support calling","UNSUPPORTED_OPERATION",{operation:"call"});let r=await t(n);try{return await a.call(r)}catch(t){if((0,_.E)(t)&&t.data)throw e.interface.makeError(t.data,r);throw t}},a=async function(n){let a=e.runner;(0,_.vA)(ao(a),"contract runner does not support sending transactions","UNSUPPORTED_OPERATION",{operation:"sendTransaction"});let r=await a.sendTransaction(await t(n)),i=al(e.runner);return new an(e.interface,i,r)},r=async function(n){let a=au(e.runner,"estimateGas");return(0,_.vA)(ab(a),"contract runner does not support gas estimation","UNSUPPORTED_OPERATION",{operation:"estimateGas"}),await a.estimateGas(await t(n))},i=async e=>await a(e);return(0,H.n)(i,{_contract:e,estimateGas:r,populateTransaction:t,send:a,staticCall:n}),i}(this):null}),new Proxy(this,{get:(e,t,n)=>{if("symbol"==typeof t||t in e||aM.indexOf(t)>=0)return Reflect.get(e,t,n);try{return e.getFunction(t)}catch(e){if(!(0,_.bJ)(e,"INVALID_ARGUMENT")||"key"!==e.argument)throw e}},has:(e,t)=>"symbol"==typeof t||t in e||aM.indexOf(t)>=0?Reflect.has(e,t):e.interface.hasFunction(t)})}connect(e){return new aI(this.target,this.interface,e)}attach(e){return new aI(e,this.interface,this.runner)}async getAddress(){return await ag(this).addrPromise}async getDeployedCode(){let e=al(this.runner);(0,_.vA)(e,"runner does not support .provider","UNSUPPORTED_OPERATION",{operation:"getDeployedCode"});let t=await e.getCode(await this.getAddress());return"0x"===t?null:t}async waitForDeployment(){let e=this.deploymentTransaction();
1if(e)return await e.wait(),this;if(null!=await this.getDeployedCode())return this;let t=al(this.runner);return(0,_.vA)(null!=t,"contract runner does not support .provider","UNSUPPORTED_OPERATION",{operation:"waitForDeployment"}),new Promise((e,n)=>{let a=async()=>{try{let n=await this.getDeployedCode();if(null!=n)return e(this);t.once("block",a)}catch(e){n(e)}};a()})}deploymentTransaction(){return ag(this).deployTx}getFunction(e){return"string"!=typeof e&&(e=e.format()),function(e,t){let n=function(...n){let a=e.interface.getFunction(t,n);return(0,_.vA)(a,"no matching fragment","UNSUPPORTED_OPERATION",{operation:"fragment",info:{key:t,args:n}}),a},a=async function(...t){let a=n(...t),r={};if(a.inputs.length+1===t.length&&(r=await ap(t.pop())).from&&(r.from=await nt(r.from,ac(e.runner))),a.inputs.length!==t.length)throw Error("internal error: fragment inputs doesn't match arguments; should not happen");let i=await ay(e.runner,a.inputs,t);return Object.assign({},r,await (0,H.k)({to:e.getAddress(),data:e.interface.encodeFunctionData(a,i)}))},r=async function(...e){let t=await b(...e);return 1===t.length?t[0]:t},i=async function(...t){let n=e.runner;(0,_.vA)(ao(n),"contract runner does not support sending transactions","UNSUPPORTED_OPERATION",{operation:"sendTransaction"});let r=await n.sendTransaction(await a(...t)),i=al(e.runner);return new an(e.interface,i,r)},f=async function(...t){let n=au(e.runner,"estimateGas");return(0,_.vA)(ab(n),"contract runner does not support gas estimation","UNSUPPORTED_OPERATION",{operation:"estimateGas"}),await n.estimateGas(await a(...t))},b=async function(...t){let r=au(e.runner,"call");(0,_.vA)(af(r),"contract runner does not support calling","UNSUPPORTED_OPERATION",{operation:"call"});let i=await a(...t),f="0x";try{f=await r.call(i)}catch(t){if((0,_.E)(t)&&t.data)throw e.interface.makeError(t.data,i);throw t}let b=n(...t);return e.interface.decodeFunctionResult(b,f)},s=async(...e)=>n(...e).constant?await r(...e):await i(...e);return(0,H.n)(s,{name:e.interface.getFunctionName(t),_contract:e,_key:t,getFragment:n,estimateGas:f,populateTransaction:a,send:i,staticCall:r,staticCallResult:b}),Object.defineProperty(s,"fragment",{configurable:!1,enumerable:!0,get:()=>{let n=e.interface.getFunction(t);return(0,_.vA)(n,"no matching fragment","UNSUPPORTED_OPERATION",{operation:"fragment",info:{key:t}}),n}}),s}(this,e)}getEvent(e){"string"!=typeof e&&(e=e.format());var t=this,n=e;let a=function(...e){let a=t.interface.getEvent(n,e);return(0,_.vA)(a,"no matching fragment","UNSUPPORTED_OPERATION",{operation:"fragment",info:{key:n,args:e}}),a},r=function(...e){return new ad(t,a(...e),e)};return(0,H.n)(r,{name:t.interface.getEventName(n),_contract:t,_key:n,getFragment:a}),Object.defineProperty(r,"fragment",{configurable:!1,enumerable:!0,get:()=>{let e=t.interface.getEvent(n);return(0,_.vA)(e,"no matching fragment","UNSUPPORTED_OPERATION",{operation:"fragment",info:{key:n}}),e}}),r}async queryTransaction(e){throw Error("@TODO")}async queryFilter(e,t,n){null==t&&(t=0),null==n&&(n="latest");let{addr:a,addrPromise:r}=ag(this),i=a||await r,{fragment:f,topics:b}=await aT(this,e),s={address:i,topics:b,fromBlock:t,toBlock:n},o=al(this.runner);return(0,_.vA)(o,"contract runner does not have a provider","UNSUPPORTED_OPERATION",{operation:"queryFilter"}),(await o.getLogs(s)).map(e=>{let t=f;if(null==t)try{t=this.interface.getEvent(e.topics[0])}catch(e){}if(t)try{return new n7(e,this.interface,t)}catch(t){return new ae(e,t)}return new n5(e,o)})}async on(e,t){let n=await av(this,"on",e);return n.listeners.push({listener:t,once:!1}),n.start(),this}async once(e,t){let n=await av(this,"once",e);return n.listeners.push({listener:t,once:!0}),n.start(),this}async emit(e,...t){return await aA(this,e,t,null)}async listenerCount(e){if(e){let t=await a_(this,e);return t?t.listeners.length:0}let{subs:t}=ag(this),n=0;for(let{listeners:e}of t.values())n+=e.length;return n}async listeners(e){if(e){let t=await a_(this,e);return t?t.listeners.map(({listener:e})=>e):[]}let{subs:t}=ag(this),n=[];for(let{listeners:e}of t.values())n=n.concat(e.map(({listener:e})=>e));return n}async off(e,t){let n=await a_(this,e);if(!n)return this;if(t){let e=n.listeners.map(({listener:e})=>e).indexOf(t);e>=0&&n.listeners.splice(e,1)}return(null==t||0===n.listeners.length)&&(n.stop(),ag(this).subs.delete(n.tag)),this}async removeAllListeners(e){if(e){let t=await a_(this,e);if(!t)return this;t.stop(),ag(this).subs.delete(t.tag)}else{let{subs:e}=ag(this);for(let{tag:t,stop:n}of e.values())n(),e.delete(t)}return this}async addListener(e,t){return await this.on(e,t)}async removeListener(e,t){return await this.off(e,t)}static buildClass(e){class t extends aI{constructor(t,n=null){super(t,e,n)}}return t}static from(e,t,n){return null==n&&(n=null),new this(e,t,n)}}function aO(){return aI}
1class aC extends aO(){}let aE=new Map([[8217,"apostrophe"],[8260,"fraction slash"],[12539,"middle dot"]]);function ax(e){var t;let n;return t=function(e){let t=0;function n(){return e[t++]<<8|e[t++]}let a=n(),r=1,i=[0,1];for(let e=1;e<a;e++)i.push(r+=n());let f=n(),b=t;t+=f;let s=0,o=0;function c(){return 0==s&&(o=o<<8|e[t++],s=8),o>>--s&1}let d=0x80000000-1,u=0;for(let e=0;e<31;e++)u=u<<1|c();let l=[],p=0,y=0x80000000;for(;;){let e=Math.floor(((u-p+1)*r-1)/y),t=0,n=a;for(;n-t>1;){let a=t+n>>>1;e<i[a]?n=a:t=a}if(0==t)break;l.push(t);let f=p+Math.floor(y*i[t]/r),b=p+Math.floor(y*i[t+1]/r)-1;for(;((f^b)&0x40000000)==0;)u=u<<1&d|c(),f=f<<1&d,b=b<<1&d|1;for(;f&~b&0x20000000;)u=0x40000000&u|u<<1&d>>>1|c(),f=f<<1^0x40000000,b=(0x40000000^b)<<1|0x40000001;p=f,y=1+b-f}let m=a-4;return l.map(t=>{switch(t-m){case 3:return m+65792+(e[b++]<<16|e[b++]<<8|e[b++]);case 2:return m+256+(e[b++]<<8|e[b++]);case 1:return m+e[b++];default:return t-1}})}(function(e){let t=[];[..."ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"].forEach((e,n)=>t[e.charCodeAt(0)]=n);let n=e.length,a=new Uint8Array(6*n>>3);for(let r=0,i=0,f=0,b=0;r<n;r++)b=b<<6|t[e.charCodeAt(r)],(f+=6)>=8&&(a[i++]=b>>(f-=8));return a}(e)),n=0,()=>t[n++]}function aS(e,t=0){let n=[];for(;;){let a=e(),r=e();if(!r)break;t+=a;for(let e=0;e<r;e++)n.push(t+e);t+=r+1}return n}function aR(e){return aB(()=>{let t=aS(e);if(t.length)return t})}function ak(e){let t=[];for(;;){let n=e();if(0==n)break;t.push(function(e,t){let n=1+t(),a=t(),r=aB(t);return aj(r.length,1+e,t).flatMap((e,t)=>{let[i,...f]=e;return Array(r[t]).fill().map((e,t)=>{let r=t*a;return[i+t*n,f.map(e=>e+r)]})})}(n,e))}for(;;){var n,a;let r=e()-1;if(r<0)break;t.push((n=r,aj(1+(a=e)(),1+n,a).map(e=>[e[0],e.slice(1)])))}return t.flat()}function aB(e){let t=[];for(;;){let n=e(t.length);if(!n)break;t.push(n)}return t}function aj(e,t,n){let a=Array(e).fill().map(()=>[]);for(let r=0;r<t;r++)(function(e,t){let n=Array(e);for(let r=0,i=0;r<e;r++){var a;n[r]=i+=1&(a=t())?~a>>1:a>>1}return n})(e,n).forEach((e,t)=>a[t].push(e));return a}function aD(e){return`{${e.toString(16).toUpperCase().padStart(2,"0")}}`}function aF(e){let t=e.length;if(t<4096)return String.fromCodePoint(...e);let n=[];for(let a=0;a<t;)n.push(String.fromCodePoint(...e.slice(a,a+=4096)));return n.join("")}function aN(e,t){let n=e.length,a=n-t.length;for(let r=0;0==a&&r<n;r++)a=e[r]-t[r];return a}let aV=55204;function aU(e){return e>>24&255}function aL(e){return 0xffffff&e}function aK(e){return e>=44032&&e<aV}function aG(e){a||function(){let e=ax
vendor: 7,457 bytes, line 1
1("AEUDTAHBCFQATQDRADAAcgAgADQAFAAsABQAHwAOACQADQARAAoAFwAHABIACAAPAAUACwAFAAwABAAQAAMABwAEAAoABQAIAAIACgABAAQAFAALAAIACwABAAIAAQAHAAMAAwAEAAsADAAMAAwACgANAA0AAwAKAAkABAAdAAYAZwDSAdsDJgC0CkMB8xhZAqfoC190UGcThgBurwf7PT09Pb09AjgJum8OjDllxHYUKXAPxzq6tABAxgK8ysUvWAgMPT09PT09PSs6LT2HcgWXWwFLoSMEEEl5RFVMKvO0XQ8ExDdJMnIgsj26PTQyy8FfEQ8AY8IPAGcEbwRwBHEEcgRzBHQEdQR2BHcEeAR6BHsEfAR+BIAEgfndBQoBYgULAWIFDAFiBNcE2ATZBRAFEQUvBdALFAsVDPcNBw13DYcOMA4xDjMB4BllHI0B2grbAMDpHLkQ7QHVAPRNQQFnGRUEg0yEB2uaJF8AJpIBpob5AERSMAKNoAXqaQLUBMCzEiACnwRZEkkVsS7tANAsBG0RuAQLEPABv9HICTUBXigPZwRBApMDOwAamhtaABqEAY8KvKx3LQ4ArAB8UhwEBAVSagD8AEFZADkBIadVj2UMUgx5Il4ANQC9AxIB1BlbEPMAs30CGxlXAhwZKQIECBc6EbsCoxngzv7UzRQA8M0BawL6ZwkN7wABAD33OQRcsgLJCjMCjqUChtw/km+NAsXPAoP2BT84PwURAK0RAvptb6cApQS/OMMey5HJS84UdxpxTPkCogVFITaTOwERAK5pAvkNBOVyA7q3BKlOJSALAgUIBRcEdASpBXqzABXFSWZOawLCOqw//AolCZdvv3dSBkEQGyelEPcMMwG1ATsN7UvYBPEGOwTJH30ZGQ/NlZwIpS3dDO0m4y6hgFoj9SqDBe1L9DzdC01RaA9ZC2UJ4zpjgU4DIQENIosK3Q05CG0Q8wrJaw3lEUUHOQPVSZoApQcBCxEdNRW1JhBirAsJOXcG+xr2C48mrxMpevwF0xohBk0BKRr/AM8u54WwWjFcHE9fBgMLJSPHFKhQIA0lQLd4SBobBxUlqQKRQ3BKh1E2HpMh9jw9DWYuE1F8B/U8BRlPC4E8nkarRQ4R0j6NPUgiSUwsBDV/LC8niwnPD4UMuXxyAVkJIQmxDHETMREXN8UIOQcZLZckJxUIIUaVYJoE958D8xPRAwsFPwlBBxMDtRwtEy4VKQUNgSTXAvM21S6zAo9WgAEXBcsPJR/fEFBH4A7pCJsCZQODJesALRUhABcimwhDYwBfj9hTBS7LCMdqbCN0A2cU52ERcweRDlcHpxwzFb8c4XDIXguGCCijrwlbAXUJmQFfBOMICTVbjKAgQWdTi1gYmyBhQT9d/AIxDGUVn0S9h3gCiw9rEhsBNQFzBzkNAQJ3Ee0RaxCVCOuGBDW1M/g6JQRPIYMgEQonA09szgsnJvkM+GkBoxJiAww0PXfuZ6tgtiQX/QcZMsVBYCHxC5JPzQycGsEYQlQuGeQHvwPzGvMn6kFXBf8DowMTOk0z7gS9C2kIiwk/AEkOoxcH1xhqCnGM0AExiwG3mQNXkYMCb48GNwcLAGcLhwV55QAdAqcIowAFAM8DVwA5Aq0HnQAZAIVBAT0DJy8BIeUCjwOTCDHLAZUvAfMpBBvDDBUA9zduSgLDsQKAamaiBd1YAo4CSTUBTSUEBU5HUQOvceEA2wBLBhPfRwEVq0rLGuNDAd9vKwDHAPsABTUHBUEBzQHzbQC3AV8LMQmis7UBTekpAIMAFWsB1wKJAN0ANQB/8QFTAE0FWfkF0wJPSQERMRgrV2EBuwMfATMBDQB5BsuNpckHHwRtB9MCEBsV4QLvLge1AQMi3xPNQsUCvd5VoWACZIECYkJbTa9bNyACofcCaJgCZgkCn4Q4GwsCZjsCZiYEbgR/A38TA36SOQY5dxc5gjojIwJsHQIyNjgKAm3HAm2u74ozZ0UrAWcA3gDhAEoFB5gMjQD+C8IADbUCdy8CdqI/AnlLQwJ4uh1c20WuRtcCfD8CesgCfQkCfPAFWQUgSABIfWMkAoFtAoAAAoAFAn+uSVhKWxUXSswC0QEC0MxLJwOITwOH5kTFkTIC8qFdAwMDrkvOTC0lA89NTE2vAos/AorYwRsHHUNnBbcCjjcCjlxAl4ECjtkCjlx4UbRTNQpS1FSFApP7ApMMAOkAHFUeVa9V0AYsGymVhjLheGZFOzkCl58C77JYIagAWSUClo8ClnycAKlZrFoJgU0AOwKWtQKWTlxEXNECmcsCmWRcyl0HGQKcmznCOp0CnBYCn5sCnriKAB0PMSoPAp3xAp6SALU9YTRh7wKe0wKgbgGpAp6fHwKeTqVjyGQnJSsCJ68CJn4CoPsCoEwCot0CocQCpi8Cpc4Cp/8AfQKn8mh8aLEAA0lqHGrRAqzjAqyuAq1nAq0CAlcdAlXcArHh1wMfTmyXArK9DQKy6Bds4G1jbUhfAyXNArZcOz9ukAMpRQK4XgK5RxUCuSp3cDZw4QK9GQK72nCWAzIRAr6IcgIDM3ECvhpzInNPAsPLAsMEc4J0SzVFdOADPKcDPJoDPb8CxXwCxkcCxhCJAshpUQLIRALJTwLJLgJknQLd0nh5YXiueSVL0AMYo2cCAmH0GfOVJHsLXpJeuxECz2sCz2wvS1PS8xOfAMatAs9zASnqA04SfksFAtwnAtuKAtJPA1JcA1NfAQEDVYyAiT8AyxbtYEWCHILTgs6DjQLaxwLZ3oQQhEmnPAOGpQAvA2QOhnFZ+QBVAt9lAt64c3cC4i/tFAHzMCcB9JsB8tKHAuvzAulweQLq+QLq5AD5RwG5Au6JAuuclqqXAwLuPwOF4Jh5cOBxoQLzAwBpA44WmZMC9xMDkW4DkocC95gC+dkC+GaaHJqruzebHgOdgwL++gEbADmfHJ+zAwWNA6ZqA6bZANHFAwZqoYiiBQkDDEkCwAA/AwDhQRdTARHzA2sHl2cFAJMtK7evvdsBiZkUfxEEOQH7KQUhDp0JnwCS/SlXxQL3AZ0AtwW5AG8LbUEuFCaNLgFDAYD8AbUmAHUDDgRtACwCFgyhAAAKAj0CagPdA34EkQEgRQUhfAoABQBEABMANhICdwEABdUDa+8KxQIA9wqfJ7+xt+UBkSFBQgHpFH8RNMCJAAQAGwBaAkUChIsABjpTOpSNbQC4Oo860ACNOME63AClAOgAywE6gTo7Ofw5+Tt2iTpbO56JOm85GAFWATMBbAUvNV01njWtNWY1dTW2NcU1gjWRNdI14TWeNa017jX9NbI1wTYCNhE1xjXVNhY2JzXeNe02LjY9Ni41LSE2OjY9Njw2yTcIBJA8VzY4Nt03IDcPNsogN4k3MAoEsDxnNiQ3GTdsOo03IULUQwdC4EMLHA8PCZsobShRVQYA6X8A6bABFCnXAukBowC9BbcAbwNzBL8MDAMMAQgDAAkKCwsLCQoGBAVVBI/DvwDz9b29kaUCb0QtsRTNLt4eGBcSHAMZFhYZEhYEARAEBUEcQRxBHEEcQRxBHEEaQRxBHEFCSTxBPElISUhBNkM2QTYbNklISVmBVIgBFLWZAu0BhQCjBcEAbykBvwGJAaQcEZ0ePCklMAAhMvAIMAL54gC7Bm8EescjzQMpARQpKgDUABavAj626xQAJP0A3etzuf4NNRA7efy2Z9NQrCnC0OSyANz5BBIbJ5IFDR6miIavYS6tprjjmuKebxm5C74Q225X1pkaYYPb6f1DK4k3xMEBb9S2WMjEibTNWhsRJIA+vwNVEiXTE5iXs/wezV66oFLfp9NZGYW+Gk19J2+bCT6Ye2w6LDYdgzKMUabk595eLBCXANz9HUpWbATq9vqXVx9XDg+Pc9Xp4+bsS005SVM/BJBM4687WUuf+Uj9dEi8aDNaPxtpbDxcG1THTImUMZq4UCaaNYpsVqraNyKLJXDYsFZ/5jl7bLRtO88t7P3xZaAxhb5OdPMXqsSkp1WCieG8jXm1U99+blvLlXzPCS+M93VnJCiK+09LfaSaBAVBomyDgJua8dfUzR7ga34IvR2Nvj+A9heJ6lsl1KG4NkI1032Cnff1m1wof2B9oHJK4bi6JkEdSqeNeiuo6QoZZincoc73/TH9SXF8sCE7XyuYyW8WSgbGFCjPV0ihLKhdPs08Tx82fYAkLLc4I2wdl4apY7GU5lHRFzRWJep7Ww3wbeA3qmd59/86P4xuNaqDpygXt6M85glSBHOCGgJDnt+pN9bK7HApMguX6+06RZNjzVmcZJ+wcUrJ9//bpRNxNuKpNl9uFds+S9tdx7LaM5ZkIrPj6nIU9mnbFtVbs9s/uLgl8MVczAwet+iOEzzBlYW7RCMgE6gyNLeq6+1tIx4dpgZnd0DksJS5f+JNDpwwcPNXaaVspq1fbQajOrJgK0ofKtJ1Ne90L6VO4MOl5S886p7u6xo7OLjG8TGL+HU1JXGJgppg4nNbNJ5nlzSpuPYy21JUEcUA94PoFiZfjZue+QnyQ80ekOuZVkxx4g+cvhJfHgNl4hy1/a6+RKcKlar/J29y//EztlbVPHVUeQ1zX86eQVAjR/M3dA9w4W8LfaXp4EgM85wOWasli837PzVMOnsLzR+k3o75/lRPAJSE1xAKQzEi5v10ke+VBvRt1cwQRMd+U5mLCTGVd6XiZtgBG5cDi0w22GKcVNvHiu5LQbZEDVtz0onn7k5+heuKXVsZtSzilkLRAUmjMXEMB3J9YC50XBxPiz53SC+EhnPl9WsKCv92SM/OFFIMJZYfl0WW8tIO3UxYcwdMAj7FSmgrsZ2aAZO03BOhP1bNNZItyXYQFTpC3SG1VuPDqH9GkiCDmE+JwxyIVSO5siDErAOpEXFgjy6PQtOVDj+s6e1r8heWVvmZnTciuf4EiNZzCAd7SOMhXERIOlsHIMG399i9aLTy3m2hRLZjJVDNLS53iGIK11dPqQt0zBDyg6qc7YqkDm2M5Ve6dCWCaCbTXX2rToaIgz6+zh4lYUi/+6nqcFMAkQJKHYLK0wYk5N9szV6xihDbDDFr45lN1K4aCXBq/FitPSud9gLt5ZVn+ZqGX7cwm2z5EGMgfFpIFyhGGuDPmso6TItTMwny+7uPnLCf4W6goFQFV0oQSsc9VfMmVLcLr6ZetDZbaSFTLqnSO/bIPjA3/zAUoqgGFAEQS4IhuMzEp2I3jJzbzkk/IEmyax+rhZTwd6f+CGtwPixu8IvzACquPWPREu9ZvGkUzpRwvRRuaNN6cr0W1wWits9ICdYJ7ltbgMiSL3sTPeufgNcVqMVWFkCPDH4jG2jA0XcVgQj62Cb29v9f/z/+2KbYvIv/zzjpQAPkliaVDzNrW57TZ/ZOyZD0nlfMmAIBIAGAI0D3k/mdN4xr9v85ZbZbbqfH2jGd5hUqNZWwl5SPfoGmfElmazUIeNL1j/mkF7VNAzTq4jNt8JoQ11NQOcmhprXoxSxfRGJ9LDEOAQ+dmxAQH90iti9e2u/MoeuaGcDTHoC+xsmEeWmxEKefQuIzHbpw5Tc5cEocboAD09oipWQhtTO1wivf/O+DRe2rpl/E9wlrzBorjJsOeG1B/XPW4EaJEFdNlECEZga5ZoGRHXgYouGRuVkm8tDESiEyFNo+3s5M5puSdTyUL2llnINVHEt91XUNW4ewdMgJ4boJfEyt/iY5WXqbA+A2Fkt5Z0lutiWhe9nZIyIUjyXDC3UsaG1t+eNx6z4W/OYoTB7A6x+dNSTOi9AInctbESqm5gvOLww7OWXPrmHwVZasrl4eD113pm+JtT7JVOvnCXqdzzdTRHgJ0PiGTFYW5Gvt9R9LD6Lzfs0v/TZZHSmyVNq7viIHE6DBK7Qp07Iz55EM8SYtQvZf/obBniTWi5C2/ovHfw4VndkE5XYdjOhCMRjDeOEfXeN/CwfGduiUIfsoFeUxXeQXba7c7972XNv8w+dTjjUM0QeNAReW+J014dKAD/McQYXT7c0GQPIkn3Ll6R7gGjuiQoZD0TEeEqQpKoZ15g/0OPQI17QiSv9AUROa/V/TQN3dvLArec3RrsYlvBm1b8LWzltdugsC50lNKYLEp2a+ZZYqPejULRlOJh5zj/LVMyTDvwKhMxxwuDkxJ1QpoNI0OTWLom4Z71SNzI9TV1iXJrIu9Wcnd+MCaAw8o1jSXd94YU/1gnkrC9BUEOtQvEIQ7g0i6h+KL2JKk8Ydl7HruvgWMSAmNe+LshGhV4qnWHhO9/RIPQzY1tHRj2VqOyNsDpK0cww+56AdDC4gsWwY0XxoucIWIqs/GcwnWqlaT0KPr8mbK5U94/301i1WLt4YINTVvCFBrFZbIbY8eycOdeJ2teD5IfPLCRg7jjcFTwlMFNl9zdh/o3E/hHPwj7BWg0MU09pPrBLbrCgm54A6H+I6v27+jL5gkjWg/iYdks9jbfVP5y/n0dlgWEMlKasl7JvFZd56LfybW1eeaVO0gxTfXZwD8G4SI116yx7UKVRgui6Ya1YpixqXeNLc8IxtAwCU5IhwQgn+NqHnRaDv61CxKhOq4pOX7M6pkA+Pmpd4j1vn6ACUALoLLc4vpXci8VidLxzm7qFBe7s+quuJs6ETYmnpgS3LwSZxPIltgBDXz8M1k/W2ySNv2f9/NPhxLGK2D21dkHeSGmenRT3Yqcdl0m/h3OYr8V+lXNYGf8aCCpd4bWjE4QIPj7vUKN4Nrfs7ML6Y2OyS830JCnofg/k7lpFpt4SqZc5HGg1HCOrHvOdC8bP6FGDbE/VV0mX4IakzbdS/op+Kt3G24/8QbBV7y86sGSQ/vZzU8FXs7u6jIvwchsEP2BpIhW3G8uWNwa3HmjfH/ZjhhCWvluAcF+nMf14ClKg5hGgtPLJ98ueNAkc5Hs2WZlk2QHvfreCK1CCGO6nMZVSb99VM/ajr8WHTte9JSmkXq/i/U943HEbdzW6Re/S88dKgg8pGOLlAeNiqrcLkUR3/aClFpMXcOUP3rmETcWSfMXZE3TUOi8i+fqRnTYLflVx/Vb/6GJ7eIRZUA6k3RYR3iFSK9c4iDdNwJuZL2FKz/IK5VimcNWEqdXjSoxSgmF0UPlDoUlNrPcM7ftmA8Y9gKiqKEHuWN+AZRIwtVSxye2Kf8rM3lhJ5XcBXU9n4v0Oy1RU2M+4qM8AQPVwse8ErNSob5oFPWxuqZnVzo1qB/IBxkM3EVUKFUUlO3e51259GgNcJbCmlvrdjtoTW7rChm1wyCKzpCTwozUUEOIcWLneRLgMXh+SjGSFkAllzbGS5HK7LlfCMRNRDSvbQPjcXaenNYxCvu2Qyznz6StuxVj66SgI0T8B6/sfHAJYZaZ78thjOSIFumNWLQbeZixDCCC+v0YBtkxiBB3jefHqZ/dFHU+crbj6OvS1x/JDD7vlm7zOVPwpUC01nhxZuY/63E7g");f
1or(let[t,n]of(a=new Map(aR(e).flatMap((e,t)=>e.map(e=>[e,t+1<<24]))),r=new Set(aS(e)),i=new Map,f=new Map,ak(e))){if(!r.has(t)&&2==n.length){let[e,a]=n,r=f.get(e);r||(r=new Map,f.set(e,r)),r.set(a,t)}i.set(t,n.reverse())}}();let t=[],n=[],b=!1;function s(e){let n=a.get(e);n&&(b=!0,e|=n),t.push(e)}for(let a of e)for(;;){if(a<128)t.push(a);else if(aK(a)){let e=a-44032,t=e/588|0,n=e%588/28|0,r=e%28;s(4352+t),s(4449+n),r>0&&s(4519+r)}else{let e=i.get(a);e?n.push(...e):s(a)}if(!n.length)break;a=n.pop()}if(b&&t.length>1){let e=aU(t[0]);for(let n=1;n<t.length;n++){let a=aU(t[n]);if(0==a||e<=a){e=a;continue}let r=n-1;for(;;){let n=t[r+1];if(t[r+1]=t[r],t[r]=n,!r||(e=aU(t[--r]))<=a)break}e=aU(t[n])}}return t}function az(e){return aG(e).map(aL)}function aH(e){return function(e){let t=[],n=[],a=-1,r=0;for(let i of e){let e=aU(i),b=aL(i);if(-1==a)0==e?a=b:t.push(b);else if(r>0&&r>=e)0==e?(t.push(a,...n),n.length=0,a=b):n.push(b),r=e;else{let i=function(e,t){if(e>=4352&&e<4371&&t>=4449&&t<4470)return 44032+(e-4352)*588+(t-4449)*28;{if(aK(e)&&t>4519&&t<4547&&(e-44032)%28==0)return e+(t-4519);let n=f.get(e);return n&&(n=n.get(t))?n:-1}}(a,b);i>=0?a=i:0==r&&0==e?(t.push(a),a=b):(n.push(b),r=e)}}return a>=0&&t.push(a,...n),t}(aG(e))}let aJ=e=>Array.from(e);function aQ(e,t){return e.P.has(t)||e.Q.has(t)}class aq extends Array{get is_emoji(){return!0}}function aZ(){let e,t;if(b)return;let n=ax("AEEUdwmgDS8BxQKKAP4BOgDjATAAngDUAIMAoABoAOAAagCOAEQAhABMAHIAOwA9ACsANgAmAGIAHgAuACgAJwAXAC0AGgAjAB8ALwAUACkAEgAeAAkAGwARABkAFgA5ACgALQArADcAFQApABAAHgAiABAAGgAeABMAGAUhBe8BFxREN8sF2wC5AK5HAW8ArQkDzQCuhzc3NzcBP68NEfMABQdHBuw5BV8FYAA9MzkI9r4ZBg7QyQAWA9CeOwLNCjcCjqkChuA/lm+RAsXTAoP6ASfnEQDytQFJAjWVCkeXAOsA6godAB/cwdAUE0WlBCN/AQUCQRjFD/MRBjHxDQSJbw0jBzUAswBxme+tnIcAYwabAysG8QAjAEMMmxcDqgPKQyDXCMMxA7kUQwD3NXOrAKmFIAAfBC0D3x4BJQDBGdUFAhEgVD8JnwmQJiNWYUzrg0oAGwAUAB0AFnNcACkAFgBP9h3gPfsDOWDKneY2ChglX1UDYD30ABsAFAAdABZzIGRAnwDD8wAjAEEMzRbDqgMB2sAFYwXqAtCnAsS4AwpUJKRtFHsadUz9AMMVbwLpABM1NJEX0ZkCgYMBEyMAxRVvAukAEzUBUFAtmUwSAy4DBTER33EftQHfSwB5MxJ/AjkWKQLzL8E/cwBB6QH9LQDPDtO9ASNriQC5DQANAwCK21EFI91zHwCoL9kBqQcHBwcHKzUDowBvAQohPvU3fAQgHwCyAc8CKQMA5zMSezr7ULgFmDp/LzVQBgEGAi8FYQVgt8AFcTtlQhpCWEmfe5tmZ6IAExsDzQ8t+X8rBKtTAltbAn0jsy8Bl6utPWMDTR8Ei2kRANkDBrNHNysDBzECQWUAcwFpJ3kAiyUhAJ0BUb8AL3EfAbfNAz81KUsFWwF3YQZtAm0A+VEfAzEJDQBRSQCzAQBlAHsAM70GD/v3IZWHBwARKQAxALsjTwHZAeMPEzmXgIHwABIAGQA8AEUAQDt3gdvIEGcQZAkGTRFMdEIVEwK0D64L7REdDNkq09PgADSxB/MDWwfzA1sDWwfzB/MDWwfzA1sDWwNbA1scEvAi28gQZw9QBHUFlgWTBN4IiyZREYkHMAjaVBV0JhxPA00BBCMtSSQ7mzMTJUpMFE0LCAQ2SmyvfUADTzGzVP2QqgPTMlc5dAkGHnkSqAAyD3skNb1OhnpPcagKU0+2tYdJak5vAsY6sEAACikJm2/Dd1YGRRAfJ6kQ+ww3AbkBPw3xS9wE9QY/BM0fgRkdD9GVoAipLeEM8SbnLqWAXiP5KocF8Uv4POELUVFsD10LaQnnOmeBUgMlAREijwrhDT0IcRD3Cs1vDekRSQc9A9lJngCpBwULFR05FbkmFGKwCw05ewb/GvoLkyazEy17AAXXGiUGUQEtGwMA0y7rhbRaNVwgT2MGBwspI8sUrFAkDSlAu3hMGh8HGSWtApVDdEqLUToelyH6PEENai4XUYAH+TwJGVMLhT
1yiRq9FEhHWPpE9TCJNTDAEOYMsMyePCdMPiQy9fHYBXQklCbUMdRM1ERs3yQg9Bx0xlygnGQglRplgngT7owP3E9UDDwVDCUUHFwO5HDETMhUtBRGBKNsC9zbZLrcCk1aEARsFzw8pH+MQVEfkDu0InwJpA4cl7wAxFSUAGyKfCEdnAGOP3FMJLs8Iy2pwI3gDaxTrZRF3B5UOWwerHDcVwxzlcMxeD4YMKKezCV8BeQmdAWME5wgNNV+MpCBFZ1eLXBifIGVBQ14AAjUMaRWjRMGHfAKPD28SHwE5AXcHPQ0FAnsR8RFvEJkI74YINbkz/DopBFMhhyAVCisDU2zSCysm/Qz8bQGnEmYDEDRBd/Jnr2C6KBgBBx0yyUFkIfULlk/RDKAaxRhGVDIZ6AfDA/ca9yfuQVsGAwOnBxc6UTPyBMELbQiPCUMATQ6nGwfbGG4KdYzUATWPAbudA1uVhwJzkwY7Bw8Aaw+LBX3pACECqwinAAkA0wNbAD0CsQehAB0AiUUBQQMrMwEl6QKTA5cINc8BmTMB9y0EH8cMGQD7O25OAsO1AoBuZqYF4VwCkgJNOQFRKQQJUktVA7N15QDfAE8GF+NLARmvTs8e50cB43MvAMsA/wAJOQcJRQHRAfdxALsBYws1Caa3uQFR7S0AhwAZbwHbAo0A4QA5AIP1AVcAUQVd/QXXAlNNARU1HC9bZQG/AyMBNwERAH0Gz5GpzQsjBHEH1wIQHxXlAu8yB7kFAyLjE9FCyQK94lkAMhoKPAqrCqpgX2Q3CjV2PVQAEh+sPss/UgVVO1c7XDtXO1w7VztcO1c7XDtXO1wDm8Pmw+YKcF9JYe8Mqg3YRMw6TRPfYFVgNhPMLbsUxRXSJVoZQRrAJwkl6FUNDwgt12Y0CDA0eRfAAEMpbINFY4oeNApPHOtTlVT8LR8AtUumM7MNsBsZREQFS3XxYi4WEgomAmSFAmJGX1GzAV83JAKh+wJonAJmDQKfiDgfDwJmPwJmKgRyBIMDfxcDfpY5Cjl7GzmGOicnAmwhAjI6OA4CbcsCbbLzjgM3a0kvAWsA4gDlAE4JB5wMkQECD8YAEbkCdzMCdqZDAnlPRwJ4viFg30WyRvcCfEMCeswCfQ0CfPRIBEiBZygALxlJXEpfGRtK0ALRBQLQ0EsrA4hTA4fqRMmRNgLypV0HAwOyS9JMMSkH001QTbMCi0MCitzFHwshR2sJuwKOOwKOYESbhQKO3QKOYHxRuFM5AQ5S2FSJApP/ApMQAO0AIFUiVbNV1AosHymZijLleGpFPz0Cl6MC77ZYJawAXSkClpMCloCgAK1ZsFoNhVEAPwKWuQKWUlxIXNUCmc8CmWhczl0LHQKcnznGOqECnBoCn58CnryOACETNS4TAp31Ap6WALlBYThh8wKe1wKgcgGtAp6jIwKeUqljzGQrKS8CJ7MCJoICoP8CoFDbAqYzAqXSAqgDAIECp/ZogGi1AAdNaiBq1QKs5wKssgKtawKtBgJXIQJV4AKx5dsDH1JsmwKywRECsuwbbORtZ21MYwMl0QK2YD9DbpQDKUkCuGICuUsZArkue3A6cOUCvR0DLbYDMhUCvoxyBgMzdQK+HnMmc1MCw88CwwhzhnRPOUl05AM8qwEDPJ4DPcMCxYACxksCxhSNAshtVQLISALJUwLJMgJkoQLd1nh9ZXiyeSlL1AMYp2cGAmH4GfeVKHsPXpZevxUCz28Cz3AzT1fW9xejAMqxAs93AS3uA04Wfk8JAtwrAtuOAtJTA1JgA1NjAQUDVZCAjUMEzxrxZEl5A4LSg5EC2ssC2eKEFIRNp0ADhqkAMwNkEoZ1Xf0AWQLfaQLevHd7AuIz7RgB8zQrAfSfAfLWiwLr9wLpdH0DAur9AuroAP1LAb0C7o0C66CWrpcHAu5DA4XkmH1w5HGlAvMHAG0DjhqZlwL3FwORcgOSiwL3nAL53QL4apogmq+/O5siA52HAv7+AR8APZ8gAZ+3AwWRA6ZuA6bdANXJAwZuoYyiCQ0DDE0BEwEjB3EGZb1rCQC/BG/DFY8etxEAG3k9ACcDNxJRA42DAWcrJQCM8wAlAOanC6OVCLsGI6fJBgCvBRnDBvElRUYFFoAFcD9GSDNCKUK8X3kZX8QAls0FOgCQVCGbwTsuYDoZutcONxjOGJHJ/gVfBWAFXwVgBWsFYAVfBWAFXwVgBV8FYAVfBWBOHQjfjW8KCgoKbF7xMwTRA7kGN8PDAMMEr8MA70gxFroFTj5xPnhCR0K+X30/X/AAWBkzswCNBsxzzASm70aCRS4rDDMeLz49fnXfcsH5GcoscQFz13Y4HwVnBXLJycnACNdRYwgICAqEXoWTxgA7P4kACxbZBu21Kw0AjMsTAwkVAOVtJUUsJ1JCuULESUArXy9gPi9AKwnJRQYKTD9LPoA+iT54PnkCkULEUUpDX9NWV3JVEjQAc1w3A3IBE3YnX+g7QiMJb6MKaiszRCUuQrNCxDPMCcwEX9EWJzYREBEEBwIHKn6l33JCNVIfybPJtAltydPUCmhBZw/tEKsZAJOVJU1CLRuxbUHOQAo7P0s+eEJHHA8SJVRPdGM0NVrpvBoKhfUlM0JHHGUQUhEWO1xLSj8MO0ucNAqJIzVCRxv9EFsqKyA4OQgNj2nwZgp5ZNFgE2A1K3YHS2AhQQojJmC7DgpzGG1WYFUZCQYHZO9gHWCdYIVgu2BTYJlwFh8GvRbcXbG8YgtDHrMBwzPVyQonHQgkCyYBgQJ0Ajc4nVqIAwGSCsBPIgDsK3SWEtIVBa5N8gGjAo+kVwVIZwD/AEUSCDweX4ITrRQsJ8K3TwBXFDwEAB0TvzVcAtoTS20RIwDgVgZ9BBImYgA5AL4Coi8LFnezOkCnIQFjAY4KBAPh9RcGsgZSBsEAJctdsWIRu2kTkQstRw7DAcMBKgpPBGIGMDAwKCYnKTQaLg4AKRSVAFwCdl+YUZ0JdicFD3lPAdt1F9ZZKCGxuE3yBxkFVGcA/wBFEgiCBwAOLHQSjxOtQDg1z7deFRMAZ8QTAGtKb1ApIiPHADkAvgKiLy1DFtYCmBiDAlDDWNB0eo7fpaMO/aEVRRv0ATEQZBIODyMEAc8JQhCbDRgzFD4TAEMAu9YBCgCsAOkAm5I3ABwAYxvONnR+MhXJAxgKQyxL2+kkJhMbhQKDBMkSsvF0AD9BNQ6uQC7WqSQHwxEAEEIu1hkhAH2z4iQPwyJPHNWpdyYBRSpnJALzoBAEVPPsH20MxA0CCEQKRgAFyAtFAlMNwwjEDUQJRArELtapMg7DDZgJIw+TGukEIwvDFkMAqAtDEMMMBhioe+QAO3MMRAACrgnEBSPY9Q0FDnbSBoMAB8MSYxkSxAEJAPIJAAB8FWMOFtMc/HcXwxhDAC7DAvOowwAewwJdKDKHAAHDAALrFUQVwwAbwyvzpWMWv8wA/ABpAy++bcYDUKPD0KhDCwKmJ1MAAmMA5+UZwxAagwipBRL/eADfw6fDGOMCGsOjk3l6BwOpo4sAEsMOGxMAA5sAbcMOAAvDp0MJGkMDwgipnNIPAwfIqUMGAOGDAAPzABXDAAcDAAnDAGmTABrDAA7DChjDjnEWAwABYwAOcwAuUyYABsMAF8MIKQANUgC6wy4AA8MADqMq8wCyYgAcIwAB8wqpAAXOCx0V4wAHowBCwwEKAGnDAAuDAB3DAAjDCakABdIAbqcZ3QCZCCkABdIAAAFDAAfjAB2jCCkABqIACYMAGzMAbSMA5sOIAAhjAAhDABTDBAkpAAbSAOOTAAlDC6kOzPtnAAdDAG6kQFAATwAKwwwAA0MACbUDPwAHIwAZgwACE6cDAAojAApDAAoDp/MGwwAJIwADEwAQQwgAFEMAEXMAD5MADfMADcMAGRMOFiMAFUMAbqMWuwHDAMIAE0MLAGkzEgDhUwACQwAEWgAXgwUjAAbYABjDBSYBgzBaAEFNALcQBxUMegAwMngBrA0IZgJ0KxQHBREPd1N0ZzKRJwaIHAZqNT4DqQq8BwngAB4DAwt2AX56T1ocKQNXAh1GATQGC3tOxYNagkgAMQA5CQADAQEAWxLjAIOYNAEzAH7tFRk6TglSAF8NAAlYAQ+S1ACAQwQorQBiAN4dAJ1wPyeTANVzuQDX3AIeEMp9ey
1MgXiUAEdkBkJizKltbVVAaRMqRAAEAhyQ/SDEz6BmfVwB6ATEsOClKIRcDOF0E/832AFNt5AByAnkCRxGCOs94NjXdAwINGBonDBwPALW2AwICAgAAAAAAAAYDBQMDARrUAwAtAAAAAgEGBgYGBgYFBQUFBQUEBQYHCAkEBQUFBQQAAAICAAAAIgCNAJAAlT0A6gC7ANwApEQAwgCyAK0AqADuAKYA2gCjAOcBCAEDAMcAgQBiANIA1AEDAN4A8gCQAKkBMQDqAN8A3AsBCQ8yO9ra2tq8xuLT1tRJOB0BUgFcNU0BWgFpAWgBWwFMUUlLbhMBUxsNEAs6PhMOACcUKy0vMj5AQENDQ0RFFEYGJFdXV1dZWVhZL1pbXVxcI2NnZ2ZoZypsbnZ1eHh4eHh4enp6enp6enp6enp8fH18e2IARPIASQCaAHgAMgBm+ACOAFcAVwA3AnbvAIsABfj4AGQAk/IAnwBPAGIAZP//sACFAIUAaQBWALEAJAC2AIMCQAJDAPwA5wD+AP4A6AD/AOkA6QDoAOYALwJ7AVEBQAE+AVQBPgE+AT4BOQE4ATgBOAEcAVgXADEQCAEAUx8SHgsdHhYAjgCWAKYAUQBqIAIxAHYAbwCXAxUDJzIDIUlGTzEAkQJPAMcCVwKkAMAClgKWApYClgKWApYCiwKWApYClgKWApYClgKVApUCmAKgApcClgKWApQClAKUApQCkgKVAnUB1AKXAp8ClgKWApUeAIETBQD+DQOfAmECOh8BVBg9AuIZEjMbAU4/G1WZAXusRAFpYQEFA0FPAQYAmTEeIJdyADFoAHEANgCRA5zMk/C2jGINwjMWygIZCaXdfDILBCs5dAE7YnQBugDlhoiHhoiGiYqKhouOjIaNkI6Ij4qQipGGkoaThpSSlYaWhpeKmIaZhpqGm4aci52QnoqfhuIC4XTpAt90AIp0LHSoAIsAdHQEQwRABEIERQRDBEkERgRBBEcESQRIBEQERgRJAJ5udACrA490ALxuAQ10ANFZdHQA13QCFHQA/mJ0AP4BIQD+APwA/AD9APwDhGZ03ASMK23HAP4A/AD8AP0A/CR0dACRYnQA/gCRASEA/gCRAvQA/gCRA4RmdNwEjCttxyR0AP9idAEhAP4A/gD8APwA/QD8AP8A/AD8AP0A/AOEZnTcBIwrbcckdHQAkWJ0ASEA/gCRAP4AkQL0AP4AkQOEZnTcBIwrbcckdAJLAT50AlIBQXQCU8l0dAJfdHQDpgL0A6YDpgOnA6cDpwOnA4RmdNwEjCttxyR0dACRYnQBIQOmAJEDpgCRAvQDpgCRA4RmdNwEjCttxyR0BDh0AJEEOQCRDpU5dSgCADR03gV2CwArdAEFAM5iCnR0AF1iAAYcOgp0dACRCnQAXAEIwWZ0CnRmdHQAkWZ0CnRmdEXgAFF03gp0dEY0tlT2u3SOAQTwscwhjZZKrhYcBSfFp9XNbKiVDOD2b+cpe4/Z17mQnbtzzhaeQtE2GGj0IDNTjRUSyTxxw/RPHW/+vS7d1NfRt9z9QPZg4X7QFfhCnkvgNPIItOsC2eV6hPannZNHlZ9xrwZXIMOlu3jSoQSq78WEjwLjw1ELSlF1aBvfzwk5ZX7AUvQzjPQKbDuQ+sm4wNOp4A6AdVuRS0t1y/DZpg4R6m7FNjM9HgvW7Bi88zaMjOo6lM8wtBBdj8LP4ylv3zCXPhebMKJc066o9sF71oFW/8JXu86HJbwDID5lzw5GWLR/LhT0Qqnp2JQxNZNfcbLIzPy+YypqRm/lBmGmex+82+PisxUumSeJkALIT6rJezxMH+CTJmQtt5uwTVbL3ptmjDUQzlSIvWi8Tl7ng1NpuRn1Ng4n14Qc+3Iil7OwkvNWogLSPkn3pihIFytyIGmMhOe3n1tWsuMy9BdKyqF4Z3v2SgggTL9KVvMXPnCbRe+oOuFFP3HejBG/w9gvmfNYvg6JuWia2lcSSN1uIjBktzoIazOHPJZ7kKHPz8mRWVdW3lA8WGF9dQF6Bm673boov3BUWDU2JNcahR23GtfHKLOz/viZ+rYnZFaIznXO67CYEJ1fXuTRpZhYZkKe54xeoagkNGLs+NTZHE0rX45/XvQ2RGADX6vcAvdxIUBV27wxGm2zjZo4X3ILgAlrOFheuZ6wtsvaIj4yLY7qqawlliaIcrz2G+c3vscAnCkCuMzMmZvMfu9lLwTvfX+3cVSyPdN9ZwgDZhfjRgNJcLiJ67b9xx8JHswprbiE3v9UphotAPIgnXVIN5KmMc0piXhc6cChPnN+MRhG9adtdttQTTwSIpl8I4/j//d3sz1326qTBTpPRM/Hgh3kzqEXs8ZAk4ErQhNO8hzrQ0DLkWMA/N+91tn2MdOJnWC2FCZehkQrwzwbKOjhvZsbM95QoeL9skYyMf4srVPVJSgg7pOLUtr/n9eT99oe9nLtFRpjA9okV2Kj8h9k5HaC0oivRD8VyXkJ81tcd4fHNXPCfloIQasxsuO18/46dR2jgul/UIet2G0kRvnyONMKhHs6J26FEoqSqd+rfYjeEGwHWVDpX1fh1jBBcKGMqRepju9Y00mDVHC+Xdij/j44rKfvfjGinNs1jO/0F3jB83XCDINN/HB84axlP+3E/klktRo+vl3U/aiyMJbIodE1XSsDn6UAzIoMtUObY2+k/4gY/l+AkZJ5Sj2vQrkyLm3FoxjhDX+31UXBFf9XrAH31fFqoBmDEZvhvvpnZ87N+oZEu7U9O/nnk+QWj3x8uyoRbEnf+O5UMr9i0nHP38IF5AvzrBW8YWBUR0mIAzIvndQq9N3v/Jto3aPjPXUPl8ASdPPyAp7jENf8bk7VMM9ol9XGmlBmeDMuGqt+WzuL6CXAxXjIhCPM5vACchgMJ/8XBGLO/D1isVvGhwwHHr1DLaI5mn2Jr/b1pUD90uciDaS8cXNDzCWvNmT/PhQe5e8nTnnnkt8Ds/SIjibcum/fqDhKopxAY8AkSrPn+IGDEKOO+U3XOP6djFs2H5N9+orhOahiQk5KnEUWa+CzkVzhp8bMHRbg81qhjjXuIKbHjSLSIBKWqockGtKinY+z4/RdBUF6pcc3JmnlxVcNgrI4SEzKUZSwcD2QCyxzKve+gAmg6ZuSRkpPFa6mfThu7LJNu3H5K42uCpNvPAsoedolKV/LHe/eJ+BbaG5MG0NaSGVPRUmNFMFFSSpXEcXwbVh7UETOZZtoVNRGOIbbkig3McEtR68cG0RZAoJevWYo7Dg/lZ1CQzblWeUvVHmr8fY4Nqd9JJiH/zEX24mJviH60fAyFr0A3c4bC1j3yZU60VgJxXn8JgJXLUIsiBnmKmMYz+7yBQFBvqb2eYnuW59joZBf56/wXvWIR4R8wTmV80i1mZy+S4+BUES+hzjk0uXpC///z/IlqHZ1monzlXp8aCfhGKMti73FI1KbL1q6IKO4fuBuZ59gagjn5xU79muMpHXg6S+e+gDM/U9BKLHbl9l6o8czQKl4RUkJJiqftQG2i3BMg/TQlUYFkJDYBOOvAugYuzYSDnZbDDd/aSd9x0Oe6F+bJcHfl9+gp6L5/TgA+BdFFovbfCrQ40s5vMPw8866pNX8zyFGeFWdxIpPVp9Rg1UPOVFbFZrvaFq/YAzHQgqMWpahMYfqHpmwXfHL1/kpYmGuHFwT55mQu0dylfNuq2Oq0hTMCPwqfxnuBIPLXfci4Y1ANy+1CUipQxld/izVh16WyG2Q0CQQ9NqtAnx1HCHwDj7sYxOSB0wopZSnOzxQOcExmxrVTF2BkOthVpGfuhaGECfCJpJKpjnihY+xOT2QJxN61+9K6QSqtv2Shr82I3jgJrqBg0wELFZPjvHpvzTtaJnLK6Vb97Yn933koO/saN7fsjwNKzp4l2lJVx2orjCGzC/4ZL4zCver6aQYtC5sdoychuFE6ufOiog+VWi5UDkbmvmtah/3aArEBIi39s5ILUnlFLgilcGuz9CQshEY7fw2ouoILAYPVT/gyAIq3TFAIwVsl+ktkRz/qGfnCDGrm5gsl/l9QdvCWGsjPz3dU7XuqKfdUrr/6XIgjp4rey6AJBmCmUJMjITHVdFb5m1p+dLMCL8t55zD42cmftmLEJC0Da04YiRCVUBLLa8D071/N5UBNBXDh0LFsmhV/5B5ExOB4j3WVG/S3lfK5o+V6ELHvy6RR9n4ac+VsK4VE4yphPvV+kG9FegTBH4ZRXL2HytUHCduJazB/KykjfetYxOXTLws267aGOd+I+JhKP//+VnXmS90OD/jvLcVu0asyqcuYN1mSb6XTlCkqv1vigZPIYwNF/zpWcT1GR/6aEIRjkh0yhg4LXJfaGobYJTY4JI58KiAKgmmgAKWdl5nYCeLqavRJGQNuYuZtZFGx+IkI4w4NS2xwbetNMunOjBu/hmKCI/w7tfiiyUd//4rbTeWt4izBY8YvGIN6vyKYmP/8X8wHKCeN+WRcKM70+tXKNGyevU9H2Dg5BsljnTf8YbsJ1TmMs74Ce2XlHisleguhyeg44rQOHZuw/6HTkhnnurK2d62q6yS7210SsAIaR+jXMQA+svkrLpsUY+F30Uw89uOdGAR6vo4FIME0EfVVeHTu6eKicfhSqOeXJhbftcd08sWEnNUL1C9fnprTgd83IMut8onVUF0hvqzZfHduP
1jbjwEXIcoYmy+P6tcJZHmeOv6VrvEdkHDJecjHuHeWANe79VG662qTjA/HCvumVv3qL+LrOcpqGps2ZGwQdFJ7PU4iuyRlBrwfO+xnPyr47s2cXVbWzAyznDiBGjCM3ksxjjqM62GE9C8f5U38kB3VjtabKp/nRdvMESPGDG90bWRLAt1Qk5DyLuazRR1YzdC1c+hZXvAWV8xA72S4A8B67vjVhbba3MMop293FeEXpe7zItMWrJG/LOH9ByOXmYnNJfjmfuX9KbrpgLOba4nZ+fl8Gbdv/ihv+6wFGKHCYrVwmhFC0J3V2bn2tIB1wCc1CST3d3X2OyxhguXcs4sm679UngzofuSeBewMFJboIQHbUh/m2JhW2hG9DIvG2t7yZIzKBTz9wBtnNC+2pCRYhSIuQ1j8xsz5VvqnyUIthvuoyyu7fNIrg/KQUVmGQaqkqZk/Vx5b33/gsEs8yX7SC1J+NV4icz6bvIE7C5G6McBaI8rVg56q5QBJWxn/87Q1sPK4+sQa8fLU5gXo4paaq4cOcQ4wR0VBHPGjKh+UlPCbA1nLXyEUX45qZ8J7/Ln4FPJE2TdzD0Z8MLSNQiykMMmSyOCiFfy84Rq60emYB2vD09KjYwsoIpeDcBDTElBbXxND72yhd9pC/1CMid/5HUMvAL27OtcIJDzNKpRPNqPOpyt2aPGz9QWIs9hQ9LiX5s8m9hjTUu/f7MyIatjjd+tSfQ3ufZxPpmJhTaBtZtKLUcfOCUqADuO+QoH8B9v6U+P0HV1GLQmtoNFTb3s74ivZgjES0qfK+8RdGgBbcCMSy8eBvh98+et1KIFqSe1KQPyXULBMTsIYnysIwiZBJYdI20vseV+wuJkcqGemehKjaAb9L57xZm3g2zX0bZ2xk/fU+bCo7TlnbW7JuF1YdURo/2Gw7VclDG1W7LOtas2LX4upifZ/23rzpsnY/ALfRgrcWP5hYmV9VxVOQA1fZvp9F2UNU+7d7xRyVm5wiLp3/0dlV7vdw1PMiZrbDAYzIVqEjRY2YU03sJhPnlwIPcZUG5ltL6S8XCxU1eYS5cjr34veBmXAvy7yN4ZjArIG0dfD/5UpBNlX1ZPoxJOwyqRi3wQWtOzd4oNKh0LkoTm8cwqgIfKhqqGOhwo71I+zXnMemTv2B2AUzABWyFztGgGULjDDzWYwJUVBTjKCn5K2QGMK1CQT7SzziOjo+BhAmqBjzuc3xYym2eedGeOIRJVyTwDw37iCMe4g5Vbnsb5ZBdxOAnMT7HU4DHpxWGuQ7GeiY30Cpbvzss55+5Km1YsbD5ea3NI9QNYIXol5apgSu9dZ8f8xS5dtHpido5BclDuLWY4lhik0tbJa07yJhH0BOyEut/GRbYTS6RfiTYWGMCkNpfSHi7HvdiTglEVHKZXaVhezH4kkXiIvKopYAlPusftpE4a5IZwvw1x/eLvoDIh/zpo9FiQInsTb2SAkKHV42XYBjpJDg4374XiVb3ws4qM0s9eSQ5HzsMU4OZJKuopFjBM+dAZEl8RUMx5uU2N486Kr141tVsGQfGjORYMCJAMsxELeNT4RmWjRcpdTGBwcx6XN9drWqPmJzcrGrH4+DRc7+n1w3kPZwu0BkNr6hQrqgo7JTB9A5kdJ/H7P4cWBMwsmuixAzJB3yrQpnGIq90lxAXLzDCdn1LPibsRt7rHNjgQBklRgPZ8vTbjXdgXrTWQsK5MdrXXQVPp0Rinq3frzZKJ0qD6Qhc40VzAraUXlob1gvkhK3vpmHgI6FRlQZNx6eRqkp0zy4AQlX813fAPtL3jMRaitGFFjo0zmErloC+h+YYdVQ6k4F/epxAoF0BmqEoKNTt6j4vQZNQ2BoqF9Vj53TOIoNmDiu9Xp15RkIgQIGcoLpfoIbenzpGUAtqFJp5W+LLnx38jHeECTJ/navKY1NWfN0sY1T8/pB8kIH3DU3DX+u6W3YwpypBMYOhbSxGjq84RZ84fWJow8pyHqn4S/9J15EcCMsXqrfwyd9mhiu3+rEo9pPpoJkdZqHjra4NvzFwuThNKy6hao/SlLw3ZADUcUp3w3SRVfW2rhl80zOgTYnKE0Hs2qp1J6H3xqPqIkvUDRMFDYyRbsFI3M9MEyovPk8rlw7/0a81cDVLmBsR2ze2pBuKb23fbeZC0uXoIvDppfTwIDxk1Oq2dGesGc+oJXWJLGkOha3CX+DUnzgAp9HGH9RsPZN63Hn4RMA5eSVhPHO+9RcRb/IOgtW31V1Q5IPGtoxPjC+MEJbVlIMYADd9aHYWUIQKopuPOHmoqSkubnAKnzgKHqgIOfW5RdAgotN6BN+O2ZYHkuemLnvQ8U9THVrS1RtLmKbcC7PeeDsYznvqzeg6VCNwmr0Yyx1wnLjyT84BZz3EJyCptD3yeueAyDWIs0L2qs/VQ3HUyqfrja0V1LdDzqAikeWuV4sc7RLIB69jEIBjCkyZedoUHqCrOvShVzyd73OdrJW0hPOuQv2qOoHDc9xVb6Yu6uq3Xqp2ZaH46A7lzevbxQEmfrzvAYSJuZ4WDk1Hz3QX1LVdiUK0EvlAGAYlG3Md30r7dcPN63yqBCIj25prpvZP0nI4+EgWoFG95V596CurXpKRBGRjQlHCvy5Ib/iW8nZJWwrET3mgd6mEhfP4KCuaLjopWs7h+MdXFdIv8dHQJgg1xi1eYqB0uDYjxwVmri0Sv5XKut/onqapC+FQiC2C1lvYJ9MVco6yDYsS3AANUfMtvtbYI2hfwZatiSsnoUeMZd34GVjkMMKA+XnjJpXgRW2SHTZplVowPmJsvXy6w3cfO1AK2dvtZEKTkC/TY9LFiKHCG0DnrMQdGm2lzlBHM9iEYynH2UcVMhUEjsc0oDBTgo2ZSQ1gzkAHeWeBXYFjYLuuf8yzTCy7/RFR81WDjXMbq2BOH5dURnxo6oivmxL3cKzKInlZkD31nvpHB9Kk7GfcfE1t+1V64b9LtgeJGlpRFxQCAqWJ5DoY77ski8gsOEOr2uywZaoO/NGa0X0y1pNQHBi3b2SUGNpcZxDT7rLbBf1FSnQ8guxGW3W+36BW0gBje4DOz6Ba6SVk0xiKgt+q2JOFyr4SYfnu+Ic1QZYIuwHBrgzr6UvOcSCzPTOo7D6IC4ISeS7zkl4h+2VoeHpnG/uWR3+ysNgPcOIXQbv0n4mr3BwQcdKJxgPSeyuP/z1Jjg4e9nUvoXegqQVIE30EHx5GHv+FAVUNTowYDJgyFhf5IvlYmEqRif6+WN1MkEJmDcQITx9FX23a4mxy1AQRsOHO/+eImX9l8EMJI3oPWzVXxSOeHU1dUWYr2uAA7AMb+vAEZSbU3qob9ibCyXeypEMpZ6863o6QPqlqGHZkuWABSTVNd4cOh9hv3qEpSx2Zy/DJMP6cItEmiBJ5PFqQnDEIt3NrA3COlOSgz43D7gpNFNJ5MBh4oFzhDPiglC2ypsNU4ISywY2erkyb1NC3Qh/IfWj0eDgZI4/ln8WPfBsT3meTjq1Uqt1E7Zl/qftqkx6aM9KueMCekSnMrcHj1CqTWWzEzPsZGcDe3Ue4Ws+XFYVxNbOFF8ezkvQGR6ZOtOLU2lQEnMBStx47vE6Pb7AYMBRj2OOfZXfisjJnpTfSNjo6sZ6qSvNxZNmDeS7Gk3yYyCk1HtKN2UnhMIjOXUzAqDv90lx9O/q/AT1ZMnit5XQe9wmQxnE/WSH0CqZ9/2Hy+Sfmpeg8RwsHI5Z8kC8H293m/LHVVM/BA7HaTJYg5Enk7M/xWpq0192ACfBai2LA/qrCjCr6Dh1BIMzMXINBmX96MJ5Hn2nxln/RXPFhwHxUmSV0EV2V0jm86/dxxuYSU1W7sVkEbN9EzkG0QFwPhyHKyb3t+Fj5WoUUTErcazE/N6EW6Lvp0d//SDPj7EV9UdJN+Amnf3Wwk3A0SlJ9Z00yvXZ7n3z70G47Hfsow8Wq1JXcfwnA+Yxa5mFsgV464KKP4T31wqIgzFPd3eCe3j5ory5fBF2hgCFyVFrLzI9eetNXvM7oQqyFgDo4CTp/hDV9NMX9JDHQ/nyHTLvZLNLF6ftn2OxjGm8+PqOwhxnPHWipkE/8wbtyri80Sr7pMNkQGMfo4ZYK9OcCC4ESV
1FFbLMIvlxSoRqWie0wxqnLfcLSXMSpMMQEJYDVObYsXIQNv4TGNwjq1kvT1UOkicTrG3IaBZ3XdScS3u8sgeZPVpOLkbiF940FjbCeNRINNvDbd01EPBrTCPpm12m43ze1bBB59Ia6Ovhnur/Nvx3IxwSWol+3H2qfCJR8df6aQf4v6WiONxkK+IqT4pKQrZK/LplgDI/PJZbOep8dtbV7oCr6CgfpWa8NczOkPx81iSHbsNhVSJBOtrLIMrL31LK9TqHqAbAHe0RLmmV806kRLDLNEhUEJfm9u0sxpkL93Zgd6rw+tqBfTMi59xqXHLXSHwSbSBl0EK0+loECOPtrl+/nsaFe197di4yUgoe4jKoAJDXc6DGDjrQOoFDWZJ9HXwt8xDrQP+7aRwWKWI1GF8s8O4KzxWBBcwnl3vnl1Oez3oh6Ea1vjR7/z7DDTrFtqU2W/KAEzAuXDNZ7MY73MF216dzdSbWmUp4lcm7keJfWaMHgut9x5C9mj66Z0lJ+yhsjVvyiWrfk1lzPOTdhG15Y7gQlXtacvI7qv/XNSscDwqkgwHT/gUsD5yB7LdRRvJxQGYINn9hTpodKFVSTPrtGvyQw+HlRFXIkodErAGu9Iy1YpfSPc3jkFh5CX3lPxv7aqjE/JAfTIpEjGb/H7MO0e2vsViSW1qa/Lmi4/n4DEI3g7lYrcanspDfEpKkdV1OjSLOy0BCUqVoECaB55vs06rXl4jqmLsPsFM/7vYJ0vrBhDCm/00A/H81l1uekJ/6Lml3Hb9+NKiLqATJmDpyzfYZFHumEjC662L0Bwkxi7E9U4cQA0XMVDuMYAIeLMPgQaMVOd8fmt5SflFIfuBoszeAw7ow5gXPE2Y/yBc/7jExARUf/BxIHQBF5Sn3i61w4z5xJdCyO1F1X3+3ax+JSvMeZ7S6QSKp1Fp/sjYz6Z+VgCZzibGeEoujryfMulH7Rai5kAft9ebcW50DyJr2uo2z97mTWIu45YsSnNSMrrNUuG1XsYBtD9TDYzQffKB87vWbkM4EbPAFgoBV4GQS+vtFDUqOFAoi1nTtmIOvg38N4hT2Sn8r8clmBCXspBlMBYTnrqFJGBT3wZOzAyJDre9dHH7+x7qaaKDOB4UQALD5ecS0DE4obubQEiuJZ0EpBVpLuYcce8Aa4PYd/V4DLDAJBYKQPCWTcrEaZ5HYbJi11Gd6hjGom1ii18VHYnG28NKpkz2UKVPxlhYSp8uZr367iOmoy7zsxehW9wzcy2zG0a80PBMCRQMb32hnaHeOR8fnNDzZhaNYhkOdDsBUZ3loDMa1YP0uS0cjUP3b/6DBlqmZOeNABDsLl5BI5QJups8uxAuWJdkUB/pO6Zax6tsg7fN5mjjDgMGngO+DPcKqiHIDbFIGudxtPTIyDi9SFMKBDcfdGQRv41q1AqmxgkVfJMnP8w/Bc7N9/TR6C7mGObFqFkIEom8sKi2xYqJLTCHK7cxzaZvqODo22c3wisBCP4HeAgcRbNPAsBkNRhSmD48dHupdBRw4mIvtS5oeF6zeT1KMCyhMnmhpkFAGWnGscoNkwvQ8ZM5lE/vgTHFYL99OuNxdFBxTEDd5v2qLR8y9WkXsWgG6kZNndFG+pO/UAkOCipqIhL3hq7cRSdrCq7YhUsTocEcnaFa6nVkhnSeRYUA1YO0z5itF9Sly3VlxYDw239TJJH6f3EUfYO5lb7bcFcz8Bp7Oo8QmnsUHOz/fagVUBtKEw1iT88j+aKkv8cscKNkMxjYr8344D1kFoZ7/td1W6LCNYN594301tUGRmFjAzeRg5vyoM1F6+bJZ/Q54jN/k8SFd3DxPTYaAUsivsBfgTn7Mx8H2SpPt4GOdYRnEJOH6jHM2p6SgB0gzIRq6fHxGMmSmqaPCmlfwxiuloaVIitLGN8wie2CDWhkzLoCJcODh7KIOAqbHEvXdUxaS4TTTs07Clzj/6GmVs9kiZDerMxEnhUB6QQPlcfqkG9882RqHoLiHGBoHfQuXIsAG8GTAtao2KVwRnvvam8jo1e312GQAKWEa4sUVEAMG4G6ckcONDwRcg1e2D3+ohXgY4UAWF8wHKQMrSnzCgfFpsxh+aHXMGtPQroQasRY4U6UdG0rz1Vjbka0MekOGRZQEvqQFlxseFor8zWFgHek3v29+WqN6gaK5gZOTOMZzpQIC1201LkMCXild3vWXSc5UX9xcFYfbRPzGFa1FDcPfPB/jUEq/FeGt419CI3YmBlVoHsa4KdcwQP5ZSwHHhFJ7/Ph/Rap/4vmG91eDwPP0lDfCDRCLszTqfzM71xpmiKi2HwS4WlqvGNwtvwF5Dqpn6KTq8ax00UMPkxDcZrEEEsIvHiUXXEphdb4GB4FymlPwBz4Gperqq5pW7TQ6/yNRhW8VT5NhuP0udlxo4gILq5ZxAZk8ZGh3g4CqxJlPKY7AQxupfUcVpWT5VItp1+30UqoyP4wWsRo3olRRgkWZZ2ZN6VC3OZFeXB8NbnUrSdikNptD1QiGuKkr8EmSR/AK9Rw+FF3s5uwuPbvHGiPeFOViltMK7AUaOsq9+x9cndk3iJEE5LKZRlWJbKOZweROzmPNVPkjE3K/TyA57Rs68TkZ3MR8akKpm7cFjnjPd/DdkWjgYoKHSr5Wu5ssoBYU4acRs5g2DHxUmdq8VXOXRbunD8QN0LhgkssgahcdoYsNvuXGUK/KXD/7oFb+VGdhqIn02veuM5bLudJOc2Ky0GMaG4W/xWBxIJcL7yliJOXOpx0AkBqUgzlDczmLT4iILXDxxtRR1oZa2JWFgiAb43obrJnG/TZC2KSK2wqOzRZTXavZZFMb1f3bXvVaNaK828w9TO610gk8JNf3gMfETzXXsbcvRGCG9JWQZ6+cDPqc4466Yo2RcKH+PILeKOqtnlbInR3MmBeGG3FH10yzkybuqEC2HSQwpA0An7d9+73BkDUTm30bZmoP/RGbgFN+GrCOfADgqr0WbI1a1okpFms8iHYw9hm0zUvlEMivBRxModrbJJ+9/p3jUdQQ9BCtQdxnOGrT5dzRUmw0593/mbRSdBg0nRvRZM5/E16m7ZHmDEtWhwvfdZCZ8J8M12W0yRMszXamWfQTwIZ4ayYktrnscQuWr8idp3PjT2eF/jmtdhIfcpMnb+IfZY2FebW6UY/AK3jP4u3Tu4zE4qlnQgLFbM19EBIsNf7KhjdbqQ/D6yiDb+NlEi2SKD+ivXVUK8ib0oBo366gXkR8ZxGjpJIDcEgZPa9TcYe0TIbiPl/rPUQDu3XBJ9X/GNq3FAUsKsll57DzaGMrjcT+gctp+9MLYXCq+sqP81eVQ0r9lt+gcQfZbACRbEjvlMskztZG8gbC8Qn9tt26Q7y7nDrbZq/LEz7kR6Jc6pg3N9rVX8Y5MJrGlML9p9lU4jbTkKqCveeZUJjHB03m2KRKR2TytoFkTXOLg7keU1s1lrPMQJpoOKLuAAC+y1HlJucU6ysB5hsXhvSPPLq5J7JtnqHKZ4vYjC4Vy8153QY+6780xDuGARsGbOs1WqzH0QS765rnSKEbbKlkO8oI/VDwUd0is13tKpqILu1mDJFNy/iJAWcvDgjxvusIT+PGz3ST/J9r9Mtfd0jpaGeiLYIqXc7DiHSS8TcjFVksi66PEkxW1z6ujbLLUGNNYnzOWpH8BZGK4bCK7iR+MbIv8ncDAz1u4StN3vTTzewr9IQjk9wxFxn+6N1ddKs0vffJiS08N3a4G1SVrlZ97Q/M+8G9fe5AP6d9/Qq4WRnORVhofPIKEdCr3llspUfE0oKIIYoByBRPh+bX1HLS3JWGJRhIvE1aW4NTd8ePi4Z+kXb+Z8snYfSNcqijhAgVsx4RCM54cXUiYkjeBmmC4ajOHrChoELscJJC7+9jjMjw5BagZKlgRMiSNYz7h7vvZIoQqbtQmspc0cUk1G/73iXtSpROl5wtLgQi0mW2Ex8i3WULhcggx6E1LMVHUsdc9GHI1PH3U2Ko0PyGdn9KdVOLm7FPBui0i9a0HpA60MsewVE4z8CAt5d401Gv6zXlIT5Ybit1VIA0FCs7wtvYreru1fUyW3oLAZ/+aTnZrOcYRNVA8spoRtlRoWflsRClFcgzkqiHOrf0/SVw+EpVaFlJ0g4Kxq1MMOmiQdpMNpte8lMMQqm6cIFXlnGbfJllysKDi+0JJMotkqgIxOSQgU9dn/lWkeVf8nUm3iwX2Nl3WDw9i6AUK3vBAbZZrcJpDQ/N64AVwjT07Jef30GSSmtNu2WlW7YoyW2FlWfZFQUwk867EdLYKk9VG6JgEnBiBxkY7LMo4YLQJJlAo9l/oTvJkSARDF/XtyAzM8O2t3eT/iXa6wDN3WewNmQHdPfsxChU/KtLG2Mn8i4ZqKdSlIaBZadxJmRzVS/o4yA65RTSViq60oa395Lqw0pzY4SipwE0SXXsKV+GZraGSkr/RW08wPRvqvSUkYBMA9lPx4m24az+IHmCbXA+0faxTRE9wuGeO06DIXa6QlKJ3puIyiuAVfPr736vzo2pBirS+Vxel3TMm3JKhz9o2ZoRvaFVpIkykb0Hcm4oHFBMcNSNj7/4GJt43ogonY2Vg4nsDQIWxAcorpXACzgBqQPjYsE/VUpXpwNManEru4NwMCFPkXvMoqvoeLN3qyu/N1eWEHttMD65v19l/0kH2mR35iv/FI+yjoHJ9gPMz67af3Mq/BoWXqu3rphiWMXVkmnPSEkpGpUI2h1MThideGFEOK6YZHPwYzMBvpNC7+ZHxPb7epfefGyIB4JzO9DTNEYnDLVVHdQyvOEVefrk6Uv5kTQYVYWWdqrdcIl7yljwwIWdfQ/y+2QB3eR/qxYObuYyB4gTbo2in4PzarU1sO9nETkmj9/AoxDA+JM3GMqQtJR4jtduHtnoCLxd1gQUscHRB/MoRYIEsP2pDZ9KvHgtlk1iTbWWbHhohwFEYX7y51fUV2nuUmnoUcqnWIQAAgl9LTVX+Bc0QGNEhChxHR4YjfE51PUdGfsSFE6ck7BL3/hTf9jLq4G1IafINxOLKeAtO7quulYvH5YOBc+zX7CrMgWnW47/jfRsWnJjYYoE7xMfWV2HN2iyIqLI"),a=()=>aS(n),r=()=>new Set(a()),i=(e,t)=>t.forEach(t=>e.add(t));b=new Map(ak(n)),s=r(),o=a(),c=new Set(a().map(e=>o[e])),o=new Set(o),d=r(),u=r();let f=aR(n),T=n(),_=()=>{let e=new Set;
1return a().forEach(t=>i(e,f[t])),i(e,a()),e};l=aB(e=>{let t=aB(n).map(e=>e+96);if(t.length){let a=e>=T;t[0]-=32,t=aF(t),a&&(t=`Restricted[${t}]`);let r=_();return{N:t,P:r,Q:_(),M:!n(),R:a}}}),p=r(),y=new Map;let v=a().concat(aJ(p)).sort((e,t)=>e-t);for(let{V:e,M:t}of(v.forEach((e,t)=>{let a=n(),r=v[t]=a?v[t-a]:{V:[],M:new Map};r.V.push(e),p.has(e)||y.set(e,r)}),new Set(y.values()))){let n=[];for(let t of e){let e=l.filter(e=>aQ(e,t)),a=n.find(({G:t})=>e.some(e=>t.has(e)));a||(a={G:new Set,V:[]},n.push(a)),a.V.push(t),i(a.G,e)}let a=n.flatMap(e=>aJ(e.G));for(let{G:e,V:r}of n){let n=new Set(a.filter(t=>!e.has(t)));for(let e of r)t.set(e,n)}}m=new Set;let w=new Set,P=e=>m.has(e)?w.add(e):m.add(e);for(let e of l){for(let t of e.P)P(t);for(let t of e.Q)P(t)}for(let e of m)y.has(e)||w.has(e)||y.set(e,1);for(let a of(i(m,aG(m).map(aL)),h=(e=[],t=aS(n),function t({S:n,B:a},r,i){if(!(4&n)||i!==r[r.length-1])for(let f of(2&n&&(i=r[r.length-1]),1&n&&e.push(r),a))for(let e of f.Q)t(f,[...r,e],i)}(function e(a){return{S:n(),B:aB(()=>{let a=aS(n).map(e=>t[e]);if(a.length)return e(a)}),Q:a}}([]),[]),e).map(e=>aq.from(e)).sort(aN),g=new Map,h)){let e=[g];for(let t of a){let n=e.map(e=>{let n=e.get(t);return n||(n=new Map,e.set(t,n)),n});65039===t?e.push(...n):e=n}for(let t of e)t.V=a}}function a$(e){return(aX(e)?"":`${aY(aW([e]))} `)+aD(e)}function aY(e){return`"${e}"\u200E`}function aW(e,t=1/0,n=aD){var a;let r=[];a=e[0],aZ(),o.has(a)&&r.push("◌"),e.length>t&&(t>>=1,e=[...e.slice(0,t),8230,...e.slice(-t)]);let i=0,f=e.length;for(let t=0;t<f;t++){let a=e[t];aX(a)&&(r.push(aF(e.slice(i,t))),r.push(n(a)),i=t+1)}return r.push(aF(e.slice(i,f))),r.join("")}function aX(e){return aZ(),d.has(e)}function a0(e){return Error(`disallowed character: ${a$(e)}`)}function a1(e,t){let n=a$(t),a=l.find(e=>e.P.has(t));return a&&(n=`${a.N} ${n}`),Error(`illegal mixture: ${e.N} + ${n}`)}function a6(e){return Error(`illegal placement: ${e}`)}function a5(e){return e.filter(e=>65039!=e)}let a8="valid",a2=new Uint8Array(32);function a3(e){return(0,_.MR)(0!==e.length,"invalid ENS name; empty component","comp",e),e}function a9(e){let t=tb(function(e){try{var t;if(0===e.length)throw Error("empty label");return(t=function(e,t,n){if(!e)return[];aZ();let a=0;return e.split(".").map(e=>{let r=function(e){let t=[];for(let n=0,a=e.length;n<a;){let a=e.codePointAt(n);n+=a<65536?1:2,t.push(a)}return t}(e),i={input:r,offset:a};a+=r.length+1;try{let e,a=i.tokens=function(e,t,n){let a=[],r=[];for(e=e.slice().reverse();e.length;){let i=function(e,t){let n,a=g,r=e.length;for(;r&&(a=a.get(e[--r]));){let{V:i}=a;i&&(n=i,t&&t.push(...e.slice(r).reverse()),e.length=r)}return n}(e);if(i)r.length&&(a.push(t(r)),r=[]),a.push(n(i));else{let t=e.pop();if(m.has(t))r.push(t);else{let e=b.get(t);if(e)r.push(...e);else if(!s.has(t))throw a0(t)}}}return r.length&&a.push(t(r)),a}(r,t,n),f=a.length;if(!f)throw Error("empty label");let d=i.output=a.flat();for(let e=d.lastIndexOf(95);e>0;)if(95!==d[--e])throw Error("underscore allowed only at start");if(!(i.emoji=f>1||a[0].is_emoji)&&d.every(e=>e<128)){if(d.length>=4&&45==d[2]&&45==d[3])throw Error(`invalid label extension: "${aF(d.slice(0,4))}"`);e="ASCII"}else{let t=a.flatMap(e=>e.is_emoji?[]:e);if(t.length){if(o.has(d[0]))throw a6("leading combining mark");for(let e=1;e<f;e++){let t=a[e];
1if(!t.is_emoji&&o.has(t[0]))throw a6(`emoji + combining mark: "${aF(a[e-1])} + ${aW([t[0]])}"`)}!function(e){let t=e[0],n=aE.get(t);if(n)throw a6(`leading ${n}`);let a=e.length,r=-1;for(let i=1;i<a;i++){t=e[i];let a=aE.get(t);if(a){if(r==i)throw a6(`${n} + ${a}`);r=i+1,n=a}}if(r==a)throw a6(`trailing ${n}`)}(d);let n=aJ(new Set(t)),[r]=function(e){let t=l;for(let n of e){let e=t.filter(e=>aQ(e,n));if(!e.length)if(l.some(e=>aQ(e,n)))throw a1(t[0],n);else throw a0(n);if(t=e,1==e.length)break}return t}(n);(function(e,t){for(let n of t)if(!aQ(e,n))throw a1(e,n);if(e.M){var n;let e=(n=t,aG(n).map(aL));for(let t=1,n=e.length;t<n;t++)if(c.has(e[t])){let a=t+1;for(let r;a<n&&c.has(r=e[a]);a++)for(let n=t;n<a;n++)if(e[n]==r)throw Error(`duplicate non-spacing marks: ${a$(r)}`);if(a-t>4)throw Error(`excessive non-spacing marks: ${aY(aW(e.slice(t-1,a)))} (${a-t}/4)`);t=a}}})(r,t),function(e,t){let n,a=[];for(let e of t){let t=y.get(e);if(1===t)return;if(t){let a=t.M.get(e);if(!(n=n?n.filter(e=>a.has(e)):aJ(a)).length)return}else a.push(e)}if(n){for(let t of n)if(a.every(e=>aQ(t,e)))throw Error(`whole-script confusable: ${e.N}/${t.N}`)}}(r,n),e=r.N}else e="Emoji"}i.type=e}catch(e){i.error=e}return i})}(e,aH,a5)).map(({input:e,error:n,output:a})=>{if(n){let a=n.message;throw Error(1==t.length?a:`Invalid label ${aY(aW(e,63))}: ${a}`)}return aF(a)}).join(".")}catch(t){(0,_.MR)(!1,`invalid ENS name (${t.message})`,"name",e)}}(e)),n=[];if(0===e.length)return n;let a=0;for(let e=0;e<t.length;e++)46===t[e]&&(n.push(a3(t.slice(a,e))),a=e+1);return(0,_.MR)(a<t.length,"invalid ENS name; empty component","name",e),n.push(a3(t.slice(a))),n}function a4(e){(0,_.MR)("string"==typeof e,"invalid ENS name; not a string","name",e),(0,_.MR)(e.length,"invalid ENS name (empty label)","name",e);let t=a2,n=a9(e);for(;n.length;)t=eK(C([t,eK(n.pop())]));return O(t)}a2.fill(0);class a7 extends ev{constructor(e,t,n,a){super(),this.blockLen=e,this.outputLen=t,this.padOffset=n,this.isLE=a,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=eg(this.buffer)}update(e){ei(this);let{view:t,buffer:n,blockLen:a}=this,r=(e=e_(e)).length;for(let i=0;i<r;){let f=Math.min(a-this.pos,r-i);if(f===a){let t=eg(e);for(;a<=r-i;i+=a)this.process(t,i);continue}n.set(e.subarray(i,i+f),this.pos),this.pos+=f,i+=f,this.pos===a&&(this.process(t,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){ei(this),ef(e,this),this.finished=!0;let{buffer:t,view:n,blockLen:a,isLE:r}=this,{pos:i}=this;t[i++]=128,this.buffer.subarray(i).fill(0),this.padOffset>a-i&&(this.process(n,0),i=0);for(let e=i;e<a;e++)t[e]=0;!function(e,t,n,a){if("function"==typeof e.setBigUint64)return e.setBigUint64(t,n,a);let r=BigInt(32),i=BigInt(0xffffffff),f=Number(n>>r&i),b=Number(n&i),s=4*!!a,o=4*!a;e.setUint32(t+s,f,a),e.setUint32(t+o,b,a)}(n,a-8,BigInt(8*this.length),r),this.process(n,0);let f=eg(e),b=this.outputLen;if(b%4)throw Error("_sha2: outputLen should be aligned to 32bit");let s=b/4,o=this.get();if(s>o.length)throw Error("_sha2: outputLen bigger than state");for(let e=0;e<s;e++)f.setUint32(4*e,o[e],r)}digest(){let{buffer:e,outputLen:t}=this;this.digestInto(e);let n=e.slice(0,t);return this.destroy(),n}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());let{blockLen:t,buffer:n,length:a,finished:r,destroyed:i,pos:f}=this;return e.length=a,e.pos=f,e.finished=r,e.destroyed=i,a%t&&e.buffer.set(n),e}}
1let re=(e,t,n)=>e&t^~e&n,rt=(e,t,n)=>e&t^e&n^t&n,rn=new Uint32Array([0x428a2f98,0x71374491,0xb5c0fbcf,0xe9b5dba5,0x3956c25b,0x59f111f1,0x923f82a4,0xab1c5ed5,0xd807aa98,0x12835b01,0x243185be,0x550c7dc3,0x72be5d74,0x80deb1fe,0x9bdc06a7,0xc19bf174,0xe49b69c1,0xefbe4786,0xfc19dc6,0x240ca1cc,0x2de92c6f,0x4a7484aa,0x5cb0a9dc,0x76f988da,0x983e5152,0xa831c66d,0xb00327c8,0xbf597fc7,0xc6e00bf3,0xd5a79147,0x6ca6351,0x14292967,0x27b70a85,0x2e1b2138,0x4d2c6dfc,0x53380d13,0x650a7354,0x766a0abb,0x81c2c92e,0x92722c85,0xa2bfe8a1,0xa81a664b,0xc24b8b70,0xc76c51a3,0xd192e819,0xd6990624,0xf40e3585,0x106aa070,0x19a4c116,0x1e376c08,0x2748774c,0x34b0bcb5,0x391c0cb3,0x4ed8aa4a,0x5b9cca4f,0x682e6ff3,0x748f82ee,0x78a5636f,0x84c87814,0x8cc70208,0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2]),ra=new Uint32Array([0x6a09e667,0xbb67ae85,0x3c6ef372,0xa54ff53a,0x510e527f,0x9b05688c,0x1f83d9ab,0x5be0cd19]),rr=new Uint32Array(64);class ri extends a7{constructor(){super(64,32,8,!1),this.A=0|ra[0],this.B=0|ra[1],this.C=0|ra[2],this.D=0|ra[3],this.E=0|ra[4],this.F=0|ra[5],this.G=0|ra[6],this.H=0|ra[7]}get(){let{A:e,B:t,C:n,D:a,E:r,F:i,G:f,H:b}=this;return[e,t,n,a,r,i,f,b]}set(e,t,n,a,r,i,f,b){this.A=0|e,this.B=0|t,this.C=0|n,this.D=0|a,this.E=0|r,this.F=0|i,this.G=0|f,this.H=0|b}process(e,t){for(let n=0;n<16;n++,t+=4)rr[n]=e.getUint32(t,!1);for(let e=16;e<64;e++){let t=rr[e-15],n=rr[e-2],a=eT(t,7)^eT(t,18)^t>>>3,r=eT(n,17)^eT(n,19)^n>>>10;rr[e]=r+rr[e-7]+a+rr[e-16]|0}let{A:n,B:a,C:r,D:i,E:f,F:b,G:s,H:o}=this;for(let e=0;e<64;e++){let t=o+(eT(f,6)^eT(f,11)^eT(f,25))+re(f,b,s)+rn[e]+rr[e]|0,c=(eT(n,2)^eT(n,13)^eT(n,22))+rt(n,a,r)|0;o=s,s=b,b=f,f=i+t|0,i=r,r=a,a=n,n=t+c|0}n=n+this.A|0,a=a+this.B|0,r=r+this.C|0,i=i+this.D|0,f=f+this.E|0,b=b+this.F|0,s=s+this.G|0,o=o+this.H|0,this.set(n,a,r,i,f,b,s,o)}roundClean(){rr.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}}let rf=ew(()=>new ri),[rb,rs]=ep.split(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e3585
15771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(e=>BigInt(e))),ro=new Uint32Array(80),rc=new Uint32Array(80);class rd extends a7{constructor(){super(128,64,16,!1),this.Ah=0x6a09e667,this.Al=-0xc4336f8,this.Bh=-0x4498517b,this.Bl=-0x7b3558c5,this.Ch=0x3c6ef372,this.Cl=-0x16b07d5,this.Dh=-0x5ab00ac6,this.Dl=0x5f1d36f1,this.Eh=0x510e527f,this.El=-0x52197d2f,this.Fh=-0x64fa9774,this.Fl=0x2b3e6c1f,this.Gh=0x1f83d9ab,this.Gl=-0x4be4295,this.Hh=0x5be0cd19,this.Hl=0x137e2179}get(){let{Ah:e,Al:t,Bh:n,Bl:a,Ch:r,Cl:i,Dh:f,Dl:b,Eh:s,El:o,Fh:c,Fl:d,Gh:u,Gl:l,Hh:p,Hl:y}=this;return[e,t,n,a,r,i,f,b,s,o,c,d,u,l,p,y]}set(e,t,n,a,r,i,f,b,s,o,c,d,u,l,p,y){this.Ah=0|e,this.Al=0|t,this.Bh=0|n,this.Bl=0|a,this.Ch=0|r,this.Cl=0|i,this.Dh=0|f,this.Dl=0|b,this.Eh=0|s,this.El=0|o,this.Fh=0|c,this.Fl=0|d,this.Gh=0|u,this.Gl=0|l,this.Hh=0|p,this.Hl=0|y}process(e,t){for(let n=0;n<16;n++,t+=4)ro[n]=e.getUint32(t),rc[n]=e.getUint32(t+=4);for(let e=16;e<80;e++){let t=0|ro[e-15],n=0|rc[e-15],a=ep.rotrSH(t,n,1)^ep.rotrSH(t,n,8)^ep.shrSH(t,n,7),r=ep.rotrSL(t,n,1)^ep.rotrSL(t,n,8)^ep.shrSL(t,n,7),i=0|ro[e-2],f=0|rc[e-2],b=ep.rotrSH(i,f,19)^ep.rotrBH(i,f,61)^ep.shrSH(i,f,6),s=ep.rotrSL(i,f,19)^ep.rotrBL(i,f,61)^ep.shrSL(i,f,6),o=ep.add4L(r,s,rc[e-7],rc[e-16]),c=ep.add4H(o,a,b,ro[e-7],ro[e-16]);ro[e]=0|c,rc[e]=0|o}let{Ah:n,Al:a,Bh:r,Bl:i,Ch:f,Cl:b,Dh:s,Dl:o,Eh:c,El:d,Fh:u,Fl:l,Gh:p,Gl:y,Hh:m,Hl:h}=this;for(let e=0;e<80;e++){let t=ep.rotrSH(c,d,14)^ep.rotrSH(c,d,18)^ep.rotrBH(c,d,41),g=ep.rotrSL(c,d,14)^ep.rotrSL(c,d,18)^ep.rotrBL(c,d,41),T=c&u^~c&p,_=d&l^~d&y,v=ep.add5L(h,g,_,rs[e],rc[e]),w=ep.add5H(v,m,t,T,rb[e],ro[e]),P=0|v,A=ep.rotrSH(n,a,28)^ep.rotrBH(n,a,34)^ep.rotrBH(n,a,39),M=ep.rotrSL(n,a,28)^ep.rotrBL(n,a,34)^ep.rotrBL(n,a,39),I=n&r^n&f^r&f,O=a&i^a&b^i&b;m=0|p,h=0|y,p=0|u,y=0|l,u=0|c,l=0|d,({h:c,l:d}=ep.add(0|s,0|o,0|w,0|P)),s=0|f,o=0|b,f=0|r,b=0|i,r=0|n,i=0|a;let C=ep.add3L(P,M,O);n=ep.add3H(C,w,A,I),a=0|C}({h:n,l:a}=ep.add(0|this.Ah,0|this.Al,0|n,0|a)),({h:r,l:i}=ep.add(0|this.Bh,0|this.Bl,0|r,0|i)),({h:f,l:b}=ep.add(0|this.Ch,0|this.Cl,0|f,0|b)),({h:s,l:o}=ep.add(0|this.Dh,0|this.Dl,0|s,0|o)),({h:c,l:d}=ep.add(0|this.Eh,0|this.El,0|c,0|d)),({h:u,l:l}=ep.add(0|this.Fh,0|this.Fl,0|u,0|l)),({h:p,l:y}=ep.add(0|this.Gh,0|this.Gl,0|p,0|y)),({h:m,l:h}=ep.add(0|this.Hh,0|this.Hl,0|m,0|h)),this.set(n,a,r,i,f,b,s,o,c,d,u,l,p,y,m,h)}roundClean(){ro.fill(0),rc.fill(0)}destroy(){this.buffer.fill(0),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}}let ru=ew(()=>new rd),rl=function(){if("undefined"!=typeof self)return self;if("undefined"!=typeof window)return window;if("undefined"!=typeof global)return global;throw Error("unable to locate global object")}();function rp(e){switch(e){case"sha256":return rf.create();case"sha512":return ru.create()}(0,_.MR)(!1,"invalid hashing algorithm name","algorithm",e)}rl.crypto||rl.msCrypto;let ry=function(e){return rp("sha256").update(e).digest()},rm=function(e){return rp("sha512").update(e).digest()},rh=ry,rg=rm,rT=!1,r_=!1;function rv(e){let t=w(e,"data");return O(rh(t))}function rw(e){let t=w(e,"data");return O(rg(t))}rv._=ry,rv.lock=function(){rT=!0},rv.register=function(e){if(rT)throw Error("sha256 is locked");rh=e},Object.freeze(rv),rw._=rm,rw.lock=function(){r_=!0},rw.register=function(e){if(r_)throw Error("sha512 is locked");rg=e},Object.freeze(rv),BigInt(0);let rP=BigInt(1),rA=BigInt(2),rM=e=>e instanceof Uint8Array,rI=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function rO(e){if(!rM(e))throw Error("Uint8Array expected");let t="";for(let n=0;n<e.length;n++)t+=rI[e[n]];return t}function rC(e){if("string"!=typeof e)throw Error("hex string expected, got "+typeof e);return BigInt(""===e?"0":`0x${e}`)}function rE(e){if("string"!=typeof e)throw Error("hex string expected, got "+typeof e);let t=e.length;if(t%2)throw Error("padded hex string expected, got unpadded hex of length "+t);let n=new Uint8Array(t/2);for(let t=0;t<n.length;t++){let a=2*t,r=Number.parseInt(e.slice(a,a+2),16);if(Number.isNaN(r)||r<0)throw Error("Invalid byte sequence");n[t]=r}return n}function rx(e){return rC(rO(e))}function rS(e){if(!rM(e))throw Error("Uint8Array expected");return rC(rO(Uint8Array.from(e).reverse()))}function rR(e,t){return rE(e.toString(16).padStart(2*t,"0"))}function rk(e,t){return rR(e,t).reverse()}function rB(e,t,n){let a;if("string"==typeof t)try{a=rE(t)}catch(n){throw Error(`${e} must be valid hex string, got "${t}". Cause: ${n}`)}else if(rM(t))a=Uint8Array.from(t);else throw Error(`${e} must be hex string or Uint8Array`);let r=a.length;if("number"==typeof n&&r!==n)throw Error(`${e} expected ${n} bytes, got ${r}`);return a}function rj(...e){let t=new Uint8Array(e.reduce((e,t)=>
1e+t.length,0)),n=0;return e.forEach(e=>{if(!rM(e))throw Error("Uint8Array expected");t.set(e,n),n+=e.length}),t}let rD=e=>(rA<<BigInt(e-1))-rP,rF=e=>new Uint8Array(e),rN=e=>Uint8Array.from(e);function rV(e,t,n){if("number"!=typeof e||e<2)throw Error("hashLen must be a number");if("number"!=typeof t||t<2)throw Error("qByteLen must be a number");if("function"!=typeof n)throw Error("hmacFn must be a function");let a=rF(e),r=rF(e),i=0,f=()=>{a.fill(1),r.fill(0),i=0},b=(...e)=>n(r,a,...e),s=(e=rF())=>{r=b(rN([0]),e),a=b(),0!==e.length&&(r=b(rN([1]),e),a=b())},o=()=>{if(i++>=1e3)throw Error("drbg: tried 1000 values");let e=0,n=[];for(;e<t;){let t=(a=b()).slice();n.push(t),e+=a.length}return rj(...n)};return(e,t)=>{let n;for(f(),s(e);!(n=t(o()));)s();return f(),n}}let rU={bigint:e=>"bigint"==typeof e,function:e=>"function"==typeof e,boolean:e=>"boolean"==typeof e,string:e=>"string"==typeof e,stringOrUint8Array:e=>"string"==typeof e||e instanceof Uint8Array,isSafeInteger:e=>Number.isSafeInteger(e),array:e=>Array.isArray(e),field:(e,t)=>t.Fp.isValid(e),hash:e=>"function"==typeof e&&Number.isSafeInteger(e.outputLen)};function rL(e,t,n={}){let a=(t,n,a)=>{let r=rU[n];if("function"!=typeof r)throw Error(`Invalid validator "${n}", expected function`);let i=e[t];if((!a||void 0!==i)&&!r(i,e))throw Error(`Invalid param ${String(t)}=${i} (${typeof i}), expected ${n}`)};for(let[e,n]of Object.entries(t))a(e,n,!1);for(let[e,t]of Object.entries(n))a(e,t,!0);return e}let rK=BigInt(0),rG=BigInt(1),rz=BigInt(2),rH=BigInt(3),rJ=BigInt(4),rQ=BigInt(5),rq=BigInt(8);function rZ(e,t){let n=e%t;return n>=rK?n:t+n}function r$(e,t,n){let a=e;for(;t-- >rK;)a*=a,a%=n;return a}function rY(e,t){if(e===rK||t<=rK)throw Error(`invert: expected positive integers, got n=${e} mod=${t}`);let n=rZ(e,t),a=t,r=rK,i=rG,f=rG,b=rK;for(;n!==rK;){let e=a/n,t=a%n,s=r-f*e,o=i-b*e;a=n,n=t,r=f,i=b,f=s,b=o}if(a!==rG)throw Error("invert: does not exist");return rZ(r,t)}BigInt(9),BigInt(16);let rW=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function rX(e,t){let n=void 0!==t?t:e.toString(2).length,a=Math.ceil(n/8);return{nBitLength:n,nByteLength:a}}function r0(e){if("bigint"!=typeof e)throw Error("field order must be bigint");return Math.ceil(e.toString(2).length/8)}function r1(e){let t=r0(e);return t+Math.ceil(t/2)}class r6 extends ev{constructor(e,t){super(),this.finished=!1,this.destroyed=!1,function(e){if("function"!=typeof e||"function"!=typeof e.create)throw Error("Hash should be wrapped by utils.wrapConstructor");ea(e.outputLen),ea(e.blockLen)}(e);let n=e_(t);if(this.iHash=e.create(),"function"!=typeof this.iHash.update)throw Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let a=this.blockLen,r=new Uint8Array(a);r.set(n.length>a?e.create().update(n).digest():n);for(let e=0;e<r.length;e++)r[e]^=54;this.iHash.update(r),this.oHash=e.create();for(let e=0;e<r.length;e++)r[e]^=106;this.oHash.update(r),r.fill(0)}update(e){return ei(this),this.iHash.update(e),this}digestInto(e){ei(this),er(e,this.outputLen),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){let e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||(e=Object.create(Object.getPrototypeOf(this),{}));let{oHash:t,iHash:n,finished:a,destroyed:r,blockLen:i,outputLen:f}=this;return e.finished=a,e.destroyed=r,e.blockLen=i,e.outputLen=f,e.oHash=t._cloneInto(e.oHash),e.iHash=n._cloneInto(e.iHash),e}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}let r5=(e,t,n)=>new r6(e,t).update(n).digest();r5.create=(e,t)=>new r6(e,t);let r8=BigInt(0),r2=BigInt(1);function r3(e){return rL(e.Fp,rW.reduce((e,t)=>(e[t]="function",e),{ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"})),rL(e,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...rX(e.n,e.nBitLength),...e,...{p:e.Fp.ORDER}})}let{Ph:r9,aT:r4}
1=T,r7={Err:class extends Error{constructor(e=""){super(e)}},_parseInt(e){let{Err:t}=r7;if(e.length<2||2!==e[0])throw new t("Invalid signature integer tag");let n=e[1],a=e.subarray(2,n+2);if(!n||a.length!==n)throw new t("Invalid signature integer: wrong length");if(128&a[0])throw new t("Invalid signature integer: negative");if(0===a[0]&&!(128&a[1]))throw new t("Invalid signature integer: unnecessary leading zero");return{d:r9(a),l:e.subarray(n+2)}},toSig(e){let{Err:t}=r7,n="string"==typeof e?r4(e):e;if(!(n instanceof Uint8Array))throw Error("ui8a expected");let a=n.length;if(a<2||48!=n[0])throw new t("Invalid signature tag");if(n[1]!==a-2)throw new t("Invalid signature: incorrect length");let{d:r,l:i}=r7._parseInt(n.subarray(2)),{d:f,l:b}=r7._parseInt(i);if(b.length)throw new t("Invalid signature: left bytes after parsing");return{r,s:f}},hexFromSig(e){let t=e=>8&Number.parseInt(e[0],16)?"00"+e:e,n=e=>{let t=e.toString(16);return 1&t.length?`0${t}`:t},a=t(n(e.s)),r=t(n(e.r)),i=a.length/2,f=r.length/2,b=n(i),s=n(f);return`30${n(f+i+4)}02${s}${r}02${b}${a}`}},ie=BigInt(0),it=BigInt(1),ia=(BigInt(2),BigInt(3)),ir=(BigInt(4),BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f")),ii=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),ib=BigInt(1),is=BigInt(2),io=(e,t)=>(e+t/is)/t,ic=function(e,t,n=!1,a={}){if(e<=rK)throw Error(`Expected Field ORDER > 0, got ${e}`);let{nBitLength:r,nByteLength:i}=rX(e,t);if(i>2048)throw Error("Field lengths over 2048 bytes are not supported");let f=function(e){if(e%rJ===rH){let t=(e+rG)/rJ;return function(e,n){let a=e.pow(n,t);if(!e.eql(e.sqr(a),n))throw Error("Cannot find square root");return a}}if(e%rq===rQ){let t=(e-rQ)/rq;return function(e,n){let a=e.mul(n,rz),r=e.pow(a,t),i=e.mul(n,r),f=e.mul(e.mul(i,rz),r),b=e.mul(i,e.sub(f,e.ONE));if(!e.eql(e.sqr(b),n))throw Error("Cannot find square root");return b}}return function(e){let t,n,a,r=(e-rG)/rz;for(t=e-rG,n=0;t%rz===rK;t/=rz,n++);for(a=rz;a<e&&function(e,t,n){if(n<=rK||t<rK)throw Error("Expected power/modulo > 0");if(n===rG)return rK;let a=rG;for(;t>rK;)t&rG&&(a=a*e%n),e=e*e%n,t>>=rG;return a}(a,r,e)!==e-rG;a++);if(1===n){let t=(e+rG)/rJ;return function(e,n){let a=e.pow(n,t);if(!e.eql(e.sqr(a),n))throw Error("Cannot find square root");return a}}let i=(t+rG)/rz;return function(e,f){if(e.pow(f,r)===e.neg(e.ONE))throw Error("Cannot find square root");let b=n,s=e.pow(e.mul(e.ONE,a),t),o=e.pow(f,i),c=e.pow(f,t);for(;!e.eql(c,e.ONE);){if(e.eql(c,e.ZERO))return e.ZERO;let t=1;for(let n=e.sqr(c);t<b&&!e.eql(n,e.ONE);t++)n=e.sqr(n);let n=e.pow(s,rG<<BigInt(b-t-1));s=e.sqr(n),o=e.mul(o,n),c=e.mul(c,s),b=t}return o}}(e)}(e),b=Object.freeze({ORDER:e,BITS:r,BYTES:i,MASK:rD(r),ZERO:rK,ONE:rG,create:t=>rZ(t,e),isValid:t=>{if("bigint"!=typeof t)throw Error(`Invalid field element: expected bigint, got ${typeof t}`);return rK<=t&&t<e},is0:e=>e===rK,isOdd:e=>(e&rG)===rG,neg:t=>rZ(-t,e),eql:(e,t)=>e===t,sqr:t=>rZ(t*t,e),add:(t,n)=>rZ(t+n,e),sub:(t,n)=>rZ(t-n,e),mul:(t,n)=>rZ(t*n,e),pow:(e,t)=>(function(e,t,n){if(n<rK)throw Error("Expected power > 0");if(n===rK)return e.ONE;if(n===rG)return t;let a=e.ONE,r=t;for(;n>rK;)n&rG&&(a=e.mul(a,r)),r=e.sqr(r),n>>=rG;return a})(b,e,t),div:(t,n)=>rZ(t*rY(n,e),e),sqrN:e=>e*e,addN:(e,t)=>e+t,subN:(e,t)=>e-t,mulN:(e,t)=>e*t,inv:t=>rY(t,e),sqrt:a.sqrt||(e=>f(b,e)),invertBatch:e=>(function(e,t){let n=Array(t.length),a=t.reduce((t,a,r)=>e.is0(a)?t:(n[r]=t,e.mul(t,a)),e.ONE),r=e.inv(a);return t.reduceRight((t,a,r)=>e.is0(a)?t:(n[r]=e.mul(t,n[r]),e.mul(t,a)),r),n})(b,e),cmov:(e,t,n)=>n?t:e,toBytes:e=>n?rk(e,i):rR(e,i),fromBytes:e=>{if(e.length!==i)throw Error(`Fp.fromBytes: expected ${i}, got ${e.length}`);return n?rS(e):rx(e)}});return Object.freeze(b)}(ir,void 0,void 0,{sqrt:function(e){let t=BigInt(3),n=BigInt(6),a=BigInt(11),r=BigInt(22),i=BigInt(23),f=BigInt(44),b=BigInt(88),s=e*e*e%ir,o=s*s*e%ir,c=r$(o,t,ir)*o%ir,d=r$(c,t,ir)*o%ir,u=r$(d,is,ir)*s%ir,l=r$(u,a,ir)*u%ir,p=r$(l,r,ir)*l%ir,y=r$(p,f,ir)*p%ir,m=r$(y,b,ir)*y%ir,h=r$(m,f,ir)*p%ir,g=r$(h,t,ir)*o%ir,T=r$(g,i,ir)*l%ir,_=r$(T,n,ir)*s%ir,v=r$(_,is,ir);if(!ic.eql(ic.sqr(v),e))throw Error("Cannot find square root");return v}}),id=function(e,t){let n=t=>(function(e){let t=function(e){let t=r3(e);return rL(t,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...t})}(e),{Fp:n,n:a}=t,r=n.BYTES+1,i=2*n.BYTES+1;function f(e){return rZ(e,a)}let{ProjectivePoint:b,normPrivateKeyToScalar:s,weierstrassEquation:o,isWithinCurveOrder:c}=function(e){let t=function(e){let t=r3(e);rL(t,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});
1let{endo:n,Fp:a,a:r}=t;if(n){if(!a.eql(r,a.ZERO))throw Error("Endomorphism can only be defined for Koblitz curves that have a=0");if("object"!=typeof n||"bigint"!=typeof n.beta||"function"!=typeof n.splitScalar)throw Error("Expected endomorphism with beta: bigint and splitScalar: function")}return Object.freeze({...t})}(e),{Fp:n}=t,a=t.toBytes||((e,t,a)=>{let r=t.toAffine();return rj(Uint8Array.from([4]),n.toBytes(r.x),n.toBytes(r.y))}),r=t.fromBytes||(e=>{let t=e.subarray(1);return{x:n.fromBytes(t.subarray(0,n.BYTES)),y:n.fromBytes(t.subarray(n.BYTES,2*n.BYTES))}});function i(e){let{a,b:r}=t,i=n.sqr(e),f=n.mul(i,e);return n.add(n.add(f,n.mul(e,a)),r)}if(!n.eql(n.sqr(t.Gy),i(t.Gx)))throw Error("bad generator point: equation left != right");function f(e){return"bigint"==typeof e&&ie<e&&e<t.n}function b(e){if(!f(e))throw Error("Expected valid bigint: 0 < bigint < curve.n")}function s(e){let n,{allowedPrivateKeyLengths:a,nByteLength:r,wrapPrivateKey:i,n:f}=t;if(a&&"bigint"!=typeof e){if(e instanceof Uint8Array&&(e=rO(e)),"string"!=typeof e||!a.includes(e.length))throw Error("Invalid key");e=e.padStart(2*r,"0")}try{n="bigint"==typeof e?e:rx(rB("private key",e,r))}catch(t){throw Error(`private key must be ${r} bytes, hex or bigint, not ${typeof e}`)}return i&&(n=rZ(n,f)),b(n),n}let o=new Map;function c(e){if(!(e instanceof d))throw Error("ProjectivePoint expected")}class d{constructor(e,t,a){if(this.px=e,this.py=t,this.pz=a,null==e||!n.isValid(e))throw Error("x required");if(null==t||!n.isValid(t))throw Error("y required");if(null==a||!n.isValid(a))throw Error("z required")}static fromAffine(e){let{x:t,y:a}=e||{};if(!e||!n.isValid(t)||!n.isValid(a))throw Error("invalid affine point");if(e instanceof d)throw Error("projective point not allowed");let r=e=>n.eql(e,n.ZERO);return r(t)&&r(a)?d.ZERO:new d(t,a,n.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(e){let t=n.invertBatch(e.map(e=>e.pz));return e.map((e,n)=>e.toAffine(t[n])).map(d.fromAffine)}static fromHex(e){let t=d.fromAffine(r(rB("pointHex",e)));return t.assertValidity(),t}static fromPrivateKey(e){return d.BASE.multiply(s(e))}_setWindowSize(e){this._WINDOW_SIZE=e,o.delete(this)}assertValidity(){if(this.is0()){if(t.allowInfinityPoint&&!n.is0(this.py))return;throw Error("bad point: ZERO")}let{x:e,y:a}=this.toAffine();if(!n.isValid(e)||!n.isValid(a))throw Error("bad point: x or y not FE");let r=n.sqr(a),f=i(e);if(!n.eql(r,f))throw Error("bad point: equation left != right");if(!this.isTorsionFree())throw Error("bad point: not in prime-order subgroup")}hasEvenY(){let{y:e}=this.toAffine();if(n.isOdd)return!n.isOdd(e);throw Error("Field doesn't support isOdd")}equals(e){c(e);let{px:t,py:a,pz:r}=this,{px:i,py:f,pz:b}=e,s=n.eql(n.mul(t,b),n.mul(i,r)),o=n.eql(n.mul(a,b),n.mul(f,r));return s&&o}negate(){return new d(this.px,n.neg(this.py),this.pz)}double(){let{a:e,b:a}=t,r=n.mul(a,ia),{px:i,py:f,pz:b}=this,s=n.ZERO,o=n.ZERO,c=n.ZERO,u=n.mul(i,i),l=n.mul(f,f),p=n.mul(b,b),y=n.mul(i,f);return y=n.add(y,y),c=n.mul(i,b),c=n.add(c,c),s=n.mul(e,c),o=n.mul(r,p),o=n.add(s,o),s=n.sub(l,o),o=n.add(l,o),o=n.mul(s,o),s=n.mul(y,s),c=n.mul(r,c),p=n.mul(e,p),y=n.sub(u,p),y=n.mul(e,y),y=n.add(y,c),c=n.add(u,u),u=n.add(c,u),u=n.add(u,p),u=n.mul(u,y),o=n.add(o,u),p=n.mul(f,b),p=n.add(p,p),u=n.mul(p,y),s=n.sub(s,u),c=n.mul(p,l),c=n.add(c,c),new d(s,o,c=n.add(c,c))}add(e){c(e);let{px:a,py:r,pz:i}=this,{px:f,py:b,pz:s}=e,o=n.ZERO,u=n.ZERO,l=n.ZERO,p=t.a,y=n.mul(t.b,ia),m=n.mul(a,f),h=n.mul(r,b),g=n.mul(i,s),T=n.add(a,r),_=n.add(f,b);T=n.mul(T,_),_=n.add(m,h),T=n.sub(T,_),_=n.add(a,i);let v=n.add(f,s);return _=n.mul(_,v),v=n.add(m,g),_=n.sub(_,v),v=n.add(r,i),o=n.add(b,s),v=n.mul(v,o),o=n.add(h,g),v=n.sub(v,o),l=n.mul(p,_),o=n.mul(y,g),l=n.add(o,l),o=n.sub(h,l),l=n.add(h,l),u=n.mul(o,l),h=n.add(m,m),h=n.add(h,m),g=n.mul(p,g),_=n.mul(y,_),h=n.add(h,g),g=n.sub(m,g),g=n.mul(p,g),_=n.add(_,g),m=n.mul(h,_),u=n.add(u,m),m=n.mul(v,_),o=n.mul(T,o),o=n.sub(o,m),m=n.mul(T,h),l=n.mul(v,l),new d(o,u,l=n.add(l,m))}subtract(e){return this.add(e.negate())}is0(){return this.equals(d.ZERO)}wNAF(e){return l.wNAFCached(this,o,e,e=>{let t=n.invertBatch(e.map(e=>e.pz));return e.map((e,n)=>e.toAffine(t[n])).map(d.fromAffine)})}multiplyUnsafe(e){let a=d.ZERO;if(e===ie)return a;
1if(b(e),e===it)return this;let{endo:r}=t;if(!r)return l.unsafeLadder(this,e);let{k1neg:i,k1:f,k2neg:s,k2:o}=r.splitScalar(e),c=a,u=a,p=this;for(;f>ie||o>ie;)f&it&&(c=c.add(p)),o&it&&(u=u.add(p)),p=p.double(),f>>=it,o>>=it;return i&&(c=c.negate()),s&&(u=u.negate()),u=new d(n.mul(u.px,r.beta),u.py,u.pz),c.add(u)}multiply(e){let a,r;b(e);let{endo:i}=t;if(i){let{k1neg:t,k1:f,k2neg:b,k2:s}=i.splitScalar(e),{p:o,f:c}=this.wNAF(f),{p:u,f:p}=this.wNAF(s);o=l.constTimeNegate(t,o),u=l.constTimeNegate(b,u),u=new d(n.mul(u.px,i.beta),u.py,u.pz),a=o.add(u),r=c.add(p)}else{let{p:t,f:n}=this.wNAF(e);a=t,r=n}return d.normalizeZ([a,r])[0]}multiplyAndAddUnsafe(e,t,n){let a=d.BASE,r=(e,t)=>t!==ie&&t!==it&&e.equals(a)?e.multiply(t):e.multiplyUnsafe(t),i=r(this,t).add(r(e,n));return i.is0()?void 0:i}toAffine(e){let{px:t,py:a,pz:r}=this,i=this.is0();null==e&&(e=i?n.ONE:n.inv(r));let f=n.mul(t,e),b=n.mul(a,e),s=n.mul(r,e);if(i)return{x:n.ZERO,y:n.ZERO};if(!n.eql(s,n.ONE))throw Error("invZ was invalid");return{x:f,y:b}}isTorsionFree(){let{h:e,isTorsionFree:n}=t;if(e===it)return!0;if(n)return n(d,this);throw Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){let{h:e,clearCofactor:n}=t;return e===it?this:n?n(d,this):this.multiplyUnsafe(t.h)}toRawBytes(e=!0){return this.assertValidity(),a(d,this,e)}toHex(e=!0){return rO(this.toRawBytes(e))}}d.BASE=new d(t.Gx,t.Gy,n.ONE),d.ZERO=new d(n.ZERO,n.ONE,n.ZERO);let u=t.nBitLength,l=function(e,t){let n=(e,t)=>{let n=t.negate();return e?n:t},a=e=>({windows:Math.ceil(t/e)+1,windowSize:2**(e-1)});return{constTimeNegate:n,unsafeLadder(t,n){let a=e.ZERO,r=t;for(;n>r8;)n&r2&&(a=a.add(r)),r=r.double(),n>>=r2;return a},precomputeWindow(e,t){let{windows:n,windowSize:r}=a(t),i=[],f=e,b=f;for(let e=0;e<n;e++){b=f,i.push(b);for(let e=1;e<r;e++)b=b.add(f),i.push(b);f=b.double()}return i},wNAF(t,r,i){let{windows:f,windowSize:b}=a(t),s=e.ZERO,o=e.BASE,c=BigInt(2**t-1),d=2**t,u=BigInt(t);for(let e=0;e<f;e++){let t=e*b,a=Number(i&c);i>>=u,a>b&&(a-=d,i+=r2);let f=t+Math.abs(a)-1,l=e%2!=0,p=a<0;0===a?o=o.add(n(l,r[t])):s=s.add(n(p,r[f]))}return{p:s,f:o}},wNAFCached(e,t,n,a){let r=e._WINDOW_SIZE||1,i=t.get(e);return i||(i=this.precomputeWindow(e,r),1!==r&&t.set(e,a(i))),this.wNAF(r,i,n)}}}(d,t.endo?Math.ceil(u/2):u);return{CURVE:t,ProjectivePoint:d,normPrivateKeyToScalar:s,weierstrassEquation:i,isWithinCurveOrder:f}}({...t,toBytes(e,t,a){let r=t.toAffine(),i=n.toBytes(r.x),f=rj;return a?f(Uint8Array.from([t.hasEvenY()?2:3]),i):f(Uint8Array.from([4]),i,n.toBytes(r.y))},fromBytes(e){let t=e.length,a=e[0],f=e.subarray(1);if(t===r&&(2===a||3===a)){let e=rx(f);if(!(ie<e&&e<n.ORDER))throw Error("Point is not on curve");let t=o(e),r=n.sqrt(t);return(1&a)==1!=((r&it)===it)&&(r=n.neg(r)),{x:e,y:r}}if(t===i&&4===a)return{x:n.fromBytes(f.subarray(0,n.BYTES)),y:n.fromBytes(f.subarray(n.BYTES,2*n.BYTES))};throw Error(`Point of length ${t} was invalid. Expected ${r} compressed bytes or ${i} uncompressed bytes`)}}),d=e=>rO(rR(e,t.nByteLength)),u=(e,t,n)=>rx(e.slice(t,n));class l{constructor(e,t,n){this.r=e,this.s=t,this.recovery=n,this.assertValidity()}static fromCompact(e){let n=t.nByteLength;return new l(u(e=rB("compactSignature",e,2*n),0,n),u(e,n,2*n))}static fromDER(e){let{r:t,s:n}=r7.toSig(rB("DER",e));return new l(t,n)}assertValidity(){if(!c(this.r))throw Error("r must be 0 < r < CURVE.n");if(!c(this.s))throw Error("s must be 0 < s < CURVE.n")}addRecoveryBit(e){return new l(this.r,this.s,e)}recoverPublicKey(e){let{r,s:i,recovery:s}=this,o=m(rB("msgHash",e));if(null==s||![0,1,2,3].includes(s))throw Error("recovery id invalid");let c=2===s||3===s?r+t.n:r;if(c>=n.ORDER)throw Error("recovery id 2 or 3 invalid");let u=(1&s)==0?"02":"03",l=b.fromHex(u+d(c)),p=rY(c,a),y=f(-o*p),h=f(i*p),g=b.BASE.multiplyAndAddUnsafe(l,y,h);if(!g)throw Error("point at infinify");return g.assertValidity(),g}hasHighS(){return this.s>a>>it}normalizeS(){return this.hasHighS()?new l(this.r,f(-this.s),this.recovery):this}toDERRawBytes(){return rE(this.toDERHex())}toDERHex(){return r7.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return rE(this.toCompactHex())}toCompactHex(){return d(this.r)+d(this.s)}}function p(e){let t=e instanceof Uint8Array,n="string"==typeof e,a=(t||n)&&e.length;return t?a===r||a===i:n?a===2*r||a===2*i:e instanceof b}let y=t.bits2int||function(e){let n=rx(e),a=8*e.length-t.nBitLength;return a>0?n>>
1BigInt(a):n},m=t.bits2int_modN||function(e){return f(y(e))},h=rD(t.nBitLength);function g(e){if("bigint"!=typeof e)throw Error("bigint expected");if(!(ie<=e&&e<h))throw Error(`bigint expected < 2^${t.nBitLength}`);return rR(e,t.nByteLength)}let T={lowS:t.lowS,prehash:!1},_={lowS:t.lowS,prehash:!1};return b.BASE._setWindowSize(8),{CURVE:t,getPublicKey:function(e,t=!0){return b.fromPrivateKey(e).toRawBytes(t)},getSharedSecret:function(e,t,n=!0){if(p(e))throw Error("first arg must be private key");if(!p(t))throw Error("second arg must be public key");return b.fromHex(t).multiply(s(e)).toRawBytes(n)},sign:function(e,r,i=T){let{seed:o,k2sig:d}=function(e,r,i=T){if(["recovered","canonical"].some(e=>e in i))throw Error("sign() legacy options not supported");let{hash:o,randomBytes:d}=t,{lowS:u,prehash:p,extraEntropy:h}=i;null==u&&(u=!0),e=rB("msgHash",e),p&&(e=rB("prehashed msgHash",o(e)));let _=m(e),v=s(r),w=[g(v),g(_)];if(null!=h){let e=!0===h?d(n.BYTES):h;w.push(rB("extraEntropy",e))}return{seed:rj(...w),k2sig:function(e){var t;let n=y(e);if(!c(n))return;let r=rY(n,a),i=b.BASE.multiply(n).toAffine(),s=f(i.x);if(s===ie)return;let o=f(r*f(_+s*v));if(o===ie)return;let d=2*(i.x!==s)|Number(i.y&it),p=o;return u&&o>a>>it&&(p=(t=o)>a>>it?f(-t):t,d^=1),new l(s,p,d)}}}(e,r,i);return rV(t.hash.outputLen,t.nByteLength,t.hmac)(o,d)},verify:function(e,n,r,i=_){let s,o;if(n=rB("msgHash",n),r=rB("publicKey",r),"strict"in i)throw Error("options.strict was renamed to lowS");let{lowS:c,prehash:d}=i;try{if("string"==typeof e||e instanceof Uint8Array)try{o=l.fromDER(e)}catch(t){if(!(t instanceof r7.Err))throw t;o=l.fromCompact(e)}else if("object"==typeof e&&"bigint"==typeof e.r&&"bigint"==typeof e.s){let{r:t,s:n}=e;o=new l(t,n)}else throw Error("PARSE");s=b.fromHex(r)}catch(e){if("PARSE"===e.message)throw Error("signature must be Signature instance, Uint8Array or hex string");return!1}if(c&&o.hasHighS())return!1;d&&(n=t.hash(n));let{r:u,s:p}=o,y=m(n),h=rY(p,a),g=f(y*h),T=f(u*h),v=b.BASE.multiplyAndAddUnsafe(s,g,T)?.toAffine();return!!v&&f(v.x)===u},ProjectivePoint:b,Signature:l,utils:{isValidPrivateKey(e){try{return s(e),!0}catch(e){return!1}},normPrivateKeyToScalar:s,randomPrivateKey:()=>{let e=r1(t.n);return function(e,t,n=!1){let a=e.length,r=r0(t),i=r1(t);if(a<16||a<i||a>1024)throw Error(`expected ${i}-1024 bytes of input, got ${a}`);let f=rZ(n?rx(e):rS(e),t-rG)+rG;return n?rk(f,r):rR(f,r)}(t.randomBytes(e),t.n)},precompute:(e=8,t=b.BASE)=>(t._setWindowSize(e),t.multiply(BigInt(3)),t)}}})({...e,hash:t,hmac:(e,...n)=>r5(t,e,function(...e){let t=new Uint8Array(e.reduce((e,t)=>e+t.length,0)),n=0;return e.forEach(e=>{if(!em(e))throw Error("Uint8Array expected");t.set(e,n),n+=e.length}),t}(...n)),randomBytes:eP});return Object.freeze({...n(t),create:n})}({a:BigInt(0),b:BigInt(7),Fp:ic,n:ii,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:e=>{let t=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-ib*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),a=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),r=BigInt("0x100000000000000000000000000000000"),i=io(t*e,ii),f=io(-n*e,ii),b=rZ(e-i*t-f*a,ii),s=rZ(-i*n-f*t,ii),o=b>r,c=s>r;if(o&&(b=ii-b),c&&(s=ii-s),b>r||s>r)throw Error("splitScalar: Endomorphism failed, k="+e);return{k1neg:o,k1:b,k2neg:c,k2:s}}}},rf),iu=BigInt(0),il={},ip=e=>e.toRawBytes(!0).slice(1),iy=e=>mod(e,ii),im=id.ProjectivePoint;class ih{#er;constructor(e){(0,_.MR)(32===E(e),"invalid private key","privateKey","[REDACTED]"),this.#er=O(e)}get privateKey(){return this.#er}get publicKey(){return ih.computePublicKey(this.#er)}get compressedPublicKey(){return ih.computePublicKey(this.#er,!0)}sign(e){(0,_.MR)(32===E(e),"invalid digest length","digest",e);let t=id.sign(P(e),P(this.#er),{lowS:!0});return nO.from({r:K(t.r,32),s:K(t.s,32),v:t.recovery?28:27})}computeSharedSecret(e){let t=ih.computePublicKey(e);return O(id.getSharedSecret(P(this.#er),w(t),!1))}static computePublicKey(e,t){let n=w(e,"key");if(32===n.length)return O(id.getPublicKey(n,!!t));if(64===n.length){let e=new Uint8Array(65);e[0]=4,e.set(n,1),n=e}return O(id.ProjectivePoint.fromHex(n).toRawBytes(t))}static recoverPublicKey(e,t){(0,_.MR)(32===E(e),"invalid digest length","digest",e);let n=nO.from(t),a=id.Signature.fromCompact(P(C([n.r,n.s]))),r=(a=a.addRecoveryBit(n.yParity)).recoverPublicKey(P(e));
1return(0,_.MR)(null!=r,"invalid signature for digest","signature",t),"0x"+r.toHex(!1)}static addPoints(e,t,n){let a=id.ProjectivePoint.fromHex(ih.computePublicKey(e).substring(2)),r=id.ProjectivePoint.fromHex(ih.computePublicKey(t).substring(2));return"0x"+a.add(r).toHex(!!n)}}function ig(e,t,n){let a=0;for(let r=0;r<n;r++)a=256*a+e[t+r];return a}function iT(e,t,n,a){let r=[];for(;n<t+1+a;){let i=i_(e,n);r.push(i.result),n+=i.consumed,(0,_.vA)(n<=t+1+a,"child data too short","BUFFER_OVERRUN",{buffer:e,length:a,offset:t})}return{consumed:1+a,result:r}}function i_(e,t){(0,_.vA)(0!==e.length,"data too short","BUFFER_OVERRUN",{buffer:e,length:0,offset:1});let n=t=>{(0,_.vA)(t<=e.length,"data short segment too short","BUFFER_OVERRUN",{buffer:e,length:e.length,offset:t})};if(e[t]>=248){let a=e[t]-247;n(t+1+a);let r=ig(e,t+1,a);return n(t+1+a+r),iT(e,t,t+1+a,a+r)}if(e[t]>=192){let a=e[t]-192;return n(t+1+a),iT(e,t,t+1,a)}if(e[t]>=184){let a=e[t]-183;n(t+1+a);let r=ig(e,t+1,a);n(t+1+a+r);let i=O(e.slice(t+1+a,t+1+a+r));return{consumed:1+a+r,result:i}}if(e[t]>=128){let a=e[t]-128;n(t+1+a);let r=O(e.slice(t+1,t+1+a));return{consumed:1+a,result:r}}return{consumed:1,result:function(e){let t=e.toString(16);for(;t.length<2;)t="0"+t;return"0x"+t}(e[t])}}function iv(e){let t=w(e,"data"),n=i_(t,0);return(0,_.MR)(n.consumed===t.length,"unexpected junk after rlp payload","data",e),n.result}function iw(e){let t=[];for(;e;)t.unshift(255&e),e>>=8;return t}let iP="0123456789abcdef";function iA(e){let t="0x";for(let n of function e(t){if(Array.isArray(t)){let n=[];if(t.forEach(function(t){n=n.concat(e(t))}),n.length<=55)return n.unshift(192+n.length),n;let a=iw(n.length);return a.unshift(247+a.length),a.concat(n)}let n=Array.prototype.slice.call(w(t,"object"));if(1===n.length&&n[0]<=127)return n;if(n.length<=55)return n.unshift(128+n.length),n;let a=iw(n.length);return a.unshift(183+a.length),a.concat(n)}(e))t+=iP[n>>4],t+=iP[15&n];return t}let iM=BigInt(0),iI=BigInt(2),iO=BigInt(27),iC=BigInt(28),iE=BigInt(35),ix=BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");function iS(e,t){let n=e.toString(16);for(;n.length<2;)n="0"+n;return"0x"+(n+=rv(t).substring(4))}function iR(e){return"0x"===e?null:eq(e)}function ik(e,t){try{return ng(e)}catch(n){(0,_.MR)(!1,n.message,t,e)}}function iB(e,t){return"0x"===e?0:L(e,t)}function ij(e,t){if("0x"===e)return iM;let n=F(e,t);return(0,_.MR)(n<=ix,"value exceeds uint size",t,n),n}function iD(e,t){let n=F(e,"value"),a=G(n);return(0,_.MR)(a.length<=32,"value too large",`tx.${t}`,n),a}function iF(e){return ng(e).map(e=>[e.address,e.storageKeys])}function iN(e,t){let n;try{if(n=iB(t[0],"yParity"),0!==n&&1!==n)throw Error("bad yParity")}catch(e){(0,_.MR)(!1,"invalid yParity","yParity",t[0])}let a=R(t[1],32),r=R(t[2],32);e.signature=nO.from({r:a,s:r,yParity:n})}class iV{#ei;#ef;#a;#eb;#es;#eo;#ec;#ed;#eu;#el;#ep;#ey;#em;#eh;#eg;#eT;#e_;get type(){return this.#ei}set type(e){switch(e){case null:this.#ei=null;break;case 0:case"legacy":this.#ei=0;break;case 1:case"berlin":case"eip-2930":this.#ei=1;break;case 2:case"london":case"eip-1559":this.#ei=2;break;case 3:case"cancun":case"eip-4844":this.#ei=3;break;case 4:case"pectra":case"eip-7702":this.#ei=4;break;default:(0,_.MR)(!1,"unsupported transaction type","type",e)}}get typeName(){switch(this.type){case 0:return"legacy";case 1:return"eip-2930";case 2:return"eip-1559";case 3:return"eip-4844";case 4:return"eip-7702"}return null}get to(){let e=this.#ef;return null==e&&3===this.type?nG:e}set to(e){this.#ef=null==e?null:eq(e)}get nonce(){return this.#eb}set nonce(e){this.#eb=L(e,"value")}get gasLimit(){return this.#es}set gasLimit(e){this.#es=F(e)}get gasPrice(){let e=this.#eo;return null==e&&(0===this.type||1===this.type)?iM:e}set gasPrice(e){this.#eo=null==e?null:F(e,"gasPrice")}get maxPriorityFeePerGas(){let e=this.#ec;return null==e?2===this.type||3===this.type?iM:null:e}set maxPriorityFeePerGas(e){this.#ec=null==e?null:F(e,"maxPriorityFeePerGas")}get maxFeePerGas(){let e=this.#ed;return null==e?2===this.type||3===this.type?iM:null:e}set maxFeePerGas(e){this.#ed=null==e?null:F(e,"maxFeePerGas")}get data(){return this.#a}set data(e){this.#a=O(e)}get value(){return this.#eu}set value(e){this.#eu=F(e,"value")}get chainId(){return this.#el}set chainId(e){this.#el=F(e)}get signature(){return this.#ep||null}set signature(e){this.#ep=null==e?null:nO.from(e)}get accessList(){let e=this.#ey||null;return null==e?1===this.type||2===this.type||3===this.type?[]:null:e}set accessList(e){this.#ey=null==e?null:ng(e)}get authorizationList(){let e=this.#e_||null;return null==e&&4===this.type?[]:e}set authorizationList(e){this.#e_=null==e?null:e.map(e=>nC(e))}get maxFeePerBlobGas(){let e=this.#em;return null==e&&3===this.type?iM:e}set maxFeePerBlobGas(e){this.#em=null==e?null:F(e,"maxFeePerBlobGas")}get blobVersionedHashes(){let e=this.#eh;return null==e&&3===this.type?[]:e}set blobVersionedHashes(e){if(null!=e){(0,_.MR)(Array.isArray(e),"blobVersionedHashes must be an Array","value",e),e=e.slice();for(let t=0;t<e.length;t++)(0,_.MR)(A(e[t],32),"invalid blobVersionedHash",`value[${t}]`,e[t])}this.#eh=e}get blobs(){return null==this.#eT?null:this.#eT.map(e=>Object.assign({},e))}set blobs(e){if(null==e){this.#eT=null;return}let t=[],n=[];for(let a=0;a<e.length;a++){let r=e[a];if(M(r)){(0,_.vA)(this.#eg,"adding a raw blob requires a KZG library","UNSUPPORTED_OPERATION",{operation:"set blobs()"});let e=w(r);if((0,_.MR)(e.length<=131072,"blob is too large",`blobs[${a}]`,r),131072!==e.length){let t=new Uint8Array(131072);t.set(e),e=t}let i=this.#eg.blobToKzgCommitment(e),f=O(this.#eg.computeBlobKzgProof(e,i));t.push({data:O(e),commitment:O(i),proof:f}),n.push(iS(1,i))}else{let e=O(r.commitment);t.push({data:O(r.data),commitment:e,proof:O(r.proof)}),n.push(iS(1,e))}}this.#eT=t,this.#eh=n}get kzg(){return this.#eg}set kzg(e){if(null==e)this.#eg=null;else this.#eg={blobToKzgCommitment:t=>{if("computeBlobProof"in e){if("blobToKzgCommitment"in e&&"function"==typeof e.blobToKzgCommitment)return w(e.blobToKzgCommitment(O(t)))}else if("blobToKzgCommitment"in e&&"function"==typeof e.blobToKzgCommitment)return w(e.blobToKzgCommitment(t));if("blobToKZGCommitment"in e&&"function"==typeof e.blobToKZGCommitment)return w(e.blobToKZGCommitment(O(t)));(0,_.MR)(!1,"unsupported KZG library","kzg",e)},computeBlobKzgProof:(t,n)=>"computeBlobProof"in e&&"function"==typeof e.computeBlobProof?w(e.computeBlobProof(O(t),O(n))):"computeBlobKzgProof"in e&&"function"==typeof e.computeBlobKzgProof?e.computeBlobKzgProof(t,n):"c
1omputeBlobKZGProof"in e&&"function"==typeof e.computeBlobKZGProof?w(e.computeBlobKZGProof(O(t),O(n))):void(0,_.MR)(!1,"unsupported KZG library","kzg",e)}}constructor(){this.#ei=null,this.#ef=null,this.#eb=0,this.#es=iM,this.#eo=null,this.#ec=null,this.#ed=null,this.#a="0x",this.#eu=iM,this.#el=iM,this.#ep=null,this.#ey=null,this.#em=null,this.#eh=null,this.#eg=null,this.#eT=null,this.#e_=null}get hash(){return null==this.signature?null:eK(this.#ev(!0,!1))}get unsignedHash(){return eK(this.unsignedSerialized)}get from(){var e,t,n;let a;return null==this.signature?null:(e=this.unsignedHash,t=this.signature,eq(eK("0x"+("string"==typeof(n=ih.recoverPublicKey(e,t))?ih.computePublicKey(n,!1):n.publicKey).substring(4)).substring(26)))}get fromPublicKey(){return null==this.signature?null:ih.recoverPublicKey(this.unsignedHash,this.signature)}isSigned(){return null!=this.signature}#ev(e,t){(0,_.vA)(!e||null!=this.signature,"cannot serialize unsigned transaction; maybe you meant .unsignedSerialized","UNSUPPORTED_OPERATION",{operation:".serialized"});let n=e?this.signature:null;switch(this.inferType()){case 0:return function(e,t){let n=[iD(e.nonce,"nonce"),iD(e.gasPrice||0,"gasPrice"),iD(e.gasLimit,"gasLimit"),e.to||"0x",iD(e.value,"value"),e.data],a=iM;if(e.chainId!=iM)a=F(e.chainId,"tx.chainId"),(0,_.MR)(!t||null==t.networkV||t.legacyChainId===a,"tx.chainId/sig.v mismatch","sig",t);else if(e.signature){let t=e.signature.legacyChainId;null!=t&&(a=t)}if(!t)return a!==iM&&(n.push(G(a)),n.push("0x"),n.push("0x")),iA(n);let r=BigInt(27+t.yParity);return a!==iM?r=nO.getChainIdV(a,t.v):BigInt(t.v)!==r&&(0,_.MR)(!1,"tx.chainId/sig.v mismatch","sig",t),n.push(G(r)),n.push(G(t.r)),n.push(G(t.s)),iA(n)}(this,n);case 1:let a=[iD(this.chainId,"chainId"),iD(this.nonce,"nonce"),iD(this.gasPrice||0,"gasPrice"),iD(this.gasLimit,"gasLimit"),this.to||"0x",iD(this.value,"value"),this.data,iF(this.accessList||[])];return n&&(a.push(iD(n.yParity,"recoveryParam")),a.push(G(n.r)),a.push(G(n.s))),C(["0x01",iA(a)]);case 2:let r=[iD(this.chainId,"chainId"),iD(this.nonce,"nonce"),iD(this.maxPriorityFeePerGas||0,"maxPriorityFeePerGas"),iD(this.maxFeePerGas||0,"maxFeePerGas"),iD(this.gasLimit,"gasLimit"),this.to||"0x",iD(this.value,"value"),this.data,iF(this.accessList||[])];return n&&(r.push(iD(n.yParity,"yParity")),r.push(G(n.r)),r.push(G(n.s))),C(["0x02",iA(r)]);case 3:return function(e,t,n){let a=[iD(e.chainId,"chainId"),iD(e.nonce,"nonce"),iD(e.maxPriorityFeePerGas||0,"maxPriorityFeePerGas"),iD(e.maxFeePerGas||0,"maxFeePerGas"),iD(e.gasLimit,"gasLimit"),e.to||nG,iD(e.value,"value"),e.data,iF(e.accessList||[]),iD(e.maxFeePerBlobGas||0,"maxFeePerBlobGas"),function(e,t){(0,_.MR)(Array.isArray(e),`invalid ${t}`,"value",e);for(let t=0;t<e.length;t++)(0,_.MR)(A(e[t],32),"invalid ${ param } hash",`value[${t}]`,e[t]);return e}(e.blobVersionedHashes||[],"blobVersionedHashes")];return t&&(a.push(iD(t.yParity,"yParity")),a.push(G(t.r)),a.push(G(t.s)),n)?C(["0x03",iA([a,n.map(e=>e.data),n.map(e=>e.commitment),n.map(e=>e.proof)])]):C(["0x03",iA(a)])}(this,n,t?this.blobs:null);case 4:let i=[iD(this.chainId,"chainId"),iD(this.nonce,"nonce"),iD(this.maxPriorityFeePerGas||0,"maxPriorityFeePerGas"),iD(this.maxFeePerGas||0,"maxFeePerGas"),iD(this.gasLimit,"gasLimit"),this.to||"0x",iD(this.value,"value"),this.data,iF(this.accessList||[]),(this.authorizationList||[]).map(e=>[iD(e.chainId,"chainId"),e.address,iD(e.nonce,"nonce"),iD(e.signature.yParity,"yParity"),G(e.signature.r),G(e.signature.s)])];return n&&(i.push(iD(n.yParity,"yParity")),i.push(G(n.r)),i.push(G(n.s))),C(["0x04",iA(i)])}(0,_.vA)(!1,"unsupported transaction type","UNSUPPORTED_OPERATION",{operation:".serialized"})}get serialized(){return this.#ev(!0,!0)}get unsignedSerialized(){return this.#ev(!1,!1)}inferType(){let e=this.inferTypes();return e.indexOf(2)>=0?2:e.pop()}inferTypes(){let e=null!=this.gasPrice,t=null!=this.maxFeePerGas||null!=this.maxPriorityFeePerGas,n=null!=this.accessList,a=null!=this.#em||this.#eh;null!=this.maxFeePerGas&&null!=this.maxPriorityFeePerGas&&(0,_.vA)(this.maxFeePerGas>=this.maxPriorityFeePerGas,"priorityFee cannot be more than maxFee","BAD_DATA",{value:this}),(0,_.vA)(!t||0!==this.type&&1!==this.type,"transaction type cannot have maxFeePerGas or maxPriorityFeePerGas","BAD_DATA",{value:this}),(0,_.vA)(0!==this.type||!n,"legacy transaction cannot have accessList","BAD_DATA",{value:this});let r=[];return null!=this.type?r.push(this.type):this.authorizationList&&this.authorizationList.length?r.push(4):t?r.push(2):e?(r.push(1),n||r.push(0)):n?(r.push(1),r.push(2)):(a&&this.to||(r.push(0),r.push(1),r.push(2)),r.push(3)),r.sort(),r}isLegacy(){return 0===this.type}isBerlin(){return 1===this.type}isLondon(){return 2===this.type}isCancun(){return 3===this.type}clone(){return iV.from(this)}toJSON(){let e=e=>null==e?null:e.toString();
1return{type:this.type,to:this.to,data:this.data,nonce:this.nonce,gasLimit:e(this.gasLimit),gasPrice:e(this.gasPrice),maxPriorityFeePerGas:e(this.maxPriorityFeePerGas),maxFeePerGas:e(this.maxFeePerGas),value:e(this.value),chainId:e(this.chainId),sig:this.signature?this.signature.toJSON():null,accessList:this.accessList}}static from(e){if(null==e)return new iV;if("string"==typeof e){let t=w(e);if(t[0]>=127)return iV.from(function(e){let t=iv(e);(0,_.MR)(Array.isArray(t)&&(9===t.length||6===t.length),"invalid field count for legacy transaction","data",e);let n={type:0,nonce:iB(t[0],"nonce"),gasPrice:ij(t[1],"gasPrice"),gasLimit:ij(t[2],"gasLimit"),to:iR(t[3]),value:ij(t[4],"value"),data:O(t[5]),chainId:iM};if(6===t.length)return n;let a=ij(t[6],"v"),r=ij(t[7],"r"),i=ij(t[8],"s");if(r===iM&&i===iM)n.chainId=a;else{let e=(a-iE)/iI;e<iM&&(e=iM),n.chainId=e,(0,_.MR)(e!==iM||a===iO||a===iC,"non-canonical legacy v","v",t[6]),n.signature=nO.from({r:R(t[7],32),s:R(t[8],32),v:a})}return n}(t));switch(t[0]){case 1:return iV.from(function(e){let t=iv(w(e).slice(1));(0,_.MR)(Array.isArray(t)&&(8===t.length||11===t.length),"invalid field count for transaction type: 1","data",O(e));let n={type:1,chainId:ij(t[0],"chainId"),nonce:iB(t[1],"nonce"),gasPrice:ij(t[2],"gasPrice"),gasLimit:ij(t[3],"gasLimit"),to:iR(t[4]),value:ij(t[5],"value"),data:O(t[6]),accessList:ik(t[7],"accessList")};return 8===t.length||iN(n,t.slice(8)),n}(t));case 2:return iV.from(function(e){let t=iv(w(e).slice(1));(0,_.MR)(Array.isArray(t)&&(9===t.length||12===t.length),"invalid field count for transaction type: 2","data",O(e));let n={type:2,chainId:ij(t[0],"chainId"),nonce:iB(t[1],"nonce"),maxPriorityFeePerGas:ij(t[2],"maxPriorityFeePerGas"),maxFeePerGas:ij(t[3],"maxFeePerGas"),gasPrice:null,gasLimit:ij(t[4],"gasLimit"),to:iR(t[5]),value:ij(t[6],"value"),data:O(t[7]),accessList:ik(t[8],"accessList")};return 9===t.length||iN(n,t.slice(9)),n}(t));case 3:return iV.from(function(e){let t=iv(w(e).slice(1)),n="3",a=null;if(4===t.length&&Array.isArray(t[0])){n="3 (network format)";let e=t[1],r=t[2],i=t[3];(0,_.MR)(Array.isArray(e),"invalid network format: blobs not an array","fields[1]",e),(0,_.MR)(Array.isArray(r),"invalid network format: commitments not an array","fields[2]",r),(0,_.MR)(Array.isArray(i),"invalid network format: proofs not an array","fields[3]",i),(0,_.MR)(e.length===r.length,"invalid network format: blobs/commitments length mismatch","fields",t),(0,_.MR)(e.length===i.length,"invalid network format: blobs/proofs length mismatch","fields",t),a=[];for(let n=0;n<t[1].length;n++)a.push({data:e[n],commitment:r[n],proof:i[n]});t=t[0]}(0,_.MR)(Array.isArray(t)&&(11===t.length||14===t.length),`invalid field count for transaction type: ${n}`,"data",O(e));let r={type:3,chainId:ij(t[0],"chainId"),nonce:iB(t[1],"nonce"),maxPriorityFeePerGas:ij(t[2],"maxPriorityFeePerGas"),maxFeePerGas:ij(t[3],"maxFeePerGas"),gasPrice:null,gasLimit:ij(t[4],"gasLimit"),to:iR(t[5]),value:ij(t[6],"value"),data:O(t[7]),accessList:ik(t[8],"accessList"),maxFeePerBlobGas:ij(t[9],"maxFeePerBlobGas"),blobVersionedHashes:t[10]};a&&(r.blobs=a),(0,_.MR)(null!=r.to,`invalid address for transaction type: ${n}`,"data",e),(0,_.MR)(Array.isArray(r.blobVersionedHashes),"invalid blobVersionedHashes: must be an array","data",e);for(let t=0;t<r.blobVersionedHashes.length;t++)(0,_.MR)(A(r.blobVersionedHashes[t],32),`invalid blobVersionedHash at index ${t}: must be length 32`,"data",e);return 11===t.length||iN(r,t.slice(11)),r}(t));case 4:return iV.from(function(e){let t=iv(w(e).slice(1));(0,_.MR)(Array.isArray(t)&&(10===t.length||13===t.length),"invalid field count for transaction type: 4","data",O(e));let n={type:4,chainId:ij(t[0],"chainId"),nonce:iB(t[1],"nonce"),maxPriorityFeePerGas:ij(t[2],"maxPriorityFeePerGas"),maxFeePerGas:ij(t[3],"maxFeePerGas"),gasPrice:null,gasLimit:ij(t[4],"gasLimit"),to:iR(t[5]),value:ij(t[6],"value"),data:O(t[7]),accessList:ik(t[8],"accessList"),authorizationList:function(e,t){try{if(!Array.isArray(e))throw Error("authorizationList: invalid array");let t=[];for(let n=0;n<e.length;n++){let a=e[n];if(!Array.isArray(a))throw Error(`authorization[${n}
1]: invalid array`);if(6!==a.length)throw Error(`authorization[${n}]: wrong length`);if(!a[1])throw Error(`authorization[${n}]: null address`);t.push({address:iR(a[1]),nonce:ij(a[2],"nonce"),chainId:ij(a[0],"chainId"),signature:nO.from({yParity:iB(a[3],"yParity"),r:R(a[4],32),s:R(a[5],32)})})}return t}catch(n){(0,_.MR)(!1,n.message,t,e)}}(t[9],"authorizationList")};return 10===t.length||iN(n,t.slice(10)),n}(t))}(0,_.vA)(!1,"unsupported transaction type","UNSUPPORTED_OPERATION",{operation:"from"})}let t=new iV;return null!=e.type&&(t.type=e.type),null!=e.to&&(t.to=e.to),null!=e.nonce&&(t.nonce=e.nonce),null!=e.gasLimit&&(t.gasLimit=e.gasLimit),null!=e.gasPrice&&(t.gasPrice=e.gasPrice),null!=e.maxPriorityFeePerGas&&(t.maxPriorityFeePerGas=e.maxPriorityFeePerGas),null!=e.maxFeePerGas&&(t.maxFeePerGas=e.maxFeePerGas),null!=e.maxFeePerBlobGas&&(t.maxFeePerBlobGas=e.maxFeePerBlobGas),null!=e.data&&(t.data=e.data),null!=e.value&&(t.value=e.value),null!=e.chainId&&(t.chainId=e.chainId),null!=e.signature&&(t.signature=nO.from(e.signature)),null!=e.accessList&&(t.accessList=e.accessList),null!=e.authorizationList&&(t.authorizationList=e.authorizationList),null!=e.blobVersionedHashes&&(t.blobVersionedHashes=e.blobVersionedHashes),null!=e.kzg&&(t.kzg=e.kzg),null!=e.blobs&&(t.blobs=e.blobs),null!=e.hash&&((0,_.MR)(t.isSigned(),"unsigned transaction cannot define '.hash'","tx",e),(0,_.MR)(t.hash===e.hash,"hash mismatch","tx",e)),null!=e.from&&((0,_.MR)(t.isSigned(),"unsigned transaction cannot define '.from'","tx",e),(0,_.MR)(t.from.toLowerCase()===(e.from||"").toLowerCase(),"from mismatch","tx",e)),t}}let iU="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";BigInt(0);let iL=BigInt(58);function iK(e){return e.match(/^ipfs:\/\/ipfs\//i)?e=e.substring(12):e.match(/^ipfs:\/\//i)?e=e.substring(7):(0,_.MR)(!1,"unsupported IPFS format","link",e),`https://gateway.ipfs.io/ipfs/${e}`}class iG{name;constructor(e){(0,H.n)(this,{name:e})}connect(e){return this}supportsCoinType(e){return!1}async encodeAddress(e,t){throw Error("unsupported coin")}async decodeAddress(e,t){throw Error("unsupported coin")}}let iz=RegExp("^(ipfs)://(.*)$","i"),iH=[RegExp("^(https)://(.*)$","i"),RegExp("^(data):(.*)$","i"),iz,RegExp("^eip155:[0-9]+/(erc[0-9]+):(.*)$","i")];class iJ{provider;address;name;#ew;#eP;constructor(e,t,n){(0,H.n)(this,{provider:e,address:t,name:n}),this.#ew=null,this.#eP=new aC(t,["function supportsInterface(bytes4) view returns (bool)","function resolve(bytes, bytes) view returns (bytes)","function addr(bytes32) view returns (address)","function addr(bytes32, uint) view returns (bytes)","function text(bytes32, string) view returns (string)","function contenthash(bytes32) view returns (bytes)"],e)}async supportsWildcard(){return null==this.#ew&&(this.#ew=(async()=>{try{return await this.#eP.supportsInterface("0x9061b923")}catch(e){if((0,_.bJ)(e,"CALL_EXCEPTION"))return!1;throw this.#ew=null,e}})()),await this.#ew}async #eA(e,t){var n,a;t=(t||[]).slice();let r=this.#eP.interface;t.unshift(a4(this.name));let i=null;await this.supportsWildcard()&&(i=r.getFunction(e),(0,_.vA)(i,"missing fragment","UNKNOWN_ERROR",{info:{funcName:e}}),t=[(n=this.name,a=255,(0,_.MR)(true,"DNS encoded label cannot exceed 255","length",a),O(C(a9(n).map(e=>{(0,_.MR)(e.length<=a,`label ${JSON.stringify(n)} exceeds ${a} bytes`,"name",n);let t=new Uint8Array(e.length+1);return t.set(e,1),t[0]=t.length-1,t})))+"00"),r.encodeFunctionData(i,t)],e="resolve(bytes,bytes)"),t.push({enableCcipRead:!0});try{let n=await this.#eP[e](...t);if(i)return r.decodeFunctionResult(i,n)[0];return n}catch(e){if(!(0,_.bJ)(e,"CALL_EXCEPTION"))throw e}return null}async getAddress(e){if(null==e&&(e=60),60===e)try{let e=await this.#eA("addr(bytes32)");if(null==e||e===nG)return null;return e}catch(e){if((0,_.bJ)(e,"CALL_EXCEPTION"))return null;throw e}if(e>=0&&e<0x80000000){let t=e+0x80000000,n=await this.#eA("addr(bytes32,uint)",[t]);if(A(n,20))return eq(n)}let t=null;for(let n of this.provider.plugins)if(n instanceof iG&&n.supportsCoinType(e)){t=n;break}if(null==t)return null;let n=await this.#eA("addr(bytes32,uint)",[e]);if(null==n||"0x"===n)return null;let a=await t.decodeAddress(e,n);if(null!=a)return a;(0,_.vA)(!1,"invalid coin data","UNSUPPORTED_OPERATION",{operation:`getAddress(${e})`,info:{coinType:e,data:n}})}async getText(e){let t=await this.#eA("text(bytes32,string)",[e]);return null==t||"0x"===t?null:t}async getContentHash(){let e=await this.#eA("contenthash(bytes32)");if(null==e||"0x"===e)return null;let t=e.match(/^0x(e3010170|e5010172)(([0-9a-f][0-9a-f])([0-9a-f][0-9a-f])([0-9a-f]*))$/);if(t){let e="e3010170"===t[1]?"ipfs":"ipns",n=parseInt(t[4],16);if(t[5].length===2*n)return`${e}://${function(e){let t=w(e),n=U(t),a="";for(;n;)a=iU[Number(n%iL)]+a,n/=iL;for(let e=0;e<t.length&&!t[e];e++)a=iU[0]+a;return a}("0x"+t[2])}`}let n=e.match(/^0xe40101fa011b20([0-9a-f]*)$/);if(n&&64===n[1].length)return`bzz://${n[1]}`;(0,_.vA)(!1,"invalid or unsupported content hash data","UNSUPPORTED_OPERATION",{operation:"getContentHash()",info:{data:e}})}async getAvatar(){return(await this._getAvatar()).url}async _getAvatar(){let e=[{type:"name",value:this.name}];try{let t=await this.getText("avatar");if(null==t)return e.push({type:"!avatar",value:""}),{url:null,linkage:e};e.push({type:"avatar",value:t});for(let n=0;n<iH.length;n++){let a=t.match(iH[n]);if(null==a)continue;let r=a[1].toLowerCase();switch(r){case"https":case"data":return e.push({type:"url",value:t}),{linkage:e,url:t};case"ipfs":{let n=iK(t);return e.push({type:"ipfs",value:t}),e.push({type:"url",value:n}),{linkage:e,url:n}}case"erc721":case"erc1155":{let n="erc721"===r?"tokenURI(uint256)":"uri(uint256)";e.push({type:r,value:t});let i=await this.getAddress();if(null==i)return e.push({type:"!owner",value:""}),{url:null,linkage:e};let f=(a[2]||"").split("/");if(2!==f.length)return e.push({type:`!${r}caip`,value:a[2]||""}),{url:null,linkage:e};let b=f[1],s=new aC(f[0],["function tokenURI(uint) view returns (string)","function ownerOf(uint) view returns (address)","function uri(uint) view returns (string)","function balanceOf(address, uint256) view returns (uint)"],this.provider);if("erc721"===r){let t=await s.ownerOf(b);if(i!==t)return e.push({type:"!owner",value:t}),{url:null,linkage:e};e.push({type:"owner",value:t})}else if("erc1155"===r){let t=await s.balanceOf(i,b);
1if(!t)return e.push({type:"!balance",value:"0"}),{url:null,linkage:e};e.push({type:"balance",value:t.toString()})}let o=await s[n](b);if(null==o||"0x"===o)return e.push({type:"!metadata-url",value:""}),{url:null,linkage:e};e.push({type:"metadata-url-base",value:o}),"erc1155"===r&&(o=o.replace("{id}",K(b,32).substring(2)),e.push({type:"metadata-url-expanded",value:o})),o.match(/^ipfs:/i)&&(o=iK(o)),e.push({type:"metadata-url",value:o});let c={},d=await new nU(o).send();d.assertOk();try{c=d.bodyJson}catch(t){try{e.push({type:"!metadata",value:d.bodyText})}catch(n){let t=d.body;t&&e.push({type:"!metadata",value:O(t)})}return{url:null,linkage:e}}if(!c)return e.push({type:"!metadata",value:""}),{url:null,linkage:e};e.push({type:"metadata",value:JSON.stringify(c)});let u=c.image;if("string"!=typeof u)return e.push({type:"!imageUrl",value:""}),{url:null,linkage:e};if(u.match(/^(https:\/\/|data:)/i));else{let t=u.match(iz);if(null==t)return e.push({type:"!imageUrl-ipfs",value:u}),{url:null,linkage:e};e.push({type:"imageUrl-ipfs",value:u}),u=iK(u)}return e.push({type:"url",value:u}),{linkage:e,url:u}}}}}catch(e){}return{linkage:e,url:null}}static async getEnsAddress(e){let t=await e.getNetwork(),n=t.getPlugin("org.ethers.plugins.network.Ens");return(0,_.vA)(n,"network does not support ENS","UNSUPPORTED_OPERATION",{operation:"getEnsAddress",info:{network:t}}),n.address}static async #eM(e,t){let n=await iJ.getEnsAddress(e);try{let a=new aC(n,["function resolver(bytes32) view returns (address)"],e),r=await a.resolver(a4(t),{enableCcipRead:!0});if(r===nG)return null;return r}catch(e){throw e}}static async fromName(e,t){let n=t;for(;;){if(""===n||"."===n||"eth"!==t&&"eth"===n)return null;let a=await iJ.#eM(e,n);if(null!=a){let r=new iJ(e,a,t);if(n!==t&&!await r.supportsWildcard())return null;return r}n=n.split(".").slice(1).join(".")}}}let iQ=BigInt(0);function iq(e,t){return function(n){return null==n?t:e(n)}}function iZ(e,t){return n=>{if(t&&null==n)return null;if(!Array.isArray(n))throw Error("not an array");return n.map(t=>e(t))}}function i$(e,t){return n=>{let a={};for(let r in e){let i=r;if(t&&r in t&&!(i in n)){for(let e of t[r])if(e in n){i=e;break}}try{let t=e[r](n[i]);void 0!==t&&(a[r]=t)}catch(t){let e=t instanceof Error?t.message:"not-an-error";(0,_.vA)(!1,`invalid value for value.${r} (${e})`,"BAD_DATA",{value:n})}}return a}}function iY(e){return(0,_.MR)(A(e,!0),"invalid data","value",e),e}function iW(e){return(0,_.MR)(A(e,32),"invalid hash","value",e),e}let iX=i$({address:eq,blockHash:iW,blockNumber:L,data:iY,index:L,removed:iq(function(e){switch(e){case!0:case"true":return!0;case!1:case"false":return!1}(0,_.MR)(!1,`invalid boolean; ${JSON.stringify(e)}`,"value",e)},!1),topics:iZ(iW),transactionHash:iW,transactionIndex:L},{index:["logIndex"]}),i0=i$({hash:iq(iW),parentHash:iW,parentBeaconBlockRoot:iq(iW,null),number:L,timestamp:L,nonce:iq(iY),difficulty:F,gasLimit:F,gasUsed:F,stateRoot:iq(iW,null),receiptsRoot:iq(iW,null),blobGasUsed:iq(F,null),excessBlobGas:iq(F,null),miner:iq(eq),prevRandao:iq(iW,null),extraData:iY,baseFeePerGas:iq(F)},{prevRandao:["mixHash"]}),i1=i$({transactionIndex:L,blockNumber:L,transactionHash:iW,address:eq,topics:iZ(iW),data:iY,index:L,blockHash:iW},{index:["logIndex"]}),i6=i$({to:iq(eq,null),from:iq(eq,null),contractAddress:iq(eq,null),index:L,root:iq(O),gasUsed:F,blobGasUsed:iq(F,null),logsBloom:iq(iY),blockHash:iW,hash:iW,logs:iZ(function(e){return i1(e)}),blockNumber:L,cumulativeGasUsed:F,effectiveGasPrice:iq(F),blobGasPrice:iq(F,null),status:iq(L),type:iq(L,0)},{effectiveGasPrice:["gasPrice"],hash:["transactionHash"],index:["transactionIndex"]});function i5(e){e.to&&F(e.to)===iQ&&(e.to="0x0000000000000000000000000000000000000000");let t=i$({hash:iW,index:iq(L,void 0),type:e=>"0x"===e||null==e?0:L(e),accessList:iq(ng,null),blobVersionedHashes:iq(iZ(iW,!0),null),authorizationList:iq(iZ(e=>{let t;if(e.signature)t=e.signature;else{let n=e.yParity;"0x1b"===n?n=0:"0x1c"===n&&(n=1),t=Object.assign({},e,{yParity:n})}return{address:eq(e.address),chainId:F(e.chainId),nonce:F(e.nonce),signature:nO.from(t)}},!1),null),blockHash:iq(iW,null),blockNumber:iq(L,null),transactionIndex:iq(L,null),from:eq,gasPrice:iq(F),maxPriorityFeePerGas:iq(F),maxFeePerGas:iq(F),maxFeePerBlobGas:iq(F,null),gasLimit:F,to:iq(eq,null),value:F,nonce:L,data:iY,creates:iq(eq,null),chainId:iq(F,null)},{data:["input"],gasLimit:["gas"],index:["transactionIndex"]})(e);if(null==t.to&&null==t.creates&&(t.creates=function(e){let t=eq(e.from),n=F(e.nonce,"tx.nonce").toString(16);return eq(x(eK(iA([t,n="0"===n?"0x":n.length%2?"0x0"+n:"0x"+n])),12))}(t)),(1===e.type||2===e.type)&&null==e.accessList&&(t.accessList=[]),e.signature?t.signature=nO.from(e.signature):t.signature=nO.from(e),null==t.chainId){let e=t.signature.legacyChainId;null!=e&&(t.chainId=e)}return t.blockHash&&F(t.blockHash)===iQ&&(t.blockHash=null),t}class i8{name;constructor(e){(0,H.n)(this,{name:e})}clone(){return new i8(this.name)}}class i2 extends i8{effectiveBlock;txBase;txCreate;txDataZero;txDataNonzero;txAccessListStorageKey;txAccessListAddress;constructor(e,t){null==e&&(e=0),super(`org.ethers.network.plugins.GasCost#${e||0}`);let n={effectiveBlock:e};function a(e,a){let r=(t||{})[e];null==r&&(r=a),(0,_.MR)("number"==typeof r,`invalud value for ${e}`,"costs",t),n[e]=r}a("txBase",21e3),a("txCreate",32e3),a("txDataZero",4),a("txDataNonzero",16),a("txAccessListStorageKey",1900),a("txAccessListAddress",2400),(0,H.n)(this,n)}clone(){return new i2(this.effectiveBlock,this)}}class i3 extends i8{address;targetNetwork;constructor(e,t){super("org.ethers.plugins.network.Ens"),(0,H.n)(this,{address:e||"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",targetNetwork:null==t?1:t})}clone(){return new i3(this.address,this.targetNetwork)}}class i9 extends i8{#R;#eI;get url(){return this.#R}get processFunc(){return this.#eI}constructor(e,t){super("org.ethers.plugins.network.FetchUrlFeeDataPlugin"),this.#R=e,this.#eI=t}clone(){return this}}let i4=new Map;class i7{#eO;#el;#eC;constructor(e,t){this.#eO=e,this.#el=F(t),this.#eC=new Map}toJSON(){return{name:this.name,chainId:String(this.chainId)}}get name(){return this.#eO}set name(e){this.#eO=e}get chainId(){return this.#el}set chainId(e){this.#el=F(e,"chainId")}matches(e){if(null==e)return!1;if("string"==typeof e){try{return this.chainId===F(e)}catch(e){}return this.name===e}if("number"==typeof e||"bigint"==typeof e){try{return this.chainId===F(e)}catch(e){}return!1}if("object"==typeof e){if(null!=e.chainId){try{return this.chainId===F(e.chainId)}catch(e){}return!1}if(null!=e.name)return this.name===e.name}return!1}get plugins(){return Array.from(this.#eC.values())}attachPlugin(e){if(this.#eC.get(e.name))throw Error(`cannot replace existing plugin: ${e.name} `);return this.#eC.set(e.name,e.clone()),this}getPlugin(e){return this.#eC.get(e)||null}getPlugins(e){return this.plugins.filter(t=>t.name.split("#")[0]===e)}clone(){let e=new i7(this.name,this.chainId);return this.plugins.forEach(t=>{e.attachPlugin(t.clone())}),e}computeIntrinsicGas(e){let t=this.getPlugin("org.ethers.plugins.network.GasCost")||new i2,n=t.txBase;if(null==e.to&&(n+=t.txCreate),e.data)for(let a=2;a<e.data.length;a+=2)"00"===e.data.substring(a,a+2)?n+=t.txDataZero:n+=t.txDataNonzero;if(e.accessList){let a=ng(e.accessList);for(let e in a)n+=t.txAccessListAddress+t.txAccessListStorageKey*a[e].storageKeys.length}return n}static from(e){if(function(){fn||(fn=!0,e("mainnet",1,{ensNetwork:1,altNames:["homestead"]}),e("ropsten",3,{ensNetwork:3}),e("rinkeby",4,{ensNetwork:4}),e("goerli",5,{ensNetwork:5}),e("kovan",42,{ensNetwork:42}),e("sepolia",0xaa36a7,{ensNetwork:0xaa36a7}),e("holesky",17e3,{ensNetwork:17e3}),e("classic",61,{}),e("classicKotti",6,{}),e("arbitrum",42161,{ensNetwork:1}),e("arbitrum-goerli",421613,{}),e("arbitrum-sepolia",421614,{}),e("base",8453,{ensNetwork:1}),e("base-goerli",84531,{}),e("base-sepolia",84532,{}),e("bnb",56,{ensNetwork:1}),e("bnbt",97,{}),e("linea",59144,{ensNetwork:1}),e("linea-goerli",59140,{}),e("linea-sepolia",59141,{}),e("matic",137,{ensNetwork:1,plugins:[ft("https://gasstation.polygon.technology/v2")]}),e("matic-amoy",80002,{}
1),e("matic-mumbai",80001,{altNames:["maticMumbai","maticmum"],plugins:[ft("https://gasstation-testnet.polygon.technology/v2")]}),e("optimism",10,{ensNetwork:1,plugins:[]}),e("optimism-goerli",420,{}),e("optimism-sepolia",0xaa37dc,{}),e("xdai",100,{ensNetwork:1}));function e(e,t,n){let a=function(){let a=new i7(e,t);return null!=n.ensNetwork&&a.attachPlugin(new i3(null,n.ensNetwork)),a.attachPlugin(new i2),(n.plugins||[]).forEach(e=>{a.attachPlugin(e)}),a};i7.register(e,a),i7.register(t,a),n.altNames&&n.altNames.forEach(e=>{i7.register(e,a)})}}(),null==e)return i7.from("mainnet");if("number"==typeof e&&(e=BigInt(e)),"string"==typeof e||"bigint"==typeof e){let t=i4.get(e);if(t)return t();if("bigint"==typeof e)return new i7("unknown",e);(0,_.MR)(!1,"unknown network","network",e)}if("function"==typeof e.clone)return e.clone();if("object"==typeof e){(0,_.MR)("string"==typeof e.name&&"number"==typeof e.chainId,"invalid network object name or chainId","network",e);let t=new i7(e.name,e.chainId);return(e.ensAddress||null!=e.ensNetwork)&&t.attachPlugin(new i3(e.ensAddress,e.ensNetwork)),t}(0,_.MR)(!1,"invalid network","network",e)}static register(e,t){"number"==typeof e&&(e=BigInt(e));let n=i4.get(e);n&&(0,_.MR)(!1,`conflicting network for ${JSON.stringify(n.name)}`,"nameOrChainId",e),i4.set(e,t)}}function fe(e,t){let n=String(e);if(!n.match(/^[0-9.]+$/))throw Error(`invalid gwei value: ${e}`);let a=n.split(".");if(1===a.length&&a.push(""),2!==a.length)throw Error(`invalid gwei value: ${e}`);for(;a[1].length<t;)a[1]+="0";if(a[1].length>9){let e=BigInt(a[1].substring(0,9));!a[1].substring(9).match(/^0+$/)&&e++,a[1]=e.toString()}return BigInt(a[0]+a[1])}function ft(e){return new i9(e,async(e,t,n)=>{let a;n.setHeader("User-Agent","ethers");try{let[t,r]=await Promise.all([n.send(),e()]),i=(a=t).bodyJson.standard;return{gasPrice:r.gasPrice,maxFeePerGas:fe(i.maxFee,9),maxPriorityFeePerGas:fe(i.maxPriorityFee,9)}}catch(e){(0,_.vA)(!1,`error encountered with polygon gas station (${JSON.stringify(n.url)})`,"SERVER_ERROR",{request:n,response:a,error:e})}})}let fn=!1;function fa(e){return JSON.parse(JSON.stringify(e))}class fr{#eE;#ex;#eS;#eR;constructor(e){this.#eE=e,this.#ex=null,this.#eS=4e3,this.#eR=-2}get pollingInterval(){return this.#eS}set pollingInterval(e){this.#eS=e}async #ek(){try{let e=await this.#eE.getBlockNumber();if(-2===this.#eR){this.#eR=e;return}if(e!==this.#eR){for(let t=this.#eR+1;t<=e;t++){if(null==this.#ex)return;await this.#eE.emit("block",t)}this.#eR=e}}catch(e){}null!=this.#ex&&(this.#ex=this.#eE._setTimeout(this.#ek.bind(this),this.#eS))}start(){this.#ex||(this.#ex=this.#eE._setTimeout(this.#ek.bind(this),this.#eS),this.#ek())}stop(){this.#ex&&(this.#eE._clearTimeout(this.#ex),this.#ex=null)}pause(e){this.stop(),e&&(this.#eR=-2)}resume(){this.start()}}class fi{#eE;#ek;#eB;constructor(e){this.#eE=e,this.#eB=!1,this.#ek=e=>{this._poll(e,this.#eE)}}async _poll(e,t){throw Error("sub-classes must override this")}start(){this.#eB||(this.#eB=!0,this.#ek(-2),this.#eE.on("block",this.#ek))}stop(){this.#eB&&(this.#eB=!1,this.#eE.off("block",this.#ek))}pause(e){this.stop()}resume(){this.start()}}class ff extends fi{#ej;#eD;constructor(e,t){super(e),this.#ej=t,this.#eD=-2}pause(e){e&&(this.#eD=-2),super.pause(e)}async _poll(e,t){let n=await t.getBlock(this.#ej);null!=n&&(-2===this.#eD?this.#eD=n.number:n.number>this.#eD&&(t.emit(this.#ej,n.number),this.#eD=n.number))}}class fb extends fi{#ea;constructor(e,t){super(e),this.#ea=fa(t)}async _poll(e,t){throw Error("@TODO")}}class fs extends fi{#eF;constructor(e,t){super(e),this.#eF=t}async _poll(e,t){let n=await t.getTransactionReceipt(this.#eF);n&&t.emit(this.#eF,n)}}class fo{#eE;#ea;#ex;#eB;#eR;constructor(e,t){this.#eE=e,this.#ea=fa(t),this.#ex=this.#ek.bind(this),this.#eB=!1,this.#eR=-2}async #ek(e){if(-2===this.#eR)return;let t=fa(this.#ea);t.fromBlock=this.#eR+1,t.toBlock=e;let n=await this.#eE.getLogs(t);if(0===n.length){this.#eR<e-60&&(this.#eR=e-60);return}for(let e of n)this.#eE.emit(this.#ea,e),this.#eR=e.blockNumber}start(){this.#eB||(this.#eB=!0,-2===this.#eR&&this.#eE.getBlockNumber().then(e=>{this.#eR=e}),this.#eE.on("block",this.#ex))}stop(){this.#eB&&(this.#eB=!1,this.#eE.off("block",this.#ex))}pause(e){this.stop(),e&&(this.#eR=-2)}resume(){this.start()}}let fc=BigInt(2);function fd(e){return e&&"function"==typeof e.then}function fu(e,t){return e+":"+JSON.stringify(t,(e,t)=>{if(null==t)return"null";if("bigint"==typeof t)return`bigint:${t.toString()}`;if("string"==typeof t)return t.toLowerCase();if("object"==typeof t&&!Array.isArray(t)){let e=Object.keys(t);return e.sort(),e.reduce((e,n)=>(e[n]=t[n],e),{})}return t})}class fl{name;constructor(e){(0,H.n)(this,{name:e})}start(){}stop(){}pause(e){}resume(){}}
1function fp(e){return(e=Array.from(new Set(e).values())).sort(),e}async function fy(e,t){if(null==e)throw Error("invalid event");if(Array.isArray(e)&&(e={topics:e}),"string"==typeof e)switch(e){case"block":case"debug":case"error":case"finalized":case"network":case"pending":case"safe":return{type:e,tag:e}}if(A(e,32)){let t=e.toLowerCase();return{type:"transaction",tag:fu("tx",{hash:t}),hash:t}}if(e.orphan){let t=e;return{type:"orphan",tag:fu("orphan",t),filter:JSON.parse(JSON.stringify(t))}}if(e.address||e.topics){let n=e,a={topics:(n.topics||[]).map(e=>null==e?null:Array.isArray(e)?fp(e.map(e=>e.toLowerCase())):e.toLowerCase())};if(n.address){let e=[],r=[],i=n=>{A(n)?e.push(n):r.push((async()=>{e.push(await nt(n,t))})())};Array.isArray(n.address)?n.address.forEach(i):i(n.address),r.length&&await Promise.all(r),a.address=fp(e.map(e=>e.toLowerCase()))}return{filter:a,tag:fu("event",a),type:"event"}}(0,_.MR)(!1,"unknown ProviderEvent","event",e)}function fm(){return new Date().getTime()}let fh={cacheTimeout:250,pollingInterval:4e3};class fg{#eN;#eC;#eV;#eU;#eL;#eK;#eG;#ez;#eH;#eJ;#eQ;#u;constructor(e,t){if(this.#u=Object.assign({},fh,t||{}),"any"===e)this.#eK=!0,this.#eL=null;else if(e){let t=i7.from(e);this.#eK=!1,this.#eL=Promise.resolve(t),setTimeout(()=>{this.emit("network",t,null)},0)}else this.#eK=!1,this.#eL=null;this.#ez=-1,this.#eG=new Map,this.#eN=new Map,this.#eC=new Map,this.#eV=null,this.#eU=!1,this.#eH=1,this.#eJ=new Map,this.#eQ=!1}get pollingInterval(){return this.#u.pollingInterval}get provider(){return this}get plugins(){return Array.from(this.#eC.values())}attachPlugin(e){if(this.#eC.get(e.name))throw Error(`cannot replace existing plugin: ${e.name} `);return this.#eC.set(e.name,e.connect(this)),this}getPlugin(e){return this.#eC.get(e)||null}get disableCcipRead(){return this.#eQ}set disableCcipRead(e){this.#eQ=!!e}async #eq(e){let t=this.#u.cacheTimeout;if(t<0)return await this._perform(e);let n=fu(e.method,e),a=this.#eG.get(n);return a||(a=this._perform(e),this.#eG.set(n,a),setTimeout(()=>{this.#eG.get(n)===a&&this.#eG.delete(n)},t)),await a}async ccipReadFetch(e,t,n){if(this.disableCcipRead||0===n.length||null==e.to)return null;let a=e.to.toLowerCase(),r=t.toLowerCase(),i=[];for(let t=0;t<n.length;t++){let f,b=n[t],s=new nU(b.replace("{sender}",a).replace("{data}",r));-1===b.indexOf("{data}")&&(s.body={data:r,sender:a}),this.emit("debug",{action:"sendCcipReadFetchRequest",request:s,index:t,urls:n});let o="unknown error";try{f=await s.send()}catch(e){i.push(e.message),this.emit("debug",{action:"receiveCcipReadFetchError",request:s,result:{error:e}});continue}try{let e=f.bodyJson;if(e.data)return this.emit("debug",{action:"receiveCcipReadFetchResult",request:s,result:e}),e.data;e.message&&(o=e.message),this.emit("debug",{action:"receiveCcipReadFetchError",request:s,result:e})}catch(e){}(0,_.vA)(f.statusCode<400||f.statusCode>=500,`response not found during CCIP fetch: ${o}`,"OFFCHAIN_FAULT",{reason:"404_MISSING_RESOURCE",transaction:e,info:{url:b,errorMessage:o}}),i.push(o)}(0,_.vA)(!1,`error encountered during CCIP fetch: ${i.map(e=>JSON.stringify(e)).join(", ")}`,"OFFCHAIN_FAULT",{reason:"500_SERVER_ERROR",transaction:e,info:{urls:n,errorMessages:i}})}_wrapBlock(e,t){return new n6(function(e){let t=i0(e);return t.transactions=e.transactions.map(e=>"string"==typeof e?e:i5(e)),t}(e),this)}_wrapLog(e,t){return new n5(iX(e),this)}_wrapTransactionReceipt(e,t){return new n8(i6(e),this)}_wrapTransactionResponse(e,t){return new n2(i5(e),this)}_detectNetwork(){(0,_.vA)(!1,"sub-classes must implement this","UNSUPPORTED_OPERATION",{operation:"_detectNetwork"})}async _perform(e){(0,_.vA)(!1,`unsupported method: ${e.method}`,"UNSUPPORTED_OPERATION",{operation:e.method,info:e})}async getBlockNumber(){let e=L(await this.#eq({method:"getBlockNumber"}),"%response");return this.#ez>=0&&(this.#ez=e),e}_getAddress(e){return nt(e,this)}_getBlockTag(e){if(null==e)return"latest";switch(e){case"earliest":return"0x0";case"finalized":case"latest":case"pending":case"safe":return e}return A(e)?A(e,32)?e:z(e):("bigint"==typeof e&&(e=L(e,"blockTag")),"number"==typeof e)?e>=0?z(e):this.#ez>=0?z(this.#ez+e):this.getBlockNumber().then(t=>z(t+e)):void(0,_.MR)(!1,"invalid blockTag","blockTag",e)}_getFilter(e){let t,n,a=(e.topics||[]).map(e=>null==e?null:Array.isArray(e)?fp(e.map(e=>e.toLowerCase())):e.toLowerCase()),r="blockHash"in e?e.blockHash:void 0,i=(e,t,n)=>{let i;switch(e.length){case 0:break;case 1:i=e[0];break;default:e.sort(),i=e}if(r&&(null!=t||null!=n))throw Error("invalid filter");let f={};return i&&(f.address=i),a.length&&(f.topics=a),t&&(f.fromBlock=t),n&&(f.toBlock=n),r&&(f.blockHash=r),f},f=[];if(e.address)if(Array.isArray(e.address))for(let t of e.address)f.push(this._getAddress(t));else f.push(this._getAddress(e.address));return"fromBlock"in e&&(t=this._getBlockTag(e.fromBlock)),("toBlock"in e&&(n=this._getBlockTag(e.toBlock)),f.filter(e=>"string"!=typeof e).length||null!=t&&"string"!=typeof t||null!=n&&"string"!=typeof n)?Promise.all([Promise.all(f),t,n]).then(e=>i(e[0],e[1],e[2])):i(f,t,n)}_getTransactionRequest(e){let t=n1(e),n=[];
1if(["to","from"].forEach(e=>{if(null==t[e])return;let a=nt(t[e],this);fd(a)?n.push(async function(){t[e]=await a}()):t[e]=a}),null!=t.blockTag){let e=this._getBlockTag(t.blockTag);fd(e)?n.push(async function(){t.blockTag=await e}()):t.blockTag=e}return n.length?async function(){return await Promise.all(n),t}():t}async getNetwork(){if(null==this.#eL){let e=(async()=>{try{let e=await this._detectNetwork();return this.emit("network",e,null),e}catch(t){throw this.#eL===e&&(this.#eL=null),t}})();return this.#eL=e,(await e).clone()}let e=this.#eL,[t,n]=await Promise.all([e,this._detectNetwork()]);return t.chainId!==n.chainId&&(this.#eK?(this.emit("network",n,t),this.#eL===e&&(this.#eL=Promise.resolve(n))):(0,_.vA)(!1,`network changed: ${t.chainId} => ${n.chainId} `,"NETWORK_ERROR",{event:"changed"})),t.clone()}async getFeeData(){let e=await this.getNetwork(),t=async()=>{let{_block:t,gasPrice:n,priorityFee:a}=await (0,H.k)({_block:this.#eZ("latest",!1),gasPrice:(async()=>{try{let e=await this.#eq({method:"getGasPrice"});return F(e,"%response")}catch(e){}return null})(),priorityFee:(async()=>{try{let e=await this.#eq({method:"getPriorityFee"});return F(e,"%response")}catch(e){}return null})()}),r=null,i=null,f=this._wrapBlock(t,e);return f&&f.baseFeePerGas&&(i=null!=a?a:BigInt("1000000000"),r=f.baseFeePerGas*fc+i),new n0(n,r,i)},n=e.getPlugin("org.ethers.plugins.network.FetchUrlFeeDataPlugin");if(n){let e=new nU(n.url),a=await n.processFunc(t,this,e);return new n0(a.gasPrice,a.maxFeePerGas,a.maxPriorityFeePerGas)}return await t()}async estimateGas(e){let t=this._getTransactionRequest(e);return fd(t)&&(t=await t),F(await this.#eq({method:"estimateGas",transaction:t}),"%response")}async #e$(e,t,n){(0,_.vA)(n<10,"CCIP read exceeded maximum redirections","OFFCHAIN_FAULT",{reason:"TOO_MANY_REDIRECTS",transaction:Object.assign({},e,{blockTag:t,enableCcipRead:!0})});let a=n1(e);try{return O(await this._perform({method:"call",transaction:a,blockTag:t}))}catch(e){if(!this.disableCcipRead&&(0,_.E)(e)&&e.data&&n>=0&&"latest"===t&&null!=a.to&&"0x556f1830"===x(e.data,0,4)){let r,i=e.data,f=await nt(a.to,this);try{r=function(e){let t={sender:"",urls:[],calldata:"",selector:"",extraData:"",errorArgs:[]};(0,_.vA)(E(e)>=160,"insufficient OffchainLookup data","OFFCHAIN_FAULT",{reason:"insufficient OffchainLookup data"});let n=x(e,0,32);(0,_.vA)(x(n,0,12)===x(fw,0,12),"corrupt OffchainLookup sender","OFFCHAIN_FAULT",{reason:"corrupt OffchainLookup sender"}),t.sender=x(n,12);try{let n=[],a=L(x(e,32,64)),r=L(x(e,a,a+32)),i=x(e,a+32);for(let e=0;e<r;e++){let t=function(e,t){try{let n=fT(e,t);if(n)return ts(n)}catch(e){}return null}(i,32*e);if(null==t)throw Error("abort");n.push(t)}t.urls=n}catch(e){(0,_.vA)(!1,"corrupt OffchainLookup urls","OFFCHAIN_FAULT",{reason:"corrupt OffchainLookup urls"})}try{let n=fT(e,64);if(null==n)throw Error("abort");t.calldata=n}catch(e){(0,_.vA)(!1,"corrupt OffchainLookup calldata","OFFCHAIN_FAULT",{reason:"corrupt OffchainLookup calldata"})}(0,_.vA)(x(e,100,128)===x(fw,0,28),"corrupt OffchainLookup callbaackSelector","OFFCHAIN_FAULT",{reason:"corrupt OffchainLookup callbaackSelector"}),t.selector=x(e,96,100);try{let n=fT(e,128);if(null==n)throw Error("abort");t.extraData=n}catch(e){(0,_.vA)(!1,"corrupt OffchainLookup extraData","OFFCHAIN_FAULT",{reason:"corrupt OffchainLookup extraData"})}return t.errorArgs="sender,urls,calldata,selector,extraData".split(/,/).map(e=>t[e]),t}(x(e.data,4))}catch(e){(0,_.vA)(!1,e.message,"OFFCHAIN_FAULT",{reason:"BAD_DATA",transaction:a,info:{data:i}})}(0,_.vA)(r.sender.toLowerCase()===f.toLowerCase(),"CCIP Read sender mismatch","CALL_EXCEPTION",{action:"call",data:i,reason:"OffchainLookup",transaction:a,invocation:null,revert:{signature:"OffchainLookup(address,string[],bytes,bytes4,bytes)",name:"OffchainLookup",args:r.errorArgs}});let b=await this.ccipReadFetch(a,r.calldata,r.urls);(0,_.vA)(null!=b,"CCIP Read failed to fetch data","OFFCHAIN_FAULT",{reason:"FETCH_FAILED",transaction:a,info:{data:e.data,errorArgs:r.errorArgs}});let s={to:f,data:C([r.selector,function(e){let t=[],n=0;for(let a=0;a<e.length;a++)t.push(fv),n+=32;for(let a=0;a<e.length;a++){let r=w(e[a]);t[a]=f_(n),t.push(f_(r.length)),t.push(function(e){if(e.length%32==0)return e;let t=new Uint8Array(32*Math.ceil(e.length/32));return t.set(e),t}(r)),n+=32+32*Math.ceil(r.length/32)}return C(t)}([b,r.extraData])])};
1this.emit("debug",{action:"sendCcipReadCall",transaction:s});try{let e=await this.#e$(s,t,n+1);return this.emit("debug",{action:"receiveCcipReadCallResult",transaction:Object.assign({},s),result:e}),e}catch(e){throw this.emit("debug",{action:"receiveCcipReadCallError",transaction:Object.assign({},s),error:e}),e}}throw e}}async #eY(e){let{value:t}=await (0,H.k)({network:this.getNetwork(),value:e});return t}async call(e){let{tx:t,blockTag:n}=await (0,H.k)({tx:this._getTransactionRequest(e),blockTag:this._getBlockTag(e.blockTag)});return await this.#eY(this.#e$(t,n,e.enableCcipRead?0:-1))}async #eW(e,t,n){let a=this._getAddress(t),r=this._getBlockTag(n);return("string"!=typeof a||"string"!=typeof r)&&([a,r]=await Promise.all([a,r])),await this.#eY(this.#eq(Object.assign(e,{address:a,blockTag:r})))}async getBalance(e,t){return F(await this.#eW({method:"getBalance"},e,t),"%response")}async getTransactionCount(e,t){return L(await this.#eW({method:"getTransactionCount"},e,t),"%response")}async getCode(e,t){return O(await this.#eW({method:"getCode"},e,t))}async getStorage(e,t,n){let a=F(t,"position");return O(await this.#eW({method:"getStorage",position:a},e,n))}async broadcastTransaction(e){let{blockNumber:t,hash:n,network:a}=await (0,H.k)({blockNumber:this.getBlockNumber(),hash:this._perform({method:"broadcastTransaction",signedTransaction:e}),network:this.getNetwork()}
1),r=iV.from(e);if(r.hash!==n)throw Error("@TODO: the returned hash did not match");return this._wrapTransactionResponse(r,a).replaceableTransaction(t)}async #eZ(e,t){if(A(e,32))return await this.#eq({method:"getBlock",blockHash:e,includeTransactions:t});let n=this._getBlockTag(e);return"string"!=typeof n&&(n=await n),await this.#eq({method:"getBlock",blockTag:n,includeTransactions:t})}async getBlock(e,t){let{network:n,params:a}=await (0,H.k)({network:this.getNetwork(),params:this.#eZ(e,!!t)});return null==a?null:this._wrapBlock(a,n)}async getTransaction(e){let{network:t,params:n}=await (0,H.k)({network:this.getNetwork(),params:this.#eq({method:"getTransaction",hash:e})});return null==n?null:this._wrapTransactionResponse(n,t)}async getTransactionReceipt(e){let{network:t,params:n}=await (0,H.k)({network:this.getNetwork(),params:this.#eq({method:"getTransactionReceipt",hash:e})});if(null==n)return null;if(null==n.gasPrice&&null==n.effectiveGasPrice){let t=await this.#eq({method:"getTransaction",hash:e});if(null==t)throw Error("report this; could not find tx or effectiveGasPrice");n.effectiveGasPrice=t.gasPrice}return this._wrapTransactionReceipt(n,t)}async getTransactionResult(e){let{result:t}=await (0,H.k)({network:this.getNetwork(),result:this.#eq({method:"getTransactionResult",hash:e})});return null==t?null:O(t)}async getLogs(e){let t=this._getFilter(e);fd(t)&&(t=await t);let{network:n,params:a}=await (0,H.k)({network:this.getNetwork(),params:this.#eq({method:"getLogs",filter:t})});return a.map(e=>this._wrapLog(e,n))}_getProvider(e){(0,_.vA)(!1,"provider cannot connect to target network","UNSUPPORTED_OPERATION",{operation:"_getProvider()"})}async getResolver(e){return await iJ.fromName(this,e)}async getAvatar(e){let t=await this.getResolver(e);return t?await t.getAvatar():null}async resolveName(e){let t=await this.getResolver(e);return t?await t.getAddress():null}async lookupAddress(e){let t=a4((e=eq(e)).substring(2).toLowerCase()+".addr.reverse");try{let n=await iJ.getEnsAddress(this),a=new aC(n,["function resolver(bytes32) view returns (address)"],this),r=await a.resolver(t);if(null==r||r===nG)return null;let i=new aC(r,["function name(bytes32) view returns (string)"],this),f=await i.name(t);if(await this.resolveName(f)!==e)return null;return f}catch(e){if((0,_.bJ)(e,"BAD_DATA")&&"0x"===e.value||(0,_.bJ)(e,"CALL_EXCEPTION"))return null;throw e}}async waitForTransaction(e,t,n){let a=null!=t?t:1;return 0===a?this.getTransactionReceipt(e):new Promise(async(t,r)=>{let i=null,f=async n=>{try{let r=await this.getTransactionReceipt(e);if(null!=r&&n-r.blockNumber+1>=a){t(r),i&&(clearTimeout(i),i=null);return}}catch(e){console.log("EEE",e)}this.once("block",f)};null!=n&&(i=setTimeout(()=>{null!=i&&(i=null,this.off("block",f),r((0,_.xz)("timeout","TIMEOUT",{reason:"timeout"})))},n)),f(await this.getBlockNumber())})}async waitForBlock(e){(0,_.vA)(!1,"not implemented yet","NOT_IMPLEMENTED",{operation:"waitForBlock"})}_clearTimeout(e){let t=this.#eJ.get(e);t&&(t.timer&&clearTimeout(t.timer),this.#eJ.delete(e))}_setTimeout(e,t){null==t&&(t=0);let n=this.#eH++,a=()=>{this.#eJ.delete(n),e()};if(this.paused)this.#eJ.set(n,{timer:null,func:a,time:t});else{let e=setTimeout(a,t);this.#eJ.set(n,{timer:e,func:a,time:fm()})}return n}_forEachSubscriber(e){for(let t of this.#eN.values())e(t.subscriber)}_getSubscriber(e){switch(e.type){case"debug":case"error":case"network":return new fl(e.type);case"block":{let e=new fr(this);return e.pollingInterval=this.pollingInterval,e}case"safe":case"finalized":return new ff(this,e.type);case"event":return new fo(this,e.filter);case"transaction":return new fs(this,e.hash);case"orphan":return new fb(this,e.filter)}throw Error(`unsupported event: ${e.type}`)}_recoverSubscriber(e,t){for(let n of this.#eN.values())if(n.subscriber===e){n.started&&n.subscriber.stop(),n.subscriber=t,n.started&&t.start(),null!=this.#eV&&t.pause(this.#eV);break}}async #eX(e,t){let n=await fy(e,this);return"event"===n.type&&t&&t.length>0&&!0===t[0].removed&&(n=await fy({orphan:"drop-log",log:t[0]},this)),this.#eN.get(n.tag)||null}async #e0(e){let t=await fy(e,this),n=t.tag,a=this.#eN.get(n);if(!a){let e=this._getSubscriber(t);a={subscriber:e,tag:n,addressableMap:new WeakMap,nameMap:new Map,started:!1,listeners:[]},this.#eN.set(n,a)}return a}
1async on(e,t){let n=await this.#e0(e);return n.listeners.push({listener:t,once:!1}),n.started||(n.subscriber.start(),n.started=!0,null!=this.#eV&&n.subscriber.pause(this.#eV)),this}async once(e,t){let n=await this.#e0(e);return n.listeners.push({listener:t,once:!0}),n.started||(n.subscriber.start(),n.started=!0,null!=this.#eV&&n.subscriber.pause(this.#eV)),this}async emit(e,...t){let n=await this.#eX(e,t);if(!n||0===n.listeners.length)return!1;let a=n.listeners.length;return n.listeners=n.listeners.filter(({listener:n,once:a})=>{let r=new n4(this,a?null:n,e);try{n.call(this,...t,r)}catch(e){}return!a}),0===n.listeners.length&&(n.started&&n.subscriber.stop(),this.#eN.delete(n.tag)),a>0}async listenerCount(e){if(e){let t=await this.#eX(e);return t?t.listeners.length:0}let t=0;for(let{listeners:e}of this.#eN.values())t+=e.length;return t}async listeners(e){if(e){let t=await this.#eX(e);return t?t.listeners.map(({listener:e})=>e):[]}let t=[];for(let{listeners:e}of this.#eN.values())t=t.concat(e.map(({listener:e})=>e));return t}async off(e,t){let n=await this.#eX(e);if(!n)return this;if(t){let e=n.listeners.map(({listener:e})=>e).indexOf(t);e>=0&&n.listeners.splice(e,1)}return t&&0!==n.listeners.length||(n.started&&n.subscriber.stop(),this.#eN.delete(n.tag)),this}async removeAllListeners(e){if(e){let{tag:t,started:n,subscriber:a}=await this.#e0(e);n&&a.stop(),this.#eN.delete(t)}else for(let[e,{started:t,subscriber:n}]of this.#eN)t&&n.stop(),this.#eN.delete(e);return this}async addListener(e,t){return await this.on(e,t)}async removeListener(e,t){return this.off(e,t)}get destroyed(){return this.#eU}destroy(){for(let e of(this.removeAllListeners(),this.#eJ.keys()))this._clearTimeout(e);this.#eU=!0}get paused(){return null!=this.#eV}set paused(e){!!e!==this.paused&&(this.paused?this.resume():this.pause(!1))}pause(e){if(this.#ez=-1,null!=this.#eV){if(!!e==this.#eV)return;(0,_.vA)(!1,"cannot change pause type; resume first","UNSUPPORTED_OPERATION",{operation:"pause"})}for(let t of(this._forEachSubscriber(t=>
1t.pause(e)),this.#eV=!!e,this.#eJ.values()))t.timer&&clearTimeout(t.timer),t.time=fm()-t.time}resume(){if(null!=this.#eV)for(let e of(this._forEachSubscriber(e=>e.resume()),this.#eV=null,this.#eJ.values())){let t=e.time;t<0&&(t=0),e.time=fm(),setTimeout(e.func,t)}}}function fT(e,t){if("0x"===e)return null;try{let n=L(x(e,t,t+32)),a=L(x(e,n,n+32));return x(e,n+32,n+32+a)}catch(e){}return null}function f_(e){let t=G(e);if(t.length>32)throw Error("internal; should not happen");let n=new Uint8Array(32);return n.set(t,32-t.length),n}let fv=new Uint8Array([]),fw="0x0000000000000000000000000000000000000000000000000000000000000000";function fP(e,t){if(e.provider)return e.provider;(0,_.vA)(!1,"missing provider","UNSUPPORTED_OPERATION",{operation:t})}async function fA(e,t){let n=n1(t);if(null!=n.to&&(n.to=nt(n.to,e)),null!=n.from){let t=n.from;n.from=Promise.all([e.getAddress(),nt(t,e)]).then(([e,t])=>((0,_.MR)(e.toLowerCase()===t.toLowerCase(),"transaction from mismatch","tx.from",t),e))}else n.from=e.getAddress();return await (0,H.k)(n)}class fM{provider;constructor(e){(0,H.n)(this,{provider:e||null})}async getNonce(e){return fP(this,"getTransactionCount").getTransactionCount(await this.getAddress(),e)}async populateCall(e){return await fA(this,e)}async populateTransaction(e){let t=fP(this,"populateTransaction"),n=await fA(this,e);null==n.nonce&&(n.nonce=await this.getNonce("pending")),null==n.gasLimit&&(n.gasLimit=await this.estimateGas(n));let a=await this.provider.getNetwork();if(null!=n.chainId){let t=F(n.chainId);(0,_.MR)(t===a.chainId,"transaction chainId mismatch","tx.chainId",e.chainId)}else n.chainId=a.chainId;let r=null!=n.maxFeePerGas||null!=n.maxPriorityFeePerGas;if(null!=n.gasPrice&&(2===n.type||r)?(0,_.MR)(!1,"eip-1559 transaction do not support gasPrice","tx",e):(0===n.type||1===n.type)&&r&&(0,_.MR)(!1,"pre-eip-1559 transaction do not support maxFeePerGas/maxPriorityFeePerGas","tx",e),(2===n.type||null==n.type)&&null!=n.maxFeePerGas&&null!=n.maxPriorityFeePerGas)n.type=2;else if(0===n.type||1===n.type){let e=await t.getFeeData();(0,_.vA)(null!=e.gasPrice,"network does not support gasPrice","UNSUPPORTED_OPERATION",{operation:"getGasPrice"}),null==n.gasPrice&&(n.gasPrice=e.gasPrice)}else{let e=await t.getFeeData();if(null==n.type)if(null!=e.maxFeePerGas&&null!=e.maxPriorityFeePerGas)if(n.authorizationList&&n.authorizationList.length?n.type=4:n.type=2,null!=n.gasPrice){let e=n.gasPrice;delete n.gasPrice,n.maxFeePerGas=e,n.maxPriorityFeePerGas=e}else null==n.maxFeePerGas&&(n.maxFeePerGas=e.maxFeePerGas),null==n.maxPriorityFeePerGas&&(n.maxPriorityFeePerGas=e.maxPriorityFeePerGas);else null!=e.gasPrice?((0,_.vA)(!r,"network does not support EIP-1559","UNSUPPORTED_OPERATION",{operation:"populateTransaction"}),null==n.gasPrice&&(n.gasPrice=e.gasPrice),n.type=0):(0,_.vA)(!1,"failed to get consistent fee data","UNSUPPORTED_OPERATION",{operation:"signer.getFeeData"});else(2===n.type||3===n.type||4===n.type)&&(null==n.maxFeePerGas&&(n.maxFeePerGas=e.maxFeePerGas),null==n.maxPriorityFeePerGas&&(n.maxPriorityFeePerGas=e.maxPriorityFeePerGas))}return await (0,H.k)(n)}async populateAuthorization(e){let t=Object.assign({},e);return null==t.chainId&&(t.chainId=(await fP(this,"getNetwork").getNetwork()).chainId),null==t.nonce&&(t.nonce=await this.getNonce()),t}async estimateGas(e){return fP(this,"estimateGas").estimateGas(await this.populateCall(e))}async call(e){return fP(this,"call").call(await this.populateCall(e))}async resolveName(e){let t=fP(this,"resolveName");return await t.resolveName(e)}async sendTransaction(e){let t=fP(this,"sendTransaction"),n=await this.populateTransaction(e);delete n.from;let a=iV.from(n);return await t.broadcastTransaction(await this.signTransaction(a))}authorize(e){(0,_.vA)(!1,"authorization not implemented for this signer","UNSUPPORTED_OPERATION",{operation:"authorize"})}}class fI{#eE;#e1;#ex;#eB;#e6;#e5;constructor(e){this.#eE=e,this.#e1=null,this.#ex=this.#ek.bind(this),this.#eB=!1,this.#e6=null,this.#e5=!1}_subscribe(e){throw Error("subclasses must override this")}_emitResults(e,t){throw Error("subclasses must override this")}_recover(e){throw Error("subclasses must override this")}async #ek(e){try{null==this.#e1&&(this.#e1=this._subscribe(this.#eE));let e=null;try{e=await this.#e1}catch(e){if(!(0,_.bJ)(e,"UNSUPPORTED_OPERATION")||"eth_newFilter"!==e.operation)throw e}if(null==e){this.#e1=null,this.#eE._recoverSubscriber(this,this._recover(this.#eE));return}let t=await this.#eE.getNetwork();if(this.#e6||(this.#e6=t),this.#e6.chainId!==t.chainId)throw Error("chaid changed");if(this.#e5)return;let n=await this.#eE.send("eth_getFilterChanges",[e]);await this._emitResults(this.#eE,n)}catch(e){console.log("@TODO",e)}this.#eE.once("block",this.#ex)}#e8(){let e=this.#e1;e&&(this.#e1=null,e.then(e=>{this.#eE.destroyed||this.#eE.send("eth_uninstallFilter",[e])}))}start(){this.#eB||(this.#eB=!0,this.#ek(-2))}stop(){this.#eB&&(this.#eB=!1,this.#e5=!0,this.#e8(),this.#eE.off("block",this.#ex))}pause(e){e&&this.#e8(),this.#eE.off("block",this.#ex)}resume(){this.start()}}class fO extends fI{#e2;constructor(e,t){super(e),this.#e2=JSON.parse(JSON.stringify(t))}_recover(e){return new fo(e,this.#e2)}async _subscribe(e){return await e.send("eth_newFilter",[this.#e2])}async _emitResults(e,t){for(let n of t)e.emit(this.#e2,e._wrapLog(n,e._network))}}class fC extends fI{async _subscribe(e){return await e.send("eth_newPendingTransactionFilter",[])}async _emitResults(e,t){for(let n of t)e.emit("pending",n)}}let fE="bigint,boolean,function,number,string,symbol".split(/,/g);function fx(e){if(null==e||fE.indexOf(typeof e)>=0||"function"==typeof e.getAddress)return e;if(Array.isArray(e))return e.map(fx);if("object"==typeof e)return Object.keys(e).reduce((t,n)=>(t[n]=e[n],t),{});throw Error(`should not happen: ${e} (${typeof e})`)}function fS(e){return e?e.toLowerCase():e}function fR(e){return e&&"number"==typeof e.pollingInterval}let fk={polling:!1,staticNetwork:null,batchStallTime:10,batchMaxSize:1048576,batchMaxCount:100,cacheTimeout:250,pollingInterval:4e3};class fB extends fM{address;constructor(e,t){super(e),t=eq(t),(0,H.n)(this,{address:t})}connect(e){(0,_.vA)(!1,"cannot reconnect JsonRpcSigner","UNSUPPORTED_OPERATION",{operation:"signer.connect"})}async getAddress(){return this.address}async populateTransaction(e){return await this.populateCall(e)}async sendUncheckedTransaction(e){let t=fx(e),n=[];if(t.from){let a=t.from;n.push((async()=>{let n=await nt(a,this.provider);(0,_.MR)(null!=n&&n.toLowerCase()===this.address.toLowerCase(),"from address mismatch","transaction",e),t.from=n})())}else t.from=this.address;if(null==t.gasLimit&&n.push((async()=>
1{t.gasLimit=await this.provider.estimateGas({...t,from:this.address})})()),null!=t.to){let e=t.to;n.push((async()=>{t.to=await nt(e,this.provider)})())}n.length&&await Promise.all(n);let a=this.provider.getRpcTransaction(t);return this.provider.send("eth_sendTransaction",[a])}async sendTransaction(e){let t=await this.provider.getBlockNumber(),n=await this.sendUncheckedTransaction(e);return await new Promise((e,a)=>{let r=[1e3,100],i=0,f=async()=>{try{let a=await this.provider.getTransaction(n);if(null!=a)return void e(a.replaceableTransaction(t))}catch(e){if((0,_.bJ)(e,"CANCELLED")||(0,_.bJ)(e,"BAD_DATA")||(0,_.bJ)(e,"NETWORK_ERROR")||(0,_.bJ)(e,"UNSUPPORTED_OPERATION")){null==e.info&&(e.info={}),e.info.sendTransactionHash=n,a(e);return}if((0,_.bJ)(e,"INVALID_ARGUMENT")&&(i++,null==e.info&&(e.info={}),e.info.sendTransactionHash=n,i>10))return void a(e);this.provider.emit("error",(0,_.xz)("failed to fetch transation after sending (will try again)","UNKNOWN_ERROR",{error:e}))}this.provider._setTimeout(()=>{f()},r.pop()||4e3)};f()})}async signTransaction(e){let t=fx(e);if(t.from){let n=await nt(t.from,this.provider);(0,_.MR)(null!=n&&n.toLowerCase()===this.address.toLowerCase(),"from address mismatch","transaction",e),t.from=n}else t.from=this.address;let n=this.provider.getRpcTransaction(t);return await this.provider.send("eth_signTransaction",[n])}async signMessage(e){let t="string"==typeof e?tb(e):e;return await this.provider.send("personal_sign",[O(t),this.address.toLowerCase()])}async signTypedData(e,t,n){let a=fx(n),r=await nm.resolveNames(e,t,a,async e=>{let t=await nt(e);return(0,_.MR)(null!=t,"TypedData does not support null address","value",e),t});return await this.provider.send("eth_signTypedData_v4",[this.address.toLowerCase(),JSON.stringify(nm.getPayload(r.domain,t,r.value))])}async unlock(e){return this.provider.send("personal_unlockAccount",[this.address.toLowerCase(),e,null])}async _legacySignMessage(e){let t="string"==typeof e?tb(e):e;return await this.provider.send("eth_sign",[this.address.toLowerCase(),O(t)])}}class fj extends fg{#u;#e3;#e9;#e4;#e7;#e6;#te;#tt(){if(this.#e4)return;let e=1===this._getOption("batchMaxCount")?0:this._getOption("batchStallTime");this.#e4=setTimeout(()=>{this.#e4=null;let e=this.#e9;for(this.#e9=[];e.length;){let t=[e.shift()];for(;e.length&&t.length!==this.#u.batchMaxCount;)if(t.push(e.shift()),JSON.stringify(t.map(e=>e.payload)).length>this.#u.batchMaxSize){e.unshift(t.pop());break}(async()=>{let e=1===t.length?t[0].payload:t.map(e=>e.payload);this.emit("debug",{action:"sendRpcPayload",payload:e});try{let n=await this._send(e);for(let{resolve:e,reject:a,payload:r}of(this.emit("debug",{action:"receiveRpcResult",result:n}),t)){if(this.destroyed){a((0,_.xz)("provider destroyed; cancelled request","UNSUPPORTED_OPERATION",{operation:r.method}));continue}let t=n.filter(e=>e.id===r.id)[0];if(null==t){let e=(0,_.xz)("missing response for request","BAD_DATA",{value:n,info:{payload:r}});this.emit("error",e),a(e);continue}if("error"in t){a(this.getRpcError(r,t));continue}e(t.result)}}catch(e){for(let{reject:n}of(this.emit("debug",{action:"receiveRpcError",error:e}),t))n(e)}})()}},e)}constructor(e,t){super(e,t),this.#e3=1,this.#u=Object.assign({},fk,t||{}),this.#e9=[],this.#e4=null,this.#e6=null,this.#te=null;{let e=null,t=new Promise(t=>{e=t});this.#e7={promise:t,resolve:e}}let n=this._getOption("staticNetwork");"boolean"==typeof n?((0,_.MR)(!n||"any"!==e,"staticNetwork cannot be used on special network 'any'","options",t),n&&null!=e&&(this.#e6=i7.from(e))):n&&((0,_.MR)(null==e||n.matches(e),"staticNetwork MUST match network object","options",t),this.#e6=n)}_getOption(e){return this.#u[e]}get _network(){return(0,_.vA)(this.#e6,"network is not available yet","NETWORK_ERROR"),this.#e6}async _perform(e){if("call"===e.method||"estimateGas"===e.method){let t=e.transaction;if(t&&null!=t.type&&F(t.type)&&null==t.maxFeePerGas&&null==t.maxPriorityFeePerGas){let n=await this.getFeeData();null==n.maxFeePerGas&&null==n.maxPriorityFeePerGas&&(e=Object.assign({},e,{transaction:Object.assign({},t,{type:void 0})}))}}let t=this.getRpcRequest(e);return null!=t?await this.send(t.method,t.args):super._perform(e)}async _detectNetwork(){let e=this._getOption("staticNetwork");if(e){if(!0!==e)return e;else if(this.#e6)return this.#e6}return this.#te||(this.ready?this.#te=(async()=>{try{let e=i7.from(F(await this.send("eth_chainId",[])));return this.#te=null,e}catch(e){throw this.#te=null,e}})():this.#te=(async()=>{let e,t={id:this.#e3++,method:"eth_chainId",params:[],jsonrpc:"2.0"};
1this.emit("debug",{action:"sendRpcPayload",payload:t});try{e=(await this._send(t))[0],this.#te=null}catch(e){throw this.#te=null,this.emit("debug",{action:"receiveRpcError",error:e}),e}if(this.emit("debug",{action:"receiveRpcResult",result:e}),"result"in e)return i7.from(F(e.result));throw this.getRpcError(t,e)})()),await this.#te}_start(){null!=this.#e7&&null!=this.#e7.resolve&&(this.#e7.resolve(),this.#e7=null,(async()=>{for(;null==this.#e6&&!this.destroyed;)try{this.#e6=await this._detectNetwork()}catch(e){if(this.destroyed)break;console.log("JsonRpcProvider failed to detect network and cannot start up; retry in 1s (perhaps the URL is wrong or the node is not started)"),this.emit("error",(0,_.xz)("failed to bootstrap network detection","NETWORK_ERROR",{event:"initial-network-discovery",info:{error:e}})),await new Promise(e=>{setTimeout(e,1e3)})}this.#tt()})())}async _waitUntilReady(){if(null!=this.#e7)return await this.#e7.promise}_getSubscriber(e){return"pending"===e.type?new fC(this):"event"===e.type?this._getOption("polling")?new fo(this,e.filter):new fO(this,e.filter):"orphan"===e.type&&"drop-log"===e.filter.orphan?new fl("orphan"):super._getSubscriber(e)}get ready(){return null==this.#e7}getRpcTransaction(e){let t={};return["chainId","gasLimit","gasPrice","type","maxFeePerGas","maxPriorityFeePerGas","nonce","value"].forEach(n=>{if(null==e[n])return;let a=n;"gasLimit"===n&&(a="gas"),t[a]=z(F(e[n],`tx.${n}`))}),["from","to","data"].forEach(n=>{null!=e[n]&&(t[n]=O(e[n]))}),e.accessList&&(t.accessList=ng(e.accessList)),e.blobVersionedHashes&&(t.blobVersionedHashes=e.blobVersionedHashes.map(e=>e.toLowerCase())),e.authorizationList&&(t.authorizationList=e.authorizationList.map(e=>{let t=nC(e);return{address:t.address,nonce:z(t.nonce),chainId:z(t.chainId),yParity:z(t.signature.yParity),r:z(t.signature.r),s:z(t.signature.s)}})),t}getRpcRequest(e){switch(e.method){case"chainId":return{method:"eth_chainId",args:[]};case"getBlockNumber":return{method:"eth_blockNumber",args:[]};case"getGasPrice":return{method:"eth_gasPrice",args:[]};case"getPriorityFee":return{method:"eth_maxPriorityFeePerGas",args:[]};case"getBalance":return{method:"eth_getBalance",args:[fS(e.address),e.blockTag]};case"getTransactionCount":return{method:"eth_getTransactionCount",args:[fS(e.address),e.blockTag]};case"getCode":return{method:"eth_getCode",args:[fS(e.address),e.blockTag]};case"getStorage":return{method:"eth_getStorageAt",args:[fS(e.address),"0x"+e.position.toString(16),e.blockTag]};case"broadcastTransaction":return{method:"eth_sendRawTransaction",args:[e.signedTransaction]};case"getBlock":if("blockTag"in e)return{method:"eth_getBlockByNumber",args:[e.blockTag,!!e.includeTransactions]};if("blockHash"in e)return{method:"eth_getBlockByHash",args:[e.blockHash,!!e.includeTransactions]};break;case"getTransaction":return{method:"eth_getTransactionByHash",args:[e.hash]};case"getTransactionReceipt":return{method:"eth_getTransactionReceipt",args:[e.hash]};case"call":return{method:"eth_call",args:[this.getRpcTransaction(e.transaction),e.blockTag]};case"estimateGas":return{method:"eth_estimateGas",args:[this.getRpcTransaction(e.transaction)]};case"getLogs":return e.filter&&null!=e.filter.address&&(Array.isArray(e.filter.address)?e.filter.address=e.filter.address.map(fS):e.filter.address=fS(e.filter.address)),{method:"eth_getLogs",args:[e.filter]}}return null}getRpcError(e,t){let{method:n}=e,{error:a}=t;if("eth_estimateGas"===n&&a.message){let t=a.message;if(!t.match(/revert/i)&&t.match(/insufficient funds/i))return(0,_.xz)("insufficient funds","INSUFFICIENT_FUNDS",{transaction:e.params[0],info:{payload:e,error:a}});if(t.match(/nonce/i)&&t.match(/too low/i))return(0,_.xz)("nonce has already been used","NONCE_EXPIRED",{transaction:e.params[0],info:{payload:e,error:a}})}if("eth_call"===n||"eth_estimateGas"===n){let t=function e(t){if(null==t)return null;if("string"==typeof t.message&&t.message.match(/revert/i)&&A(t.data))return{message:t.message,data:t.data};if("object"==typeof t){for(let n in t){let a=e(t[n]);if(a)return a}return null}if("string"==typeof t)try{return e(JSON.parse(t))}catch(e){}return null}(a),r=t4.getBuiltinCallException("eth_call"===n?"call":"estimateGas",e.params[0],t?t.data:null);return r.info={error:a,payload:e},r}let r=JSON.stringify(function(e){let t=[];return!function e(t,n){if(null!=t){if("string"==typeof t.message&&n.push(t.message),"object"==typeof t)for(let a in t)e(t[a],n);if("string"==typeof t)try{return e(JSON.parse(t),n)}catch(e){}}}(e,t),t}(a));if("string"==typeof a.message&&a.message.match(/user denied|ethers-user-denied/i))return(0,_.xz)("user rejected action","ACTION_REJECTED",{action:{eth_sign:"signMessage",personal_sign:"signMessage",eth_signTypedData_v4:"signTypedData",eth_signTransaction:"signTransaction",eth_sendTransaction:"sendTransaction",eth_requestAccounts:"requestAccess",wallet_requestAccounts:"requestAccess"}[n]||"unknown",reason:"rejected",info:{payload:e,error:a}});if("eth_sendRawTransaction"===n||"eth_sendTransaction"===n){let t=e.params[0];if(r.match(/insufficient funds|base fee exceeds gas limit/i))return(0,_.xz)("insufficient funds for intrinsic transaction cost","INSUFFICIENT_FUNDS",{transaction:t,info:{error:a}});if(r.match(/nonce/i)&&r.match(/too low/i))return(0,_.xz)("nonce has already been used","NONCE_EXPIRED",{transaction:t,info:{error:a}});if(r.match(/replacement transaction/i)&&r.match(/underpriced/i))return(0,_.xz)("replacement fee too low","REPLACEMENT_UNDERPRICED",{transaction:t,info:{error:a}});if(r.match(/only replay-protected/i))return(0,_.xz)("legacy pre-eip-155 transactions not supported","UNSUPPORTED_OPERATION",{operation:n,info:{transaction:t,info:{error:a}}})}let i=!!r.match(/the method .* does not exist/i);return(!i&&a&&a.details&&a.details.startsWith("Unauthorized method:")&&(i=!0),i)?(0,_.xz)("unsupported operation","UNSUPPORTED_OPERATION",{operation:e.method,info:{error:a,payload:e}}):(0,_.xz)("could not coalesce error","UNKNOWN_ERROR",{error:a,payload:e})}send(e,t){if(this.destroyed)return Promise.reject((0,_.xz)("provider destroyed; cancelled request","UNSUPPORTED_OPERATION",{operation:e}));let n=this.#e3++,a=new Promise((a,r)=>{this.#e9.push({resolve:a,reject:r,payload:{method:e,params:t,id:n,jsonrpc:"2.0"}})});return this.#tt(),a}async getSigner(e){null==e&&(e=0);let t=this.send("eth_accounts",[]);if("number"==typeof e){let n=await t;if(e>=n.length)throw Error("no such account");return new fB(this,n[e])}let{accounts:n}=await (0,H.k)({network:this.getNetwork(),accounts:t});for(let t of(e=eq(e),n))if(eq(t)===e)return new fB(this,e);throw Error("invalid account")}async listAccounts(){return(await this.send("eth_accounts",[])).map(e=>new fB(this,e))}destroy(){for(let{payload:e,reject:t}of(this.#e4&&(clearTimeout(this.#e4),this.#e4=null),this.#e9))t((0,_.xz)("provider destroyed; cancelled request","UNSUPPORTED_OPERATION",{operation:e.method}));this.#e9=[],super.destroy()}}class fD extends fj{#tn;constructor(e,t){super(e,t);let n=this._getOption("pollingInterval");null==n&&(n=fk.pollingInterval),this.#tn=n}_getSubscriber(e){let t=super._getSubscriber(e);return fR(t)&&(t.pollingInterval=this.#tn),t}get pollingInterval(){return this.#tn}set pollingInterval(e){if(!Number.isInteger(e)||e<0)throw Error("invalid interval");
1this.#tn=e,this._forEachSubscriber(e=>{fR(e)&&(e.pollingInterval=this.#tn)})}}},44620:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MerkleProofPolicy__factory=void 0;let a=n(27653),r=[{inputs:[],stateMutability:"payable",type:"constructor"},{inputs:[],name:"AlreadyEnforced",type:"error"},{inputs:[],name:"AlreadyInitialized",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:[],name:"TargetAlreadySet",type:"error"},{inputs:[],name:"TargetNotSet",type:"error"},{inputs:[],name:"TargetOnly",type:"error"},{inputs:[],name:"UnsuccessfulCheck",type:"error"},{inputs:[],name:"ZeroAddress",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"subject",type:"address"},{indexed:!0,internalType:"address",name:"guarded",type:"address"},{indexed:!1,internalType:"bytes",name:"evidence",type:"bytes"}],name:"Enforced",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"guarded",type:"address"}],name:"TargetSet",type:"event"},{inputs:[],name:"BASE_CHECKER",outputs:[{internalType:"contract BaseChecker",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"subject",type:"address"},{internalType:"bytes",name:"evidence",type:"bytes"}],name:"enforce",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"enforcedAddresses",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"getAppendedBytes",outputs:[{internalType:"bytes",name:"appendedBytes",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[],name:"guarded",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"initialized",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_guarded",type:"address"}],name:"setTarget",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"trait",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"}],i="0x60806040523380602957604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b6030816035565b50608e565b600080546001600160a01b03838116610100818102610100600160a81b0319851617855560405193049190911692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35050565b6107f38061009d6000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c80637e164204116100715780637e164204146101595780638129fc1c1461016c5780638da5cb5b14610174578063b41a4b191461018a578063ce343deb1461019f578063f2fde38b146101c657600080fd5b8063158ef93e146100b95780631e898ef1146100db5780636324378f146100f0578063715018a61461011357806372f7a0301461011b578063776d1a0114610146575b600080fd5b6000546100c69060ff1681565b60405190151581526020015b60405180910390f35b6100ee6100e93660046105ea565b6101d9565b005b6100c66100fe366004610671565b60036020526000908152604090205460ff1681565b6100ee610214565b60015461012e906001600160a01b031681565b6040516001600160a01b0390911681526020016100d2565b6100ee610154366004610671565b61022856
15b60025461012e906001600160a01b031681565b6100ee6102cb565b60005461010090046001600160a01b031661012e565b6101926102d3565b6040516100d291906106db565b60408051808201909152600b81526a26b2b935b632a83937b7b360a91b6020820152610192565b6100ee6101d4366004610671565b6102e2565b6001546001600160a01b0316331461020457604051631f492dbf60e21b815260040160405180910390fd5b61020f838383610325565b505050565b61021c61038d565b61022660006103c0565b565b61023061038d565b6001600160a01b0381166102575760405163d92e233d60e01b815260040160405180910390fd5b6001546001600160a01b0316156102815760405163e0f2d7b160e01b815260040160405180910390fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040517f3bfb4bbf112628248058745a3c57e35b13369386e474b8e56c552f3063a4a19690600090a250565b610226610419565b60606102dd610475565b905090565b6102ea61038d565b6001600160a01b03811661031957604051631e4fbdf760e01b8152600060048201526024015b60405180910390fd5b610322816103c0565b50565b6001600160a01b03831660009081526003602052604090205460ff161561035f57604051633440c93360e21b815260040160405180910390fd5b6001600160a01b0383166000908152600360205260409020805460ff1916600117905561020f838383610480565b6000546001600160a01b036101009091041633146102265760405163118cdaa760e01b8152336004820152602401610310565b600080546001600160a01b03838116610100818102610100600160a81b0319851617855560405193049190911692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35050565b610421610563565b600061042b610475565b90506000808280602001905181019061044491906106ee565b91509150610451826103c0565b600280546001600160a01b0319166001600160a01b03929092169190911790555050565b60606102dd30610574565b60025460405163e2b2408560e01b81526001600160a01b039091169063e2b24085906104b490869086908690600401610751565b602060405180830381865afa1580156104d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104f5919061077f565b61051257604051634715494560e01b815260040160405180910390fd5b6001546040516001600160a01b03918216918516907fc013b39287cb7a53f776482ac9573829321f002f31ef8782129b41d60047bda09061055690869086906107a1565b60405180910390a3505050565b61056b6105a3565b610226336103c0565b60405164ffffffffff602c19833b0116808252602090810190602d908301843c60408101815101604052919050565b60005460ff16156105c65760405162dc149f60e41b815260040160405180910390fd5b6000805460ff19166001179055565b6001600160a01b038116811461032257600080fd5b6000806000604084860312156105ff57600080fd5b833561060a816105d5565b9250602084013567ffffffffffffffff81111561062657600080fd5b8401601f8101861361063757600080fd5b803567ffffffffffffffff81111561064e57600080fd5b86602082840101111561066057600080fd5b939660209190910195509293505050565b60006020828403121561068357600080fd5b813561068e816105d5565b9392505050565b6000815180845260005b818110156106bb5760208185018101518683018201520161069f565b506000602082860101526020601f19601f83011685010191505092915050565b60208152600061068e6020830184610695565b6000806040838503121561070157600080fd5b825161070c816105d5565b602084015190925061071d816105d5565b809150509250929050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b03841681526040602082018190526000906107769083018486610728565b95945050505050565b60006020828403121561079157600080fd5b8151801515811461068e57600080fd5b6020815260006107b5602083018486610728565b94935050505056fea2646970667358221220efba6b3413577b0cd49bbc8ddd2b83e1adfac30154eb7bc3b1ef318c246e357364736f6c634300081c0033",f=e=>e.length>1;class b extends a.ContractFactory{constructor(...e){f(e)?super(...e):super(r,i,e[0])}getDeployTransaction(e){return super.getDeployTransaction(e||{})}deploy(e){return super.deploy(e||{})}connect(e){return super.connect(e)}static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.MerkleProofPolicy__factory=b,b.bytecode=i,b.abi=r},45170:(e,t,n)=>{var a=n(54360);e.exports=function(e){var t=this.__data__,n=a(t,e);return n<0?void 0:t[n][1]}},45500:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MockToken__factory=t.MockHatsProtocol__factory=t.MockGitcoinPassportDecoder__factory=t.MockEAS__factory=t.MockAnonAadhaar__factory=void 0;var a=n(52670);
1Object.defineProperty(t,"MockAnonAadhaar__factory",{enumerable:!0,get:function(){return a.MockAnonAadhaar__factory}});var r=n(92379);Object.defineProperty(t,"MockEAS__factory",{enumerable:!0,get:function(){return r.MockEAS__factory}});var i=n(28581);Object.defineProperty(t,"MockGitcoinPassportDecoder__factory",{enumerable:!0,get:function(){return i.MockGitcoinPassportDecoder__factory}});var f=n(55880);Object.defineProperty(t,"MockHatsProtocol__factory",{enumerable:!0,get:function(){return f.MockHatsProtocol__factory}});var b=n(26333);Object.defineProperty(t,"MockToken__factory",{enumerable:!0,get:function(){return b.MockToken__factory}})},45713:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IHats__factory=void 0;let a=n(27653),r=[{inputs:[{internalType:"uint256",name:"admin",type:"uint256"},{internalType:"string",name:"details",type:"string"},{internalType:"uint32",name:"maxSupply",type:"uint32"},{internalType:"address",name:"eligibility",type:"address"},{internalType:"address",name:"toggle",type:"address"},{internalType:"bool",name:"isMutable",type:"bool"},{internalType:"string",name:"imageURI",type:"string"}],name:"createHat",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"hat",type:"uint256"}],name:"isWearerOfHat",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"hatId",type:"uint256"},{internalType:"address",name:"wearer",type:"address"}],name:"mintHat",outputs:[{internalType:"bool",name:"success",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"target",type:"address"},{internalType:"string",name:"details",type:"string"},{internalType:"string",name:"imageURI",type:"string"}],name:"mintTopHat",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"nonpayable",type:"function"}];class i{static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.IHats__factory=i,i.abi=r},46624:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IMessageProcessorFactory__factory=void 0;let a=n(27653),r=[{inputs:[{internalType:"address",name:"_verifier",type:"address"},{internalType:"address",name:"_verifyingKeysRegistry",type:"address"},{internalType:"address",name:"_poll",type:"address"},{internalType:"enum DomainObjs.Mode",name:"_mode",type:"uint8"}],name:"deploy",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"nonpayable",type:"function"}];class i{static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.IMessageProcessorFactory__factory=i,i.abi=r},47011:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.generateSignUpTreeFromKeys=t.generateSignUpTreeWithEndKey=t.generateSignUpTree=void 0;var a=n(2314);Object.defineProperty(t,"generateSignUpTree",{enumerable:!0,get:function(){return a.generateSignUpTree}}),Object.defineProperty(t,"generateSignUpTreeWithEndKey",{enumerable:!0,get:function(){return a.generateSignUpTreeWithEndKey}}),Object.defineProperty(t,"generateSignUpTreeFromKeys",{enumerable:!0,get:function(){return a.generateSignUpTreeFromKeys}})},47038:function(e,t,n){"use strict";var a=this&&this.__createBinding||(Object.create?function(e,t,n,a){void 0===a&&(a=n);var r=Object.getOwnPropertyDescriptor(t,n);
1(!r||("get"in r?!t.__esModule:r.writable||r.configurable))&&(r={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,a,r)}:function(e,t,n,a){void 0===a&&(a=n),e[a]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||a(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),r(n(76674),t)},47526:(e,t,n)=>{"use strict";var a=n(44134);let r=["number","boolean","string","function","Array","Uint8Array","Buffer","object","bigint","stringified-bigint","hexadecimal","bignumber","bignumberish"];function i(e){return"number"==typeof e}function f(e){return"boolean"==typeof e}function b(e){return"string"==typeof e}function s(e){return"function"==typeof e}function o(e){return"object"==typeof e}function c(e){return o(e)&&Array.isArray(e)}function d(e){return e instanceof Uint8Array}function u(e){return a.Buffer.isBuffer(e)}function l(e){return"bigint"==typeof e}function p(e){if(!b(e))return!1;try{return BigInt(e),!0}catch{return!1}}function y(e,t=!0){return!!b(e)&&(t?/^(0x|0X)[0-9a-fA-F]+$/.test(e):/^[0-9a-fA-F]+$/.test(e))}function m(e){return l(e)||p(e)}function h(e){return i(e)||l(e)||p(e)||y(e)||u(e)||d(e)}t.isArray=c,t.isBigInt=l,t.isBigNumber=m,t.isBigNumberish=h,t.isBoolean=f,t.isBuffer=u,t.isDefined=function(e){return void 0!==e},t.isFunction=s,t.isHexadecimal=y,t.isNumber=i,t.isObject=o,t.isString=b,t.isStringifiedBigInt=p,t.isSupportedType=function(e){return r.includes(e)},t.isType=function(e,t){switch(t){case"number":return i(e);case"boolean":return f(e);case"string":return b(e);case"function":return s(e);case"Array":return c(e);case"Uint8Array":return d(e);case"Buffer":return u(e);case"object":return o(e);case"bigint":return l(e);case"stringified-bigint":return p(e);case"hexadecimal":return y(e);case"bignumber":return m(e);case"bignumberish":return h(e);default:return!1}},t.isUint8Array=d,t.supportedTypes=r},47532:(e,t,n)=>{var a=n(65646),r=n(78558),i=n(54648);e.exports=function(e){return a(e,i,r)}},47841:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FreeForAllChecker__factory=void 0;let a=n(27653),r=[{inputs:[],name:"AlreadyInitialized",type:"error"},{inputs:[{internalType:"address",name:"subject",type:"address"},{internalType:"bytes",name:"evidence",type:"bytes"}],name:"check",outputs:[{internalType:"bool",name:"checked",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"getAppendedBytes",outputs:[{internalType:"bytes",name:"appendedBytes",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"initialized",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"}],i="0x6080604052348015600f57600080fd5b5061024d8061001f6000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c8063158ef93e146100515780638129fc1c14610073578063b41a4b191461007d578063e2b2408514610092575b600080fd5b60005461005e9060ff1681565b60405190151581526020015b60405180910390f35b61007b6100a9565b005b6100856100b3565b60405161006a9190610136565b61005e6100a0366004610184565b50600192915050565b6100b16100c2565b565b60606100bd6100ca565b905090565b6100b16100d5565b60606100bd30610107565b60005460ff16156100f85760405162dc149f60e41b815260040160405180910390fd5b6000805460ff19166001179055565b60405164ffffffffff602c19833b0116808252602090810190602d908301843c60408101815101604052919050565b602081526000825180602084015260005b818110156101645760208186018101516040868401015201610147565b506000604082850101526040601f19601f83011684010191505092915050565b60008060006040848603121561019957600080fd5b83356001600160a01b03811681146101b057600080fd5b9250602084013567ffffffffffffffff8111156101cc57600080fd5b8401601f810186136101dd57600080fd5b803567ffffffffffffffff8111156101f457600080fd5b86602082840101111561020657600080fd5b93966020919091019550929350505056fea2646970667358221220c30430394fbaf0d4d4c912a3b6ce777e09203b6b60d5fd436e50b7e7cf0dbeb264736f6c634300081c0033",f=e=>e.length>1;class b extends a.ContractFactory{constructor(...e){f(e)?super(...e):super(r,i,e[0])}getDeployTransaction(e){return super.getDeployTransaction(e||{})}deploy(e){return super.deploy(e||{})}connect(e){return super.connect(e)}static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.FreeForAllChecker__factory=b,b.bytecode=i,b.abi=r},47995:e=>{e.exports=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}}
1,48129:(e,t,n)=>{"use strict";n.d(t,{Q:()=>d});var a=n(26715),r=n(95990),i=n(62108),f=n(12115),b=n(43484),s=n(2145),o=n(18224),c=n(53031);function d(){var e,t,n;let d=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{query:u={},...l}=d,p=(0,c.U)(l),y=(0,a.jE)(),{address:m,connector:h,status:g}=(0,s.F)({config:p}),T=(0,o.i)({config:p}),_=null!=(e=d.connector)?e:h,{queryKey:v,...w}=function(e,t={}){return{gcTime:0,async queryFn({queryKey:n}){let{connector:a}=t,{connectorUid:i,scopeKey:f,...b}=n[1];return(0,r.r)(e,{...b,connector:a})},queryKey:function(e={}){let{connector:t,...n}=e;return["connectorClient",{...(0,i.xO)(n),connectorUid:t?.uid}]}(t)}}(p,{...d,chainId:null!=(t=d.chainId)?t:T,connector:_}),P=!!(("connected"===g||"reconnecting"===g&&(null==_?void 0:_.getProvider))&&(null==(n=u.enabled)||n)),A=(0,f.useRef)(m);return(0,f.useEffect)(()=>{let e=A.current;!m&&e?(y.removeQueries({queryKey:v}),A.current=void 0):m!==e&&(y.invalidateQueries({queryKey:v}),A.current=m)},[m,y]),(0,b.IT)({...u,...w,queryKey:v,enabled:P,staleTime:Number.POSITIVE_INFINITY})}},48450:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IERC721Errors__factory=void 0;let a=n(27653),r=[{inputs:[{internalType:"address",name:"sender",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"address",name:"owner",type:"address"}],name:"ERC721IncorrectOwner",type:"error"},{inputs:[{internalType:"address",name:"operator",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"ERC721InsufficientApproval",type:"error"},{inputs:[{internalType:"address",name:"approver",type:"address"}],name:"ERC721InvalidApprover",type:"error"},{inputs:[{internalType:"address",name:"operator",type:"address"}],name:"ERC721InvalidOperator",type:"error"},{inputs:[{internalType:"address",name:"owner",type:"address"}],name:"ERC721InvalidOwner",type:"error"},{inputs:[{internalType:"address",name:"receiver",type:"address"}],name:"ERC721InvalidReceiver",type:"error"},{inputs:[{internalType:"address",name:"sender",type:"address"}],name:"ERC721InvalidSender",type:"error"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"ERC721NonexistentToken",type:"error"}];
1class i{static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.IERC721Errors__factory=i,i.abi=r},48558:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MerkleProofPolicyFactory__factory=void 0;let a=n(27653),r=[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"clone",type:"address"}],name:"CloneDeployed",type:"event"},{inputs:[],name:"IMPLEMENTATION",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"checkerAddress",type:"address"}],name:"deploy",outputs:[{internalType:"address",name:"clone",type:"address"}],stateMutability:"nonpayable",type:"function"}],i="0x60a0604052348015600f57600080fd5b50604051601a906046565b604051809103906000f0801580156035573d6000803e3d6000fd5b506001600160a01b03166080526053565b610890806102e183390190565b60805161026d6100746000396000818160400152610123015261026d6000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80633a4741bd1461003b5780634c96a3891461007e575b600080fd5b6100627f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b61006261008c36600461020e565b604080513360208201526001600160a01b0383168183015281518082038301815260609091019091526000906100c18161011c565b9150816001600160a01b0316638129fc1c6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156100fe57600080fd5b505af1158015610112573d6000803e3d6000fd5b5050505050919050565b60006101487f000000000000000000000000000000000000000000000000000000000000000083610184565b6040519091506001600160a01b038216907f2158cde9935cbf85d0b02e02fbc315ad0be2f3f017a603a2ebeedead21b8d60b90600090a2919050565b600061019260008484610199565b9392505050565b600060405182518060438301826020870160045afa506e5af43d82803e903d91602b57fd5bf360238301528460148301528060881b74fe61002d3d81600a3d39f3363d3d373d3d3d363d730182526037810161ffd38210600b01830187f092505050806101925763301164256000526004601cfd5b60006020828403121561022057600080fd5b81356001600160a01b038116811461019257600080fdfea2646970667358221220594329fc63b47ae64cc15773956cfb7337069fbe253901b1cc9b9aade470407d64736f6c634300081c003360806040523380602957604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b6030816035565b50608e565b600080546001600160a01b03838116610100818102610100600160a81b0319851617855560405193049190911692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35050565b6107f38061009d6000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c80637e164204116100715780637e164204146101595780638129fc1c1461016c5780638da5cb5b14610174578063b41a4b191461018a578063ce343deb1461019f578063f2fde38b146101c657600080fd5b8063158ef93e146100b95780631e898ef1146100db5780636324378f146100f0578063715018a61461011357806372f7a0301461011b578063776d1a0114610146575b600080fd5b6000546100c69060ff1681565b60405190151581526020015b60405180910390f35b6100ee6100e93660046105ea565b6101d9565b005b6100c66100fe366004610671565b60036020526000908152604090205460ff1681565b6100ee610214565b60015461012e906001600160a01b031681565b6040516001600160a01b0390911681526020016100d2565b6100ee610154366004610671565b61022856
15b60025461012e906001600160a01b031681565b6100ee6102cb565b60005461010090046001600160a01b031661012e565b6101926102d3565b6040516100d291906106db565b60408051808201909152600b81526a26b2b935b632a83937b7b360a91b6020820152610192565b6100ee6101d4366004610671565b6102e2565b6001546001600160a01b0316331461020457604051631f492dbf60e21b815260040160405180910390fd5b61020f838383610325565b505050565b61021c61038d565b61022660006103c0565b565b61023061038d565b6001600160a01b0381166102575760405163d92e233d60e01b815260040160405180910390fd5b6001546001600160a01b0316156102815760405163e0f2d7b160e01b815260040160405180910390fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040517f3bfb4bbf112628248058745a3c57e35b13369386e474b8e56c552f3063a4a19690600090a250565b610226610419565b60606102dd610475565b905090565b6102ea61038d565b6001600160a01b03811661031957604051631e4fbdf760e01b8152600060048201526024015b60405180910390fd5b610322816103c0565b50565b6001600160a01b03831660009081526003602052604090205460ff161561035f57604051633440c93360e21b815260040160405180910390fd5b6001600160a01b0383166000908152600360205260409020805460ff1916600117905561020f838383610480565b6000546001600160a01b036101009091041633146102265760405163118cdaa760e01b8152336004820152602401610310565b600080546001600160a01b03838116610100818102610100600160a81b0319851617855560405193049190911692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35050565b610421610563565b600061042b610475565b90506000808280602001905181019061044491906106ee565b91509150610451826103c0565b600280546001600160a01b0319166001600160a01b03929092169190911790555050565b60606102dd30610574565b60025460405163e2b2408560e01b81526001600160a01b039091169063e2b24085906104b490869086908690600401610751565b602060405180830381865afa1580156104d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104f5919061077f565b61051257604051634715494560e01b815260040160405180910390fd5b6001546040516001600160a01b03918216918516907fc013b39287cb7a53f776482ac9573829321f002f31ef8782129b41d60047bda09061055690869086906107a1565b60405180910390a3505050565b61056b6105a3565b610226336103c0565b60405164ffffffffff602c19833b0116808252602090810190602d908301843c60408101815101604052919050565b60005460ff16156105c65760405162dc149f60e41b815260040160405180910390fd5b6000805460ff19166001179055565b6001600160a01b038116811461032257600080fd5b6000806000604084860312156105ff57600080fd5b833561060a816105d5565b9250602084013567ffffffffffffffff81111561062657600080fd5b8401601f8101861361063757600080fd5b803567ffffffffffffffff81111561064e57600080fd5b86602082840101111561066057600080fd5b939660209190910195509293505050565b60006020828403121561068357600080fd5b813561068e816105d5565b9392505050565b6000815180845260005b818110156106bb5760208185018101518683018201520161069f565b506000602082860101526020601f19601f83011685010191505092915050565b60208152600061068e6020830184610695565b6000806040838503121561070157600080fd5b825161070c816105d5565b602084015190925061071d816105d5565b809150509250929050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b03841681526040602082018190526000906107769083018486610728565b95945050505050565b60006020828403121561079157600080fd5b8151801515811461068e57600080fd5b6020815260006107b5602083018486610728565b94935050505056fea2646970667358221220efba6b3413577b0cd49bbc8ddd2b83e1adfac30154eb7bc3b1ef318c246e357364736f6c634300081c0033",f=e=>e.length>1;class b extends a.ContractFactory{constructor(...e){f(e)?super(...e):super(r,i,e[0])}getDeployTransaction(e){return super.getDeployTransaction(e||{})}deploy(e){return super.deploy(e||{})}connect(e){return super.connect(e)}static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.MerkleProofPolicyFactory__factory=b,b.bytecode=i,b.abi=r},48592:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ZupassPolicyFactory__factory=t.ZupassPolicy__factory=t.ZupassGroth16Verifier__factory=t.ZupassCheckerFactory__factory=t.ZupassChecker__factory=void 0;var a=n(19125);Object.defineProperty(t,"ZupassChecker__factory",{enumerable:!0,get:function(){return a.ZupassChecker__factory}});var r=n(89949);Object.defineProperty(t,"ZupassCheckerFactory__factory",{enumerable:!0,get:function(){return r.ZupassCheckerFactory__factory}});var i=n(10345);Object.defineProperty(t,"ZupassGroth16Verifier__factory",{enumerable:!0,get:function(){return i.ZupassGroth16Verifier__factory}});var f=n(48954);Object.defineProperty(t,"ZupassPolicy__factory",{enumerable:!0,get:function(){return f.ZupassPolicy__factory}});var b=n(40104);Object.defineProperty(t,"ZupassPolicyFactory__factory",{enumerable:!0,get:function(){return b.ZupassPolicyFactory__factory}})},48611:e=>{e.exports=function(e){return null!=e&&"object"==typeof e}},48736:function(e,t,n){"use strict";var a,r=this&&this.__createBinding||(Object.create?function(e,t,n,a){void 0===a&&(a=n);var r=Object.getOwnPropertyDescriptor(t,n);
1(!r||("get"in r?!t.__esModule:r.writable||r.configurable))&&(r={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,a,r)}:function(e,t,n,a){void 0===a&&(a=n),e[a]=t[n]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),f=this&&this.__importStar||(a=function(e){return(a=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t})(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n=a(e),f=0;f<n.length;f++)"default"!==n[f]&&r(t,e,n[f]);return i(t,e),t});Object.defineProperty(t,"__esModule",{value:!0}),t.test=t.proxy=t.policy=t.interfaces=t.extensions=t.checker=void 0,t.checker=f(n(68788)),t.extensions=f(n(6822)),t.interfaces=f(n(81363)),t.policy=f(n(30373)),t.proxy=f(n(23219)),t.test=f(n(79967))},48761:function(e,t,n){"use strict";var a,r=this&&this.__createBinding||(Object.create?function(e,t,n,a){void 0===a&&(a=n);var r=Object.getOwnPropertyDescriptor(t,n);
1(!r||("get"in r?!t.__esModule:r.writable||r.configurable))&&(r={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,a,r)}:function(e,t,n,a){void 0===a&&(a=n),e[a]=t[n]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),f=this&&this.__importStar||(a=function(e){return(a=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t})(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n=a(e),f=0;f<n.length;f++)"default"!==n[f]&&r(t,e,n[f]);return i(t,e),t});Object.defineProperty(t,"__esModule",{value:!0}),t.Verifier__factory=t.PoseidonT6__factory=t.PoseidonT5__factory=t.PoseidonT4__factory=t.PoseidonT3__factory=t.Pairing__factory=t.Hasher__factory=t.babyJubJubSol=void 0,t.babyJubJubSol=f(n(86518));var b=n(4016);Object.defineProperty(t,"Hasher__factory",{enumerable:!0,get:function(){return b.Hasher__factory}});var s=n(54815);Object.defineProperty(t,"Pairing__factory",{enumerable:!0,get:function(){return s.Pairing__factory}});var o=n(41089);Object.defineProperty(t,"PoseidonT3__factory",{enumerable:!0,get:function(){return o.PoseidonT3__factory}});var c=n(19266);Object.defineProperty(t,"PoseidonT4__factory",{enumerable:!0,get:function(){return c.PoseidonT4__factory}});var d=n(4991);Object.defineProperty(t,"PoseidonT5__factory",{enumerable:!0,get:function(){return d.PoseidonT5__factory}});var u=n(59736);Object.defineProperty(t,"PoseidonT6__factory",{enumerable:!0,get:function(){return u.PoseidonT6__factory}});var l=n(68011);Object.defineProperty(t,"Verifier__factory",{enumerable:!0,get:function(){return l.Verifier__factory}})},48954:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ZupassPolicy__factory=void 0;let a=n(27653),r=[{inputs:[],stateMutability:"payable",type:"constructor"},{inputs:[],name:"AlreadyEnforced",type:"error"},{inputs:[],name:"AlreadyInitialized",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:[],name:"TargetAlreadySet",type:"error"},{inputs:[],name:"TargetNotSet",type:"error"},{inputs:[],name:"TargetOnly",type:"error"},{inputs:[],name:"UnsuccessfulCheck",type:"error"},{inputs:[],name:"ZeroAddress",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"subject",type:"address"},{indexed:!0,internalType:"address",name:"guarded",type:"address"},{indexed:!1,internalType:"bytes",name:"evidence",type:"bytes"}],name:"Enforced",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"guarded",type:"address"}],name:"TargetSet",type:"event"},{inputs:[],name:"BASE_CHECKER",outputs:[{internalType:"contract BaseChecker",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"subject",type:"address"},{internalType:"bytes",name:"evidence",type:"bytes"}],name:"enforce",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"enforcedTickets",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"getAppendedBytes",outputs:[{internalType:"bytes",name:"appendedBytes",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[],name:"guarded",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"initialized",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_guarded",type:"address"}],name:"setTarget",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"trait",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"}],i="0x60806040523380602957604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b6030816035565b50608e565b600080546001600160a01b03838116610100818102610100600160a81b0319851617855560405193049190911692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35050565b6109c08061009d6000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c80638129fc1c116100715780638129fc1c146101495780638da5cb5b14610151578063a86c9aea14610167578063b41a4b191461018a578063ce343deb1461019f578063f2fde38b146101c157600080fd5b8063158ef93e146100b95780631e898ef1146100db578063715018a6146100f057806372f7a030146100f8578063776d1a01146101235780637e16420414610136575b600080fd5b6000546100c69060ff1681565b60405190151581526020015b60405180910390f35b6100ee6100e936600461060e565b6101d4565b005b6100ee61020f565b60015461010b906001600160a01b031681565b6040516001600160a01b0390911681526020016100d256
15b6100ee610131366004610695565b610223565b60025461010b906001600160a01b031681565b6100ee6102c6565b60005461010090046001600160a01b031661010b565b6100c66101753660046106b9565b60036020526000908152604090205460ff1681565b6101926102ce565b6040516100d29190610718565b6040805180820190915260068152655a757061737360d01b6020820152610192565b6100ee6101cf366004610695565b6102dd565b6001546001600160a01b031633146101ff57604051631f492dbf60e21b815260040160405180910390fd5b61020a838383610320565b505050565b6102176103b1565b61022160006103e4565b565b61022b6103b1565b6001600160a01b0381166102525760405163d92e233d60e01b815260040160405180910390fd5b6001546001600160a01b03161561027c5760405163e0f2d7b160e01b815260040160405180910390fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040517f3bfb4bbf112628248058745a3c57e35b13369386e474b8e56c552f3063a4a19690600090a250565b61022161043d565b60606102d8610499565b905090565b6102e56103b1565b6001600160a01b03811661031457604051631e4fbdf760e01b8152600060048201526024015b60405180910390fd5b61031d816103e4565b50565b600061032e828401846107c0565b9350505050600081600060268110610348576103486108a5565b602090810291909101516000818152600390925260409091205490915060ff161561038657604051633440c93360e21b815260040160405180910390fd5b6000818152600360205260409020805460ff191660011790556103aa8585856104a4565b5050505050565b6000546001600160a01b036101009091041633146102215760405163118cdaa760e01b815233600482015260240161030b565b600080546001600160a01b03838116610100818102610100600160a81b0319851617855560405193049190911692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35050565b610445610587565b600061044f610499565b90506000808280602001905181019061046891906108bb565b91509150610475826103e4565b600280546001600160a01b0319166001600160a01b03929092169190911790555050565b60606102d830610598565b60025460405163e2b2408560e01b81526001600160a01b039091169063e2b24085906104d89086908690869060040161091e565b602060405180830381865afa1580156104f5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610519919061094c565b61053657604051634715494560e01b815260040160405180910390fd5b6001546040516001600160a01b03918216918516907fc013b39287cb7a53f776482ac9573829321f002f31ef8782129b41d60047bda09061057a908690869061096e565b60405180910390a3505050565b61058f6105c7565b610221336103e4565b60405164ffffffffff602c19833b0116808252602090810190602d908301843c60408101815101604052919050565b60005460ff16156105ea5760405162dc149f60e41b815260040160405180910390fd5b6000805460ff19166001179055565b6001600160a01b038116811461031d57600080fd5b60008060006040848603121561062357600080fd5b833561062e816105f9565b9250602084013567ffffffffffffffff81111561064a57600080fd5b8401601f8101861361065b57600080fd5b803567ffffffffffffffff81111561067257600080fd5b86602082840101111561068457600080fd5b939660209190910195509293505050565b6000602082840312156106a757600080fd5b81356106b2816105f9565b9392505050565b6000602082840312156106cb57600080fd5b5035919050565b6000815180845260005b818110156106f8576020818501810151868301820152016106dc565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006106b260208301846106d2565b604051601f8201601f1916810167ffffffffffffffff8111828210171561076257634e487b7160e01b600052604160045260246000fd5b604052919050565b600082601f83011261077b57600080fd5b6000610787604061072b565b905080604084018581111561079b57600080fd5b845b818110156107b557803583526020928301920161079d565b509195945050505050565b6000806000806105c085870312156107d757600080fd5b6107e1868661076a565b935085605f8601126107f257600080fd5b60406107fd8161072b565b8060c088018981111561080f57600080fd5b8389015b81811015610834576108258b8261076a565b84526020909301928401610813565b508196506108428a8261076a565b9550505050506101008501600087601f83011261085d578081fd5b806104c061086a8161072b565b91508301818a82111561087b578384fd5b5b8185101561089457843581526020948501940161087c565b509699959850939650929450505050565b634e487b7160e01b600052603260045260246000fd5b600080604083850312156108ce57600080fd5b82516108d9816105f9565b60208401519092506108ea816105f9565b809150509250929050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b038416815260406020820181905260009061094390830184866108f5565b95945050505050565b60006020828403121561095e57600080fd5b815180151581146106b257600080fd5b602081526000610982602083
10184866108f5565b94935050505056fea26469706673582212200920cd39b909e3d9ab24e30d3475c22fa8f70235feba7a5bcdefa318d263aa8264736f6c634300081c0033",f=e=>e.length>1;class b extends a.ContractFactory{constructor(...e){f(e)?super(...e):super(r,i,e[0])}getDeployTransaction(e){return super.getDeployTransaction(e||{})}deploy(e){return super.deploy(e||{})}connect(e){return super.connect(e)}static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.ZupassPolicy__factory=b,b.bytecode=i,b.abi=r},49654:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MessageProcessor__factory=void 0;let a=n(27653),r=[{inputs:[],name:"AlreadyInitialized",type:"error"},{inputs:[],name:"BatchEndIndexTooLarge",type:"error"},{inputs:[],name:"CurrentMessageBatchIndexTooLarge",type:"error"},{inputs:[],name:"InvalidProcessMessageProof",type:"error"},{inputs:[],name:"NoMoreMessages",type:"error"},{inputs:[],name:"StateNotMerged",type:"error"},{inputs:[],name:"totalSignupsTooLarge",type:"error"},{inputs:[],name:"MESSAGE_DATA_LENGTH",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[],name:"currentBatchIndex",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getAppendedBytes",outputs:[{internalType:"bytes",name:"appendedBytes",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_currentMessageBatchIndex",type:"uint256"},{internalType:"uint256",name:"_newSbCommitment",type:"uint256"},{internalType:"uint256",name:"_outputBatchHash",type:"uint256"}],name:"getPublicCircuitInputs",outputs:[{internalType:"uint256[]",name:"publicInputs",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256[2]",name:"array",type:"uint256[2]"}],name:"hash2",outputs:[{internalType:"uint256",name:"result",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"uint256[3]",name:"array",type:"uint256[3]"}],name:"hash3",outputs:[{internalType:"uint256",name:"result",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"uint256[4]",name:"array",type:"uint256[4]"}],name:"hash4",outputs:[{internalType:"uint256",name:"result",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"uint256[5]",name:"array",type:"uint256[5]"}],name:"hash5",outputs:[{internalType:"uint256",name:"result",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"uint256",name:"left",type:"uint256"},{internalType:"uint256",name:"right",type:"uint256"}],name:"hashLeftRight",outputs:[{internalType:"uint256",name:"result",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"initialized",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"mode",outputs:[{internalType:"enum DomainObjs.Mode",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[],name:"poll",outputs:[{internalType:"contract IPoll",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_newSbCommitment",type:"uint256"},{internalType:"uint256[8]",name:"_proof",type:"uint256[8]"}],name:"processMessages",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"processingComplete",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"sbCommitment",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256[]",name:"array",type:"uint256[]"}],name:"sha256Hash",outputs:[{internalType:"uint256",name:"result",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[],name:"totalBatchesProcessed",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"verifier",outputs:[{internalType:"contract IVerifier",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"verifyingKeysRegistry",outputs:[{internalType:"contract IVerifyingKeysRegistry",name:"",type:"address"}],stateMutability:"view",type:"function"}],i="0x6080604052348015600f57600080fd5b50611c158061001f6000396000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c80638129fc1c116100ad578063b1a263d311610071578063b1a263d314610291578063b41a4b19146102a4578063bea140b3146102b9578063d13181b8146102cc578063faa2e25a146102d557600080fd5b80638129fc1c1461023c5780638763d0c4146102465780639cfced9714610258578063a11752791461026b578063a2d718a41461027e57600080fd5b806358bfc379116100f457806358bfc379146101e05780635bb93995146101f35780636090b30e1461020657806362a361bb1461020f578063683f3dc31461022257600080fd5b8063158ef93e14610131578063295a5212146101535780632b7ac3f3146101745780633dfb88b21461019f57806345c7237b146101c0575b600080fd5b60005461013e9060ff1681565b60405190151581526020015b60405180910390f35b60065461016790600160a01b900460ff1681565b60405161014a9190611131565b600554610187906001600160a01b031681565b6040516001600160a01b03909116815260200161014a565b6101b26101ad3660046111d2565b6102de565b60405190815260200161014a565b6101d36101ce36600461123a565b61035f565b60405161014a91906112a2565b6101b26101ee3660046112e0565b6107c7565b6101b261020136600461137b565b610861565b6101b260025481565b6101b261021d36600461139d565b610886565b61022a600a81565b60405160ff909116815260200161014a565b6102446108c0565b005b60005461013e90610100900460ff1681565b6101b26102663660046113e0565b6108ca565b600454610187906001600160a01b031681565b600654610187906001600160a01b031681565b61024461029f366004611423565b610904565b6102ac610d2d565b60405161014a919061147c565b6101b26102c73660046114af565b610d3c565b6101b260035481565b6101b260015481565b60405163248f667760e01b815260009073__$ce9c2
1c925f157047e54fa833ec4e61409f$__9063248f6677906103189085906004016114f2565b602060405180830381865af4158015610335573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103599190611523565b92915050565b60048054604080516314385fc360e21b815290516060936000936001600160a01b0316926350e17f0c92818301926020928290030181865afa1580156103a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103cd9190611523565b90506000600460009054906101000a90046001600160a01b03166001600160a01b031663719b9bd86040518163ffffffff1660e01b8152600401602060405180830381865afa158015610424573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104489190611552565b9050600080600460009054906101000a90046001600160a01b03166001600160a01b031663ba5810fd6040518163ffffffff1660e01b81526004016040805180830381865afa15801561049f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104c3919061156d565b909250905060006104d760ff85168a6115a7565b9050818111156104e45750805b6000808a116104f457600061050d565b60ff851661050360018c6115be565b61050d91906115a7565b604080516009808252610140820190925291925060208201610120803683370190505096508387600081518110610546576105466115d1565b6020026020010181815250508787600181518110610566576105666115d1565b602002602001018181525050600460009054906101000a90046001600160a01b03166001600160a01b0316637028bb0e6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105e99190611552565b60ff16876002815181106105ff576105ff6115d1565b602002602001018181525050858760038151811061061f5761061f6115d1565b602002602001018181525050600460009054906101000a90046001600160a01b03166001600160a01b03166341495d1c6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561067e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106a29190611523565b876004815181106106b5576106b56115d1565b6020908102919091010152600354156106d05760035461073b565b600480546040805163c17268d960e01b815290516001600160a01b039092169263c17268d99282820192602092908290030181865afa158015610717573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061073b9190611523565b8760058151811061074e5761074e6115d1565b602002602001018181525050888760068151811061076e5761076e6115d1565b602002602001018181525050808760078151811061078e5761078e6115d1565b60200260200101818152505081876008815181106107ae576107ae6115d1565b6020026020010181815250505050505050509392505050565b60007f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016002836040516020016107fd91906115e7565b60408051601f19818403018152908290526108179161161d565b602060405180830381855afa158015610834573d6000803e3d6000fd5b5050506040513d601f19601f820116820180604052508101906108579190611523565b6103599190611639565b600061086b6110db565b8381526020810183905261087e81610886565b949350505050565b6040516314d2f97b60e11b815260009073__$6574937f64fc1d7710ec0e28b7a36713bb$__906329a5f2f69061031890859060040161165b565b6108c8610d76565b565b604051630926f44b60e31b815260009073__$20527677031d76601747626a9845039fe4$__90634937a25890610318908590600401611683565b600054610100900460ff161561092d5760405163a7f0397560e01b815260040160405180910390fd5b6000600460009054906101000a90046001600160a01b03166001600160a01b031663ac98e5df6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610982573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109a691906116ab565b509150506000600460009054906101000a90046001600160a01b03166001600160a01b031663719b9bd86040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a239190611552565b90506060600154600003610b96576000600460009054906101000a90046001600160a01b03166001600160a01b031663c17268d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a86573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aaa9190611523565b60038190556004805460408051639255266760e01b815290519394506001600160a01b039091169263925526679282810192600092919082900301818387803b158015610af657600080fd5b505af1158015610b0a573d6000803e3d6000fd5b505060048054604080516305105fa360e21b815290516001600160a01b0390921694506314417e8c935080830192600092918290030181865afa158015610b55573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610b7d91908101906116ee565b9
115060018251610b8d91906115be565b60025550610c08565b60048054604080516305105fa360e21b815290516001600160a01b03909216926314417e8c9282820192600092908290030181865afa158015610bdd573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610c0591908101906116ee565b90505b60008160025481518110610c1e57610c1e6115d1565b60200260200101519050610c61600254828886888a6008806020026040519081016040528092919082600860200280828437600092019190915250610e24915050565b610c815760405160016268f24f60e01b0319815260040160405180910390fd5b6000600460009054906101000a90046001600160a01b03166001600160a01b031663ba5810fd6040518163ffffffff1660e01b81526004016040805180830381865afa158015610cd5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cf9919061156d565b915050610d24876001546001610d0f919061177a565b610d1c9060ff88166115a7565b831115611026565b50505050505050565b6060610d3761106f565b905090565b6040516304b98e1d60e31b815260009073__$dc01a9744591ab014bc46a3b7671cdaefb$__906325cc70e89061031890859060040161178d565b610d7e61107a565b6000610d8861106f565b905060008060008084806020019051810190610da491906117cd565b600580546001600160a01b038087166001600160a01b031992831617909255600680548387168184168117835560048054958816959094169490941790925595995093975091955093508392916001600160a81b03191617600160a01b836002811115610e1357610e136110f9565b021790555050600160025550505050565b6004805460408051638b6e746360e01b8152905160009384936001600160a01b031692638b6e746392818301926020928290030181865afa158015610e6d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e919190611830565b90506000610ea089888a61035f565b90506000600660009054906101000a90046001600160a01b03166001600160a01b031663435fe1c9846001600160a01b031663652c76e46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f06573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f2a9190611552565b60065460405160e084901b6001600160e01b0319168152610f5d92918b918d91600160a01b900460ff169060040161184d565b600060405180830381865afa158015610f7a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610fa29190810190611935565b60055460405163352a4d1560e01b81529192506001600160a01b03169063352a4d1590610fd790889085908790600401611aa3565b602060405180830381865afa158015610ff4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110189190611ba4565b9a9950505050505050505050565b60038290556000805461ff0019166101008315150217815560028054600192906110519084906115be565b90915550506001805490600061106683611bc6565b91905055505050565b6060610d37306110ac565b60005460ff161561109d5760405162dc149f60e41b815260040160405180910390fd5b6000805460ff19166001179055565b60405164ffffffffff602c19833b0116808252602090810190602d908301843c60408101815101604052919050565b60405180604001604052806002906020820280368337509192915050565b634e487b7160e01b600052602160045260246000fd5b6003811061112d57634e487b7160e01b600052602160045260246000fd5b9052565b60208101610359828461110f565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156111785761117861113f565b60405290565b60405160a0810167ffffffffffffffff811182821017156111785761117861113f565b604051601f8201601f1916810167ffffffffffffffff811182821017156111ca576111ca61113f565b604052919050565b6000608082840312156111e457600080fd5b600083601f8401126111f4578081fd5b806111ff60806111a1565b9050809150608084018581111561121557600080fd5b845b8181101561122f578035845260209384019301611217565b509095945050505050565b60008060006060848
1603121561124f57600080fd5b505081359360208301359350604090920135919050565b600081518084526020840193506020830160005b8281101561129857815186526020958601959091019060010161127a565b5093949350505050565b6020815260006112b56020830184611266565b9392505050565b600067ffffffffffffffff8211156112d6576112d661113f565b5060051b60200190565b6000602082840312156112f257600080fd5b813567ffffffffffffffff81111561130957600080fd5b8201601f8101841361131a57600080fd5b803561132d611328826112bc565b6111a1565b8082825260208201915060208360051b85010192508683111561134f57600080fd5b6020840193505b82841015611371578335825260209384019390910190611356565b9695505050505050565b6000806040838503121561138e57600080fd5b50508035926020909101359150565b6000604082840312156113af57600080fd5b600083601f8401126113bf578081fd5b806113ca60406111a1565b9050809150604084018581111561121557600080fd5b600060a082840312156113f257600080fd5b600083601f840112611402578081fd5b8061140d60a06111a1565b905080915060a084018581111561121557600080fd5b600080610120838503121561143757600080fd5b82359150610120830184101561144c57600080fd5b50926020919091019150565b60005b8381101561147357818101518382015260200161145b565b50506000910152565b602081526000825180602084015261149b816040850160208701611458565b601f01601f19169190910160400192915050565b6000606082840312156114c157600080fd5b600083601f8401126114d1578081fd5b806114dc60606111a1565b9050809150606084018581111561121557600080fd5b60808101818360005b600481101561151a5781518352602092830192909101906001016114fb565b50505092915050565b60006020828403121561153557600080fd5b5051919050565b805160ff8116811461154d57600080fd5b919050565b60006020828403121561156457600080fd5b6112b58261153c565b6000806040838503121561158057600080fd5b505080516020909101519092909150565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761035957610359611591565b8181038181111561035957610359611591565b634e487b7160e01b600052603260045260246000fd5b8151600090829060208501835b828110156116125781518452602093840193909101906001016115f4565b509195945050505050565b6000825161162f818460208701611458565b9190910192915050565b60008261165657634e487b7160e01b600052601260045260246000fd5b500690565b60408101818360005b600281101561151a578151835260209283019290910190600101611664565b60a08101818360005b600581101561151a57815183526020928301929091019060010161168c565b60008060006060848
160312156116c057600080fd5b6116c98461153c565b92506116d76020850161153c565b91506116e56040850161153c565b90509250925092565b60006020828403121561170057600080fd5b815167ffffffffffffffff81111561171757600080fd5b8201601f8101841361172857600080fd5b8051611736611328826112bc565b8082825260208201915060208360051b85010192508683111561175857600080fd5b6020840193505b8284101561137157835182526020938401939091019061175f565b8082018082111561035957610359611591565b60608101818360005b600381101561151a578151835260209283019290910190600101611796565b6001600160a01b03811681146117ca57600080fd5b50565b600080600080608085870312156117e357600080fd5b84516117ee816117b5565b60208601519094506117ff816117b5565b6040860151909350611810816117b5565b60608601519092506003811061182557600080fd5b939692955090935050565b60006020828403121561184257600080fd5b81516112b5816117b5565b60ff858116825284811660208301528316604082015260808101611874606083018461110f565b95945050505050565b60006040828403121561188f57600080fd5b611897611155565b825181526020928301519281019290925250919050565b600082601f8301126118bf57600080fd5b6118c960406111a1565b8060408401858111156118db57600080fd5b845b8181101561122f5780518452602093840193016118dd565b60006080828403121561190757600080fd5b61190f611155565b905061191b83836118ae565b815261192a83604084016118ae565b602082015292915050565b60006020828403121561194757600080fd5b815167ffffffffffffffff81111561195e57600080fd5b82016101e0818503121561197157600080fd5b61197961117e565b611983858361187d565b815261199285604084016118f5565b60208201526119a48560c084016118f5565b60408201526119b78561014084016118f5565b60608201526101c082015167ffffffffffffffff8111156119d757600080fd5b80830192505084601f8301126119ec57600080fd5b81516119fa611328826112bc565b8082825260208201915060208360061b860101925087831115611a1c57600080fd5b6020850194505b82851015611a4857611a35888661187d565b8252602082019150604085019450611a23565b6080840152509095945050505050565b8060005b6002811015611a7b578151845260209384019390910190600101611a5c565b50505050565b611a8c828251611a58565b6020810151611a9e6040840182611a58565b505050565b60008185825b6008811015611ac8578151835260209283019290910190600101611aa9565b5050506101406101008301526103208201611af26101408401865180518252602090810151910152565b6020850151611b05610180850182611a81565b506040850151611b19610200850182611a81565b506060850151611b2d610280850182611a81565b5060808501516101e0610300850152805191829052602001906000906103408501905b80831015611b8457611b6d82855180518252602090810151910152565b604082019150602084019350600183019250611b50565b50848103610120860152611b988187611266565b98975050505050505050565b600060208284031215611bb657600080fd5b815180151581146112b557600080fd5b600060018201611bd857611bd8611591565b506001019056fea2646970667358221220d9f0b6e45137e2d012d87c18021416072c4d491ce50db95c95a2bc8b31a1b0f064736f6c634300081c0033",f=e=>"string"==typeof e[0]||Array.isArray(e[0])||"_isInterface"in e[0];class b extends a.ContractFactory{constructor(...e){if(f(e))super(...e);else{let[t,n]=e;super(r,b.linkBytecode(t),n)}}static linkBytecode(e){let t=i;return(t=(t=(t=t.replace(RegExp("__\\$ce9c2c925f157047e54fa833ec4e61409f\\$__","g"),e["contracts/crypto/PoseidonT5.sol:PoseidonT5"].replace(/^0x/,"").toLowerCase())).replace(RegExp("__\\$6574937f64fc1d7710ec0e28b7a36713bb\\$__","g"),e["contracts/crypto/PoseidonT3.sol:PoseidonT3"].replace(/^0x/,"").toLowerCase())).replace(RegExp("__\\$20527677031d76601747626a9845039fe4\\$__","g"),e["contracts/crypto/PoseidonT6.sol:PoseidonT6"].replace(/^0x/,"").toLowerCase())).replace(RegExp("__\\$dc01a9744591ab014bc46a3b7671cdaefb\\$__","g"),e["contracts/crypto/PoseidonT4.sol:PoseidonT4"].replace(/^0x/,"").toLowerCase())}getDeployTransaction(e){return super.getDeployTransaction(e||{})}deploy(e){return super.deploy(e||{})}connect(e){return super.connect(e)}static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.MessageProcessor__factory=b,b.bytecode=i,b.abi=r},49840:(e,t,n)=>{e=n.nmd(e);var a=n(7985),r=t&&!t.nodeType&&t,i=r&&e&&!e.nodeType&&e,f=i&&i.exports===r&&a.process,b=function(){try{var e=i&&i.require&&i.require("util").types;if(e)return e;return f&&f.binding&&f.binding("util")}catch(e){}}();e.exports=b},50687:e=>{e.exports=function(e){return function(){return e}}},50797:(e,t,n)=>{"use strict";async function a(e){let t=Object.keys(e);return(await Promise.all(t.map(t=>Promise.resolve(e[t])))).reduce((e,n,a)=>(e[t[a]]=n,e),{})}function r(e,t,n){for(let a in t){let r=t[a],i=n?n[a]:null;i&&function(e,t,n){let a=t.split("|").map(e=>e.trim());for(let n=0;n<a.length;n++)switch(t){case"any":return;case"bigint":case"boolean":case"number":case"string":if(typeof e===t)return}let r=Error(`invalid value for type ${t}`);throw r.code="INVALID_ARGUMENT",r.argument=`value.${n}`,r.value=e,r}(r,i,a),Object.defineProperty(e,a,{enumerable:!0,value:r,writable:!1})}}n.d(t,{k:()=>a,n:()=>r})},50871:(e,t,n)=>{"use strict";
1Object.defineProperty(t,"__esModule",{value:!0}),t.ERC20VotesCheckerFactory__factory=void 0;let a=n(27653),r=[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"clone",type:"address"}],name:"CloneDeployed",type:"event"},{inputs:[],name:"IMPLEMENTATION",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_token",type:"address"},{internalType:"uint256",name:"_snapshotBlock",type:"uint256"},{internalType:"uint256",name:"_threshold",type:"uint256"}],name:"deploy",outputs:[{internalType:"address",name:"clone",type:"address"}],stateMutability:"nonpayable",type:"function"}],i="0x60a0604052348015600f57600080fd5b50604051601a906046565b604051809103906000f0801580156035573d6000803e3d6000fd5b506001600160a01b03166080526053565b6104608061030883390190565b608051610294610074600039600081816040015261013201526102946000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80633a4741bd1461003b578063cfda54781461007e575b600080fd5b6100627f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b61006261008c36600461021d565b604080516001600160a01b038516602082015290810183905260608101829052600090819060800160405160208183030381529060405290506100ce8161012b565b9150816001600160a01b0316638129fc1c6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561010b57600080fd5b505af115801561011f573d6000803e3d6000fd5b50505050509392505050565b60006101577f000000000000000000000000000000000000000000000000000000000000000083610193565b6040519091506001600160a01b038216907f2158cde9935cbf85d0b02e02fbc315ad0be2f3f017a603a2ebeedead21b8d60b90600090a2919050565b60006101a1600084846101a8565b9392505050565b600060405182518060438301826020870160045afa506e5af43d82803e903d91602b57fd5bf360238301528460148301528060881b74fe61002d3d81600a3d39f3363d3d373d3d3d363d730182526037810161ffd38210600b01830187f092505050806101a15763301164256000526004601cfd5b60008060006060848
1603121561023257600080fd5b83356001600160a01b038116811461024957600080fd5b9560208501359550604090940135939250505056fea26469706673582212208a607652b2673217a4344a67f39444d697ecaa869fd11e2982e001774edfab5864736f6c634300081c00336080604052348015600f57600080fd5b506104418061001f6000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80638129fc1c1161005b5780638129fc1c146100c4578063b41a4b19146100ce578063e2b24085146100e3578063fc0c546a146100f657600080fd5b8063158ef93e146100825780631f90b2a5146100a457806342cde4e8146100bb575b600080fd5b60005461008f9060ff1681565b60405190151581526020015b60405180910390f35b6100ad60015481565b60405190815260200161009b565b6100ad60025481565b6100cc610126565b005b6100d6610130565b60405161009b91906102ce565b61008f6100f1366004610334565b61013f565b60005461010e9061010090046001600160a01b031681565b6040516001600160a01b03909116815260200161009b565b61012e610154565b565b606061013a6101b4565b905090565b600061014c8484846101bf565b949350505050565b61015c61026d565b60006101666101b4565b905060008060008380602001905181019061018191906103bb565b600080546001600160a01b0390941661010002610100600160a81b03199094169390931790925560015560025550505050565b606061013a3061029f565b6000808054600154604051630748d63560e31b81526001600160a01b03888116600483015260248201929092526101009092041690633a46b1a890604401602060405180830381865afa15801561021a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061023e91906103f2565b90506002548111610262576040516351940b3960e11b815260040160405180910390fd5b506001949350505050565b60005460ff16156102905760405162dc149f60e41b815260040160405180910390fd5b6000805460ff19166001179055565b60405164ffffffffff602c19833b0116808252602090810190602d908301843c60408101815101604052919050565b602081526000825180602084015260005b818110156102fc57602081860181015160408684010152016102df565b506000604082850101526040601f19601f83011684010191505092915050565b6001600160a01b038116811461033157600080fd5b50565b60008060006040848603121561034957600080fd5b83356103548161031c565b9250602084013567ffffffffffffffff81111561037057600080fd5b8401601f8101861361038157600080fd5b803567ffffffffffffffff81111561039857600080fd5b8660208284010111156103aa57600080fd5b939660209190910195509293505050565b60008060006060848
160312156103d057600080fd5b83516103db8161031c565b602085015160409095015190969495509392505050565b60006020828403121561040457600080fd5b505191905056fea2646970667358221220a28a321e4aca83ad3c36204768725c7bcceb13a4c77a84f91311a3439919ea1364736f6c634300081c0033",f=e=>e.length>1;class b extends a.ContractFactory{constructor(...e){f(e)?super(...e):super(r,i,e[0])}getDeployTransaction(e){return super.getDeployTransaction(e||{})}deploy(e){return super.deploy(e||{})}connect(e){return super.connect(e)}static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.ERC20VotesCheckerFactory__factory=b,b.bytecode=i,b.abi=r},51505:(e,t,n)=>{var a=n(13703),r=n(33332),i=n(49840),f=i&&i.isSet;e.exports=f?r(f):a},52400:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isTallied=t.getResults=t.getResultPerOption=t.verify=t.generateTallyCommitments=void 0;var a=n(85582);Object.defineProperty(t,"generateTallyCommitments",{enumerable:!0,get:function(){return a.generateTallyCommitments}});var r=n(11767);Object.defineProperty(t,"verify",{enumerable:!0,get:function(){return r.verify}});var i=n(14614);Object.defineProperty(t,"getResultPerOption",{enumerable:!0,get:function(){return i.getResultPerOption}}),Object.defineProperty(t,"getResults",{enumerable:!0,get:function(){return i.getResults}}),Object.defineProperty(t,"isTallied",{enumerable:!0,get:function(){return i.isTallied}})},52407:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EASChecker__factory=void 0;let a=n(27653),r=[{inputs:[],name:"AlreadyInitialized",type:"error"},{inputs:[],name:"AttestationRevoked",type:"error"},{inputs:[],name:"AttesterNotTrusted",type:"error"},{inputs:[],name:"InvalidSchema",type:"error"},{inputs:[],name:"NotYourAttestation",type:"error"},{inputs:[],name:"attester",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"subject",type:"address"},{internalType:"bytes",name:"evidence",type:"bytes"}],name:"check",outputs:[{internalType:"bool",name:"checked",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"eas",outputs:[{internalType:"contract IEAS",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getAppendedBytes",outputs:[{internalType:"bytes",name:"appendedBytes",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"initialized",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"schema",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"}],i="0x6080604052348015600f57600080fd5b5061070c8061001f6000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80638150864d1161005b5780638150864d146100d9578063b41a4b19146100f1578063e2b2408514610106578063f8895cc81461011957600080fd5b8063158ef93e1461008257806347b0c3b3146100a45780638129fc1c146100cf575b600080fd5b60005461008f9060ff1681565b60405190151581526020015b60405180910390f35b6002546100b7906001600160a01b031681565b6040516001600160a01b03909116815260200161009b565b6100d7610130565b005b6000546100b79061010090046001600160a01b031681565b6100f961013a565b60405161009b91906103b2565b61008f6101143660046103fd565b610149565b61012260015481565b60405190815260200161009b565b61013861015e565b565b60606101446101ce565b905090565b60006101568484846101d9565b949350505050565b61016661032d565b60006101706101ce565b905060008060008380602001905181019061018b9190610484565b60008054610100600160a81b0319166101006001600160a01b0395861602179055600280546001600160a01b031916929093169190911790915560015550505050565b60606101443061035f565b6000806101e8838501856104c8565b600080546040516328c44a9960e21b81526004810184905292935090916101009091046001600160a01b03169063a3112a6490602401600060405180830381865afa15801561023b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261026391908101906105dc565b905060015481602001511461028b57604051635f9bd90760e11b815260040160405180910390fd5b60025460e08201516001600160a01b039081169116146102be5760405163cd74a32b60e01b815260040160405180910390fd5b608081015167ffffffffffffffff16156102eb57604051637b6227e960e11b815260040160405180910390fd5b856001600160a01b03168160c001516001600160a01b03161461032157604051633f97208360e11b815260040160405180910390fd5b50600195945050505050565b60005460ff16156103505760405162dc149f60e41b815260040160405180910390fd5b6000805460ff19166001179055565b60405164ffffffffff602c19833b0116808252602090810190602d908301843c60408101815101604052919050565b60005b838110156103a9578181015183820152602001610391565b50506000910152565b60208152600082518060208401526103d181604085016020870161038e565b601f01601f19169190910160400192915050565b6001600160a01b03811681146103fa57600080fd5b50565b60008060006040848603121561041257600080fd5b833561041d816103e5565b9250602084013567ffffffffffffffff81111561043957600080fd5b8401601f8101861361044a57600080fd5b803567ffffffffffffffff81111561046157600080fd5b86602082840101111561047357600080fd5b939660209190910195509293505050565b60008060006060848
1603121561049957600080fd5b83516104a4816103e5565b60208501519093506104b5816103e5565b6040949094015192959394509192915050565b6000602082840312156104da57600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b604051610140810167ffffffffffffffff8111828210171561051b5761051b6104e1565b60405290565b805167ffffffffffffffff8116811461053957600080fd5b919050565b8051610539816103e5565b8051801515811461053957600080fd5b600082601f83011261056a57600080fd5b815167ffffffffffffffff811115610584576105846104e1565b604051601f8201601f19908116603f0116810167ffffffffffffffff811182821017156105b3576105b36104e1565b6040528181528382016020018510156105cb57600080fd5b61015682602083016020870161038e565b6000602082840312156105ee57600080fd5b815167ffffffffffffffff81111561060557600080fd5b8201610140818503121561061857600080fd5b6106206104f7565b815181526020808301519082015261063a60408301610521565b604082015261064b60608301610521565b606082015261065c60808301610521565b608082015260a0828101519082015261067760c0830161053e565b60c082015261068860e0830161053e565b60e082015261069a6101008301610549565b61010082015261012082015167ffffffffffffffff8111156106bb57600080fd5b6106c786828501610559565b6101208301525094935050505056fea264697066735822122063346c72a5946266d80557e5a890d70b0e279551d67f1b702d09d721a6c4092364736f6c634300081c0033",f=e=>e.length>1;class b extends a.ContractFactory{constructor(...e){f(e)?super(...e):super(r,i,e[0])}getDeployTransaction(e){return super.getDeployTransaction(e||{})}deploy(e){return super.deploy(e||{})}connect(e){return super.connect(e)}static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.EASChecker__factory=b,b.bytecode=i,b.abi=r},52470:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.VOTE_OPTION_TREE_ARITY=t.MESSAGE_BATCH_SIZE=t.STATE_TREE_ARITY=t.generateTallyVerifyingKeySignature=t.generateProcessVerifyingKeySignature=t.generatePollJoinedVerifyingKeySignature=t.generatePollJoiningVerifyingKeySignature=t.EMode=t.Poll=t.MaciState=void 0;var a=n(41333);Object.defineProperty(t,"MaciState",{enumerable:!0,get:function(){return a.MaciState}});var r=n(92795);Object.defineProperty(t,"Poll",{enumerable:!0,get:function(){return r.Poll}});var i=n(92473);Object.defineProperty(t,"EMode",{enumerable:!0,get:function(){return i.EMode}});var f=n(82061);Object.defineProperty(t,"generatePollJoiningVerifyingKeySignature",{enumerable:!0,get:function(){return f.generatePollJoiningVerifyingKeySignature}}),Object.defineProperty(t,"generatePollJoinedVerifyingKeySignature",{enumerable:!0,get:function(){return f.generatePollJoinedVerifyingKeySignature}}),Object.defineProperty(t,"generateProcessVerifyingKeySignature",{enumerable:!0,get:function(){return f.generateProcessVerifyingKeySignature}}),Object.defineProperty(t,"generateTallyVerifyingKeySignature",{enumerable:!0,get:function(){return f.generateTallyVerifyingKeySignature}});var b=n(92473);Object.defineProperty(t,"STATE_TREE_ARITY",{enumerable:!0,get:function(){return b.STATE_TREE_ARITY}}),Object.defineProperty(t,"MESSAGE_BATCH_SIZE",{enumerable:!0,get:function(){return b.MESSAGE_BATCH_SIZE}}),Object.defineProperty(t,"VOTE_OPTION_TREE_ARITY",{enumerable:!0,get:function(){return b.VOTE_OPTION_TREE_ARITY}})},52670:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MockAnonAadhaar__factory=void 0;let a=n(27653),r=[{inputs:[],name:"flipValid",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"valid",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"nullifierSeed",type:"uint256"},{internalType:"uint256",name:"nullifier",type:"uint256"},{internalType:"uint256",name:"timestamp",type:"uint256"},{internalType:"uint256",name:"signal",type:"uint256"},{internalType:"uint256[4]",name:"revealArray",type:"uint256[4]"},{internalType:"uint256[8]",name:"groth16Proof",type:"uint256[8]"}],name:"verifyAnonAadhaarProof",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"}],i="0x60806040526000805460ff19166001179055348015601c57600080fd5b506102058061002c6000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80633d45d9ea1461004657806350de0e571461005f578063c199121914610091575b600080fd5b61005d6000805460ff19811660ff90911615179055565b005b61007d61006d366004610120565b60005460ff169695505050505050565b604051901515815260200160405180910390f35b60005461007d9060ff1681565b604051601f8201601f1916810167ffffffffffffffff811182821017156100d557634e487b7160e01b600052604160045260246000fd5b604052919050565b60006101006100eb8161009e565b9150820181848211156100fd57600080fd5b835b828110156101175780358252602091820191016100ff565b50505092915050565b600080600080600080610200878903121561013a57600080fd5b863595506020870135945060408701359350606087013592506000609f88018913610163578081fd5b8061016e608061009e565b905080915061010089018a81111561018557600080fd5b60808a015b818110156101a257803584526020938401930161018a565b508194508a61011f8b01126101b657600080fd5b6101c08b826100dd565b9350505050929550929550929556fea2646970667358221220063e4d05093dcd16a718847a17e2f342aa3b4f3c306c8193148ba4cc43d6b72664736f6c634300081c0033",f=e=>e.length>1;class b extends a.ContractFactory{constructor(...e){f(e)?super(...e):super(r,i,e[0])}getDeployTransaction(e){return super.getDeployTransaction(e||{})}deploy(e){return super.deploy(e||{})}connect(e){return super.connect(e)}static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}
1t.MockAnonAadhaar__factory=b,b.bytecode=i,b.abi=r},52906:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SemaphorePolicyFactory__factory=void 0;let a=n(27653),r=[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"clone",type:"address"}],name:"CloneDeployed",type:"event"},{inputs:[],name:"IMPLEMENTATION",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"checkerAddress",type:"address"}],name:"deploy",outputs:[{internalType:"address",name:"clone",type:"address"}],stateMutability:"nonpayable",type:"function"}],i="0x60a0604052348015600f57600080fd5b50604051601a906046565b604051809103906000f0801580156035573d6000803e3d6000fd5b506001600160a01b03166080526053565b6109b5806102e183390190565b60805161026d6100746000396000818160400152610123015261026d6000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80633a4741bd1461003b5780634c96a3891461007e575b600080fd5b6100627f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b61006261008c36600461020e565b604080513360208201526001600160a01b0383168183015281518082038301815260609091019091526000906100c18161011c565b9150816001600160a01b0316638129fc1c6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156100fe57600080fd5b505af1158015610112573d6000803e3d6000fd5b5050505050919050565b60006101487f000000000000000000000000000000000000000000000000000000000000000083610184565b6040519091506001600160a01b038216907f2158cde9935cbf85d0b02e02fbc315ad0be2f3f017a603a2ebeedead21b8d60b90600090a2919050565b600061019260008484610199565b9392505050565b600060405182518060438301826020870160045afa506e5af43d82803e903d91602b57fd5bf360238301528460148301528060881b74fe61002d3d81600a3d39f3363d3d373d3d3d363d730182526037810161ffd38210600b01830187f092505050806101925763301164256000526004601cfd5b60006020828403121561022057600080fd5b81356001600160a01b038116811461019257600080fdfea26469706673582212202af3d48a6b056fd8afff9b46c14309b25dfba76cb1c31de086238c31f8ed161864736f6c634300081c003360806040523380602957604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b6030816035565b50608e565b600080546001600160a01b03838116610100818102610100600160a81b0319851617855560405193049190911692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35050565b6109188061009d6000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c8063811608fd11610071578063811608fd146101495780638129fc1c1461016c5780638da5cb5b14610174578063b41a4b191461018a578063ce343deb1461019f578063f2fde38b146101c457600080fd5b8063158ef93e146100b95780631e898ef1146100db578063715018a6146100f057806372f7a030146100f8578063776d1a01146101235780637e16420414610136575b600080fd5b6000546100c69060ff1681565b60405190151581526020015b60405180910390f35b6100ee6100e93660046105f3565b6101d7565b005b6100ee610212565b60015461010b906001600160a01b031681565b6040516001600160a01b0390911681526020016100d2565b6100ee61013136600461067a565b610226565b60025461010b906001600160a01b031681565b6100c661015736600461069e565b60036020526000908152604090205460ff1681565b6100ee6102c9565b60005461010090046001600160a01b031661010b565b6101926102d1565b6040516100d291906106fd565b60408051808201909152600981526853656d6170686f726560b81b6020820152610192565b6100ee6101d236600461067a565b6102e0565b6001546001600160a01b0316331461020257604051631f492dbf60e21b815260040160405180910390fd5b61020d838383610323565b505050565b61021a610396565b61022460006103c9565b565b61022e610396565b6001600160a01b0381166102555760405163d92e233d60e01b815260040160405180910390fd5b6001546001600160a01b03161561027f5760405163e0f2d7b160e01b815260040160405180910390fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040517f3bfb4bbf112628248058745a3c57e35b13369386e474b8e56c552f3063a4a19690600090a250565b610224610422565b60606102db61047e565b905090565b6102e8610396565b6001600160a01b03811661031757604051631e4fbdf760e01b8152600060048201526024015b60405180910390fd5b610320816103c9565b50565b600061033182840184610773565b6040808201516000818152600360205291909120549192509060ff161561036b57604051633440c93360e21b815260040160405180910390fd5b6000818152600360205260409020805460ff1916600117905561038f858585610489565b5050505050565b6000546001600160a01b036101009091041633146102245760405163118cdaa760e01b815233600482015260240161030e565b600080546001600160a01b03838116610100818102610100600160a81b0319851617855560405193049190911692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35050565b61042a61056c565b600061043461047e565b90506000808280602001905181019061044d9190610813565b9150915061045a826103c9565b600280546001600160a01b0319166001600160a01b03929092169190911790555050565b60606102db3061057d565b60025460405163e2b2408560e01b81526001600160a01b039091169063e2b24085906104bd90869086908690600401610876565b602060405180830381865afa1580156104da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104fe91906108a4565b61051b57604051634715494560e01b815260040160405180910390fd5b6001546040516001600160a01b03918216918516907fc013b39287cb7a53f776482ac9573829321f002f31ef8782129b41d60047bda09061055f90869086906108c6565b60405180910390a3505050565b6105746105ac565b610224336103c9565b60405164ffffffffff602c19833b0116808252602090810190602d908301843c60408101815101604052919050565b60005460ff16156105cf5760405162dc149f60e41b815260040160405180910390fd5b6000805460ff19166001179055565b6001600160a01b038116811461032057600080fd5b60008060006040848603121561060857600080fd5b8335610613816105de565b9250602084013567ffffffffffffffff81111561062f57600080fd5b8401601f8101861361064057600080fd5b803567ffffffffffffffff81111561065757600080fd5b86602082840101111561066957600080fd5b939660209190910195509293505050565b60006020828403121561068c57600080fd5b8135610697816105de565b9392505050565b6000602082840312156106b057600080fd5b5035919050565b6000815180845260005b818110156106dd576020818501810151868301820152016106c1565b506000602082860101526020601f19601f83011685010191505092915050565b60208152600061069760208301846106b7565b634e487b7160e01b600052604160045260246000fd5b60405160c0810167ffffffffffffffff8111828210171561074957610749610710565b60405290565b604051610100810167ffffffffffffffff8111828210171561074957610749610710565b60006101a082840312801561078757600080fd5b506000610792610726565b833581526020808501359082015260408085013590820152606080850135908201526080808501359082015260bf840185136107cc578182fd5b6107d461074f565b806101a08601878111156107e6578485fd5b60a087015b818110156108035780358452602093840193016107eb565b505060a083015250949350505050565b6000806040838503121561082657600080fd5b8251610831816105de565b6020840151909250610842816105de565b809150509250929050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b038416815260406020820181905260009061089b908301848661084d565b95945050505050565b6000602082840312156108b657600080fd5b8151801515811461069757600080fd5b6020815260006108da60208301848661084d565b94935050505056fea2646970667358221220614bd3826ae6a56e5f5ffb5df207ad5aa9f63d5c2f7568477b9a0faf0d78a1e564736f6c634300081c0033",f=e=>e.length>1;class b extends a.ContractFactory{constructor(...e){f(e)?super(...e):super(r,i,e[0])}getDeployTransaction(e){return super.getDeployTransaction(e||{})}deploy(e){return super.deploy(e||{})}connect(e){return super.connect(e)}static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.SemaphorePolicyFactory__factory=b,b.bytecode=i,b.abi=r}
1,52989:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.GitcoinPassportCheckerFactory__factory=void 0;let a=n(27653),r=[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"clone",type:"address"}],name:"CloneDeployed",type:"event"},{inputs:[],name:"IMPLEMENTATION",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"passportDecoder",type:"address"},{internalType:"uint256",name:"thresholdScore",type:"uint256"}],name:"deploy",outputs:[{internalType:"address",name:"clone",type:"address"}],stateMutability:"nonpayable",type:"function"}],i="0x60a0604052348015600f57600080fd5b50604051601a906046565b604051809103906000f0801580156035573d6000803e3d6000fd5b506001600160a01b03166080526053565b610475806102f283390190565b60805161027e6100746000396000818160400152610125015261027e6000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80633a4741bd1461003b5780634956eaf01461007e575b600080fd5b6100627f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b61006261008c366004610210565b604080516001600160a01b038416602082015280820183905281518082038301815260609091019091526000906100c28161011e565b9150816001600160a01b0316638129fc1c6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156100ff57600080fd5b505af1158015610113573d6000803e3d6000fd5b505050505092915050565b600061014a7f000000000000000000000000000000000000000000000000000000000000000083610186565b6040519091506001600160a01b038216907f2158cde9935cbf85d0b02e02fbc315ad0be2f3f017a603a2ebeedead21b8d60b90600090a2919050565b60006101946000848461019b565b9392505050565b600060405182518060438301826020870160045afa506e5af43d82803e903d91602b57fd5bf360238301528460148301528060881b74fe61002d3d81600a3d39f3363d3d373d3d3d363d730182526037810161ffd38210600b01830187f092505050806101945763301164256000526004601cfd5b6000806040838503121561022357600080fd5b82356001600160a01b038116811461023a57600080fd5b94602093909301359350505056fea2646970667358221220dfc4707e95d3b331ecf57b4680529980d9e9eea76952418b99f1d0290b986a7864736f6c634300081c00336080604052348015600f57600080fd5b506104568061001f6000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80638129fc1c1161005b5780638129fc1c146100c3578063b41a4b19146100cd578063d237884e146100e2578063e2b240851461011257600080fd5b8063019d0bb414610082578063158ef93e1461009e57806335815b95146100bb575b600080fd5b61008b60015481565b6040519081526020015b60405180910390f35b6000546100ab9060ff1681565b6040519015158152602001610095565b61008b606481565b6100cb610125565b005b6100d561012f565b60405161009591906102ca565b6000546100fa9061010090046001600160a01b031681565b6040516001600160a01b039091168152602001610095565b6100ab610120366004610330565b61013e565b61012d610153565b565b60606101396101ad565b905090565b600061014b8484846101b8565b949350505050565b61015b610269565b60006101656101ad565b90506000808280602001905181019061017e91906103b7565b600080546001600160a01b0390931661010002610100600160a81b031990931692909217909155600155505050565b60606101393061029b565b6000808054604051630d47875d60e41b81526001600160a01b0387811660048301526101009092049091169063d47875d090602401602060405180830381865afa15801561020a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061022e91906103e5565b60015490915061023f6064836103fe565b101561025e57604051630e94124b60e01b815260040160405180910390fd5b506001949350505050565b60005460ff161561028c5760405162dc149f60e41b815260040160405180910390fd5b6000805460ff19166001179055565b60405164ffffffffff602c19833b0116808252602090810190602d908301843c60408101815101604052919050565b602081526000825180602084015260005b818110156102f857602081860181015160408684010152016102db565b506000604082850101526040601f19601f83011684010191505092915050565b6001600160a01b038116811461032d57600080fd5b50565b60008060006040848603121561034557600080fd5b833561035081610318565b9250602084013567ffffffffffffffff81111561036c57600080fd5b8401601f8101861361037d57600080fd5b803567ffffffffffffffff81111561039457600080fd5b8660208284010111156103a657600080fd5b939660209190910195509293505050565b600080604083850312156103ca57600080fd5b82516103d581610318565b6020939093015192949293505050565b6000602082840312156103f757600080fd5b5051919050565b60008261041b57634e487b7160e01b600052601260045260246000fd5b50049056fea2646970667358221220688b9fd95c196dee4e9c61103a6a2998b6b3b2f4612411dce84b3789740358d464736f6c634300081c0033",f=e=>e.length>1;class b extends a.ContractFactory{constructor(...e){f(e)?super(...e):super(r,i,e[0])}getDeployTransaction(e){return super.getDeployTransaction(e||{})}deploy(e){return super.deploy(e||{})}connect(e){return super.connect(e)}static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.GitcoinPassportCheckerFactory__factory=b,b.bytecode=i,b.abi=r}
1,53002:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MerkleProofPolicyFactory__factory=t.MerkleProofPolicy__factory=t.MerkleProofCheckerFactory__factory=t.MerkleProofChecker__factory=void 0;var a=n(32515);Object.defineProperty(t,"MerkleProofChecker__factory",{enumerable:!0,get:function(){return a.MerkleProofChecker__factory}});var r=n(21687);Object.defineProperty(t,"MerkleProofCheckerFactory__factory",{enumerable:!0,get:function(){return r.MerkleProofCheckerFactory__factory}});var i=n(44620);Object.defineProperty(t,"MerkleProofPolicy__factory",{enumerable:!0,get:function(){return i.MerkleProofPolicy__factory}});var f=n(48558);Object.defineProperty(t,"MerkleProofPolicyFactory__factory",{enumerable:!0,get:function(){return f.MerkleProofPolicyFactory__factory}})},53409:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IEAS__factory=t.EASPolicyFactory__factory=t.EASPolicy__factory=t.EASCheckerFactory__factory=t.EASChecker__factory=void 0;var a=n(52407);Object.defineProperty(t,"EASChecker__factory",{enumerable:!0,get:function(){return a.EASChecker__factory}});var r=n(27819);Object.defineProperty(t,"EASCheckerFactory__factory",{enumerable:!0,get:function(){return r.EASCheckerFactory__factory}});var i=n(16648);Object.defineProperty(t,"EASPolicy__factory",{enumerable:!0,get:function(){return i.EASPolicy__factory}});var f=n(80202);Object.defineProperty(t,"EASPolicyFactory__factory",{enumerable:!0,get:function(){return f.EASPolicyFactory__factory}});var b=n(57095);Object.defineProperty(t,"IEAS__factory",{enumerable:!0,get:function(){return b.IEAS__factory}})},53696:(e,t,n)=>{var a=n(75899),r=Object.prototype.hasOwnProperty;e.exports=function(e){var t=this.__data__;if(a){var n=t[e];return"__lodash_hash_undefined__"===n?void 0:n}return r.call(t,e)?t[e]:void 0}},54094:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Ownable__factory=void 0;var a=n(99722);Object.defineProperty(t,"Ownable__factory",{enumerable:!0,get:function(){return a.Ownable__factory}})},54360:(e,t,n)=>{var a=n(58817);e.exports=function(e,t){for(var n=e.length;n--;)if(a(e[n][0],t))return n;return -1}},54476:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FreeForAllPolicyFactory__factory=void 0;let a=n(27653),r=[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"clone",type:"address"}],name:"CloneDeployed",type:"event"},{inputs:[],name:"IMPLEMENTATION",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_checkerAddress",type:"address"}],name:"deploy",outputs:[{internalType:"address",name:"clone",type:"address"}],stateMutability:"nonpayable",type:"function"}],i="0x60a0604052348015600f57600080fd5b50604051601a906046565b604051809103906000f0801580156035573d6000803e3d6000fd5b506001600160a01b03166080526053565b6107f9806102e183390190565b60805161026d6100746000396000818160400152610123015261026d6000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80633a4741bd1461003b5780634c96a3891461007e575b600080fd5b6100627f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b61006261008c36600461020e565b604080513360208201526001600160a01b0383168183015281518082038301815260609091019091526000906100c18161011c565b9150816001600160a01b0316638129fc1c6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156100fe57600080fd5b505af1158015610112573d6000803e3d6000fd5b5050505050919050565b60006101487f000000000000000000000000000000000000000000000000000000000000000083610184565b6040519091506001600160a01b038216907f2158cde9935cbf85d0b02e02fbc315ad0be2f3f017a603a2ebeedead21b8d60b90600090a2919050565b600061019260008484610199565b9392505050565b600060405182518060438301826020870160045afa506e5af43d82803e903d91602b57fd5bf360238301528460148301528060881b74fe61002d3d81600a3d39f3363d3d373d3d3d363d730182526037810161ffd38210600b01830187f092505050806101925763301164256000526004601cfd5b60006020828403121561022057600080fd5b81356001600160a01b038116811461019257600080fdfea26469706673582212206e4d6e2989992f04bed86c6860f95def1950aac204392bc58a6ecf59d248d30a64736f6c634300081c003360806040523380602957604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b6030816035565b50608e565b600080546001600160a01b03838116610100818102610100600160a81b0319851617855560405193049190911692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35050565b61075c8061009d6000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c80637e164204116100715780637e1642041461012b5780638129fc1c1461013e5780638da5cb5b14610146578063b41a4b191461015c578063ce343deb14610171578063f2fde38b1461019757600080fd5b8063158ef93e146100ae5780631e898ef1146100d0578063715018a6146100e557806372f7a030146100ed578063776d1a0114610118575b600080fd5b6000546100bb9060ff1681565b60405190151581526020015b60405180910390f35b6100e36100de366004610553565b6101aa565b005b6100e36101e5565b600154610100906001600160a01b031681565b6040516001600160a01b0390911681526020016100c7565b6100e36101263660046105da565b6101f9565b600254610100906001600160a01b031681565b6100e361029c565b60005461010090046001600160a01b0316610100565b6101646102a4565b6040516100c79190610644565b60408051808201909152600a815269119c9959519bdc905b1b60b21b6020820152610164565b6100e36101a53660046105da565b6102b3565b6001546001600160a01b031633146101d557604051631f492dbf60e21b815260040160405180910390fd5b6101e08383836102f6565b505050565b6101ed6103d9565b6101f7600061040c565b565b6102016103d9565b6001600160a01b0381166102285760405163d92e233d60e01b815260040160405180910390fd5b6001546001600160a01b0316156102525760405163e0f2d7b160e01b815260040160405180910390fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040517f3bfb4bbf112628248058745a3c57e35b13369386e474b8e56c552f3063a4a19690600090a250565b6101f76104
165565b60606102ae6104c1565b905090565b6102bb6103d9565b6001600160a01b0381166102ea57604051631e4fbdf760e01b8152600060048201526024015b60405180910390fd5b6102f38161040c565b50565b60025460405163e2b2408560e01b81526001600160a01b039091169063e2b240859061032a90869086908690600401610680565b602060405180830381865afa158015610347573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061036b91906106ae565b61038857604051634715494560e01b815260040160405180910390fd5b6001546040516001600160a01b03918216918516907fc013b39287cb7a53f776482ac9573829321f002f31ef8782129b41d60047bda0906103cc90869086906106d0565b60405180910390a3505050565b6000546001600160a01b036101009091041633146101f75760405163118cdaa760e01b81523360048201526024016102e1565b600080546001600160a01b03838116610100818102610100600160a81b0319851617855560405193049190911692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35050565b61046d6104cc565b60006104776104c1565b90506000808280602001905181019061049091906106ec565b9150915061049d8261040c565b600280546001600160a01b0319166001600160a01b03929092169190911790555050565b60606102ae306104dd565b6104d461050c565b6101f73361040c565b60405164ffffffffff602c19833b0116808252602090810190602d908301843c60408101815101604052919050565b60005460ff161561052f5760405162dc149f60e41b815260040160405180910390fd5b6000805460ff19166001179055565b6001600160a01b03811681146102f357600080fd5b60008060006040848603121561056857600080fd5b83356105738161053e565b9250602084013567ffffffffffffffff81111561058f57600080fd5b8401601f810186136105a057600080fd5b803567ffffffffffffffff8111156105b757600080fd5b8660208284010111156105c957600080fd5b939660209190910195509293505050565b6000602082840312156105ec57600080fd5b81356105f78161053e565b9392505050565b6000815180845260005b8181101561062457602081850181015186830182015201610608565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006105f760208301846105fe565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b03841681526040602082018190526000906106a59083018486610657565b95945050505050565b6000602082840312156106c057600080fd5b815180151581146105f757600080fd5b6020815260006106e4602083018486610657565b949350505050565b600080604083850312156106ff57600080fd5b825161070a8161053e565b602084015190925061071b8161053e565b80915050925092905056fea264697066735822122089e6f48a389a1f15a9ad7a80de81e6579b346d67882544c102db56e828d31a3f64736f6c634300081c0033",f=e=>e.length>1;class b extends a.ContractFactory{constructor(...e){f(e)?super(...e):super(r,i,e[0])}getDeployTransaction(e){return super.getDeployTransaction(e||{})}deploy(e){return super.deploy(e||{})}connect(e){return super.connect(e)}static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.FreeForAllPolicyFactory__factory=b,b.bytecode=i,b.abi=r},54648:(e,t,n)=>{var a=n(11670),r=n(78302),i=n(22471);e.exports=function(e){return i(e)?a(e,!0):r(e)}},54815:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Pairing__factory=void 0;let a=n(27653),r=[{inputs:[],name:"PairingAddFailed",type:"error"},{inputs:[],name:"PairingMulFailed",type:"error"},{inputs:[],name:"PairingOpcodeFailed",type:"error"},{inputs:[],name:"PRIME_Q",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"}],i="0x60a66037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361060335760003560e01c80638d532908146038575b600080fd5b605e7f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4781565b60405190815260200160405180910390f3fea2646970667358221220b24d133a1d9bb29329df9a0c7d266f7930bbbae68f709584710eec44dd3c592e64736f6c634300081c0033",f=e=>e.length>1;class b extends a.ContractFactory{constructor(...e){f(e)?super(...e):super(r,i,e[0])}getDeployTransaction(e){return super.getDeployTransaction(e||{})}deploy(e){return super.deploy(e||{})}connect(e){return super.connect(e)}static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.Pairing__factory=b,b.bytecode=i,b.abi=r},54906:(e,t,n)=>{var a=n(83711);e.exports=function(){try{var e=a(Object,"defineProperty");return e({},"",{}),e}catch(e){}}()},55024:(e,t,n)=>{"use strict";
1Object.defineProperty(t,"__esModule",{value:!0}),t.IVerifyingKeysRegistry__factory=t.IVerifier__factory=t.ITallyFactory__factory=t.ITally__factory=t.ISemaphore__factory=t.IPollFactory__factory=t.IPoll__factory=t.IMessageProcessorFactory__factory=t.IMessageProcessor__factory=t.IMACI__factory=t.IInitialVoiceCreditProxy__factory=void 0;var a=n(24012);Object.defineProperty(t,"IInitialVoiceCreditProxy__factory",{enumerable:!0,get:function(){return a.IInitialVoiceCreditProxy__factory}});var r=n(97983);Object.defineProperty(t,"IMACI__factory",{enumerable:!0,get:function(){return r.IMACI__factory}});var i=n(25269);Object.defineProperty(t,"IMessageProcessor__factory",{enumerable:!0,get:function(){return i.IMessageProcessor__factory}});var f=n(46624);Object.defineProperty(t,"IMessageProcessorFactory__factory",{enumerable:!0,get:function(){return f.IMessageProcessorFactory__factory}});var b=n(64698);Object.defineProperty(t,"IPoll__factory",{enumerable:!0,get:function(){return b.IPoll__factory}});var s=n(39880);Object.defineProperty(t,"IPollFactory__factory",{enumerable:!0,get:function(){return s.IPollFactory__factory}});var o=n(15249);Object.defineProperty(t,"ISemaphore__factory",{enumerable:!0,get:function(){return o.ISemaphore__factory}});var c=n(31881);Object.defineProperty(t,"ITally__factory",{enumerable:!0,get:function(){return c.ITally__factory}});var d=n(7681);Object.defineProperty(t,"ITallyFactory__factory",{enumerable:!0,get:function(){return d.ITallyFactory__factory}});var u=n(31031);Object.defineProperty(t,"IVerifier__factory",{enumerable:!0,get:function(){return u.IVerifier__factory}});var l=n(39219);Object.defineProperty(t,"IVerifyingKeysRegistry__factory",{enumerable:!0,get:function(){return l.IVerifyingKeysRegistry__factory}})},55880:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MockHatsProtocol__factory=void 0;let a=n(27653),r=[{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"hat",type:"uint256"}],name:"isWearerOfHat",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"pure",type:"function"}],i="0x6080604052348015600f57600080fd5b5060e18061001e6000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c80634352409a14602d575b600080fd5b603c60383660046075565b6050565b604051901515815260200160405180910390f35b6000816001148060605750816002145b15606b57506001606f565b5060005b92915050565b60008060408385031215608757600080fd5b82356001600160a01b0381168114609d57600080fd5b94602093909301359350505056fea264697066735822122063454a2010925537de7c69d9944d8190835d49df2c5cac3efe197ca415e7c16c64736f6c634300081c0033",f=e=>e.length>1;class b extends a.ContractFactory{constructor(...e){f(e)?super(...e):super(r,i,e[0])}getDeployTransaction(e){return super.getDeployTransaction(e||{})}deploy(e){return super.deploy(e||{})}connect(e){return super.connect(e)}static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.MockHatsProtocol__factory=b,b.bytecode=i,b.abi=r},56468:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SemaphorePolicyFactory__factory=t.SemaphorePolicy__factory=t.SemaphoreCheckerFactory__factory=t.SemaphoreChecker__factory=t.ISemaphore__factory=void 0;var a=n(93365);Object.defineProperty(t,"ISemaphore__factory",{enumerable:!0,get:function(){return a.ISemaphore__factory}});var r=n(12471);Object.defineProperty(t,"SemaphoreChecker__factory",{enumerable:!0,get:function(){return r.SemaphoreChecker__factory}});var i=n(98027);Object.defineProperty(t,"SemaphoreCheckerFactory__factory",{enumerable:!0,get:function(){return i.SemaphoreCheckerFactory__factory}});var f=n(34056);Object.defineProperty(t,"SemaphorePolicy__factory",{enumerable:!0,get:function(){return f.SemaphorePolicy__factory}});var b=n(52906);Object.defineProperty(t,"SemaphorePolicyFactory__factory",{enumerable:!0,get:function(){return b.SemaphorePolicyFactory__factory}})},57095:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IEAS__factory=void 0;let a=n(27653),r=[{inputs:[{internalType:"bytes32",name:"uid",type:"bytes32"}],name:"getAttestation",outputs:[{components:[{internalType:"bytes32",name:"uid",type:"bytes32"},{internalType:"bytes32",name:"schema",type:"bytes32"},{internalType:"uint64",name:"time",type:"uint64"},{internalType:"uint64",name:"expirationTime",type:"uint64"},{internalType:"uint64",name:"revocationTime",type:"uint64"},{internalType:"bytes32",name:"refUID",type:"bytes32"},{internalType:"address",name:"recipient",type:"address"},{internalType:"address",name:"attester",type:"address"},{internalType:"bool",name:"revocable",type:"bool"},{internalType:"bytes",name:"data",type:"bytes"}],internalType:"struct IEAS.Attestation",name:"",type:"tuple"}],stateMutability:"view",type:"function"}];
1class i{static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.IEAS__factory=i,i.abi=r},57213:e=>{e.exports=function(e,t){for(var n=-1,a=null==e?0:e.length,r=Array(a);++n<a;)r[n]=t(e[n],n,e);return r}},57334:function(e,t,n){"use strict";var a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.cleanThreads=t.sleepUntil=t.sleep=t.unlinkFile=t.isArm=void 0;let r=a(n(23005)),i=a(n(668));t.isArm=()=>i.default.arch().includes("arm"),t.unlinkFile=async e=>{r.default.existsSync(e)&&await r.default.promises.unlink(e)},t.sleep=async e=>{await new Promise(t=>{setTimeout(t,e)})};let f=async e=>{let n=e-Date.now();n>0&&await (0,t.sleep)(n)};t.sleepUntil=f,t.cleanThreads=async()=>{globalThis&&await Promise.all(["curve_bn128","curve_bls12381"].map(e=>globalThis[e]?.terminate()).filter(Boolean))}},57715:function(e,t,n){"use strict";var a,r=this&&this.__createBinding||(Object.create?function(e,t,n,a){void 0===a&&(a=n);var r=Object.getOwnPropertyDescriptor(t,n);
1(!r||("get"in r?!t.__esModule:r.writable||r.configurable))&&(r={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,a,r)}:function(e,t,n,a){void 0===a&&(a=n),e[a]=t[n]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),f=this&&this.__importStar||(a=function(e){return(a=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t})(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n=a(e),f=0;f<n.length;f++)"default"!==n[f]&&r(t,e,n[f]);return i(t,e),t});Object.defineProperty(t,"__esModule",{value:!0}),t.utils=void 0,t.utils=f(n(79773))},57824:function(e,t,n){"use strict";var a,r=this&&this.__createBinding||(Object.create?function(e,t,n,a){void 0===a&&(a=n);var r=Object.getOwnPropertyDescriptor(t,n);(!r||("get"in r?!t.__esModule:r.writable||r.configurable))&&(r={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,a,r)}:function(e,t,n,a){void 0===a&&(a=n),e[a]=t[n]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),f=this&&this.__importStar||(a=function(e){return(a=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t})(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n=a(e),f=0;f<n.length;f++)"default"!==n[f]&&r(t,e,n[f]);return i(t,e),t});Object.defineProperty(t,"__esModule",{value:!0}),t.contracts=void 0,t.contracts=f(n(48736))},57828:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DomainObjs__factory=void 0;let a=n(27653),r=[{inputs:[],name:"MESSAGE_DATA_LENGTH",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"}],i="0x6080604052348015600f57600080fd5b50608080601d6000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c8063683f3dc314602d575b600080fd5b6034600a81565b60405160ff909116815260200160405180910390f3fea26469706673582212204863607b64f6bb32e550ef5fb3ffea3f5d7aa5cbac0446b2d3a1257fce00a7c664736f6c634300081c0033",f=e=>e.length>1;class b extends a.ContractFactory{constructor(...e){f(e)?super(...e):super(r,i,e[0])}getDeployTransaction(e){return super.getDeployTransaction(e||{})}deploy(e){return super.deploy(e||{})}connect(e){return super.connect(e)}static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.DomainObjs__factory=b,b.bytecode=i,b.abi=r},58031:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IGitcoinPassportDecoder__factory=void 0;let a=n(27653),r=[{inputs:[{internalType:"address",name:"user",type:"address"}],name:"getPassport",outputs:[{components:[{internalType:"string",name:"provider",type:"string"},{internalType:"bytes32",name:"hash",type:"bytes32"},{internalType:"uint64",name:"time",type:"uint64"},{internalType:"uint64",name:"expirationTime",type:"uint64"}],internalType:"struct Credential[]",name:"",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"user",type:"address"}],name:"getScore",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"user",type:"address"}],name:"isHuman",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"}];class i{static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.IGitcoinPassportDecoder__factory=i,i.abi=r},58096:e=>{e.exports=function(e){return this.__data__.has(e)}},58285:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.GitcoinPassportPolicy__factory=void 0;let a=n(27653),r=[{inputs:[],stateMutability:"payable",type:"constructor"},{inputs:[],name:"AlreadyEnforced",type:"error"},{inputs:[],name:"AlreadyInitialized",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:[],name:"TargetAlreadySet",type:"error"},{inputs:[],name:"TargetNotSet",type:"error"},{inputs:[],name:"TargetOnly",type:"error"},{inputs:[],name:"UnsuccessfulCheck",type:"error"},{inputs:[],name:"ZeroAddress",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"subject",type:"address"},{indexed:!0,internalType:"address",name:"guarded",type:"address"},{indexed:!1,internalType:"bytes",name:"evidence",type:"bytes"}],name:"Enforced",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"guarded",type:"address"}],name:"TargetSet",type:"event"},{inputs:[],name:"BASE_CHECKER",outputs:[{internalType:"contract BaseChecker",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"subject",type:"address"},{internalType:"bytes",name:"evidence",type:"bytes"}],name:"enforce",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"enforcedUsers",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"getAppendedBytes",outputs:[{internalType:"bytes",name:"appendedBytes",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[],name:"guarded",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"initialized",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_guarded",type:"address"}],name:"setTarget",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"trait",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"}],i="0x60806040523380602957604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b6030816035565b50608e565b600080546001600160a01b03838116610100818102610100600160a81b0319851617855560405193049190911692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35050565b6107f78061009d6000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c80638129fc1c116100715780638129fc1c146101495780638da5cb5b14610151578063b41a4b1914610167578063ce343deb1461017c578063d9456531146101a7578063f2fde38b146101ca57600080fd5b8063158ef93e146100b95780631e898ef1146100db578063715018a6146100f057806372f7a030146100f8578063776d1a01146101235780637e16420414610136575b600080fd5b6000546100c69060ff1681565b60405190151581526020015b60405180910390f35b6100ee6100e93660046105ee565b6101dd565b005b6100ee610218565b60015461010b906001600160a01b031681565b6040516001600160a01b0390911681526020016100d256
15b6100ee610131366004610675565b61022c565b60025461010b906001600160a01b031681565b6100ee6102cf565b60005461010090046001600160a01b031661010b565b61016f6102d7565b6040516100d291906106df565b60408051808201909152600f81526e11da5d18dbda5b94185cdcdc1bdc9d608a1b602082015261016f565b6100c66101b5366004610675565b60036020526000908152604090205460ff1681565b6100ee6101d8366004610675565b6102e6565b6001546001600160a01b0316331461020857604051631f492dbf60e21b815260040160405180910390fd5b610213838383610329565b505050565b610220610391565b61022a60006103c4565b565b610234610391565b6001600160a01b03811661025b5760405163d92e233d60e01b815260040160405180910390fd5b6001546001600160a01b0316156102855760405163e0f2d7b160e01b815260040160405180910390fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040517f3bfb4bbf112628248058745a3c57e35b13369386e474b8e56c552f3063a4a19690600090a250565b61022a61041d565b60606102e1610479565b905090565b6102ee610391565b6001600160a01b03811661031d57604051631e4fbdf760e01b8152600060048201526024015b60405180910390fd5b610326816103c4565b50565b6001600160a01b03831660009081526003602052604090205460ff161561036357604051633440c93360e21b815260040160405180910390fd5b6001600160a01b0383166000908152600360205260409020805460ff19166001179055610213838383610484565b6000546001600160a01b0361010090910416331461022a5760405163118cdaa760e01b8152336004820152602401610314565b600080546001600160a01b03838116610100818102610100600160a81b0319851617855560405193049190911692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35050565b610425610567565b600061042f610479565b90506000808280602001905181019061044891906106f2565b91509150610455826103c4565b600280546001600160a01b0319166001600160a01b03929092169190911790555050565b60606102e130610578565b60025460405163e2b2408560e01b81526001600160a01b039091169063e2b24085906104b890869086908690600401610755565b602060405180830381865afa1580156104d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104f99190610783565b61051657604051634715494560e01b815260040160405180910390fd5b6001546040516001600160a01b03918216918516907fc013b39287cb7a53f776482ac9573829321f002f31ef8782129b41d60047bda09061055a90869086906107a5565b60405180910390a3505050565b61056f6105a7565b61022a336103c4565b60405164ffffffffff602c19833b0116808252602090810190602d908301843c60408101815101604052919050565b60005460ff16156105ca5760405162dc149f60e41b815260040160405180910390fd5b6000805460ff19166001179055565b6001600160a01b038116811461032657600080fd5b60008060006040848603121561060357600080fd5b833561060e816105d9565b9250602084013567ffffffffffffffff81111561062a57600080fd5b8401601f8101861361063b57600080fd5b803567ffffffffffffffff81111561065257600080fd5b86602082840101111561066457600080fd5b939660209190910195509293505050565b60006020828403121561068757600080fd5b8135610692816105d9565b9392505050565b6000815180845260005b818110156106bf576020818501810151868301820152016106a3565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006106926020830184610699565b6000806040838503121561070557600080fd5b8251610710816105d9565b6020840151909250610721816105d9565b809150509250929050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b038416815260406020820181905260009061077a908301848661072c565b95945050505050565b60006020828403121561079557600080fd5b8151801515811461069257600080fd5b6020815260006107b960208301848661072c565b94935050505056fea2646970667358221220b4696866b6b8906154153daf3fca568eafcb4cb38c7b44b0c54bb963475e8b2f64736f6c634300081c0033",f=e=>e.length>1;class b extends a.ContractFactory{constructor(...e){f(e)?super(...e):super(r,i,e[0])}getDeployTransaction(e){return super.getDeployTransaction(e||{})}deploy(e){return super.deploy(e||{})}connect(e){return super.connect(e)}static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.GitcoinPassportPolicy__factory=b,b.bytecode=i,b.abi=r},58758:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MockERC20Votes__factory=void 0;let a=n(27653),r=[{inputs:[{internalType:"string",name:"name_",type:"string"},{internalType:"string",name:"symbol_",type:"string"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"allowance",type:"uint256"},{internalType:"uint256",name:"needed",type:"uint256"}],name:"ERC20InsufficientAllowance",type:"error"},{inputs:[{internalType:"address",name:"sender",type:"address"},{internalType:"uint256",name:"balance",type:"uint256"},{internalType:"uint256",name:"needed",type:"uint256"}],name:"ERC20InsufficientBalance",type:"error"},{inputs:[{internalType:"address",name:"approver",type:"address"}],name:"ERC20InvalidApprover",type:"error"},{inputs:[{internalType:"address",name:"receiver",type:"address"}],name:"ERC20InvalidReceiver",type:"error"},{inputs:[{internalType:"address",name:"sender",type:"address"}],name:"ERC20InvalidSender",type:"error"},{inputs:[{internalType:"address",name:"spender",type:"address"}],name:"ERC20InvalidSpender",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"spender",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Transfer",type:"event"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"spender",type:"address"}],name:"allowance",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"approve",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_votes",type:"uint256"}],name:"changeVotes",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"decimals",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"uint256",name:"",type:"uint256"}],name:"getPastVotes",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"transfer",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"transferFrom",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"votes",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"}],i="0x608060405234801561001057600080fd5b50604051610c05380380610c0583398101604081905261002f9161028f565b8181600361003d8382610381565b50600461004a8282610381565b5050506100663368056bc75e2d6310000061006d60201b60201c565b50506104
166565b6001600160a01b03821661009c5760405163ec442f0560e01b8152600060048201526024015b60405180910390fd5b6100a8600083836100ac565b5050565b6001600160a01b0383166100d75780600260008282546100cc919061043f565b909155506101499050565b6001600160a01b0383166000908152602081905260409020548181101561012a5760405163391434e360e21b81526001600160a01b03851660048201526024810182905260448101839052606401610093565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b03821661016557600280548290039055610184565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516101c991815260200190565b60405180910390a3505050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126101fd57600080fd5b81516001600160401b03811115610216576102166101d6565b604051601f8201601f19908116603f011681016001600160401b0381118282101715610244576102446101d6565b60405281815283820160200185101561025c57600080fd5b60005b8281101561027b5760208186018101518383018201520161025f565b506000918101602001919091529392505050565b600080604083850312156102a257600080fd5b82516001600160401b038111156102b857600080fd5b6102c4858286016101ec565b602085015190935090506001600160401b038111156102e257600080fd5b6102ee858286016101ec565b9150509250929050565b600181811c9082168061030c57607f821691505b60208210810361032c57634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111561037c57806000526020600020601f840160051c810160208510156103595750805b601f840160051c820191505b818110156103795760008155600101610365565b50505b505050565b81516001600160401b0381111561039a5761039a6101d6565b6103ae816103a884546102f8565b84610332565b6020601f8211600181146103e257600083156103ca5750848201515b600019600385901b1c1916600184901b178455610379565b600084815260208120601f198516915b8281101561041257878501518255602094850194600190920191016103f2565b50848210156104305786840151600019600387901b60f8161c191681555b50505050600190811b01905550565b8082018082111561046057634e487b7160e01b600052601160045260246000fd5b92915050565b610790806104756000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c806370a082311161007157806370a082311461014457806395d89b411461016d578063a9059cbb14610175578063dd62ed3e14610188578063df5ce609146101c1578063e168c3ec146101d657600080fd5b806306fdde03146100b9578063095ea7b3146100d757806318160ddd146100fa57806323b872dd1461010c578063313ce5671461011f5780633a46b1a81461012e575b600080fd5b6100c16101df565b6040516100ce91906105c0565b60405180910390f35b6100ea6100e536600461062a565b610271565b60405190151581526020016100ce565b6002545b6040519081526020016100ce565b6100ea61011a366004610654565b61028b565b604051601281526020016100ce565b6100fe61013c36600461062a565b505060055490565b6100fe610152366004610691565b6001600160a01b031660009081526020819052604090205490565b6100c16102af565b6100ea61018336600461062a565b6102be565b6100fe6101963660046106b3565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6101d46101cf3660046106e6565b600555565b005b6100fe60055481565b6060600380546101ee906106ff565b80601f016020809104026020016040519081016040528092919081815260200182805461021a906106ff565b80156102675780601f1061023c57610100808354040283529160200191610267565b820191906000526020600020905b81548152906001019060200180831161024a57829003601f168201915b5050505050905090565b60003361027f8185856102cc565b60019150505b92915050565b6000336102998582856102de565b6102a4858585610362565b506001949350505050565b6060600480546101ee906106ff565b60003361027f818585610362565b6102d983838360016103c1565b505050565b6001600160a01b0383811660009081526001602090815260408083209386168352929052205460001981101561035c578181101561034d57604051637dc7a0d960e11b81526001600160a01b038416600482015260248101829052604481018390526064015b60405180910390fd5b61035c848484840360006103c1565b50505050565b6001600160a01b03831661038c57604051634b637e8f60e11b815260006004820152602401610344565b6001600160a01b0382166103b65760405163ec442f0560e01b815260006004820152602401610344565b6102d9838383610496565b6001600160a01b0384166103eb5760405163e602df0560e01b815260006004820152602401610344565b6001600160a01b03831661041557604051634a1406b160e11b815260006004820152602401610344565b6001600160a01b038085166000908152600160209081526040808320938716835292905220829055801561035c57826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161048891815260200190565b60405180910390a350505050565b6001600160a01b0383166104c15780600260008282546104b69190610739565b909155506105339050565b6001600160a01b038316600090815260208190526040902054818110156105145760405163391434e360e21b81526001600160a01b03851660048201526024810182905260448101839052606401610344565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b03821661054f5760028054829003905561056e565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516105b391815260200190565b60405180910390a3505050565b602081526000825180602084015260005b818110156105ee57602081860181015160408684010152016105d1565b506000604082850101526040601f19601f83011684010191505092915050565b80356001600160a01b038116811461062557600080fd5b919050565b6000806040838503121561063d57600080fd5b6106468361060e565b946020939093013593505050565b60008060006060848
1603121561066957600080fd5b6106728461060e565b92506106806020850161060e565b929592945050506040919091013590565b6000602082840312156106a357600080fd5b6106ac8261060e565b9392505050565b600080604083850312156106c657600080fd5b6106cf8361060e565b91506106dd6020840161060e565b90509250929050565b6000602082840312156106f857600080fd5b5035919050565b600181811c9082168061071357607f821691505b60208210810361073357634e487b7160e01b600052602260045260246000fd5b50919050565b8082018082111561028557634e487b7160e01b600052601160045260246000fdfea26469706673582212207b2f18952b6bc6453fa3fd25d38a2824b55f3aa5833cb832e72a47a42fe25da564736f6c634300081c0033",f=e=>e.length>1;class b extends a.ContractFactory{constructor(...e){f(e)?super(...e):super(r,i,e[0])}getDeployTransaction(e,t,n){return super.getDeployTransaction(e,t,n||{})}deploy(e,t,n){return super.deploy(e,t,n||{})}connect(e){return super.connect(e)}static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.MockERC20Votes__factory=b,b.bytecode=i,b.abi=r},58817:e=>{e.exports=function(e,t){return e===t||e!=e&&t!=t}},59238:(e,t,n)=>{var a=n(5518),r=n(38649);e.exports=function(e,t){return a(e,r(e),t)}},59282:(e,t,n)=>{"use strict";var a=n(76326);class r{constructor(e,t=[]){a.requireDefined(e,"hash"),a.requireFunction(e,"hash"),a.requireArray(t,"leaves"),this._nodes=[[]],this._hash=e,t.length>0&&this.insertMany(t)}get root(){return this._nodes[this.depth][0]}get depth(){return this._nodes.length-1}get leaves(){return this._nodes[0].slice()}get size(){return this._nodes[0].length}indexOf(e){return a.requireDefined(e,"leaf"),this._nodes[0].indexOf(e)}has(e){return a.requireDefined(e,"leaf"),this._nodes[0].includes(e)}insert(e){a.requireDefined(e,"leaf"),this.depth<Math.ceil(Math.log2(this.size+1))&&this._nodes.push([]);let t=e,n=this.size;for(let e=0;e<this.depth;e+=1){if(this._nodes[e][n]=t,1&n){let a=this._nodes[e][n-1];t=this._hash(a,t)}n>>=1}this._nodes[this.depth]=[t]}insertMany(e){if(a.requireDefined(e,"leaves"),a.requireArray(e,"leaves"),0===e.length)throw Error("There are no leaves to add");let t=this.size>>1;this._nodes[0]=this._nodes[0].concat(e);let n=Math.ceil(Math.log2(this.size))-this.depth;for(let e=0;e<n;e+=1)this._nodes.push([]);for(let e=0;e<this.depth;e+=1){let n=Math.ceil(this._nodes[e].length/2);for(let a=t;a<n;a+=1){let t=this._nodes[e][2*a+1],n=this._nodes[e][2*a],r=t?this._hash(n,t):n;this._nodes[e+1][a]=r}t>>=1}}update(e,t){a.requireDefined(e,"index"),a.requireDefined(t,"newLeaf"),a.requireNumber(e,"index");let n=t;for(let t=0;t<this.depth;t+=1){if(this._nodes[t][e]=n,1&e){let a=this._nodes[t][e-1];n=this._hash(a,n)}else{let a=this._nodes[t][e+1];void 0!==a&&(n=this._hash(n,a))}e>>=1}this._nodes[this.depth]=[n]}updateMany(e,t){if(a.requireDefined(t,"leaves"),a.requireDefined(e,"indices"),a.requireArray(t,"leaves"),a.requireArray(e,"indices"),t.length!==e.length)throw Error("There is no correspondence between indices and leaves");let n=new Set;for(let t=0;t<e.length;t+=1){if(a.requireNumber(e[t],`index ${t}`),e[t]<0||e[t]>=this.size)throw Error(`Index ${t} is out of range`);if(n.has(e[t]))throw Error(`Leaf ${e[t]} is repeated`);n.add(e[t])}n.clear();for(let a=0;a<e.length;a+=1)this._nodes[0][e[a]]=t[a],n.add(e[a]>>1);for(let e=1;e<=this.depth;e+=1){let t=[];for(let a of n){let n=this._nodes[e-1][2*a],r=this._nodes[e-1][2*a+1];this._nodes[e][a]=r?this._hash(n,r):n,t.push(a>>1)}n=new Set(t)}}generateProof(e){if(a.requireDefined(e,"index"),a.requireNumber(e,"index"),e<0||e>=this.size)throw Error(`The leaf at index '${e}' does not exist in this tree`);let t=this.leaves[e],n=[],r=[];for(let t=0;t<this.depth;t+=1){let a=1&e,i=a?e-1:e+1,f=this._nodes[t][i];void 0!==f&&(r.push(a),n.push(f)),e>>=1}return{root:this.root,leaf:t,index:Number.parseInt(r.reverse().join(""),2),siblings:n}}verifyProof(e){return r.verifyProof(e,this._hash)}static verifyProof(e,t){a.requireDefined(e,"proof");let{root:n,leaf:r,siblings:i,index:f}=e;a.requireDefined(e.root,"proof.root"),a.requireDefined(e.leaf,"proof.leaf"),a.requireDefined(e.siblings,"proof.siblings"),a.requireDefined(e.index,"proof.index"),a.requireArray(e.siblings,"proof.siblings"),a.requireNumber(e.index,"proof.index");let b=r;for(let e=0;e<i.length;e+=1)b=f>>e&1?t(i[e],b):t(b,i[e]);return n===b}export(){return JSON.stringify(this._nodes,(e,t)=>"bigint"==typeof t?t.toString():t)}static import(e,t,n){a.requireDefined(e,"hash"),a.requireDefined(t,"nodes"),a.requireFunction(e,"hash"),a.requireString(t,"nodes"),n&&(a.requireDefined(n,"map"),a.requireFunction(n,"map"));let i=new r(e);return i._nodes=JSON.parse(t,(e,t)=>"string"==typeof t?n?n(t):BigInt(t):t),i}}t.LeanIMT=r},59507:(e,t,n)=>{var a=n(19229),r=n(33332),i=n(49840),f=i&&i.isMap;e.exports=f?r(f):a},59568:(e,t,n)=>{"use strict";
1Object.defineProperty(t,"__esModule",{value:!0}),t.ConstantInitialVoiceCreditProxyFactory__factory=void 0;let a=n(27653),r=[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"clone",type:"address"}],name:"CloneDeployed",type:"event"},{inputs:[],name:"IMPLEMENTATION",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"balance",type:"uint256"}],name:"deploy",outputs:[{internalType:"address",name:"clone",type:"address"}],stateMutability:"nonpayable",type:"function"}],i="0x60a0604052348015600f57600080fd5b50604051601a906046565b604051809103906000f0801580156035573d6000803e3d6000fd5b506001600160a01b03166080526053565b610316806102cc83390190565b608051610258610074600039600081816040015261011e01526102586000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80633a4741bd1461003b578063a5e387511461007e575b600080fd5b6100627f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b61006261008c366004610209565b600080826040516020016100a291815260200190565b60405160208183030381529060405290506100bc81610117565b9150816001600160a01b0316638129fc1c6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156100f957600080fd5b505af115801561010d573d6000803e3d6000fd5b5050505050919050565b60006101437f00000000000000000000000000000000000000000000000000000000000000008361017f565b6040519091506001600160a01b038216907f2158cde9935cbf85d0b02e02fbc315ad0be2f3f017a603a2ebeedead21b8d60b90600090a2919050565b600061018d60008484610194565b9392505050565b600060405182518060438301826020870160045afa506e5af43d82803e903d91602b57fd5bf360238301528460148301528060881b74fe61002d3d81600a3d39f3363d3d373d3d3d363d730182526037810161ffd38210600b01830187f0925050508061018d5763301164256000526004601cfd5b60006020828403121561021b57600080fd5b503591905056fea2646970667358221220f30077393f57e2c51a336e28eca146192d3c104f87bab30711160d4de96d9cd164736f6c634300081c00336080604052348015600f57600080fd5b506102f78061001f6000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c8063158ef93e146100515780638129fc1c14610073578063b36543a91461007d578063b41a4b19146100a1575b600080fd5b60005461005e9060ff1681565b60405190151581526020015b60405180910390f35b61007b6100b6565b005b61009361008b366004610182565b505060015490565b60405190815260200161006a565b6100a96100c0565b60405161006a919061025a565b6100be6100cf565b565b60606100ca610100565b905090565b6100d761010b565b60006100e1610100565b90506000818060200190518101906100f991906102a8565b6001555050565b60606100ca3061013d565b60005460ff161561012e5760405162dc149f60e41b815260040160405180910390fd5b6000805460ff19166001179055565b60405164ffffffffff602c19833b0116808252602090810190602d908301843c60408101815101604052919050565b634e487b7160e01b600052604160045260246000fd5b6000806040838503121561019557600080fd5b82356001600160a01b03811681146101ac57600080fd5b9150602083013567ffffffffffffffff8111156101c857600080fd5b8301601f810185136101d957600080fd5b803567ffffffffffffffff8111156101f3576101f361016c565b604051601f8201601f19908116603f0116810167ffffffffffffffff811182821017156102225761022261016c565b60405281815282820160200187101561023a57600080fd5b816020840160208301376000602083830101528093505050509250929050565b602081526000825180602084015260005b81811015610288576020818601810151604086840101520161026b565b506000604082850101526040601f19601f83011684010191505092915050565b6000602082840312156102ba57600080fd5b505191905056fea2646970667358221220ce23dfbd16237431c52e830b75ffdb0ce5b6357dd649fe19419b0154da85e1dd64736f6c634300081c0033",f=e=>e.length>1;class b extends a.ContractFactory{constructor(...e){f(e)?super(...e):super(r,i,e[0])}getDeployTransaction(e){return super.getDeployTransaction(e||{})}deploy(e){return super.deploy(e||{})}connect(e){return super.connect(e)}static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.ConstantInitialVoiceCreditProxyFactory__factory=b,b.bytecode=i,b.abi=r},59736:(e,t,n)=>{"use strict";
1Object.defineProperty(t,"__esModule",{value:!0}),t.PoseidonT6__factory=void 0;let a=n(27653),r=[{inputs:[{internalType:"uint256[5]",name:"input",type:"uint256[5]"}],name:"poseidon",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"pure",type:"function"}],i="0x61011d610039600b82828239805160001a607314602c57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361060335760003560e01c80634937a258146038575b600080fd5b604960433660046071565b50600090565b60405190815260200160405180910390f35b634e487b7160e01b600052604160045260246000fd5b600060a08284031215608257600080fd5b82601f830112609057600080fd5b60405160a0810181811067ffffffffffffffff8211171560b05760b0605b565b6040528060a084018581111560c457600080fd5b845b8181101560dc57803583526020928301920160c6565b50919594505050505056fea264697066735822122014b6bc0c7749ec2c14f9577d2cce9b75eac2a943d55a3f2a9293733e24f5d89264736f6c634300081c0033",f=e=>e.length>1;class b extends a.ContractFactory{constructor(...e){f(e)?super(...e):super(r,i,e[0])}getDeployTransaction(e){return super.getDeployTransaction(e||{})}deploy(e){return super.deploy(e||{})}connect(e){return super.connect(e)}static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.PoseidonT6__factory=b,b.bytecode=i,b.abi=r},61489:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getPollJoiningArtifactsUrl=void 0,t.getPollJoiningArtifactsUrl=(e,t)=>e?{zKeyUrl:`https://maci-develop-fra.s3.eu-central-1.amazonaws.com/v3.0.0/browser-poll-join/testing/PollJoining_${t}_test.0.zkey`,wasmUrl:`https://maci-develop-fra.s3.eu-central-1.amazonaws.com/v3.0.0/browser-poll-join/testing/PollJoining_${t}_test.wasm`}:{zKeyUrl:`https://maci-develop-fra.s3.eu-central-1.amazonaws.com/v3.0.0/browser-poll-join/production/PollJoining_${t}.0.zkey`,wasmUrl:`https://maci-develop-fra.s3.eu-central-1.amazonaws.com/v3.0.0/browser-poll-join/production/PollJoining_${t}.wasm`}},61632:(e,t,n)=>{var a=n(16571);e.exports=n(36730)(a)},61830:(e,t,n)=>{var a=n(54360);e.exports=function(e){return a(this.__data__,e)>-1}},62744:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.currentBlockTimestamp=t.contractExists=void 0,t.contractExists=async(e,t)=>(await e.getCode(t)).length>2,t.currentBlockTimestamp=async e=>{let t=await e.getBlockNumber(),n=await e.getBlock(t);return Number(n?.timestamp)}},63457:(e,t,n)=>{var a=n(67460),r=Object.create;e.exports=function(){function e(){}return function(t){if(!a(t))return{};if(r)return r(t);e.prototype=t;var n=new e;return e.prototype=void 0,n}}()},63914:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IERC20Errors__factory=void 0;let a=n(27653),r=[{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"allowance",type:"uint256"},{internalType:"uint256",name:"needed",type:"uint256"}],name:"ERC20InsufficientAllowance",type:"error"},{inputs:[{internalType:"address",name:"sender",type:"address"},{internalType:"uint256",name:"balance",type:"uint256"},{internalType:"uint256",name:"needed",type:"uint256"}],name:"ERC20InsufficientBalance",type:"error"},{inputs:[{internalType:"address",name:"approver",type:"address"}],name:"ERC20InvalidApprover",type:"error"},{inputs:[{internalType:"address",name:"receiver",type:"address"}],name:"ERC20InvalidReceiver",type:"error"},{inputs:[{internalType:"address",name:"sender",type:"address"}],name:"ERC20InvalidSender",type:"error"},{inputs:[{internalType:"address",name:"spender",type:"address"}],name:"ERC20InvalidSpender",type:"error"}];
1class i{static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.IERC20Errors__factory=i,i.abi=r},63957:(e,t,n)=>{var a=n(5518),r=n(78558);e.exports=function(e,t){return a(e,r(e),t)}},64011:function(e,t,n){"use strict";var a,r=this&&this.__createBinding||(Object.create?function(e,t,n,a){void 0===a&&(a=n);var r=Object.getOwnPropertyDescriptor(t,n);(!r||("get"in r?!t.__esModule:r.writable||r.configurable))&&(r={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,a,r)}:function(e,t,n,a){void 0===a&&(a=n),e[a]=t[n]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),f=this&&this.__importStar||(a=function(e){return(a=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t})(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n=a(e),f=0;f<n.length;f++)"default"!==n[f]&&r(t,e,n[f]);return i(t,e),t});Object.defineProperty(t,"__esModule",{value:!0}),t.Strings__factory=t.math=t.introspection=t.cryptography=void 0,t.cryptography=f(n(17624)),t.introspection=f(n(8599)),t.math=f(n(86348));var b=n(43727);Object.defineProperty(t,"Strings__factory",{enumerable:!0,get:function(){return b.Strings__factory}})},64401:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IAnonAadhaar__factory=void 0;let a=n(27653),r=[{inputs:[{internalType:"uint256",name:"nullifierSeed",type:"uint256"},{internalType:"uint256",name:"nullifier",type:"uint256"},{internalType:"uint256",name:"timestamp",type:"uint256"},{internalType:"uint256",name:"signal",type:"uint256"},{internalType:"uint256[4]",name:"revealArray",type:"uint256[4]"},{internalType:"uint256[8]",name:"groth16Proof",type:"uint256[8]"}],name:"verifyAnonAadhaarProof",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"}];class i{static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.IAnonAadhaar__factory=i,i.abi=r},64439:e=>{var t=Object.prototype.toString;e.exports=function(e){return t.call(e)}},64588:(e,t,n)=>{var a=n(84760),r=Math.max;e.exports=function(e,t,n){return t=r(void 0===t?e.length-1:t,0),function(){for(var i=arguments,f=-1,b=r(i.length-t,0),s=Array(b);++f<b;)s[f]=i[t+f];f=-1;for(var o=Array(t+1);++f<t;)o[f]=i[f];return o[t]=n(s),a(e,this,o)}}},64698:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IPoll__factory=void 0;let a=n(27653),r=[{inputs:[],name:"actualStateTreeDepth",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[],name:"coordinatorPublicKeyHash",outputs:[{internalType:"uint256",name:"_coordinatorPublicKeyHash",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"currentSbCommitment",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"endDate",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getBatchHashes",outputs:[{internalType:"uint256[]",name:"",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"getMaciContract",outputs:[{internalType:"contract IMACI",name:"maci",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getStartAndEndDate",outputs:[{internalType:"uint256",name:"_startDate",type:"uint256"},{internalType:"uint256",name:"_endDate",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"element",type:"uint256"}],name:"getStateIndex",outputs:[{internalType:"uint40",name:"",type:"uint40"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_nullifier",type:"uint256"},{components:[{internalType:"uint256",name:"x",type:"uint256"},{internalType:"uint256",name:"y",type:"uint256"}],internalType:"struct DomainObjs.PublicKey",name:"_publicKey",type:"tuple"},{internalType:"uint256",name:"_stateRootIndex",type:"uint256"},{internalType:"uint256[8]",name:"_proof",type:"uint256[8]"},{internalType:"bytes",name:"_signUpPolicyData",type:"bytes"},{internalType:"bytes",name:"_initialVoiceCreditProxyData",type:"bytes"}],name:"joinPoll",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"mergeState",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"messageBatchSize",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[],name:"padLastBatch",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"uint256[10]",name:"data",type:"uint256[10]"}],internalType:"struct DomainObjs.Message",name:"_message",type:"tuple"},{components:[{internalType:"uint256",name:"x",type:"uint256"},{internalType:"uint256",name:"y",type:"uint256"}],internalType:"struct DomainObjs.PublicKey",name:"_encryptionPublicKey",type:"tuple"}],name:"publishMessage",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"uint256[10]",name:"data",type:"uint256[10]"}
1],internalType:"struct DomainObjs.Message[]",name:"_messages",type:"tuple[]"},{components:[{internalType:"uint256",name:"x",type:"uint256"},{internalType:"uint256",name:"y",type:"uint256"}],internalType:"struct DomainObjs.PublicKey[]",name:"_encryptionPublicKeys",type:"tuple[]"}],name:"publishMessageBatch",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256[]",name:"_messageHashes",type:"uint256[]"},{internalType:"bytes32",name:"_ipfsHash",type:"bytes32"}],name:"relayMessagesBatch",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"startDate",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"stateMerged",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"totalSignups",outputs:[{internalType:"uint256",name:"signups",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"totalSignupsAndMessages",outputs:[{internalType:"uint256",name:"totalSignups",type:"uint256"},{internalType:"uint256",name:"numMsgs",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"treeDepths",outputs:[{internalType:"uint8",name:"tallyProcessingStateTreeDepth",type:"uint8"},{internalType:"uint8",name:"voteOptionTreeDepth",type:"uint8"},{internalType:"uint8",name:"stateTreeDepth",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[],name:"voteOptions",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"}];class i{static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.IPoll__factory=i,i.abi=r},64882:function(e,t,n){"use strict";var a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.getPollJoiningCircuitEvents=t.generateMaciStateTreeWithEndKey=t.generateMaciStateTree=t.getPollJoiningCircuitInputsFromStateFile=t.joiningCircuitInputs=t.getStateIndex=t.parseSignupEvents=t.hasUserJoinedPoll=t.getJoinedUserData=t.parsePollJoinEvents=void 0;let r=n(68832),i=n(52470),f=n(68960),b=n(68681),s=a(n(6513)),o=n(2314),c=n(614);t.parsePollJoinEvents=async({pollContract:e,startBlock:t,currentBlock:n,pollPublicKey:a})=>{for(let r=t;r<=n;r+=c.BLOCKS_STEP){let t=Math.min(r+c.BLOCKS_STEP-1,n),i=a.asArray(),f=await e.queryFilter(e.filters.PollJoined(i[0],i[1],void 0,void 0,void 0),r,t);if(f.length>0){let[e]=f;return{pollStateIndex:e.args[4].toString(),voiceCredits:e.args[2].toString()}}}return{pollStateIndex:void 0,voiceCredits:void 0}};let d=async({maciAddress:e,pollId:n,pollPublicKey:a,signer:i,startBlock:f})=>{let s=r.MACI__factory.connect(e,i),o=await s.getPoll(n),c=r.Poll__factory.connect(o.poll,i),d=b.PublicKey.deserialize(a),u=await i.provider.getBlockNumber(),{pollStateIndex:l,voiceCredits:p}=await (0,t.parsePollJoinEvents)({pollContract:c,startBlock:f||0,currentBlock:u,pollPublicKey:d});return{isJoined:void 0!==l,pollStateIndex:l,voiceCredits:p}};t.getJoinedUserData=d,t.hasUserJoinedPoll=async({maciAddress:e,pollId:t,nullifier:n,signer:a})=>{let i=r.MACI__factory.connect(e,a),f=await i.getPoll(t);return r.Poll__factory.connect(f.poll,a).pollNullifiers(n)},t.parseSignupEvents=async({maciContract:e,startBlock:t,currentBlock:n,publicKey:a})=>{for(let r=t;r<=n;r+=c.BLOCKS_STEP){let t=Math.min(r+c.BLOCKS_STEP-1,n),i=await e.queryFilter(e.filters.SignUp(void 0,void 0,a.raw[0],a.raw[1]),r,t);if(i.length>0){let[e]=i;return{stateIndex:e.args[0].toString()}}}return{stateIndex:void 0}},t.getStateIndex=(e,t,n)=>{if(!n){let n=e.findIndex(e=>e.equals(t));if(n>0)return BigInt(n);throw Error("MACI Public key not found")}return n},t.joiningCircuitInputs=(e,t,n,a,r)=>{let{siblings:i,index:b,root:s}=e,o=i.length;for(let e=0;e<t;e+=1)e>=o&&(i[e]=BigInt(0));let c=i.map(e=>[e]),d=BigInt(n.asCircuitInputs()),u=(0,f.poseidon)([d,r]),l=BigInt(o),p={privateKey:n.asCircuitInputs(),pollPublicKey:a.asCircuitInputs(),siblings:c,index:BigInt(b),nullifier:u,stateRoot:s,actualStateTreeDepth:l,pollId:r};return(0,f.stringifyBigInts)(p)};let u=async({stateFile:e,pollId:n,stateIndex:a,userMaciPrivateKey:r})=>{let f=JSON.parse((await s.default.promises.readFile(e)).toString()),o=i.MaciState.fromJSON(f),c=o.polls.get(n),{publicKey:d}=new b.Keypair(r);if(1>(0,t.getStateIndex)(o.publicKeys,d,a))throw Error("Invalid state index");return c.updatePoll(BigInt(o.publicKeys.length)),c.joiningCircuitInputs({maciPrivateKey:r,stateLeafIndex:a,pollPublicKey:d})};t.getPollJoiningCircuitInputsFromStateFile=u,t.generateMaciStateTree=async({maciContractAddress:e,signer:t,startBlock:n,endBlock:a,blocksPerBatch:i})=>{let f=r.MACI__factory.connect(e,t),b=await f.queryFilter(f.filters.SignUp(),n??0).then(e=>e[0]?.blockNumber??0),s=n?Number(n):b;return(0,o.generateSignUpTree)({provider:t.provider,address:await f.getAddress(),blocksPerRequest:i||50,fromBlock:s,endBlock:a,sleepAmount:0})},t.generateMaciStateTreeWithEndKey=async({maciContractAddress:e,signer:t,startBlock:n,endBlock:a,blocksPerBatch:i,userPublicKey:f})=>{let b=r.MACI__factory.connect(e,t),s=await b.queryFilter(b.filters.SignUp(),n??0).then(e=>e[0]?.blockNumber??0),c=n?Number(n):s;return(0,o.generateSignUpTreeWithEndKey)({provider:t.provider,address:await b.getAddress(),blocksPerRequest:i||50,fromBlock:c,endBlock:a,userPublicKey:f})};let l=async({maciContract:e,stateIndex:n,pollId:a,userMaciPrivateKey:r,signer:i,startBlock:f,endBlock:s,blocksPerBatch:o})=>{let[c,d]=await Promise.all([e.stateTreeDepth(),e.getAddress()]),u=await (0,t.generateMaciStateTree)({maciContractAddress:d,signer:i,startBlock:f,endBlock:s,blocksPerBatch:o}),{publicKey:l}=new b.Keypair(r),p=(0,t.getStateIndex)(u.publicKeys,l,n);if(p<1)throw Error("Invalid state index");let{signUpTree:y}=u,m=y.generateProof(Number(p));return(0,t.joiningCircuitInputs)(m,c,r,l,a)};t.getPollJoiningCircuitEvents=l},65594:(e,t,n)=>{"use strict";
1Object.defineProperty(t,"__esModule",{value:!0}),t.IAnonAadhaar__factory=t.AnonAadhaarPolicyFactory__factory=t.AnonAadhaarPolicy__factory=t.AnonAadhaarCheckerFactory__factory=t.AnonAadhaarChecker__factory=void 0;var a=n(92839);Object.defineProperty(t,"AnonAadhaarChecker__factory",{enumerable:!0,get:function(){return a.AnonAadhaarChecker__factory}});var r=n(94971);Object.defineProperty(t,"AnonAadhaarCheckerFactory__factory",{enumerable:!0,get:function(){return r.AnonAadhaarCheckerFactory__factory}});var i=n(12728);Object.defineProperty(t,"AnonAadhaarPolicy__factory",{enumerable:!0,get:function(){return i.AnonAadhaarPolicy__factory}});var f=n(18490);Object.defineProperty(t,"AnonAadhaarPolicyFactory__factory",{enumerable:!0,get:function(){return f.AnonAadhaarPolicyFactory__factory}});var b=n(64401);Object.defineProperty(t,"IAnonAadhaar__factory",{enumerable:!0,get:function(){return b.IAnonAadhaar__factory}})},65646:(e,t,n)=>{var a=n(91569),r=n(39608);e.exports=function(e,t,n){var i=t(e);return r(e)?i:a(i,n(e))}},65796:e=>{e.exports=function(e){return this.__data__.get(e)}},66002:function(e,t,n){"use strict";var a,r=this&&this.__createBinding||(Object.create?function(e,t,n,a){void 0===a&&(a=n);var r=Object.getOwnPropertyDescriptor(t,n);
1(!r||("get"in r?!t.__esModule:r.writable||r.configurable))&&(r={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,a,r)}:function(e,t,n,a){void 0===a&&(a=n),e[a]=t[n]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),f=this&&this.__importStar||(a=function(e){return(a=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t})(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n=a(e),f=0;f<n.length;f++)"default"!==n[f]&&r(t,e,n[f]);return i(t,e),t});Object.defineProperty(t,"__esModule",{value:!0}),t.IERC20__factory=t.ERC20__factory=t.extensions=void 0,t.extensions=f(n(66455));var b=n(2580);Object.defineProperty(t,"ERC20__factory",{enumerable:!0,get:function(){return b.ERC20__factory}});var s=n(28667);Object.defineProperty(t,"IERC20__factory",{enumerable:!0,get:function(){return s.IERC20__factory}})},66132:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TokenPolicy__factory=void 0;let a=n(27653),r=[{inputs:[],stateMutability:"payable",type:"constructor"},{inputs:[],name:"AlreadyEnforced",type:"error"},{inputs:[],name:"AlreadyInitialized",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:[],name:"TargetAlreadySet",type:"error"},{inputs:[],name:"TargetNotSet",type:"error"},{inputs:[],name:"TargetOnly",type:"error"},{inputs:[],name:"UnsuccessfulCheck",type:"error"},{inputs:[],name:"ZeroAddress",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"subject",type:"address"},{indexed:!0,internalType:"address",name:"guarded",type:"address"},{indexed:!1,internalType:"bytes",name:"evidence",type:"bytes"}],name:"Enforced",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"guarded",type:"address"}],name:"TargetSet",type:"event"},{inputs:[],name:"BASE_CHECKER",outputs:[{internalType:"contract BaseChecker",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"subject",type:"address"},{internalType:"bytes",name:"evidence",type:"bytes"}],name:"enforce",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"enforcedTokenIds",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"getAppendedBytes",outputs:[{internalType:"bytes",name:"appendedBytes",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[],name:"guarded",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"initialized",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_guarded",type:"address"}],name:"setTarget",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"trait",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"}],i="0x60806040523380602957604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b6030816035565b50608e565b600080546001600160a01b03838116610100818102610100600160a81b0319851617855560405193049190911692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35050565b6108098061009d6000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c80637e164204116100715780637e164204146101595780638129fc1c1461016c5780638da5cb5b14610174578063b41a4b191461018a578063ce343deb1461019f578063f2fde38b146101c057600080fd5b8063158ef93e146100b95780631e898ef1146100db57806359e6c9b1146100f0578063715018a61461011357806372f7a0301461011b578063776d1a0114610146575b600080fd5b6000546100c69060ff1681565b60405190151581526020015b60405180910390f35b6100ee6100e93660046105e7565b6101d3565b005b6100c66100fe36600461066e565b60036020526000908152604090205460ff1681565b6100ee61020e565b60015461012e906001600160a01b031681565b6040516001600160a01b0390911681526020016100d256
15b6100ee610154366004610687565b610222565b60025461012e906001600160a01b031681565b6100ee6102c5565b60005461010090046001600160a01b031661012e565b6101926102cd565b6040516100d291906106f1565b6040805180820190915260058152642a37b5b2b760d91b6020820152610192565b6100ee6101ce366004610687565b6102dc565b6001546001600160a01b031633146101fe57604051631f492dbf60e21b815260040160405180910390fd5b61020983838361031f565b505050565b61021661038a565b61022060006103bd565b565b61022a61038a565b6001600160a01b0381166102515760405163d92e233d60e01b815260040160405180910390fd5b6001546001600160a01b03161561027b5760405163e0f2d7b160e01b815260040160405180910390fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040517f3bfb4bbf112628248058745a3c57e35b13369386e474b8e56c552f3063a4a19690600090a250565b610220610416565b60606102d7610472565b905090565b6102e461038a565b6001600160a01b03811661031357604051631e4fbdf760e01b8152600060048201526024015b60405180910390fd5b61031c816103bd565b50565b600061032d8284018461066e565b60008181526003602052604090205490915060ff161561036057604051633440c93360e21b815260040160405180910390fd5b6000818152600360205260409020805460ff1916600117905561038484848461047d565b50505050565b6000546001600160a01b036101009091041633146102205760405163118cdaa760e01b815233600482015260240161030a565b600080546001600160a01b03838116610100818102610100600160a81b0319851617855560405193049190911692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35050565b61041e610560565b6000610428610472565b9050600080828060200190518101906104419190610704565b9150915061044e826103bd565b600280546001600160a01b0319166001600160a01b03929092169190911790555050565b60606102d730610571565b60025460405163e2b2408560e01b81526001600160a01b039091169063e2b24085906104b190869086908690600401610767565b602060405180830381865afa1580156104ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104f29190610795565b61050f57604051634715494560e01b815260040160405180910390fd5b6001546040516001600160a01b03918216918516907fc013b39287cb7a53f776482ac9573829321f002f31ef8782129b41d60047bda09061055390869086906107b7565b60405180910390a3505050565b6105686105a0565b610220336103bd565b60405164ffffffffff602c19833b0116808252602090810190602d908301843c60408101815101604052919050565b60005460ff16156105c35760405162dc149f60e41b815260040160405180910390fd5b6000805460ff19166001179055565b6001600160a01b038116811461031c57600080fd5b6000806000604084860312156105fc57600080fd5b8335610607816105d2565b9250602084013567ffffffffffffffff81111561062357600080fd5b8401601f8101861361063457600080fd5b803567ffffffffffffffff81111561064b57600080fd5b86602082840101111561065d57600080fd5b939660209190910195509293505050565b60006020828403121561068057600080fd5b5035919050565b60006020828403121561069957600080fd5b81356106a4816105d2565b9392505050565b6000815180845260005b818110156106d1576020818501810151868301820152016106b5565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006106a460208301846106ab565b6000806040838503121561071757600080fd5b8251610722816105d2565b6020840151909250610733816105d2565b809150509250929050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b038416815260406020820181905260009061078c908301848661073e565b95945050505050565b6000602082840312156107a757600080fd5b815180151581146106a457600080fd5b6020815260006107cb60208301848661073e565b94935050505056fea2646970667358221220936e1eea36e500fa9b16f589a6a8f4b1b800233f4b9823a4679e21f7f52e018a64736f6c634300081c0033",f=e=>e.length>1;class b extends a.ContractFactory{constructor(...e){f(e)?super(...e):super(r,i,e[0])}getDeployTransaction(e){return super.getDeployTransaction(e||{})}deploy(e){return super.deploy(e||{})}connect(e){return super.connect(e)}static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.TokenPolicy__factory=b,b.bytecode=i,b.abi=r},66373:(e,t,n)=>{e.exports=n(83711)(n(82500),"Promise")},66455:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IERC20Metadata__factory=void 0;var a=n(96605);Object.defineProperty(t,"IERC20Metadata__factory",{enumerable:!0,get:function(){return a.IERC20Metadata__factory}})},67009:(e,t,n)=>{"use strict";
1Object.defineProperty(t,"__esModule",{value:!0}),t.HatsCheckerFactory__factory=void 0;let a=n(27653),r=[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"clone",type:"address"}],name:"CloneDeployed",type:"event"},{inputs:[],name:"IMPLEMENTATION",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"hats",type:"address"},{internalType:"uint256[]",name:"criterionHats",type:"uint256[]"}],name:"deploy",outputs:[{internalType:"address",name:"clone",type:"address"}],stateMutability:"nonpayable",type:"function"}],i="0x60a0604052348015600f57600080fd5b50604051601a906046565b604051809103906000f0801580156035573d6000803e3d6000fd5b506001600160a01b03166080526053565b6105c78061039783390190565b608051610323610074600039600081816040015261012201526103236000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80633a4741bd1461003b5780639a0ae61d1461007e575b600080fd5b6100627f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b61006261008c36600461020d565b6000808484846040516020016100a4939291906102a3565b60405160208183030381529060405290506100be8161011b565b9150816001600160a01b0316638129fc1c6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156100fb57600080fd5b505af115801561010f573d6000803e3d6000fd5b50505050509392505050565b60006101477f000000000000000000000000000000000000000000000000000000000000000083610183565b6040519091506001600160a01b038216907f2158cde9935cbf85d0b02e02fbc315ad0be2f3f017a603a2ebeedead21b8d60b90600090a2919050565b600061019160008484610198565b9392505050565b600060405182518060438301826020870160045afa506e5af43d82803e903d91602b57fd5bf360238301528460148301528060881b74fe61002d3d81600a3d39f3363d3d373d3d3d363d730182526037810161ffd38210600b01830187f092505050806101915763301164256000526004601cfd5b60008060006040848603121561022257600080fd5b83356001600160a01b038116811461023957600080fd5b9250602084013567ffffffffffffffff81111561025557600080fd5b8401601f8101861361026657600080fd5b803567ffffffffffffffff81111561027d57600080fd5b8660208260051b840101111561029257600080fd5b939660209190910195509293505050565b6001600160a01b0384168152604060208201819052810182905260006001600160fb1b038311156102d357600080fd5b8260051b808560608501379190910160600194935050505056fea26469706673582212206e41b711d6678dae0b949fed364daf736e9d0b30e03775b6b972451f5e75159464736f6c634300081c00336080604052348015600f57600080fd5b506105a88061001f6000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c806305023c3114610067578063158ef93e1461009f5780638129fc1c146100ac578063b41a4b19146100b6578063e2b24085146100cb578063f99f0238146100de575b600080fd5b61008a610075366004610334565b60016020526000908152604090205460ff1681565b60405190151581526020015b60405180910390f35b60005461008a9060ff1681565b6100b461010e565b005b6100be610118565b604051610096919061034d565b61008a6100d93660046103b3565b610127565b6000546100f69061010090046001600160a01b031681565b6040516001600160a01b039091168152602001610096565b61011661013c565b565b60606101226101e4565b905090565b60006101348484846101ef565b949350505050565b6101446102d3565b600061014e6101e4565b9050600080828060200190518101906101679190610450565b60008054610100600160a81b0319166101006001600160a01b0385160217815591935091505b81518110156101de5760018060008484815181106101ad576101ad610533565b6020908102919091018101518252810191909152604001600020805460ff191691151591909117905560010161018d565b50505050565b606061012230610305565b6000806101fe83850185610334565b60008181526001602052604090205490915060ff1661023057604051632f76bd0160e21b815260040160405180910390fd5b6000546040516321a9204d60e11b81526001600160a01b0387811660048301526024820184905261010090920490911690634352409a90604401602060405180830381865afa158015610287573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102ab9190610549565b6102c8576040516306fdb0d360e31b815260040160405180910390fd5b506001949350505050565b60005460ff16156102f65760405162dc149f60e41b815260040160405180910390fd5b6000805460ff19166001179055565b60405164ffffffffff602c19833b0116808252602090810190602d908301843c60408101815101604052919050565b60006020828403121561034657600080fd5b5035919050565b602081526000825180602084015260005b8181101561037b576020818601810151604086840101520161035e565b506000604082850101526040601f19601f83011684010191505092915050565b6001600160a01b03811681146103b057600080fd5b50565b6000806000604084860312156103c857600080fd5b83356103d38161039b565b9250602084013567ffffffffffffffff8111156103ef57600080fd5b8401601f8101861361040057600080fd5b803567ffffffffffffffff81111561041757600080fd5b86602082840101111561042957600080fd5b939660209190910195509293505050565b634e487b7160e01b600052604160045260246000fd5b6000806040838503121561046357600080fd5b825161046e8161039b565b602084015190925067ffffffffffffffff81111561048b57600080fd5b8301601f8101851361049c57600080fd5b805167ffffffffffffffff8111156104b6576104b661043a565b8060051b604051601f19603f830116810181811067ffffffffffffffff821117156104e3576104e361043a565b60405291825260208184018101929081018884111561050157600080fd5b6020850194505b8385101561052457845180825260209586019590935001610508565b50809450505050509250929050565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561055b57600080fd5b8151801515811461056b57600080fd5b939250505056fea2646970667358221220581eabfad79601c327eaab1d86bd64e59a8e27347fa380792668a42d24916bef64736f6c634300081c0033",f=e=>e.length>1;class b extends a.ContractFactory{constructor(...e){f(e)?super(...e):super(r,i,e[0])}getDeployTransaction(e){return super.getDeployTransaction(e||{})}deploy(e){return super.deploy(e||{})}connect(e){return super.connect(e)}static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.HatsCheckerFactory__factory=b,b.bytecode=i,b.abi=r},67380:(e,t,n)=>{"use strict";
1Object.defineProperty(t,"__esModule",{value:!0}),t.getPollContracts=void 0;let a=n(68832),r=n(27653),i=n(62744);t.getPollContracts=async({maciAddress:e,pollId:t,signer:n,provider:f})=>{let b=a.MACI__factory.connect(e,n??f),s=void 0===t?await b.nextPollId().then(e=>e-1n):BigInt(t);if(s<0n)throw Error(`Invalid poll id ${s}`);if(!await (0,i.contractExists)(n?.provider||f,e))throw Error("MACI contract does not exist");let o=await b.polls(s);if(o.poll===r.ZeroAddress)throw Error(`MACI contract doesn't have any deployed poll ${s}`);if(!await (0,i.contractExists)(n?.provider||f,o.poll))throw Error("Poll contract does not exist");let c=a.Poll__factory.connect(o.poll,n??f);return{id:s,maci:b,poll:c,messageProcessor:a.MessageProcessor__factory.connect(o.messageProcessor,n??f),tally:a.Tally__factory.connect(o.tally,n??f)}}},67460:e=>{e.exports=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}},67472:(e,t,n)=>{var a=n(31598),r=n(90453),i=n(47995),f=n(65796),b=n(58096),s=n(30152);function o(e){var t=this.__data__=new a(e);this.size=t.size}o.prototype.clear=r,o.prototype.delete=i,o.prototype.get=f,o.prototype.has=b,o.prototype.set=s,e.exports=o},67889:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CurveBabyJubJub__factory=void 0;let a=n(27653),r=[{inputs:[],name:"A",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"D",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"Q",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"}],i="0x60cc610038600b82828239805160001a607314602b57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361060475760003560e01c80630f529ba214604c578063e493ef8c146067578063f446c1d014608d575b600080fd5b6055620292f881565b60405190815260200160405180910390f35b60557f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000181565b6055620292fc8156fea2646970667358221220bd46e79ca01caeba56b59330a1839d8cc85daf6f629af0554bf4f714d2c7a90964736f6c634300081c0033",f=e=>e.length>1;class b extends a.ContractFactory{constructor(...e){f(e)?super(...e):super(r,i,e[0])}getDeployTransaction(e){return super.getDeployTransaction(e||{})}deploy(e){return super.deploy(e||{})}connect(e){return super.connect(e)}static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.CurveBabyJubJub__factory=b,b.bytecode=i,b.abi=r},68011:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Verifier__factory=void 0;let a=n(27653),r=[{inputs:[],name:"InvalidInputVal",type:"error"},{inputs:[],name:"InvalidProofQ",type:"error"},{inputs:[],name:"PairingAddFailed",type:"error"},{inputs:[],name:"PairingMulFailed",type:"error"},{inputs:[],name:"PairingOpcodeFailed",type:"error"},{inputs:[],name:"PRIME_Q",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256[8]",name:"_proof",type:"uint256[8]"},{components:[{components:[{internalType:"uint256",name:"x",type:"uint256"},{internalType:"uint256",name:"y",type:"uint256"}],internalType:"struct Pairing.G1Point",name:"alpha1",type:"tuple"},{components:[{internalType:"uint256[2]",name:"x",type:"uint256[2]"},{internalType:"uint256[2]",name:"y",type:"uint256[2]"}],internalType:"struct Pairing.G2Point",name:"beta2",type:"tuple"},{components:[{internalType:"uint256[2]",name:"x",type:"uint256[2]"},{internalType:"uint256[2]",name:"y",type:"uint256[2]"}],internalType:"struct Pairing.G2Point",name:"gamma2",type:"tuple"},{components:[{internalType:"uint256[2]",name:"x",type:"uint256[2]"},{internalType:"uint256[2]",name:"y",type:"uint256[2]"}],internalType:"struct Pairing.G2Point",name:"delta2",type:"tuple"},{components:[{internalType:"uint256",name:"x",type:"uint256"},{internalType:"uint256",name:"y",type:"uint256"}],internalType:"struct Pairing.G1Point[]",name:"ic",type:"tuple[]"}],internalType:"struct SnarkCommon.VerifyingKey",name:"verifyingKey",type:"tuple"},{internalType:"uint256[]",name:"inputs",type:"uint256[]"}],name:"verify",outputs:[{internalType:"bool",name:"isValid",type:"bool"}],stateMutability:"view",type:"function"}],i="0x6080604052348015600f57600080fd5b50610d0e8061001f6000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063352a4d151461003b5780638d53290814610063575b600080fd5b61004e610049366004610a72565b610086565b60405190151581526020015b60405180910390f35b610078600080516020610cb983398151915281565b60405190815260200161005a565b600061009061073e565b6040805180820182528751815260208089015181830152908352815160808082018452898401518285019081526060808c015190840152825283518085018552908a0151815260a08a01518184015281830152838201528151808301835260c0890151815260e08901519181019190915290820152805151610111906102be565b805160200151610120906102be565b6020810151516101379060005b60200201516102be565b602080820151015161014a90600061012d565b60208101515161015b90600161012d565b602080820151015161016e90600161012d565b60408101515161017d906102be565b61018e8160400151602001516102be565b6040805180820190915260008082526020820181905284905b818110156102535760008787838181106101c3576101c3610c02565b9050602002013590507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001811061020c5760405163076be92360e31b815260040160405180910390fd5b610248846102438b608001
1518560016102259190610c2e565b8151811061023557610235610c02565b6020026020010151846102ef565b610361565b9350506001016101a7565b5061027c82886080015160008151811061026f5761026f610c02565b6020026020010151610361565b91506102b261028e84600001516103d9565b846020015189600001518a60200151868c6040015189604001518e6060015161046f565b98975050505050505050565b600080516020610cb983398151915281106102ec576040516308f69c9160e01b815260040160405180910390fd5b50565b604080518082019091526000808252602082015261030b61078f565b835181526020808501519082015260408101839052600060608360808460076107d05a03fa9050808061033a57fe5b5080610359576040516372ffac5560e11b815260040160405180910390fd5b505092915050565b604080518082019091526000808252602082015261037d6107ad565b8351815260208085015181830152835160408301528301516060808301919091526000908360c08460066107d05a03fa905080806103b757fe5b50806103595760405160016203c15f60e01b0319815260040160405180910390fd5b604080518082019091526000808252602082015281511580156103fe57506020820151155b1561041c575050604080518082019091526000808252602082015290565b604051806040016040528083600001518152602001600080516020610cb9833981519152846020015161044f9190610c47565b61046790600080516020610cb9833981519152610c69565b905292915050565b60006104796107cb565b898152602081018890526040810186905260608101849052610499610804565b898152602081018890526040808201879052606082018590528051601880825261032082019092526000908281602001602082028036833701905050905060005b60048160ff1610156106e25760006104f3826006610c7c565b9050858260ff166004811061050a5761050a610c02565b6020020151518361051c836000610c9f565b60ff168151811061052f5761052f610c02565b602002602001018181525050858260ff166004811061055057610550610c02565b602002015160200151838260016105679190610c9f565b60ff168151811061057a5761057a610c02565b602002602001018181525050848260ff166004811061059b5761059b610c02565b60200201515151836105ae836002610c9f565b60ff16815181106105c1576105c1610c02565b602002602001018181525050848260ff16600481106105e2576105e2610c02565b60200201515160016020020151836105fb836003610c9f565b60ff168151811061060e5761060e610c02565b602002602001018181525050848260ff166004811061062f5761062f610c02565b60200201516020015160006002811061064a5761064a610c02565b60200201518361065b836004610c9f565b60ff168151811061066e5761066e610c02565b602002602001018181525050848260ff166004811061068f5761068f610c02565b6020020151602001516001600281106106aa576106aa610c02565b6020020151836106bb836005610c9f565b60ff16815181106106ce576106ce610c02565b6020908102919091010152506001016104da565b506106eb610831565b6000602082602086026020860160086107d05a03fa9050808061070a57fe5b508061072957604051630143d56760e11b815260040160405180910390fd5b505115159d9c50505050505050505050505050565b6040805160a08101909152600060608201818152608083019190915281526020810161076861084f565b815260200161078a604051806040016040528060008152602001600081525090565b905290565b60405180606001604052806003906020820280368337509192915050565b60405180608001604052806004906020820280368337509192915050565b60405180608001604052806004905b60408051808201909152600080825260208201528152602001906001900390816107da5790505090565b60405180608001604052806004905b61081b61084f565b8152602001906001900390816108135790505090565b60405180602001604052806001906020820280368337509192915050565b604051806040016040528061086261086b565b815260200161078a5b60405180604001604052806002906020820280368337509192915050565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156108c2576108c2610889565b60405290565b60405160a0810167ffffffffffffffff811182821017156108c2576108c2610889565b604051601f8201601f1916810167ffffffffffffffff8111828210171561091457610914610889565b604052919050565b600061010061092a816108eb565b91508201818482111561093c57600080fd5b835b8281101561095657803582526020918201910161093e565b50505092915050565b60006040828403121561097157600080fd5b61097961089f565b823581526020928301359281019290925250919050565b600082601f8301126109a157600080fd5b60006109ad60406108eb565b90508060408401858111156109c157600080fd5b845b818110156109db5780358352602092830192016109c3565b509195945050505050565b6000608082840312156109f857600080fd5b610a0061089f565b9050610a0c8383610990565b8152610a1b8360408401610990565b602082015292915050565b60008083601f840112610a3857600080fd5b50813567ffffffffffffffff811115610a5057600080fd5b6020830191508360208260051b8501011115610a6b57600080fd5b9250929050565b6000806000806101408587031215610a8957600080fd5b85601f860112610a9857600080fd5b610aa2868661091c565b935061010085013567ffffffffffffffff811115610abf57600080fd5b85016101e08188031215610ad257600080fd5b610ada6108c8565b610ae4888361095f565b8152610af388604084016109e6565b6020820152610b058860c084016109e6565b6040820152610b188861014084016109e6565b60608201526101c082013567ffffffffffffffff811115610b3857600080fd5b80830192505087601f830112610b4d57600080fd5b813567ffffffffffffffff811115610b6757610b67610889565b610b7660208260051b016108eb565b8082825260208201915060208360061b86010192508a831115610b9857600080fd5b6020850194505b82851015610bc457610bb18b8661095f565b8252602082019150604085019450610b9f565b608084015250909450505061012085013567ffffffffffffffff811115610bea57600080fd5b610bf687828801610a26565b95989497509550505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b80820180821115610c4157610c41610c18565b92915050565b600082610c6457634e487b7160e01b600052601260045260246000fd5b500690565b81810381811115610c4157610c41610c18565b60ff8181168382160290811690818114610c9857610c98610c18565b5092915050565b60ff8181168382160190811115610c4157610c41610c1856fe30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47a26469706673582212207864074a26d6437ab7937c006bad333e81e5798b78e142777cd608fc14e0895064736f6c634300081c0033",f=e=>e.length>1;class b extends a.ContractFactory{constructor(...e){f(e)?super(...e):super(r,i,e[0])}getDeployTransaction(e){return super.getDeployTransaction(e||{})}deploy(e){return super.deploy(e||{})}connect(e){return super.connect(e)}static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.Verifier__factory=b,b.bytecode=i,b.abi=r}
1,68788:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BaseChecker__factory=void 0;var a=n(76284);Object.defineProperty(t,"BaseChecker__factory",{enumerable:!0,get:function(){return a.BaseChecker__factory}})},68832:function(e,t,n){"use strict";var a,r=this&&this.__createBinding||(Object.create?function(e,t,n,a){void 0===a&&(a=n);var r=Object.getOwnPropertyDescriptor(t,n);(!r||("get"in r?!t.__esModule:r.writable||r.configurable))&&(r={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,a,r)}:function(e,t,n,a){void 0===a&&(a=n),e[a]=t[n]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),f=this&&this.__importStar||(a=function(e){return(a=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t})(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n=a(e),f=0;f<n.length;f++)"default"!==n[f]&&r(t,e,n[f]);return i(t,e),t});Object.defineProperty(t,"__esModule",{value:!0}),t.ZupassGroth16Verifier__factory=t.ZupassCheckerFactory__factory=t.ZupassChecker__factory=t.TokenPolicyFactory__factory=t.TokenPolicy__factory=t.TokenCheckerFactory__factory=t.TokenChecker__factory=t.SemaphorePolicyFactory__factory=t.SemaphorePolicy__factory=t.SemaphoreCheckerFactory__factory=t.SemaphoreChecker__factory=t.ISemaphore__factory=t.MerkleProofPolicyFactory__factory=t.MerkleProofPolicy__factory=t.MerkleProofCheckerFactory__factory=t.MerkleProofChecker__factory=t.IHats__factory=t.HatsPolicyFactory__factory=t.HatsPolicy__factory=t.HatsCheckerFactory__factory=t.HatsChecker__factory=t.IGitcoinPassportDecoder__factory=t.GitcoinPassportPolicyFactory__factory=t.GitcoinPassportPolicy__factory=t.GitcoinPassportCheckerFactory__factory=t.GitcoinPassportChecker__factory=t.FreeForAllPolicyFactory__factory=t.FreeForAllPolicy__factory=t.FreeForAllCheckerFactory__factory=t.FreeForAllChecker__factory=t.ERC20VotesPolicyFactory__factory=t.ERC20VotesPolicy__factory=t.ERC20VotesCheckerFactory__factory=t.ERC20VotesChecker__factory=t.ERC20PolicyFactory__factory=t.ERC20Policy__factory=t.ERC20CheckerFactory__factory=t.ERC20Checker__factory=t.IEAS__factory=t.EASPolicyFactory__factory=t.EASPolicy__factory=t.EASCheckerFactory__factory=t.EASChecker__factory=t.IAnonAadhaar__factory=t.AnonAadha
1arPolicyFactory__factory=t.AnonAadhaarPolicy__factory=t.AnonAadhaarCheckerFactory__factory=t.AnonAadhaarChecker__factory=t.BaseChecker__factory=t.factories=void 0,t.IPoll__factory=t.IMessageProcessorFactory__factory=t.IMessageProcessor__factory=t.IMACI__factory=t.IInitialVoiceCreditProxy__factory=t.ERC20VotesInitialVoiceCreditProxyFactory__factory=t.ERC20VotesInitialVoiceCreditProxy__factory=t.ConstantInitialVoiceCreditProxyFactory__factory=t.ConstantInitialVoiceCreditProxy__factory=t.Verifier__factory=t.PoseidonT6__factory=t.PoseidonT5__factory=t.PoseidonT4__factory=t.PoseidonT3__factory=t.Pairing__factory=t.Hasher__factory=t.CurveBabyJubJub__factory=t.Strings__factory=t.SafeCast__factory=t.IERC165__factory=t.ERC165__factory=t.MerkleProof__factory=t.IERC721Receiver__factory=t.IERC721__factory=t.IERC721Metadata__factory=t.ERC721__factory=t.IERC20__factory=t.IERC20Metadata__factory=t.ERC20__factory=t.IERC721Errors__factory=t.IERC20Errors__factory=t.IERC1155Errors__factory=t.IVotes__factory=t.Ownable__factory=t.MockToken__factory=t.MockHatsProtocol__factory=t.MockGitcoinPassportDecoder__factory=t.MockEAS__factory=t.MockAnonAadhaar__factory=t.Factory__factory=t.Clone__factory=t.Policy__factory=t.BasePolicy__factory=t.IPolicy__factory=t.IFactory__factory=t.IClone__factory=t.IBasePolicy__factory=t.IBaseChecker__factory=t.ZupassPolicyFactory__factory=t.ZupassPolicy__factory=void 0,t.LibClone__factory=t.VerifyingKeysRegistry__factory=t.Utilities__factory=t.DomainObjs__factory=t.TallyFactory__factory=t.Tally__factory=t.PollFactory__factory=t.Poll__factory=t.MockVerifier__factory=t.MockSemaphore__factory=t.MockERC20Votes__factory=t.MockERC20__factory=t.MessageProcessorFactory__factory=t.MessageProcessor__factory=t.MACI__factory=t.IVerifyingKeysRegistry__factory=t.IVerifier__factory=t.ITallyFactory__factory=t.ITally__factory=t.IPollFactory__factory=void 0,t.factories=f(n(8409));var b=n(76284);Object.defineProperty(t,"BaseChecker__factory",{enumerable:!0,get:function(){return b.BaseChecker__factory}});var s=n(92839);Object.defineProperty(t,"AnonAadhaarChecker__factory",{enumerable:!0,get:function(){return s.AnonAadhaarChecker__factory}});var o=n(94971);Object.defineProperty(t,"AnonAadhaarCheckerFactory__factory",{enumerable:!0,get:function(){return o.AnonAadhaarCheckerFactory__factory}});var c=n(12728);Object.defineProperty(t,"AnonAadhaarPolicy__factory",{enumerable:!0,get:function(){return c.AnonAadhaarPolicy__factory}});var d=n(18490);Object.defineProperty(t,"AnonAadhaarPolicyFactory__factory",{enumerable:!0,get:function(){return d.AnonAadhaarPolicyFactory__factory}});var u=n(64401);Object.defineProperty(t,"IAnonAadhaar__factory",{enumerable:!0,get:function(){return u.IAnonAadhaar__factory}});var l=n(52407);Object.defineProperty(t,"EASChecker__factory",{enumerable:!0,get:function(){return l.EASChecker__factory}});var p=n(27819);Object.defineProperty(t,"EASCheckerFactory__factory",{enumerable:!0,get:function(){return p.EASCheckerFactory__factory}});var y=n(16648);Object.defineProperty(t,"EASPolicy__factory",{enumerable:!0,get:function(){return y.EASPolicy__factory}});var m=n(80202);Object.defineProperty(t,"EASPolicyFactory__factory",{enumerable:!0,get:function(){return m.EASPolicyFactory__factory}});var h=n(57095);Object.defineProperty(t,"IEAS__factory",{enumerable:!0,get:function(){return h.IEAS__factory}});var g=n(7307);Object.defineProperty(t,"ERC20Checker__factory",{enumerable:!0,get:function(){return g.ERC20Checker__factory}});var T=n(19759);Object.defineProperty(t,"ERC20CheckerFactory__factory",{enumerable:!0,get:function(){return T.ERC20CheckerFactory__factory}});var _=n(34404);Object.defineProperty(t,"ERC20Policy__factory",{enumerable:!0,get:function(){return _.ERC20Policy__factory}});var v=n(83542);Object.defineProperty(t,"ERC20PolicyFactory__factory",{enumerable:!0,get:function(){return v.ERC20PolicyFactory__factory}});var w=n(91235);Object.defineProperty(t,"ERC20VotesChecker__factory",{enumerable:!0,get:function(){return w.ERC20VotesChecker__factory}});var P=n(50871);Object.defineProperty(t,"ERC20VotesCheckerFactory__factory",{enumerable:!0,get:function(){return P.ERC20VotesCheckerFactory__factory}});var A=n(9900);Object.defineProperty(t,"ERC20VotesPolicy__factory",{enumerable:!0,get:function(){return A.ERC20VotesPolicy__factory}});var M=n(30894);Object.defineProperty(t,"ERC20VotesPolicyFactory__factory",{enumerable:!0,get:function(){return M.ERC20VotesPolicyFactory__factory}});var I=n(47841);Object.defineProperty(t,"FreeForAllChecker__factory",{enumerable:!0,get:function(){return I.FreeForAllChecker__factory}});var O=n(17481);Object.defineProperty(t,"FreeForAllCheckerFactory__factory",{enumerable:!0,get:function(){return O.FreeForAllCheckerFactory__factory}});var C=n(39710);Object.defineProperty(t,"FreeForAllPolicy__factory",{enumerable:!0,get:function(){return C.FreeForAllPolicy__factory}});var E=n(54476);Object.defineProperty(t,"FreeForAllPolicyFactory__factory",{enumerable:!0,get:function(){return E.FreeForAllPolicyFactory__factory}});var x=n(68885);Object.defineProperty(t,"GitcoinPassportChecker__factory",{enumerable:!0,get:function(){return x.GitcoinPassportChecker__factory}});var S=n(52989);Object.defineProperty(t,"GitcoinPassportCheckerFactory__factory",{enumerable:!0,get:function(){return S.GitcoinPassportCheckerFactory__factory}});var R=n(58285);Object.defineProperty(t,"GitcoinPassportPolicy__factory",{enumerable:!0,get:function(){return R.GitcoinPassportPolicy__factory}});var k=n(7016);Object.defineProperty(t,"GitcoinPassportPolicyFactory__factory",{enumerable:!0,get:function(){return k.GitcoinPassportPolicyFactory__factory}});var B=n(58031);Object.defineProperty(t,"IGitcoinPassportDecoder__factory",{enumerable:!0,get:function(){return B.IGitcoinPassportDecoder__factory}});var j=n(73961);Object.defineProperty(t,"HatsChecker__factory",{enumerable:!0,get:function(){return j.HatsChecker__factory}});var D=n(67009);Object.defineProperty(t,"HatsCheckerFactory__factory",{enumerable:!0,get:function(){return D.HatsCheckerFactory__factory}});var F=n(73430);Object.defineProperty(t,"HatsPolicy__factory",{enumerable:!0,get:function(){return F.HatsPolicy__factory}});var N=n(39732);Object.defineProperty(t,"HatsPolicyFactory__factory",{enumerable:!0,get:function(){return N.HatsPolicyFactory__factory}});var V=n(45713);Object.defineProperty(t,"IHats__factory",{enumerable:!0,get:function(){return V.IHats__factory}});var U=n(32515);Object.defineProperty(t,"MerkleProofChecker__factory",{enumerable:!0,get:function(){return U.MerkleProofChecker__factory}});var L=n(21687);Object.defineProperty(t,"MerkleProofCheckerFactory__factory",{enumerable:!0,get:function(){return L.MerkleProofCheckerFactory__factory}});var K=n(44620);Object.defineProperty(t,"MerkleProofPolicy__factory",{enumerable:!0,get:function(){return K.MerkleProofPolicy__factory}});var G=n(48558);Object.defineProperty(t,"MerkleProofPolicyFactory__factory",{enumerable:!0,get:function(){return G.MerkleProofPolicyFactory__factory}});var z=n(93365);Object.defineProperty(t,"ISemaphore__factory",{enumerable:!0,get:function(){return z.ISemaphore__factory}});var H=n(12471);Object.defineProperty(t,"SemaphoreChecker__factory",{enumerable:!0,get:function(){return H.SemaphoreChecker__factory}});var J=n(98027);Object.defineProperty(t,"SemaphoreCheckerFactory__factory",{enumerable:!0,get:function(){return J.SemaphoreCheckerFactory__factory}});var Q=n(34056);Object.defineProperty(t,"SemaphorePolicy__factory",{enumerable:!0,get:function(){return Q.SemaphorePolicy__factory}});var q=n(52906);Object.defineProperty(t,"SemaphorePolicyFactory__factory",{enumerable:!0,get:function(){return q.SemaphorePolicyFactory__factory}});var Z=n(69147);Object.defineProperty(t,"TokenChecker__factory",{enumerable:!0,get:function(){return Z.TokenChecker__factory}});var $=n(74815);Object.defineProperty(t,"TokenCheckerFactory__factory",{enumerable:!0,get:function(){return $.TokenCheckerFactory__factory}});var Y=n(66132);Object.defineProperty(t,"TokenPolicy__factory",{enumerable:!0,get:function(){return Y.TokenPolicy__factory}});var W=n(86118);Object.defineProperty(t,"TokenPolicyFactory__factory",{enumerable:!0,get:function(){return W.TokenPolicyFactory__factory}});var X=n(19125);Object.defineProperty(t,"ZupassChecker__factory",{enumerable:!0,get:function(){return X.ZupassChecker__factory}});var ee=n(89949);Object.defineProperty(t,"ZupassCheckerFactory__factory",{enumerable:!0,get:function(){return ee.ZupassCheckerFactory__factory}});var et=n(10345);Object.defineProperty(t,"ZupassGroth16Verifier__factory",{enumerable:!0,get:function(){return et.ZupassGroth16Verifier__factory}});var en=n(48954);Object.defineProperty(t,"ZupassPolicy__factory",{enumerable:!0,get:function(){return en.ZupassPolicy__factory}});var ea=n(40104);Object.defineProperty(t,"ZupassPolicyFactory__factory",{enumerable:!0,get:function(){return ea.ZupassPolicyFactory__factory}});var er=n(27212);Object.defineProperty(t,"IBaseChecker__factory",{enumerable:!0,get:function(){return er.IBaseChecker__factory}});var ei=n(15949);Object.defineProperty(t,"IBasePolicy__factory",{enumerable:!0,get:function(){return ei.IBasePolicy__factory}});var ef=n(14955);Object.defineProperty(t,"IClone__factory",{enumerable:!0,get:function(){return ef.IClone__factory}});var eb=n(91702);Object.defineProperty(t,"IFactory__factory",{enumerable:!0,get:function(){return eb.IFactory__factory}});var es=n(28662);Object.defineProperty(t,"IPolicy__factory",{enumerable:!0,get:function(){return es.IPolicy__factory}});var eo=n(40940);Object.defineProperty(t,"BasePolicy__factory",{enumerable:!0,get:function(){return eo.BasePolicy__factory}});var ec=n(77755);Object.defineProperty(t,"Policy__factory",{enumerable:!0,get:function(){return ec.Policy__factory}});var ed=n(2014);Object.defineProperty(t,"Clone__factory",{enumerable:!0,get:function(){return ed.Clone__factory}});var eu=n(5175);Object.defineProperty(t,"Factory__factory",{enumerable:!0,get:function(){return eu.Factory__factory}});var el=n(52670);
1Object.defineProperty(t,"MockAnonAadhaar__factory",{enumerable:!0,get:function(){return el.MockAnonAadhaar__factory}});var ep=n(92379);Object.defineProperty(t,"MockEAS__factory",{enumerable:!0,get:function(){return ep.MockEAS__factory}});var ey=n(28581);Object.defineProperty(t,"MockGitcoinPassportDecoder__factory",{enumerable:!0,get:function(){return ey.MockGitcoinPassportDecoder__factory}});var em=n(55880);Object.defineProperty(t,"MockHatsProtocol__factory",{enumerable:!0,get:function(){return em.MockHatsProtocol__factory}});var eh=n(26333);Object.defineProperty(t,"MockToken__factory",{enumerable:!0,get:function(){return eh.MockToken__factory}});var eg=n(99722);Object.defineProperty(t,"Ownable__factory",{enumerable:!0,get:function(){return eg.Ownable__factory}});var eT=n(79230);Object.defineProperty(t,"IVotes__factory",{enumerable:!0,get:function(){return eT.IVotes__factory}});var e_=n(83552);Object.defineProperty(t,"IERC1155Errors__factory",{enumerable:!0,get:function(){return e_.IERC1155Errors__factory}});var ev=n(63914);Object.defineProperty(t,"IERC20Errors__factory",{enumerable:!0,get:function(){return ev.IERC20Errors__factory}});var ew=n(48450);Object.defineProperty(t,"IERC721Errors__factory",{enumerable:!0,get:function(){return ew.IERC721Errors__factory}});var eP=n(2580);Object.defineProperty(t,"ERC20__factory",{enumerable:!0,get:function(){return eP.ERC20__factory}});var eA=n(96605);Object.defineProperty(t,"IERC20Metadata__factory",{enumerable:!0,get:function(){return eA.IERC20Metadata__factory}});var eM=n(28667);Object.defineProperty(t,"IERC20__factory",{enumerable:!0,get:function(){return eM.IERC20__factory}});var eI=n(32534);Object.defineProperty(t,"ERC721__factory",{enumerable:!0,get:function(){return eI.ERC721__factory}});var eO=n(95767);Object.defineProperty(t,"IERC721Metadata__factory",{enumerable:!0,get:function(){return eO.IERC721Metadata__factory}});var eC=n(37499);Object.defineProperty(t,"IERC721__factory",{enumerable:!0,get:function(){return eC.IERC721__factory}});var eE=n(35908);Object.defineProperty(t,"IERC721Receiver__factory",{enumerable:!0,get:function(){return eE.IERC721Receiver__factory}});var ex=n(41368);Object.defineProperty(t,"MerkleProof__factory",{enumerable:!0,get:function(){return ex.MerkleProof__factory}});var eS=n(26545);Object.defineProperty(t,"ERC165__factory",{enumerable:!0,get:function(){return eS.ERC165__factory}});var eR=n(11454);Object.defineProperty(t,"IERC165__factory",{enumerable:!0,get:function(){return eR.IERC165__factory}});var ek=n(37322);Object.defineProperty(t,"SafeCast__factory",{enumerable:!0,get:function(){return ek.SafeCast__factory}});var eB=n(43727);Object.defineProperty(t,"Strings__factory",{enumerable:!0,get:function(){return eB.Strings__factory}});var ej=n(67889);Object.defineProperty(t,"CurveBabyJubJub__factory",{enumerable:!0,get:function(){return ej.CurveBabyJubJub__factory}});var eD=n(4016);Object.defineProperty(t,"Hasher__factory",{enumerable:!0,get:function(){return eD.Hasher__factory}});var eF=n(54815);Object.defineProperty(t,"Pairing__factory",{enumerable:!0,get:function(){return eF.Pairing__factory}});var eN=n(41089);Object.defineProperty(t,"PoseidonT3__factory",{enumerable:!0,get:function(){return eN.PoseidonT3__factory}});var eV=n(19266);Object.defineProperty(t,"PoseidonT4__factory",{enumerable:!0,get:function(){return eV.PoseidonT4__factory}});var eU=n(4991);Object.defineProperty(t,"PoseidonT5__factory",{enumerable:!0,get:function(){return eU.PoseidonT5__factory}});var eL=n(59736);Object.defineProperty(t,"PoseidonT6__factory",{enumerable:!0,get:function(){return eL.PoseidonT6__factory}});var eK=n(68011);Object.defineProperty(t,"Verifier__factory",{enumerable:!0,get:function(){return eK.Verifier__factory}});var eG=n(99314);Object.defineProperty(t,"ConstantInitialVoiceCreditProxy__factory",{enumerable:!0,get:function(){return eG.ConstantInitialVoiceCreditProxy__factory}});var ez=n(59568);Object.defineProperty(t,"ConstantInitialVoiceCreditProxyFactory__factory",{enumerable:!0,get:function(){return ez.ConstantInitialVoiceCreditProxyFactory__factory}});var eH=n(87481);Object.defineProperty(t,"ERC20VotesInitialVoiceCreditProxy__factory",{enumerable:!0,get:function(){return eH.ERC20VotesInitialVoiceCreditProxy__factory}});var eJ=n(42737);Object.defineProperty(t,"ERC20VotesInitialVoiceCreditProxyFactory__factory",{enumerable:!0,get:function(){return eJ.ERC20VotesInitialVoiceCreditProxyFactory__factory}});var eQ=n(24012);Object.defineProperty(t,"IInitialVoiceCreditProxy__factory",{enumerable:!0,get:function(){return eQ.IInitialVoiceCreditProxy__factory}});var eq=n(97983);Object.defineProperty(t,"IMACI__factory",{enumerable:!0,get:function(){return eq.IMACI__factory}});var eZ=n(25269);Object.defineProperty(t,"IMessageProcessor__factory",{enumerable:!0,get:function(){return eZ.IMessageProcessor__factory}});var e$=n(46624);Object.defineProperty(t,"IMessageProcessorFactory__factory",{enumerable:!0,get:function(){return e$.IMessageProcessorFactory__factory}});var eY=n(64698);Object.defineProperty(t,"IPoll__factory",{enumerable:!0,get:function(){return eY.IPoll__factory}});var eW=n(39880);Object.defineProperty(t,"IPollFactory__factory",{enumerable:!0,get:function(){return eW.IPollFactory__factory}});var eX=n(31881);Object.defineProperty(t,"ITally__factory",{enumerable:!0,get:function(){return eX.ITally__factory}});var e0=n(7681);Object.defineProperty(t,"ITallyFactory__factory",{enumerable:!0,get:function(){return e0.ITallyFactory__factory}});var e1=n(31031);Object.defineProperty(t,"IVerifier__factory",{enumerable:!0,get:function(){return e1.IVerifier__factory}});var e6=n(39219);Object.defineProperty(t,"IVerifyingKeysRegistry__factory",{enumerable:!0,get:function(){return e6.IVerifyingKeysRegistry__factory}});var e5=n(24163);Object.defineProperty(t,"MACI__factory",{enumerable:!0,get:function(){return e5.MACI__factory}});var e8=n(49654);Object.defineProperty(t,"MessageProcessor__factory",{enumerable:!0,get:function(){return e8.MessageProcessor__factory}});var e2=n(12820);Object.defineProperty(t,"MessageProcessorFactory__factory",{enumerable:!0,get:function(){return e2.MessageProcessorFactory__factory}});var e3=n(72203);Object.defineProperty(t,"MockERC20__factory",{enumerable:!0,get:function(){return e3.MockERC20__factory}});var e9=n(58758);Object.defineProperty(t,"MockERC20Votes__factory",{enumerable:!0,get:function(){return e9.MockERC20Votes__factory}});var e4=n(69915);Object.defineProperty(t,"MockSemaphore__factory",{enumerable:!0,get:function(){return e4.MockSemaphore__factory}});var e7=n(78113);Object.defineProperty(t,"MockVerifier__factory",{enumerable:!0,get:function(){return e7.MockVerifier__factory}});var te=n(36814);Object.defineProperty(t,"Poll__factory",{enumerable:!0,get:function(){return te.Poll__factory}});var tt=n(77308);Object.defineProperty(t,"PollFactory__factory",{enumerable:!0,get:function(){return tt.PollFactory__factory}});var tn=n(8901);Object.defineProperty(t,"Tally__factory",{enumerable:!0,get:function(){return tn.Tally__factory}});var ta=n(43021);Object.defineProperty(t,"TallyFactory__factory",{enumerable:!0,get:function(){return ta.TallyFactory__factory}});var tr=n(57828);Object.defineProperty(t,"DomainObjs__factory",{enumerable:!0,get:function(){return tr.DomainObjs__factory}});var ti=n(13458);Object.defineProperty(t,"Utilities__factory",{enumerable:!0,get:function(){return ti.Utilities__factory}});var tf=n(87503);Object.defineProperty(t,"VerifyingKeysRegistry__factory",{enumerable:!0,get:function(){return tf.VerifyingKeysRegistry__factory}});var tb=n(24149);Object.defineProperty(t,"LibClone__factory",{enumerable:!0,get:function(){return tb.LibClone__factory}})},68885:(e,t,n)=>{"use strict";
1Object.defineProperty(t,"__esModule",{value:!0}),t.GitcoinPassportChecker__factory=void 0;let a=n(27653),r=[{inputs:[],name:"AlreadyInitialized",type:"error"},{inputs:[],name:"ScoreTooLow",type:"error"},{inputs:[],name:"FACTOR",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"subject",type:"address"},{internalType:"bytes",name:"evidence",type:"bytes"}],name:"check",outputs:[{internalType:"bool",name:"checked",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"getAppendedBytes",outputs:[{internalType:"bytes",name:"appendedBytes",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"initialized",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"passportDecoder",outputs:[{internalType:"contract IGitcoinPassportDecoder",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"thresholdScore",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"}],i="0x6080604052348015600f57600080fd5b506104568061001f6000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80638129fc1c1161005b5780638129fc1c146100c3578063b41a4b19146100cd578063d237884e146100e2578063e2b240851461011257600080fd5b8063019d0bb414610082578063158ef93e1461009e57806335815b95146100bb575b600080fd5b61008b60015481565b6040519081526020015b60405180910390f35b6000546100ab9060ff1681565b6040519015158152602001610095565b61008b606481565b6100cb610125565b005b6100d561012f565b60405161009591906102ca565b6000546100fa9061010090046001600160a01b031681565b6040516001600160a01b039091168152602001610095565b6100ab610120366004610330565b61013e565b61012d610153565b565b60606101396101ad565b905090565b600061014b8484846101b8565b949350505050565b61015b610269565b60006101656101ad565b90506000808280602001905181019061017e91906103b7565b600080546001600160a01b0390931661010002610100600160a81b031990931692909217909155600155505050565b60606101393061029b565b6000808054604051630d47875d60e41b81526001600160a01b0387811660048301526101009092049091169063d47875d090602401602060405180830381865afa15801561020a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061022e91906103e5565b60015490915061023f6064836103fe565b101561025e57604051630e94124b60e01b815260040160405180910390fd5b506001949350505050565b60005460ff161561028c5760405162dc149f60e41b815260040160405180910390fd5b6000805460ff19166001179055565b60405164ffffffffff602c19833b0116808252602090810190602d908301843c60408101815101604052919050565b602081526000825180602084015260005b818110156102f857602081860181015160408684010152016102db565b506000604082850101526040601f19601f83011684010191505092915050565b6001600160a01b038116811461032d57600080fd5b50565b60008060006040848603121561034557600080fd5b833561035081610318565b9250602084013567ffffffffffffffff81111561036c57600080fd5b8401601f8101861361037d57600080fd5b803567ffffffffffffffff81111561039457600080fd5b8660208284010111156103a657600080fd5b939660209190910195509293505050565b600080604083850312156103ca57600080fd5b82516103d581610318565b6020939093015192949293505050565b6000602082840312156103f757600080fd5b5051919050565b60008261041b57634e487b7160e01b600052601260045260246000fd5b50049056fea2646970667358221220688b9fd95c196dee4e9c61103a6a2998b6b3b2f4612411dce84b3789740358d464736f6c634300081c0033",f=e=>e.length>1;class b extends a.ContractFactory{constructor(...e){f(e)?super(...e):super(r,i,e[0])}getDeployTransaction(e){return super.getDeployTransaction(e||{})}deploy(e){return super.deploy(e||{})}connect(e){return super.connect(e)}static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.GitcoinPassportChecker__factory=b,b.bytecode=i,b.abi=r},69147:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TokenChecker__factory=void 0;let a=n(27653),r=[{inputs:[],name:"AlreadyInitialized",type:"error"},{inputs:[],name:"NotTokenOwner",type:"error"},{inputs:[{internalType:"address",name:"subject",type:"address"},{internalType:"bytes",name:"evidence",type:"bytes"}],name:"check",outputs:[{internalType:"bool",name:"checked",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"getAppendedBytes",outputs:[{internalType:"bytes",name:"appendedBytes",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"initialized",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"token",outputs:[{internalType:"contract ERC721",name:"",type:"address"}],stateMutability:"view",type:"function"}],i="0x6080604052348015600f57600080fd5b506103e78061001f6000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c8063158ef93e1461005c5780638129fc1c1461007e578063b41a4b1914610088578063e2b2408514
161009d578063fc0c546a146100b0575b600080fd5b6000546100699060ff1681565b60405190151581526020015b60405180910390f35b6100866100e0565b005b6100906100ea565b6040516100759190610287565b6100696100ab3660046102ed565b6100f9565b6000546100c89061010090046001600160a01b031681565b6040516001600160a01b039091168152602001610075565b6100e861010e565b565b60606100f4610162565b905090565b600061010684848461016d565b949350505050565b610116610226565b6000610120610162565b90506000818060200190518101906101389190610374565b600080546001600160a01b0390921661010002610100600160a81b03199092169190911790555050565b60606100f430610258565b60008061017c83850185610398565b6000546040516331a9108f60e11b8152600481018390529192506001600160a01b03878116926101009092041690636352211e90602401602060405180830381865afa1580156101d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101f49190610374565b6001600160a01b03161461021b576040516359dc379f60e01b815260040160405180910390fd5b506001949350505050565b60005460ff16156102495760405162dc149f60e41b815260040160405180910390fd5b6000805460ff19166001179055565b60405164ffffffffff602c19833b0116808252602090810190602d908301843c60408101815101604052919050565b602081526000825180602084015260005b818110156102b55760208186018101516040868401015201610298565b506000604082850101526040601f19601f83011684010191505092915050565b6001600160a01b03811681146102ea57600080fd5b50565b60008060006040848603121561030257600080fd5b833561030d816102d5565b9250602084013567ffffffffffffffff81111561032957600080fd5b8401601f8101861361033a57600080fd5b803567ffffffffffffffff81111561035157600080fd5b86602082840101111561036357600080fd5b939660209190910195509293505050565b60006020828403121561038657600080fd5b8151610391816102d5565b9392505050565b6000602082840312156103aa57600080fd5b503591905056fea2646970667358221220c7d255d7526fcfa430239796650c76896a9f4ddac5a70d1e7cf204e5721356e164736f6c634300081c0033",f=e=>e.length>1;class b extends a.ContractFactory{constructor(...e){f(e)?super(...e):super(r,i,e[0])}getDeployTransaction(e){return super.getDeployTransaction(e||{})}deploy(e){return super.deploy(e||{})}connect(e){return super.connect(e)}static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.TokenChecker__factory=b,b.bytecode=i,b.abi=r},69915:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MockSemaphore__factory=void 0;let a=n(27653),r=[{inputs:[{internalType:"uint256",name:"_groupId",type:"uint256"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"flipValid",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"groupId",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"valid",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_groupId",type:"uint256"},{components:[{internalType:"uint256",name:"merkleTreeDepth",type:"uint256"},{internalType:"uint256",name:"merkleTreeRoot",type:"uint256"},{internalType:"uint256",name:"nullifier",type:"uint256"},{internalType:"uint256",name:"message",type:"uint256"},{internalType:"uint256",name:"scope",type:"uint256"},{internalType:"uint256[8]",name:"points",type:"uint256[8]"}],internalType:"struct ISemaphore.SemaphoreProof",name:"proof",type:"tuple"}],name:"verifyProof",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"}],i="0x60a06040526000805460ff19166001179055348015601c57600080fd5b506040516101bc3803806101bc8339810160408190526039916040565b6080526058565b600060208284031215605157600080fd5b5051919050565b60805161014a6100726000396000609d015261014a6000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80633d45d9ea14610051578063456f41881461006a578063a0f44c9214610098578063c1991219146100cd575b600080fd5b6100686000805460ff19811660ff90911615179055565b005b6100836100783660046100da565b505060005460ff1690565b60405190151581526020015b60405180910390f35b6100bf7f000000000000000000000000000000000000000000000000000000000000000081565b60405190815260200161008f565b6000546100839060ff1681565b6000808284036101c08112156100ef57600080fd5b833592506101a0601f198201121561010657600080fd5b50602083019050925092905056fea2646970667358221220178a1c4e9c59382eb746a995374ccbae0d1fb675a150e3c755b606f2d6b0106664736f6c634300081c0033",f=e=>e.length>1;class b extends a.ContractFactory{constructor(...e){f(e)?super(...e):super(r,i,e[0])}getDeployTransaction(e,t){return super.getDeployTransaction(e,t||{})}deploy(e,t){return super.deploy(e,t||{})}connect(e){return super.connect(e)}static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.MockSemaphore__factory=b,b.bytecode=i,b.abi=r},70771:(e,t,n)=>{var a=n(98233),r=n(48611);e.exports=function(e){return"symbol"==typeof e||r(e)&&"[object Symbol]"==a(e)}}
1,70954:(e,t,n)=>{var a=n(57213),r=n(86110),i=n(84442),f=n(73800),b=n(5518),s=n(80195),o=n(31913),c=n(47532);e.exports=o(function(e,t){var n={};if(null==e)return n;var o=!1;t=a(t,function(t){return t=f(t,e),o||(o=t.length>1),t}),b(e,c(e),n),o&&(n=r(n,7,s));for(var d=t.length;d--;)i(n,t[d]);return n})},70966:e=>{e.exports=function(e,t){return function(n){return e(t(n))}}},72043:(e,t,n)=>{e.exports=n(70966)(Object.keys,Object)},72203:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MockERC20__factory=void 0;let a=n(27653),r=[{inputs:[{internalType:"string",name:"name_",type:"string"},{internalType:"string",name:"symbol_",type:"string"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"allowance",type:"uint256"},{internalType:"uint256",name:"needed",type:"uint256"}],name:"ERC20InsufficientAllowance",type:"error"},{inputs:[{internalType:"address",name:"sender",type:"address"},{internalType:"uint256",name:"balance",type:"uint256"},{internalType:"uint256",name:"needed",type:"uint256"}],name:"ERC20InsufficientBalance",type:"error"},{inputs:[{internalType:"address",name:"approver",type:"address"}],name:"ERC20InvalidApprover",type:"error"},{inputs:[{internalType:"address",name:"receiver",type:"address"}],name:"ERC20InvalidReceiver",type:"error"},{inputs:[{internalType:"address",name:"sender",type:"address"}],name:"ERC20InvalidSender",type:"error"},{inputs:[{internalType:"address",name:"spender",type:"address"}],name:"ERC20InvalidSpender",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"spender",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Transfer",type:"event"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"spender",type:"address"}],name:"allowance",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"approve",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"decimals",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"transfer",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"transferFrom",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"}],i="0x608060405234801561001057600080fd5b50604051610b97380380610b9783398101604081905261002f9161028f565b8181600361003d8382610381565b50600461004a8282610381565b5050506100663368056bc75e2d6310000061006d60201b60201c565b5050610466565b6001600160a01b03821661009c5760405163ec442f0560e01b8152600060048201526024015b60405180910390fd5b6100a8600083836100ac565b5050565b6001600160a01b0383166100d75780600260008282546100cc919061043f565b909155506101499050565b6001600160a01b0383166000908152602081905260409020548181101561012a5760405163391434e360e21b81526001600160a01b03851660048201526024810182905260448101839052606401610093565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b03821661016557600280548290039055610184565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516101c991815260200190565b60405180910390a3505050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126101fd57600080fd5b81516001600160401b03811115610216576102166101d6565b604051601f8201601f19908116603f011681016001600160401b0381118282101715610244576102446101d6565b60405281815283820160200185101561025c57600080fd5b60005b8281101561027b5760208186018101518383018201520161025f565b506000918101602001919091529392505050565b600080604083850312156102a257600080fd5b82516001600160401b038111156102b857600080fd5b6102c4858286016101ec565b602085015190935090506001600160401b038111156102e257600080fd5b6102ee858286016101ec565b9150509250929050565b600181811c9082168061030c57607f821691505b60208210810361032c57634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111561037c57806000526020600020601f840160051c810160208510156103595750805b601f840160051c820191505b818110156103795760008155600101610365565b50505b505050565b81516001600160401b0381111561039a5761039a6101d6565b6103ae816103a884546102f8565b84610332565b6020601f8211600181146103e257600083156103ca5750848201515b600019600385901b1c1916600184901b178455610379565b600084815260208120601f198516915b8281101561041257878501518255602094850194600190920191016103f2565b50848210156104305786840151600019600387901b60f8161c191681555b50505050600190811b01905550565b8082018082111561046057634e487b7160e01b600052601160045260246000fd5b92915050565b610722806104756000396000f3fe608060405234801561001057600080fd5b50600436106100935
1760003560e01c8063313ce56711610066578063313ce567146100fe57806370a082311461010d57806395d89b4114610136578063a9059cbb1461013e578063dd62ed3e1461015157600080fd5b806306fdde0314610098578063095ea7b3146100b657806318160ddd146100d957806323b872dd146100eb575b600080fd5b6100a061018a565b6040516100ad919061056b565b60405180910390f35b6100c96100c43660046105d5565b61021c565b60405190151581526020016100ad565b6002545b6040519081526020016100ad565b6100c96100f93660046105ff565b610236565b604051601281526020016100ad565b6100dd61011b36600461063c565b6001600160a01b031660009081526020819052604090205490565b6100a061025a565b6100c961014c3660046105d5565b610269565b6100dd61015f36600461065e565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b60606003805461019990610691565b80601f01602080910402602001604051908101604052809291908181526020018280546101c590610691565b80156102125780601f106101e757610100808354040283529160200191610212565b820191906000526020600020905b8154815290600101906020018083116101f557829003601f168201915b5050505050905090565b60003361022a818585610277565b60019150505b92915050565b600033610244858285610289565b61024f85858561030d565b506001949350505050565b60606004805461019990610691565b60003361022a81858561030d565b610284838383600161036c565b505050565b6001600160a01b0383811660009081526001602090815260408083209386168352929052205460001981101561030757818110156102f857604051637dc7a0d960e11b81526001600160a01b038416600482015260248101829052604481018390526064015b60405180910390fd5b6103078484848403600061036c565b50505050565b6001600160a01b03831661033757604051634b637e8f60e11b8152600060048201526024016102ef565b6001600160a01b0382166103615760405163ec442f0560e01b8152600060048201526024016102ef565b610284838383610441565b6001600160a01b0384166103965760405163e602df0560e01b8152600060048201526024016102ef565b6001600160a01b0383166103c057604051634a1406b160e11b8152600060048201526024016102ef565b6001600160a01b038085166000908152600160209081526040808320938716835292905220829055801561030757826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161043391815260200190565b60405180910390a350505050565b6001600160a01b0383166104
16c57806002600082825461046191906106cb565b909155506104de9050565b6001600160a01b038316600090815260208190526040902054818110156104bf5760405163391434e360e21b81526001600160a01b038516600482015260248101829052604481018390526064016102ef565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b0382166104fa57600280548290039055610519565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161055e91815260200190565b60405180910390a3505050565b602081526000825180602084015260005b81811015610599576020818601810151604086840101520161057c565b506000604082850101526040601f19601f83011684010191505092915050565b80356001600160a01b03811681146105d057600080fd5b919050565b600080604083850312156105e857600080fd5b6105f1836105b9565b946020939093013593505050565b60008060006060848603121561061457600080fd5b61061d846105b9565b925061062b602085016105b9565b929592945050506040919091013590565b60006020828403121561064e57600080fd5b610657826105b9565b9392505050565b6000806040838503121561067157600080fd5b61067a836105b9565b9150610688602084016105b9565b90509250929050565b600181811c908216806106a557607f821691505b6020821081036106c557634e487b7160e01b600052602260045260246000fd5b50919050565b8082018082111561023057634e487b7160e01b600052601160045260246000fdfea2646970667358221220378f5e8aaa0fdc3619e4739f37b17498500eb173f4eb1996209f055eeab4a4ab64736f6c634300081c0033",f=e=>e.length>1;class b extends a.ContractFactory{constructor(...e){f(e)?super(...e):super(r,i,e[0])}getDeployTransaction(e,t,n){return super.getDeployTransaction(e,t,n||{})}deploy(e,t,n){return super.deploy(e,t,n||{})}connect(e){return super.connect(e)}static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.MockERC20__factory=b,b.bytecode=i,b.abi=r},72288:e=>{e.exports=function(e,t){for(var n=-1,a=null==e?0:e.length;++n<a&&!1!==t(e[n],n,e););return e}},72479:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ERC20VotesInitialVoiceCreditProxyFactory__factory=t.ERC20VotesInitialVoiceCreditProxy__factory=t.ConstantInitialVoiceCreditProxyFactory__factory=t.ConstantInitialVoiceCreditProxy__factory=void 0;var a=n(99314);Object.defineProperty(t,"ConstantInitialVoiceCreditProxy__factory",{enumerable:!0,get:function(){return a.ConstantInitialVoiceCreditProxy__factory}});var r=n(59568);Object.defineProperty(t,"ConstantInitialVoiceCreditProxyFactory__factory",{enumerable:!0,get:function(){return r.ConstantInitialVoiceCreditProxyFactory__factory}});var i=n(87481);Object.defineProperty(t,"ERC20VotesInitialVoiceCreditProxy__factory",{enumerable:!0,get:function(){return i.ERC20VotesInitialVoiceCreditProxy__factory}});var f=n(42737);Object.defineProperty(t,"ERC20VotesInitialVoiceCreditProxyFactory__factory",{enumerable:!0,get:function(){return f.ERC20VotesInitialVoiceCreditProxyFactory__factory}})},73430:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.HatsPolicy__factory=void 0;let a=n(27653),r=[{inputs:[],stateMutability:"payable",type:"constructor"},{inputs:[],name:"AlreadyEnforced",type:"error"},{inputs:[],name:"AlreadyInitialized",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:[],name:"TargetAlreadySet",type:"error"},{inputs:[],name:"TargetNotSet",type:"error"},{inputs:[],name:"TargetOnly",type:"error"},{inputs:[],name:"UnsuccessfulCheck",type:"error"},{inputs:[],name:"ZeroAddress",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"subject",type:"address"},{indexed:!0,internalType:"address",name:"guarded",type:"address"},{indexed:!1,internalType:"bytes",name:"evidence",type:"bytes"}],name:"Enforced",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"guarded",type:"address"}],name:"TargetSet",type:"event"},{inputs:[],name:"BASE_CHECKER",outputs:[{internalType:"contract BaseChecker",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"subject",type:"address"},{internalType:"bytes",name:"evidence",type:"bytes"}],name:"enforce",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"enforced",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"getAppendedBytes",outputs:[{internalType:"bytes",name:"appendedBytes",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[],name:"guarded",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"initialized",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_guarded",type:"address"}],name:"setTarget",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"trait",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"}],i="0x60806040523380602957604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b6030816035565b50608e565b600080546001600160a01b03838116610100818102610100600160a81b0319851617855560405193049190911692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35050565b6107ec8061009d6000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c80637e164204116100715780637e164204146101595780638129fc1c1461016c5780638da5cb5b14610174578063b41a4b191461018a578063ce343deb1461019f578063f2fde38b146101bf57600080fd5b8063158ef93e146100b95780631e898ef1146100db5780633f553ed4146100f0578063715018a61461011357806372f7a0301461011b578063776d1a0114610146575b600080fd5b6000546100c69060ff1681565b60405190151581526020015b60405180910390f35b6100ee6100e93660046105e3565b6101d2565b005b6100c66100fe36600461066a565b60036020526000908152604090205460ff1681565b6100ee61020d565b60015461012e906001600160a01b031681565b6040516001600160a01b0390911681526020016100d256
15b6100ee61015436600461066a565b610221565b60025461012e906001600160a01b031681565b6100ee6102c4565b60005461010090046001600160a01b031661012e565b6101926102cc565b6040516100d291906106d4565b6040805180820190915260048152634861747360e01b6020820152610192565b6100ee6101cd36600461066a565b6102db565b6001546001600160a01b031633146101fd57604051631f492dbf60e21b815260040160405180910390fd5b61020883838361031e565b505050565b610215610386565b61021f60006103b9565b565b610229610386565b6001600160a01b0381166102505760405163d92e233d60e01b815260040160405180910390fd5b6001546001600160a01b03161561027a5760405163e0f2d7b160e01b815260040160405180910390fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040517f3bfb4bbf112628248058745a3c57e35b13369386e474b8e56c552f3063a4a19690600090a250565b61021f610412565b60606102d661046e565b905090565b6102e3610386565b6001600160a01b03811661031257604051631e4fbdf760e01b8152600060048201526024015b60405180910390fd5b61031b816103b9565b50565b6001600160a01b03831660009081526003602052604090205460ff161561035857604051633440c93360e21b815260040160405180910390fd5b6001600160a01b0383166000908152600360205260409020805460ff19166001179055610208838383610479565b6000546001600160a01b0361010090910416331461021f5760405163118cdaa760e01b8152336004820152602401610309565b600080546001600160a01b03838116610100818102610100600160a81b0319851617855560405193049190911692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35050565b61041a61055c565b600061042461046e565b90506000808280602001905181019061043d91906106e7565b9150915061044a826103b9565b600280546001600160a01b0319166001600160a01b03929092169190911790555050565b60606102d63061056d565b60025460405163e2b2408560e01b81526001600160a01b039091169063e2b24085906104ad9086908690869060040161074a565b602060405180830381865afa1580156104ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ee9190610778565b61050b57604051634715494560e01b815260040160405180910390fd5b6001546040516001600160a01b03918216918516907fc013b39287cb7a53f776482ac9573829321f002f31ef8782129b41d60047bda09061054f908690869061079a565b60405180910390a3505050565b61056461059c565b61021f336103b9565b60405164ffffffffff602c19833b0116808252602090810190602d908301843c60408101815101604052919050565b60005460ff16156105bf5760405162dc149f60e41b815260040160405180910390fd5b6000805460ff19166001179055565b6001600160a01b038116811461031b57600080fd5b6000806000604084860312156105f857600080fd5b8335610603816105ce565b9250602084013567ffffffffffffffff81111561061f57600080fd5b8401601f8101861361063057600080fd5b803567ffffffffffffffff81111561064757600080fd5b86602082840101111561065957600080fd5b939660209190910195509293505050565b60006020828403121561067c57600080fd5b8135610687816105ce565b9392505050565b6000815180845260005b818110156106b457602081850181015186830182015201610698565b506000602082860101526020601f19601f83011685010191505092915050565b602081526000610687602083018461068e565b600080604083850312156106fa57600080fd5b8251610705816105ce565b6020840151909250610716816105ce565b809150509250929050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b038416815260406020820181905260009061076f9083018486610721565b95945050505050565b60006020828403121561078a57600080fd5b8151801515811461068757600080fd5b6020815260006107ae602083018486610721565b94935050505056fea264697066735822122093c5cb89362bdabeaf87afadbd0d43510d69d35c49d78753ba9ceea2cb561a5f64736f6c634300081c0033",f=e=>e.length>1;class b extends a.ContractFactory{constructor(...e){f(e)?super(...e):super(r,i,e[0])}getDeployTransaction(e){return super.getDeployTransaction(e||{})}deploy(e){return super.deploy(e||{})}connect(e){return super.connect(e)}static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.HatsPolicy__factory=b,b.bytecode=i,b.abi=r},73723:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.joinPoll=void 0;let a=n(68832),r=n(68960),i=n(68681),f=n(64882),b=n(62744),s=n(78451);t.joinPoll=async({maciAddress:e,privateKey:t,pollId:n,signer:o,startBlock:c,endBlock:d,blocksPerBatch:u,pollJoiningZkey:l,pollWasm:p,sgDataArg:y,ivcpDataArg:m,inclusionProof:h,useLatestStateIndex:g})=>{let T;if(!await (0,b.contractExists)(o.provider,e))throw Error("MACI contract does not exist");if(!i.PrivateKey.isValidSerialized(t))throw Error("Invalid MACI private key");if(n<0)throw Error("Invalid poll id");let _=i.PrivateKey.deserialize(t),v=new i.Keypair(_).publicKey,w=(0,r.poseidon)([BigInt(_.asCircuitInputs()),n]);if(await (0,f.hasUserJoinedPoll)({maciAddress:e,pollId:n,nullifier:w,signer:o}))throw Error("User has already joined");let P=a.MACI__factory.connect(e,o),A=await P.getPoll(n),M=a.Poll__factory.connect(A.poll,o),I=await P.getStateIndex(v.hash()).catch(()=>-1n),O=await P.stateTreeDepth();T=h?(0,f.joiningCircuitInputs)(h,O,_,v,n):await (0,f.getPollJoiningCircuitEvents)({maciContract:P,stateIndex:I,pollId:n,userMaciPrivateKey:_,signer:o,startBlock:c,endBlock:d,blocksPerBatch:u});let C=g?Number.parseInt((await P.totalSignups()).toString(),10)-1:I,{proof:E}=await (0,s.generateProofSnarkjs)({inputs:T,zkeyPath:l,wasmPath:p}),x=await M.joinPoll(w,v.asContractParam(),C,(0,s.formatProofForVerifierContract)(E),y,m),S=await x.wait();if(S?.status!==1)throw Error("Transaction failed");let[{args:R}]=await M.queryFilter(M.filters.PollJoined,S.blockNumber,S.blockNumber);return{pollStateIndex:R._pollStateIndex.toString(),voiceCredits:R._voiceCreditBalance.toString(),nullifier:w.toString(),hash:S.hash}}},73726:(e,t,n)=>{e.exports=n(70966)(Object.getPrototypeOf,Object)},73800:(e,t,n)=>{var a=n(39608),r=n(79595),i=n(37835),f=n(85855);e.exports=function(e,t){return a(e)?e:r(e,t)?[e]:i(f(e))}},73956:(e,t,n)=>{var a=n(5658);e.exports=function(e){return a(this,e).has(e)}},73961:(e,t,n)=>{"use strict";
1Object.defineProperty(t,"__esModule",{value:!0}),t.HatsChecker__factory=void 0;let a=n(27653),r=[{inputs:[],name:"AlreadyInitialized",type:"error"},{inputs:[],name:"NotCriterionHat",type:"error"},{inputs:[],name:"NotWearingCriterionHat",type:"error"},{inputs:[{internalType:"address",name:"subject",type:"address"},{internalType:"bytes",name:"evidence",type:"bytes"}],name:"check",outputs:[{internalType:"bool",name:"checked",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"criterionHats",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"getAppendedBytes",outputs:[{internalType:"bytes",name:"appendedBytes",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[],name:"hats",outputs:[{internalType:"contract IHats",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"initialized",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"}],i="0x6080604052348015600f57600080fd5b506105a88061001f6000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c806305023c3114610067578063158ef93e1461009f5780638129fc1c146100ac578063b41a4b19146100b6578063e2b24085146100cb578063f99f0238146100de575b600080fd5b61008a610075366004610334565b60016020526000908152604090205460ff1681565b60405190151581526020015b60405180910390f35b60005461008a9060ff1681565b6100b461010e565b005b6100be610118565b604051610096919061034d565b61008a6100d93660046103b3565b610127565b6000546100f69061010090046001600160a01b031681565b6040516001600160a01b039091168152602001610096565b61011661013c565b565b60606101226101e4565b905090565b60006101348484846101ef565b949350505050565b6101446102d3565b600061014e6101e4565b9050600080828060200190518101906101679190610450565b60008054610100600160a81b0319166101006001600160a01b0385160217815591935091505b81518110156101de5760018060008484815181106101ad576101ad610533565b6020908102919091018101518252810191909152604001600020805460ff191691151591909117905560010161018d565b50505050565b606061012230610305565b6000806101fe83850185610334565b60008181526001602052604090205490915060ff1661023057604051632f76bd0160e21b815260040160405180910390fd5b6000546040516321a9204d60e11b81526001600160a01b0387811660048301526024820184905261010090920490911690634352409a90604401602060405180830381865afa158015610287573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102ab9190610549565b6102c8576040516306fdb0d360e31b815260040160405180910390fd5b506001949350505050565b60005460ff16156102f65760405162dc149f60e41b815260040160405180910390fd5b6000805460ff19166001179055565b60405164ffffffffff602c19833b0116808252602090810190602d908301843c60408101815101604052919050565b60006020828403121561034657600080fd5b5035919050565b602081526000825180602084015260005b8181101561037b576020818601810151604086840101520161035e565b506000604082850101526040601f19601f83011684010191505092915050565b6001600160a01b03811681146103b057600080fd5b50565b6000806000604084860312156103c857600080fd5b83356103d38161039b565b9250602084013567ffffffffffffffff8111156103ef57600080fd5b8401601f8101861361040057600080fd5b803567ffffffffffffffff81111561041757600080fd5b86602082840101111561042957600080fd5b939660209190910195509293505050565b634e487b7160e01b600052604160045260246000fd5b6000806040838503121561046357600080fd5b825161046e8161039b565b602084015190925067ffffffffffffffff81111561048b57600080fd5b8301601f8101851361049c57600080fd5b805167ffffffffffffffff8111156104b6576104b661043a565b8060051b604051601f19603f830116810181811067ffffffffffffffff821117156104e3576104e361043a565b60405291825260208184018101929081018884111561050157600080fd5b6020850194505b8385101561052457845180825260209586019590935001610508565b50809450505050509250929050565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561055b57600080fd5b8151801515811461056b57600080fd5b939250505056fea2646970667358221220581eabfad79601c327eaab1d86bd64e59a8e27347fa380792668a42d24916bef64736f6c634300081c0033",f=e=>e.length>1;class b extends a.ContractFactory{constructor(...e){f(e)?super(...e):super(r,i,e[0])}getDeployTransaction(e){return super.getDeployTransaction(e||{})}deploy(e){return super.deploy(e||{})}connect(e){return super.connect(e)}static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.HatsChecker__factory=b,b.bytecode=i,b.abi=r},74544:(e,t,n)=>{var a=n(5658);e.exports=function(e){return a(this,e).get(e)}},74815:(e,t,n)=>{"use strict";
1Object.defineProperty(t,"__esModule",{value:!0}),t.TokenCheckerFactory__factory=void 0;let a=n(27653),r=[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"clone",type:"address"}],name:"CloneDeployed",type:"event"},{inputs:[],name:"IMPLEMENTATION",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"}],name:"deploy",outputs:[{internalType:"address",name:"clone",type:"address"}],stateMutability:"nonpayable",type:"function"}],i="0x60a0604052348015600f57600080fd5b50604051601a906046565b604051809103906000f0801580156035573d6000803e3d6000fd5b506001600160a01b03166080526053565b610406806102df83390190565b60805161026b6100746000396000818160400152610121015261026b6000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80633a4741bd1461003b5780634c96a3891461007e575b600080fd5b6100627f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b61006261008c36600461020c565b604080516001600160a01b038316602082015260009182910160405160208183030381529060405290506100bf8161011a565b9150816001600160a01b0316638129fc1c6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156100fc57600080fd5b505af1158015610110573d6000803e3d6000fd5b5050505050919050565b60006101467f000000000000000000000000000000000000000000000000000000000000000083610182565b6040519091506001600160a01b038216907f2158cde9935cbf85d0b02e02fbc315ad0be2f3f017a603a2ebeedead21b8d60b90600090a2919050565b600061019060008484610197565b9392505050565b600060405182518060438301826020870160045afa506e5af43d82803e903d91602b57fd5bf360238301528460148301528060881b74fe61002d3d81600a3d39f3363d3d373d3d3d363d730182526037810161ffd38210600b01830187f092505050806101905763301164256000526004601cfd5b60006020828403121561021e57600080fd5b81356001600160a01b038116811461019057600080fdfea26469706673582212206074391bda104e166052dc7444dbad36b764da67f82711cdaed2c25be53d462264736f6c634300081c00336080604052348015600f57600080fd5b506103e78061001f6000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c8063158ef93e1461005c5780638129fc1c1461007e578063b41a4b1914610088578063e2b240851461009d578063fc0c546a146100b0575b600080fd5b6000546100699060ff1681565b60405190151581526020015b60405180910390f35b6100866100e0565b005b6100906100ea565b6040516100759190610287565b6100696100ab3660046102ed565b6100f9565b6000546100c89061010090046001600160a01b031681565b6040516001600160a01b039091168152602001610075565b6100e861010e565b565b60606100f4610162565b905090565b600061010684848461016d565b949350505050565b610116610226565b6000610120610162565b90506000818060200190518101906101389190610374565b600080546001600160a01b0390921661010002610100600160a81b03199092169190911790555050565b60606100f430610258565b60008061017c83850185610398565b6000546040516331a9108f60e11b8152600481018390529192506001600160a01b03878116926101009092041690636352211e90602401602060405180830381865afa1580156101d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101f49190610374565b6001600160a01b03161461021b576040516359dc379f60e01b815260040160405180910390fd5b506001949350505050565b60005460ff16156102495760405162dc149f60e41b815260040160405180910390fd5b6000805460ff19166001179055565b60405164ffffffffff602c19833b0116808252602090810190602d908301843c60408101815101604052919050565b602081526000825180602084015260005b818110156102b55760208186018101516040868401015201610298565b506000604082850101526040601f19601f83011684010191505092915050565b6001600160a01b03811681146102ea57600080fd5b50565b60008060006040848603121561030257600080fd5b833561030d816102d5565b9250602084013567ffffffffffffffff81111561032957600080fd5b8401601f8101861361033a57600080fd5b803567ffffffffffffffff81111561035157600080fd5b86602082840101111561036357600080fd5b939660209190910195509293505050565b60006020828403121561038657600080fd5b8151610391816102d5565b9392505050565b6000602082840312156103aa57600080fd5b503591905056fea2646970667358221220c7d255d7526fcfa430239796650c76896a9f4ddac5a70d1e7cf204e5721356e164736f6c634300081c0033",f=e=>e.length>1;class b extends a.ContractFactory{constructor(...e){f(e)?super(...e):super(r,i,e[0])}getDeployTransaction(e){return super.getDeployTransaction(e||{})}deploy(e){return super.deploy(e||{})}connect(e){return super.connect(e)}static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.TokenCheckerFactory__factory=b,b.bytecode=i,b.abi=r}
1,75899:(e,t,n)=>{e.exports=n(83711)(Object,"create")},76284:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BaseChecker__factory=void 0;let a=n(27653),r=[{inputs:[],name:"AlreadyInitialized",type:"error"},{inputs:[{internalType:"address",name:"subject",type:"address"},{internalType:"bytes",name:"evidence",type:"bytes"}],name:"check",outputs:[{internalType:"bool",name:"checked",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"getAppendedBytes",outputs:[{internalType:"bytes",name:"appendedBytes",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"initialized",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"}];class i{static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.BaseChecker__factory=i,i.abi=r},76326:(e,t,n)=>{"use strict";var a=n(47526);t.requireArray=function(e,t){if(!a.isArray(e))throw TypeError(`Parameter '${t}' is not an Array instance`)},t.requireBigInt=function(e,t){if(!a.isBigInt(e))throw TypeError(`Parameter '${t}' is not a bigint, received type: ${typeof e}`)},t.requireBigNumber=function(e,t){if(!a.isBigNumber(e))throw TypeError(`Parameter '${t}' is not a bignumber`)},t.requireBigNumberish=function(e,t){if(!a.isBigNumberish(e))throw TypeError(`Parameter '${t}' is not a bignumber-ish`)},t.requireBoolean=function(e,t){if(!a.isBoolean(e))throw TypeError(`Parameter '${t}' is not a boolean, received type: ${typeof e}`)},t.requireBuffer=function(e,t){if(!a.isBuffer(e))throw TypeError(`Parameter '${t}' is not a Buffer instance`)},t.requireDefined=function(e,t){if(!a.isDefined(e))throw TypeError(`Parameter '${t}' is not defined`)},t.requireFunction=function(e,t){if(!a.isFunction(e))throw TypeError(`Parameter '${t}' is not a function, received type: ${typeof e}`)},t.requireHexadecimal=function(e,t,n=!0){if(!a.isHexadecimal(e,n))throw TypeError(`Parameter '${t}' is not a hexadecimal string`)},t.requireNumber=function(e,t){if(!a.isNumber(e))throw TypeError(`Parameter '${t}' is not a number, received type: ${typeof e}`)},t.requireObject=function(e,t){if(!a.isObject(e))throw TypeError(`Parameter '${t}' is not an object, received type: ${typeof e}`)},t.requireString=function(e,t){if(!a.isString(e))throw TypeError(`Parameter '${t}' is not a string, received type: ${typeof e}`)},t.requireStringifiedBigInt=function(e,t){if(!a.isStringifiedBigInt(e))throw TypeError(`Parameter '${t}' is not a stringified bigint`)},t.requireTypes=function(e,t,n){for(let e of n)if(!a.isSupportedType(e))throw Error(`Type '${e}' is not supported`);for(let t of n)if(a.isType(e,t))return;throw TypeError(`Parameter '${t}' is none of the following types: ${n.join(", ")}`)},t.requireUint8Array=function(e,t){if(!a.isUint8Array(e))throw TypeError(`Parameter '${t}' is not a Uint8Array instance`)}},76674:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MaciSubgraph=void 0;let a=n(68681);class r{constructor(e){this.userQuery=`
2        query {
3            users {
4                id
5            }
6        }
7    `,this.url=e}async getKeys(){let e=await fetch(this.url,{method:"POST",body:JSON.stringify({query:this.userQuery}),headers:{"Content-Type":"application/json",Accept:"application/json"}});if(!e.ok)throw Error(`GraphQL query failed: ${e.statusText}`);let t=await e.json();if(t.errors)throw Error(`GraphQL errors: ${JSON.stringify(t.errors)}`);if(!t.data?.users)throw Error("No users data in response");return t.data.users.map(e=>{let[t,n]=e.id.split(" ");return new a.PublicKey([BigInt(t),BigInt(n)])})}}t.MaciSubgraph=r},76957:(e,t,n)=>{e.exports=n(82500).Uint8Array},77308:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PollFactory__factory=void 0;let a=n(27653),r=[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"clone",type:"address"}],name:"CloneDeployed",type:"event"},{inputs:[],name:"IMPLEMENTATION",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"MESSAGE_DATA_LENGTH",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[{components:[{internalType:"uint256",name:"startDate",type:"uint256"},{internalType:"uint256",name:"endDate",type:"uint256"},{components:[{internalType:"uint8",name:"tallyProcessingStateTreeDepth",type:"uint8"},{internalType:"uint8",name:"voteOptionTreeDepth",type:"uint8"},{internalType:"uint8",name:"stateTreeDepth",type:"uint8"}],internalType:"struct Params.TreeDepths",name:"treeDepths",type:"tuple"},{internalType:"uint8",name:"messageBatchSize",type:"uint8"},{components:[{internalType:"uint256",name:"x",type:"uint256"},{internalType:"uint256",name:"y",type:"uint256"}],internalType:"struct DomainObjs.PublicKey",name:"coordinatorPublicKey",type:"tuple"},{components:[{internalType:"contract IMACI",name:"maci",type:"address"},{internalType:"contract IVerifier",name:"verifier",type:"address"},{internalType:"contract IVerifyingKeysRegistry",name:"verifyingKeysRegistry",type:"address"},{internalType:"contract IBasePolicy",name:"policy",type:"address"},{internalType:"contract IInitialVoiceCreditProxy",name:"initialVoiceCreditProxy",type:"address"}],internalType:"struct Params.ExtContracts",name:"extContracts",type:"tuple"},{internalType:"uint256",name:"emptyBallotRoot",type:"uint256"},{internalType:"uint256",name:"pollId",type:"uint256"},{internalType:"address[]",name:"relayers",type:"address[]"},{internalType:"uint256",name:"voteOptions",type:"uint256"}],internalType:"struct IPollFactory.DeployPollArgs",name:"_args",type:"tuple"}],name:"deploy",outputs:[{internalType:"address",name:"pollAddress",type:"address"}],stateMutability:"nonpayable",type:"function"}],i="0x60a0604052348015600f57600080fd5b50604051601a906046565b604051809103906000f0801580156035573d6000803e3d6000fd5b506001600160a01b03166080526053565b613ccb8061058683390190565b60805161051261007460003960008181604b015261019801526105126000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80633a4741bd146100465780634b332c201461008a578063683f3dc31461009d575b600080fd5b61006d7f000000000000000000000000000000000000000000000000000000000000000081565b
76040516001600160a01b0390911681526020015b60405180910390f35b61006d610098366004610283565b6100b7565b6100a5600a81565b60405160ff9091168152602001610081565b60008082356020840135604085016100d560c0870160a088016102d5565b60c0870161010088016101a08901356101c08a01356100f86101e08c018c6102f0565b8c61020001356040516020016101189b9a99989796959493929190610431565b6040516020818303038152906040529050600061013482610191565b9050806001600160a01b0316638129fc1c6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561017157600080fd5b505af1158015610185573d6000803e3d6000fd5b50929695505050505050565b60006101bd7f0000000000000000000000000000000000000000000000000000000000000000836101f9565b6040519091506001600160a01b038216907f2158cde9935cbf85d0b02e02fbc315ad0be2f3f017a603a2ebeedead21b8d60b90600090a2919050565b60006102076000848461020e565b9392505050565b600060405182518060438301826020870160045afa506e5af43d82803e903d91602b57fd5bf360238301528460148301528060881b74fe61002d3d81600a3d39f3363d3d373d3d3d363d730182526037810161ffd38210600b01830187f092505050806102075763301164256000526004601cfd5b60006020828403121561029557600080fd5b813567ffffffffffffffff8111156102ac57600080fd5b8201610220818503121561020757600080fd5b803560ff811681146102d057600080fd5b919050565b6000602082840312156102e757600080fd5b610207826102bf565b6000808335601e1984360301811261030757600080fd5b83018035915067ffffffffffffffff82111561032257600080fd5b6020019150600581901b360382131561033a57600080fd5b9250929050565b6001600160a01b038116811461035657600080fd5b50565b803561036481610341565b6001600160a01b03168252602081013561037d81610341565b6001600160a01b03166020830152604081013561039981610341565b6001600160a01b0316604083015260608101356103b581610341565b6001600160a01b0316606083015260808101356103d181610341565b6001600160a01b03166080929092019190915250565b81835260208301925060008160005b8481101561042757813561040981610341565b6001600160a01b0316865260209586019591909101906001016103f6565b5093949350505050565b8b81528a602082015260ff6104458b6102bf565b16604082015260ff61045960208c016102bf565b16606082015260ff61046d60408c016102bf565b16608082015260ff891660a0820152873560c0820152602088013560e082015261049b610100820188610359565b856101a0820152846101c08201526102206101e082015260006104c3610220830185876103e7565b9050826102008301529c9b50505050505050505050505056fea2646970667358221220e2991c8e076eee99b1636491f08576fe765659d02903aad05da3e2cbc18e236364736f6c634300081c00336080604052348015600f57600080fd5b50613cac8061001f6000396000f3fe608060405234801561001057600080fd5b50600436106103275760003560e01c80636f13ab00116101b8578063b41a4b1911610104578063d2b5751d116100a2578063e33b13a01161007c578063e33b13a01461075a578063edbfe83f14610767578063ef9a5f0a14610789578063fba630f21461079c57600080fd5b8063d2b5751d14610735578063d98665271461073e578063df82635a1461075157600080fd5b8063bea140b3116100de578063bea140b3146106fd578063c17268d914610710578063c24a0f8b14610719578063c4e959581461072257600080fd5b8063b41a4b1914610667578063ba5810fd1461067c578063bc14ee2b1461069757600080fd5b80638b6e7463116101715780639cfced971161014b5780639cfced97146105da578063a4de2f5c146105ed578063ac98e5df14610600578063ad731cad1461064457600080fd5b80638b6e7463146105a45780638c2c887c146105bf57806392552667146105d257600080fd5b80636f13ab00146105535780637028bb0e1461055c578063719b9bd8146105695780637739919514610576578063793c5632146105895780638129fc1c1461059c57600080fd5b80633dfb88b2116102775780635ae9d4f11161023057806362a361bb1161020a57806362a361bb1461050f578063683f3dc3146105225780636d582d341461053c5780636dc590ad1461054557600080fd5b80635ae9d4f1146104d35780635bb93995146104e9578063623f54ac146104fc57600080fd5b80633dfb88b21461044f57806341495d1c1461046257806349716ebf1461046b57806350e17f0c146104945780635300f8411461049d57806358bfc379146104c057600080fd5b80630f4cf692116102e457806327bea0da116102be57806327bea0da14610403578063340a01c11461041657806337a90cae146104295780633b2ab96f1461043c57600080fd5b80630f4cf692146103d857806314417e8c146103e1578063158ef93e146103f657600080fd5b8063014054261461032c57806309feaf2a146103525780630b97bc861461035c5780630c4eb5c2146103655780630d4e6e6a1461039f5780630e1b48ea146103bc575b600080fd5b61033f61033a366004612ba6565b6107a5565b
76040519081526020015b60405180910390f35b61035a610873565b005b61033f60065481565b6018546103819064ffffffffff80821691600160281b90041682565b6040805164ffffffffff938416815292909116602083015201610349565b6017546103ac9060ff1681565b6040519015158152602001610349565b6006546007545b60408051928352602083019190915201610349565b61033f600b5481565b6103e9610980565b6040516103499190612c19565b6000546103ac9060ff1681565b61035a610411366004612c44565b6109d8565b61035a610424366004612c7a565b610abf565b6103ac610437366004612d4a565b610bd5565b6103ac61044a366004612d93565b610ce6565b61033f61045d366004612db8565b610dea565b61033f600d5481565b61047e610479366004612e20565b610e6b565b60405164ffffffffff9091168152602001610349565b61033f60045481565b6103ac6104ab366004612e51565b601b6020526000908152604090205460ff1681565b61033f6104ce366004612e91565b610ee0565b601854600160281b900464ffffffffff1661033f565b61033f6104f7366004612f2b565b610f68565b61035a61050a366004612f98565b610f8d565b61033f61051d366004613039565b611002565b61052a600a81565b60405160ff9091168152602001610349565b61033f60085481565b6002546003546103c3919082565b61033f601d5481565b600c5461052a9060ff1681565b600f5461052a9060ff1681565b61033f610584366004612e20565b61103c565b61033f61059736600461307c565b61105d565b61035a611090565b6010546040516001600160a01b039091168152602001610349565b61033f6105cd366004612e20565b61109a565b61035a6110aa565b61033f6105e83660046130b6565b611134565b61033f6105fb366004612e20565b61116e565b600e546106209060ff808216916101008104821691620100009091041683565b6040805160ff94851681529284166020840152921691810191909152606001610349565b6103ac610652366004612e20565b601c6020526000908152604090205460ff1681565b61066f61117e565b6040516103499190613149565b601854600b54600160281b90910464ffffffffff16906103c3565b6010546011546012546013546014546106c3946001600160a01b03908116948116938116928116911685565b604080516001600160a01b03968716815294861660208601529285169284019290925283166060830152909116608082015260a001610349565b61033f61070b36600461315c565b61118d565b61033f600a5481565b61033f60075481565b6103e9610730366004612e20565b6111c7565b61033f60165481565b6103e961074c36600461319f565b61122b565b61033f60015481565b6009546103ac9060ff1681565b61077a610775366004613039565b61136a565b60405161034993929190613201565b61035a61079736600461329d565b611412565b61033f60055481565b60006107af6129a0565b83515181528351602090810151908201528351604090810151908201528351606090810151908201528351608090810151908201526107ec6129a0565b845160a001518152845160c001516020820152845160e0015160408083019190915285516101000151606083015285516101200151608080840191909152815190810190915261086a908061084085611134565b815260200161084e84611134565b8152602001866000015181526020018660200151815250610dea565b95945050505050565b60075442101561089657604051630931513d60e11b815260040160405180910390fd5b60095460ff16156108ba5760405163b703d3c960e01b815260040160405180910390fd5b6009805460ff1916600117905560006108d360186116de565b600581905590506108e26129be565b8181526008546020820152600060408201526108fd8161118d565b600a55601854600160281b900464ffffffffff1660015b818160ff166001901b64ffffffffff16101561093c57806109348161336c565b915050610914565b600c805460ff191660ff83161790556005546040518391907f4e3ffd35899168b0b0f09b3a93419888fad4d7602c81fb08fe67506d1e2b42d490600090a350505050565b606060158054806020026020016040519081016040528092919081815260200182805480156109ce57602002820191906000526020600020905b8154815260200190600101908083116109ba575b5050505050905090565b6007544211156109fb5760405163148fb9a960e31b815260040160405180910390fd5b600654421015610a1e576040516304add5b960e31b815260040160405180910390fd5b610a2d8135602083013561172e565b610a4a5760405163145a1fdd60e31b815260040160405180910390fd5b600b805460010190556000610a76610a673685900385018561338b565b61033a368590038501856133a8565b9050610a81816117d8565b7f4be9ef9ae736055964ead1cf3c83a19c8b662b5df2bd4414776bb64d81f75d158383604051610ab29291906133c4565b60405180910390a1505050565b600754421115610ae25760405163148fb9a960e31b815260040160405180910390fd5b600654421015610b05576040516304add5b960e31b815260040160405180910390fd5b336000908152601b602052604090205460ff16610b355760405163c64891a560e01b815260040160405180910390fd5b600b8054830190558160005b81811015610b7257610b6a858583818110610b5e57610b5e613340565b905060200201356117d8565b600101610b41565b50601a805460018101825560009182527f057c384a7d1c54f3a1b2e5e67b2617b8224fdfd1ea7234eea573a6ff665ff63e0183905560405183917f91b942fa69ed48e396db89fe27f88192d8ca138308a57a2bb49c5824f8d54cab91a250505050565b601254600e54604051631fc87fab60e31b81526201000090910460ff16600482015260009182916001600160a01b039091169063fe43fd5890602401600060405180830381865afa158015610c2e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610c5691908101906134a1565b90506000610c6587878761122b565b60115460405163352a4d1560e01b81529192506001600160a01b03169063352a4d1590610c9a9087908690869060040161360d565b
7602060405180830381865afa158015610cb7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cdb919061370e565b979650505050505050565b601254600e5460405163b7e3d4f760e01b81526201000090910460ff16600482015260009182916001600160a01b039091169063b7e3d4f790602401600060405180830381865afa158015610d3f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610d6791908101906134a1565b90506000610d74856111c7565b60115460405163352a4d1560e01b81529192506001600160a01b03169063352a4d1590610da99087908690869060040161360d565b602060405180830381865afa158015610dc6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061086a919061370e565b60405163248f667760e01b815260009073__$ce9c2c925f157047e54fa833ec4e61409f$__9063248f667790610e24908590600401613730565b602060405180830381865af4158015610e41573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e659190613761565b92915050565b60185460009064ffffffffff16815b8164ffffffffff168164ffffffffff1611610ec65764ffffffffff8116600090815260196020526040902054849003610eb4579392505050565b80610ebe8161377a565b915050610e7a565b50604051631bfab01360e31b815260040160405180910390fd5b6000600080516020613c57833981519152600283604051602001610f049190613798565b60408051601f1981840301815290829052610f1e916137c3565b602060405180830381855afa158015610f3b573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610f5e9190613761565b610e6591906137f5565b6000610f726129dc565b83815260208101839052610f8581611002565b949350505050565b828114610fad5760405163ca3487f760e01b815260040160405180910390fd5b8260005b81811015610ffa57610ff2868683818110610fce57610fce613340565b90506101400201858584818110610fe757610fe7613340565b9050604002016109d8565b600101610fb1565b505050505050565b6040516314d2f97b60e11b815260009073__$6574937f64fc1d7710ec0e28b7a36713bb$__906329a5f2f690610e24908590600401613817565b601e818154811061104c57600080fd5b600091825260209091200154905081565b60006110676129be565b825151815282516020908101518183015283015160408201526110898161118d565b9392505050565b611098611882565b565b6015818154811061104c57600080fd5b6007544210156110cd57604051630931513d60e11b815260040160405180910390fd5b60175460ff16611098576017805460ff19166001179055600f54600b546110f79160ff16906137f5565b1561109857601654601580546001810182556000919091527f55f448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec4750155565b604051630926f44b60e31b815260009073__$20527677031d76601747626a9845039fe4$__90634937a25890610e2490859060040161383f565b601a818154811061104c57600080fd5b6060611188611c2b565b905090565b6040516304b98e1d60e31b815260009073__$dc01a9744591ab014bc46a3b7671cdaefb$__906325cc70e890610e24908590600401613867565b60408051600180825281830190925260609160208083019080368337019050509050601e82815481106111fc576111fc613340565b90600052602060002001548160008151811061121a5761121a613340565b
7602002602001018181525050919050565b60408051600580825260c082019092526060916020820160a08036833701905050905081600001358160008151811061126657611266613340565b60200260200101818152505081602001358160018151811061128a5761128a613340565b60200260200101818152505083816002815181106112aa576112aa613340565b602090810291909101015260105460405163060881ed60e51b8152600481018590526001600160a01b039091169063c1103da090602401602060405180830381865afa1580156112fe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113229190613761565b8160038151811061133557611335613340565b602002602001018181525050601d548160048151811061135757611357613340565b6020026020010181815250509392505050565b6113726129fa565b60408051808201909152600080825260208201526000611390612a12565b84518152602080860151828201526040805180820182527f171e826ad4a870fd925e0bf0e87884e70e080879c2205ef10114f28a3b6f6dd781527f2bd407d897fbbca9f88adfd2d15252e69de8c1564eb4d3d27162e259172f1a1d818401528151928301909152828252909450925061140984846107a5565b93959294505050565b6007544211156114355760405163148fb9a960e31b815260040160405180910390fd5b600154601854600160281b900464ffffffffff16106114675760405163b984588b60e01b815260040160405180910390fd5b6000868152601c602052604090205460ff16156114975760405163f45d43bf60e01b815260040160405180910390fd5b6000868152601c602052604090819020805460ff1916600117905580516101008181019092526114e6918891879189919088906008908390839080828437600092019190915250610bd5915050565b611503576040516375fc7f6f60e01b815260040160405180910390fd5b601354604051631e898ef160e01b81526001600160a01b0390911690631e898ef190611535903390869060040161388f565b600060405180830381600087803b15801561154f57600080fd5b505af1158015611563573d6000803e3d6000fd5b505060145460405163b36543a960e01b8152600093506001600160a01b03909116915063b36543a99061159c903390869060040161388f565b602060405180830381865afa1580156115b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115dd9190613761565b9050600061160d60405180604001604052808980360381019061160091906133a8565b815260200184905261105d565b9050600061161c601883611c36565b601e80546001808201835560009283527f50bb669a95c7b50b7e8a6f09454034b2b14cf2b85c730dca9a539ca82cb6e35090910183905560185492935090916116739190600160281b900464ffffffffff166138b3565b64ffffffffff169050886020013589600001357f0a572bcefffe7bd7ad8229e43033a1e9b6dbf856b924b9474102c7fe5a7434f4868d856040516116ca939291909283526020830191909152604082015260600190565b60405180910390a350505050505050505050565b8054600090600160281b900464ffffffffff1660015b8164ffffffffff168160ff166001901b64ffffffffff161015611723578061171b8161336c565b9150506116f4565b610f85848383611d8b565b600080600080516020613c5783398151915284850990506000600080516020613c5783398151915284850990506000600080516020613c5783398151915282600080516020613c5783398151915285620292fc090890506000600080516020613c578339815191528084600080516020613c5783398151915287620292f8090960010890506117cc8282600080516020613c57833981519152611e57565b15979650505050505050565b60006117f96040518060400160405280601654815260200184815250611002565b600f54600b549192506118119160ff909116906137f5565b60000361184e57601580546001810182556000919091527f55f448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec475018190555b601681905560405181907fca4eaea204af24b5e48747f98f903698aaf6e7ab2014f1f1209411467a90b62190600090a25050565b61188a611e92565b6000611894611c2b565b90506000806000806000806000806000808a8060200190518101906118b991906139d2565b99509950995099509950995099509950995099506118df8660000151876020015161172e565b6118fc5760405163145a1fdd60e31b815260040160405180910390fd5b85516002819055602087015160038190556119179190610f68565b6004558451601080546001600160a01b03199081166001600160a01b039384161790915560208088015160118054841691851691909117905560408801516012805484169185169190911790556060880151601380548416918516919091179055608088015160148054909316931692909217905560068b905560078a90558801516119a4906005613bb8565b8111156119c4576040516327c1eb1760e11b815260040160405180910390fd5b600d819055600f805460ff808a1660ff19909216919091179091558851600e805460208c015160408d0151851662010000810262ff0000199287166101000261ffff1990941695909616949094179190911716929092179091556008859055601d849055611a33906002613bc7565b60015560005b8251811015611a94576001601b6000858481518110611a5a57611a5a613340565b
76020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055600101611a39565b50600b80546001019055611aa66129dc565b7f12817f4161f2f5ded33f26c55735a77e80e4f8975483c8c2704745128417f71181526000602082018190528080611add8461136a565b7f12817f4161f2f5ded33f26c55735a77e80e4f8975483c8c2704745128417f7116016819055601580546001810182556000919091527f55f448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec475015591945092509050611b46816117d8565b600e54611b5e9060189062010000900460ff16611ec4565b611b8960187f19ce4238de2f70198652072a6fc1d13e88dbb8338091878c892cfffd95b3b870611c36565b50601e80546001810182556000919091527f19ce4238de2f70198652072a6fc1d13e88dbb8338091878c892cfffd95b3b8707f50bb669a95c7b50b7e8a6f09454034b2b14cf2b85c730dca9a539ca82cb6e350909101556040517f4be9ef9ae736055964ead1cf3c83a19c8b662b5df2bd4414776bb64d81f75d1590611c129085908590613bd3565b60405180910390a1505050505050505050505050505050565b606061118830611f1a565b8154600090600160281b900464ffffffffff16611c54816001613bfa565b845464ffffffffff91909116600160281b0269ffffffffff0000000000199091161784558260005b81866001016000611c8d8487611f49565b64ffffffffff1681526020810191909152604001600020556001831615611d82576000611cc482611cbf6001876138b3565b611f49565b60408051808201825264ffffffffff8316600090815260018b01602090815290839020548252810186905290516314d2f97b60e11b815291925073__$6574937f64fc1d7710ec0e28b7a36713bb$__916329a5f2f691611d2691600401613817565b602060405180830381865af4158015611d43573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d679190613761565b647fffffffff600195861c1694909350919091019050611c7c565b50949350505050565b600060208260ff161115611db257604051633e104c7760e01b815260040160405180910390fd5b8264ffffffffff16600003611dd157611dca82611f6e565b9050611089565b6000611dde836001613c17565b60ff166001600160401b03811115611df857611df8612a31565b604051908082528060200260200182016040528015611e21578160200160208202803683370190505b509050611e30858585846125fb565b808360ff1681518110611e4557611e45613340565b60200260200101519150509392505050565b600083838111611e6e57611e6b8382613c30565b90505b8280611e7c57611e7c6137df565b6000611e888684613c43565b0895945050505050565b60005460ff1615611eb55760405162dc149f60e41b815260040160405180910390fd5b6000805460ff19166001179055565b60208160ff161115611ee957604051633e104c7760e01b815260040160405180910390fd5b611efa600160ff831681901b613c43565b825469ffffffffffffffffffff191664ffffffffff919091161790915550565b60405164ffffffffff602c19833b0116808252602090810190602d908301843c60408101815101604052919050565b600081611f6460ff851664ff00000000602087901b166138b3565b6110899190613bfa565b60008160ff16600003611fa257507f19ce4238de2f70198652072a6fc1d13e88dbb8338091878c892cfffd95b3b870919050565b8160ff16600103611fd457507f2abd53d5b7c689279518d76ee2a062156c4dfc1f91b3a41120822915ccebbbdf919050565b8160ff1660020361200657507f28f1a6f8e2afd3b4bdb2354b1878c03fbc0689f59f2506ec9c1a07f3ae43eb8e919050565b8160ff1660030361203857507f1475250f14274b35bf6f3f21fb0b92c7429da64a16f9e14a76b42e13278671e3919050565b8160ff1660040361206a57507f16205c1b6fef76c5f3ebeeb65fb9d03870de9406b4553c230a0967e54c778236919050565b8160ff1660050361209c57507f21c60230ea583db469b0241e9b4b1fed912978ea94e8fd7943d70d66f054c850919050565b8160ff166006036120ce57507f03ad6f31eab2ec748fda41d3934b66023e024d9703d2f3c6edc5f4ba4d48e7be919050565b8160ff1660070361210057507f0befe58467be4b6c5b9d65fc0a6596ef02d82806db3e979d40dc5654ac1ee5a8919050565b8160ff1660080361213257507f0ac219d437658ac8605b019fac8a60408566d3751a21ef1564483cc27dd5de5f919050565b8160ff1660090361216457507f2f8fe9193176b84b71478e9502f8f48eaccace275b8b3a8c1aaf4168b4334185919050565b8160ff16600a0361219657507f0f102297a5668325e6e6bfa55eac199040d547a95105e09d9d10ad2b504f9f49919050565b8160ff16600b036121c857507f0977a346af59d90dabe49ae89dff6ec78805eb6e5e69d6a3eeb257c44f1c1c64919050565b8160ff16600c036121fa57507f09e43fcca6bc56c2bd13cd9a21ca1e0174ffb0c689cf19690e0db346bd0cd16c919050565b8160ff16600d0361222c57507f240b746d9368ffb3a702caea6e6274c0b0eb6e065d32931b2239c5f6b88309e4919050565b8160ff16600e0361225e57507f1a2a4e74d4eb4ac3332c0811a016fa102349fcbdb3d2d89da33eb2a12306bf57919050565b8160ff16600f0361229057507f3017a0b7fe96c1a157a01c501a48127d35889650ce434965971fb82de767dc97919050565b8160ff166010036122c257507f0cff1baadb1ac05e3c62f13bb21856a2b9f06bf00e998c4c5d7826988e257e2f919050565b8160ff166011036122f457507f0b15eb49f1565e5f998871ebde73f384e9c5a87f663e7566425baf2c6d493e04919050565b8160ff1660120361232657507f2ab1fa8163d01750eb2f04d9236f8266eaec1e812e96a8c43e1d1037e20e1618919050565b8160ff1660130361235857507f21fa81f21f63799353b8c8d03eee49725aa679e4492dc79a003d09f86ef71de6919050565b8160ff1660140361238a57507f0b2254e23cc7bdf6f8b12359de6fee38385dc134ece68124713f7486308c23b6919050565b8160ff166015036123bc57507f1d880478ac15630d219747d000bd7d9a309e1f242115fc7fb87ab2c67f2dc6b9919050565b8160ff166016036123ee57507f1713f9c548555e72906dc7a0f5d2860820e19244839c8bdd96d13ef08f96a19e919050565b8160ff1660170361242057507f10071050836b9ebb6f892aff50bda0ada97feb480a8b9d01d8d17d21a3a198aa919050565b8160ff1660180361245257507f081524bb945f526d53b708d73e8ececbcbefddad50ab56028468b9246d8106f7919050565b8160ff1660190361248457507f12d2875eae7bbe7764577d1ce6396912577f3a7c8b4f36f2cddc67001c58cd9c919050565b8160ff16601a036124b657507f2c6b18c2416056c5acf1306bafff0557daa33ade81234d73899d861e1d135339919050565b8160ff16601b036124e857507f17dd14d86e5504bca0683737f412067958998653d54bc5f0ea68e5fa4374801e919050565b8160ff16601c0361251a57507f243604d67ae0ccc5878ac99dbb78c54730bcfd3f96e6fb79fb949882deebd664919050565b8160ff16601d0361254c57507f070343da8389cdfc1eea58b29b644c56549c4bc85edb64144cb6b1ea5a260b1d919050565b8160ff16601e0361257e57507f098b5f814b673b715260df256d19b89831007fabb70a272b049122d729418de6919050565b8160ff16601f036125b057507f1830698c9c78f79b1c942fa9616a94d62fe0bee717cb6e48abca720b273bdcd0919050565b8160ff166020036125e257507f1134fee1d5551a91e22a67de9d9f00574cbaa2003a4bcb16f2fe9283c49ab377919050565b6040516310a2ea0560e21b815260040160405180910390fd5b60208260ff16111561262057604051633e104c7760e01b815260040160405180910390fd5b8264ffffffffff166000036126485760405163bb5e95dd60e01b815260040160405180910390fd5b60006126556001856138b3565b9050600181166000036126ad57846001016000612673600084611f49565b64ffffffffff168152602001908152602001600020548260008151811061269c5761269c613340565b
76020026020010181815250506126d7565b6126b76000611f6e565b826000815181106126ca576126ca613340565b6020026020010181815250505b60005b8360ff168160ff161015610ffa57600182166000036127d35773__$6574937f64fc1d7710ec0e28b7a36713bb$__6329a5f2f66040518060400160405280868560ff168151811061272d5761272d613340565b6020026020010151815260200161274385611f6e565b8152506040518263ffffffff1660e01b81526004016127629190613817565b602060405180830381865af415801561277f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127a39190613761565b836127af836001613c17565b60ff16815181106127c2576127c2613340565b60200260200101818152505061298d565b60006127e0826001613c17565b60ff168664ffffffffff16901c64ffffffffff16905060018364ffffffffff16901c64ffffffffff168111156128855760008760010160006128398560016128289190613c17565b60018864ffffffffff16901c611f49565b64ffffffffff16815260200190815260200160002054905080858460016128609190613c17565b60ff168151811061287357612873613340565b6020026020010181815250505061298b565b600087600101600061289e85600188611cbf91906138b3565b64ffffffffff16815260200190815260200160002054905073__$6574937f64fc1d7710ec0e28b7a36713bb$__6329a5f2f66040518060400160405280848152602001888760ff16815181106128f6576128f6613340565b60200260200101518152506040518263ffffffff1660e01b815260040161291d9190613817565b602060405180830381865af415801561293a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061295e9190613761565b8561296a856001613c17565b60ff168151811061297d5761297d613340565b602002602001018181525050505b505b647fffffffff600192831c1691016126da565b6040518060a001604052806005906020820280368337509192915050565b60405180606001604052806003906020820280368337509192915050565b60405180604001604052806002906020820280368337509192915050565b6040518060200160405280612a0d612a12565b905290565b604051806101400160405280600a906020820280368337509192915050565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b0381118282101715612a6957612a69612a31565b60405290565b60405160a081016001600160401b0381118282101715612a6957612a69612a31565b604051606081016001600160401b0381118282101715612a6957612a69612a31565b604051601f8201601f191681016001600160401b0381118282101715612adb57612adb612a31565b604052919050565b60006101408284031215612af657600080fd5b604051602081016001600160401b0381118282101715612b1857612b18612a31565b6040529050806000601f84018513612b2e578081fd5b80610140612b3b81612ab3565b9250829150850186811115612b4f57600080fd5b855b81811015612b69578035845260209384019301612b51565b50509091525092915050565b600060408284031215612b8757600080fd5b612b8f612a47565b823581526020928301359281019290925250919050565b6000806101808385031215612bba57600080fd5b612bc48484612ae3565b9
7150612bd4846101408501612b75565b90509250929050565b600081518084526020840193506020830160005b82811015612c0f578151865260209586019590910190600101612bf1565b5093949350505050565b6020815260006110896020830184612bdd565b600060408284031215612c3e57600080fd5b50919050565b600080828403610180811215612c5957600080fd5b610140811215612c6857600080fd5b50829150612bd4846101408501612c2c565b600080600060408486031215612c8f57600080fd5b83356001600160401b03811115612ca557600080fd5b8401601f81018613612cb657600080fd5b80356001600160401b03811115612ccc57600080fd5b8660208260051b8401011115612ce157600080fd5b6020918201979096509401359392505050565b600082601f830112612d0557600080fd5b6000610100612d1381612ab3565b915083018185821115612d2557600080fd5b845b82811015612d3f578035825260209182019101612d27565b509195945050505050565b6000806000806101808587031215612d6157600080fd5b8435935060208501359250612d798660408701612c2c565b9150612d888660808701612cf4565b905092959194509250565b6000806101208385031215612da757600080fd5b82359150612bd48460208501612cf4565b600060808284031215612dca57600080fd5b600083601f840112612dda578081fd5b80612de56080612ab3565b90508091506080840185811115612dfb57600080fd5b845b81811015612e15578035845260209384019301612dfd565b509095945050505050565b600060208284031215612e3257600080fd5b5035919050565b6001600160a01b0381168114612e4e57600080fd5b50565b600060208284031215612e6357600080fd5b813561108981612e39565b60006001600160401b03821115612e8757612e87612a31565b5060051b60200190565b600060208284031215612ea357600080fd5b81356001600160401b03811115612eb957600080fd5b8201601f81018413612eca57600080fd5b8035612edd612ed882612e6e565b612ab3565b8082825260208201915060208360051b850101925086831115612eff57600080fd5b6020840193505b82841015612f21578335825260209384019390910190612f06565b9695505050505050565b60008060408385031215612f3e57600080fd5b50508035926020909101359150565b60008083601f840112612f5f57600080fd5b5081356001600160401b03811115612f7657600080fd5b6020830191508360208260061b8501011115612f9157600080fd5b9250929050565b60008060008060408587031215612fae57600080fd5b84356001600160401b03811115612fc457600080fd5b8501601f81018713612fd557600080fd5b80356001600160401b03811115612feb57600080fd5b8760206101408302840101111561300157600080fd5b6020918201955093508501356001600160401b0381111561302157600080fd5b61302d87828801612f4d565b95989497509550505050565b60006040828403121561304b57600080fd5b600083601f84011261305b578081fd5b806130666040612ab3565b90508091506040840185811115612dfb57600080fd5b6000606082840312801561308f57600080fd5b50613098612a47565b6130a28484612b75565b815260409290920135602083015250919050565b600060a082840312156130c857600080fd5b600083601f8401126130d8578081fd5b806130e360a0612ab3565b905080915060a0840185811115612dfb57600080fd5b60005b838110156131145781810151838201526020016130fc565b50506000910152565b600081518084526131358160208601602086016130f9565b601f01601f19169290920160200192915050565b602081526000611089602083018461311d565b60006060828403121561316e57600080fd5b600083601f84011261317e578081fd5b806131896060612ab3565b90508091506060840185811115612dfb57600080fd5b6000806000608084860312156131b457600080fd5b83359250602084013591506131cc8560408601612c2c565b90509250925092565b80518260005b600a8110156131fa5782518252602092830192909101906001016131db565b5050505050565b6101a0810161321082866131d5565b83516101408301526020909301516101608201526101800152919050565b600082601f83011261323f57600080fd5b81356001600160401b0381111561325857613258612a31565b61326b601f8201601f1916602001612ab3565b81815284602083860101111561328057600080fd5b816020850160208301376000918101602001919091529392505050565b6000806000806000806101c087890312156132b757600080fd5b863595506132c88860208901612c2c565b9450606087013593506101808701888111156132e357600080fd5b608088019350356001600160401b038111156132fe57600080fd5b61330a89828a0161322e565b9250506101a08701356001600160401b0381111561332757600080fd5b61333389828a0161322e565b9150509295509295509295565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff810361338257613382613356565b60010192915050565b6000610140828403121561339e57600080fd5b6110898383612ae3565b6000604082840312156133ba57600080fd5b6110898383612b75565b6101808101610140848337823561014083015260209092013561016090910152919050565b6000604082840312156133fb57600080fd5b613403612a47565b825181526020928301519281019290925250919050565b600082601f83011261342b57600080fd5b6134356040612ab3565b80604084018581111561344757600080fd5b845b81811015612e15578051845260209384019301613449565b60006080828403121561347357600080fd5b61347b612a47565b9050613487838361341a565b8152613496836040840161341a565b602082015292915050565b6000602082840312156134b357600080fd5b81516001600160401b038111156134c957600080fd5b82016101e081850312156134dc57600080fd5b6134e4612a6f565b6134ee8583
76133e9565b81526134fd8560408401613461565b602082015261350f8560c08401613461565b6040820152613522856101408401613461565b60608201526101c08201516001600160401b0381111561354157600080fd5b80830192505084601f83011261355657600080fd5b8151613564612ed882612e6e565b8082825260208201915060208360061b86010192508783111561358657600080fd5b6020850194505b828510156135b25761359f88866133e9565b825260208201915060408501945061358d565b6080840152509095945050505050565b8060005b60028110156135e55781518452602093840193909101906001016135c6565b50505050565b6135f68282516135c2565b602081015161360860408401826135c2565b505050565b60008185825b6008811015613632578151835260209283019290910190600101613613565b505050610140610100830152610320820161365c6101408401865180518252602090810151910152565b602085015161366f6101808501826135eb565b5060408501516136836102008501826135eb565b5060608501516136976102808501826135eb565b5060808501516101e0610300850152805191829052602001906000906103408501905b808310156136ee576136d782855180518252602090810151910152565b6040820191506020840193506001830192506136ba565b508481036101208601526137028187612bdd565b98975050505050505050565b60006020828403121561372057600080fd5b8151801515811461108957600080fd5b60808101818360005b6004811015613758578151835260209283019290910190600101613739565b50505092915050565b60006020828403121561377357600080fd5b5051919050565b600064ffffffffff821664ffffffffff810361338257613382613356565b8151600090829060208501835b82811015612d3f5781518452602093840193909101906001016137a5565b600082516137d58184602087016130f9565b9190910192915050565b634e487b7160e01b600052601260045260246000fd5b60008261381257634e487b7160e01b600052601260045260246000fd5b500690565b60408101818360005b6002811015613758578151835260209283019290910190600101613820565b60a08101818360005b6005811015613758578151835260209283019290910190600101613848565b60608101818360005b6003811015613758578151835260209283019290910190600101613870565b6001600160a01b0383168152604060208201819052600090610f859083018461311d565b64ffffffffff8281168282160390811115610e6557610e65613356565b805160ff811681146138e157600080fd5b919050565b600060a082840312156138f857600080fd5b613900612a6f565b9050815161390d81612e39565b8152602082015161391d81612e39565b6020820152604082015161393081612e39565b6040820152606082015161394381612e39565b6060820152608082015161395681612e39565b608082015292915050565b600082601f83011261397257600080fd5b8151613980612ed882612e6e565b8082825260208201915060208360051b8601019250858311156139a257600080fd5b602085015b838110156139c85780516139ba81612e39565b8352602092830192016139a7565b5095945050505050565b6000806000806000806000806000808a8c036102208112156139f357600080fd5b8b5160208d0151909b5099506060603f1982011215613a1157600080fd5b50613a1a612a91565b613a2660408d016138d0565b8152613a3460608d016138d0565b6020820152613a4560808d016138d0565b60408201529750613a5860a08c016138d0565b9650613a678c60c08d016133e9565b9550613a778c6101008d016138e6565b6101a08c01516101c08d01516101e08e015192975090955093506001600160401b03811115613aa557600080fd5b613ab18d828e01613961565b92505060006102008c01519050809150509295989b9194979a5092959850565b6001815b6001841115613b0c57808504811115613af057613af0613356565b6001841615613afe57908102905b60019390931c928002613ad5565b935093915050565b600082613b2357506001610e65565b81613b3057506000610e65565b8160018114613b465760028114613b5057613b6c565b6001915050610e65565b60ff841115613b6157613b61613356565b50506001821b610e65565b5060208310610133831016604e8410600b8410161715613b8f575081810a610e65565b613b9c6000198484613ad1565b8060001904821115613bb057613bb0613356565b029392505050565b600061108960ff841683613b14565b60006110898383613b14565b6101808101613be282856131d5565b82516101408301526020830151610160830152611089565b64ffffffffff8181168382160190811115610e6557610e65613356565b60ff8181168382160190811115610e6557610e65613356565b80820180821115610e6557610e65613356565b81810381811115610e6557610e6561335656fe30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001a2646970667358221220b6ed9d9aeba594ecbec3d829f35a09683e8d15b3016d2f1a98594d394728b39964736f6c634300081c0033",f=e=>"string"==typeof e[0]||Array.isArray(e[0])||"_isInterface"in e[0];class b extends a.ContractFactory{constructor(...e){if(f(e))super(...e);else{let[t,n]=e;super(r,b.linkBytecode(t),n)}}static linkBytecode(e){let t=i;return(t=(t=(t=t.replace(RegExp("__\\$ce9c2c925f157047e54fa833ec4e61409f\\$__","g"),e["contracts/crypto/PoseidonT5.sol:PoseidonT5"].replace(/^0x/,"").toLowerCase())).replace(RegExp("__\\$6574937f64fc1d7710ec0e28b7a36713bb\\$__","g"),e["contracts/crypto/PoseidonT3.sol:PoseidonT3"].replace(/^0x/,"").toLowerCase())).replace(RegExp("__\\$20527677031d76601747626a9845039fe4\\$__","g"),e["contracts/crypto/PoseidonT6.sol:PoseidonT6"].replace(/^0x/,"").toLowerCase())).replace(RegExp("__\\$dc01a9744591ab014bc46a3b7671cdaefb\\$__","g"),e["contracts/crypto/PoseidonT4.sol:PoseidonT4"].replace(/^0x/,"").toLowerCase())}getDeployTransaction(e){return super.getDeployTransaction(e||{})}deploy(e){return super.deploy(e||{})}connect(e){return super.connect(e)}static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.PollFactory__factory=b,b.bytecode=i,b.abi=r},77529:function(e,t,n){"use strict";var a,r=this&&this.__createBinding||(Object.create?function(e,t,n,a){void 0===a&&(a=n);var r=Object.getOwnPropertyDescriptor(t,n);
7(!r||("get"in r?!t.__esModule:r.writable||r.configurable))&&(r={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,a,r)}:function(e,t,n,a){void 0===a&&(a=n),e[a]=t[n]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),f=this&&this.__importStar||(a=function(e){return(a=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t})(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n=a(e),f=0;f<n.length;f++)"default"!==n[f]&&r(t,e,n[f]);return i(t,e),t});Object.defineProperty(t,"__esModule",{value:!0}),t.utils=t.token=t.interfaces=t.governance=t.access=void 0,t.access=f(n(54094)),t.governance=f(n(82152)),t.interfaces=f(n(504)),t.token=f(n(3431)),t.utils=f(n(64011))},77755:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Policy__factory=void 0;let a=n(27653),r=[{inputs:[],name:"AlreadyEnforced",type:"error"},{inputs:[],name:"AlreadyInitialized",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:[],name:"TargetAlreadySet",type:"error"},{inputs:[],name:"TargetNotSet",type:"error"},{inputs:[],name:"TargetOnly",type:"error"},{inputs:[],name:"UnsuccessfulCheck",type:"error"},{inputs:[],name:"ZeroAddress",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"guarded",type:"address"}],name:"TargetSet",type:"event"},{inputs:[],name:"getAppendedBytes",outputs:[{internalType:"bytes",name:"appendedBytes",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[],name:"guarded",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"initialized",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_guarded",type:"address"}],name:"setTarget",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"trait",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"}];class i{static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.Policy__factory=i,i.abi=r},77969:(e,t,n)=>{var a=n(91569),r=n(36314);e.exports=function e(t,n,i,f,b){var s=-1,o=t.length;for(i||(i=r),b||(b=[]);++s<o;){var c=t[s];n>0&&i(c)?n>1?e(c,n-1,i,f,b):a(b,c):f||(b[b.length]=c)}return b}},78113:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MockVerifier__factory=void 0;let a=n(27653),r=[{inputs:[{internalType:"uint256[8]",name:"",type:"uint256[8]"},{components:[{components:[{internalType:"uint256",name:"x",type:"uint256"},{internalType:"uint256",name:"y",type:"uint256"}],internalType:"struct Pairing.G1Point",name:"alpha1",type:"tuple"},{components:[{internalType:"uint256[2]",name:"x",type:"uint256[2]"},{internalType:"uint256[2]",name:"y",type:"uint256[2]"}],internalType:"struct Pairing.G2Point",name:"beta2",type:"tuple"},{components:[{internalType:"uint256[2]",name:"x",type:"uint256[2]"},{internalType:"uint256[2]",name:"y",type:"uint256[2]"}],internalType:"struct Pairing.G2Point",name:"gamma2",type:"tuple"},{components:[{internalType:"uint256[2]",name:"x",type:"uint256[2]"},{internalType:"uint256[2]",name:"y",type:"uint256[2]"}],internalType:"struct Pairing.G2Point",name:"delta2",type:"tuple"},{components:[{internalType:"uint256",name:"x",type:"uint256"},{internalType:"uint256",name:"y",type:"uint256"}],internalType:"struct Pairing.G1Point[]",name:"ic",type:"tuple[]"}],internalType:"struct SnarkCommon.VerifyingKey",name:"",type:"tuple"},{internalType:"uint256[]",name:"",type:"uint256[]"}],name:"verify",outputs:[{internalType:"bool",name:"result",type:"bool"}],stateMutability:"pure",type:"function"}],i="0x6080604052348015600f57600080fd5b506104318061001f6000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063352a4d1514610030575b600080fd5b61004761003e366004610289565b50600192915050565b604051901515815260200160405180910390f35b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156100945761009461005b565b60405290565b60405160a0810167ffffffffffffffff811182821017156100945761009461005b565b604051601f8201601f1916810167ffffffffffffffff811182821017156100e6576100e661005b565b604052919050565b60006101006100fc816100bd565b91508201818482111561010e57600080fd5b835b82811015610128578035825260209182019101610110565b50505092915050565b60006040828403121561014357600080fd5b61014b610071565b823581526020928301359281019290925250919050565b600082601f83011261017357600080fd5b600061017f60406100bd565b90508060408401858111156101935
77600080fd5b845b818110156101ad578035835260209283019201610195565b509195945050505050565b6000608082840312156101ca57600080fd5b6101d2610071565b90506101de8383610162565b81526101ed8360408401610162565b602082015292915050565b600067ffffffffffffffff8211156102125761021261005b565b5060051b60200190565b600082601f83011261022d57600080fd5b813561024061023b826101f8565b6100bd565b8082825260208201915060208360051b86010192508583111561026257600080fd5b602085015b8381101561027f578035835260209283019201610267565b5095945050505050565b6000806000610140848603121561029f57600080fd5b84601f8501126102ae57600080fd5b6102b885856100ee565b925061010084013567ffffffffffffffff8111156102d557600080fd5b84016101e081870312156102e857600080fd5b6102f061009a565b6102fa8783610131565b815261030987604084016101b8565b602082015261031b8760c084016101b8565b604082015261032e8761014084016101b8565b60608201526101c082013567ffffffffffffffff81111561034e57600080fd5b80830192505086601f83011261036357600080fd5b813561037161023b826101f8565b8082825260208201915060208360061b86010192508983111561039357600080fd5b6020850194505b828510156103bf576103ac8a86610131565b825260208201915060408501945061039a565b608084015250909350505061012084013567ffffffffffffffff8111156103e557600080fd5b6103f18682870161021c565b915050925092509256fea2646970667358221220bd82c46cf5e62993e0b5021d1f80eeed4f9baf864c1b898fcfae5cb59277199464736f6c634300081c0033",f=e=>e.length>1;class b extends a.ContractFactory{constructor(...e){f(e)?super(...e):super(r,i,e[0])}getDeployTransaction(e){return super.getDeployTransaction(e||{})}deploy(e){return super.deploy(e||{})}connect(e){return super.connect(e)}static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.MockVerifier__factory=b,b.bytecode=i,b.abi=r},78302:(e,t,n)=>{var a=n(67460),r=n(96294),i=n(33044),f=Object.prototype.hasOwnProperty;e.exports=function(e){if(!a(e))return i(e);var t=r(e),n=[];for(var b in e)"constructor"==b&&(t||!f.call(e,b))||n.push(b);return n}},78451:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.generateProofSnarkjs=t.formatProofForVerifierContract=void 0;let a=n(11558);t.formatProofForVerifierContract=e=>[e.pi_a[0],e.pi_a[1],e.pi_b[0][1],e.pi_b[0][0],e.pi_b[1][1],e.pi_b[1][0],e.pi_c[0],e.pi_c[1]].map(e=>e.toString()),t.generateProofSnarkjs=async({inputs:e,zkeyPath:t,wasmPath:n})=>{if(!n)throw Error("wasmPath must be specified");let{proof:r,publicSignals:i}=await a.groth16.fullProve(e,n,t);return{proof:r,publicSignals:i}}},78558:(e,t,n)=>{var a=n(91569),r=n(73726),i=n(38649),f=n(43720);e.exports=Object.getOwnPropertySymbols?function(e){for(var t=[];e;)a(t,i(e)),e=r(e);return t}:f},79230:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IVotes__factory=void 0;let a=n(27653),r=[{inputs:[{internalType:"uint256",name:"expiry",type:"uint256"}],name:"VotesExpiredSignature",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"delegator",type:"address"},{indexed:!0,internalType:"address",name:"fromDelegate",type:"address"},{indexed:!0,internalType:"address",name:"toDelegate",type:"address"}],name:"DelegateChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"delegate",type:"address"},{indexed:!1,internalType:"uint256",name:"previousVotes",type:"uint256"},{indexed:!1,internalType:"uint256",name:"newVotes",type:"uint256"}],name:"DelegateVotesChanged",type:"event"},{inputs:[{internalType:"address",name:"delegatee",type:"address"}],name:"delegate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"delegatee",type:"address"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"expiry",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"delegateBySig",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"delegates",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"timepoint",type:"uint256"}],name:"getPastTotalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"timepoint",type:"uint256"}],name:"getPastVotes",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"getVotes",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"}];
7class i{static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.IVotes__factory=i,i.abi=r},79401:e=>{e.exports=function(e,t){for(var n=-1,a=Array(e);++n<e;)a[n]=t(n);return a}},79595:(e,t,n)=>{var a=n(39608),r=n(70771),i=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,f=/^\w*$/;e.exports=function(e,t){if(a(e))return!1;var n=typeof e;return!!("number"==n||"symbol"==n||"boolean"==n||null==e||r(e))||f.test(e)||!i.test(e)||null!=t&&e in Object(t)}},79773:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LibClone__factory=void 0;var a=n(24149);Object.defineProperty(t,"LibClone__factory",{enumerable:!0,get:function(){return a.LibClone__factory}})},79967:function(e,t,n){"use strict";var a,r=this&&this.__createBinding||(Object.create?function(e,t,n,a){void 0===a&&(a=n);var r=Object.getOwnPropertyDescriptor(t,n);(!r||("get"in r?!t.__esModule:r.writable||r.configurable))&&(r={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,a,r)}:function(e,t,n,a){void 0===a&&(a=n),e[a]=t[n]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),f=this&&this.__importStar||(a=function(e){return(a=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t})(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n=a(e),f=0;f<n.length;f++)"default"!==n[f]&&r(t,e,n[f]);return i(t,e),t});Object.defineProperty(t,"__esModule",{value:!0}),t.extensions=void 0,t.extensions=f(n(92368))},80195:(e,t,n)=>{var a=n(44482);e.exports=function(e){return a(e)?void 0:e}},80202:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EASPolicyFactory__factory=void 0;let a=n(27653),r=[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"clone",type:"address"}],name:"CloneDeployed",type:"event"},{inputs:[],name:"IMPLEMENTATION",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"checkerAddress",type:"address"}],name:"deploy",outputs:[{internalType:"address",name:"clone",type:"address"}],stateMutability:"nonpayable",type:"function"}],i="0x60a0604052348015600f57600080fd5b50604051601a906046565b604051809103906000f0801580156035573d6000803e3d6000fd5b506001600160a01b03166080526053565b6108a4806102e183390190565b60805161026d6100746000396000818160400152610123015261026d6000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80633a4741bd1461003b5780634c96a3891461007e575b600080fd5b6100627f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b61006261008c36600461020e565b604080513360208201526001600160a01b0383168183015281518082038301815260609091019091526000906100c18161011c565b9150816001600160a01b0316638129fc1c6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156100fe57600080fd5b505af1158015610112573d6000803e3d6000fd5b5050505050919050565b60006101487f000000000000000000000000000000000000000000000000000000000000000083610184565b6040519091506001600160a01b038216907f2158cde9935cbf85d0b02e02fbc315ad0be2f3f017a603a2ebeedead21b8d60b90600090a2919050565b600061019260008484610199565b9392505050565b600060405182518060438301826020870160045afa506e5af43d82803e903d91602b57fd5bf360238301528460148301528060881b74fe61002d3d81600a3d39f3363d3d373d3d3d363d730182526037810161ffd38210600b01830187f092505050806101925763301164256000526004601cfd5b60006020828403121561022057600080fd5b81356001600160a01b038116811461019257600080fdfea2646970667358221220cfa74e02873d60d644fe030d9d0701a72c3201a3ec6dfd696ab3c610b703218364736f6c634300081c003360806040523380602957604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b6030816035565b50608e565b600080546001600160a01b03838116610100818102610100600160a81b0319851617855560405193049190911692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35050565b6108078061009d6000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c80637e164204116100715780637e164204146101595780638129fc1c1461016c5780638da5cb5b14610174578063b41a4b191461018a578063ce343deb1461019f578063f2fde38b146101be57600080fd5b8063158ef93e146100b957806319e4daed146100db5780631e898ef1146100fe578063715018a61461011357806372f7a0301461011b578063776d1a0114610146575b600080fd5b6000546100c69060ff1681565b60405190151581526020015b60405180910390f35b6100c66100e93660046105d0565b60036020526000908152604090205460ff1681565b61011161010c3660046105fe565b6101d1565b005b61011161020c565b60015461012e906001600160a01b031681565b6040516001600160a01b0390911681526020016100d256
75b610111610154366004610685565b610220565b60025461012e906001600160a01b031681565b6101116102c3565b60005461010090046001600160a01b031661012e565b6101926102cb565b6040516100d291906106ef565b60408051808201909152600381526245415360e81b6020820152610192565b6101116101cc366004610685565b6102da565b6001546001600160a01b031633146101fc57604051631f492dbf60e21b815260040160405180910390fd5b61020783838361031d565b505050565b610214610388565b61021e60006103bb565b565b610228610388565b6001600160a01b03811661024f5760405163d92e233d60e01b815260040160405180910390fd5b6001546001600160a01b0316156102795760405163e0f2d7b160e01b815260040160405180910390fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040517f3bfb4bbf112628248058745a3c57e35b13369386e474b8e56c552f3063a4a19690600090a250565b61021e610414565b60606102d5610470565b905090565b6102e2610388565b6001600160a01b03811661031157604051631e4fbdf760e01b8152600060048201526024015b60405180910390fd5b61031a816103bb565b50565b600061032b828401846105d0565b60008181526003602052604090205490915060ff161561035e57604051633440c93360e21b815260040160405180910390fd5b6000818152600360205260409020805460ff1916600117905561038284848461047b565b50505050565b6000546001600160a01b0361010090910416331461021e5760405163118cdaa760e01b8152336004820152602401610308565b600080546001600160a01b03838116610100818102610100600160a81b0319851617855560405193049190911692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35050565b61041c61055e565b6000610426610470565b90506000808280602001905181019061043f9190610702565b9150915061044c826103bb565b600280546001600160a01b0319166001600160a01b03929092169190911790555050565b60606102d53061056f565b60025460405163e2b2408560e01b81526001600160a01b039091169063e2b24085906104af90869086908690600401610765565b602060405180830381865afa1580156104cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104f09190610793565b61050d57604051634715494560e01b815260040160405180910390fd5b6001546040516001600160a01b03918216918516907fc013b39287cb7a53f776482ac9573829321f002f31ef8782129b41d60047bda09061055190869086906107b5565b60405180910390a3505050565b61056661059e565b61021e336103bb565b60405164ffffffffff602c19833b0116808252602090810190602d908301843c60408101815101604052919050565b60005460ff16156105c15760405162dc149f60e41b815260040160405180910390fd5b6000805460ff19166001179055565b6000602082840312156105e257600080fd5b5035919050565b6001600160a01b038116811461031a57600080fd5b60008060006040848603121561061357600080fd5b833561061e816105e9565b9250602084013567ffffffffffffffff81111561063a57600080fd5b8401601f8101861361064b57600080fd5b803567ffffffffffffffff81111561066257600080fd5b86602082840101111561067457600080fd5b939660209190910195509293505050565b60006020828403121561069757600080fd5b81356106a2816105e9565b9392505050565b6000815180845260005b818110156106cf576020818501810151868301820152016106b3565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006106a260208301846106a9565b6000806040838503121561071557600080fd5b8251610720816105e9565b6020840151909250610731816105e9565b809150509250929050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b038416815260406020820181905260009061078a908301848661073c565b95945050505050565b6000602082840312156107a557600080fd5b815180151581146106a257600080fd5b6020815260006107c960208301848661073c565b94935050505056fea264697066735822122021bdc807bdb24efe7ff0c561ba377150106409769d6ba51bbcbb8671c325391364736f6c634300081c0033",f=e=>e.length>1;class b extends a.ContractFactory{constructor(...e){f(e)?super(...e):super(r,i,e[0])}getDeployTransaction(e){return super.getDeployTransaction(e||{})}deploy(e){return super.deploy(e||{})}connect(e){return super.connect(e)}static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.EASPolicyFactory__factory=b,b.bytecode=i,b.abi=r},80369:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MockVerifier__factory=t.MockSemaphore__factory=t.MockERC20Votes__factory=t.MockERC20__factory=void 0;var a=n(72203);Object.defineProperty(t,"MockERC20__factory",{enumerable:!0,get:function(){return a.MockERC20__factory}});var r=n(58758);Object.defineProperty(t,"MockERC20Votes__factory",{enumerable:!0,get:function(){return r.MockERC20Votes__factory}});var i=n(69915);Object.defineProperty(t,"MockSemaphore__factory",{enumerable:!0,get:function(){return i.MockSemaphore__factory}});var f=n(78113);Object.defineProperty(t,"MockVerifier__factory",{enumerable:!0,get:function(){return f.MockVerifier__factory}})},81363:(e,t,n)=>{"use strict";
7Object.defineProperty(t,"__esModule",{value:!0}),t.IPolicy__factory=t.IFactory__factory=t.IClone__factory=t.IBasePolicy__factory=t.IBaseChecker__factory=void 0;var a=n(27212);Object.defineProperty(t,"IBaseChecker__factory",{enumerable:!0,get:function(){return a.IBaseChecker__factory}});var r=n(15949);Object.defineProperty(t,"IBasePolicy__factory",{enumerable:!0,get:function(){return r.IBasePolicy__factory}});var i=n(14955);Object.defineProperty(t,"IClone__factory",{enumerable:!0,get:function(){return i.IClone__factory}});var f=n(91702);Object.defineProperty(t,"IFactory__factory",{enumerable:!0,get:function(){return f.IFactory__factory}});var b=n(28662);Object.defineProperty(t,"IPolicy__factory",{enumerable:!0,get:function(){return b.IPolicy__factory}})},81932:e=>{var t=Object.prototype.hasOwnProperty;e.exports=function(e){var n=e.length,a=new e.constructor(n);return n&&"string"==typeof e[0]&&t.call(e,"index")&&(a.index=e.index,a.input=e.input),a}},82061:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.generateTallyVerifyingKeySignature=t.generateProcessVerifyingKeySignature=t.generatePollJoinedVerifyingKeySignature=t.generatePollJoiningVerifyingKeySignature=void 0,t.generatePollJoiningVerifyingKeySignature=e=>BigInt(e)<<64n,t.generatePollJoinedVerifyingKeySignature=e=>BigInt(e)<<128n,t.generateProcessVerifyingKeySignature=(e,t,n)=>(BigInt(n)<<128n)+(BigInt(e)<<64n)+BigInt(t),t.generateTallyVerifyingKeySignature=(e,t,n)=>(BigInt(e)<<128n)+(BigInt(t)<<64n)+BigInt(n)},82152:function(e,t,n){"use strict";var a,r=this&&this.__createBinding||(Object.create?function(e,t,n,a){void 0===a&&(a=n);var r=Object.getOwnPropertyDescriptor(t,n);
7(!r||("get"in r?!t.__esModule:r.writable||r.configurable))&&(r={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,a,r)}:function(e,t,n,a){void 0===a&&(a=n),e[a]=t[n]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),f=this&&this.__importStar||(a=function(e){return(a=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t})(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n=a(e),f=0;f<n.length;f++)"default"!==n[f]&&r(t,e,n[f]);return i(t,e),t});Object.defineProperty(t,"__esModule",{value:!0}),t.utils=void 0,t.utils=f(n(84650))},82500:(e,t,n)=>{var a=n(7985),r="object"==typeof self&&self&&self.Object===Object&&self;e.exports=a||r||Function("return this")()},83172:(e,t,n)=>{var a=n(76957);e.exports=function(e){var t=new e.constructor(e.byteLength);return new a(t).set(new a(e)),t}},83542:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ERC20PolicyFactory__factory=void 0;let a=n(27653),r=[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"clone",type:"address"}],name:"CloneDeployed",type:"event"},{inputs:[],name:"IMPLEMENTATION",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_checkerAddress",type:"address"}],name:"deploy",outputs:[{internalType:"address",name:"clone",type:"address"}],stateMutability:"nonpayable",type:"function"}],i="0x60a0604052348015600f57600080fd5b50604051601a906046565b604051809103906000f0801580156035573d6000803e3d6000fd5b506001600160a01b03166080526053565b61088a806102e183390190565b60805161026d6100746000396000818160400152610123015261026d6000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80633a4741bd1461003b5780634c96a3891461007e575b600080fd5b6100627f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b61006261008c36600461020e565b604080513360208201526001600160a01b0383168183015281518082038301815260609091019091526000906100c18161011c565b9150816001600160a01b0316638129fc1c6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156100fe57600080fd5b505af1158015610112573d6000803e3d6000fd5b5050505050919050565b60006101487f000000000000000000000000000000000000000000000000000000000000000083610184565b6040519091506001600160a01b038216907f2158cde9935cbf85d0b02e02fbc315ad0be2f3f017a603a2ebeedead21b8d60b90600090a2919050565b600061019260008484610199565b9392505050565b600060405182518060438301826020870160045afa506e5af43d82803e903d91602b57fd5bf360238301528460148301528060881b74fe61002d3d81600a3d39f3363d3d373d3d3d363d730182526037810161ffd38210600b01830187f092505050806101925763301164256000526004601cfd5b60006020828403121561022057600080fd5b81356001600160a01b038116811461019257600080fdfea26469706673582212208e8f6ac280140f6036c22988a0ebffbf482102c3f24ff102a8f0c39e541b87ff64736f6c634300081c003360806040523380602957604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b6030816035565b50608e565b600080546001600160a01b03838116610100818102610100600160a81b0319851617855560405193049190911692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35050565b6107ed8061009d6000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c80638129fc1c116100715780638129fc1c146101495780638da5cb5b14610151578063b41a4b1914610167578063ce343deb1461017c578063d94565311461019d578063f2fde38b146101c057600080fd5b8063158ef93e146100b95780631e898ef1146100db578063715018a6146100f057806372f7a030146100f8578063776d1a01146101235780637e16420414610136575b600080fd5b6000546100c69060ff1681565b60405190151581526020015b60405180910390f35b6100ee6100e93660046105e4565b6101d3565b005b6100ee61020e565b60015461010b906001600160a01b031681565b6040516001600160a01b0390911681526020016100d2565b6100ee61013136600461066b565b610222565b60025461010b906001600160a01b031681565b6100ee6102c5565b60005461010090046001600160a01b031661010b565b61016f6102cd565b6040516100d291906106d5565b604080518082019091526005815264045524332360dc1b602082015261016f565b6100c66101ab36600461066b565b60036020526000908152604090205460ff1681565b6100ee6101ce36600461066b565b6102dc565b6001546001600160a01b031633146101fe57604051631f492dbf60e21b815260040160405180910390fd5b61020983838361031f565b505050565b610216610387565b61022060006103ba565b565b61022a610387565b6001600160a01b038116610251
75760405163d92e233d60e01b815260040160405180910390fd5b6001546001600160a01b03161561027b5760405163e0f2d7b160e01b815260040160405180910390fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040517f3bfb4bbf112628248058745a3c57e35b13369386e474b8e56c552f3063a4a19690600090a250565b610220610413565b60606102d761046f565b905090565b6102e4610387565b6001600160a01b03811661031357604051631e4fbdf760e01b8152600060048201526024015b60405180910390fd5b61031c816103ba565b50565b6001600160a01b03831660009081526003602052604090205460ff161561035957604051633440c93360e21b815260040160405180910390fd5b6001600160a01b0383166000908152600360205260409020805460ff1916600117905561020983838361047a565b6000546001600160a01b036101009091041633146102205760405163118cdaa760e01b815233600482015260240161030a565b600080546001600160a01b03838116610100818102610100600160a81b0319851617855560405193049190911692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35050565b61041b61055d565b600061042561046f565b90506000808280602001905181019061043e91906106e8565b9150915061044b826103ba565b600280546001600160a01b0319166001600160a01b03929092169190911790555050565b60606102d73061056e565b60025460405163e2b2408560e01b81526001600160a01b039091169063e2b24085906104ae9086908690869060040161074b565b602060405180830381865afa1580156104cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ef9190610779565b61050c57604051634715494560e01b815260040160405180910390fd5b6001546040516001600160a01b03918216918516907fc013b39287cb7a53f776482ac9573829321f002f31ef8782129b41d60047bda090610550908690869061079b565b60405180910390a3505050565b61056561059d565b610220336103ba565b60405164ffffffffff602c19833b0116808252602090810190602d908301843c60408101815101604052919050565b60005460ff16156105c05760405162dc149f60e41b815260040160405180910390fd5b6000805460ff19166001179055565b6001600160a01b038116811461031c57600080fd5b6000806000604084860312156105f957600080fd5b8335610604816105cf565b9250602084013567ffffffffffffffff81111561062057600080fd5b8401601f8101861361063157600080fd5b803567ffffffffffffffff81111561064857600080fd5b86602082840101111561065a57600080fd5b939660209190910195509293505050565b60006020828403121561067d57600080fd5b8135610688816105cf565b9392505050565b6000815180845260005b818110156106b557602081850181015186830182015201610699565b506000602082860101526020601f19601f83011685010191505092915050565b602081526000610688602083018461068f565b600080604083850312156106fb57600080fd5b8251610706816105cf565b6020840151909250610717816105cf565b809150509250929050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b03841681526040602082018190526000906107709083018486610722565b95945050505050565b60006020828403121561078b57600080fd5b8151801515811461068857600080fd5b6020815260006107af602083018486610722565b94935050505056fea2646970667358221220968975ad4a35ad87d3be47701c1c8def0240ba76f62199d0e18a4a3767f1f38864736f6c634300081c0033",f=e=>e.length>1;class b extends a.ContractFactory{constructor(...e){f(e)?super(...e):super(r,i,e[0])}getDeployTransaction(e){return super.getDeployTransaction(e||{})}deploy(e){return super.deploy(e||{})}connect(e){return super.connect(e)}static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.ERC20PolicyFactory__factory=b,b.bytecode=i,b.abi=r},83552:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IERC1155Errors__factory=void 0;let a=n(27653),r=[{inputs:[{internalType:"address",name:"sender",type:"address"},{internalType:"uint256",name:"balance",type:"uint256"},{internalType:"uint256",name:"needed",type:"uint256"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"ERC1155InsufficientBalance",type:"error"},{inputs:[{internalType:"address",name:"approver",type:"address"}],name:"ERC1155InvalidApprover",type:"error"},{inputs:[{internalType:"uint256",name:"idsLength",type:"uint256"},{internalType:"uint256",name:"valuesLength",type:"uint256"}],name:"ERC1155InvalidArrayLength",type:"error"},{inputs:[{internalType:"address",name:"operator",type:"address"}],name:"ERC1155InvalidOperator",type:"error"},{inputs:[{internalType:"address",name:"receiver",type:"address"}
7],name:"ERC1155InvalidReceiver",type:"error"},{inputs:[{internalType:"address",name:"sender",type:"address"}],name:"ERC1155InvalidSender",type:"error"},{inputs:[{internalType:"address",name:"operator",type:"address"},{internalType:"address",name:"owner",type:"address"}],name:"ERC1155MissingApprovalForAll",type:"error"}];class i{static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.IERC1155Errors__factory=i,i.abi=r},83711:(e,t,n)=>{var a=n(13122),r=n(15473);e.exports=function(e,t){var n=r(e,t);return a(n)?n:void 0}},83979:e=>{e.exports=function(e){var t=null==e?0:e.length;return t?e[t-1]:void 0}},84442:(e,t,n)=>{var a=n(73800),r=n(83979),i=n(27232),f=n(94356);e.exports=function(e,t){return t=a(t,e),null==(e=i(e,t))||delete e[f(r(t))]}},84650:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IVotes__factory=void 0;var a=n(79230);Object.defineProperty(t,"IVotes__factory",{enumerable:!0,get:function(){return a.IVotes__factory}})},84760:e=>{e.exports=function(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}},85582:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.generateTallyCommitments=void 0;let a=n(52470),r=n(68960);t.generateTallyCommitments=({tallyData:e,voteOptionTreeDepth:t})=>{let n,i,f=(0,r.generateTreeCommitment)(e.results.tally.map(e=>BigInt(e)),BigInt(e.results.salt),t),b=(0,r.hash2)([BigInt(e.totalSpentVoiceCredits.spent),BigInt(e.totalSpentVoiceCredits.salt)]);return e.mode===a.EMode.QV?(i=(0,r.generateTreeCommitment)(e.perVoteOptionSpentVoiceCredits.tally.map(e=>BigInt(e)),BigInt(e.perVoteOptionSpentVoiceCredits.salt),t),n=(0,r.hash3)([f,b,i])):n=(0,r.hashLeftRight)(f,b),{newTallyCommitment:n,newSpentVoiceCreditsCommitment:b,newPerVoteOptionSpentVoiceCreditsCommitment:i,newResultsCommitment:f}}},85855:(e,t,n)=>{var a=n(16613);e.exports=function(e){return null==e?"":a(e)}},86030:e=>{e.exports=function(e,t){var n=-1,a=e.length;for(t||(t=Array(a));++n<a;)t[n]=e[n];return t}},86110:(e,t,n)=>{var a=n(67472),r=n(72288),i=n(11850),f=n(20772),b=n(6543),s=n(24035),o=n(86030),c=n(59238),d=n(63957),u=n(20963),l=n(47532),p=n(94380),y=n(81932),m=n(98862),h=n(39208),g=n(39608),T=n(33497),_=n(59507),v=n(67460),w=n(51505),P=n(35095),A=n(54648),M="[object Arguments]",I="[object Function]",O="[object Object]",C={};C[M]=C["[object Array]"]=C["[object ArrayBuffer]"]=C["[object DataView]"]=C["[object Boolean]"]=C["[object Date]"]=C["[object Float32Array]"]=C["[object Float64Array]"]=C["[object Int8Array]"]=C["[object Int16Array]"]=C["[object Int32Array]"]=C["[object Map]"]=C["[object Number]"]=C[O]=C["[object RegExp]"]=C["[object Set]"]=C["[object String]"]=C["[object Symbol]"]=C["[object Uint8Array]"]=C["[object Uint8ClampedArray]"]=C["[object Uint16Array]"]=C["[object Uint32Array]"]=!0,C["[object Error]"]=C[I]=C["[object WeakMap]"]=!1,e.exports=function e(t,n,E,x,S,R){var k,B=1&n,j=2&n,D=4&n;if(E&&(k=S?E(t,x,S,R):E(t)),void 0!==k)return k;if(!v(t))return t;var F=g(t);if(F){if(k=y(t),!B)return o(t,k)}else{var N=p(t),V=N==I||"[object GeneratorFunction]"==N;if(T(t))return s(t,B);if(N==O||N==M||V&&!S){if(k=j||V?{}:h(t),!B)return j?d(t,b(k,t)):c(t,f(k,t))}else{if(!C[N])return S?t:{};k=m(t,N,B)}}R||(R=new a);var U=R.get(t);if(U)return U;R.set(t,k),w(t)?t.forEach(function(a){k.add(e(a,n,E,a,t,R))}):_(t)&&t.forEach(function(a,r){k.set(r,e(a,n,E,r,t,R))});var L=D?j?l:u:j?A:P,K=F?void 0:L(t);return r(K||t,function(a,r){K&&(a=t[r=a]),i(k,r,e(a,n,E,r,t,R))}),k}},86118:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TokenPolicyFactory__factory=void 0;let a=n(27653),r=[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"clone",type:"address"}],name:"CloneDeployed",type:"event"},{inputs:[],name:"IMPLEMENTATION",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"checkerAddress",type:"address"}],name:"deploy",outputs:[{internalType:"address",name:"clone",type:"address"}],stateMutability:"nonpayable",type:"function"}],i="0x60a0604052348015600f57600080fd5b50604051601a906046565b604051809103906000f0801580156035573d6000803e3d6000fd5b506001600160a01b03166080526053565b6108a6806102e183390190565b60805161026d6100746000396000818160400152610123015261026d6000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80633a4741bd1461003b5780634c96a3891461007e575b600080fd5b6100627f000000000000000000000000000000000000000000000000000000000000000081565b
76040516001600160a01b03909116815260200160405180910390f35b61006261008c36600461020e565b604080513360208201526001600160a01b0383168183015281518082038301815260609091019091526000906100c18161011c565b9150816001600160a01b0316638129fc1c6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156100fe57600080fd5b505af1158015610112573d6000803e3d6000fd5b5050505050919050565b60006101487f000000000000000000000000000000000000000000000000000000000000000083610184565b6040519091506001600160a01b038216907f2158cde9935cbf85d0b02e02fbc315ad0be2f3f017a603a2ebeedead21b8d60b90600090a2919050565b600061019260008484610199565b9392505050565b600060405182518060438301826020870160045afa506e5af43d82803e903d91602b57fd5bf360238301528460148301528060881b74fe61002d3d81600a3d39f3363d3d373d3d3d363d730182526037810161ffd38210600b01830187f092505050806101925763301164256000526004601cfd5b60006020828403121561022057600080fd5b81356001600160a01b038116811461019257600080fdfea2646970667358221220f48fc3fe7ad083e1a57a1e34fd11b362c45832b6df3b912d8e26b5308f6cf07364736f6c634300081c003360806040523380602957604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b6030816035565b50608e565b600080546001600160a01b03838116610100818102610100600160a81b0319851617855560405193049190911692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35050565b6108098061009d6000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c80637e164204116100715780637e164204146101595780638129fc1c1461016c5780638da5cb5b14610174578063b41a4b191461018a578063ce343deb1461019f578063f2fde38b146101c057600080fd5b8063158ef93e146100b95780631e898ef1146100db57806359e6c9b1146100f0578063715018a61461011357806372f7a0301461011b578063776d1a0114610146575b600080fd5b6000546100c69060ff1681565b60405190151581526020015b60405180910390f35b6100ee6100e93660046105e7565b6101d3565b005b6100c66100fe36600461066e565b60036020526000908152604090205460ff1681565b6100ee61020e565b60015461012e906001600160a01b031681565b6040516001600160a01b0390911681526020016100d2565b6100ee610154366004610687565b610222565b60025461012e906001600160a01b031681565b6100ee6102c5565b60005461010090046001600160a01b031661012e565b6101926102cd565b6040516100d291906106f1565b6040805180820190915260058152642a37b5b2b760d91b6020820152610192565b6100ee6101ce366004610687565b6102dc565b6001546001600160a01b031633146101fe57604051631f492dbf60e21b815260040160405180910390fd5b61020983838361031f565b505050565b61021661038a565b61022060006103bd565b565b61022a61038a565b6001600160a01b0381166102515760405163d92e233d60e01b815260040160405180910390fd5b6001546001600160a01b03161561027b5760405163e0f2d7b160e01b815260040160405180910390fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040517f3bfb4bbf112628248058745a3c57e35b13369386e474b8e56c552f3063a4a19690600090a250565b610220610416565b60606102d7610472565b905090565b6102e461038a565b6001600160a01b03811661031357604051631e4fbdf760e01b8152600060048201526024015b60405180910390fd5b61031c816103bd565b50565b600061032d8284018461066e565b60008181526003602052604090205490915060ff161561036057604051633440c93360e21b815260040160405180910390fd5b6000818152600360205260409020805460ff1916600117905561038484848461047d565b50505050565b6000546001600160a01b036101009091041633146102205760405163118cdaa760e01b815233600482015260240161030a565b600080546001600160a01b03838116610100818102610100600160a81b0319851617855560405193049190911692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35050565b61041e610560565b6000610428610472565b9050600080828060200190518101906104419190610704565b9150915061044e826103bd565b600280546001600160a01b0319166001600160a01b03929092169190911790555050565b60606102d730610571565b60025460405163e2b2408560e01b81526001600160a01b039091169063e2b24085906104b190869086908690600401610767565b602060405180830381865afa1580156104ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104f29190610795565b61050f57604051634715494560e01b815260040160405180910390fd5b6001546040516001600160a01b03918216918516907fc013b39287cb7a53f776482ac9573829321f002f31ef8782129b41d60047bda09061055390869086906107b7565b60405180910390a3505050565b6105686105a0565b610220336103bd565b60405164ffffffffff602c19833b0116808252602090810190602d908301843c60408101815101604052919050565b60005460ff16156105c35760405162dc149f60e41b815260040160405180910390fd5b6000805460ff19166001179055565b6001600160a01b038116811461031c57600080fd5b6000806000604084860312156105fc57600080fd5b8335610607816105d2565b9250602084013567ffffffffffffffff81111561062357600080fd5b8401601f8101861361063457600080fd5b803567ffffffffffffffff81111561064b57600080fd5b86602082840101111561065d57600080fd5b939660209190910195509293505050565b60006020828403121561068057600080fd5b5035919050565b60006020828403121561069957600080fd5b81356106a4816105
7d2565b9392505050565b6000815180845260005b818110156106d1576020818501810151868301820152016106b5565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006106a460208301846106ab565b6000806040838503121561071757600080fd5b8251610722816105d2565b6020840151909250610733816105d2565b809150509250929050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b038416815260406020820181905260009061078c908301848661073e565b95945050505050565b6000602082840312156107a757600080fd5b815180151581146106a457600080fd5b6020815260006107cb60208301848661073e565b94935050505056fea2646970667358221220936e1eea36e500fa9b16f589a6a8f4b1b800233f4b9823a4679e21f7f52e018a64736f6c634300081c0033",f=e=>e.length>1;class b extends a.ContractFactory{constructor(...e){f(e)?super(...e):super(r,i,e[0])}getDeployTransaction(e){return super.getDeployTransaction(e||{})}deploy(e){return super.deploy(e||{})}connect(e){return super.connect(e)}static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.TokenPolicyFactory__factory=b,b.bytecode=i,b.abi=r},86348:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SafeCast__factory=void 0;var a=n(37322);Object.defineProperty(t,"SafeCast__factory",{enumerable:!0,get:function(){return a.SafeCast__factory}})},86518:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CurveBabyJubJub__factory=void 0;var a=n(67889);Object.defineProperty(t,"CurveBabyJubJub__factory",{enumerable:!0,get:function(){return a.CurveBabyJubJub__factory}})},87481:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ERC20VotesInitialVoiceCreditProxy__factory=void 0;let a=n(27653),r=[{inputs:[],name:"AlreadyInitialized",type:"error"},{inputs:[],name:"factor",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getAppendedBytes",outputs:[{internalType:"bytes",name:"appendedBytes",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"voter",type:"address"},{internalType:"bytes",name:"",type:"bytes"}],name:"getVoiceCredits",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"initialized",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"snapshotBlock",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"token",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"}],i="0x6080604052348015600f57600080fd5b506104948061001f6000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80638129fc1c1161005b5780638129fc1c146100c4578063b36543a9146100ce578063b41a4b19146100e1578063fc0c546a146100f657600080fd5b8063158ef93e146100825780631f90b2a5146100a457806354f703f8146100bb575b600080fd5b60005461008f9060ff1681565b60405190151581526020015b60405180910390f35b6100ad60015481565b60405190815260200161009b565b6100ad60035481565b6100cc610121565b005b6100ad6100dc3660046102ce565b61012b565b6100e96101c9565b60405161009b919061039a565b600254610109906001600160a01b031681565b6040516001600160a01b03909116815260200161009b565b6101296101d8565b565b600354600254600154604051630748d63560e31b8152600093926001600160a01b031691633a46b1a8916101779188916004016001600160a01b03929092168252602082015260400190565b602060405180830381865afa158015610194573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101b891906103e8565b6101c29190610401565b9392505050565b60606101d3610234565b905090565b6101e061023f565b60006101ea610234565b90506000806000838060200190518101906102059190610423565b600192909255600280546001600160a01b0319166001600160a01b039290921691909117905560035550505050565b60606101d330610271565b60005460ff16156102625760405162dc149f60e41b815260040160405180910390fd5b6000805460ff19166001179055565b60405164ffffffffff602c19833b0116808252602090810190602d908301843c60408101815101604052919050565b6001600160a01b03811681146102b557600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b600080604083850312156102e157600080fd5b82356102ec816102a0565b9150602083013567ffffffffffffffff81111561030857600080fd5b8301601f8101851361031957600080fd5b803567ffffffffffffffff811115610333576103336102b8565b604051601f8201601f19908116603f0116810167ffffffffffffffff81118282101715610362576103626102b8565b60405281815282820160200187101561037a57600080fd5b816020840160208301376000602083830101528093505050509250929050565b602081526000825180602084015260005b818110156103c857602081860181015160408684010152016103ab565b506000604082850101526040601f19601f83011684010191505092915050565b6000602082840312156103fa57600080fd5b5051919050565b60008261041e57634e487b7160e01b600052601260045260246000fd5b500490565b60008060006060848
7603121561043857600080fd5b8351602085015190935061044b816102a0565b604094909401519295939450919291505056fea2646970667358221220b58704815b48e443a7328fc9c4177b7e51617d908f169c7350b4bd4c3573fe1664736f6c634300081c0033",f=e=>e.length>1;class b extends a.ContractFactory{constructor(...e){f(e)?super(...e):super(r,i,e[0])}getDeployTransaction(e){return super.getDeployTransaction(e||{})}deploy(e){return super.deploy(e||{})}connect(e){return super.connect(e)}static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.ERC20VotesInitialVoiceCreditProxy__factory=b,b.bytecode=i,b.abi=r},87503:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.VerifyingKeysRegistry__factory=void 0;let a=n(27653),r=[{inputs:[{internalType:"address",name:"_initialOwner",type:"address"}],stateMutability:"payable",type:"constructor"},{inputs:[],name:"InvalidKeysParams",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:[],name:"VerifyingKeyAlreadySet",type:"error"},{inputs:[],name:"VerifyingKeyNotSet",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"_signature",type:"uint256"}],name:"PollJoinedVerifyingKeySet",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"_signature",type:"uint256"}],name:"PollJoiningVerifyingKeySet",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"_signature",type:"uint256"},{indexed:!1,internalType:"enum DomainObjs.Mode",name:"_mode",type:"uint8"}],name:"ProcessVerifyingKeySet",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"_signature",type:"uint256"},{indexed:!1,internalType:"enum DomainObjs.Mode",name:"_mode",type:"uint8"}],name:"TallyVerifyingKeySet",type:"event"},{inputs:[],name:"MESSAGE_DATA_LENGTH",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_stateTreeDepth",type:"uint256"}],name:"generatePollJoinedVerifyingKeySignature",outputs:[{internalType:"uint256",name:"signature",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"uint256",name:"_stateTreeDepth",type:"uint256"}],name:"generatePollJoiningVerifyingKeySignature",outputs:[{internalType:"uint256",name:"signature",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"uint256",name:"_stateTreeDepth",type:"uint256"},{internalType:"uint256",name:"_voteOptionTreeDepth",type:"uint256"},{internalType:"uint8",name:"_messageBatchSize",type:"uint8"}],name:"generateProcessVerifyingKeySignature",outputs:[{internalType:"uint256",name:"signature",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"uint256",name:"_stateTreeDepth",type:"uint256"},{internalType:"uint256",name:"_intStateTreeDepth",type:"uint256"},{internalType:"uint256",name:"_voteOptionTreeDepth",type:"uint256"}],name:"generateTallyVerifyingKeySignature",outputs:[{internalType:"uint256",name:"signature",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"uint256",name:"_stateTreeDepth",type:"uint256"}],name:"getPollJoinedVerifyingKey",outputs:[{components:[{components:[{internalType:"uint256",name:"x",type:"uint256"},{internalType:"uint256",name:"y",type:"uint256"}],internalType:"struct Pairing.G1Point",name:"alpha1",type:"tuple"},{components:[{internalType:"uint256[2]",name:"x",type:"uint256[2]"},{internalType:"uint256[2]",name:"y",type:"uint256[2]"}],internalType:"struct Pairing.G2Point",name:"beta2",type:"tuple"},{components:[{internalType:"uint256[2]",name:"x",type:"uint256[2]"},{internalType:"uint256[2]",name:"y",type:"uint256[2]"}],internalType:"struct Pairing.G2Point",name:"gamma2",type:"tuple"},{components:[{internalType:"uint256[2]",name:"x",type:"uint256[2]"},{internalType:"uint256[2]",name:"y",type:"uint256[2]"}],internalType:"struct Pairing.G2Point",name:"delta2",type:"tuple"},{components:[{internalType:"uint256",name:"x",type:"uint256"},{internalType:"uint256",name:"y",type:"uint256"}],internalType:"struct Pairing.G1Point[]",name:"ic",type:"tuple[]"}],internalType:"struct SnarkCommon.VerifyingKey",name:"verifyingKey",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_signature",type:"uint256"}],name:"getPollJoinedVerifyingKeyBySignature",outputs:[{components:[{components:[{internalType:"uint256",name:"x",type:"uint256"},{internalType:"uint256",name:"y",type:"uint256"}],internalType:"struct Pairing.G1Point",name:"alpha1",type:"tuple"},{components:[{internalType:"uint256[2]",name:"x",type:"uint256[2]"},{internalType:"uint256[2]",name:"y",type:"uint256[2]"}],internalType:"struct Pairing.G2Point",name:"beta2",type:"tuple"},{components:[{internalType:"uint256[2]",name:"x",type:"uint256[2]"},{internalType:"uint256[2]",name:"y",type:"uint256[2]"}],internalType:"struct Pairing.G2Point",name:"gamma2",type:"tuple"},{components:[{internalType:"uint256[2]",name:"x",type:"uint256[2]"},{internalType:"uint256[2]",name:"y",type:"uint256[2]"}],internalType:"struct Pairing.G2Point",name:"delta2",type:"tuple"},{components:[{internalType:"uint256",name:"x",type:"uint256"},{internalType:"uint256",name:"y",type:"uint256"}],internalType:"struct Pairing.G1Point[]",name:"ic",type:"tuple[]"}],internalType:"struct SnarkCommon.VerifyingKey",name:"verifyingKey",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_stateTreeDepth",type:"uint256"}],name:"getPollJoiningVerifyingKey",outputs:[{components:[{components:[{internalType:"uint256",name:"x",type:"uint256"},{internalType:"uint256",name:"y",type:"uint256"}],internalType:"struct Pairing.G1Point",name:"alpha1",type:"tuple"},{components:[{internalType:"uint256[2]",name:"x",type:"uint256[2]"},{internalType:"uint256[2]",name:"y",type:"uint256[2]"}],internalType:"struct Pairing.G2Point",name:"beta2",type:"tuple"},{components:[{internalType:"uint256[2]",name:"x",type:"uint256[2]"},{internalType:"uint256[2]",name:"y",type:"uint256[2]"}],internalType:"struct Pairing.G2Point",name:"gamma2",type:"tuple"},{components:[{internalType:"uint256[2]",name:"x",type:"uint256[2]"},{internalType:"uint256[2]",name:"y",type:"uint256[2]"}],internalType:"struct Pairing.G2Point",name:"delta2",type:"tuple"},{components:[{internalType:"uint256",name:"x",type:"uint256"},{internalType:"uint256",name:"y",type:"uint256"}],internalType:"struct Pairing.G1Point[]",name:"ic",type:"tuple[]"}],internalType:"struct SnarkCommon.VerifyingKey",name:"verifyingKey",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_signature",type:"uint256"}],name:"getPollJoiningVerifyingKeyBySignature",outputs:[{components:[{components:[{internalType:"uint256",name:"x",type:"uint256"},{internalType:"uint256",name:"y",type:"uint256"}],internalType:"struct Pairing.G1Point",name:"alpha1",type:"tuple"},{components:[{internalType:"uint256[2]",name:"x",type:"uint256[2]"},{internalType:"uint256[2]",name:"y",type:"uint256[2]"}],internalType:"struct Pairing.G2Point",name:"beta2",type:"tuple"},{components:[{internalType:"uint256[2]",name:"x",type:"uint256[2]"},{internalType:"uint256[2]",name:"y",type:"uint256[2]"}],internalType:"struct Pairing.G2Point",name:"gamma2",type:"tuple"},{components:[{internalType:"uint256[2]",name:"x",type:"uint256[2]"},{internalType:"uint256[2]",name:"y",type:"uint256[2]"}],internalType:"struct Pairing.G2Point",name:"delta2",type:"tuple"},{components:[{internalType:"uint256",name:"x",type:"uint256"},{internalType:"uint256",name:"y",type:"uint256"}],internalType:"struct Pairing.G1Point[]",name:"ic",type:"tuple[]"}],internalType:"struct SnarkCommon.VerifyingKey",name:"verifyingKey",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_stateTreeDepth",type:"uint256"},{internalType:"uint256",name:"_voteOptionTreeDepth",type:"uint256"},{internalType:"uint8",name:"_messageBatchSize",type:"uint8"},{internalType:"enum DomainObjs.Mode",name:"_mode",type:"uint8"}],name:"getProcessVerifyingKey",outputs:[{components:[{components:[{internalType:"uint256",name:"x",type:"uint256"},{internalType:"uint256",name:"y",type:"uint256"}],internalType:"struct Pairing.G1Point",name:"alpha1",type:"tuple"},{components:[{internalType:"uint256[2]",name:"x",type:"uint256[2]"},{internalType:"uint256[2]",name:"y",type:"uint256[2]"}],internalType:"struct Pairing.G2Point",name:"beta2",type:"tuple"},{components:[{internalType:"uint256[2]",name:"x",type:"uint256[2]"},{internalType:"uint256[2]",name:"y",type:"uint256[2]"}],internalType:"struct Pairing.G2Point",name:"gamma2",type:"tuple"},{components:[{internalType:"uint256[2]",name:"x",type:"uint256[2]"},{internalType:"uint256[2]",name:"y",type:"uint256[2]"}],internalType:"struct Pairing.G2Point",name:"delta2",type:"tuple"},{components:[{internalType:"uint256",name:"x",type:"uint256"},{internalType:"uint256",name:"y",type:"uint256"}],internalType:"struct Pairing.G1Point[]",name:"ic",type:"tuple[]"}],internalType:"struct SnarkCommon.VerifyingKey",name:"verifyingKey",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_signature",type:"uint256"},{internalType:"enum DomainObjs.Mode",name:"_mode",type:"uint8"}],name:"getProcessVerifyingKeyBySignature",outputs:[{components:[{components:[{internalType:"uint256",name:"x",type:"uint256"},{internalType:"uint256",name:"y",type:"uint256"}],internalType:"struct Pairing.G1Point",name:"alpha1",type:"tuple"},{components:[{internalType:"uint256[2]",name:"x",type:"uint256[2]"},{internalType:"uint256[2]",name:"y",type:"uint256[2]"}],internalType:"struct Pairing.G2Point",name:"beta2",type:"tuple"},{components:[{internalType:"uint256[2]",name:"x",type:"uint256[2]"},{internalType:"uint256[2]",name:"y",type:"uint256[2]"}],internalType:"struct Pairing.G2Point",name:"gamma2",type:"tuple"},{components:[{internalType:"uint256[2]",name:"x",type:"uint256[2]"},{internalType:"uint256[2]",name:"y",type:"uint256[2]"}],internalType:"struct Pairing.G2Point",name:"delta2",type:"tuple"},{components:[{internalType:"uint256",name:"x",type:"uint256"},{internalType:"uint256",name:"y",type:"uint256"}],internalType:"struct Pairing.G1Point[]",name:"ic",type:"tuple[]"}],internalType:"struct SnarkCommon.VerifyingKey",name:"verifyingKey",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_stateTreeDepth",type:"uint256"},{internalType:"uint256",name:"_intStateTreeDepth",type:"uint256"},{internalType:"uint256",name:"_voteOptionTreeDepth",type:"uint256"},{internalType:"enum DomainObjs.Mode",name:"_mode",type:"uint8"}],name:"getTallyVerifyingKey",outputs:[{components:[{components:[{internalType:"uint256",name:"x",type:"uint256"},{internalType:"uint256",name:"y",type:"uint256"}],internalType:"struct Pairing.G1Point",name:"alpha1",type:"tuple"},{components:[{internalType:"uint256[2]",name:"x",type:"uint256[2]"},{internalType:"uint256[2]",name:"y",type:"uint256[2]"}],internalType:"struct Pairing.G2Point",name:"beta2",type:"tuple"},{components:[{internalType:"uint256[2]",name:"x",type:"uint256[2]"},{internalType:"uint256[2]",name:"y",type:"uint256[2]"}],internalType:"struct Pairing.G2Point",name:"gamma2",type:"tuple"},{components:[{internalType:"uint256[2]",name:"x",type:"uint256[2]"},{internalType:"uint256[2]",name:"y",type:"uint256[2]"}],internalType:"struct Pairing.G2Point",name:"delta2",type:"tuple"},{components:[{internalType:"uint256",name:"x",type:"uint256"},{internalType:"uint256",name:"y",type:"uint256"}],internalType:"struct Pairing.G1Point[]",name:"ic",type:"tuple[]"}],internalType:"struct SnarkCommon.VerifyingKey",name:"verifyingKey",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_signature",type:"uint256"},{internalType:"enum DomainObjs.Mode",name:"_mode",type:"uint8"}],name:"getTallyVerifyingKeyBySignature",outputs:[{components:[{components:[{internalType:"uint256",name:"x",type:"uint256"},{internalType:"uint256",name:"y",type:"uint256"}],internalType:"struct Pairing.G1Point",name:"alpha1",type:"tuple"},{components:[{internalType:"uint256[2]",name:"x",type:"uint256[2]"},{internalType:"uint256[2]",name:"y",type:"uint256[2]"}],internalType:"struct Pairing.G2Point",name:"beta2",type:"tuple"},{components:[{internalType:"uint256[2]",name:"x",type:"uint256[2]"},{internalType:"uint256[2]",name:"y",type:"uint256[2]"}],internalType:"struct Pairing.G2Point",name:"gamma2",type:"tuple"},{components:[{internalType:"uint256[2]",name:"x",type:"uint256[2]"},{internalType:"uint256[2]",name:"y",type:"uint256[2]"}],internalType:"struct Pairing.G2Point",name:"delta2",type:"tuple"},{components:[{internalType:"uint256",name:"x",type:"uint256"},{internalType:"uint256",name:"y",type:"uint256"}],internalType:"struct Pairing.G1Point[]",name:"ic",type:"tuple[]"}],internalType:"struct SnarkCommon.VerifyingKey",name:"verifyingKey",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_stateTreeDepth",type:"uint256"},{internalType:"uint256",name:"_voteOptionTreeDepth",type:"uint256"},{internalType:"uint8",name:"_messageBatchSize",type:"uint8"},{internalType:"enum DomainObjs.Mode",name:"_mode",type:"uint8"}],name:"hasProcessVerifyingKey",outputs:[{internalType:"bool",name:"isSet",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_stateTreeDepth",type:"uint256"},{internalType:"uint256",name:"_intStateTreeDepth",type:"uint256"},{internalType:"uint256",name:"_voteOptionTreeDepth",type:"uint256"},{internalType:"enum DomainObjs.Mode",name:"_mode",type:"uint8"}],name:"hasTallyVerifyingKey",outputs:[{internalType:"bool",name:"isSet",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_signature",type:"uint256"}],name:"isPollJoinedVerifyingKeySet",outputs:[{internalType:"bool",name:"isSet",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_signature",type:"uint256"}],name:"isPollJoiningVerifyingKeySet",outputs:[{internalType:"bool",name:"isSet",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_signature",type:"uint256"},{internalType:"enum DomainObjs.Mode",name:"_mode",type:"uint8"}],name:"isProcessVerifyingKeySet",outputs:[{internalType:"bool",name:"isSet",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_signature",type:"uint256"},{internalType:"enum DomainObjs.Mode",name:"_mode",type:"uint8"}],name:"isTallyVerifyingKeySet",outputs:[{internalType:"bool",name:"isSet",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_stateTreeDepth",type:"uint256"},{components:[{components:[{internalType:"uint256",name:"x",type:"uint256"},{internalType:"uint256",name:"y",type:"uint256"}],internalType:"struct Pairing.G1Point",name:"alpha1",type:"tuple"},{components:[{internalType:"uint256[2]",name:"x",type:"uint256[2]"},{internalType:"uint256[2]",name:"y",type:"uint256[2]"}],internalType:"struct Pairing.G2Point",name:"beta2",type:"tuple"},{components:[{internalType:"uint256[2]",name:"x",type:"uint256[2]"},{internalType:"uint256[2]",name:"y",type:"uint256[2]"}],internalType:"struct Pairing.G2Point",name:"gamma2",type:"tuple"},{components:[{internalType:"uint256[2]",name:"x",type:"uint256[2]"},{internalType:"uint256[2]",name:"y",type:"uint256[2]"}],internalType:"struct Pairing.G2Point",name:"delta2",type:"tuple"},{components:[{internalType:"uint256",name:"x",type:"uint256"},{internalType:"uint256",name:"y",type:"uint256"}],internalType:"struct Pairing.G1Point[]",name:"ic",type:"tuple[]"}],internalType:"struct SnarkCommon.VerifyingKey",name:"_pollJoinedVerif
7yingSignature",type:"tuple"}],name:"setPollJoinedVerifyingKey",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_stateTreeDepth",type:"uint256"},{components:[{components:[{internalType:"uint256",name:"x",type:"uint256"},{internalType:"uint256",name:"y",type:"uint256"}],internalType:"struct Pairing.G1Point",name:"alpha1",type:"tuple"},{components:[{internalType:"uint256[2]",name:"x",type:"uint256[2]"},{internalType:"uint256[2]",name:"y",type:"uint256[2]"}],internalType:"struct Pairing.G2Point",name:"beta2",type:"tuple"},{components:[{internalType:"uint256[2]",name:"x",type:"uint256[2]"},{internalType:"uint256[2]",name:"y",type:"uint256[2]"}],internalType:"struct Pairing.G2Point",name:"gamma2",type:"tuple"},{components:[{internalType:"uint256[2]",name:"x",type:"uint256[2]"},{internalType:"uint256[2]",name:"y",type:"uint256[2]"}],internalType:"struct Pairing.G2Point",name:"delta2",type:"tuple"},{components:[{internalType:"uint256",name:"x",type:"uint256"},{internalType:"uint256",name:"y",type:"uint256"}],internalType:"struct Pairing.G1Point[]",name:"ic",type:"tuple[]"}],internalType:"struct SnarkCommon.VerifyingKey",name:"_pollJoiningVerifyingKey",type:"tuple"}],name:"setPollJoiningVerifyingKey",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_stateTreeDepth",type:"uint256"},{internalType:"uint256",name:"_voteOptionTreeDepth",type:"uint256"},{internalType:"uint8",name:"_messageBatchSize",type:"uint8"},{internalType:"enum DomainObjs.Mode",name:"_mode",type:"uint8"},{components:[{components:[{internalType:"uint256",name:"x",type:"uint256"},{internalType:"uint256",name:"y",type:"uint256"}],internalType:"struct Pairing.G1Point",name:"alpha1",type:"tuple"},{components:[{internalType:"uint256[2]",name:"x",type:"uint256[2]"},{internalType:"uint256[2]",name:"y",type:"uint256[2]"}],internalType:"struct Pairing.G2Point",name:"beta2",type:"tuple"},{components:[{internalType:"uint256[2]",name:"x",type:"uint256[2]"},{internalType:"uint256[2]",name:"y",type:"uint256[2]"}],internalType:"struct Pairing.G2Point",name:"gamma2",type:"tuple"},{components:[{internalType:"uint256[2]",name:"x",type:"uint256[2]"},{internalType:"uint256[2]",name:"y",type:"uint256[2]"}],internalType:"struct Pairing.G2Point",name:"delta2",type:"tuple"},{components:[{internalType:"uint256",name:"x",type:"uint256"},{internalType:"uint256",name:"y",type:"uint256"}],internalType:"struct Pairing.G1Point[]",name:"ic",type:"tuple[]"}],internalType:"struct SnarkCommon.VerifyingKey",name:"_processVerifyingKey",type:"tuple"}],name:"setProcessVerifyingKey",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_stateTreeDepth",type:"uint256"},{internalType:"uint256",name:"_intStateTreeDepth",type:"uint256"},{internalType:"uint256",name:"_voteOptionTreeDepth",type:"uint256"},{internalType:"enum DomainObjs.Mode",name:"_mode",type:"uint8"},{components:[{components:[{internalType:"uint256",name:"x",type:"uint256"},{internalType:"uint256",name:"y",type:"uint256"}],internalType:"struct Pairing.G1Point",name:"alpha1",type:"tuple"},{components:[{internalType:"uint256[2]",name:"x",type:"uint256[2]"},{internalType:"uint256[2]",name:"y",type:"uint256[2]"}],internalType:"struct Pairing.G2Point",name:"beta2",type:"tuple"},{components:[{internalType:"uint256[2]",name:"x",type:"uint256[2]"},{internalType:"uint256[2]",name:"y",type:"uint256[2]"}],internalType:"struct Pairing.G2Point",name:"gamma2",type:"tuple"},{components:[{internalType:"uint256[2]",name:"x",type:"uint256[2]"},{internalType:"uint256[2]",name:"y",type:"uint256[2]"}],internalType:"struct Pairing.G2Point",name:"delta2",type:"tuple"},{components:[{internalType:"uint256",name:"x",type:"uint256"},{internalType:"uint256",name:"y",type:"uint256"}],internalType:"struct Pairing.G1Point[]",name:"ic",type:"tuple[]"}],internalType:"struct SnarkCommon.VerifyingKey",name:"_tallyVerifyingKey",type:"tuple"}],name:"setTallyVerifyingKey",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_stateTreeDepth",type:"uint256"},{internalType:"uint256",name:"_intStateTreeDepth",type:"uint256"},{internalType:"uint256",name:"_voteOptionTreeDepth",type:"uint256"},{internalType:"uint8",name:"_messageBatchSize",type:"uint8"},{internalType:"enum DomainObjs.Mode",name:"_mode",type:"uint8"},{components:[{components:[{internalType:"uint256",name:"x",type:"uint256"},{internalType:"uint256",name:"y",type:"uint256"}],internalType:"struct Pairing.G1Point",name:"alpha1",type:"tuple"},{components:[{internalType:"uint256[2]",name:"x",type:"uint256[2]"},{internalType:"uint256[2]",name:"y",type:"uint256[2]"}],internalType:"struct Pairing.G2Point",name:"beta2",type:"tuple"},{components:[{internalType:"uint256[2]",name:"x",type:"uint256[2]"},{internalType:"uint256[2]",name:"y",type:"uint256[2]"}],internalType:"struct Pairing.G2Point",name:"gamma2",type:"tuple"},{components:[{internalType:"uint256[2]",name:"x",type:"uint256[2]"},{internalType:"uint256[2]",name:"y",type:"uint256[2]"}],internalType:"struct Pairing.G2Point",name:"delta2",type:"tuple"},{components:[{internalType:"uint256",name:"x",type:"uint256"},{internalType:"uint256",name:"y",type:"uint256"}],internalType:"struct Pairing.G1Point[]",name:"ic",type:"tuple[]"}],internalType:"struct SnarkCommon.VerifyingKey",name:"_processVerifyingKey",type:"tuple"},{components:[{components:[{internalType:"uint256",name:"x",type:"uint256"},{internalType:"uint256",name:"y",type:"uint256"}],internalType:"struct Pairing.G1Point",name:"alpha1",type:"tuple"},{components:[{internalType:"uint256[2]",name:"x",type:"uint256[2]"},{internalType:"uint256[2]",name:"y",type:"uint256[2]"}],internalType:"struct Pairing.G2Point",name:"beta2",type:"tuple"},{components:[{internalType:"uint256[2]",name:"x",type:"uint256[2]"},{internalType:"uint256[2]",name:"y",type:"uint256[2]"}],internalType:"struct Pairing.G2Point",name:"gamma2",type:"tuple"},{components:[{internalType:"uint256[2]",name:"x",type:"uint256[2]"},{internalType:"uint256[2]",name:"y",type:"uint256[2]"}],internalType:"struct Pairing.G2Point",name:"delta2",type:"tuple"},{components:[{internalType:"uint256",name:"x",type:"uint256"},{internalType:"uint256",name:"y",type:"uint256"}],internalType:"struct Pairing.G1Point[]",name:"ic",type:"tuple[]"}],internalType:"struct SnarkCommon.VerifyingKey",name:"_tallyVerifyingKey",type:"tuple"}],name:"setVerifyingKeys",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"uint256",name:"stateTreeDepth",type:"uint256"},{internalType:"uint256",name:"pollStateTreeDepth",type:"uint256"},{internalType:"uint256",name:"tallyProcessingStateTreeDepth",type:"uint256"},{internalType:"uint256",name:"voteOptionTreeDepth",type:"uint256"},{internalType:"uint8",name:"messageBatchSize",type:"uint8"},{internalType:"enum DomainObjs.Mode[]",name:"modes",type:"uint8[]"},{components:[{components:[{internalType:"uint256",name:"x",type:"uint256"},{internalType:"uint256",name:"y",type:"uint256"}],internalType:"struct Pairing.G1Point",name:"alpha1",type:"tuple"},{components:[{internalType:"uint256[2]",name:"x",type:"uint256[2]"},{internalType:"uint256[2]",name:"y",type:"uint256[2]"}],internalType:"struct Pairing.G2Point",name:"beta2",type:"tuple"},{components:[{internalType:"uint256[2]",name:"x",type:"uint256[2]"},{internalType:"uint256[2]",name:"y",type:"uint256[2]"}],internalType:"struct Pairing.G2Point",name:"gamma2",type:"tuple"},{components:[{internalType:"uint256[2]",name:"x",type:"uint256[2]"},{internalType:"uint256[2]",name:"y",type:"uint256[2]"}],internalType:"struct Pairing.G2Point",name:"delta2",type:"tuple"},{components:[{internalType:"uint256",name:"x",type:"uint256"},{internalType:"uint256",name:"y",type:"uint256"}],internalType:"struct Pairing.G1Point[]",name:"ic",type:"tuple[]"}],internalType:"struct SnarkCommon.VerifyingKey",name:"pollJoiningVerifyingKey",type:"tuple"},{components:[{components:[{internalType:"uint256",name:"x",type:"uint256"},{internalType:"uint256",name:"y",type:"uint256"}],internalType:"struct Pairing.G1Point",name:"alpha1",type:"tuple"},{components:[{internalType:"uint256[2]",name:"x",type:"uint256[2]"},{internalType:"uint256[2]",name:"y",type:"uint256[2]"}],internalType:"struct Pairing.G2Point",name:"beta2",type:"tuple"},{components:[{internalType:"uint256[2]",name:"x",type:"uint256[2]"},{internalType:"uint256[2]",name:"y",type:"uint256[2]"}],internalType:"struct Pairing.G2Point",name:"gamma2",type:"tuple"},{components:[{internalType:"uint256[2]",name:"x",type:"uint256[2]"},{internalType:"uint256[2]",name:"y",type:"uint256[2]"}],internalType:"struct Pairing.G2Point",name:"delta2",type:"tuple"},{components:[{internalType:"uint256",name:"x",type:"uint256"},{internalType:"uint256",name:"y",type:"uint256"}],internalType:"struct Pairing.G1Point[]",name:"ic",type:"tuple[]"}],internalType:"struct SnarkCommon.VerifyingKey",name:"pollJoinedVerifyingKey",type:"tuple"},{components:[{components:[{internalType:"uint256",name:"x",type:"uint256"},{internalType:"uint256",name:"y",type:"uint256"}],internalType:"struct Pairing.G1Point",name:"alpha1",type:"tuple"},{components:[{internalType:"uint256[2]",name:"x",type:"uint256[2]"},{internalType:"uint256[2]",name:"y",type:"uint256[2]"}],internalType:"struct Pairing.G2Point",name:"beta2",type:"tuple"},{components:[{internalType:"uint256[2]",name:"x",type:"uint256[2]"},{internalType:"uint256[2]",name:"y",type:"uint256[2]"}],internalType:"struct Pairing.G2Point",name:"gamma2",type:"tuple"},{components:[{internalType:"uint256[2]",name:"x",type:"uint256[2]"},{internalType:"uint256[2]",name:"y",type:"uint256[2]"}],internalType:"struct Pairing.G2Point",name:"delta2",type:"tuple"},{components:[{internalType:"uint256",name:"x",type:"uint256"},{internalType:"uint256",name:"y",type:"uint256"}],internalType:"struct Pairing.G1Point[]",name:"ic",type:"tuple[]"}],internalType:"struct SnarkCommon.VerifyingKey[]",name:"processVerifyingKeys",type:"tuple[]"},{components:[{components:[{internalType:"uint256",name:"x",type:"uint256"},{internalType:"uint256",name:"y",type:"uint256"}],internalType:"struct Pairing.G1Point",name:"alpha1",type:"tuple"},{components:[{internalType:"uint256[2]",name:"x",type:"uint256[2]"},{internalType:"uint256[2]",name:"y",type:"uint256[2]"}],internalType:"struct Pairing.G2Point",name:"beta2",type:"tuple"},{components:[{internalType:"uint256[2]",name:"x",type:"uint256[2]"},{internalType:"uint256[2]",name:"y",type:"uint256[2]"}],internalType:"struct Pairing.G2Point",name:"gamma2",type:"tuple"},{components:[{internalType:"uint256[2]",name:"x",type:"uint256[2]"},{internalType:"uint256[2]",name:"y",type:"uint256[2]"}],internalType:"struct Pairing.G2Point",name:"delta2",type:"tuple"},{components:[{internalType:"uint256",name:"x",type:"uint256"},{internalType:"uint256",name:"y",type:"uint256"}],internalType:"struct Pairing.G1Point[]",name:"ic",type:"tuple[]"}],internalType:"struct SnarkCommon.VerifyingKey[]",name:"tallyVerifyingKeys",type:"tuple[]"}],internalType:"struct IVerifyingKeysRegistry.SetVerifyingKeysBatchArgs",name:"_args",type:"tuple"}],name:"setVerifyingKeysBatch",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"}],i="0x6080604052604051611f33380380611f3383398101604081905260209160ab565b806001600160a01b038116604e57604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b605581605b565b505060d9565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006020828403121560bc57600080fd5b81516001600160a01b038116811460d257600080fd5b9392505050565b611e4b806100e86000396000f3fe608060405234801561001057600080fd5b50600436106101c45760003560e01c8063683f3dc3116100f9578063d8042cf711610097578063f2fde38b11610071578063f2fde38b146103e9578063f3350299146103fc578063fc73e3d01461040f578063fe43fd581461042257600080fd5b8063d8042cf7146103b0578063e92f7132146103c3578063f1d5c7b7146103d657600080fd5b80638da5cb5b116100d35780638da5cb5b1461034c578063a69d292a14610367578063b746b4311461038a578063b7e3d4f71461039d57600080fd5b8063683f3dc314610317578063715018a61461033157806377ce724d1461033957600080fd5b80633e7112fe1161016657806348b121261161014057806348b12126146102cb5780635465b477146102de5780635bf2d33e146102f15780636069bc021461030457600080fd5b80633e7112fe14610292578063435fe1c9146102a557806345dcd51c146102b857600080fd5b806333b1ef83116101a257806333b1ef831461022857806339a4fbfd1461023b5780633ba1b0011461025b5780633c9f3c351461027e57600080fd5b806302ed71f3146101c9578063258f7e5f146101f157806327a2f46714610206575b600080fd5b6101dc6101d7366004611816565b610435565b60405190151581526020015b60405180910390f35b6102046101ff36600461185b565b610487565b005b61021a6102143660046118c6565b60401b90565b6040519081526020016101e8565b61021a6102363660046118df565b6106be565b61024e610249366004611816565b6106e5565b6040516101e89190611951565b6101dc6102693660046118c6565b60009081526006602052604090205460ff1690565b61021a61028c3660046118c6565b60801b90565b61024e6102a0366004611816565b61099b565b61024e6102b3366004611a15565b610a1e565b6102046102c6366004611a5b565b610a49565b6101dc6102d9366004611a97565b610bbe565b61024e6102ec3660046118c6565b610c20565b61021a6102ff366004611acb565b610e6c565b6101dc610312366004611816565b610e7d565b61031f600a81565b60405160ff90911681526020016101e8565b610204610e95565b610204610347366004611b00565b610ea9565b6000546040516001600160a01b0390911681526020016101e8565b6101dc6103753660046118c6565b60009081526008602052604090205460ff1690565b610204610398366004611b3d565b6110ce565b61024e6103ab3660046118c6565b611252565b6102046103be366004611b84565b611278565b6102046103d1366004611b3d565b6112a3565b6101dc6103e4366004611a15565b611418565b6102046103f7366004611c2b565b61143e565b61024e61040a366004611a97565b611481565b61024e61041d3660046118c6565b6114a2565b61024e6104303660046118c6565b6116d256
75b60006004600083600281111561044d5761044d611c54565b600281111561045e5761045e611c54565b815260208082019290925260409081016000908120958152949091529092205460ff1692915050565b61048f6116f1565b600061049c8686866106be565b9050600460008460028111156104b4576104b4611c54565b60028111156104c5576104c5611c54565b81526020808201929092526040908101600090812084825290925290205460ff161561050457604051630799cd4560e51b815260040160405180910390fd5b60006003600085600281111561051c5761051c611c54565b600281111561052d5761052d611c54565b81526020808201929092526040908101600090812085825283522084358155908401356001820155905060408301600282016105698282611c6a565b505060c083016006820161057d8282611c6a565b50506101408301600a82016105928282611c6a565b50600090506105a56101c0850185611cb4565b9050905060005b8181101561061b57600e83016105c66101c0870187611cb4565b838181106105d6576105d6611d05565b835460018101855560009485526020909420604090910292909201926002029091019050610611828281358155602090910135600190910155565b50506001016105ac565b5060016004600087600281111561063457610634611c54565b600281111561064557610645611c54565b8152602001908152602001600020600085815260200190815260200160002060006101000a81548160ff0219169083151502179055507f04bf57f28e3b574246246a480331f14e11be0417629317a49fa2fdebff7d5df983866040516106ac929190611d1b565b60405180910390a15050505050505050565b6000816106d3604085901b608087901b611d4d565b6106dd9190611d4d565b949350505050565b6106ed61176e565b6004600083600281111561070357610703611c54565b600281111561071457610714611c54565b81526020808201929092526040908101600090812086825290925290205460ff1661075257604051637c48038560e01b815260040160405180910390fd5b6003600083600281111561076857610768611c54565b600281111561077957610779611c54565b8152602080820192909252604090810160009081208682528352819020815160e081018352815460a08201908152600183015460c0830152815282516080810180855291949293928501929091600280860192849290830191849182845b8154815260200190600101908083116107d757505050918352505060408051808201918290526020909201919060028481019182845b81548152602001906001019080831161080d575050509190925250505081526040805160808101808352602090930192909160068501918391820190839060029082845b81548152602001906001019080831161085157505050918352505060408051808201918290526020909201919060028481019182845b8154815260200190600101908083116108875750505091909252505050815260408051608081018083526020909301929091600a8501918391820190839060029082845b8154815260200190600101908083116108cb57505050918352505060408051808201918290526020909201919060028481019182845b815481526020019060010190808311610901575050505050815250508152602001600e8201805480602002602001604051908101604052809291908181526020016000905b8282101561098c57838290600052602060002090600202016040518060400160405290816000820154815260200160018201548152505081526020019060010190610946565b50505091525090949350505050565b6109a361176e565b600260008360028111156109b9576109b9611c54565b60028111156109ca576109ca611c54565b81526020808201929092526040908101600090812086825290925290205460ff16610a0857604051637c48038560e01b815260040160405180910390fd5b6001600083600281111561076857610768611c54565b610a2661176e565b6000610a33868686610e6c565b9050610a3f818461099b565b9695505050505050565b610a516116f1565b610a5f610100820182611d74565b9050610a6e60a0830183611d74565b9050141580610a9a5750610a86610120820182611d74565b9050610a9560a0830183611d74565b905014155b15610ab8576040516335c0365760e11b815260040160405180910390fd5b6000610ac760a0830183611d74565b9150610ae0905060208301356103d160c0850185611dbe565b610af5602083013561039860e0850185611dbe565b60005b81811015610bb957610bb1833560408501356060860135610b1f60a0880160808901611ddf565b610b2c60a0890189611d74565b87818110610b3c57610b3c611d05565b9050602002016020810190610b519190611dfa565b610b5f6101008a018a611d74565b88818110610b6f57610b6f611d05565b9050602002810190610b819190611dbe565b610b8f6101208b018b611d74565b89818110610b9f57610b9f611d05565b90506020028101906103be9190611dbe565b600101610af8565b505050565b600080610bcc8686866106be565b905060046000846002811115610be457610be4611c54565b6002811115610bf557610bf5611c54565b8152602080820192909252604090810160009081209381529290915290205460ff1695945050505050565b610c2861176e565b60008281526008602052604090205460ff16610c5757604051637c48038560e01b815260040160405180910390fd5b600082815260076020908152604091829020825160e081018452815460a08201908152600183015460c08301528152835160808101808652919492938501929091600280860192849290830191849182845b81548152
76020019060010190808311610ca957505050918352505060408051808201918290526020909201919060028481019182845b815481526020019060010190808311610cdf575050509190925250505081526040805160808101808352602090930192909160068501918391820190839060029082845b815481526020019060010190808311610d2357505050918352505060408051808201918290526020909201919060028481019182845b815481526020019060010190808311610d595750505091909252505050815260408051608081018083526020909301929091600a8501918391820190839060029082845b815481526020019060010190808311610d9d57505050918352505060408051808201918290526020909201919060028481019182845b815481526020019060010190808311610dd3575050505050815250508152602001600e8201805480602002602001604051908101604052809291908181526020016000905b82821015610e5e57838290600052602060002090600202016040518060400160405290816000820154815260200160018201548152505081526020019060010190610e18565b505050915250909392505050565b6000826106d3604086901b83611d4d565b60006002600083600281111561044d5761044d611c54565b610e9d6116f1565b610ea7600061171e565b565b610eb16116f1565b6000610ebe868686610e6c565b905060026000846002811115610ed657610ed6611c54565b6002811115610ee757610ee7611c54565b81526020808201929092526040908101600090812084825290925290205460ff1615610f2657604051630799cd4560e51b815260040160405180910390fd5b600060016000856002811115610f3e57610f3e611c54565b6002811115610f4f57610f4f611c54565b8152602080820192909252604090810160009081208582528352208435815590840135600182015590506040830160028201610f8b8282611c6a565b505060c0830160068201610f9f8282611c6a565b50506101408301600a8201610fb48282611c6a565b5060009050610fc76101c0850185611cb4565b9050905060005b8181101561103d57600e8301610fe86101c0870187611cb4565b83818110610ff857610ff8611d05565b835460018101855560009485526020909420604090910292909201926002029091019050611033828281358155602090910135600190910155565b5050600101610fce565b5060016002600087600281111561105657611056611c54565b600281111561106757611067611c54565b8152602001908152602001600020600085815260200190815260200160002060006101000a81548160ff0219169083151502179055507f2b93019f1f441e1d35223dd3f3462c7e03c68b95f548ea412b04989c98f4622a83866040516106ac929190611d1b565b6110d66116f1565b60006110e28360801b90565b60008181526008602052604090205490915060ff161561111557604051630799cd4560e51b815260040160405180910390fd5b60008181526007602090815260409091208335815590830135600182015560408301600282016111458282611c6a565b505060c08301600682016111598282611c6a565b50506101408301600a820161116e8282611c6a565b50600090506111816101c0850185611cb4565b9050905060005b818110156111f757600e83016111a26101c0870187611cb4565b838181106111b2576111b2611d05565b8354600181018555600094855260209094206040909102929092019260020290910190506111ed828281358155602090910135600190910155565b5050600101611188565b5060008381526008602052604090819020805460ff19166001179055517fb2a78535720c3ae385117c6c5bf22cb7eaabb72bf27f9a9bafa129f1209da317906112439085815260200190565b60405180910390a15050505050565b61125a61176e565b60006112668360801b90565b905061127181610c20565b9392505050565b6112806116f1565b61128d8786868686610ea9565b61129a8787878685610487565b50505050505050565b6112ab6116f1565b60006112b78360401b90565b60008181526006602052604090205490915060ff16156112ea57604051630799cd4560e51b815260040160405180910390fd5b600081815260056020908152604090912083358155908301356001820155604083016002820161131a8282611c6a565b505060c083016006820161132e8282611c6a565b50506101408301600a82016113438282611c6a565b50600090506113566101c0850185611cb4565b9050905060005b818110156113cc57600e83016113776101c0870187611cb4565b8381811061138757611387611d05565b8354600181018555600094855260209094206040909102929092019260020290910190506113c2828281358155602090910135600190910155565b505060010161135d565b5060008381526006602052604090819020805460ff19166001179055517f5a8674e4e64f43a95153cefa8317b6f1d677fd44d23928e1abca41c6e1b5131e906112439085815260200190565b600080611426868686610e6c565b905060026000846002811115610be457610be4611c54565b6114466116f1565b6001600160a01b03811661147557604051631e4fbdf760e01b8152600060048201526024015b60405180910390fd5b61147e8161171e565b50565b61148961176e565b60006114968686866106be565b9050610a3f81846106e5565b6114aa61176e565b60008281526006602052604090205460ff166114d957604051637c48038560e01b815260040160405180910390fd5b600082815260056020908152604091829020825160e081018452815460a08201908152600183015460c0830152815283516080810180865260028085018054978401978852939694958701949293928492909184916003890160608601808311610ca957505050918352505060408051808201918290526002848101805483526020948501949293909260038701908501808311610cdf5750505091909252505050815260408051608081018083526006850180549383019384526020909401939192839183906002906007890160608601808311610d2357505050918352505060408051808201918290526002848101805483526020948501949293909260038701908501808311610d59575050509190925250505081526040805160808101808352600a85018054938301938452602090940193919283918390600290600b890160608601808311610d9d57505050918352505060408051808201918290526002848101805483526020948501949293909260038701908501808311610dd3575050505050815250508152602001600e82018054806020026020016040519081016040528092919081815260200160009082821015610e5e57838290600052602060002090600202016040518060400160405290816000820154815260200160018201548152505081526020019060010190610e18565b6116da61176e565b60006116e68360401b90565b9050611271816114a2565b6000546001600160a01b03163314610ea75760405163118cdaa760e01b815233600482015260240161146c565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6040805160e08101909152600060a0820181815260c08301919091528152602081016117986117bf565b81526020016117a56117bf565b81526020016117b26117bf565b8152602001606081525090565b60405180604001604052806117d26117e4565b81526020016117df6117e4565b905290565b60405180604001604052806002906020820280368337509192915050565b80356003811061181157600080fd5b919050565b6000806040838503121561182957600080fd5b8235915061183960208401611802565b90509250929050565b60006101e0828403121561185557600080fd5b50919050565b600080600080600060a0868803121561187357600080fd5b85359450602086013593506040860135925061189160608701611802565b9
7150608086013567ffffffffffffffff8111156118ad57600080fd5b6118b988828901611842565b9150509295509295909350565b6000602082840312156118d857600080fd5b5035919050565b6000806000606084860312156118f457600080fd5b505081359360208301359350604090920135919050565b8060005b600281101561192e57815184526020938401939091019060010161190f565b50505050565b61193f82825161190b565b6020810151610bb9604084018261190b565b602080825282518051838301520151604082015260006102008201602084015161197e6060850182611934565b50604084015161199160e0850182611934565b5060608401516119a5610160850182611934565b5060808401516101e084810152805191829052602001906000906102208501905b808310156119fa576119e382855180518252602090810151910152565b6040820191506020840193506001830192506119c6565b5095945050505050565b803560ff8116811461181157600080fd5b60008060008060808587031215611a2b57600080fd5b8435935060208501359250611a4260408601611a04565b9150611a5060608601611802565b905092959194509250565b600060208284031215611a6d57600080fd5b813567ffffffffffffffff811115611a8457600080fd5b8201610140818503121561127157600080fd5b60008060008060808587031215611aad57600080fd5b843593506020850135925060408501359150611a5060608601611802565b60008060006060848
76031215611ae057600080fd5b8335925060208401359150611af760408501611a04565b90509250925092565b600080600080600060a08688031215611b1857600080fd5b8535945060208601359350611b2f60408701611a04565b925061189160608701611802565b60008060408385031215611b5057600080fd5b82359150602083013567ffffffffffffffff811115611b6e57600080fd5b611b7a85828601611842565b9150509250929050565b600080600080600080600060e0888a031215611b9f57600080fd5b873596506020880135955060408801359450611bbd60608901611a04565b9350611bcb60808901611802565b925060a088013567ffffffffffffffff811115611be757600080fd5b611bf38a828b01611842565b92505060c088013567ffffffffffffffff811115611c1057600080fd5b611c1c8a828b01611842565b91505092959891949750929550565b600060208284031215611c3d57600080fd5b81356001600160a01b038116811461127157600080fd5b634e487b7160e01b600052602160045260246000fd5b8160005b6002811015611c8b57813583820155602090910190600101611c6e565b50506040820160005b600281101561192e57813583820160020155602090910190600101611c94565b6000808335601e19843603018112611ccb57600080fd5b83018035915067ffffffffffffffff821115611ce657600080fd5b6020019150600681901b3603821315611cfe57600080fd5b9250929050565b634e487b7160e01b600052603260045260246000fd5b8281526040810160038310611d4057634e487b7160e01b600052602160045260246000fd5b8260208301529392505050565b80820180821115611d6e57634e487b7160e01b600052601160045260246000fd5b92915050565b6000808335601e19843603018112611d8b57600080fd5b83018035915067ffffffffffffffff821115611da657600080fd5b6020019150600581901b3603821315611cfe57600080fd5b600082356101de19833603018112611dd557600080fd5b9190910192915050565b600060208284031215611df157600080fd5b61127182611a04565b600060208284031215611e0c57600080fd5b6112718261180256fea26469706673582212206152d3ba3095a9630d2721b37cb190fa4032048a70e96eae1799bbc807d8b01064736f6c634300081c0033",f=e=>e.length>1;class b extends a.ContractFactory{constructor(...e){f(e)?super(...e):super(r,i,e[0])}getDeployTransaction(e,t){return super.getDeployTransaction(e,t||{})}deploy(e,t){return super.deploy(e,t||{})}connect(e){return super.connect(e)}static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.VerifyingKeysRegistry__factory=b,b.bytecode=i,b.abi=r},88748:(e,t,n)=>{var a=n(10537),r=n(94999),i=n(74544),f=n(73956),b=n(5516);function s(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var a=e[t];this.set(a[0],a[1])}}s.prototype.clear=a,s.prototype.delete=r,s.prototype.get=i,s.prototype.has=f,s.prototype.set=b,e.exports=s},88797:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.verifyTallyResults=t.verifyPerVoteOptionSpentVoiceCredits=void 0;let a=n(68960);t.verifyPerVoteOptionSpentVoiceCredits=async(e,t,n,r,i)=>{let f=[];for(let b=0;b<t.perVoteOptionSpentVoiceCredits.tally.length;b+=1){let s=(0,a.generateTreeProof)(b,t.perVoteOptionSpentVoiceCredits.tally.map(e=>BigInt(e)),n);await e.verifyPerVoteOptionSpentVoiceCredits(b,t.perVoteOptionSpentVoiceCredits.tally[b],s,t.perVoteOptionSpentVoiceCredits.salt,n,r,i)||f.push(b)}return f},t.verifyTallyResults=async(e,t,n,r,i)=>{let f=[];for(let b=0;b<t.results.tally.length;b+=1){let s=(0,a.generateTreeProof)(b,t.results.tally.map(e=>BigInt(e)),n);await e.verifyTallyResult(b,t.results.tally[b],s,t.results.salt,n,r,i??0n)||f.push(b)}return f}},89316:(e,t,n)=>{var a=n(98233),r=n(15631),i=n(48611),f={};f["[object Float32Array]"]=f["[object Float64Array]"]=f["[object Int8Array]"]=f["[object Int16Array]"]=f["[object Int32Array]"]=f["[object Uint8Array]"]=f["[object Uint8ClampedArray]"]=f["[object Uint16Array]"]=f["[object Uint32Array]"]=!0,f["[object Arguments]"]=f["[object Array]"]=f["[object ArrayBuffer]"]=f["[object Boolean]"]=f["[object DataView]"]=f["[object Date]"]=f["[object Error]"]=f["[object Function]"]=f["[object Map]"]=f["[object Number]"]=f["[object Object]"]=f["[object RegExp]"]=f["[object Set]"]=f["[object String]"]=f["[object WeakMap]"]=!1,e.exports=function(e){return i(e)&&r(e.length)&&!!f[a(e)]}},89949:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ZupassCheckerFactory__factory=void 0;let a=n(27653),r=[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"clone",type:"address"}],name:"CloneDeployed",type:"event"},{inputs:[],name:"IMPLEMENTATION",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"eventId",type:"uint256"},{internalType:"uint256",name:"signer1",type:"uint256"},{internalType:"uint256",name:"signer2",type:"uint256"},{internalType:"address",name:"verifier",type:"address"}],name:"deploy",outputs:[{internalType:"address",name:"clone",type:"address"}],stateMutability:"nonpayable",type:"function"}],i="0x60a0604052348015600f57600080fd5b50604051601a906046565b604051809103906000f0801580156035573d6000803e3d6000fd5b506001600160a01b03166080526053565b61077b8061031c83390190565b6080516102a8610074600039600081816040015261013a01526102a86000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80633a4741bd1461003b5780634cce6e8e1461007e575b600080fd5b6100627f000000000000000000000000000000000000000000000000000000000000000081565b
76040516001600160a01b03909116815260200160405180910390f35b61006261008c366004610225565b6040805160208101869052908101849052606081018390526001600160a01b0382166080820152600090819060a00160405160208183030381529060405290506100d581610133565b9150816001600160a01b0316638129fc1c6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561011257600080fd5b505af1158015610126573d6000803e3d6000fd5b5050505050949350505050565b600061015f7f00000000000000000000000000000000000000000000000000000000000000008361019b565b6040519091506001600160a01b038216907f2158cde9935cbf85d0b02e02fbc315ad0be2f3f017a603a2ebeedead21b8d60b90600090a2919050565b60006101a9600084846101b0565b9392505050565b600060405182518060438301826020870160045afa506e5af43d82803e903d91602b57fd5bf360238301528460148301528060881b74fe61002d3d81600a3d39f3363d3d373d3d3d363d730182526037810161ffd38210600b01830187f092505050806101a95763301164256000526004601cfd5b6000806000806080858703121561023b57600080fd5b84359350602085013592506040850135915060608501356001600160a01b038116811461026757600080fd5b93969295509093505056fea26469706673582212200f90960160ea4ec550c57dfa70fac7576f6eefc6a65a2abf393e71a6d82e913964736f6c634300081c00336080604052348015600f57600080fd5b5061075c8061001f6000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c80638f1d49a51161005b5780638f1d49a5146100fb5780639ed2c04e14610104578063b41a4b191461010d578063e2b240851461012257600080fd5b8063158ef93e1461008d5780632b7ac3f3146100af578063523c359d146100da5780638129fc1c146100f1575b600080fd5b60005461009a9060ff1681565b60405190151581526020015b60405180910390f35b6004546100c2906001600160a01b031681565b6040516001600160a01b0390911681526020016100a6565b6100e360015481565b6040519081526020016100a6565b6100f9610135565b005b6100e360035481565b6100e360025481565b61011561013f565b6040516100a6919061038f565b61009a6101303660046103f5565b61014e565b61013d610163565b565b60606101496101c6565b905090565b600061015b8484846101d1565b949350505050565b61016b61032e565b60006101756101c6565b905060008060008084806020019051810190610191919061047c565b600193909355600291909155600355600480546001600160a01b0319166001600160a01b039092169190911790555050505050565b606061014930610360565b6000808080806101e386880188610554565b93509350935093506001548160016026811061020157610201610639565b60200201511461022457604051630c93477d60e41b815260040160405180910390fd5b6002546101a082015114158061024157506003546101c082015114155b1561025f57604051635e231fff60e01b815260040160405180910390fd5b6104a08101516001600160a01b0389161461028d5760405163055e490360e01b815260040160405180910390fd5b60048054604051630418f25760e51b81526001600160a01b039091169163831e4ae0916102c291889188918891889101610678565b602060405180830381865afa1580156102df573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061030391906106fd565b610320576040516309bde33960e01b815260040160405180910390fd5b506001979650505050505050565b60005460ff16156103515760405162dc149f60e41b815260040160405180910390fd5b6000805460ff19166001179055565b60405164ffffffffff602c19833b0116808252602090810190602d908301843c60408101815101604052919050565b602081526000825180602084015260005b818110156103bd57602081860181015160408684010152016103a0565b506000604082850101526040601f19601f83011684010191505092915050565b6001600160a01b03811681146103f257600080fd5b50565b60008060006040848603121561040a57600080fd5b8335610415816103dd565b9250602084013567ffffffffffffffff81111561043157600080fd5b8401601f8101861361044257600080fd5b803567ffffffffffffffff81111561045957600080fd5b86602082840101111561046b57600080fd5b939660209190910195509293505050565b6000806000806080858703121561049257600080fd5b845160208601516040870151606088015192965090945092506104b4816103dd565b939692955090935050565b604051601f8201601f1916810167ffffffffffffffff811182821017156104f657634e487b7160e01b600052604160045260246000fd5b604052919050565b600082601f83011261050f57600080fd5b600061051b60406104bf565b905080604084018581111561052f57600080fd5b845b81811015610549578035835260209283019201610531565b509195945050505050565b6000806000806105c0858703121561056b57600080fd5b61057586866104fe565b935085605f86011261058657600080fd5b6040610591816104bf565b8060c08801898111156105a357600080fd5b8389015b818110156105c8576105b98b826104fe565b845260209093019284016105a7565b508196506105d68a826104fe565b9550505050506101008501600087601f8301126105f1578081fd5b806104c06105fe816104bf565b91508301818a82111561060f578384fd5b5b81851015610628578435815260209485019401610610565b509699959850939650929450505050565b634e487b7160e01b600052603260045260246000fd5b8060005b6002811015610672578151845260209384019390910190600101610653565b50505050565b6105c08101610687828761064f565b604082018560005b60028110156106b9576106a383835161064f565b604092909201916020919091019060010161068f565b5050506106c960c083018561064f565b61010082018360005b60268110156106f15781518352602092830192909101906001016106d2565b50505095945050505050565b60006020828403121561070f57600080fd5b8151801515811461071f57600080fd5b939250505056fea26469706673582212202191a
7a9b2bbcefddc5fcfb9b0962087ceb8f8d35e5eafe2e15387af9901762fd64736f6c634300081c0033",f=e=>e.length>1;class b extends a.ContractFactory{constructor(...e){f(e)?super(...e):super(r,i,e[0])}getDeployTransaction(e){return super.getDeployTransaction(e||{})}deploy(e){return super.deploy(e||{})}connect(e){return super.connect(e)}static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.ZupassCheckerFactory__factory=b,b.bytecode=i,b.abi=r},90208:function(e,t,n){"use strict";var a,r=this&&this.__createBinding||(Object.create?function(e,t,n,a){void 0===a&&(a=n);var r=Object.getOwnPropertyDescriptor(t,n);(!r||("get"in r?!t.__esModule:r.writable||r.configurable))&&(r={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,a,r)}:function(e,t,n,a){void 0===a&&(a=n),e[a]=t[n]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),f=this&&this.__importStar||(a=function(e){return(a=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t})(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n=a(e),f=0;f<n.length;f++)"default"!==n[f]&&r(t,e,n[f]);return i(t,e),t});Object.defineProperty(t,"__esModule",{value:!0}),t.contracts=void 0,t.contracts=f(n(57824))},90453:(e,t,n)=>{var a=n(31598);e.exports=function(){this.__data__=new a,this.size=0}},90929:(e,t,n)=>{var a=n(54360),r=Array.prototype.splice;e.exports=function(e){var t=this.__data__,n=a(t,e);return!(n<0)&&(n==t.length-1?t.pop():r.call(t,n,1),--this.size,!0)}},91113:(e,t,n)=>{var a=n(88748);function r(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw TypeError("Expected a function");var n=function(){var a=arguments,r=t?t.apply(this,a):a[0],i=n.cache;if(i.has(r))return i.get(r);var f=e.apply(this,a);return n.cache=i.set(r,f)||i,f};return n.cache=new(r.Cache||a),n}r.Cache=a,e.exports=r},91235:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ERC20VotesChecker__factory=void 0;let a=n(27653),r=[{inputs:[],name:"AlreadyInitialized",type:"error"},{inputs:[],name:"BalanceTooLow",type:"error"},{inputs:[{internalType:"address",name:"subject",type:"address"},{internalType:"bytes",name:"evidence",type:"bytes"}],name:"check",outputs:[{internalType:"bool",name:"checked",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"getAppendedBytes",outputs:[{internalType:"bytes",name:"appendedBytes",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"initialized",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"snapshotBlock",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"threshold",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"token",outputs:[{internalType:"contract IVotes",name:"",type:"address"}],stateMutability:"view",type:"function"}],i="0x6080604052348015600f57600080fd5b506104418061001f6000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80638129fc1c1161005b5780638129fc1c146100c4578063b41a4b19146100ce578063e2b24085146100e3578063fc0c546a146100f657600080fd5b8063158ef93e146100825780631f90b2a5146100a457806342cde4e8146100bb575b600080fd5b60005461008f9060ff1681565b60405190151581526020015b60405180910390f35b6100ad60015481565b60405190815260200161009b565b6100ad60025481565b6100cc610126565b005b6100d6610130565b60405161009b91906102ce565b61008f6100f1366004610334565b61013f565b60005461010e9061010090046001600160a01b031681565b6040516001600160a01b03909116815260200161009b565b61012e610154565b565b606061013a6101b4565b905090565b600061014c8484846101bf565b949350505050565b61015c61026d565b60006101666101b4565b905060008060008380602001905181019061018191906103bb565b600080546001600160a01b0390941661010002610100600160a81b03199094169390931790925560015560025550505050565b606061013a3061029f565b6000808054600154604051630748d63560e31b81526001600160a01b03888116600483015260248201929092526101009092041690633a46b1a890604401602060405180830381865afa15801561021
7a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061023e91906103f2565b90506002548111610262576040516351940b3960e11b815260040160405180910390fd5b506001949350505050565b60005460ff16156102905760405162dc149f60e41b815260040160405180910390fd5b6000805460ff19166001179055565b60405164ffffffffff602c19833b0116808252602090810190602d908301843c60408101815101604052919050565b602081526000825180602084015260005b818110156102fc57602081860181015160408684010152016102df565b506000604082850101526040601f19601f83011684010191505092915050565b6001600160a01b038116811461033157600080fd5b50565b60008060006040848603121561034957600080fd5b83356103548161031c565b9250602084013567ffffffffffffffff81111561037057600080fd5b8401601f8101861361038157600080fd5b803567ffffffffffffffff81111561039857600080fd5b8660208284010111156103aa57600080fd5b939660209190910195509293505050565b6000806000606084860312156103d057600080fd5b83516103db8161031c565b602085015160409095015190969495509392505050565b60006020828403121561040457600080fd5b505191905056fea2646970667358221220a28a321e4aca83ad3c36204768725c7bcceb13a4c77a84f91311a3439919ea1364736f6c634300081c0033",f=e=>e.length>1;class b extends a.ContractFactory{constructor(...e){f(e)?super(...e):super(r,i,e[0])}getDeployTransaction(e){return super.getDeployTransaction(e||{})}deploy(e){return super.deploy(e||{})}connect(e){return super.connect(e)}static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.ERC20VotesChecker__factory=b,b.bytecode=i,b.abi=r},91432:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.validateSalt=t.getCoordinatorPublicKey=t.submitVoteBatch=t.submitVote=t.publishBatch=t.publish=t.invalidateVotes=t.generateVote=void 0;var a=n(18495);Object.defineProperty(t,"generateVote",{enumerable:!0,get:function(){return a.generateVote}});var r=n(99889);Object.defineProperty(t,"invalidateVotes",{enumerable:!0,get:function(){return r.invalidateVotes}});var i=n(13467);Object.defineProperty(t,"publish",{enumerable:!0,get:function(){return i.publish}}),Object.defineProperty(t,"publishBatch",{enumerable:!0,get:function(){return i.publishBatch}});var f=n(5876);Object.defineProperty(t,"submitVote",{enumerable:!0,get:function(){return f.submitVote}}),Object.defineProperty(t,"submitVoteBatch",{enumerable:!0,get:function(){return f.submitVoteBatch}});var b=n(15013);Object.defineProperty(t,"getCoordinatorPublicKey",{enumerable:!0,get:function(){return b.getCoordinatorPublicKey}}),Object.defineProperty(t,"validateSalt",{enumerable:!0,get:function(){return b.validateSalt}})},91569:e=>{e.exports=function(e,t){for(var n=-1,a=t.length,r=e.length;++n<a;)e[r+n]=t[n];return e}},91702:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IFactory__factory=void 0;let a=n(27653),r=[{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"clone",type:"address"}],name:"CloneDeployed",type:"event"}];
7class i{static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.IFactory__factory=i,i.abi=r},92368:function(e,t,n){"use strict";var a,r=this&&this.__createBinding||(Object.create?function(e,t,n,a){void 0===a&&(a=n);var r=Object.getOwnPropertyDescriptor(t,n);(!r||("get"in r?!t.__esModule:r.writable||r.configurable))&&(r={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,a,r)}:function(e,t,n,a){void 0===a&&(a=n),e[a]=t[n]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),f=this&&this.__importStar||(a=function(e){return(a=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t})(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n=a(e),f=0;f<n.length;f++)"default"!==n[f]&&r(t,e,n[f]);return i(t,e),t});Object.defineProperty(t,"__esModule",{value:!0}),t.mocks=void 0,t.mocks=f(n(45500))},92379:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MockEAS__factory=void 0;let a=n(27653),r=[{inputs:[{internalType:"address",name:"_attester",type:"address"},{internalType:"bytes32",name:"_schema",type:"bytes32"},{internalType:"address",name:"_recipient",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"attester",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"attestationId",type:"bytes32"}],name:"getAttestation",outputs:[{components:[{internalType:"bytes32",name:"uid",type:"bytes32"},{internalType:"bytes32",name:"schema",type:"bytes32"},{internalType:"uint64",name:"time",type:"uint64"},{internalType:"uint64",name:"expirationTime",type:"uint64"},{internalType:"uint64",name:"revocationTime",type:"uint64"},{internalType:"bytes32",name:"refUID",type:"bytes32"},{internalType:"address",name:"recipient",type:"address"},{internalType:"address",name:"attester",type:"address"},{internalType:"bool",name:"revocable",type:"bool"},{internalType:"bytes",name:"data",type:"bytes"}],internalType:"struct IEAS.Attestation",name:"",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[],name:"recipient",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"schema",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"}],i="0x60e060405234801561001057600080fd5b5060405161091238038061091283398101604081905261002f91610068565b6001600160a01b0392831660805260a0919091521660c0526100a4565b80516001600160a01b038116811461006357600080fd5b919050565b60008060006060848
7603121561007d57600080fd5b6100868461004c565b92506020840151915061009b6040850161004c565b90509250925092565b60805160a05160c0516107ee61012460003960008181609a015281816101f9015281816102fb0152818161050401526105f001526000818160e10152818161018f015281816103a50152818161049a01526105860152600081816056015281816102280152818161032a0152818161041f015261061f01526107ee6000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c806347b0c3b31461005157806366d003ac14610095578063a3112a64146100bc578063f8895cc8146100dc575b600080fd5b6100787f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b6100787f000000000000000000000000000000000000000000000000000000000000000081565b6100cf6100ca36600461066f565b610111565b60405161008c91906106ce565b6101037f000000000000000000000000000000000000000000000000000000000000000081565b60405190815260200161008c565b604080516101408101825260008082526020820181905291810182905260608082018390526080820183905260a0820183905260c0820183905260e0820183905261010082019290925261012081019190915260018290036102785760405180610140016040528060008051602061079983398151915281526020017f0000000000000000000000000000000000000000000000000000000000000000815260200160006001600160401b0316815260200160006001600160401b0316815260200160016001600160401b0316815260200160008051602061079983398151915281526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602001600115158152602001604051806020016040528060008152508152509050919050565b600282900361037a576040518061014001604052806000805160206107998339815191528152602001600080516020610799833981519152815260200160006001600160401b0316815260200160006001600160401b0316815260200160006001600160401b0316815260200160008051602061079983398151915281526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602001600015158152602001604051806020016040528060008152508152509050919050565b600382900361046f5760405180610140016040528060008051602061079983398151915281526020017f0000000000000000000000000000000000000000000000000000000000000000815260200160006001600160401b0316815260200160006001600160401b0316815260200160006001600160401b03168152602001600080516020610799833981519152815260200160006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602001600015158152602001604051806020016040528060008152508152509050919050565b60048290036105645760405180610140016040528060008051602061079983398151915281526020017f0000000000000000000000000000000000000000000000000000000000000000815260200160006001600160401b0316815260200160006001600160401b0316815260200160006001600160401b0316815260200160008051602061079983398151915281526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316815260200160006001600160a01b03168152602001600015158152602001604051806020016040528060008152508152509050919050565b60405180610140016040528060008051602061079983398151915281526020017f0000000000000000000000000000000000000000000000000000000000000000815260200160006001600160401b0316815260200160006001600160401b0316815260200160006001600160401b0316815260200160008051602061079983398151915281526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602001600015158152602001604051806020016040528060008152508152509050919050565b60006020828403121561068157600080fd5b5035919050565b6000815180845260005b818110156106ae57602081850181015186830182015201610692565b506000602082860101526020601f19601f83011685010191505092915050565b602081528151602082015260208201516040820152600060408301516106ff60608401826001600160401b03169052565b5060608301516001600160401b03811660808401525060808301516001600160401b03811660a08401525060a083015160c083015260c083015161074e60e08401826001600160a01b03169052565b5060e08301516001600160a01b038116610100840152506101008301518015156101208401525061012083015161014080840152610790610160840182610688565b94935050505056fe3078303030303030303030303030303030303030303030303030303030303031a26469706673582212205c0c89bf62e0aab2902bd1295e0a92bb9ea7d2ef584e33f2fbc7d43f88b112ba64736f6c634300081c0033",f=e=>e.length>1;class b extends a.ContractFactory{constructor(...e){f(e)?super(...e):super(r,i,e[0])}getDeployTransaction(e,t,n,a){return super.getDeployTransaction(e,t,n,a||{})}deploy(e,t,n,a){return super.deploy(e,t,n,a||{})}connect(e){return super.connect(e)}static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.MockEAS__factory=b,b.bytecode=i,b.abi=r},92473:(e,t)=>{"use strict";var n;
7Object.defineProperty(t,"__esModule",{value:!0}),t.EMode=t.MESSAGE_BATCH_SIZE=t.VOTE_OPTION_TREE_ARITY=t.STATE_TREE_SUBDEPTH=t.STATE_TREE_ARITY=t.POLL_STATE_TREE_DEPTH=t.STATE_TREE_DEPTH=void 0,t.STATE_TREE_DEPTH=10,t.POLL_STATE_TREE_DEPTH=10,t.STATE_TREE_ARITY=2,t.STATE_TREE_SUBDEPTH=2,t.VOTE_OPTION_TREE_ARITY=5,t.MESSAGE_BATCH_SIZE=20,function(e){e[e.QV=0]="QV",e[e.NON_QV=1]="NON_QV",e[e.FULL=2]="FULL"}(n||(t.EMode=n={}))},92795:function(e,t,n){"use strict";var a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.Poll=void 0;let r=n(68960),i=n(68681),f=n(59282),b=a(n(70954)),s=a(n(76733)),o=n(92473),c=n(1175);class d{constructor(e,t,n,a,u,l,p){if(this.ballots=[],this.voteCounts=[],this.messages=[],this.commands=[],this.encryptionPublicKeys=[],this.stateCopied=!1,this.publicKeys=[i.padKey],this.totalBatchesProcessed=0,this.sbSalts={},this.resultRootSalts={},this.perVoteOptionSpentVoiceCreditsRootSalts={},this.spentVoiceCreditSubtotalSalts={},this.tallyResult=[],this.perVoteOptionSpentVoiceCredits=[],this.numBatchesTallied=0,this.totalSpentVoiceCredits=0n,this.chainHash=r.NOTHING_UP_MY_SLEEVE,this.batchHashes=[r.NOTHING_UP_MY_SLEEVE],this.pollStateLeaves=[i.blankStateLeaf],this.totalSignups=0n,this.hasJoined=e=>
7null!=this.pollNullifiers.get(e),this.joinPoll=(e,t,n)=>{let a=new i.StateLeaf(t,n);if(this.hasJoined(e))throw Error("UserAlreadyJoined");return this.pollNullifiers.set(e,!0),this.pollStateLeaves.push(a.copy()),this.pollStateTree?.insert(a.hash()),this.pollStateLeaves.length-1},this.updatePoll=e=>{for(this.setTotalSignups(e),this.publicKeys=this.maciStateRef.publicKeys.slice(0,Number(this.totalSignups)).map(e=>e.copy()),this.actualStateTreeDepth=Math.max(1,Math.ceil(Math.log2(Number(this.totalSignups)))),this.stateTree=new f.LeanIMT(r.hashLeanIMT),this.publicKeys.forEach(e=>{this.stateTree?.insert(e.hash())}),this.pollStateTree=new r.IncrementalQuinTree(this.actualStateTreeDepth,i.blankStateLeafHash,o.STATE_TREE_ARITY,r.hash2),this.pollStateLeaves.forEach(e=>{this.pollStateTree?.insert(e.hash())}),this.ballotTree=new r.IncrementalQuinTree(Number(this.treeDepths.stateTreeDepth),this.emptyBallotHash,o.STATE_TREE_ARITY,r.hash2),this.ballotTree.insert(this.emptyBallotHash);this.ballots.length<this.publicKeys.length;)this.ballotTree.insert(this.emptyBallotHash),this.ballots.push(this.emptyBallot);this.voteCountsTree=new r.IncrementalQuinTree(Number(this.treeDepths.stateTreeDepth),this.emptyVoteCountsHash,o.STATE_TREE_ARITY,r.hash2),this.voteCountsTree.insert(this.emptyVoteCountsHash);let t=i.VoteCounts.generateBlank(this.maxVoteOptions,this.treeDepths.voteOptionTreeDepth);for(;this.voteCounts.length<this.publicKeys.length;)this.voteCountsTree.insert(this.emptyVoteCountsHash),this.voteCounts.push(t);this.stateCopied=!0},this.processMessage=(e,t)=>{try{let n=i.Keypair.generateEcdhSharedKey(this.coordinatorKeypair.privateKey,t),{command:a,signature:f}=i.VoteCommand.decrypt(e,n),b=a.stateIndex;if(b>=BigInt(this.ballots.length)||b<1n||b>=BigInt(this.pollStateTree?.nextIndex||-1))throw new c.ProcessMessageError(c.ProcessMessageErrors.InvalidStateLeafIndex);let s=this.pollStateLeaves[Number(b)],d=this.ballots[Number(b)];if(!a.verifySignature(f,s.publicKey))throw new c.ProcessMessageError(c.ProcessMessageErrors.InvalidSignature);if(a.nonce!==d.nonce+1n)throw new c.ProcessMessageError(c.ProcessMessageErrors.InvalidNonce);if(a.voteOptionIndex<0n||a.voteOptionIndex>=BigInt(this.voteOptions))throw new c.ProcessMessageError(c.ProcessMessageErrors.InvalidVoteOptionIndex);let u=Number(a.voteOptionIndex),l=d.votes[u],p=this.getVoiceCreditsLeft({stateLeaf:s,originalVoteWeight:l,newVoteWeight:a.newVoteWeight,mode:this.mode});if(p<0n)throw new c.ProcessMessageError(c.ProcessMessageErrors.InsufficientVoiceCredits);if(this.mode===o.EMode.FULL&&p>0n)throw new c.ProcessMessageError(c.ProcessMessageErrors.InvalidVoiceCredits);let y=s.copy();y.voiceCreditBalance=p,y.publicKey=a.newPublicKey.copy();let m=d.copy();m.nonce+=1n,m.votes[u]=a.newVoteWeight,this.mode===o.EMode.FULL&&(m.votes=m.votes.map((e,t)=>u===t?e:0n));let{pathElements:h}=this.pollStateTree.generateProof(Number(b)),{pathElements:g}=this.ballotTree.generateProof(Number(b)),T=new r.IncrementalQuinTree(this.treeDepths.voteOptionTreeDepth,0n,o.VOTE_OPTION_TREE_ARITY,r.hash5);for(let e=0;e<this.ballots[0].votes.length;e+=1)T.insert(d.votes[e]);let{pathElements:_}=T.generateProof(u);return{stateLeafIndex:Number(b),newStateLeaf:y,originalStateLeaf:s.copy(),originalStateLeafPathElements:h,originalVoteWeight:l,originalVoteWeightsPathElements:_,newBallot:m,originalBallot:d.copy(),originalBallotPathElements:g,command:a}}catch(e){if(e instanceof c.ProcessMessageError)throw e;throw new c.ProcessMessageError(c.ProcessMessageErrors.FailedDecryption)}},this.publishMessage=(e,t)=>{(0,s.default)(t.raw[0]<r.SNARK_FIELD_SIZE&&t.raw[1]<r.SNARK_FIELD_SIZE,"The public key is not in the correct range"),e.data.forEach(e=>{(0,s.default)(e<r.SNARK_FIELD_SIZE,"The message data is not in the correct range")}),this.encryptionPublicKeys.push(t),this.messages.push(e);let n=e.hash(t);this.updateChainHash(n);let a=i.Keypair.generateEcdhSharedKey(this.coordinatorKeypair.privateKey,t);try{let{command:t}=i.VoteCommand.decrypt(e,a);this.commands.push(t)}catch(n){let e=new i.Keypair,t=new i.VoteCommand(0n,e.publicKey,0n,0n,0n,0n,0n);this.commands.push(t)}},this.updateChainHash=e=>{this.chainHash=(0,r.hash2)([this.chainHash,e]),this.messages.length%this.batchSizes.messageBatchSize==0&&(this.batchHashes.push(this.chainHash),this.currentMessageBatchIndex+=1)},this.joiningCircuitInputs=({maciPrivateKey:e,stateLeafIndex:t,pollPublicKey:n})=>{let{siblings:a,index:i}=this.stateTree.generateProof(Number(t)),f=a.length;for(let e=0;e<this.treeDepths.stateTreeDepth;e+=1)e>=f&&(a[e]=BigInt(0));let b=a.map(e=>[e]),s=BigInt(e.asCircuitInputs()),o=(0,r.poseidon)([s,this.pollId]),c=this.stateTree.root,d=BigInt(f),u={privateKey:e.asCircuitInputs(),pollPublicKey:n.asCircuitInputs(),siblings:b,index:BigInt(i),nullifier:o,stateRoot:c,actualStateTreeDepth:d,pollId:this.pollId};return(0,r.stringifyBigInts)(u)},this.joinedCircuitInputs=({maciPrivateKey:e,stateLeafIndex:t,voiceCreditsBalance:n})=>{let{root:a,pathElements:i,pathIndices:f}=this.pollStateTree.generateProof(Number(t)),b=f.length;for(let e=0;e<this.treeDepths.stateTreeDepth;e+=1)e>=b&&(i[e]=[0n]);let s={privateKey:e.asCircuitInputs(),pathElements:i.map(e=>e.toString()),voiceCreditsBalance:n.toString(),index:BigInt(t),actualStateTreeDepth:BigInt(this.actualStateTreeDepth),stateRoot:a};return(0,r.stringifyBigInts)(s)},this.padLastBatch=()=>{this.messages.length%this.batchSizes.messageBatchSize!=0&&this.batchHashes.push(this.chainHash)},this.hasUnprocessedMessages=()=>{let e=this.batchSizes.messageBatchSize,t=this.messages.length<=e?1:Math.floor(this.messages.length/e);return this.messages.length>e&&this.messages.length%e>0&&(t+=1),this.totalBatchesProcessed<t},this.processMessages=(e,t=!0)=>{(0,s.default)(this.hasUnprocessedMessages(),"No more messages to process");let n=this.batchSizes.messageBatchSize;if(0===this.totalBatchesProcessed&&(this.maciStateRef.pollBeingProcessed=!0,this.maciStateRef.currentPollBeingProcessed=e,this.padLastBatch(),this.currentMessageBatchIndex=this.batchHashes.length-1,this.sbSalts[this.currentMessageBatchIndex]=0n),this.maciStateRef.pollBeingProcessed&&(0,s.default)(this.maciStateRef.currentPollBeingProcessed===e,"Another poll is currently being processed"),(0,s.default)(this.currentMessageBatchIndex>=0,"The starting index must be >= 0"),!this.stateCopied)throw Error("You must update the poll with the correct data first");let a=(0,r.stringifyBigInts)(this.generateProcessMessagesCircuitInputsPartial(this.currentMessageBatchIndex)),f=[],b=[],d=[],u=[],l=[],p=[];for(let e=0;e<n;e+=1){let a,y,m=this.currentMessageBatchIndex*n-e-1;if((0,s.default)(m>=0,"The message index must be >= 0"),m<this.messages.length){a=this.messages[m],y=this.encryptionPublicKeys[m];try{let{stateLeafIndex:e,originalStateLeaf:t,originalBallot:n,originalVoteWeight:r,originalVoteWeightsPathElements:i,originalStateLeafPathElements:s,originalBallotPathElements:o,newStateLeaf:c,newBallot:m}=this.processMessage(a,y);f.unshift(t),d.unshift(n),l.unshift(r),p.unshift(i),b.unshift(s),u.unshift(o),this.pollStateLeaves[e]=c.copy(),this.pollStateTree?.update(e,c.hash()),this.ballots[e]=m,this.ballotTree?.update(e,m.hash())}catch(e){if(e instanceof c.ProcessMessageError){t||0===m||console.log(`Error at message index ${m} - ${e.message}`);let n=i.Keypair.generateEcdhSharedKey(this.coordinatorKeypair.privateKey,y),{
7command:s}=i.VoteCommand.decrypt(a,n,!0),c=s.stateIndex;if(c<this.pollStateLeaves.length){f.unshift(this.pollStateLeaves[Number(c)].copy()),b.unshift(this.pollStateTree.generateProof(Number(c)).pathElements);let e=this.ballots[Number(c)].copy();if(d.unshift(e),u.unshift(this.ballotTree.generateProof(Number(c)).pathElements),s.voteOptionIndex<this.voteOptions){l.unshift(e.votes[Number(s.voteOptionIndex)]);let t=new r.IncrementalQuinTree(this.treeDepths.voteOptionTreeDepth,0n,o.VOTE_OPTION_TREE_ARITY,r.hash5);for(let n=0;n<this.ballots[0].votes.length;n+=1)t.insert(e.votes[n]);p.unshift(t.generateProof(Number(s.voteOptionIndex)).pathElements)}else{l.unshift(e.votes[0]);let t=new r.IncrementalQuinTree(this.treeDepths.voteOptionTreeDepth,0n,o.VOTE_OPTION_TREE_ARITY,r.hash5);for(let n=0;n<this.ballots[0].votes.length;n+=1)t.insert(e.votes[n]);p.unshift(t.generateProof(0).pathElements)}}else{f.unshift(this.pollStateLeaves[0].copy()),b.unshift(this.pollStateTree.generateProof(0).pathElements),d.unshift(this.ballots[0].copy()),u.unshift(this.ballotTree.generateProof(0).pathElements),l.unshift(this.ballots[0].votes[0]);let e=new r.IncrementalQuinTree(this.treeDepths.voteOptionTreeDepth,0n,o.VOTE_OPTION_TREE_ARITY,r.hash5);e.insert(this.ballots[0].votes[0]),p.unshift(e.generateProof(0).pathElements)}}else throw e}}else{f.unshift(this.pollStateLeaves[0].copy()),b.unshift(this.pollStateTree.generateProof(0).pathElements),d.unshift(this.ballots[0].copy()),u.unshift(this.ballotTree.generateProof(0).pathElements),l.unshift(this.ballots[0].votes[0]);let e=new r.IncrementalQuinTree(this.treeDepths.voteOptionTreeDepth,0n,o.VOTE_OPTION_TREE_ARITY,r.hash5);e.insert(this.ballots[0].votes[0]),p.unshift(e.generateProof(0).pathElements)}}a.currentStateLeaves=f.map(e=>e.asCircuitInputs());for(let e=0;e<b.length;e+=1)for(;b[e].length<this.treeDepths.stateTreeDepth;)b[e].push([0n]);a.currentStateLeavesPathElements=b,a.currentBallots=d.map(e=>e.asCircuitInputs()),a.currentBallotsPathElements=u,a.currentVoteWeights=l,a.currentVoteWeightsPathElements=p,this.totalBatchesProcessed+=1,this.currentMessageBatchIndex>0&&(this.currentMessageBatchIndex-=1);let y=(0,r.generateRandomSalt)();for(;this.sbSalts[this.currentMessageBatchIndex]===y;)y=(0,r.generateRandomSalt)();this.sbSalts[this.currentMessageBatchIndex]=y,a.newSbSalt=y;let m=this.pollStateTree.root,h=this.ballotTree.root;a.newSbCommitment=(0,r.hash3)([m,h,y]);let g=this.coordinatorKeypair.publicKey.hash();return this.totalBatchesProcessed*n>=this.messages.length&&(this.maciStateRef.pollBeingProcessed=!1),a.actualStateTreeDepth=this.actualStateTreeDepth.toString(),(0,r.stringifyBigInts)({...a,coordinatorPublicKeyHash:g})},this.generateProcessMessagesCircuitInputsPartial=e=>{let{messageBatchSize:t}=this.batchSizes;(0,s.default)(e<=this.messages.length,"The index must be <= the number of messages");let n=new i.Keypair,a=i.Keypair.generateEcdhSharedKey(n.privateKey,this.coordinatorKeypair.publicKey),f=new i.VoteCommand(0n,n.publicKey,0n,0n,0n,0n,0n),b=f.encrypt(f.sign(n.privateKey),a),o=this.messages.map(e=>e.asCircuitInputs());for(;o.length%t>0;)o.push(b.asCircuitInputs());let c=this.encryptionPublicKeys.map(e=>e.copy());for(;c.length%t>0;)c.push(n.publicKey.copy());let d=e*t;d>this.messages.length&&(d=this.messages.length);let u=e>0?(e-1)*t:0;o=o.slice(u,e*t),c=c.slice(u,e*t);let l=this.pollStateTree.root,p=this.ballotTree.root,y=(0,r.hash3)([l,p,this.sbSalts[e]]),m=this.batchHashes[e-1],h=this.batchHashes[e];return(0,r.stringifyBigInts)({totalSignups:BigInt(this.totalSignups),batchEndIndex:BigInt(d),index:BigInt(u),inputBatchHash:m,outputBatchHash:h,messages:o,actualStateTreeDepth:BigInt(this.actualStateTreeDepth),coordinatorPrivateKey:this.coordinatorKeypair.privateKey.asCircuitInputs(),encryptionPublicKeys:c.map(e=>e.asCircuitInputs()),currentStateRoot:l,currentBallotRoot:p,currentSbCommitment:y,currentSbSalt:this.sbSalts[this.currentMessageBatchIndex],voteOptions:this.voteOptions})},this.processAllMessages=()=>{let e=this.pollStateLeaves.map(e=>e.copy()),t=this.ballots.map(e=>e.copy());for(;this.hasUnprocessedMessages();)this.processMessages(this.pollId);return{stateLeaves:e,ballots:t}},this.hasUntalliedBallots=()=>this.numBatchesTallied*this.batchSizes.tallyBatchSize<this.ballots.length,this.tallyVotes=()=>
7{if(void 0===this.sbSalts[this.currentMessageBatchIndex])throw Error("You must process the messages first");let e=this.batchSizes.tallyBatchSize;(0,s.default)(this.hasUntalliedBallots(),"No more ballots to tally");let t=this.numBatchesTallied*e,n=0===t?0n:this.resultRootSalts[t-e],a=0===t?0n:this.perVoteOptionSpentVoiceCreditsRootSalts[t-e],f=0===t?0n:this.spentVoiceCreditSubtotalSalts[t-e],c=(0,r.generateTreeCommitment)(this.tallyResult,n,this.treeDepths.voteOptionTreeDepth),d=this.generatePerVoteOptionSpentVoiceCreditsCommitment(a,t,this.mode),u=this.generateSpentVoiceCreditSubtotalCommitment(f,t,this.mode),l=this.mode!==o.EMode.QV||0===t?0n:(0,r.hash3)([c,u,d]),p=this.mode===o.EMode.QV||0===t?0n:(0,r.hashLeftRight)(c,u),y=this.numBatchesTallied*e,m=this.numBatchesTallied*e+e,h=[],g=[],T=[],_=this.tallyResult.map(e=>BigInt(e.toString())),v=this.perVoteOptionSpentVoiceCredits.map(e=>BigInt(e.toString())),w=BigInt(this.totalSpentVoiceCredits.toString());for(let e=y;e<m&&!(e>=this.ballots.length);e+=1){h.push(this.ballots[e]);let t=this.ballots[e],n=this.voteCounts[e].copy();n.counts=t.votes.map((t,n)=>this.voteCounts[e].counts[n]+BigInt(0n!==t)),this.voteCountsTree?.update(e,n.hash()),this.voteCounts[e]=n,g.push(n),T.push(n.counts);for(let t=0;t<this.maxVoteOptions;t+=1){let n=this.ballots[e].votes[t];this.tallyResult[t]+=n,this.mode===o.EMode.QV?(this.perVoteOptionSpentVoiceCredits[t]+=n*n,this.totalSpentVoiceCredits+=n*n):this.totalSpentVoiceCredits+=n}}let P=new i.Ballot(this.maxVoteOptions,this.treeDepths.voteOptionTreeDepth),A=new i.VoteCounts(this.maxVoteOptions,this.treeDepths.voteOptionTreeDepth);for(;h.length<e;)h.push(P);for(;g.length<e;)g.push(A);let M=(0,r.generateRandomSalt)(),I=(0,r.generateRandomSalt)(),O=(0,r.generateRandomSalt)();this.resultRootSalts[t]=M,this.perVoteOptionSpentVoiceCreditsRootSalts[t]=I,this.spentVoiceCreditSubtotalSalts[t]=O;let C=(0,r.generateTreeCommitment)(this.tallyResult,M,this.treeDepths.voteOptionTreeDepth),E=this.generateSpentVoiceCreditSubtotalCommitment(O,t+e,this.mode),x=this.generatePerVoteOptionSpentVoiceCreditsCommitment(I,t+e,this.mode),S=this.mode===o.EMode.QV?(0,r.hash3)([C,E,x]):(0,r.hashLeftRight)(C,E),R=this.pollStateTree.root,k=this.ballotTree.root,B=this.voteCountsTree.root,j=this.sbSalts[this.currentMessageBatchIndex],D=(0,r.hash3)([R,k,j]),F=this.ballotTree?.generateSubrootProof(t,t+e),N=this.voteCountsTree?.generateSubrootProof(t,t+e),V=h.map(e=>e.votes),U=["voteCountsData","voteCountsPathElements","voteCounts","voteCountsRoot"],L=(0,r.stringifyBigInts)((0,b.default)({stateRoot:R,ballotRoot:k,sbSalt:j,index:BigInt(t),totalSignups:BigInt(this.totalSignups),sbCommitment:D,currentTallyCommitment:p||l,newTallyCommitment:S,ballots:h.map(e=>e.asCircuitInputs()),ballotPathElements:F.pathElements,votes:V,voteCountsRoot:B,voteCounts:g.map(e=>e.asCircuitInputs()),voteCountsPathElements:N.pathElements,voteCountsData:T,currentResults:_,currentResultsRootSalt:n,currentSpentVoiceCreditSubtotal:w,currentSpentVoiceCreditSubtotalSalt:f,currentPerVoteOptionSpentVoiceCredits:v,currentPerVoteOptionSpentVoiceCreditsRootSalt:a,newPerVoteOptionSpentVoiceCreditsRootSalt:I,newResultsRootSalt:M,newSpentVoiceCreditSubtotalSalt:O},this.mode!==o.EMode.QV?[...U,"currentPerVoteOptionSpentVoiceCredits","currentPerVoteOptionSpentVoiceCreditsRootSalt","newPerVoteOptionSpentVoiceCreditsRootSalt"]:[...U]));return this.numBatchesTallied+=1,L},this.generateSpentVoiceCreditSubtotalCommitment=(e,t,n=o.EMode.QV)=>{let a=0n;for(let e=0;e<t&&!(this.ballots.length<=e);e+=1)for(let t=0;t<this.tallyResult.length;t+=1){let r=BigInt(`${this.ballots[e].votes[t]}`);a+=n===o.EMode.QV?r*r:r}return(0,r.hashLeftRight)(a,e)},this.generatePerVoteOptionSpentVoiceCreditsCommitment=(e,t,n=o.EMode.QV)=>{let a=Array(this.tallyResult.length).fill(0n);for(let e=0;e<t&&!(e>=this.ballots.length);e+=1)for(let t=0;t<this.tallyResult.length;t+=1){let r=this.ballots[e].votes[t];a[t]+=n===o.EMode.QV?r*r:r}return(0,r.generateTreeCommitment)(a,e,this.treeDepths.voteOptionTreeDepth)},this.copy=()=>{let e=new d(BigInt(this.pollEndTimestamp.toString()),this.coordinatorKeypair.copy(),{tallyProcessingStateTreeDepth:Number(this.treeDepths.tallyProcessingStateTreeDepth),voteOptionTreeDepth:Number(this.treeDepths.voteOptionTreeDepth),stateTreeDepth:Number(this.treeDepths.stateTreeDepth)},{tallyBatchSize:Number(this.batchSizes.tallyBatchSize.toString()),messageBatchSize:Number(this.batchSizes.messageBatchSize.toString())},this.maciStateRef,this.voteOptions,this.mode);return e.publicKeys=this.publicKeys.map(e=>e.copy()),e.pollStateLeaves=this.pollStateLeaves.map(e=>e.copy()),e.messages=this.messages.map(e=>e.copy()),e.commands=this.commands.map(e=>e.copy()),e.ballots=this.ballots.map(e=>e.copy()),e.encryptionPublicKeys=this.encryptionPublicKeys.map(e=>e.copy()),e.voteCounts=this.voteCounts.map(e=>e.copy()),this.ballotTree&&(e.ballotTree=this.ballotTree.copy()),this.voteCountsTree&&(e.voteCountsTree=this.voteCountsTree.copy()),e.currentMessageBatchIndex=this.currentMessageBatchIndex,e.maciStateRef=this.maciStateRef,e.tallyResult=this.tallyResult.map(e=>BigInt(e.toString())),e.perVoteOptionSpentVoiceCredits=this.perVoteOptionSpentVoiceCredits.map(e=>BigInt(e.toString())),e.totalBatchesProcessed=Number(this.totalBatchesProcessed.toString()),e.numBatchesTallied=Number(this.numBatchesTallied.toString()),e.pollId=this.pollId,e.totalSpentVoiceCredits=BigInt(this.totalSpentVoiceCredits.toString()),e.sbSalts={},e.resultRootSalts={},e.perVoteOptionSpentVoiceCreditsRootSalts={},e.spentVoiceCreditSubtotalSalts={}
7,Object.keys(this.sbSalts).forEach(t=>{e.sbSalts[t]=BigInt(this.sbSalts[t].toString())}),Object.keys(this.resultRootSalts).forEach(t=>{e.resultRootSalts[t]=BigInt(this.resultRootSalts[t].toString())}),Object.keys(this.perVoteOptionSpentVoiceCreditsRootSalts).forEach(t=>{e.perVoteOptionSpentVoiceCreditsRootSalts[t]=BigInt(this.perVoteOptionSpentVoiceCreditsRootSalts[t].toString())}),Object.keys(this.spentVoiceCreditSubtotalSalts).forEach(t=>{e.spentVoiceCreditSubtotalSalts[t]=BigInt(this.spentVoiceCreditSubtotalSalts[t].toString())}),e.setTotalSignups(this.totalSignups),e},this.equals=e=>{if(!(this.coordinatorKeypair.equals(e.coordinatorKeypair)&&this.treeDepths.tallyProcessingStateTreeDepth===e.treeDepths.tallyProcessingStateTreeDepth&&this.treeDepths.voteOptionTreeDepth===e.treeDepths.voteOptionTreeDepth&&this.batchSizes.tallyBatchSize===e.batchSizes.tallyBatchSize&&this.batchSizes.messageBatchSize===e.batchSizes.messageBatchSize&&this.maxVoteOptions===e.maxVoteOptions&&this.messages.length===e.messages.length&&this.encryptionPublicKeys.length===e.encryptionPublicKeys.length&&this.totalSignups===e.totalSignups))return!1;for(let t=0;t<this.messages.length;t+=1)if(!this.messages[t].equals(e.messages[t]))return!1;for(let t=0;t<this.encryptionPublicKeys.length;t+=1)if(!this.encryptionPublicKeys[t].equals(e.encryptionPublicKeys[t]))return!1;return!0},this.setCoordinatorKeypair=e=>{this.coordinatorKeypair=new i.Keypair(i.PrivateKey.deserialize(e))},this.setTotalSignups=e=>{this.totalSignups=e},this.getTotalSignups=()=>this.totalSignups,l>o.VOTE_OPTION_TREE_ARITY**n.voteOptionTreeDepth)throw Error("Vote options cannot be greater than the number of leaves in the vote option tree");this.pollEndTimestamp=e,this.coordinatorKeypair=t,this.treeDepths=n,this.batchSizes=a,this.voteOptions=l,this.maxVoteOptions=o.VOTE_OPTION_TREE_ARITY**n.voteOptionTreeDepth,this.maciStateRef=u,this.pollId=BigInt(u.polls.size),this.actualStateTreeDepth=n.stateTreeDepth,this.currentMessageBatchIndex=0,this.mode=p,this.pollNullifiers=new Map,this.tallyResult=Array(this.maxVoteOptions).fill(0n),this.perVoteOptionSpentVoiceCredits=Array(this.maxVoteOptions).fill(0n),this.emptyBallot=i.Ballot.generateBlank(this.maxVoteOptions,n.voteOptionTreeDepth),this.ballots.push(this.emptyBallot),this.emptyBallotHash=this.emptyBallot.hash(),this.emptyVoteCounts=i.VoteCounts.generateBlank(this.maxVoteOptions,n.voteOptionTreeDepth),this.voteCounts.push(this.emptyVoteCounts),this.emptyVoteCountsHash=this.emptyVoteCounts.hash()}getVoiceCreditsLeft({stateLeaf:e,originalVoteWeight:t,newVoteWeight:n,mode:a}){switch(a){case o.EMode.QV:return e.voiceCreditBalance+t*t-n*n;case o.EMode.NON_QV:case o.EMode.FULL:return e.voiceCreditBalance+t-n;default:throw Error("Voting mode is not supported")}}toJSON(){return{stateTreeDepth:Number(this.treeDepths.stateTreeDepth),pollEndTimestamp:this.pollEndTimestamp.toString(),treeDepths:this.treeDepths,batchSizes:this.batchSizes,maxVoteOptions:this.maxVoteOptions,voteOptions:this.voteOptions.toString(),messages:this.messages.map(e=>e.toJSON()),commands:this.commands.map(e=>e.toJSON()),ballots:this.ballots.map(e=>e.toJSON()),voteCounts:this.voteCounts.map(e=>e.toJSON()),encryptionPublicKeys:this.encryptionPublicKeys.map(e=>e.serialize()),currentMessageBatchIndex:this.currentMessageBatchIndex,publicKeys:this.publicKeys.map(e=>e.toJSON()),pollStateLeaves:this.pollStateLeaves.map(e=>e.toJSON()),results:this.tallyResult.map(e=>e.toString()),totalBatchesProcessed:this.totalBatchesProcessed,totalSignups:this.totalSignups.toString(),chainHash:this.chainHash.toString(),pollNullifiers:[...this.pollNullifiers.keys()].map(e=>e.toString()),batchHashes:this.batchHashes.map(e=>e.toString()),mode:this.mode}}static fromJSON(e,t){let n=new d(BigInt(e.pollEndTimestamp),new i.Keypair,e.treeDepths,e.batchSizes,t,BigInt(e.voteOptions),e.mode);return n.pollStateLeaves=e.pollStateLeaves.map(e=>i.StateLeaf.fromJSON(e)),n.ballots=e.ballots.map(e=>i.Ballot.fromJSON(e)),n.voteCounts=e.voteCounts.map(e=>i.VoteCounts.fromJSON(e)),n.encryptionPublicKeys=e.encryptionPublicKeys.map(e=>i.PublicKey.deserialize(e)),n.messages=e.messages.map(e=>i.Message.fromJSON(e)),n.commands=e.commands.map(e=>i.VoteCommand.fromJSON(e)),n.tallyResult=e.results.map(e=>BigInt(e)),n.currentMessageBatchIndex=e.currentMessageBatchIndex,n.totalBatchesProcessed=e.totalBatchesProcessed,n.chainHash=BigInt(e.chainHash),n.batchHashes=e.batchHashes.map(e=>BigInt(e)),n.pollNullifiers=new Map(e.pollNullifiers.map(e=>[BigInt(e),!0])),n.updatePoll(BigInt(e.totalSignups)),n}}t.Poll=d}
7,92839:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AnonAadhaarChecker__factory=void 0;let a=n(27653),r=[{inputs:[],name:"AlreadyInitialized",type:"error"},{inputs:[],name:"InvalidNullifierSeed",type:"error"},{inputs:[],name:"InvalidProof",type:"error"},{inputs:[],name:"InvalidSignal",type:"error"},{inputs:[],name:"anonAadhaarContract",outputs:[{internalType:"contract IAnonAadhaar",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"subject",type:"address"},{internalType:"bytes",name:"evidence",type:"bytes"}],name:"check",outputs:[{internalType:"bool",name:"checked",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"getAppendedBytes",outputs:[{internalType:"bytes",name:"appendedBytes",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"initialized",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"nullifierSeed",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"}],i="0x6080604052348015600f57600080fd5b506106368061001f6000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c8063158ef93e1461006757806322440bbe146100895780638129fc1c146100b9578063b41a4b19146100c3578063cd6d1b69146100d8578063e2b24085146100ef575b600080fd5b6000546100749060ff1681565b60405190151581526020015b60405180910390f35b6000546100a19061010090046001600160a01b031681565b6040516001600160a01b039091168152602001610080565b6100c1610102565b005b6100cb61010c565b604051610080919061030d565b6100e160015481565b604051908152602001610080565b6100746100fd366004610373565b61011b565b61010a610130565b565b606061011661018a565b905090565b6000610128848484610195565b949350505050565b6101386102ac565b600061014261018a565b90506000808280602001905181019061015b91906103fa565b600080546001600160a01b0390931661010002610100600160a81b031990931692909217909155600155505050565b6060610116306102de565b60008080808080806101a9888a018a6104aa565b95509550955095509550955060015486146101d75760405163d2cee05560e01b815260040160405180910390fd5b896001600160a01b03168314610200576040516328f7decb60e21b815260040160405180910390fd5b6000546040516350de0e5760e01b81526101009091046001600160a01b0316906350de0e579061023e90899089908990899089908990600401610559565b602060405180830381865afa15801561025b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061027f91906105d7565b61029c576040516309bde33960e01b815260040160405180910390fd5b5060019998505050505050505050565b60005460ff16156102cf5760405162dc149f60e41b815260040160405180910390fd5b6000805460ff19166001179055565b60405164ffffffffff602c19833b0116808252602090810190602d908301843c60408101815101604052919050565b602081526000825180602084015260005b8181101561033b576020818601810151604086840101520161031e565b506000604082850101526040601f19601f83011684010191505092915050565b6001600160a01b038116811461037057600080fd5b50565b60008060006040848603121561038857600080fd5b83356103938161035b565b9250602084013567ffffffffffffffff8111156103af57600080fd5b8401601f810186136103c057600080fd5b803567ffffffffffffffff8111156103d757600080fd5b8660208284010111156103e957600080fd5b939660209190910195509293505050565b6000806040838503121561040d57600080fd5b82516104188161035b565b6020939093015192949293505050565b604051601f8201601f1916810167ffffffffffffffff8111828210171561045f57634e487b7160e01b600052604160045260246000fd5b604052919050565b600061010061047581610428565b9
71508201818482111561048757600080fd5b835b828110156104a1578035825260209182019101610489565b50505092915050565b60008060008060008061020087890312156104c457600080fd5b863595506020870135945060408701359350606087013592506000609f880189136104ed578081fd5b806104f86080610428565b905080915061010089018a81111561050f57600080fd5b60808a015b8181101561052c578035845260209384019301610514565b508194508a61011f8b011261054057600080fd5b61054a8b82610467565b93505050509295509295509295565b600061020082019050878252866020830152856040830152846060830152608082018460005b600481101561059e57815183526020928301929091019060010161057f565b50505061010082018360005b60088110156105c95781518352602092830192909101906001016105aa565b505050979650505050505050565b6000602082840312156105e957600080fd5b815180151581146105f957600080fd5b939250505056fea2646970667358221220bb249fbc240483451a9450205d5695ae10c6222b9471fb5f5483c34d53f7000a64736f6c634300081c0033",f=e=>e.length>1;class b extends a.ContractFactory{constructor(...e){f(e)?super(...e):super(r,i,e[0])}getDeployTransaction(e){return super.getDeployTransaction(e||{})}deploy(e){return super.deploy(e||{})}connect(e){return super.connect(e)}static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.AnonAadhaarChecker__factory=b,b.bytecode=i,b.abi=r},93238:function(e,t,n){"use strict";var a=this&&this.__createBinding||(Object.create?function(e,t,n,a){void 0===a&&(a=n);var r=Object.getOwnPropertyDescriptor(t,n);
7(!r||("get"in r?!t.__esModule:r.writable||r.configurable))&&(r={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,a,r)}:function(e,t,n,a){void 0===a&&(a=n),e[a]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||a(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.generateMaciStateTreeWithEndKey=t.joiningCircuitInputs=t.getPollJoiningCircuitEvents=t.generateMaciStateTree=t.hasUserJoinedPoll=t.getJoinedUserData=t.hasUserSignedUp=t.signup=t.getSignedupUserData=void 0,r(n(42669),t),r(n(2384),t),r(n(16277),t),r(n(52400),t),r(n(47011),t),r(n(91432),t),r(n(15786),t),r(n(47038),t);var i=n(98073);Object.defineProperty(t,"getSignedupUserData",{enumerable:!0,get:function(){return i.getSignedupUserData}}),Object.defineProperty(t,"signup",{enumerable:!0,get:function(){return i.signup}}),Object.defineProperty(t,"hasUserSignedUp",{enumerable:!0,get:function(){return i.hasUserSignedUp}});var f=n(64882);Object.defineProperty(t,"getJoinedUserData",{enumerable:!0,get:function(){return f.getJoinedUserData}}),Object.defineProperty(t,"hasUserJoinedPoll",{enumerable:!0,get:function(){return f.hasUserJoinedPoll}}),Object.defineProperty(t,"generateMaciStateTree",{enumerable:!0,get:function(){return f.generateMaciStateTree}}),Object.defineProperty(t,"getPollJoiningCircuitEvents",{enumerable:!0,get:function(){return f.getPollJoiningCircuitEvents}}),Object.defineProperty(t,"joiningCircuitInputs",{enumerable:!0,get:function(){return f.joiningCircuitInputs}}),Object.defineProperty(t,"generateMaciStateTreeWithEndKey",{enumerable:!0,get:function(){return f.generateMaciStateTreeWithEndKey}}),r(n(73723),t),r(n(68832),t)},93365:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ISemaphore__factory=void 0;let a=n(27653),r=[{inputs:[{internalType:"uint256",name:"groupId",type:"uint256"},{components:[{internalType:"uint256",name:"merkleTreeDepth",type:"uint256"},{internalType:"uint256",name:"merkleTreeRoot",type:"uint256"},{internalType:"uint256",name:"nullifier",type:"uint256"},{internalType:"uint256",name:"message",type:"uint256"},{internalType:"uint256",name:"scope",type:"uint256"},{internalType:"uint256[8]",name:"points",type:"uint256[8]"}],internalType:"struct ISemaphore.SemaphoreProof",name:"proof",type:"tuple"}],name:"verifyProof",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"}];class i{static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.ISemaphore__factory=i,i.abi=r},94031:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IERC721Metadata__factory=void 0;var a=n(95767);Object.defineProperty(t,"IERC721Metadata__factory",{enumerable:!0,get:function(){return a.IERC721Metadata__factory}})},94356:(e,t,n)=>{var a=n(70771),r=1/0;e.exports=function(e){if("string"==typeof e||a(e))return e;var t=e+"";return"0"==t&&1/e==-r?"-0":t}},94380:(e,t,n)=>{var a=n(44101),r=n(18686),i=n(66373),f=n(38008),b=n(40382),s=n(98233),o=n(7512),c="[object Map]",d="[object Promise]",u="[object Set]",l="[object WeakMap]",p="[object DataView]",y=o(a),m=o(r),h=o(i),g=o(f),T=o(b),_=s;
7(a&&_(new a(new ArrayBuffer(1)))!=p||r&&_(new r)!=c||i&&_(i.resolve())!=d||f&&_(new f)!=u||b&&_(new b)!=l)&&(_=function(e){var t=s(e),n="[object Object]"==t?e.constructor:void 0,a=n?o(n):"";if(a)switch(a){case y:return p;case m:return c;case h:return d;case g:return u;case T:return l}return t}),e.exports=_},94971:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AnonAadhaarCheckerFactory__factory=void 0;let a=n(27653),r=[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"clone",type:"address"}],name:"CloneDeployed",type:"event"},{inputs:[],name:"IMPLEMENTATION",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"anonAadhaarVerifier",type:"address"},{internalType:"uint256",name:"nullifierSeed",type:"uint256"}],name:"deploy",outputs:[{internalType:"address",name:"clone",type:"address"}],stateMutability:"nonpayable",type:"function"}],i="0x60a0604052348015600f57600080fd5b50604051601a906046565b604051809103906000f0801580156035573d6000803e3d6000fd5b506001600160a01b03166080526053565b610655806102f283390190565b60805161027e6100746000396000818160400152610125015261027e6000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80633a4741bd1461003b5780634956eaf01461007e575b600080fd5b6100627f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b61006261008c366004610210565b604080516001600160a01b038416602082015280820183905281518082038301815260609091019091526000906100c28161011e565b9150816001600160a01b0316638129fc1c6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156100ff57600080fd5b505af1158015610113573d6000803e3d6000fd5b505050505092915050565b600061014a7f000000000000000000000000000000000000000000000000000000000000000083610186565b6040519091506001600160a01b038216907f2158cde9935cbf85d0b02e02fbc315ad0be2f3f017a603a2ebeedead21b8d60b90600090a2919050565b60006101946000848461019b565b9392505050565b600060405182518060438301826020870160045afa506e5af43d82803e903d91602b57fd5bf360238301528460148301528060881b74fe61002d3d81600a3d39f3363d3d373d3d3d363d730182526037810161ffd38210600b01830187f092505050806101945763301164256000526004601cfd5b6000806040838503121561022357600080fd5b82356001600160a01b038116811461023a57600080fd5b94602093909301359350505056fea264697066735822122050a1618f49fca1f0f8236cbd232dd00e8e59fe878332322045814612a655db6364736f6c634300081c00336080604052348015600f57600080fd5b506106368061001f6000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c8063158ef93e1461006757806322440bbe146100895780638129fc1c146100b9578063b41a4b19146100c3578063cd6d1b69146100d8578063e2b24085146100ef575b600080fd5b6000546100749060ff1681565b60405190151581526020015b60405180910390f35b6000546100a19061010090046001600160a01b031681565b6040516001600160a01b039091168152602001610080565b6100c1610102565b005b6100cb61010c565b604051610080919061030d565b6100e160015481565b604051908152602001610080565b6100746100fd366004610373565b61011b565b61010a610130565b565b606061011661018a565b905090565b6000610128848484610195565b949350505050565b6101386102ac565b600061014261018a565b90506000808280602001905181019061015b91906103fa565b600080546001600160a01b0390931661010002610100600160a81b031990931692909217909155600155505050565b6060610116306102de565b60008080808080806101a9888a018a6104aa565b95509550955095509550955060015486146101d75760405163d2cee05560e01b815260040160405180910390fd5b896001600160a01b03168314610200576040516328f7decb60e21b815260040160405180910390fd5b6000546040516350de0e5760e01b81526101009091046001600160a01b0316906350de0e579061023e90899089908990899089908990600401610559565b602060405180830381865afa15801561025b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061027f91906105d7565b61029c576040516309bde33960e01b815260040160405180910390fd5b5060019998505050505050505050565b60005460ff16156102cf5760405162dc149f60e41b815260040160405180910390fd5b6000805460ff19166001179055565b60405164ffffffffff602c19833b0116808252602090810190602d908301843c60408101815101604052919050565b602081526000825180602084015260005b8181101561033b576020818601810151604086840101520161031e565b506000604082850101526040601f19601f83011684010191505092915050565b6001600160a01b038116811461037057600080fd5b50565b60008060006040848603121561038857600080fd5b83356103938161035b565b9250602084013567ffffffffffffffff8111156103af57600080fd5b8401601f810186136103c057600080fd5b803567ffffffffffffffff8111156103d757600080fd5b8660208284010111156103e957600080fd5b939660209190910195509293505050565b6000806040838503121561040d57600080fd5b82516104188161035b565b6020939093015192949293505050565b604051601f8201601f1916810167ffffffffffffffff8111828210171561045f57634e487b7160e01b600052604160045260246000fd5b604052919050565b600061010061047581610428565b9
71508201818482111561048757600080fd5b835b828110156104a1578035825260209182019101610489565b50505092915050565b60008060008060008061020087890312156104c457600080fd5b863595506020870135945060408701359350606087013592506000609f880189136104ed578081fd5b806104f86080610428565b905080915061010089018a81111561050f57600080fd5b60808a015b8181101561052c578035845260209384019301610514565b508194508a61011f8b011261054057600080fd5b61054a8b82610467565b93505050509295509295509295565b600061020082019050878252866020830152856040830152846060830152608082018460005b600481101561059e57815183526020928301929091019060010161057f565b50505061010082018360005b60088110156105c95781518352602092830192909101906001016105aa565b505050979650505050505050565b6000602082840312156105e957600080fd5b815180151581146105f957600080fd5b939250505056fea2646970667358221220bb249fbc240483451a9450205d5695ae10c6222b9471fb5f5483c34d53f7000a64736f6c634300081c0033",f=e=>e.length>1;class b extends a.ContractFactory{constructor(...e){f(e)?super(...e):super(r,i,e[0])}getDeployTransaction(e){return super.getDeployTransaction(e||{})}deploy(e){return super.deploy(e||{})}connect(e){return super.connect(e)}static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.AnonAadhaarCheckerFactory__factory=b,b.bytecode=i,b.abi=r},94999:(e,t,n)=>{var a=n(5658);e.exports=function(e){var t=a(this,e).delete(e);return this.size-=!!t,t}},95767:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IERC721Metadata__factory=void 0;let a=n(27653),r=[{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"approved",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!1,internalType:"bool",name:"approved",type:"bool"}],name:"ApprovalForAll",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Transfer",type:"event"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"approve",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"balance",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"getApproved",outputs:[{internalType:"address",name:"operator",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"operator",type:"address"}],name:"isApprovedForAll",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"ownerOf",outputs:[{internalType:"address",name:"owner",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"safeTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"}],name:"safeTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"operator",type:"address"},{internalType:"bool",name:"approved",type:"bool"}],name:"setApprovalForAll",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"tokenURI",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"transferFrom",outputs:[],stateMutability:"nonpayable",type:"function"}];
7class i{static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.IERC721Metadata__factory=i,i.abi=r},96294:e=>{var t=Object.prototype;e.exports=function(e){var n=e&&e.constructor;return e===("function"==typeof n&&n.prototype||t)}},96540:(e,t,n)=>{var a=n(31545),r=n(26151),i=n(53696),f=n(13364),b=n(20988);function s(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var a=e[t];this.set(a[0],a[1])}}s.prototype.clear=a,s.prototype.delete=r,s.prototype.get=i,s.prototype.has=f,s.prototype.set=b,e.exports=s},96605:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IERC20Metadata__factory=void 0;let a=n(27653),r=[{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"spender",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Transfer",type:"event"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"spender",type:"address"}],name:"allowance",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"approve",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"decimals",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"transfer",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"transferFrom",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"}];class i{static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.IERC20Metadata__factory=i,i.abi=r},97873:function(e,t,n){"use strict";var a,r=this&&this.__createBinding||(Object.create?function(e,t,n,a){void 0===a&&(a=n);var r=Object.getOwnPropertyDescriptor(t,n);
7(!r||("get"in r?!t.__esModule:r.writable||r.configurable))&&(r={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,a,r)}:function(e,t,n,a){void 0===a&&(a=n),e[a]=t[n]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),f=this&&this.__importStar||(a=function(e){return(a=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t})(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n=a(e),f=0;f<n.length;f++)"default"!==n[f]&&r(t,e,n[f]);return i(t,e),t});Object.defineProperty(t,"__esModule",{value:!0}),t.contracts=void 0,t.contracts=f(n(77529))},97983:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IMACI__factory=void 0;let a=n(27653),r=[{inputs:[{components:[{internalType:"uint256",name:"startDate",type:"uint256"},{internalType:"uint256",name:"endDate",type:"uint256"},{components:[{internalType:"uint8",name:"tallyProcessingStateTreeDepth",type:"uint8"},{internalType:"uint8",name:"voteOptionTreeDepth",type:"uint8"},{internalType:"uint8",name:"stateTreeDepth",type:"uint8"}],internalType:"struct Params.TreeDepths",name:"treeDepths",type:"tuple"},{internalType:"uint8",name:"messageBatchSize",type:"uint8"},{components:[{internalType:"uint256",name:"x",type:"uint256"},{internalType:"uint256",name:"y",type:"uint256"}],internalType:"struct DomainObjs.PublicKey",name:"coordinatorPublicKey",type:"tuple"},{internalType:"address",name:"verifier",type:"address"},{internalType:"address",name:"verifyingKeysRegistry",type:"address"},{internalType:"enum DomainObjs.Mode",name:"mode",type:"uint8"},{internalType:"address",name:"policy",type:"address"},{internalType:"address",name:"initialVoiceCreditProxy",type:"address"},{internalType:"address[]",name:"relayers",type:"address[]"},{internalType:"uint256",name:"voteOptions",type:"uint256"}],internalType:"struct IMACI.DeployPollArgs",name:"_pollArgs",type:"tuple"}],name:"deployPoll",outputs:[{components:[{internalType:"address",name:"poll",type:"address"},{internalType:"address",name:"messageProcessor",type:"address"},{internalType:"address",name:"tally",type:"address"}],internalType:"struct IMACI.PollContracts",name:"",type:"tuple"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_publicKeyHash",type:"uint256"}],name:"getStateIndex",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_index",type:"uint256"}],name:"getStateRootOnIndexedSignUp",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getStateTreeRoot",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"nextPollId",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{components:[{internalType:"uint256",name:"x",type:"uint256"},{internalType:"uint256",name:"y",type:"uint256"}],internalType:"struct DomainObjs.PublicKey",name:"_publicKey",type:"tuple"},{internalType:"bytes",name:"_signUpPolicyData",type:"bytes"}],name:"signUp",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"stateTreeDepth",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[],name:"totalSignups",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"}];class i{static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.IMACI__factory=i,i.abi=r},98027:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SemaphoreCheckerFactory__factory=void 0;let a=n(27653),r=[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"clone",type:"address"}],name:"CloneDeployed",type:"event"},{inputs:[],name:"IMPLEMENTATION",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"semaphore",type:"address"},{internalType:"uint256",name:"groupId",type:"uint256"}],name:"deploy",outputs:[{internalType:"address",name:"clone",type:"address"}],stateMutability:"nonpayable",type:"function"}],i="0x60a0604052348015600f57600080fd5b50604051601a906046565b604051809103906000f0801580156035573d6000803e3d6000fd5b506001600160a01b03166080526053565b610626806102f283390190565b60805161027e6100746000396000818160400152610125015261027e6000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80633a4741bd1461003b5780634956eaf01461007e575b600080fd5b6100627f000000000000000000000000000000000000000000000000000000000000000081565b
76040516001600160a01b03909116815260200160405180910390f35b61006261008c366004610210565b604080516001600160a01b038416602082015280820183905281518082038301815260609091019091526000906100c28161011e565b9150816001600160a01b0316638129fc1c6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156100ff57600080fd5b505af1158015610113573d6000803e3d6000fd5b505050505092915050565b600061014a7f000000000000000000000000000000000000000000000000000000000000000083610186565b6040519091506001600160a01b038216907f2158cde9935cbf85d0b02e02fbc315ad0be2f3f017a603a2ebeedead21b8d60b90600090a2919050565b60006101946000848461019b565b9392505050565b600060405182518060438301826020870160045afa506e5af43d82803e903d91602b57fd5bf360238301528460148301528060881b74fe61002d3d81600a3d39f3363d3d373d3d3d363d730182526037810161ffd38210600b01830187f092505050806101945763301164256000526004601cfd5b6000806040838503121561022357600080fd5b82356001600160a01b038116811461023a57600080fd5b94602093909301359350505056fea2646970667358221220024819387720cdd764b5d12f036cd1a468c7ad232bad2b88789f4f52235d20c264736f6c634300081c00336080604052348015600f57600080fd5b506106078061001f6000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c8063158ef93e146100675780637b5d2534146100895780638129fc1c146100b9578063a0f44c92146100c3578063b41a4b19146100da578063e2b24085146100ef575b600080fd5b6000546100749060ff1681565b60405190151581526020015b60405180910390f35b6000546100a19061010090046001600160a01b031681565b6040516001600160a01b039091168152602001610080565b6100c1610102565b005b6100cc60015481565b604051908152602001610080565b6100e261010c565b604051610080919061031a565b6100746100fd366004610380565b61011b565b61010a610130565b565b606061011661018a565b905090565b6000610128848484610195565b949350505050565b6101386102b9565b600061014261018a565b90506000808280602001905181019061015b9190610407565b600080546001600160a01b0390931661010002610100600160a81b031990931692909217909155600155505050565b6060610116306102eb565b6000806101a483850185610498565b608081015160015491925090606082901c906bffffffffffffffffffffffff83169081146101e55760405163036c503960e61b815260040160405180910390fd5b876001600160a01b0316826001600160a01b03161461021757604051635945f53b60e01b815260040160405180910390fd5b6000546040516308ade83160e31b81526101009091046001600160a01b03169063456f41889061024d9086908890600401610538565b602060405180830381865afa15801561026a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061028e91906105a8565b6102ab576040516309bde33960e01b815260040160405180910390fd5b506001979650505050505050565b60005460ff16156102dc5760405162dc149f60e41b815260040160405180910390fd5b6000805460ff19166001179055565b60405164ffffffffff602c19833b0116808252602090810190602d908301843c60408101815101604052919050565b602081526000825180602084015260005b81811015610348576020818601810151604086840101520161032b565b506000604082850101526040601f19601f83011684010191505092915050565b6001600160a01b038116811461037d57600080fd5b50565b60008060006040848603121561039557600080fd5b83356103a081610368565b9250602084013567ffffffffffffffff8111156103bc57600080fd5b8401601f810186136103cd57600080fd5b803567ffffffffffffffff8111156103e457600080fd5b8660208284010111156103f657600080fd5b939660209190910195509293505050565b6000806040838503121561041a57600080fd5b825161042581610368565b6020939093015192949293505050565b634e487b7160e01b600052604160045260246000fd5b60405160c0810167ffffffffffffffff8111828210171561046e5761046e610435565b60405290565b604051610100810167ffffffffffffffff8111828210171561046e5761046e610435565b60006101a08284031280156104ac57600080fd5b5060006104b761044b565b833581526020808501359082015260408085013590820152606080850135908201526080808501359082015260bf840185136104f1578182fd5b6104f9610474565b806101a086018781111561050b578485fd5b60a087015b81811015610528578035845260209384019301610510565b505060a083015250949350505050565b60006101c08201905083825282516020830152602083015160408301526040830151606083015260608301516080830152608083015160a083015260a083015160c0830160005b600881101561059e57825182526020928301929091019060010161057f565b5050509392505050565b6000602082840312156105ba57600080fd5b815180151581146105ca57600080fd5b939250505056fea264697066735822122042ff395a29744b7e4c438fd1c45a147cc89a84e95a02274d871344a85ab5f30c64736f6c634300081c0033",f=e=>e.length>1;class b extends a.ContractFactory{constructor(...e){f(e)?super(...e):super(r,i,e[0])}getDeployTransaction(e){return super.getDeployTransaction(e||{})}deploy(e){return super.deploy(e||{})}connect(e){return super.connect(e)}static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.SemaphoreCheckerFactory__factory=b,b.bytecode=i,b.abi=r},98073:(e,t,n)=>{"use strict";
7Object.defineProperty(t,"__esModule",{value:!0}),t.hasUserSignedUp=t.signup=t.getSignedupUserData=void 0;let a=n(68832),r=n(68681),i=n(27653),f=n(62744);t.getSignedupUserData=async({maciAddress:e,maciPublicKey:t,signer:n})=>{let i=a.MACI__factory.connect(e,n),f=r.PublicKey.deserialize(t);try{let e=await i.getStateIndex(f.hash());return{isRegistered:0n!==e,stateIndex:String(e)}}catch(e){if(e instanceof Error&&e.message.includes("UserNotSignedUp()"))return{isRegistered:!1,stateIndex:void 0};throw e}},t.signup=async({maciPublicKey:e,maciAddress:t,sgData:n,signer:b})=>{if(!r.PublicKey.isValidSerialized(e))throw Error("Invalid MACI public key");let s=r.PublicKey.deserialize(e);if(!await (0,f.contractExists)(b.provider,t))throw Error("There is no contract deployed at the specified address");if(!(0,i.isBytesLike)(n))throw Error("invalid signup gateway data");let o=a.MACI__factory.connect(t,b),c="",d=null,u=await o.signUp(s.asContractParam(),n);if(d=await u.wait(),d?.status!==1)throw Error("The transaction failed");let[{args:l=[]}={args:[]}]=await o.queryFilter(o.filters.SignUp,d.blockNumber,d.blockNumber);return{stateIndex:(c=l[0].toString())?c.toString():"",transactionHash:d.hash}},t.hasUserSignedUp=async({maciAddress:e,maciPublicKey:t,signer:n})=>{let i=a.MACI__factory.connect(e,n);return 0n!==await i.getStateIndex(r.PublicKey.deserialize(t).hash())}},98076:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ERC20PolicyFactory__factory=t.ERC20Policy__factory=t.ERC20CheckerFactory__factory=t.ERC20Checker__factory=void 0;var a=n(7307);Object.defineProperty(t,"ERC20Checker__factory",{enumerable:!0,get:function(){return a.ERC20Checker__factory}});var r=n(19759);Object.defineProperty(t,"ERC20CheckerFactory__factory",{enumerable:!0,get:function(){return r.ERC20CheckerFactory__factory}});var i=n(34404);Object.defineProperty(t,"ERC20Policy__factory",{enumerable:!0,get:function(){return i.ERC20Policy__factory}});var f=n(83542);Object.defineProperty(t,"ERC20PolicyFactory__factory",{enumerable:!0,get:function(){return f.ERC20PolicyFactory__factory}})},98233:(e,t,n)=>{var a=n(24376),r=n(20570),i=n(64439),f=a?a.toStringTag:void 0;e.exports=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":f&&f in Object(e)?r(e):i(e)}},98321:function(e,t,n){"use strict";var a,r=this&&this.__createBinding||(Object.create?function(e,t,n,a){void 0===a&&(a=n);var r=Object.getOwnPropertyDescriptor(t,n);
7(!r||("get"in r?!t.__esModule:r.writable||r.configurable))&&(r={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,a,r)}:function(e,t,n,a){void 0===a&&(a=n),e[a]=t[n]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),f=this&&this.__importStar||(a=function(e){return(a=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t})(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n=a(e),f=0;f<n.length;f++)"default"!==n[f]&&r(t,e,n[f]);return i(t,e),t});Object.defineProperty(t,"__esModule",{value:!0}),t.VerifyingKeysRegistry__factory=t.TallyFactory__factory=t.Tally__factory=t.PollFactory__factory=t.Poll__factory=t.MessageProcessorFactory__factory=t.MessageProcessor__factory=t.MACI__factory=t.utilities=t.mocks=t.interfaces=t.initialVoiceCreditProxy=t.crypto=void 0,t.crypto=f(n(48761)),t.initialVoiceCreditProxy=f(n(72479)),t.interfaces=f(n(55024)),t.mocks=f(n(80369)),t.utilities=f(n(27498));var b=n(24163);Object.defineProperty(t,"MACI__factory",{enumerable:!0,get:function(){return b.MACI__factory}});var s=n(49654);Object.defineProperty(t,"MessageProcessor__factory",{enumerable:!0,get:function(){return s.MessageProcessor__factory}});var o=n(12820);Object.defineProperty(t,"MessageProcessorFactory__factory",{enumerable:!0,get:function(){return o.MessageProcessorFactory__factory}});var c=n(36814);Object.defineProperty(t,"Poll__factory",{enumerable:!0,get:function(){return c.Poll__factory}});var d=n(77308);Object.defineProperty(t,"PollFactory__factory",{enumerable:!0,get:function(){return d.PollFactory__factory}});var u=n(8901);Object.defineProperty(t,"Tally__factory",{enumerable:!0,get:function(){return u.Tally__factory}});var l=n(43021);Object.defineProperty(t,"TallyFactory__factory",{enumerable:!0,get:function(){return l.TallyFactory__factory}});var p=n(87503);Object.defineProperty(t,"VerifyingKeysRegistry__factory",{enumerable:!0,get:function(){return p.VerifyingKeysRegistry__factory}})},98862:(e,t,n)=>{var a=n(83172),r=n(11928),i=n(35776),f=n(4377),b=n(11368);e.exports=function(e,t,n){var s=e.constructor;switch(t){case"[object ArrayBuffer]":return a(e);case"[object Boolean]":case"[object Date]":return new s(+e);case"[object DataView]":return r(e,n);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return b(e,n);case"[object Map]":case"[object Set]":return new s;case"[object Number]":case"[object String]":return new s(e);case"[object RegExp]":return i(e);case"[object Symbol]":return f(e)}}},99145:(e,t,n)=>{"use strict";n.d(t,{q:()=>b});var a=n(76347),r=n(64275),i=class extends a.${constructor(e,t){super(e,t)}bindMethods(){super.bindMethods(),this.fetchNextPage=this.fetchNextPage.bind(this),this.fetchPreviousPage=this.fetchPreviousPage.bind(this)}setOptions(e){super.setOptions({...e,behavior:(0,r.PL)()})}getOptimisticResult(e){return e.behavior=(0,r.PL)(),super.getOptimisticResult(e)}fetchNextPage(e){return this.fetch({...e,meta:{fetchMore:{direction:"forward"}}})}fetchPreviousPage(e){return this.fetch({...e,meta:{fetchMore:{direction:"backward"}}})}createResult(e,t){let{state:n}=e,a=super.createResult(e,t),{isFetching:i,isRefetching:f,isError:b,isRefetchError:s}=a,o=n.fetchMeta?.fetchMore?.direction,c=b&&"forward"===o,d=i&&"forward"===o,u=b&&"backward"===o,l=i&&"backward"===o;return{...a,fetchNextPage:this.fetchNextPage,fetchPreviousPage:this.fetchPreviousPage,hasNextPage:(0,r.rB)(t,n.data),hasPreviousPage:(0,r.RQ)(t,n.data),isFetchNextPageError:c,isFetchingNextPage:d,isFetchPreviousPageError:u,isFetchingPreviousPage:l,isRefetchError:s&&!c&&!u,isRefetching:f&&!d&&!l}}},f=n(64079);function b(e,t){return(0,f.t)(e,i,t)}},99314:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ConstantInitialVoiceCreditProxy__factory=void 0;let a=n(27653),r=[{inputs:[],name:"AlreadyInitialized",type:"error"},{inputs:[],name:"getAppendedBytes",outputs:[{internalType:"bytes",name:"appendedBytes",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"bytes",name:"",type:"bytes"}],name:"getVoiceCredits",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"initialized",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"}],i="0x6080604052348015600f57600080fd5b506102f78061001f6000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c8063158ef93e146100515780638129fc1c14610073578063b36543a91461007d578063b41a4b19146100a1575b600080fd5b60005461005e9060ff1681565b60405190151581526020015b60405180910390f35b61007b6100b6565b005b61009361008b366004610182565b505060015490565b60405190815260200161006a565b6100a96100c0565b60405161006a919061025a565b6100be6100cf565b56
75b60606100ca610100565b905090565b6100d761010b565b60006100e1610100565b90506000818060200190518101906100f991906102a8565b6001555050565b60606100ca3061013d565b60005460ff161561012e5760405162dc149f60e41b815260040160405180910390fd5b6000805460ff19166001179055565b60405164ffffffffff602c19833b0116808252602090810190602d908301843c60408101815101604052919050565b634e487b7160e01b600052604160045260246000fd5b6000806040838503121561019557600080fd5b82356001600160a01b03811681146101ac57600080fd5b9150602083013567ffffffffffffffff8111156101c857600080fd5b8301601f810185136101d957600080fd5b803567ffffffffffffffff8111156101f3576101f361016c565b604051601f8201601f19908116603f0116810167ffffffffffffffff811182821017156102225761022261016c565b60405281815282820160200187101561023a57600080fd5b816020840160208301376000602083830101528093505050509250929050565b602081526000825180602084015260005b81811015610288576020818601810151604086840101520161026b565b506000604082850101526040601f19601f83011684010191505092915050565b6000602082840312156102ba57600080fd5b505191905056fea2646970667358221220ce23dfbd16237431c52e830b75ffdb0ce5b6357dd649fe19419b0154da85e1dd64736f6c634300081c0033",f=e=>e.length>1;class b extends a.ContractFactory{constructor(...e){f(e)?super(...e):super(r,i,e[0])}getDeployTransaction(e){return super.getDeployTransaction(e||{})}deploy(e){return super.deploy(e||{})}connect(e){return super.connect(e)}static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.ConstantInitialVoiceCreditProxy__factory=b,b.bytecode=i,b.abi=r},99397:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.generateKeypair=void 0;let a=n(68681);t.generateKeypair=({seed:e}={})=>{let t=new a.Keypair(e?new a.PrivateKey(e):void 0);return{publicKeyAsContractParam:t.publicKey.asContractParam(),publicKey:t.publicKey.serialize(),privateKey:t.privateKey.serialize()}}},99544:e=>{var t=/^(?:0|[1-9]\d*)$/;e.exports=function(e,n){var a=typeof e;return!!(n=null==n?0x1fffffffffffff:n)&&("number"==a||"symbol"!=a&&t.test(e))&&e>-1&&e%1==0&&e<n}},99722:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Ownable__factory=void 0;let a=n(27653),r=[{inputs:[{internalType:"address",name:"owner",type:"address"}],name:"OwnableInvalidOwner",type:"error"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"OwnableUnauthorizedAccount",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"}];class i{static createInterface(){return new a.Interface(r)}static connect(e,t){return new a.Contract(e,r,t)}}t.Ownable__factory=i,i.abi=r},99889:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.invalidateVotes=void 0;let a=n(68681),r=n(42669),i=n(18495),f=n(5876),b=n(15013);t.invalidateVotes=async({maciAddress:e,pollId:t,signer:n,maciPrivateKey:s,stateIndex:o})=>{let{poll:c}=await (0,r.getPollContracts)({maciAddress:e,pollId:t,signer:n}),[d,u]=await Promise.all([c.voteOptions(),c.getAddress()]),l=await (0,b.getCoordinatorPublicKey)(u,n),p=(0,i.generateVote)({pollId:t,voteOptionIndex:0n,nonce:1n,privateKey:s,stateIndex:o,newPublicKey:new a.Keypair().publicKey,voteWeight:0n,coordinatorPublicKey:l,maxVoteOption:d});return await (0,f.submitVote)({pollAddress:u,vote:p,signer:n})}}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.