[ { "inputs": [ { "internalType": "string", "name": "name_", "type": "string" }, { "internalType": "string", "name": "symbol_", "type": "string" }, { "internalType": "address", "name": "creator_", "type": "address" }, { "internalType": "address", "name": "protocol_", "type": "address" }, { "components": [ { "internalType": "string", "name": "id", "type": "string" }, { "internalType": "bytes32", "name": "merkleRoot", "type": "bytes32" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "internalType": "struct Token.AirdropWave[]", "name": "airdropWaves_", "type": "tuple[]" }, { "internalType": "bytes32", "name": "rewardsMerkleRoot_", "type": "bytes32" }, { "internalType": "uint256", "name": "amountToDistributeClaimableRewards", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "name": "AllowanceOverflow", "type": "error" }, { "inputs": [], "name": "AllowanceUnderflow", "type": "error" }, { "inputs": [], "name": "BeliefToken_AirdropNotEligible", "type": "error" }, { "inputs": [], "name": "BeliefToken_AirdropWaveNotEnabled", "type": "error" }, { "inputs": [], "name": "BeliefToken_AlreadyClaimed", "type": "error" }, { "inputs": [], "name": "BeliefToken_ClaimableRewardAlreadyMinted", "type": "error" }, { "inputs": [], "name": "BeliefToken_ClaimableRewardDeadlineExceeded", "type": "error" }, { "inputs": [], "name": "BeliefToken_MaxSupplyOverflow", "type": "error" }, { "inputs": [], "name": "BeliefToken_RewardNotEligible", "type": "error" }, { "inputs": [], "name": "BeliefToken_Unauthorized", "type": "error" }, { "inputs": [], "name": "InsufficientAllowance", "type": "error" }, { "inputs": [], "name": "InsufficientBalance", "type": "error" }, { "inputs": [], "name": "InvalidPermit", "type": "error" }, { "inputs": [], "name": "PermitExpired", "type": "error" }, { "inputs": [], "name": "TotalSupplyOverflow", "type": "error" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "spender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "string", "name": "waveId", "type": "string" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" }, { "indexed": false, "internalType": "bytes32[]", "name": "merkleProof", "type": "bytes32[]" } ], "name": "BeliefToken_ClaimAirdropWave", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "string", "name": "waveId", "type": "string" }, { "indexed": false, "internalType": "bytes32", "name": "merkleRoot", "type": "bytes32" } ], "name": "BeliefToken_EnableAirdropWave", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "recipient", "type": "address" }, { "indexed": false, "internalType": "uint8", "name": "rewardType", "type": "uint8" }, { "indexed": false, "internalType": "string", "name": "userId", "type": "string" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "BeliefToken_MintClaimableReward", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "inputs": [], "name": "DOMAIN_SEPARATOR", "outputs": [ { "internalType": "bytes32", "name": "result", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "MAX_SUPPLY", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "waveId", "type": "string" } ], "name": "airdropWaves", "outputs": [ { "internalType": "string", "name": "id", "type": "string" }, { "internalType": "bytes32", "name": "merkleRoot", "type": "bytes32" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "result", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "result", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "burn", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "waveId", "type": "string" }, { "internalType": "uint256", "name": "amount", "type": "uint256" }, { "internalType": "bytes32[]", "name": "merkleProof", "type": "bytes32[]" } ], "name": "claimAirdropWave", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint8", "name": "rewardType", "type": "uint8" }, { "internalType": "string", "name": "userId", "type": "string" }, { "internalType": "uint256", "name": "amount", "type": "uint256" }, { "internalType": "uint256", "name": "deadline", "type": "uint256" }, { "internalType": "bytes32[]", "name": "merkleProof", "type": "bytes32[]" } ], "name": "claimReward", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "waveId", "type": "string" }, { "internalType": "address", "name": "holder", "type": "address" } ], "name": "claimedAirdropWaveStatusOf", "outputs": [ { "internalType": "bool", "name": "claimed", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "userId", "type": "string" } ], "name": "claimedRewardStatusOf", "outputs": [ { "internalType": "bool", "name": "claimed", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "creator", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "waveId", "type": "string" }, { "internalType": "bytes32", "name": "merkleRoot", "type": "bytes32" } ], "name": "enableAirdropWave", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "nonces", "outputs": [ { "internalType": "uint256", "name": "result", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" }, { "internalType": "uint256", "name": "deadline", "type": "uint256" }, { "internalType": "uint8", "name": "v", "type": "uint8" }, { "internalType": "bytes32", "name": "r", "type": "bytes32" }, { "internalType": "bytes32", "name": "s", "type": "bytes32" } ], "name": "permit", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "protocol", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "rewardsMerkleRoot", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "result", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "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": "amount", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" } ]
60c0604052346105c057611e82803803809161001c8260c0610763565b60c03960e081126105c05760c0516001600160401b0381116105c057610049908260c0019060c0016107a9565b60e0516001600160401b0381116105c05761006b908360c0019060c0016107a9565b906100776101006107fd565b6100826101206107fd565b610140519091906001600160401b0381116105c05760c0860160df820112156105c05760c0810151956001600160401b0387116103dc578660051b90604051976100cf602084018a610763565b8852602088019260c0820160e084830101116105c05760e08101935b60e08285010185106106bd575050610160516101805187519198909790945090925090506001600160401b0382116103dc5760005490600182811c921680156106b3575b60208310146103bc5781601f849311610656575b50602090601f83116001146105e4576000926105d9575b50508160011b916000199060031b1c1916176000555b604051634f6a7d2d60e11b81523060048201526020816024816001600160a01b0388165afa9081156105cd5760009161058d575b501561057b5760a08390528051906001600160401b0382116103dc5760015490600182811c92168015610571575b60208310146103bc5781601f849311610516575b50602090601f83116001146104a257600092610497575b50508160011b916000199060031b1c1916176001555b608052600091825b85518410156103f25761022e8487610811565b51610253602061023e878a610811565b51518160405193828580945193849201610786565b8101600381520301902090805180519060018060401b0382116103dc578354600181811c911680156103d2575b60208210146103bc57601f8111610378575b50602090601f83116001146103035760019593836102f096946002946040946000926102f8575b5050600019600383901b1c191690881b1784555b602081015187850155015191015560406102e7878a610811565b5101519061083b565b93019261021b565b0151905038806102b9565b908460005260206000209160005b601f1985168110610360575093600184600294604094839a986102f09a98601f19811610610347575b505050811b0184556102cd565b015160001960f88460031b161c1916905538808061033a565b91926020600181928685015181550194019201610311565b846000526020600020601f840160051c8101602085106103b5575b601f830160051c820181106103a9575050610292565b60008155600101610393565b5080610393565b634e487b7160e01b600052602260045260246000fd5b90607f1690610280565b634e487b7160e01b600052604160045260246000fd5b846005556b033b2e3c9fd0803ce800000091818303928084116104815781830190039283116104815761042b6104309361043695610848565b61083b565b30610848565b604051611504908161093e823960805181610f8b015260a0518181816102f9015281816105760152818161083e01528181610a1201528181610db30152818161100d015261136f0152f35b634e487b7160e01b600052601160045260246000fd5b0151905038806101fd565b60016000908152600080516020611e628339815191529350601f198516905b8181106104fe57509084600195949392106104e5575b505050811b01600155610213565b015160001960f88460031b161c191690553880806104d7565b929360206001819287860151815501950193016104c1565b6001600052909150600080516020611e62833981519152601f840160051c81016020851061056a575b90849392915b601f830160051c8201811061055b5750506101e6565b60008155859450600101610545565b508061053f565b91607f16916101d2565b604051631f9831d360e11b8152600490fd5b90506020813d6020116105c5575b816105a860209383610763565b810103126105c0575180151581036105c057386101a4565b600080fd5b3d915061059b565b6040513d6000823e3d90fd5b01519050388061015a565b6000808052600080516020611e428339815191529350601f198516905b81811061063e5750908460019594939210610625575b505050811b01600055610170565b015160001960f88460031b161c19169055388080610617565b92936020600181928786015181550195019301610601565b60008052909150600080516020611e42833981519152601f840160051c810191602085106106a9575b90601f859493920160051c01905b81811061069a5750610143565b6000815584935060010161068d565b909150819061067f565b91607f169161012f565b84516001600160401b0381116105c057820160c0810191906060908503601f1901126105c05760405191606083016001600160401b0381118482101761074e576040526020810151916001600160401b0383116105c057602093606085949361072f8695868b60c001918401016107a9565b83526040810151858401520151604082015281520195019490506100eb565b60246000634e487b7160e01b81526041600452fd5b601f909101601f19168101906001600160401b038211908210176103dc57604052565b60005b8381106107995750506000910152565b8181015183820152602001610789565b81601f820112156105c05780516001600160401b0381116103dc57604051926107dc601f8301601f191660200185610763565b818452602082840101116105c0576107fa9160208085019101610786565b90565b51906001600160a01b03821682036105c057565b80518210156108255760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b9190820180921161048157565b60a0516001600160a01b03908116908216811480610920575b6108d5575b506805345cdf77eb68f44c8054908382019182106108c757556387a211a2600c526000526020600c20818154019055602052600c5160601c60007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a3565b63e5cfe9576000526004601cfd5b602052637f5e9f20600c52600019806034600c2055600052602c5160601c60007f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925602082a338610866565b5080602052637f5e9f20600c52600080526034600c20541561086156fe6040608081526004908136101561001557600080fd5b600091823560e01c908163028e248514610fba57816302d05d3f14610f7657816306fdde0314610f45578163095ea7b314610eed57816318160ddd14610ec657816323b872dd14610d7f578163313ce56714610d6357816332cb6b0c14610d3d5781633644e51514610cd95781633b78546814610aeb57816342966c68146109fa57816361510f79146107ac57816370a08231146107785781637ecebe001461074457816384920bbd146106e25781638c674c03146105a55781638ce744261461056157816390d2f54e146104de57816395d89b41146103de578163a9059cbb146102d9578163b5890a13146102ba578163d505accf14610157575063dd62ed3e1461012057600080fd5b3461015357806003193601126101535760209061014c61013e6111c1565b6101466111d7565b90611300565b9051908152f35b5080fd5b8383346101535760e0366003190112610153576101726111c1565b61017a6111d7565b60443590606435916084359460ff861686036102b65761019861121d565b9384516020809601208142116102aa5782519760c060018060a01b03809916988997169965383775081901600e52878c5288600c2094855480956000805160206114af83398151915284528b84019081528d89850160008051602061144f8339815191528152606086019c8d469052608087019330855260a08820602e527f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c988525252898b525260a082015220604e526042602c208a5260ff16865260a435835260c435606052858060808b60015afa90873d510361029e5760008051602061148f8339815191529798999a50019055866303faf4f960a51b1790526034602c2055a380f35b8a63ddafbaef8b52601cfd5b89631a15a3cc8a52601cfd5b8680fd5b5050346101535781600319360112610153576020906005549051908152f35b8284346103db57816003193601126103db576102f36111c1565b602435917f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0383811690821614806103ca575b61038e575b506387a211a2600c5233815260209485600c2090815490818611610383575084900390555282600c208181540190558252600c5160601c3360008051602061146f8339815191528480a35160018152f35b63f4d678b88452601cfd5b602052637f5e9f203360601b17600c52600019806034600c20558152602c5160601c3360008051602061148f833981519152602084a385610332565b506103d58133611300565b1561032d565b80fd5b8284346103db57806003193601126103db5781519181600192600154938460011c91600186169586156104d4575b60209687851081146104c1578899509688969785829a52918260001461049a57505060011461045c575b50505061045892916104499103856110e5565b5192828493845283019061119c565b0390f35b9190869350600183528383205b8284106104825750505082010181610449610458610436565b8054848a018601528895508794909301928101610469565b60ff19168782015293151560051b8601909301935084925061044991506104589050610436565b634e487b7160e01b835260228a52602483fd5b92607f169261040c565b90503461055d578160031936011261055d5780356001600160401b0381116105595760209361051360ff93859336910161111e565b6105328661051f6111d7565b9281865193828580945193849201611179565b6002908201908152030190206001600160a01b039091168252855220549151911615158152f35b8380fd5b8280fd5b505034610153578160031936011261015357517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b905082346103db57602090816003193601126103db5782356001600160401b03811161015357826105dc6105ee923690870161111e565b81875193828580945193849201611179565b8101600381520301902090845193818354906001918060011c93600182169081156106d8575b88861082146106c557508489529081156106a3575060011461066d575b50505093610644846106629603856110e5565b6002600183015492015491815195869560608752606087019061119c565b938501528301520390f35b92508383528483205b828410610690575050508301820161064484610662610631565b8054878501870152928501928101610676565b60ff191687890152505050151560051b84018301905061064484610662610631565b634e487b7160e01b845260229052602483fd5b94607f1694610614565b8284346103db5760203660031901126103db578235906001600160401b0382116103db57506107306020809461071d60ff943690830161111e565b9082865194838680955193849201611179565b820190815203019020541690519015158152f35b505034610153576020366003190112610153576020916107626111c1565b906338377508600c525281600c20549051908152f35b505034610153576020366003190112610153576020916107966111c1565b906387a211a2600c525281600c20549051908152f35b8383346101535760c0366003190112610153576107c76111c1565b6024359060ff8216908183036109f6576001600160401b03906044358281116102b6576107f7903690890161111e565b96606435906084359360a4359081116109f25761081790369083016111ed565b88516302abd8c960e11b815233848201526020986001600160a01b03979392918a816024817f00000000000000000000000000000000000000000000000000000000000000008d165afa9081156109e8578d916109bb575b50156109ab578c60ff8c518c8181855195019461088d818388611179565b81018a815203019020541661099b57918b918e61091560618e61091e98978b828951809288516108be818488611179565b820190815203019020600160ff198254161790556108f9600554985195869384019760ff60f81b9060f81b1688525180926021850190611179565b81018c60218201528a60418201520360418101845201826110e5565b51902092611318565b1561098c57421161097e57506109727f4d626eef2437175e7ff14c8c9eab13e0469bca83b3d06af7414a4c9624cd5ac096979861095c838530611363565b606089519788978852870152606086019061119c565b9684015216930390a280f35b865163174a317160e31b8152fd5b50865163901fde7d60e01b8152fd5b8b516306dfe52560e31b81528690fd5b8a51631f9831d360e11b81528590fd5b6109db91508b3d8d116109e1575b6109d381836110e5565b8101906112e8565b8e61086f565b503d6109c9565b8c513d8f823e3d90fd5b8880fd5b8480fd5b839034610153576020366003190112610153578035907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0381161580610ada575b610a9e575b506387a211a2600c523383526020600c2090815490818411610a93575082900390556805345cdf77eb68f44c8181540390558152803360008051602061146f833981519152602083a380f35b63f4d678b88552601cfd5b602052637f5e9f203360601b17600c52600019806034600c20558352602c5160601c3360008051602061148f833981519152602086a383610a47565b50610ae58133611300565b15610a42565b9190503461055d57606036600319011261055d576001600160401b0382358181116109f657610b1d903690850161111e565b91602435936044358381116102b657610b3990369083016111ed565b92909181519486516020968781818b0193610b55818387611179565b81016002815203019020338b52875260ff848b205416610cc9576001845188818b51610b82818388611179565b81016003815203019020015415610cb957610bd887600192865182818d51610bab818387611179565b810160028152030190208d3390528252868d208460ff198254161790558651809381928d51928391611179565b810160038152030190200154908351878101913360601b83528a603483015260348252606082019082821090821117610ca6578552519020610c1b918686611318565b15610c985750610c2c863330611363565b610c4081519560608752606087019061119c565b85850196909652848603908501528185526001600160fb1b038211610c94577f26065fb4d131171e2476eb17b938a9e211cf521be70d22c52c83244ce1c54d8a94849260051b80928583013701030190a180f35b8580fd5b9051635b64090160e11b8152fd5b634e487b7160e01b8c526041855260248cfd5b835163fb5f54ef60e01b81528390fd5b83516306dfe52560e31b81528390fd5b50503461015357816003193601126101535760209060a0610cf861121d565b8381519101208251906000805160206114af83398151915282528482015260008051602061144f83398151915283820152466060820152306080820152209051908152f35b50503461015357816003193601126101535751676765c793fa10079d601b1b8152602090f35b5050346101535781600319360112610153576020905160128152f35b8284346103db5760603660031901126103db57610d9a6111c1565b90610da36111d7565b6001600160a01b039190604435907f00000000000000000000000000000000000000000000000000000000000000008482168582161480610eb5575b610e77575b508460601b92602097338952600c94637f5e9f208117865260348620805460018101610e54575b50506387a211a217855288852090815490818611610383575084900390555285822081815401905585525160601c911660008051602061146f8339815191528480a35160018152f35b808711610e6b5786900390556387a211a28b610e0b565b836313be252b8652601cfd5b602052637f5e9f208560601b17600c52600019806034600c20558352602c5160601c84861660008051602061148f833981519152602086a387610de4565b50610ec08187611300565b15610ddf565b5050346101535781600319360112610153576020906805345cdf77eb68f44c549051908152f35b505034610153578060031936011261015357602091610f0a6111c1565b602435908452637f5e9f20600c52338252806034600c20558152602c5160601c9060008051602061148f833981519152843392a35160018152f35b50503461015357816003193601126101535761045890610f6361121d565b905191829160208352602083019061119c565b505034610153578160031936011261015357517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b83833461015357806003193601126101535782356001600160401b03811161055d57610fe9903690850161111e565b8151630bda7b5560e21b8152338582015290919060209060248035919083908290817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa9081156110db5786916110be575b50156110ae577f08f9536f4dbd4a3a46a8531d13a42875526412cad47ce602b0b77d30667b861f9495508060018451848188516110858183858d01611179565b8101600381520301902001556110a4835194848695865285019061119c565b918301520390a180f35b8251631f9831d360e11b81528690fd5b6110d59150833d85116109e1576109d381836110e5565b87611045565b84513d88823e3d90fd5b601f909101601f19168101906001600160401b0382119082101761110857604052565b634e487b7160e01b600052604160045260246000fd5b81601f82011215611174578035906001600160401b0382116111085760405192611152601f8401601f1916602001856110e5565b8284526020838301011161117457816000926020809301838601378301015290565b600080fd5b60005b83811061118c5750506000910152565b818101518382015260200161117c565b906020916111b581518092818552858086019101611179565b601f01601f1916010190565b600435906001600160a01b038216820361117457565b602435906001600160a01b038216820361117457565b9181601f84011215611174578235916001600160401b038311611174576020808501948460051b01011161117457565b60405190600080549060018260011c90600184169384156112de575b60209485841081146112ca57838852879493929181156112aa575060011461126c575b505061126a925003836110e5565b565b600080805285812095935091905b81831061129257505061126a9350820101388061125c565b8554888401850152948501948794509183019161127a565b91505061126a94925060ff191682840152151560051b820101388061125c565b634e487b7160e01b85526022600452602485fd5b91607f1691611239565b90816020910312611174575180151581036111745790565b90602052637f5e9f20600c526000526034600c205490565b81939293611327575b50501490565b60059291831b8101915b8135808211851b918252602080921852604060002091019282841015611358579290611331565b509150503880611321565b916001600160a01b03917f0000000000000000000000000000000000000000000000000000000000000000838216848216148061143d575b6113fd575b506387a211a28460601b17600c526020600c2080548084116113ef5783900390556000526020600c20818154019055602052600c5160601c911660008051602061146f833981519152602080a3565b63f4d678b86000526004601cfd5b602052637f5e9f208460601b17600c52600019806034600c2055600052602c5160601c83851660008051602061148f83398151915260206000a3386113a0565b506114488186611300565b1561139b56fec89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400fa2646970667358221220d98eaa61bece6dd59c0afcc6d259fb9342b6b37b5096ad68eb8b96e78eefda9b64736f6c63430008190033290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563b10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf600000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000001200000000000000000000000004a1edfabe0758a7f02834fd25b4b4c551d924dba0000000000000000000000007a306c63a1ccc180cbf60fa2a92fbb31e16904f4000000000000000000000000000000000000000000000000000000000000016085255d335cb888570d1891df3be67080ee078c4f80e6e1868affb4cb727d03740000000000000000000000000000000000000000000422ca8b0a00a42500000000000000000000000000000000000000000000000000000000000000000000074d4645524750540000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000074d464552504754000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000