Source Code
Overview
ETH Balance
0 ETH
More Info
ContractCreator
Multichain Info
N/A
Loading...
Loading
Contract Source Code (Solidity Standard Json-Input format)
Contract ABI
API[{"inputs":[],"name":"OnlyCoin","type":"error"},{"inputs":[],"name":"OnlyGame","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"player","type":"address"},{"indexed":true,"internalType":"uint24","name":"level","type":"uint24"},{"indexed":false,"internalType":"uint8","name":"questType","type":"uint8"},{"indexed":false,"internalType":"uint256","name":"reward","type":"uint256"}],"name":"LevelQuestCompleted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"player","type":"address"},{"indexed":true,"internalType":"uint24","name":"day","type":"uint24"},{"indexed":true,"internalType":"uint8","name":"slot","type":"uint8"},{"indexed":false,"internalType":"uint8","name":"questType","type":"uint8"},{"indexed":false,"internalType":"uint32","name":"streak","type":"uint32"},{"indexed":false,"internalType":"uint256","name":"reward","type":"uint256"}],"name":"QuestCompleted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"player","type":"address"},{"indexed":true,"internalType":"uint24","name":"day","type":"uint24"},{"indexed":true,"internalType":"uint8","name":"slot","type":"uint8"},{"indexed":false,"internalType":"uint8","name":"questType","type":"uint8"},{"indexed":false,"internalType":"uint128","name":"progress","type":"uint128"},{"indexed":false,"internalType":"uint256","name":"target","type":"uint256"}],"name":"QuestProgressUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint24","name":"day","type":"uint24"},{"indexed":true,"internalType":"uint8","name":"slot","type":"uint8"},{"indexed":false,"internalType":"uint8","name":"questType","type":"uint8"},{"indexed":false,"internalType":"uint8","name":"flags","type":"uint8"},{"indexed":false,"internalType":"uint24","name":"version","type":"uint24"}],"name":"QuestSlotRolled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"player","type":"address"},{"indexed":false,"internalType":"uint16","name":"amount","type":"uint16"},{"indexed":false,"internalType":"uint24","name":"newStreak","type":"uint24"},{"indexed":false,"internalType":"uint24","name":"currentDay","type":"uint24"}],"name":"QuestStreakBonusAwarded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"player","type":"address"},{"indexed":false,"internalType":"uint24","name":"previousStreak","type":"uint24"},{"indexed":false,"internalType":"uint24","name":"currentDay","type":"uint24"}],"name":"QuestStreakReset","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"player","type":"address"},{"indexed":false,"internalType":"uint16","name":"amount","type":"uint16"},{"indexed":false,"internalType":"uint8","name":"newTotal","type":"uint8"}],"name":"QuestStreakShieldGranted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"player","type":"address"},{"indexed":false,"internalType":"uint16","name":"used","type":"uint16"},{"indexed":false,"internalType":"uint16","name":"remaining","type":"uint16"},{"indexed":false,"internalType":"uint24","name":"currentDay","type":"uint24"}],"name":"QuestStreakShieldUsed","type":"event"},{"inputs":[{"internalType":"address","name":"player","type":"address"},{"internalType":"uint16","name":"amount","type":"uint16"},{"internalType":"uint24","name":"currentDay","type":"uint24"}],"name":"awardQuestStreakBonus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"player","type":"address"},{"internalType":"uint16","name":"amount","type":"uint16"}],"name":"awardQuestStreakShield","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"player","type":"address"},{"internalType":"uint24","name":"currentDay","type":"uint24"}],"name":"beginAfking","outputs":[{"internalType":"uint24","name":"streak","type":"uint24"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"player","type":"address"}],"name":"effectiveBaseStreak","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"player","type":"address"}],"name":"effectiveBaseStreakAndAfking","outputs":[{"internalType":"uint32","name":"streak","type":"uint32"},{"internalType":"bool","name":"afking","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"player","type":"address"},{"internalType":"uint24","name":"earnedStreak","type":"uint24"},{"internalType":"uint24","name":"afkingCoveredDay","type":"uint24"},{"internalType":"uint24","name":"currentDay","type":"uint24"}],"name":"finalizeAfking","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getActiveQuests","outputs":[{"components":[{"internalType":"uint24","name":"day","type":"uint24"},{"internalType":"uint8","name":"questType","type":"uint8"},{"internalType":"bool","name":"highDifficulty","type":"bool"},{"components":[{"internalType":"uint32","name":"mints","type":"uint32"},{"internalType":"uint256","name":"tokenAmount","type":"uint256"}],"internalType":"struct QuestRequirements","name":"requirements","type":"tuple"}],"internalType":"struct QuestInfo[2]","name":"quests","type":"tuple[2]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"player","type":"address"}],"name":"getPlayerLevelQuestView","outputs":[{"internalType":"uint8","name":"questType","type":"uint8"},{"internalType":"uint128","name":"progress","type":"uint128"},{"internalType":"uint256","name":"target","type":"uint256"},{"internalType":"bool","name":"completed","type":"bool"},{"internalType":"bool","name":"eligible","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"player","type":"address"}],"name":"getPlayerQuestView","outputs":[{"components":[{"components":[{"internalType":"uint24","name":"day","type":"uint24"},{"internalType":"uint8","name":"questType","type":"uint8"},{"internalType":"bool","name":"highDifficulty","type":"bool"},{"components":[{"internalType":"uint32","name":"mints","type":"uint32"},{"internalType":"uint256","name":"tokenAmount","type":"uint256"}],"internalType":"struct QuestRequirements","name":"requirements","type":"tuple"}],"internalType":"struct QuestInfo[2]","name":"quests","type":"tuple[2]"},{"internalType":"uint128[2]","name":"progress","type":"uint128[2]"},{"internalType":"bool[2]","name":"completed","type":"bool[2]"},{"internalType":"uint24","name":"lastCompletedDay","type":"uint24"},{"internalType":"uint32","name":"baseStreak","type":"uint32"}],"internalType":"struct PlayerQuestView","name":"viewData","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"player","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"handleAffiliate","outputs":[{"internalType":"uint256","name":"reward","type":"uint256"},{"internalType":"uint8","name":"questType","type":"uint8"},{"internalType":"uint32","name":"streak","type":"uint32"},{"internalType":"bool","name":"completed","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"player","type":"address"},{"internalType":"uint256","name":"burnAmount","type":"uint256"}],"name":"handleDecimator","outputs":[{"internalType":"uint256","name":"reward","type":"uint256"},{"internalType":"uint8","name":"questType","type":"uint8"},{"internalType":"uint32","name":"streak","type":"uint32"},{"internalType":"bool","name":"completed","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"player","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bool","name":"paidWithEth","type":"bool"},{"internalType":"uint256","name":"mintPrice","type":"uint256"}],"name":"handleDegenerette","outputs":[{"internalType":"uint256","name":"reward","type":"uint256"},{"internalType":"uint8","name":"questType","type":"uint8"},{"internalType":"uint32","name":"streak","type":"uint32"},{"internalType":"bool","name":"completed","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"player","type":"address"},{"internalType":"uint256","name":"flipCredit","type":"uint256"}],"name":"handleFlip","outputs":[{"internalType":"uint256","name":"reward","type":"uint256"},{"internalType":"uint8","name":"questType","type":"uint8"},{"internalType":"uint32","name":"streak","type":"uint32"},{"internalType":"bool","name":"completed","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"player","type":"address"},{"internalType":"uint256","name":"ethMintSpendWei","type":"uint256"},{"internalType":"uint32","name":"flipMintQty","type":"uint32"},{"internalType":"uint256","name":"lootBoxAmount","type":"uint256"},{"internalType":"uint256","name":"mintPrice","type":"uint256"},{"internalType":"uint256","name":"levelQuestPrice","type":"uint256"}],"name":"handleFoilPurchase","outputs":[{"internalType":"uint256","name":"reward","type":"uint256"},{"internalType":"uint8","name":"questType","type":"uint8"},{"internalType":"bool","name":"completed","type":"bool"},{"internalType":"uint32","name":"streakSnapshot","type":"uint32"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"player","type":"address"},{"internalType":"uint32","name":"quantity","type":"uint32"},{"internalType":"bool","name":"paidWithEth","type":"bool"},{"internalType":"uint256","name":"mintPrice","type":"uint256"}],"name":"handleMint","outputs":[{"internalType":"uint256","name":"reward","type":"uint256"},{"internalType":"uint8","name":"questType","type":"uint8"},{"internalType":"uint32","name":"streak","type":"uint32"},{"internalType":"bool","name":"completed","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"player","type":"address"},{"internalType":"uint256","name":"ethMintSpendWei","type":"uint256"},{"internalType":"uint32","name":"flipMintQty","type":"uint32"},{"internalType":"uint256","name":"lootBoxAmount","type":"uint256"},{"internalType":"uint256","name":"mintPrice","type":"uint256"},{"internalType":"uint256","name":"levelQuestPrice","type":"uint256"}],"name":"handlePurchase","outputs":[{"internalType":"uint256","name":"reward","type":"uint256"},{"internalType":"uint8","name":"questType","type":"uint8"},{"internalType":"uint32","name":"streak","type":"uint32"},{"internalType":"bool","name":"completed","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"player","type":"address"}],"name":"playerQuestStates","outputs":[{"internalType":"uint32","name":"streak","type":"uint32"},{"internalType":"uint24","name":"lastCompletedDay","type":"uint24"},{"internalType":"uint128[2]","name":"progress","type":"uint128[2]"},{"internalType":"bool[2]","name":"completed","type":"bool[2]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"player","type":"address"}],"name":"questCompletionToday","outputs":[{"internalType":"bool","name":"slot0","type":"bool"},{"internalType":"bool","name":"slot1","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint24","name":"day","type":"uint24"},{"internalType":"uint256","name":"entropy","type":"uint256"},{"internalType":"bool","name":"forceMintFlip","type":"bool"},{"internalType":"bool","name":"forceFoil","type":"bool"}],"name":"rollDailyQuest","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"entropy","type":"uint256"}],"name":"rollLevelQuest","outputs":[],"stateMutability":"nonpayable","type":"function"}]Contract Creation Code
60808060405234601557614c03908161001a8239f35b5f80fdfe6101406040526004361015610012575f80fd5b5f3560e01c80623ea7e614610e57578063029a8c5814610d2257806308dbe95814610cd3578063165ebc7214610c6b5780631a509b1d14610bb4578063238d5f8214610b5e578063343f96fc14610af25780633d028b2014610a9c5780635911b2a214610a385780635b63b2ee1461098e57806372ecc4d01461094757806384f3bf3314610709578063872ec84314610666578063a2662645146105bc578063bd1e416414610523578063cc4734e114610393578063d8644ba2146102cf578063dfd2397c146101c8578063e410f7ad146101615763e6317b1c146100f5575f80fd5b3461015d57604036600319011261015d5761010e610fe8565b610116611031565b5f516020614bae5f395f51905f5233036101355761013391611f4c565b005b7fc401befa000000000000000000000000000000000000000000000000000000005f5260045ffd5b5f80fd5b3461015d57602036600319011261015d576001600160a01b03610182610fe8565b165f52600160205260206101ba60405f2061019b61201c565b506101b56101af6101aa612050565b612084565b916110e0565b613660565b63ffffffff60405191168152f35b3461015d57604036600319011261015d576101e1610fe8565b7351724cff9c5c02cc8f6cea97bec1c8ce8df46a6e331415806102b1575b8061029a575b8061027c575b6102545761021f6102509160243590611dd7565b6040805194855260ff909316602085015263ffffffff90911691830191909152151560608201529081906080820190565b0390f35b7f53d2169f000000000000000000000000000000000000000000000000000000005f5260045ffd5b5073d5fcb49dc8cf9d8de90e6b4c49dcd3b8c9c0aeb333141561020b565b505f516020614bae5f395f51905f52331415610205565b507302c5566942d205e9ade4c8dd052ad137d48235cb3314156101ff565b3461015d57608036600319011261015d576102e8610fe8565b60243563ffffffff8116810361015d57610300611022565b917351724cff9c5c02cc8f6cea97bec1c8ce8df46a6e33141580610375575b8061035e575b80610340575b610254576102509261021f9260643592611ba6565b5073d5fcb49dc8cf9d8de90e6b4c49dcd3b8c9c0aeb333141561032b565b505f516020614bae5f395f51905f52331415610325565b507302c5566942d205e9ade4c8dd052ad137d48235cb33141561031f565b3461015d57602036600319011261015d576103ac610fe8565b5f5f906002549160ff8316926001600160a01b0385165f52600360205260ff60405f20549160081c1660ff8216148061051a575b6104fb575b50604051631a05f1db60e21b81526020816004815f516020614bae5f395f51905f525afa80156104bc575f906104c7575b610421915084614468565b60405194636fd5ae1560e01b86526020866004815f516020614bae5f395f51905f525afa9586156104bc5760a0966001600160801b0392610469925f9261048b575b5061451b565b9360405195865216602085015260408401521515606083015215156080820152f35b6104ae91925060203d6020116104b5575b6104a681836110be565b810190611b78565b9089610463565b503d61049c565b6040513d5f823e3d90fd5b506020813d6020116104f3575b816104e1602093836110be565b8101031261015d576104219051610416565b3d91506104d4565b9150506001806001600160801b038360081c169260881c1614846103e5565b508315156103e0565b3461015d5761053136611042565b5f516020614bae5f395f51905f52959294919533036101355760809560ff9563ffffffff956105609486613dfc565b92959190506001600160a01b0384165f5260016020526105a161058e60405f206101b56101af6101aa612050565b94610598816141f9565b505050506142d2565b60405195865216602085015215156040840152166060820152f35b3461015d57604036600319011261015d576105d5610fe8565b7351724cff9c5c02cc8f6cea97bec1c8ce8df46a6e33141580610648575b80610631575b80610613575b6102545761021f6102509160243590611aca565b5073d5fcb49dc8cf9d8de90e6b4c49dcd3b8c9c0aeb33314156105ff565b505f516020614bae5f395f51905f523314156105f9565b507302c5566942d205e9ade4c8dd052ad137d48235cb3314156105f3565b3461015d5761067436611042565b927351724cff9c5c02cc8f6cea97bec1c8ce8df46a6e959495929192331415806106eb575b806106d4575b806106b6575b610254576102509561021f95613dfc565b5073d5fcb49dc8cf9d8de90e6b4c49dcd3b8c9c0aeb33314156106a5565b505f516020614bae5f395f51905f5233141561069f565b507302c5566942d205e9ade4c8dd052ad137d48235cb331415610699565b3461015d57602036600319011261015d57610722610fe8565b60405160a0810181811067ffffffffffffffff82111761093357604052610747611213565b815260208101604091825161075c84826110be565b833682378252828101835161077185826110be565b84368237815260608201945f8652608083015f815261078e61201c565b50610797612050565b6001600160a01b036107a882612084565b93165f5260016020526107bc875f206110e0565b9162ffffff835116895263ffffffff6107d58585613660565b1681525f5b60ff8116600281101561084757818161083f818c8c6001600160801b03610836848f8f8f8f9160ff9e61081d9260019f6108179061082c96611199565b516121b6565b92919b90975198519351611199565b9015159052611199565b91169052611199565b5201166107da565b82888c898c8e519351845f905b600282106108dc575050505161014084015f905b600282106108bd575050505161018083015f905b600282106108a5576102008563ffffffff8862ffffff8851166101c084015251166101e0820152f35b6020806001928551151581520193019101909161087c565b6020806001926001600160801b03865116815201930191019091610868565b60206109286001928551906020606060a09362ffffff815116845260ff838201511683850152604081015115156040850152015163ffffffff8151166060840152015160808201520190565b930191019091610854565b634e487b7160e01b5f52604160045260245ffd5b3461015d57606036600319011261015d57610960610fe8565b610968611031565b610970611010565b905f516020614bae5f395f51905f523303610135576101339261191b565b3461015d57604036600319011261015d576109a7610fe8565b7351724cff9c5c02cc8f6cea97bec1c8ce8df46a6e33141580610a1a575b80610a03575b806109e5575b6102545761021f6102509160243590611723565b5073d5fcb49dc8cf9d8de90e6b4c49dcd3b8c9c0aeb33314156109d1565b505f516020614bae5f395f51905f523314156109cb565b507302c5566942d205e9ade4c8dd052ad137d48235cb3314156109c5565b3461015d57602036600319011261015d575f516020614bae5f395f51905f5233036101355760ff610a72610a6a613722565b60043561385f565b166002549061ff00600160ff83811986161760081c160160081b169161ffff191617176002555f80f35b3461015d57608036600319011261015d5760043562ffffff8116810361015d57610ac4611022565b60643590811515820361015d575f516020614bae5f395f51905f5233036101355761013392602435906115bd565b3461015d57602036600319011261015d576001600160a01b03610b13610fe8565b165f5260016020526040610b28815f206110e0565b610b3061201c565b5060a0610b47610b416101aa612050565b83613660565b910151151563ffffffff8351921682526020820152f35b3461015d57608036600319011261015d57610b77610fe8565b610b7f610ffe565b610b87611010565b6064359162ffffff8316830361015d575f516020614bae5f395f51905f5233036101355761013393611467565b3461015d57608036600319011261015d57610bcd610fe8565b610bd5611022565b7351724cff9c5c02cc8f6cea97bec1c8ce8df46a6e33141580610c4d575b80610c36575b80610c18575b610254576102509161021f9160643591602435906112bc565b5073d5fcb49dc8cf9d8de90e6b4c49dcd3b8c9c0aeb3331415610bff565b505f516020614bae5f395f51905f52331415610bf9565b507302c5566942d205e9ade4c8dd052ad137d48235cb331415610bf3565b3461015d57602036600319011261015d576040610c86610fe8565b6001600160a01b03610c96612050565b91165f526001602052610cc3610cad835f206110e0565b6020610cba845183612113565b9301519061214a565b8251911515825215156020820152f35b3461015d57604036600319011261015d57610cec610fe8565b610cf4610ffe565b905f516020614bae5f395f51905f52330361013557602091610d1591611247565b62ffffff60405191168152f35b3461015d575f36600319011261015d57610d3a611213565b610d4261201c565b50610d4b612050565b610d5481612084565b9060405191610d6283611085565b5f83525f60208401525f60408401525f60608401525f60808401525f60a08401525f60c08401525f60e08401525f6101008401525f6101208401525f6101408401525f6101608401525f6101808401525f5b60ff81166002811015610deb578181610de3610dda8660ff968a6108176001988c611199565b50509189611199565b520116610db4565b604051865f825b60028210610e005761014084f35b6020610e4c6001928551906020606060a09362ffffff815116845260ff838201511683850152604081015115156040850152015163ffffffff8151166060840152015160808201520190565b930191019091610df2565b3461015d57602036600319011261015d57610e70610fe8565b604090815190610e8083836110be565b82368337825191610e9184846110be565b833684376001600160a01b03610ea5612050565b92165f526001602052610eb9845f206110e0565b610ec283612084565b9161ffff6060830151169362ffffff835116945f5b60ff81166002811015610f7f578181610f5f610f5860ff958b8a858d610f0c610f0260019b8f611199565b51948686846120a4565b15610f6b576001600160801b039182610f47610f4e93610f418f610f3a8b61ffff9260208d015116946120f6565b16916146bc565b90611b93565b1693611199565b911690528b61217b565b918c611199565b90151590520116610ed7565b50610f4e6001600160801b03915f93611199565b89518381526020810189905289865f838e015b60028210610fc957505050608082015f905b60028210610fb15760c084f35b60208060019285511515815201930191019091610fa4565b6020806001926001600160801b03865116815201930191019091610f92565b600435906001600160a01b038216820361015d57565b6024359062ffffff8216820361015d57565b6044359062ffffff8216820361015d57565b60443590811515820361015d57565b6024359061ffff8216820361015d57565b60c090600319011261015d576004356001600160a01b038116810361015d57906024359060443563ffffffff8116810361015d5790606435906084359060a43590565b6101a0810190811067ffffffffffffffff82111761093357604052565b6080810190811067ffffffffffffffff82111761093357604052565b90601f8019910116810190811067ffffffffffffffff82111761093357604052565b906040516110ed81611085565b61018060ff82945462ffffff8116845262ffffff8160181c16602085015262ffffff8160301c16604085015261ffff8160481c16606085015261ffff8160581c166080850152818160681c16151560a085015262ffffff8160701c1660c085015262ffffff8160881c1660e085015261ffff8160a01c1661010085015261ffff8160b01c16610120850152818160c01c16610140850152818160c81c1661016085015260d01c16910152565b9060028110156111aa5760051b0190565b634e487b7160e01b5f52603260045260245ffd5b604051906040820182811067ffffffffffffffff821117610933576040525f6020838281520152565b604051906111f4826110a2565b815f81525f60208201525f6040820152606061120e6111be565b910152565b60408051919061122381846110be565b825f5b82811061123257505050565b60209061123d6111e7565b8184015201611226565b9190916001600160a01b03811680156112b5575f52600160205260405f209262ffffff81166112a4575b50508154916d010000000000000000000000000061ffff8460481c16936dff000000000000000000000000001916179055565b6112ae918461236d565b5f80611271565b505f925050565b919392906112c8612050565b6112d181612084565b6001600160a01b03851696875f52600160205260405f2097158015611435575b8015611428575b6114065761130782878a61236d565b156113fe576007915b61131b8383836127a4565b9160ff808416146113dc578282879261133d8a8098976113449d9e9f9761308b565b948c61337e565b94909192859293948196806113d3575b61135c575050565b7302c5566942d205e9ade4c8dd052ad137d48235cb3b1561015d576040516303e8b68b60e41b81526001600160a01b0391909116600482015260248101919091525f81604481837302c5566942d205e9ade4c8dd052ad137d48235cb5af180156104bc576113c75750565b5f6113d1916110be565b565b50811515611354565b5050505094916113f0918661ffff95612e1b565b5460481c16905f9291905f90565b600891611310565b505061ffff935060ff92506020915051015116925460481c16905f9291905f90565b5062ffffff8216156112f8565b5083156112f1565b62ffffff60019116019062ffffff821161145357565b634e487b7160e01b5f52601160045260245ffd5b6001600160a01b03811693919284156115b657845f52600160205260405f2080549060ff8260681c16156115ad577fb8b6f7349e596cc2586f872966c424c8e10e18481d6acfd53c338509dab809959560609562ffffff949360181c851685851681116115a5575b50848391168015908115611590575b50156115845761152791955b8686169661ffff881115611577575061152261ffff5b835461ffff60481b191660489190911b6affff00000000000000000016178355565b6134e3565b805465ffffff0000001916601883901b65ffffff0000001617815582821683198254161781556dff00000000000000000000000000198154169055604051925f84526020840152166040820152a2565b61ffff6115229116611500565b61152791505f956114ea565b90508561159c8661143d565b1610155f6114de565b9350846114cf565b50505050505050565b5050505050565b916115c6612050565b9362ffffff808651511694168094146115b657847fccf03fbc67d9547092fc01743ea0143d5c703aa0bc5367928464466ee19efbb893606093602093600185819a518a815201525f146116b45750506fffffffffffffffff000000000000000061168167ffffffffffffffff6116656004945b8681019560ff8751918c83521697889101525163ff000000602062ffffff83511692015160181b161790565b16925163ff000000602062ffffff83511692015160181b161790565b60401b16175f555f848484604051898152846020820152836040820152a36040519081525f6020820152836040820152a3565b156116e257506fffffffffffffffff000000000000000061168167ffffffffffffffff611665600994611639565b61168167ffffffffffffffff61166561171d6fffffffffffffffff00000000000000009461170e613722565b908060801b9060801c176139f4565b94611639565b919061172d612050565b61173681612084565b916001600160a01b03851691825f52600160205260405f2095831580156118fb575b80156118ee575b6118cd5761176e85828961236d565b6117788382612816565b61178285836125c2565b93909460ff85169060ff82146118b1576117c16117a089888d613b73565b6117bb60208a01956117b560ff8851166146bc565b90612e8d565b90613c27565b916117cd83888d613c46565b6117d78789612eab565b9261ffff60ff8651169116927f253e49f6f3f3373581cf4d9c8c2f75ea79225d2e7b42122ad0de8b785c2b7ddb62ffffff8c6118696001600160801b03611826611820886146bc565b8a611b93565b1661183d61183760ff8d51166146bc565b8b611b93565b906040519485941697846001600160801b0360409295949360ff60608401971683521660208201520152565b0390a4106118935761187b8489613cdd565b61189357509561188b9596613d12565b929391929091565b9250505061ffff925060ff91505116925460481c16905f9291905f90565b50505050505050509061ffff905460481c165f91600291905f90565b5061ffff935060ff92506020915051015116925460481c16905f9291905f90565b5062ffffff85161561175f565b508215611758565b63ffffffff60059116019063ffffffff821161145357565b90915f916001600160a01b0381169384158015611abe575b8015611ab1575b6115b657845f52600160205260405f2061195584848361236d565b60ff815460681c16611a585761ffff80825460481c16921680920163ffffffff8111611a4457926060949261ffff9287957fb8b6f7349e596cc2586f872966c424c8e10e18481d6acfd53c338509dab809959850818563ffffffff8316115f14611a38576119e5915085945b815461ffff60481b1916604887901b6affff000000000000000000161782556134e3565b62ffffff815460181c169462ffffff8116809610611a15575b5050604051945084521660208301526040820152a2565b815465ffffff000000191660189190911b65ffffff000000161790555f806119fe565b856119e59216946119c1565b602486634e487b7160e01b81526011600452fd5b50925050505f516020614bae5f395f51905f523b1561015d5761ffff90604051926329ed64a760e21b845260048401521660248201525f81604481835f516020614bae5f395f51905f525af180156104bc576113c75750565b5062ffffff83161561193a565b5061ffff811615611933565b9190611ad4612050565b611add81612084565b916001600160a01b03851691825f52600160205260405f209583158015611b70575b8015611b63575b6118cd57611b1585828961236d565b611b1f8382612b49565b611b298583612630565b93909460ff85169060ff8214611b47576117c16117a089888d613b73565b50505050505050509061ffff905460481c165f91600391905f90565b5062ffffff851615611b06565b508215611aff565b9081602091031261015d575162ffffff8116810361015d5790565b8181029291811591840414171561145357565b92919390611bb2612050565b93611bbc85612084565b955f946001600160a01b03831696875f52600160205260405f2097158015611dc9575b8015611dbc575b611d9957611bf589858a61236d565b8215611d9057600180995b895460481c61ffff16998515611d88575f935b611c2060ff861682611199565b519462ffffff86511662ffffff85161480611d75575b15611d38579086939291611c7398999a858b5f14611d295763ffffffff611c5d9216611b93565b9687925b611c6c87848461308b565b948d61337e565b949194939093611c8a5750505050505b8193929190565b9296509296509293501580611d20575b611ca8575b50929190600190565b7302c5566942d205e9ade4c8dd052ad137d48235cb3b1561015d576040516303e8b68b60e41b81526001600160a01b03919091166004820152602481018290525f81604481837302c5566942d205e9ade4c8dd052ad137d48235cb5af180156104bc5715611c9f575f611d1a916110be565b5f611c9f565b50811515611c9a565b5063ffffffff16968792611c61565b50505050505091905f14611d6457611d598263ffffffff611d5f9516611b93565b90612c2d565b611c83565b611d5f9263ffffffff169150612bbb565b5060ff60208701511660ff861614611c36565b600193611c13565b60098099611c00565b516020015196545f985060ff979097169660481c61ffff16955087949350505050565b5062ffffff891615611be6565b5063ffffffff851615611bdf565b919091611de2612050565b92611dec84612084565b906001600160a01b03831690815f52600160205260405f209582158015611f37575b8015611f2a575b611f0957611e2484868961236d565b611e2e8286612cc7565b611e38848261268d565b92909360ff84169060ff8214611eed57611e6b611e5688878d613b73565b6117bb60208901956117b560ff8851166146bc565b91611e7783878d613c46565b611e818688612eab565b9261ffff60ff8651169116927f253e49f6f3f3373581cf4d9c8c2f75ea79225d2e7b42122ad0de8b785c2b7ddb62ffffff8b611eca6001600160801b03611826611820886146bc565b0390a41061189357611edc8389613cdd565b611893575084959661134495613d12565b50505050505050509061ffff905460481c165f91600591905f90565b516020015195545f9660ff169560489190911c61ffff169450869350915050565b5062ffffff841615611e15565b508115611e0e565b9190820180921161145357565b6001600160a01b03169081158015612010575b61200c577f86983f176209bcfaea3ee23dc02d634807e4db86aa1b440549a90283deec947b90825f52600160205260405f2090611fa860ff835460c81c1661ffff831690611f3f565b60ff811115611fe95750815460ff60c81b191660ff60c81b1790915560ff905b6040805161ffff909216825260ff909216602082015290819081015b0390a2565b60ff611fc8911680939060ff60c81b1960ff60c81b83549260c81b169116179055565b5050565b5061ffff811615611f5f565b60408051919061202c81846110be565b825f5b82811061203b57505050565b6020906120466111be565b818401520161202f565b61205861201c565b9061207d67ffffffffffffffff5f5461207282821661469d565b855260401c1661469d565b6020830152565b62ffffff815151168061209f5750602001515162ffffff1690565b905090565b919062ffffff9051169283159081156120e6575b506120df5762ffffff91829160ff166120d55760c0015116161490565b60e0015116161490565b5050505f90565b62ffffff9150168314155f6120b8565b61ffff9160ff1661210a5761010001511690565b61012001511690565b905162ffffff1680156121445762ffffff604083015116149081612135575090565b60019150610140015116151590565b50505f90565b905162ffffff1680156121445762ffffff60408301511614908161216c575090565b60029150610140015116151590565b919062ffffff90511680156120df5762ffffff6040840151161491826121a057505090565b6101400151600160ff9283161b16161515919050565b91939092936121c36111e7565b505f9262ffffff815116602082019060ff825116906121e06111be565b60ff84511692600984148015612335575b1561227857612236935063ffffffff61220a8888612eab565b1682525b6040519261221b846110a2565b835260208301525f60408301526060820152978484896120a4565b61224a575b5061224792939461217b565b90565b61224793945061227060ff6001600160801b03925116610f4161ffff610f3a878b6120f6565b16939261223b565b5f60018514801561232b575b8015612321575b6122b5575b61223694610f416122a56122ab938b8b61308b565b916146bc565b602083015261220e565b50604051631a05f1db60e21b81526020816004815f516020614bae5f395f51905f525afa9081156104bc575f916122ed575b50612290565b90506020813d602011612319575b81612308602093836110be565b8101031261015d57516122366122e7565b3d91506122fb565b506007851461228b565b5060068514612284565b50600484146121f1565b62ffffff5f199116019062ffffff821161145357565b9062ffffff8091169116039062ffffff821161145357565b8054909291604882901c61ffff1691601881901c62ffffff1680156125b6575b62ffffff811615158061259b575b6124a2575b505081151580612492575b612441575b505081549062ffffff811662ffffff8360301c16036123ce57505050565b7fffffffffffffff00ffffffffffffffffffffff0000ffff000000ffffffffffff821660309190911b68ffffff000000000000169081177fffffffffffffff00ffffffffffffffffffffffffffffff000000ffffffffffff9092161760101b6cffff000000000000000000000016179055565b60406001600160a01b037f9ecafffb551a1d3279f05bbc4b411c15011c1dc53a6281fee36bdff7acf117539260ff60d01b198754168755825194855262ffffff861660208601521692a25f806123b0565b5061ffff845460481c16156123ab565b62ffffff6124ba6124b560ff9388612355565b61233f565b169160c81c168015612588578082119182156125835750805b61ffff81168092039061ffff82116114535761250c60ff63ffffffff9316899060ff60c81b1960ff60c81b83549260c81b169116179055565b16612530575b5061251f575b5f806123a0565b835461ffff60481b19168455612518565b60ff865460c81c16604051918252602082015262ffffff851660408201527fa3fb6629bf78aebc0e00fc4f160964272b941f1cf4bb62a53df94d6582984b9560606001600160a01b03851692a25f612512565b6124d3565b5050835461ffff60481b19168455612518565b5062ffffff6125a98261143d565b1662ffffff86161161239b565b5062ffffff811661238d565b91906125cc6111be565b9260ff905f5b60ff81166002811015612628576125e99083611199565b5162ffffff81511662ffffff86161480612617575b61260e575060010160ff166125d2565b95509392505050565b50600260ff602083015116146125fe565b505050919050565b919061263a6111be565b9260ff905f5b60ff81166002811015612628576126579083611199565b5162ffffff81511662ffffff8616148061267c575b61260e575060010160ff16612640565b50600360ff6020830151161461266c565b91906126976111be565b9260ff905f5b60ff81166002811015612628576126b49083611199565b5162ffffff81511662ffffff861614806126d9575b61260e575060010160ff1661269d565b50600560ff602083015116146126c9565b91906126f46111be565b9260ff905f5b60ff81166002811015612628576127119083611199565b5162ffffff81511662ffffff86161480612736575b61260e575060010160ff166126fa565b50600660ff60208301511614612726565b91906127516111be565b9260ff905f5b60ff811660028110156126285761276e9083611199565b5162ffffff81511662ffffff86161480612793575b61260e575060010160ff16612757565b50600460ff60208301511614612783565b92916127ae6111be565b9360ff905f5b60ff8116600281101561280d576127cb9083611199565b5162ffffff81511662ffffff871614806127fa575b6127f0575060010160ff166127b4565b9650949350505050565b5060ff60208201511660ff8616146127e0565b50505092915050565b905f916002549260ff841693600285036115b65760ff9060081c16916001600160a01b03811693845f52600360205260405f20548460ff821603612b42575b6001808260881c16146115ad576001600160801b039060081c1601926001600160801b038411612b33575b61288a5f87614468565b6001600160801b03851610612b095760405193636fd5ae1560e01b85526020856004815f516020614bae5f395f51905f525afa9485156104bc575f95612ae8575b506128d6858461451b565b15612abc579070ffffffffffffffffffffffffffffffff007101000000000000000000000000000000000092875f52600360205260081b16171760405f2055835f52600160205260405f20805460ff8160681c165f14612a745750505f516020614bae5f395f51905f523b1561015d576040516329ed64a760e21b81526001600160a01b03919091166004820152600560248201525f81604481835f516020614bae5f395f51905f525af180156104bc57612a61575b505b7302c5566942d205e9ade4c8dd052ad137d48235cb3b15612a53576040516303e8b68b60e41b8152836004820152682b5e3af16b1880000060248201528181604481837302c5566942d205e9ade4c8dd052ad137d48235cb5af18015612a5657612a3e575b5050604062ffffff612a257fa4ba2ede2c3644269a019e13e9664823d10d38ec9fcbeec3a7a2665492fe67be9361143d565b16938151908152682b5e3af16b188000006020820152a3565b612a498280926110be565b612a5357806129f3565b80fd5b6040513d84823e3d90fd5b612a6d91505f906110be565b5f5f61298c565b91612a8861ffff612ab79460481c16611903565b61ffff63ffffffff821611156115775750815461ffff60481b19166affff0000000000000000001782556134e3565b61298e565b93509450505070ffffffffffffffffffffffffffffffff00915f52600360205260081b161760405f2055565b612b0291955060203d6020116104b5576104a681836110be565b935f6128cb565b9450505070ffffffffffffffffffffffffffffffff00915f52600360205260081b161760405f2055565b6001600160801b039350612880565b5083612855565b905f916002549260ff841693600385036115b65760ff9060081c16916001600160a01b03811693845f52600360205260405f20548460ff821603612b42576001808260881c16146115ad576001600160801b039060081c1601926001600160801b038411612b335761288a5f87614468565b905f916002549260ff841693600985036115b65760ff9060081c16916001600160a01b03811693845f52600360205260405f20548460ff821603612b42576001808260881c16146115ad576001600160801b039060081c1601926001600160801b038411612b335761288a5f87614468565b60025460ff811693915f915f198601612cbf5760ff9060081c166001600160a01b03821694855f52600360205260405f20548260ff821603612cb8575b6001808260881c1614612cae576001600160801b039060081c1601936001600160801b038511612c9f575b61288a9087614468565b6001600160801b039450612c95565b5050505050505050565b5081612c6a565b505050505050565b905f916002549260ff841693600585036115b65760ff9060081c16916001600160a01b03811693845f52600360205260405f20548460ff821603612b42576001808260881c16146115ad576001600160801b039060081c1601926001600160801b038411612b335761288a5f87614468565b60025460ff811693915f916008198601612cbf5760ff9060081c166001600160a01b03821694855f52600360205260405f20548260ff821603612cb8576001808260881c1614612cae576001600160801b039060081c1601936001600160801b038511612c9f5761288a9087614468565b60025460ff811693915f916005198601612cbf5760ff9060081c166001600160a01b03821694855f52600360205260405f20548260ff821603612cb8576001808260881c1614612cae576001600160801b039060081c1601936001600160801b038511612c9f5761288a9087614468565b60025460ff80821695935f939291168603612cbf5760ff9060081c166001600160a01b03821694855f52600360205260405f20548260ff821603612cb8576001808260881c1614612cae576001600160801b039060081c1601936001600160801b038511612c9f5761288a9087614468565b8115612e97570490565b634e487b7160e01b5f52601260045260245ffd5b6020015160ff16905f9060018303612f01576122479291612ed59160ff16612ef957600190611b93565b9064746a5288008211612eec575b6117b5906146bc565b64746a5288009150612ee3565b600290611b93565b5050600681148015612fa7575b15612f2157612247906117b55f916146bc565b60098103612f3857612247906117b56001916146bc565b60048103612f4f57612247906117b56001916146bc565b600281148015612f9d575b8015612f93575b8015612f89575b15612f8457612247906117b5686c6b935b8bbd400000916146bc565b505f90565b5060088114612f68565b5060038114612f61565b5060058114612f5a565b5060078114612f0e565b6020015160ff169060018203612fe85780158180046001141715611453576122479164746a5288008211612eec576117b5906146bc565b60068214801561303c575b15613024578060011b9080820460021490151715611453576122479164746a5288008211612eec576117b5906146bc565b5060098103612f3857612247906117b56001916146bc565b5060078214612ff3565b6020015160ff165f6001820361306d576122479190612ed5908015612ef957600190611b93565b50600681148015612fa75715612f2157612247906117b55f916146bc565b6020015160ff169190600183036130b4576122479291612ed59160ff16612ef957600190611b93565b5060068214801561303c5715613024578060011b9080820460021490151715611453576122479164746a5288008211612eec576117b5906146bc565b9294919397819a99865162ffffff1661310a905f85613b73565b602088019a8b5160ff1661311d906146bc565b61312691612e8d565b61312f91613c27565b92835f61313b92613c46565b865162ffffff16928a5160ff169061ffff1693613157826146bc565b6131619086611b93565b6001600160801b03168c5160ff16613178906146bc565b6131829088611b93565b6040805160ff90951685526001600160801b039092166020850152908301526001600160a01b0387168260608101037f253e49f6f3f3373581cf4d9c8c2f75ea79225d2e7b42122ad0de8b785c2b7ddb905f94a46131e291600186612e1b565b101561320457505050505060ff61ffff915116925460481c16905f9291905f90565b90919293946132135f89613cdd565b61189357509061188b95965f92613d9d565b929491939698979098855162ffffff166132419060018c613b73565b6020870198895160ff16613254906146bc565b61325d91612e8d565b61326691613c27565b916132738360018d613c46565b865162ffffff1692895160ff169061ffff169361328f826146bc565b6132999086611b93565b6001600160801b03168b5160ff166132b0906146bc565b6132ba9088611b93565b6040805160ff90951685526001600160801b039092166020850152908301526001600160a01b0387168260608101037f253e49f6f3f3373581cf4d9c8c2f75ea79225d2e7b42122ad0de8b785c2b7ddb90600194a461331b91600986612e1b565b101561333c575050505060ff61ffff915116925460481c16905f9291905f90565b9091929361334b600188613cdd565b61336157505f93929161188b9596600192613d9d565b91505061ffff925060ff91505116925460481c16905f9291905f90565b939592969798909b9a8692959a8d895162ffffff1661339e908683613b73565b60208b019d8e5160ff166133b1906146bc565b6133ba91612e8d565b6133c391613c27565b80956133ce92613c46565b885162ffffff16938c5160ff169061ffff16948d6133eb836146bc565b6133f59088611b93565b6001600160801b0316905160ff1661340c906146bc565b6134169089611b93565b6040805160ff95861681526001600160801b03939093166020840152820152918a16916001600160a01b038916907f253e49f6f3f3373581cf4d9c8c2f75ea79225d2e7b42122ad0de8b785c2b7ddb90606090a46134749286612e1b565b10156134975750505050505060ff61ffff915116925460481c16905f9291905f90565b9091929394956134a7848a613cdd565b6134b757509661188b9697613d9d565b935050505061ffff925060ff91505116925460481c16905f9291905f90565b9190820391821161145357565b81549160ff606461ffff8560481c16049360d01c1680841061363d5780841461362b5761351090846134d6565b9260ff811115613631575061353b60ff5b825460ff60d01b191660d09190911b60ff60d01b16178255565b60ff815460c81c1692600a84101561362b57600a6135598286611f3f565b11156135ed575082600a0391600a831161145357611fe46001600160a01b03926135c760ff6135aa7f86983f176209bcfaea3ee23dc02d634807e4db86aa1b440549a90283deec947b978099611f3f565b1680929060ff60c81b1960ff60c81b83549260c81b169116179055565b61ffff6040519485941696168390929160ff60209161ffff604085019616845216910152565b91611fe46001600160a01b03926135c760ff6135aa7f86983f176209bcfaea3ee23dc02d634807e4db86aa1b440549a90283deec947b978099611f3f565b50505050565b60ff61353b9116613521565b50905060ff6113d1921660ff60d01b1960ff60d01b83549260d01b169116179055565b9061ffff6060830151169062ffffff6020840151168015155f146136fd575b62ffffff81161515806136e2575b6136b3575b5062ffffff806040850151169116145f1461209f57506080015161ffff1690565b6136c46124b562ffffff9284612355565b1660ff61016085015116106136da575b5f613692565b5f91506136d4565b5062ffffff6136f08261143d565b1662ffffff83161161368d565b5062ffffff83511661367f565b9081602091031261015d5751801515810361015d5790565b6040517fccd5ddc70000000000000000000000000000000000000000000000000000000081526020816004815f516020614bae5f395f51905f525afa9081156104bc575f9161381f575b501561381b57604051636fd5ae1560e01b81526020816004815f516020614bae5f395f51905f525afa80156104bc5762ffffff915f916137fc575b5016801515806137ec575b6137e65760058110612f8457600562ffffff600a8306161490816137d4575090565b605f9150606462ffffff910616141590565b50600190565b5062ffffff6064820616156137b2565b613815915060203d6020116104b5576104a681836110be565b5f6137a7565b5f90565b613841915060203d602011613847575b61383981836110be565b81019061370a565b5f61376c565b503d61382f565b90600a8110156111aa5760051b0190565b90915f92610140926040519361387581866110be565b3685375f92835b60ff8516600a81101561396c5760ff146139465760ff85168015908115613961575b5061394657831580613954575b61394657600960ff86161461394657600160ff861691600283145f146138ff5761ffff8092506138de6004945b8a61384e565b9316809352160161ffff811161145357600160ff91950116955b959361387c565b600583148061393f575b1561391f5761ffff8092506138de6004946138d8565b60068314613936575b61ffff6138de8193946138d8565b60039150613928565b5085613909565b93600160ff910116956138f8565b50600560ff8616146138ab565b60049150145f61389e565b509095935061ffff16915081156139eb570690805b60ff8116600a8110156139d65761399b61ffff918661384e565b5116806139af575b5060010160ff16613981565b90928181106139ce576139c660ff926001926134d6565b9391506139a3565b505050905090565b50509150505f146139e657600390565b600190565b50505050600190565b60405191610140613a0581856110be565b3684375f91825b60ff8416600a811015613afc57600114613ad65760ff84168015908115613af1575b50613ad657821580613ae4575b613ad657600960ff851614613ad657600160ff851691600283145f14613a8f5761ffff809250613a6e6004945b8961384e565b9316809352160161ffff811161145357600160ff91940116945b9492613a0c565b6005831480613acf575b15613aaf5761ffff809250613a6e600494613a68565b60068314613ac6575b61ffff613a6e819394613a68565b60039150613ab8565b5084613a99565b92600160ff91011694613a88565b50600560ff851614613a3b565b60049150145f613a2e565b5061ffff16925090508115613b6b57065f5b60ff8116600a811015613b6257613b2861ffff918561384e565b511680613b3c575b5060010160ff16613b0e565b9091818110613b5b57613b5360ff926001926134d6565b929150613b30565b5050905090565b50505050600390565b505050600390565b91613b7e828461471d565b62ffffff808316911603613b96575061224791614739565b9060ff16613be1577fffffffffffffffffffffffffffffff000000ffffffffffffffffffffffffffff70ffffff000000000000000000000000000083549260701b1691161790555f90565b7fffffffffffffffffffffffff000000ffffffffffffffffffffffffffffffffff73ffffff000000000000000000000000000000000083549260881b1691161790555f90565b61ffff160161ffff8111613c3d575b61ffff1690565b5061ffff613c36565b919060ff16613c95577fffffffffffffffffffff0000ffffffffffffffffffffffffffffffffffffffff75ffff000000000000000000000000000000000000000083549260a01b169116179055565b7fffffffffffffffff0000ffffffffffffffffffffffffffffffffffffffffffff77ffff0000000000000000000000000000000000000000000083549260b01b169116179055565b9060ff60019116149081613d02575b81613cf5575090565b60ff91505460681c161590565b805460c01c600116159150613cec565b9593613d25909593919295828489614754565b9592989181989198819a809815613d8c57505050600160ff851614613d7f57613d539460015f9518926149f1565b929092613d66575b505050929190600190565b9195509350613d7491611f3f565b9192915f8080613d5b565b5050505050929190600190565b9a50909850965f9650945050505050565b93613db090979591969297848887614754565b9692999181999199819b809915613dea57505050600160ff871614613ddc576001613d539618926149f1565b505050505050929190600190565b9b50909950975f975095505050505050565b60e05292613e08612050565b61012052613e1861012051612084565b60e0516001600160a01b03165f81815260016020526040902094901580156141ec575b6141c65785159687806141b8575b806141b0575b61418957613e608360e0518861236d565b5f60c081905260a0819052610100819052865460481c61ffff16989097889691156140f9575b5063ffffffff811661404b575b5081613ef0575b50505050613eb89150613eb360c0519160a05190611f3f565b611f3f565b61010051613ee7575060ff811615613ed457915b5f9291905f90565b5060ff6020610120515101511691613ecc565b92909190600190565b613efd908260e051612daa565b613f0a82610120516126ea565b909160ff821660ff8103613f20575b5050613e9a565b613f43613f2e86858b613b73565b6117bb60208701946117b560ff8751166146bc565b90613f4f82858b613c46565b613f5a87858761308b565b9261ffff60ff8251169316927f253e49f6f3f3373581cf4d9c8c2f75ea79225d2e7b42122ad0de8b785c2b7ddb613ff2613fb5613faf60ff6001600160801b03613fa6611837886146bc565b169651166146bc565b88611b93565b60405191829162ffffff8d16966001600160a01b0360e0511696846001600160801b0360409295949360ff60608401971683521660208201520152565b0390a41015614003575b8080613f19565b61400d8187613cdd565b613ffc576140239495610120519060e051613d9d565b929092614033575b808493613ffc565b60a0526001610100529093509150613eb85f8061402b565b96602061012051015160805262ffffff608051511662ffffff851614806140e6575b156140cd57506140a5816009988563ffffffff82169163ffffffff614093608051613046565b9116608051610120518d60e051613225565b9290926140b7575b5050505b5f613e93565b60c05260016101005290985096505f80806140ad565b968163ffffffff6140e1921660e051612d39565b6140b1565b50600960ff60206080510151161461406d565b61012051519862ffffff8a511662ffffff87161480614178575b156141645750828187878b61413d9560019e61412f8582612fb1565b92610120519060e0516130f0565b92909261414f575b5050505b5f613e86565b600161010052919a50985095505f8080614145565b9850826141739160e051612c2d565b614149565b50600160ff60208c01511614614113565b50505050509291505061ffff60ff60206101205151015116925460481c16905f9291905f90565b508115613e4f565b5063ffffffff851615613e49565b505050509291505061ffff60ff60206101205151015116925460481c16905f9291905f90565b5062ffffff821615613e3b565b90614202612050565b9161420c83612084565b6001600160a01b038216805f52600160205260405f2094811580156142c5575b6142a55761423b83858861236d565b6142458382612747565b91909260ff831660ff811461428a5761425f86858b613b73565b91602086019261427260ff8551166146bc565b908115612e975761ffff611e6b926001041690613c27565b505050505050509061ffff905460481c165f91600491905f90565b61ffff935060ff92506020915051015116925460481c16905f9291905f90565b5062ffffff83161561422c565b5f6001600160a01b038216918215614463576142ef6101aa612050565b62ffffff81169182156115b657845f5260016020526143138260405f20928361236d565b60ff815460681c166143e0575b61ffff815460481c1691600c831015612cbf57815461ffff60481b1916690c0000000000000000001780835560181c62ffffff1684116143bd575b5050600c0361ffff81116143a9579160609161ffff7fb8b6f7349e596cc2586f872966c424c8e10e18481d6acfd53c338509dab80995946040519350168252600c60208301526040820152a2565b602483634e487b7160e01b81526011600452fd5b815465ffffff000000191660189190911b65ffffff000000161790555f8061435b565b5f516020614bae5f395f51905f523b1561015d576040517f65612008000000000000000000000000000000000000000000000000000000008152856004820152600c60248201525f81604481835f516020614bae5f395f51905f525af180156104bc5761444e575b50614320565b61445b9194505f906110be565b5f925f614448565b505050565b60ff16906009821461451457600182146144fe576006821480156144f4575b6144de5750600281149081156144d3575b81156144c8575b81156144bd575b506144af575f90565b69043c33c193756480000090565b60089150145f6144a6565b60038114915061449f565b600581149150614498565b6014808202925081159183041417156114535790565b5060078214614487565b600a808202925081159183041417156114535790565b5050600a90565b6001600160a01b03604051917f4947e86000000000000000000000000000000000000000000000000000000000835216918260048301526020826024815f516020614bae5f395f51905f525afa9182156104bc575f92614669575b5062ffffff8260681c1662ffffff61458d8361143d565b168114159182614659575b50506121445761019061ffff8260e41c161061214457600562ffffff8260301c1610156146525762ffffff8160801c1615159081614642575b506137e657604051907f7c327d3400000000000000000000000000000000000000000000000000000000825260048201526020816024815f516020614bae5f395f51905f525afa9081156104bc575f91614629575090565b612247915060203d6020116138475761383981836110be565b6003915060981c1615155f6145d1565b5050600190565b62ffffff16141590505f80614598565b9091506020813d602011614695575b81614685602093836110be565b8101031261015d5751905f614576565b3d9150614678565b9060ff6146a86111be565b9262ffffff8116845260181c166020830152565b60ff16600181148015614713575b8015614709575b6146fd57600981149081156146f2575b506139e657670de0b6b3a764000090565b60049150145f6146e1565b5066038d7ea4c6800090565b50600781146146d1565b50600681146146ca565b62ffffff9160ff16614731575460701c1690565b5460881c1690565b61ffff9160ff1661474c575460a01c1690565b5460b01c1690565b939091938254925f60ff8560c01c9716916001831b9060ff828a16166149d15760ff8760681c16917fffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffff78ff00000000000000000000000000000000000000000000000062ffffff8b51169b8715809b819c6149bf575b5061499f575b60ff808654951691161760c01b16911617815561ffff815460481c169682155f1461490d5761ffff88106148e2575b815461ffff60481b1916604889901b6affff0000000000000000001617825597989697959660ff9661483183886134e3565b6148cb575b50505b600183036148af57505068056bc75e2d63100000955b602062ffffff8251169101927f5501e9ec9605ce4597c2b5f274790a71a76ce0b8d15036f95f9514a24118e3d360606001600160a01b03878751169360405194855263ffffffff8b1660208601528b60408601521692a451169190600190565b156148bb575b9561484f565b5068056bc75e2d631000006148b5565b62ffffff1662ffffff198254161790555f80614836565b966001019863ffffffff8a116148f95798966147ff565b602484634e487b7160e01b81526011600452fd5b5050939495965060018214614925575b60ff93614839565b5f516020614bae5f395f51905f523b1561015d57604051936329ed64a760e21b85526001600160a01b0384166004860152600160248601525f85604481835f516020614bae5f395f51905f525af19485156104bc5760ff9561498a575b50935061491d565b6149979192505f906110be565b5f905f614982565b845465ffffff000000191660188e901b65ffffff000000161785556147d0565b62ffffff915060181c168d115f6147ca565b5050505050925090602060ff910151169161ffff5f939260481c16905f90565b909194614a0260ff85168097611199565b519462ffffff8651168015918215614a9f575b5050614a7f5760ff60018454971b8760c01c1616614a6357614a3990848685614aaf565b15614a485761188b9450614754565b505050602060ff910151169161ffff5f939260481c16905f90565b50505050602060ff910151169161ffff5f939260481c16905f90565b50509392505060ff602061ffff92015116925460481c16905f9291905f90565b62ffffff16141590505f80614a15565b929092614abc838261471d565b62ffffff80865116911603614ba557614ad88361ffff92614739565b1692811580614b6d575b614afd575b91614af19261308b565b90811561214457101590565b905060405191631a05f1db60e21b83526020836004815f516020614bae5f395f51905f525afa80156104bc575f90614b39575b90925090614ae7565b506020833d602011614b65575b81614b53602093836110be565b8101031261015d57614af19251614b30565b3d9150614b46565b5060ff60208201511660018114908115614b9a575b8115614b8f575b50614ae2565b60079150145f614b89565b600681149150614b82565b505050505f9056fe00000000000000000000000034a8d81a24be5fac74fdab77f24ef138b522cb5da2646970667358221220aae29b9e6acb7992bc84d56518fa8d973851620449880924c7ed1c757bb46cde64736f6c63430008220033
Deployed Bytecode
0x6101406040526004361015610012575f80fd5b5f3560e01c80623ea7e614610e57578063029a8c5814610d2257806308dbe95814610cd3578063165ebc7214610c6b5780631a509b1d14610bb4578063238d5f8214610b5e578063343f96fc14610af25780633d028b2014610a9c5780635911b2a214610a385780635b63b2ee1461098e57806372ecc4d01461094757806384f3bf3314610709578063872ec84314610666578063a2662645146105bc578063bd1e416414610523578063cc4734e114610393578063d8644ba2146102cf578063dfd2397c146101c8578063e410f7ad146101615763e6317b1c146100f5575f80fd5b3461015d57604036600319011261015d5761010e610fe8565b610116611031565b5f516020614bae5f395f51905f5233036101355761013391611f4c565b005b7fc401befa000000000000000000000000000000000000000000000000000000005f5260045ffd5b5f80fd5b3461015d57602036600319011261015d576001600160a01b03610182610fe8565b165f52600160205260206101ba60405f2061019b61201c565b506101b56101af6101aa612050565b612084565b916110e0565b613660565b63ffffffff60405191168152f35b3461015d57604036600319011261015d576101e1610fe8565b7351724cff9c5c02cc8f6cea97bec1c8ce8df46a6e331415806102b1575b8061029a575b8061027c575b6102545761021f6102509160243590611dd7565b6040805194855260ff909316602085015263ffffffff90911691830191909152151560608201529081906080820190565b0390f35b7f53d2169f000000000000000000000000000000000000000000000000000000005f5260045ffd5b5073d5fcb49dc8cf9d8de90e6b4c49dcd3b8c9c0aeb333141561020b565b505f516020614bae5f395f51905f52331415610205565b507302c5566942d205e9ade4c8dd052ad137d48235cb3314156101ff565b3461015d57608036600319011261015d576102e8610fe8565b60243563ffffffff8116810361015d57610300611022565b917351724cff9c5c02cc8f6cea97bec1c8ce8df46a6e33141580610375575b8061035e575b80610340575b610254576102509261021f9260643592611ba6565b5073d5fcb49dc8cf9d8de90e6b4c49dcd3b8c9c0aeb333141561032b565b505f516020614bae5f395f51905f52331415610325565b507302c5566942d205e9ade4c8dd052ad137d48235cb33141561031f565b3461015d57602036600319011261015d576103ac610fe8565b5f5f906002549160ff8316926001600160a01b0385165f52600360205260ff60405f20549160081c1660ff8216148061051a575b6104fb575b50604051631a05f1db60e21b81526020816004815f516020614bae5f395f51905f525afa80156104bc575f906104c7575b610421915084614468565b60405194636fd5ae1560e01b86526020866004815f516020614bae5f395f51905f525afa9586156104bc5760a0966001600160801b0392610469925f9261048b575b5061451b565b9360405195865216602085015260408401521515606083015215156080820152f35b6104ae91925060203d6020116104b5575b6104a681836110be565b810190611b78565b9089610463565b503d61049c565b6040513d5f823e3d90fd5b506020813d6020116104f3575b816104e1602093836110be565b8101031261015d576104219051610416565b3d91506104d4565b9150506001806001600160801b038360081c169260881c1614846103e5565b508315156103e0565b3461015d5761053136611042565b5f516020614bae5f395f51905f52959294919533036101355760809560ff9563ffffffff956105609486613dfc565b92959190506001600160a01b0384165f5260016020526105a161058e60405f206101b56101af6101aa612050565b94610598816141f9565b505050506142d2565b60405195865216602085015215156040840152166060820152f35b3461015d57604036600319011261015d576105d5610fe8565b7351724cff9c5c02cc8f6cea97bec1c8ce8df46a6e33141580610648575b80610631575b80610613575b6102545761021f6102509160243590611aca565b5073d5fcb49dc8cf9d8de90e6b4c49dcd3b8c9c0aeb33314156105ff565b505f516020614bae5f395f51905f523314156105f9565b507302c5566942d205e9ade4c8dd052ad137d48235cb3314156105f3565b3461015d5761067436611042565b927351724cff9c5c02cc8f6cea97bec1c8ce8df46a6e959495929192331415806106eb575b806106d4575b806106b6575b610254576102509561021f95613dfc565b5073d5fcb49dc8cf9d8de90e6b4c49dcd3b8c9c0aeb33314156106a5565b505f516020614bae5f395f51905f5233141561069f565b507302c5566942d205e9ade4c8dd052ad137d48235cb331415610699565b3461015d57602036600319011261015d57610722610fe8565b60405160a0810181811067ffffffffffffffff82111761093357604052610747611213565b815260208101604091825161075c84826110be565b833682378252828101835161077185826110be565b84368237815260608201945f8652608083015f815261078e61201c565b50610797612050565b6001600160a01b036107a882612084565b93165f5260016020526107bc875f206110e0565b9162ffffff835116895263ffffffff6107d58585613660565b1681525f5b60ff8116600281101561084757818161083f818c8c6001600160801b03610836848f8f8f8f9160ff9e61081d9260019f6108179061082c96611199565b516121b6565b92919b90975198519351611199565b9015159052611199565b91169052611199565b5201166107da565b82888c898c8e519351845f905b600282106108dc575050505161014084015f905b600282106108bd575050505161018083015f905b600282106108a5576102008563ffffffff8862ffffff8851166101c084015251166101e0820152f35b6020806001928551151581520193019101909161087c565b6020806001926001600160801b03865116815201930191019091610868565b60206109286001928551906020606060a09362ffffff815116845260ff838201511683850152604081015115156040850152015163ffffffff8151166060840152015160808201520190565b930191019091610854565b634e487b7160e01b5f52604160045260245ffd5b3461015d57606036600319011261015d57610960610fe8565b610968611031565b610970611010565b905f516020614bae5f395f51905f523303610135576101339261191b565b3461015d57604036600319011261015d576109a7610fe8565b7351724cff9c5c02cc8f6cea97bec1c8ce8df46a6e33141580610a1a575b80610a03575b806109e5575b6102545761021f6102509160243590611723565b5073d5fcb49dc8cf9d8de90e6b4c49dcd3b8c9c0aeb33314156109d1565b505f516020614bae5f395f51905f523314156109cb565b507302c5566942d205e9ade4c8dd052ad137d48235cb3314156109c5565b3461015d57602036600319011261015d575f516020614bae5f395f51905f5233036101355760ff610a72610a6a613722565b60043561385f565b166002549061ff00600160ff83811986161760081c160160081b169161ffff191617176002555f80f35b3461015d57608036600319011261015d5760043562ffffff8116810361015d57610ac4611022565b60643590811515820361015d575f516020614bae5f395f51905f5233036101355761013392602435906115bd565b3461015d57602036600319011261015d576001600160a01b03610b13610fe8565b165f5260016020526040610b28815f206110e0565b610b3061201c565b5060a0610b47610b416101aa612050565b83613660565b910151151563ffffffff8351921682526020820152f35b3461015d57608036600319011261015d57610b77610fe8565b610b7f610ffe565b610b87611010565b6064359162ffffff8316830361015d575f516020614bae5f395f51905f5233036101355761013393611467565b3461015d57608036600319011261015d57610bcd610fe8565b610bd5611022565b7351724cff9c5c02cc8f6cea97bec1c8ce8df46a6e33141580610c4d575b80610c36575b80610c18575b610254576102509161021f9160643591602435906112bc565b5073d5fcb49dc8cf9d8de90e6b4c49dcd3b8c9c0aeb3331415610bff565b505f516020614bae5f395f51905f52331415610bf9565b507302c5566942d205e9ade4c8dd052ad137d48235cb331415610bf3565b3461015d57602036600319011261015d576040610c86610fe8565b6001600160a01b03610c96612050565b91165f526001602052610cc3610cad835f206110e0565b6020610cba845183612113565b9301519061214a565b8251911515825215156020820152f35b3461015d57604036600319011261015d57610cec610fe8565b610cf4610ffe565b905f516020614bae5f395f51905f52330361013557602091610d1591611247565b62ffffff60405191168152f35b3461015d575f36600319011261015d57610d3a611213565b610d4261201c565b50610d4b612050565b610d5481612084565b9060405191610d6283611085565b5f83525f60208401525f60408401525f60608401525f60808401525f60a08401525f60c08401525f60e08401525f6101008401525f6101208401525f6101408401525f6101608401525f6101808401525f5b60ff81166002811015610deb578181610de3610dda8660ff968a6108176001988c611199565b50509189611199565b520116610db4565b604051865f825b60028210610e005761014084f35b6020610e4c6001928551906020606060a09362ffffff815116845260ff838201511683850152604081015115156040850152015163ffffffff8151166060840152015160808201520190565b930191019091610df2565b3461015d57602036600319011261015d57610e70610fe8565b604090815190610e8083836110be565b82368337825191610e9184846110be565b833684376001600160a01b03610ea5612050565b92165f526001602052610eb9845f206110e0565b610ec283612084565b9161ffff6060830151169362ffffff835116945f5b60ff81166002811015610f7f578181610f5f610f5860ff958b8a858d610f0c610f0260019b8f611199565b51948686846120a4565b15610f6b576001600160801b039182610f47610f4e93610f418f610f3a8b61ffff9260208d015116946120f6565b16916146bc565b90611b93565b1693611199565b911690528b61217b565b918c611199565b90151590520116610ed7565b50610f4e6001600160801b03915f93611199565b89518381526020810189905289865f838e015b60028210610fc957505050608082015f905b60028210610fb15760c084f35b60208060019285511515815201930191019091610fa4565b6020806001926001600160801b03865116815201930191019091610f92565b600435906001600160a01b038216820361015d57565b6024359062ffffff8216820361015d57565b6044359062ffffff8216820361015d57565b60443590811515820361015d57565b6024359061ffff8216820361015d57565b60c090600319011261015d576004356001600160a01b038116810361015d57906024359060443563ffffffff8116810361015d5790606435906084359060a43590565b6101a0810190811067ffffffffffffffff82111761093357604052565b6080810190811067ffffffffffffffff82111761093357604052565b90601f8019910116810190811067ffffffffffffffff82111761093357604052565b906040516110ed81611085565b61018060ff82945462ffffff8116845262ffffff8160181c16602085015262ffffff8160301c16604085015261ffff8160481c16606085015261ffff8160581c166080850152818160681c16151560a085015262ffffff8160701c1660c085015262ffffff8160881c1660e085015261ffff8160a01c1661010085015261ffff8160b01c16610120850152818160c01c16610140850152818160c81c1661016085015260d01c16910152565b9060028110156111aa5760051b0190565b634e487b7160e01b5f52603260045260245ffd5b604051906040820182811067ffffffffffffffff821117610933576040525f6020838281520152565b604051906111f4826110a2565b815f81525f60208201525f6040820152606061120e6111be565b910152565b60408051919061122381846110be565b825f5b82811061123257505050565b60209061123d6111e7565b8184015201611226565b9190916001600160a01b03811680156112b5575f52600160205260405f209262ffffff81166112a4575b50508154916d010000000000000000000000000061ffff8460481c16936dff000000000000000000000000001916179055565b6112ae918461236d565b5f80611271565b505f925050565b919392906112c8612050565b6112d181612084565b6001600160a01b03851696875f52600160205260405f2097158015611435575b8015611428575b6114065761130782878a61236d565b156113fe576007915b61131b8383836127a4565b9160ff808416146113dc578282879261133d8a8098976113449d9e9f9761308b565b948c61337e565b94909192859293948196806113d3575b61135c575050565b7302c5566942d205e9ade4c8dd052ad137d48235cb3b1561015d576040516303e8b68b60e41b81526001600160a01b0391909116600482015260248101919091525f81604481837302c5566942d205e9ade4c8dd052ad137d48235cb5af180156104bc576113c75750565b5f6113d1916110be565b565b50811515611354565b5050505094916113f0918661ffff95612e1b565b5460481c16905f9291905f90565b600891611310565b505061ffff935060ff92506020915051015116925460481c16905f9291905f90565b5062ffffff8216156112f8565b5083156112f1565b62ffffff60019116019062ffffff821161145357565b634e487b7160e01b5f52601160045260245ffd5b6001600160a01b03811693919284156115b657845f52600160205260405f2080549060ff8260681c16156115ad577fb8b6f7349e596cc2586f872966c424c8e10e18481d6acfd53c338509dab809959560609562ffffff949360181c851685851681116115a5575b50848391168015908115611590575b50156115845761152791955b8686169661ffff881115611577575061152261ffff5b835461ffff60481b191660489190911b6affff00000000000000000016178355565b6134e3565b805465ffffff0000001916601883901b65ffffff0000001617815582821683198254161781556dff00000000000000000000000000198154169055604051925f84526020840152166040820152a2565b61ffff6115229116611500565b61152791505f956114ea565b90508561159c8661143d565b1610155f6114de565b9350846114cf565b50505050505050565b5050505050565b916115c6612050565b9362ffffff808651511694168094146115b657847fccf03fbc67d9547092fc01743ea0143d5c703aa0bc5367928464466ee19efbb893606093602093600185819a518a815201525f146116b45750506fffffffffffffffff000000000000000061168167ffffffffffffffff6116656004945b8681019560ff8751918c83521697889101525163ff000000602062ffffff83511692015160181b161790565b16925163ff000000602062ffffff83511692015160181b161790565b60401b16175f555f848484604051898152846020820152836040820152a36040519081525f6020820152836040820152a3565b156116e257506fffffffffffffffff000000000000000061168167ffffffffffffffff611665600994611639565b61168167ffffffffffffffff61166561171d6fffffffffffffffff00000000000000009461170e613722565b908060801b9060801c176139f4565b94611639565b919061172d612050565b61173681612084565b916001600160a01b03851691825f52600160205260405f2095831580156118fb575b80156118ee575b6118cd5761176e85828961236d565b6117788382612816565b61178285836125c2565b93909460ff85169060ff82146118b1576117c16117a089888d613b73565b6117bb60208a01956117b560ff8851166146bc565b90612e8d565b90613c27565b916117cd83888d613c46565b6117d78789612eab565b9261ffff60ff8651169116927f253e49f6f3f3373581cf4d9c8c2f75ea79225d2e7b42122ad0de8b785c2b7ddb62ffffff8c6118696001600160801b03611826611820886146bc565b8a611b93565b1661183d61183760ff8d51166146bc565b8b611b93565b906040519485941697846001600160801b0360409295949360ff60608401971683521660208201520152565b0390a4106118935761187b8489613cdd565b61189357509561188b9596613d12565b929391929091565b9250505061ffff925060ff91505116925460481c16905f9291905f90565b50505050505050509061ffff905460481c165f91600291905f90565b5061ffff935060ff92506020915051015116925460481c16905f9291905f90565b5062ffffff85161561175f565b508215611758565b63ffffffff60059116019063ffffffff821161145357565b90915f916001600160a01b0381169384158015611abe575b8015611ab1575b6115b657845f52600160205260405f2061195584848361236d565b60ff815460681c16611a585761ffff80825460481c16921680920163ffffffff8111611a4457926060949261ffff9287957fb8b6f7349e596cc2586f872966c424c8e10e18481d6acfd53c338509dab809959850818563ffffffff8316115f14611a38576119e5915085945b815461ffff60481b1916604887901b6affff000000000000000000161782556134e3565b62ffffff815460181c169462ffffff8116809610611a15575b5050604051945084521660208301526040820152a2565b815465ffffff000000191660189190911b65ffffff000000161790555f806119fe565b856119e59216946119c1565b602486634e487b7160e01b81526011600452fd5b50925050505f516020614bae5f395f51905f523b1561015d5761ffff90604051926329ed64a760e21b845260048401521660248201525f81604481835f516020614bae5f395f51905f525af180156104bc576113c75750565b5062ffffff83161561193a565b5061ffff811615611933565b9190611ad4612050565b611add81612084565b916001600160a01b03851691825f52600160205260405f209583158015611b70575b8015611b63575b6118cd57611b1585828961236d565b611b1f8382612b49565b611b298583612630565b93909460ff85169060ff8214611b47576117c16117a089888d613b73565b50505050505050509061ffff905460481c165f91600391905f90565b5062ffffff851615611b06565b508215611aff565b9081602091031261015d575162ffffff8116810361015d5790565b8181029291811591840414171561145357565b92919390611bb2612050565b93611bbc85612084565b955f946001600160a01b03831696875f52600160205260405f2097158015611dc9575b8015611dbc575b611d9957611bf589858a61236d565b8215611d9057600180995b895460481c61ffff16998515611d88575f935b611c2060ff861682611199565b519462ffffff86511662ffffff85161480611d75575b15611d38579086939291611c7398999a858b5f14611d295763ffffffff611c5d9216611b93565b9687925b611c6c87848461308b565b948d61337e565b949194939093611c8a5750505050505b8193929190565b9296509296509293501580611d20575b611ca8575b50929190600190565b7302c5566942d205e9ade4c8dd052ad137d48235cb3b1561015d576040516303e8b68b60e41b81526001600160a01b03919091166004820152602481018290525f81604481837302c5566942d205e9ade4c8dd052ad137d48235cb5af180156104bc5715611c9f575f611d1a916110be565b5f611c9f565b50811515611c9a565b5063ffffffff16968792611c61565b50505050505091905f14611d6457611d598263ffffffff611d5f9516611b93565b90612c2d565b611c83565b611d5f9263ffffffff169150612bbb565b5060ff60208701511660ff861614611c36565b600193611c13565b60098099611c00565b516020015196545f985060ff979097169660481c61ffff16955087949350505050565b5062ffffff891615611be6565b5063ffffffff851615611bdf565b919091611de2612050565b92611dec84612084565b906001600160a01b03831690815f52600160205260405f209582158015611f37575b8015611f2a575b611f0957611e2484868961236d565b611e2e8286612cc7565b611e38848261268d565b92909360ff84169060ff8214611eed57611e6b611e5688878d613b73565b6117bb60208901956117b560ff8851166146bc565b91611e7783878d613c46565b611e818688612eab565b9261ffff60ff8651169116927f253e49f6f3f3373581cf4d9c8c2f75ea79225d2e7b42122ad0de8b785c2b7ddb62ffffff8b611eca6001600160801b03611826611820886146bc565b0390a41061189357611edc8389613cdd565b611893575084959661134495613d12565b50505050505050509061ffff905460481c165f91600591905f90565b516020015195545f9660ff169560489190911c61ffff169450869350915050565b5062ffffff841615611e15565b508115611e0e565b9190820180921161145357565b6001600160a01b03169081158015612010575b61200c577f86983f176209bcfaea3ee23dc02d634807e4db86aa1b440549a90283deec947b90825f52600160205260405f2090611fa860ff835460c81c1661ffff831690611f3f565b60ff811115611fe95750815460ff60c81b191660ff60c81b1790915560ff905b6040805161ffff909216825260ff909216602082015290819081015b0390a2565b60ff611fc8911680939060ff60c81b1960ff60c81b83549260c81b169116179055565b5050565b5061ffff811615611f5f565b60408051919061202c81846110be565b825f5b82811061203b57505050565b6020906120466111be565b818401520161202f565b61205861201c565b9061207d67ffffffffffffffff5f5461207282821661469d565b855260401c1661469d565b6020830152565b62ffffff815151168061209f5750602001515162ffffff1690565b905090565b919062ffffff9051169283159081156120e6575b506120df5762ffffff91829160ff166120d55760c0015116161490565b60e0015116161490565b5050505f90565b62ffffff9150168314155f6120b8565b61ffff9160ff1661210a5761010001511690565b61012001511690565b905162ffffff1680156121445762ffffff604083015116149081612135575090565b60019150610140015116151590565b50505f90565b905162ffffff1680156121445762ffffff60408301511614908161216c575090565b60029150610140015116151590565b919062ffffff90511680156120df5762ffffff6040840151161491826121a057505090565b6101400151600160ff9283161b16161515919050565b91939092936121c36111e7565b505f9262ffffff815116602082019060ff825116906121e06111be565b60ff84511692600984148015612335575b1561227857612236935063ffffffff61220a8888612eab565b1682525b6040519261221b846110a2565b835260208301525f60408301526060820152978484896120a4565b61224a575b5061224792939461217b565b90565b61224793945061227060ff6001600160801b03925116610f4161ffff610f3a878b6120f6565b16939261223b565b5f60018514801561232b575b8015612321575b6122b5575b61223694610f416122a56122ab938b8b61308b565b916146bc565b602083015261220e565b50604051631a05f1db60e21b81526020816004815f516020614bae5f395f51905f525afa9081156104bc575f916122ed575b50612290565b90506020813d602011612319575b81612308602093836110be565b8101031261015d57516122366122e7565b3d91506122fb565b506007851461228b565b5060068514612284565b50600484146121f1565b62ffffff5f199116019062ffffff821161145357565b9062ffffff8091169116039062ffffff821161145357565b8054909291604882901c61ffff1691601881901c62ffffff1680156125b6575b62ffffff811615158061259b575b6124a2575b505081151580612492575b612441575b505081549062ffffff811662ffffff8360301c16036123ce57505050565b7fffffffffffffff00ffffffffffffffffffffff0000ffff000000ffffffffffff821660309190911b68ffffff000000000000169081177fffffffffffffff00ffffffffffffffffffffffffffffff000000ffffffffffff9092161760101b6cffff000000000000000000000016179055565b60406001600160a01b037f9ecafffb551a1d3279f05bbc4b411c15011c1dc53a6281fee36bdff7acf117539260ff60d01b198754168755825194855262ffffff861660208601521692a25f806123b0565b5061ffff845460481c16156123ab565b62ffffff6124ba6124b560ff9388612355565b61233f565b169160c81c168015612588578082119182156125835750805b61ffff81168092039061ffff82116114535761250c60ff63ffffffff9316899060ff60c81b1960ff60c81b83549260c81b169116179055565b16612530575b5061251f575b5f806123a0565b835461ffff60481b19168455612518565b60ff865460c81c16604051918252602082015262ffffff851660408201527fa3fb6629bf78aebc0e00fc4f160964272b941f1cf4bb62a53df94d6582984b9560606001600160a01b03851692a25f612512565b6124d3565b5050835461ffff60481b19168455612518565b5062ffffff6125a98261143d565b1662ffffff86161161239b565b5062ffffff811661238d565b91906125cc6111be565b9260ff905f5b60ff81166002811015612628576125e99083611199565b5162ffffff81511662ffffff86161480612617575b61260e575060010160ff166125d2565b95509392505050565b50600260ff602083015116146125fe565b505050919050565b919061263a6111be565b9260ff905f5b60ff81166002811015612628576126579083611199565b5162ffffff81511662ffffff8616148061267c575b61260e575060010160ff16612640565b50600360ff6020830151161461266c565b91906126976111be565b9260ff905f5b60ff81166002811015612628576126b49083611199565b5162ffffff81511662ffffff861614806126d9575b61260e575060010160ff1661269d565b50600560ff602083015116146126c9565b91906126f46111be565b9260ff905f5b60ff81166002811015612628576127119083611199565b5162ffffff81511662ffffff86161480612736575b61260e575060010160ff166126fa565b50600660ff60208301511614612726565b91906127516111be565b9260ff905f5b60ff811660028110156126285761276e9083611199565b5162ffffff81511662ffffff86161480612793575b61260e575060010160ff16612757565b50600460ff60208301511614612783565b92916127ae6111be565b9360ff905f5b60ff8116600281101561280d576127cb9083611199565b5162ffffff81511662ffffff871614806127fa575b6127f0575060010160ff166127b4565b9650949350505050565b5060ff60208201511660ff8616146127e0565b50505092915050565b905f916002549260ff841693600285036115b65760ff9060081c16916001600160a01b03811693845f52600360205260405f20548460ff821603612b42575b6001808260881c16146115ad576001600160801b039060081c1601926001600160801b038411612b33575b61288a5f87614468565b6001600160801b03851610612b095760405193636fd5ae1560e01b85526020856004815f516020614bae5f395f51905f525afa9485156104bc575f95612ae8575b506128d6858461451b565b15612abc579070ffffffffffffffffffffffffffffffff007101000000000000000000000000000000000092875f52600360205260081b16171760405f2055835f52600160205260405f20805460ff8160681c165f14612a745750505f516020614bae5f395f51905f523b1561015d576040516329ed64a760e21b81526001600160a01b03919091166004820152600560248201525f81604481835f516020614bae5f395f51905f525af180156104bc57612a61575b505b7302c5566942d205e9ade4c8dd052ad137d48235cb3b15612a53576040516303e8b68b60e41b8152836004820152682b5e3af16b1880000060248201528181604481837302c5566942d205e9ade4c8dd052ad137d48235cb5af18015612a5657612a3e575b5050604062ffffff612a257fa4ba2ede2c3644269a019e13e9664823d10d38ec9fcbeec3a7a2665492fe67be9361143d565b16938151908152682b5e3af16b188000006020820152a3565b612a498280926110be565b612a5357806129f3565b80fd5b6040513d84823e3d90fd5b612a6d91505f906110be565b5f5f61298c565b91612a8861ffff612ab79460481c16611903565b61ffff63ffffffff821611156115775750815461ffff60481b19166affff0000000000000000001782556134e3565b61298e565b93509450505070ffffffffffffffffffffffffffffffff00915f52600360205260081b161760405f2055565b612b0291955060203d6020116104b5576104a681836110be565b935f6128cb565b9450505070ffffffffffffffffffffffffffffffff00915f52600360205260081b161760405f2055565b6001600160801b039350612880565b5083612855565b905f916002549260ff841693600385036115b65760ff9060081c16916001600160a01b03811693845f52600360205260405f20548460ff821603612b42576001808260881c16146115ad576001600160801b039060081c1601926001600160801b038411612b335761288a5f87614468565b905f916002549260ff841693600985036115b65760ff9060081c16916001600160a01b03811693845f52600360205260405f20548460ff821603612b42576001808260881c16146115ad576001600160801b039060081c1601926001600160801b038411612b335761288a5f87614468565b60025460ff811693915f915f198601612cbf5760ff9060081c166001600160a01b03821694855f52600360205260405f20548260ff821603612cb8575b6001808260881c1614612cae576001600160801b039060081c1601936001600160801b038511612c9f575b61288a9087614468565b6001600160801b039450612c95565b5050505050505050565b5081612c6a565b505050505050565b905f916002549260ff841693600585036115b65760ff9060081c16916001600160a01b03811693845f52600360205260405f20548460ff821603612b42576001808260881c16146115ad576001600160801b039060081c1601926001600160801b038411612b335761288a5f87614468565b60025460ff811693915f916008198601612cbf5760ff9060081c166001600160a01b03821694855f52600360205260405f20548260ff821603612cb8576001808260881c1614612cae576001600160801b039060081c1601936001600160801b038511612c9f5761288a9087614468565b60025460ff811693915f916005198601612cbf5760ff9060081c166001600160a01b03821694855f52600360205260405f20548260ff821603612cb8576001808260881c1614612cae576001600160801b039060081c1601936001600160801b038511612c9f5761288a9087614468565b60025460ff80821695935f939291168603612cbf5760ff9060081c166001600160a01b03821694855f52600360205260405f20548260ff821603612cb8576001808260881c1614612cae576001600160801b039060081c1601936001600160801b038511612c9f5761288a9087614468565b8115612e97570490565b634e487b7160e01b5f52601260045260245ffd5b6020015160ff16905f9060018303612f01576122479291612ed59160ff16612ef957600190611b93565b9064746a5288008211612eec575b6117b5906146bc565b64746a5288009150612ee3565b600290611b93565b5050600681148015612fa7575b15612f2157612247906117b55f916146bc565b60098103612f3857612247906117b56001916146bc565b60048103612f4f57612247906117b56001916146bc565b600281148015612f9d575b8015612f93575b8015612f89575b15612f8457612247906117b5686c6b935b8bbd400000916146bc565b505f90565b5060088114612f68565b5060038114612f61565b5060058114612f5a565b5060078114612f0e565b6020015160ff169060018203612fe85780158180046001141715611453576122479164746a5288008211612eec576117b5906146bc565b60068214801561303c575b15613024578060011b9080820460021490151715611453576122479164746a5288008211612eec576117b5906146bc565b5060098103612f3857612247906117b56001916146bc565b5060078214612ff3565b6020015160ff165f6001820361306d576122479190612ed5908015612ef957600190611b93565b50600681148015612fa75715612f2157612247906117b55f916146bc565b6020015160ff169190600183036130b4576122479291612ed59160ff16612ef957600190611b93565b5060068214801561303c5715613024578060011b9080820460021490151715611453576122479164746a5288008211612eec576117b5906146bc565b9294919397819a99865162ffffff1661310a905f85613b73565b602088019a8b5160ff1661311d906146bc565b61312691612e8d565b61312f91613c27565b92835f61313b92613c46565b865162ffffff16928a5160ff169061ffff1693613157826146bc565b6131619086611b93565b6001600160801b03168c5160ff16613178906146bc565b6131829088611b93565b6040805160ff90951685526001600160801b039092166020850152908301526001600160a01b0387168260608101037f253e49f6f3f3373581cf4d9c8c2f75ea79225d2e7b42122ad0de8b785c2b7ddb905f94a46131e291600186612e1b565b101561320457505050505060ff61ffff915116925460481c16905f9291905f90565b90919293946132135f89613cdd565b61189357509061188b95965f92613d9d565b929491939698979098855162ffffff166132419060018c613b73565b6020870198895160ff16613254906146bc565b61325d91612e8d565b61326691613c27565b916132738360018d613c46565b865162ffffff1692895160ff169061ffff169361328f826146bc565b6132999086611b93565b6001600160801b03168b5160ff166132b0906146bc565b6132ba9088611b93565b6040805160ff90951685526001600160801b039092166020850152908301526001600160a01b0387168260608101037f253e49f6f3f3373581cf4d9c8c2f75ea79225d2e7b42122ad0de8b785c2b7ddb90600194a461331b91600986612e1b565b101561333c575050505060ff61ffff915116925460481c16905f9291905f90565b9091929361334b600188613cdd565b61336157505f93929161188b9596600192613d9d565b91505061ffff925060ff91505116925460481c16905f9291905f90565b939592969798909b9a8692959a8d895162ffffff1661339e908683613b73565b60208b019d8e5160ff166133b1906146bc565b6133ba91612e8d565b6133c391613c27565b80956133ce92613c46565b885162ffffff16938c5160ff169061ffff16948d6133eb836146bc565b6133f59088611b93565b6001600160801b0316905160ff1661340c906146bc565b6134169089611b93565b6040805160ff95861681526001600160801b03939093166020840152820152918a16916001600160a01b038916907f253e49f6f3f3373581cf4d9c8c2f75ea79225d2e7b42122ad0de8b785c2b7ddb90606090a46134749286612e1b565b10156134975750505050505060ff61ffff915116925460481c16905f9291905f90565b9091929394956134a7848a613cdd565b6134b757509661188b9697613d9d565b935050505061ffff925060ff91505116925460481c16905f9291905f90565b9190820391821161145357565b81549160ff606461ffff8560481c16049360d01c1680841061363d5780841461362b5761351090846134d6565b9260ff811115613631575061353b60ff5b825460ff60d01b191660d09190911b60ff60d01b16178255565b60ff815460c81c1692600a84101561362b57600a6135598286611f3f565b11156135ed575082600a0391600a831161145357611fe46001600160a01b03926135c760ff6135aa7f86983f176209bcfaea3ee23dc02d634807e4db86aa1b440549a90283deec947b978099611f3f565b1680929060ff60c81b1960ff60c81b83549260c81b169116179055565b61ffff6040519485941696168390929160ff60209161ffff604085019616845216910152565b91611fe46001600160a01b03926135c760ff6135aa7f86983f176209bcfaea3ee23dc02d634807e4db86aa1b440549a90283deec947b978099611f3f565b50505050565b60ff61353b9116613521565b50905060ff6113d1921660ff60d01b1960ff60d01b83549260d01b169116179055565b9061ffff6060830151169062ffffff6020840151168015155f146136fd575b62ffffff81161515806136e2575b6136b3575b5062ffffff806040850151169116145f1461209f57506080015161ffff1690565b6136c46124b562ffffff9284612355565b1660ff61016085015116106136da575b5f613692565b5f91506136d4565b5062ffffff6136f08261143d565b1662ffffff83161161368d565b5062ffffff83511661367f565b9081602091031261015d5751801515810361015d5790565b6040517fccd5ddc70000000000000000000000000000000000000000000000000000000081526020816004815f516020614bae5f395f51905f525afa9081156104bc575f9161381f575b501561381b57604051636fd5ae1560e01b81526020816004815f516020614bae5f395f51905f525afa80156104bc5762ffffff915f916137fc575b5016801515806137ec575b6137e65760058110612f8457600562ffffff600a8306161490816137d4575090565b605f9150606462ffffff910616141590565b50600190565b5062ffffff6064820616156137b2565b613815915060203d6020116104b5576104a681836110be565b5f6137a7565b5f90565b613841915060203d602011613847575b61383981836110be565b81019061370a565b5f61376c565b503d61382f565b90600a8110156111aa5760051b0190565b90915f92610140926040519361387581866110be565b3685375f92835b60ff8516600a81101561396c5760ff146139465760ff85168015908115613961575b5061394657831580613954575b61394657600960ff86161461394657600160ff861691600283145f146138ff5761ffff8092506138de6004945b8a61384e565b9316809352160161ffff811161145357600160ff91950116955b959361387c565b600583148061393f575b1561391f5761ffff8092506138de6004946138d8565b60068314613936575b61ffff6138de8193946138d8565b60039150613928565b5085613909565b93600160ff910116956138f8565b50600560ff8616146138ab565b60049150145f61389e565b509095935061ffff16915081156139eb570690805b60ff8116600a8110156139d65761399b61ffff918661384e565b5116806139af575b5060010160ff16613981565b90928181106139ce576139c660ff926001926134d6565b9391506139a3565b505050905090565b50509150505f146139e657600390565b600190565b50505050600190565b60405191610140613a0581856110be565b3684375f91825b60ff8416600a811015613afc57600114613ad65760ff84168015908115613af1575b50613ad657821580613ae4575b613ad657600960ff851614613ad657600160ff851691600283145f14613a8f5761ffff809250613a6e6004945b8961384e565b9316809352160161ffff811161145357600160ff91940116945b9492613a0c565b6005831480613acf575b15613aaf5761ffff809250613a6e600494613a68565b60068314613ac6575b61ffff613a6e819394613a68565b60039150613ab8565b5084613a99565b92600160ff91011694613a88565b50600560ff851614613a3b565b60049150145f613a2e565b5061ffff16925090508115613b6b57065f5b60ff8116600a811015613b6257613b2861ffff918561384e565b511680613b3c575b5060010160ff16613b0e565b9091818110613b5b57613b5360ff926001926134d6565b929150613b30565b5050905090565b50505050600390565b505050600390565b91613b7e828461471d565b62ffffff808316911603613b96575061224791614739565b9060ff16613be1577fffffffffffffffffffffffffffffff000000ffffffffffffffffffffffffffff70ffffff000000000000000000000000000083549260701b1691161790555f90565b7fffffffffffffffffffffffff000000ffffffffffffffffffffffffffffffffff73ffffff000000000000000000000000000000000083549260881b1691161790555f90565b61ffff160161ffff8111613c3d575b61ffff1690565b5061ffff613c36565b919060ff16613c95577fffffffffffffffffffff0000ffffffffffffffffffffffffffffffffffffffff75ffff000000000000000000000000000000000000000083549260a01b169116179055565b7fffffffffffffffff0000ffffffffffffffffffffffffffffffffffffffffffff77ffff0000000000000000000000000000000000000000000083549260b01b169116179055565b9060ff60019116149081613d02575b81613cf5575090565b60ff91505460681c161590565b805460c01c600116159150613cec565b9593613d25909593919295828489614754565b9592989181989198819a809815613d8c57505050600160ff851614613d7f57613d539460015f9518926149f1565b929092613d66575b505050929190600190565b9195509350613d7491611f3f565b9192915f8080613d5b565b5050505050929190600190565b9a50909850965f9650945050505050565b93613db090979591969297848887614754565b9692999181999199819b809915613dea57505050600160ff871614613ddc576001613d539618926149f1565b505050505050929190600190565b9b50909950975f975095505050505050565b60e05292613e08612050565b61012052613e1861012051612084565b60e0516001600160a01b03165f81815260016020526040902094901580156141ec575b6141c65785159687806141b8575b806141b0575b61418957613e608360e0518861236d565b5f60c081905260a0819052610100819052865460481c61ffff16989097889691156140f9575b5063ffffffff811661404b575b5081613ef0575b50505050613eb89150613eb360c0519160a05190611f3f565b611f3f565b61010051613ee7575060ff811615613ed457915b5f9291905f90565b5060ff6020610120515101511691613ecc565b92909190600190565b613efd908260e051612daa565b613f0a82610120516126ea565b909160ff821660ff8103613f20575b5050613e9a565b613f43613f2e86858b613b73565b6117bb60208701946117b560ff8751166146bc565b90613f4f82858b613c46565b613f5a87858761308b565b9261ffff60ff8251169316927f253e49f6f3f3373581cf4d9c8c2f75ea79225d2e7b42122ad0de8b785c2b7ddb613ff2613fb5613faf60ff6001600160801b03613fa6611837886146bc565b169651166146bc565b88611b93565b60405191829162ffffff8d16966001600160a01b0360e0511696846001600160801b0360409295949360ff60608401971683521660208201520152565b0390a41015614003575b8080613f19565b61400d8187613cdd565b613ffc576140239495610120519060e051613d9d565b929092614033575b808493613ffc565b60a0526001610100529093509150613eb85f8061402b565b96602061012051015160805262ffffff608051511662ffffff851614806140e6575b156140cd57506140a5816009988563ffffffff82169163ffffffff614093608051613046565b9116608051610120518d60e051613225565b9290926140b7575b5050505b5f613e93565b60c05260016101005290985096505f80806140ad565b968163ffffffff6140e1921660e051612d39565b6140b1565b50600960ff60206080510151161461406d565b61012051519862ffffff8a511662ffffff87161480614178575b156141645750828187878b61413d9560019e61412f8582612fb1565b92610120519060e0516130f0565b92909261414f575b5050505b5f613e86565b600161010052919a50985095505f8080614145565b9850826141739160e051612c2d565b614149565b50600160ff60208c01511614614113565b50505050509291505061ffff60ff60206101205151015116925460481c16905f9291905f90565b508115613e4f565b5063ffffffff851615613e49565b505050509291505061ffff60ff60206101205151015116925460481c16905f9291905f90565b5062ffffff821615613e3b565b90614202612050565b9161420c83612084565b6001600160a01b038216805f52600160205260405f2094811580156142c5575b6142a55761423b83858861236d565b6142458382612747565b91909260ff831660ff811461428a5761425f86858b613b73565b91602086019261427260ff8551166146bc565b908115612e975761ffff611e6b926001041690613c27565b505050505050509061ffff905460481c165f91600491905f90565b61ffff935060ff92506020915051015116925460481c16905f9291905f90565b5062ffffff83161561422c565b5f6001600160a01b038216918215614463576142ef6101aa612050565b62ffffff81169182156115b657845f5260016020526143138260405f20928361236d565b60ff815460681c166143e0575b61ffff815460481c1691600c831015612cbf57815461ffff60481b1916690c0000000000000000001780835560181c62ffffff1684116143bd575b5050600c0361ffff81116143a9579160609161ffff7fb8b6f7349e596cc2586f872966c424c8e10e18481d6acfd53c338509dab80995946040519350168252600c60208301526040820152a2565b602483634e487b7160e01b81526011600452fd5b815465ffffff000000191660189190911b65ffffff000000161790555f8061435b565b5f516020614bae5f395f51905f523b1561015d576040517f65612008000000000000000000000000000000000000000000000000000000008152856004820152600c60248201525f81604481835f516020614bae5f395f51905f525af180156104bc5761444e575b50614320565b61445b9194505f906110be565b5f925f614448565b505050565b60ff16906009821461451457600182146144fe576006821480156144f4575b6144de5750600281149081156144d3575b81156144c8575b81156144bd575b506144af575f90565b69043c33c193756480000090565b60089150145f6144a6565b60038114915061449f565b600581149150614498565b6014808202925081159183041417156114535790565b5060078214614487565b600a808202925081159183041417156114535790565b5050600a90565b6001600160a01b03604051917f4947e86000000000000000000000000000000000000000000000000000000000835216918260048301526020826024815f516020614bae5f395f51905f525afa9182156104bc575f92614669575b5062ffffff8260681c1662ffffff61458d8361143d565b168114159182614659575b50506121445761019061ffff8260e41c161061214457600562ffffff8260301c1610156146525762ffffff8160801c1615159081614642575b506137e657604051907f7c327d3400000000000000000000000000000000000000000000000000000000825260048201526020816024815f516020614bae5f395f51905f525afa9081156104bc575f91614629575090565b612247915060203d6020116138475761383981836110be565b6003915060981c1615155f6145d1565b5050600190565b62ffffff16141590505f80614598565b9091506020813d602011614695575b81614685602093836110be565b8101031261015d5751905f614576565b3d9150614678565b9060ff6146a86111be565b9262ffffff8116845260181c166020830152565b60ff16600181148015614713575b8015614709575b6146fd57600981149081156146f2575b506139e657670de0b6b3a764000090565b60049150145f6146e1565b5066038d7ea4c6800090565b50600781146146d1565b50600681146146ca565b62ffffff9160ff16614731575460701c1690565b5460881c1690565b61ffff9160ff1661474c575460a01c1690565b5460b01c1690565b939091938254925f60ff8560c01c9716916001831b9060ff828a16166149d15760ff8760681c16917fffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffff78ff00000000000000000000000000000000000000000000000062ffffff8b51169b8715809b819c6149bf575b5061499f575b60ff808654951691161760c01b16911617815561ffff815460481c169682155f1461490d5761ffff88106148e2575b815461ffff60481b1916604889901b6affff0000000000000000001617825597989697959660ff9661483183886134e3565b6148cb575b50505b600183036148af57505068056bc75e2d63100000955b602062ffffff8251169101927f5501e9ec9605ce4597c2b5f274790a71a76ce0b8d15036f95f9514a24118e3d360606001600160a01b03878751169360405194855263ffffffff8b1660208601528b60408601521692a451169190600190565b156148bb575b9561484f565b5068056bc75e2d631000006148b5565b62ffffff1662ffffff198254161790555f80614836565b966001019863ffffffff8a116148f95798966147ff565b602484634e487b7160e01b81526011600452fd5b5050939495965060018214614925575b60ff93614839565b5f516020614bae5f395f51905f523b1561015d57604051936329ed64a760e21b85526001600160a01b0384166004860152600160248601525f85604481835f516020614bae5f395f51905f525af19485156104bc5760ff9561498a575b50935061491d565b6149979192505f906110be565b5f905f614982565b845465ffffff000000191660188e901b65ffffff000000161785556147d0565b62ffffff915060181c168d115f6147ca565b5050505050925090602060ff910151169161ffff5f939260481c16905f90565b909194614a0260ff85168097611199565b519462ffffff8651168015918215614a9f575b5050614a7f5760ff60018454971b8760c01c1616614a6357614a3990848685614aaf565b15614a485761188b9450614754565b505050602060ff910151169161ffff5f939260481c16905f90565b50505050602060ff910151169161ffff5f939260481c16905f90565b50509392505060ff602061ffff92015116925460481c16905f9291905f90565b62ffffff16141590505f80614a15565b929092614abc838261471d565b62ffffff80865116911603614ba557614ad88361ffff92614739565b1692811580614b6d575b614afd575b91614af19261308b565b90811561214457101590565b905060405191631a05f1db60e21b83526020836004815f516020614bae5f395f51905f525afa80156104bc575f90614b39575b90925090614ae7565b506020833d602011614b65575b81614b53602093836110be565b8101031261015d57614af19251614b30565b3d9150614b46565b5060ff60208201511660018114908115614b9a575b8115614b8f575b50614ae2565b60079150145f614b89565b600681149150614b82565b505050505f9056fe00000000000000000000000034a8d81a24be5fac74fdab77f24ef138b522cb5da2646970667358221220aae29b9e6acb7992bc84d56518fa8d973851620449880924c7ed1c757bb46cde64736f6c63430008220033
Loading...
Loading
Loading...
Loading
Loading...
Loading
Loading...
Loading
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.

