0 txs
0 calls
constructor
constructor(address taxCollector_, address weth_, address locker_, address uniswapV3Factory_, address positionManager_, uint64 defaultLockingPeriod_, address swapRouter_, address owner_)
functions
bundleFeeSwitch
viewfunction bundleFeeSwitch() view returns (bool)
defaultLockingPeriod
viewfunction defaultLockingPeriod() view returns (uint64)
deprecated
viewfunction deprecated() view returns (bool)
getTokensDeployedByUser
viewfunction getTokensDeployedByUser(address user) view returns (tuple[])
liquidityLocker
viewfunction liquidityLocker() view returns (address)
lpFeesCut
viewfunction lpFeesCut() view returns (uint8)
owner
viewfunction owner() view returns (address)
positionManager
viewfunction positionManager() view returns (address)
protocolCut
viewfunction protocolCut() view returns (uint8)
qualityGateLength
viewfunction qualityGateLength() view returns (uint256)
swapRouter
viewfunction swapRouter() view returns (address)
taxCollector
viewfunction taxCollector() view returns (address)
taxRate
viewfunction taxRate() view returns (uint8)
tokensDeployedByUsers
viewfunction tokensDeployedByUsers(address, uint256) view returns (address token, uint256 lpNftId, address locker)
uniswapV3Factory
viewfunction uniswapV3Factory() view returns (address)
weth
viewfunction weth() view returns (address)
claimFees
nonpayablefunction claimFees(address token)
deployToken
payablefunction deployToken(string _name, string _symbol, uint256 _supply, int24 _initialTick, uint24 _fee, bytes32 _salt, address _deployer, uint256 _fid, string _image, string _castHash) payable returns (address token, uint256 tokenId)
renounceOwnership
nonpayablefunction renounceOwnership()
setDeprecated
nonpayablefunction setDeprecated(bool _deprecated)
setQualityGateLength
nonpayablefunction setQualityGateLength(uint256 _qualityGateLength)
toggleBundleFeeSwitch
nonpayablefunction toggleBundleFeeSwitch(bool _enabled)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
updateDefaultLockingPeriod
nonpayablefunction updateDefaultLockingPeriod(uint64 newPeriod)
updateLiquidityLocker
nonpayablefunction updateLiquidityLocker(address newLocker)
updateProtocolFees
nonpayablefunction updateProtocolFees(uint8 newFee)
updateTaxCollector
nonpayablefunction updateTaxCollector(address newCollector)
updateTaxRate
nonpayablefunction updateTaxRate(uint8 newRate)
events
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
TokenCreated
event TokenCreated(address tokenAddress, uint256 lpNftId, address deployer, uint256 fid, string name, string symbol, uint256 supply, address lockerAddress, string castHash)
errors
Deprecated
error Deprecated()
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
creation bytecode
0x6080346101ce57601f61330238819003918201601f19168301916001600160401b038311848410176101d257808492610100946040528339810103126101ce57610048816101e6565b90610055602082016101e6565b91610062604083016101e6565b9261006f606084016101e6565b61007b608085016101e6565b60a0850151916001600160401b03831683036101ce5761009d60c087016101e6565b956001600160a01b03906100b39060e0016101e6565b169687156101bb575f80546001600160a01b031981168a17825560405199916001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a360018054600380546001600160a01b03199081166001600160a01b03998a16179091556002805482169489169490941790935560048054841694881694909417909355600580548316948716949094179093557fff000000000000000000000000000000000000000000000000000000000000009091169484169490941760a09290921b600160a01b600160e01b031691909117621e321960e01b17905560068054909216921691909117905561310790816101fb8239f35b631e4fbdf760e01b5f525f60045260245ffd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b03821682036101ce5756fe6080806040526004361015610012575f80fd5b5f905f3560e01c9081630939a0ad14611ca8575080630e136b1914611c835780631108984614611c6257806315a0ea6a146119ce5780631962d947146119895780633aa10f1f1461192e5780633fc8cef3146119055780634de2fae7146118be57806357aa02011461189a5780635b54918214611871578063715018a614611817578063771a3a1d146117f3578063791b98bc146117ca5780637ebdf9ab146117a457806388aea8721461172d5780638da5cb5b146117065780639759164a146116dd5780639dbb8c9f14611698578063b0fad6f014611651578063bdef367914611522578063bea1dcf8146114f9578063c31c9c07146114d0578063d406d751146114a6578063d848dee71461145f578063de04f42e1461143b578063e42efd54146113f4578063ed7ce084146101da5763f2fde38b14610152575f80fd5b346101d75760203660031901126101d75761016b611cc2565b610173611e46565b6001600160a01b031680156101c35781546001600160a01b03198116821783556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b631e4fbdf760e01b82526004829052602482fd5b80fd5b506101403660031901126101d7576004356001600160401b038111610cb357610207903690600401611d05565b6024356001600160401b0381116113f057610226903690600401611d05565b93606435918260020b8303610cb3576084359562ffffff87168703610cd75760c435956001600160a01b03871687036113f057610104356001600160401b0381116113ec57610279903690600401611d89565b95610124356001600160401b038111610dee5761029a903690600401611d89565b946102a3611e46565b60ff60065460a01c166113dd5760018060a01b036004541697602062ffffff60248d6040519c8d9384926322afcccb60e01b84521660048301525afa988915610a5257829961139f575b508860020b15158061136f575b1561133b57604080516001600160a01b038c166020820190815260a43582840152918152610329606082611d4d565b5190209060075460405191826112658101106001600160401b0361126585011117610da657906103e16103cb8e85946103928d8d61037c8e8e611265611e6d8d396101006112658d018181520191611de3565b916112658a01830360206112658c010152611de3565b604435611265880160408101919091526001600160a01b03909316606084015260e435608084015282810360a090930192909252611e03565b6112658401810360c0611265860101528b611e03565b9060e061126584010152039083f5978815610d62576003546001600160a01b03908116908a1681111561130757828960020b125f146112fe57600289900b600160ff1b146112ea578860020b83035b620d89e8918282116112c15760018216156112af576001600160881b036ffffcb933bd6fad37aa2d162d1a5940015b169160028116611274575b60048116611239575b600881166111fe575b601081166111c3575b60208116611188575b6040811661114d575b60808116611112575b61010081166110d7575b610200811661109c575b6104008116611061575b6108008116611026575b6110008116610feb575b6120008116610fb0575b6140008116610f75575b6180008116610f3a575b620100008116610eff575b620200008116610ec6575b620400008116610e8f575b6208000016610e5c575b848b60020b13610e38575b63ffffffff8260201c9216155f14610e305784905b60ff821683018311610e1c5760208f9160648f8960018060a01b036004541662ffffff604051978896879563a167129560e01b875260018060a01b0316600487015260248601521660448401525af1908115610e11578691610df2575b506001600160a01b031691823b15610dee5760405163f637731d60e01b815260ff909216016001600160a01b031660048201529084908290602490829084905af18015610de357908491610dce575b50506003546001600160a01b031698600283900b15610dba57604051998a6101608101106001600160401b036101608d011117610da6576101608b0160405260018060a01b038c168b5260208b015262ffffff8d1660408b015260020b60608a01528160020b90050260020b608088015260443560a08801528060c08801528060e08801528061010088015230610120880152426101408801526106c4602060018060a01b03600554166040518093819263095ea7b360e01b8352604435906004840160209093929193604081019460018060a01b031681520152565b0381856001600160a01b038e165af18015610a5257610d6f575b5060055460408051634418b22b60e11b815289516001600160a01b03908116600483015260208b015181166024830152918a015162ffffff16604482015260608a0151600290810b60648301526080808c015190910b608483015260a08b015160a483015260c08b015160c483015260e08b015160e48301526101008b01516101048301526101208b01518316610124830152610140909a0151610144820152989189916101649183918691165af1968715610d62578197610d0c575b50600254600554600154604051634e54db0960e01b81526001600160a01b0392831660048201528c8316602482015260a082901c6001600160401b03166044820152606481018b905260e89190911c60ff1660848201529b9183918d9116815a9360a492602095f19a8b15610a5257829b610cdb575b506005546001600160a01b03169a8b3b15610cd75782899a9b9c606482936040519485938492632142170760e11b845230600485015260018060a01b03169e8f602485015260448401525af18015610cb757908391610cc2575b5050873b15610cb3576040516367a4d1c360e01b8152600481018a90528281602481838d5af18015610cb757908391610c9e575b505034158015610a85575b50506001600160a01b038a168152600860205260408082209051906108ce82611d32565b6001600160a01b038b168252602082018a8152604083018a81528254909268010000000000000000821015610a71579061090d91600182018155611cd8565b939093610a5d575183546001600160a01b03199081166001600160a01b0392831617855591516001850155915160029390930180549091169282169290921790915589163b156101d7576040516340f7b85560e01b8152600160048201528181602481836001600160a01b038f165af18015610a5257610a3d575b505093610a088894610a24946109fa7f0e9d60e5c5597233717659e7b39411e0a61e7177252521b9c6f515f75f6fef01999560409d998e519a8b9a60018060a01b03168b528d60208c015260018060a01b03168f8b015260e43560608b015261012060808b01526101208a0191611de3565b9187830360a0890152611de3565b9160443560c086015260e0850152838203610100850152611e03565b0390a182516001600160a01b0390921682526020820152f35b610a48828092611d4d565b6101d75780610988565b6040513d84823e3d90fd5b634e487b7160e01b85526004859052602485fd5b634e487b7160e01b86526041600452602486fd5b349060ff60065460a81c16610bba575b5060035460405191906001600160a01b031660e083016001600160401b03811184821017610a7157928d928f60e49360209660405283528583019460018060a01b0316855262ffffff6040840197168752606083019060018060a01b031681526080830182815260a0840189815260c08501918a835260018060a01b03600654169362ffffff6040519b8c9a8b996304e45aaf60e01b8b5260018060a01b0390511660048b015260018060a01b0390511660248a01525116604488015260018060a01b0390511660648701525160848601525160a485015260018060a01b0390511660c48401525af18015610a5257610b8f575b806108aa565b602090813d8311610bb3575b610ba58183611d4d565b810103126101d7575f610b89565b503d610b9b565b90506001549060ff8260e01c169081340291348304141715610c8a576103e89004803403348111610c76579184918291829182916001600160a01b03165af13d15610c71573d610c0981611d6e565b90610c176040519283611d4d565b81528460203d92013e5b15610c2c575f610a95565b60405162461bcd60e51b815260206004820152601c60248201527f4661696c656420746f2073656e642070726f746f636f6c2066656573000000006044820152606490fd5b610c21565b634e487b7160e01b85526011600452602485fd5b634e487b7160e01b84526011600452602484fd5b81610ca891611d4d565b610cb357815f61089f565b5080fd5b6040513d85823e3d90fd5b81610ccc91611d4d565b610cb357815f61086b565b8280fd5b610cfe919b5060203d602011610d05575b610cf68183611d4d565b810190611e27565b995f610811565b503d610cec565b9096506080813d608011610d5a575b81610d2860809383611d4d565b81010312610d5657602081519101516fffffffffffffffffffffffffffffffff811603610d5657955f61079b565b8680fd5b3d9150610d1b565b50604051903d90823e3d90fd5b6020813d602011610d9e575b81610d8860209383611d4d565b81010312610cb3575180151581146106de575080fd5b3d9150610d7b565b634e487b7160e01b85526041600452602485fd5b634e487b7160e01b84526012600452602484fd5b81610dd891611d4d565b610cd757825f6105e7565b6040513d86823e3d90fd5b8580fd5b610e0b915060203d602011610d0557610cf68183611d4d565b5f610598565b6040513d88823e3d90fd5b634e487b7160e01b86526011600452602486fd5b60019061053b565b908015610e48575f190490610526565b634e487b7160e01b85526012600452602485fd5b906b048a170391f7dc42444e8fa28102908082046b048a170391f7dc42444e8fa21490151715610c765760801c9061051b565b916d2216e584f5fa1ea926041bedfe988102908082046d2216e584f5fa1ea926041bedfe981490151715610e1c5760801c91610511565b916e5d6af8dedb81196699c329225ee6048102908082046e5d6af8dedb81196699c329225ee6041490151715610e1c5760801c91610506565b916f09aa508b5b7a84e1c677de54f3e99bc98102908082046f09aa508b5b7a84e1c677de54f3e99bc91490151715610e1c5760801c916104fb565b916f31be135f97d08fd981231505542fcfa68102908082046f31be135f97d08fd981231505542fcfa61490151715610e1c5760801c916104f0565b916f70d869a156d2a1b890bb3df62baf32f78102908082046f70d869a156d2a1b890bb3df62baf32f71490151715610e1c5760801c916104e6565b916fa9f746462d870fdf8a65dc1f90e061e58102908082046fa9f746462d870fdf8a65dc1f90e061e51490151715610e1c5760801c916104dc565b916fd097f3bdfd2022b8845ad8f792aa58258102908082046fd097f3bdfd2022b8845ad8f792aa58251490151715610e1c5760801c916104d2565b916fe7159475a2c29b7443b29c7fa6e889d98102908082046fe7159475a2c29b7443b29c7fa6e889d91490151715610e1c5760801c916104c8565b916ff3392b0822b70005940c7a398e4b70f38102908082046ff3392b0822b70005940c7a398e4b70f31490151715610e1c5760801c916104be565b916ff987a7253ac413176f2b074cf7815e548102908082046ff987a7253ac413176f2b074cf7815e541490151715610e1c5760801c916104b4565b916ffcbe86c7900a88aedcffc83b479aa3a48102908082046ffcbe86c7900a88aedcffc83b479aa3a41490151715610e1c5760801c916104aa565b916ffe5dee046a99a2a811c461f1969c30538102908082046ffe5dee046a99a2a811c461f1969c30531490151715610e1c5760801c916104a0565b916fff2ea16466c96a3843ec78b326b528618102908082046fff2ea16466c96a3843ec78b326b528611490151715610e1c5760801c91610497565b916fff973b41fa98c081472e6896dfb254c08102908082046fff973b41fa98c081472e6896dfb254c01490151715610e1c5760801c9161048e565b916fffcb9843d60f6159c9db58835c9266448102908082046fffcb9843d60f6159c9db58835c9266441490151715610e1c5760801c91610485565b916fffe5caca7e10e4e61c3624eaa0941cd08102908082046fffe5caca7e10e4e61c3624eaa0941cd01490151715610e1c5760801c9161047c565b916ffff2e50f5f656932ef12357cf3c7fdcc8102908082046ffff2e50f5f656932ef12357cf3c7fdcc1490151715610e1c5760801c91610473565b916ffff97272373d413259a46990580e213a8102908082046ffff97272373d413259a46990580e213a1490151715610e1c5760801c9161046a565b6001600160881b03600160801b61045f565b60405162461bcd60e51b81526020600482015260016024820152601560fa1b6044820152606490fd5b634e487b7160e01b83526011600452602483fd5b8860020b610430565b60405162461bcd60e51b815260206004820152600c60248201526b125b9d985b1a59081cd85b1d60a21b6044820152606490fd5b60405162461bcd60e51b815260206004820152600c60248201526b496e76616c6964207469636b60a01b6044820152606490fd5b508860020b1561138b578860020b8860020b0760020b156102fa565b634e487b7160e01b82526012600452602482fd5b9098506020813d6020116113d5575b816113bb60209383611d4d565b81010312610cb357518060020b8103610cb357975f6102ed565b3d91506113ae565b6331cee75f60e21b8152600490fd5b8480fd5b8380fd5b50346101d75760203660031901126101d75760043560ff81168103610cb35761141b611e46565b6001805460ff60e01b191660e09290921b60ff60e01b1691909117905580f35b50346101d757806003193601126101d757602060ff60015460f01c16604051908152f35b50346101d75760203660031901126101d757600435801515809103610cb357611486611e46565b6006805460ff60a01b191660a09290921b60ff60a01b1691909117905580f35b50346101d757806003193601126101d75760206001600160401b0360015460a01c16604051908152f35b50346101d757806003193601126101d7576006546040516001600160a01b039091168152602090f35b50346101d757806003193601126101d7576001546040516001600160a01b039091168152602090f35b50346101d75760203660031901126101d7576001600160a01b03611544611cc2565b16815260086020526040812080546001600160401b03811161163d576040519061157460208260051b0183611d4d565b80825260208201809385526020852085915b8383106115f857868587604051928392602084019060208552518091526040840192915b8181106115b8575050500390f35b825180516001600160a01b0390811686526020828101518188015260409283015190911691860191909152869550606090940193909201916001016115aa565b6003602060019260405161160b81611d32565b848060a01b0386541681528486015483820152848060a01b036002870154166040820152815201920192019190611586565b634e487b7160e01b83526041600452602483fd5b50346101d75760203660031901126101d757600435801515809103610cb357611678611e46565b6006805460ff60a81b191660a89290921b60ff60a81b1691909117905580f35b50346101d75760203660031901126101d7576116b2611cc2565b6116ba611e46565b60018060a01b03166bffffffffffffffffffffffff60a01b600254161760025580f35b50346101d757806003193601126101d7576002546040516001600160a01b039091168152602090f35b50346101d757806003193601126101d757546040516001600160a01b039091168152602090f35b50346101d75760403660031901126101d757611747611cc2565b6001600160a01b03168152600860205260408120805460243592908310156101d75760606117758484611cd8565b5080546001820154600290920154604080516001600160a01b0393841681526020810194909452911690820152f35b50346101d757806003193601126101d757602060ff60065460a81c166040519015158152f35b50346101d757806003193601126101d7576005546040516001600160a01b039091168152602090f35b50346101d757806003193601126101d757602060ff60015460e01c16604051908152f35b50346101d757806003193601126101d757611830611e46565b80546001600160a01b03198116825581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b50346101d757806003193601126101d7576004546040516001600160a01b039091168152602090f35b50346101d757806003193601126101d757602060ff60015460e81c16604051908152f35b50346101d75760203660031901126101d75760043560ff81168103610cb3576118e5611e46565b6001805460ff60e81b191660e89290921b60ff60e81b1691909117905580f35b50346101d757806003193601126101d7576003546040516001600160a01b039091168152602090f35b50346101d75760203660031901126101d7576004356001600160401b0381168103610cb35761195b611e46565b6001805467ffffffffffffffff60a01b191660a09290921b67ffffffffffffffff60a01b1691909117905580f35b50346101d75760203660031901126101d7576119a3611cc2565b6119ab611e46565b60018060a01b03166bffffffffffffffffffffffff60a01b600154161760015580f35b5034611bc4576020366003190112611bc4576119e8611cc2565b335f52600860205260405f209182546001600160401b038111611c4e5760405193611a1960208360051b0186611d4d565b81855260208501905f5260205f205f915b838310611c0957505050505f91604051611a4381611d32565b5f80825260208201819052604082018190526001600160a01b03909216915b8551811015611bff57826001600160a01b03611a7e8389611dcf565b51511614611a8e57600101611a62565b915050611a9f919250600193611dcf565b51915b15611bc85781516001600160a01b0316803b15611bc4575f80916024604051809481936340f7b85560e01b83528160048401525af18015611bb957611ba6575b50604082015160208301519192839290916001600160a01b0316803b15611ba15760405163280cff3560e21b8152336004820152602481019290925283908290604490829084905af1908115610cb7578391611b8c575b5050516001600160a01b0316803b15611b89578180916024604051809481936340f7b85560e01b8352600160048401525af18015610a5257611b785750f35b81611b8291611d4d565b6101d75780f35b50fd5b81611b9691611d4d565b611b8957815f611b39565b505050fd5b611bb291505f90611d4d565b5f80611ae2565b6040513d5f823e3d90fd5b5f80fd5b60405162461bcd60e51b815260206004820152600f60248201526e151bdad95b881b9bdd08199bdd5b99608a1b6044820152606490fd5b5093505090611aa2565b60036020600192604051611c1c81611d32565b848060a01b0386541681528486015483820152848060a01b036002870154166040820152815201920192019190611a2a565b634e487b7160e01b5f52604160045260245ffd5b34611bc4576020366003190112611bc457611c7b611e46565b600435600755005b34611bc4575f366003190112611bc457602060ff60065460a01c166040519015158152f35b34611bc4575f366003190112611bc4576020906007548152f35b600435906001600160a01b0382168203611bc457565b8054821015611cf1575f52600360205f20910201905f90565b634e487b7160e01b5f52603260045260245ffd5b9181601f84011215611bc4578235916001600160401b038311611bc45760208381860195010111611bc457565b606081019081106001600160401b03821117611c4e57604052565b90601f801991011681019081106001600160401b03821117611c4e57604052565b6001600160401b038111611c4e57601f01601f191660200190565b81601f82011215611bc457803590611da082611d6e565b92611dae6040519485611d4d565b82845260208383010111611bc457815f926020809301838601378301015290565b8051821015611cf15760209160051b010190565b908060209392818452848401375f828201840152601f01601f1916010190565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b90816020910312611bc457516001600160a01b0381168103611bc45790565b5f546001600160a01b03163303611e5957565b63118cdaa760e01b5f523360045260245ffdfe60a080604052346103ee575f611265803803809161001d82866107e2565b8439820190610100838303126103ee5782516001600160401b0381116103ee5782610049918501610805565b60208401516001600160401b0381116103ee5783610068918601610805565b60408501516060860151909491906001600160a01b038116908190036103ee57608087015160a08801519092906001600160401b0381116103ee57846100af918a01610805565b60c08901519094906001600160401b0381116103ee5760e0916100d3918b01610805565b980151855190956001600160401b0382116105135760035490600182811c921680156107d8575b60208310146104f55781601f84931161076a575b50602090601f8311600114610704575f926106f9575b50508160011b915f199060031b1c1916176003555b8051906001600160401b0382116105135760045490600182811c921680156106ef575b60208310146104f55781601f849311610681575b50602090601f831160011461061b575f92610610575b50508160011b915f199060031b1c1916176004555b600e80546001600160a01b031990811673d3c43a38d1d3e47e9c420a733e439b03faadeba817909155600780549091169190911790556008558051906001600160401b0382116105135760095490600182811c92168015610606575b60208310146104f55781601f849311610598575b50602090601f8311600114610532575f92610527575b50508160011b915f199060031b1c1916176009555b83516001600160401b03811161051357600a54600181811c91168015610509575b60208210146104f557601f8111610492575b50602094601f821160011461042f579481929394955f92610424575b50508160011b915f199060031b1c191617600a555b600b81905542600d55600f80546001600160a01b03191633908117909155156104115715158080610405575b610342575b5060025482810180911161032e5760025533815280602052604081208281540190556040519182527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60203393a3604051610a0a908161085b8239608051815050f35b634e487b7160e01b82526011600452602482fd5b5f9150610350575b5f6102cb565b600e54604051630d47875d60e41b815233600482015290602090829060249082906001600160a01b03165afa80156103fa575f906103b5575b62ffffff915016612328811061039f575061034a565b632cf58dd760e01b5f523360045260245260445ffd5b506020813d6020116103f2575b816103cf602093836107e2565b810103126103ee575162ffffff811681036103ee5762ffffff90610389565b5f80fd5b3d91506103c2565b6040513d5f823e3d90fd5b5060ff600c54166102c6565b63ec442f0560e01b5f525f60045260245ffd5b015190505f80610285565b601f19821695600a5f52805f20915f5b88811061047a57508360019596979810610462575b505050811b01600a5561029a565b01515f1960f88460031b161c191690555f8080610454565b9192602060018192868501518155019401920161043f565b600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8601f830160051c810191602084106104eb575b601f0160051c01905b8181106104e05750610269565b5f81556001016104d3565b90915081906104ca565b634e487b7160e01b5f52602260045260245ffd5b90607f1690610257565b634e487b7160e01b5f52604160045260245ffd5b015190505f80610221565b60095f9081528281209350601f198516905b8181106105805750908460019594939210610568575b505050811b01600955610236565b01515f1960f88460031b161c191690555f808061055a565b92936020600181928786015181550195019301610544565b60095f529091507f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af601f840160051c810191602085106105fc575b90601f859493920160051c01905b8181106105ee575061020b565b5f81558493506001016105e1565b90915081906105d3565b91607f16916101f7565b015190505f80610186565b60045f9081528281209350601f198516905b8181106106695750908460019594939210610651575b505050811b0160045561019b565b01515f1960f88460031b161c191690555f8080610643565b9293602060018192878601518155019501930161062d565b60045f529091507f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b601f840160051c810191602085106106e5575b90601f859493920160051c01905b8181106106d75750610170565b5f81558493506001016106ca565b90915081906106bc565b91607f169161015c565b015190505f80610124565b60035f9081528281209350601f198516905b818110610752575090846001959493921061073a575b505050811b01600355610139565b01515f1960f88460031b161c191690555f808061072c565b92936020600181928786015181550195019301610716565b60035f529091507fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b601f840160051c810191602085106107ce575b90601f859493920160051c01905b8181106107c0575061010e565b5f81558493506001016107b3565b90915081906107a5565b91607f16916100fa565b601f909101601f19168101906001600160401b0382119082101761051357604052565b81601f820112156103ee578051906001600160401b0382116105135760405192610839601f8401601f1916602001856107e2565b828452602083830101116103ee57815f9260208093018386015e830101529056fe6080806040526004361015610012575f80fd5b5f3560e01c90816306fdde03146106d7575080630939a0ad146106ba578063095ea7b31461063857806318160ddd1461061b57806323b872dd1461053b5780632c08670a14610513578063313ce567146104f85780633257b4f3146104db57806340f7b8551461048a57806370a082311461045357806395d89b4114610398578063a4dac281146102dd578063a9059cbb146102ac578063bd31b97f1461028a578063d5f3948814610262578063dd62ed3e14610212578063f3ccaac01461010e5763f90d1c53146100e2575f80fd5b3461010a575f36600319011261010a57600e546040516001600160a01b039091168152602090f35b5f80fd5b3461010a575f36600319011261010a576040515f6009548060011c90600181168015610208575b6020831081146101f4578285529081156101d05750600114610172575b61016e83610162818503826107e5565b6040519182918261078f565b0390f35b91905060095f527f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af915f905b8082106101b657509091508101602001610162610152565b91926001816020925483858801015201910190929161019e565b60ff191660208086019190915291151560051b840190910191506101629050610152565b634e487b7160e01b5f52602260045260245ffd5b91607f1691610135565b3461010a57604036600319011261010a5761022b6107b9565b6102336107cf565b6001600160a01b039182165f908152600160209081526040808320949093168252928352819020549051908152f35b3461010a575f36600319011261010a576007546040516001600160a01b039091168152602090f35b3461010a575f36600319011261010a57602060ff600c54166040519015158152f35b3461010a57604036600319011261010a576102d26102c86107b9565b602435903361081b565b602060405160018152f35b3461010a575f36600319011261010a576040515f600a548060011c9060018116801561038e575b6020831081146101f4578285529081156101d057506001146103305761016e83610162818503826107e5565b919050600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8915f905b80821061037457509091508101602001610162610152565b91926001816020925483858801015201910190929161035c565b91607f1691610304565b3461010a575f36600319011261010a576040515f6004548060011c90600181168015610449575b6020831081146101f4578285529081156101d057506001146103eb5761016e83610162818503826107e5565b91905060045f527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b915f905b80821061042f57509091508101602001610162610152565b919260018160209254838588010152019101909291610417565b91607f16916103bf565b3461010a57602036600319011261010a576001600160a01b036104746107b9565b165f525f602052602060405f2054604051908152f35b3461010a57602036600319011261010a5760043580151580910361010a57600f546001600160a01b031633036104cc5760ff8019600c5416911617600c555f80f35b6329c4a30f60e01b5f5260045ffd5b3461010a575f36600319011261010a576020600854604051908152f35b3461010a575f36600319011261010a57602060405160128152f35b3461010a575f36600319011261010a57600f546040516001600160a01b039091168152602090f35b3461010a57606036600319011261010a576105546107b9565b61055c6107cf565b6001600160a01b0382165f81815260016020818152604080842033855290915290912054919360443593929091810161059b575b506102d2935061081b565b8381106106005784156105ed5733156105da576102d2945f52600160205260405f2060018060a01b0333165f526020528360405f209103905584610590565b634a1406b160e11b5f525f60045260245ffd5b63e602df0560e01b5f525f60045260245ffd5b8390637dc7a0d960e11b5f523360045260245260445260645ffd5b3461010a575f36600319011261010a576020600254604051908152f35b3461010a57604036600319011261010a576106516107b9565b6024359033156105ed576001600160a01b03169081156105da57335f52600160205260405f20825f526020528060405f20556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b3461010a575f36600319011261010a576020600b54604051908152f35b3461010a575f36600319011261010a575f6003548060011c90600181168015610785575b6020831081146101f4578285529081156101d057506001146107275761016e83610162818503826107e5565b91905060035f527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b915f905b80821061076b57509091508101602001610162610152565b919260018160209254838588010152019101909291610753565b91607f16916106fb565b602060409281835280519182918282860152018484015e5f828201840152601f01601f1916010190565b600435906001600160a01b038216820361010a57565b602435906001600160a01b038216820361010a57565b90601f8019910116810190811067ffffffffffffffff82111761080757604052565b634e487b7160e01b5f52604160045260245ffd5b6001600160a01b03169081156109c1576001600160a01b03169182156109ae57600b54801515806109a2575b6108c4575b50815f525f60205260405f20548181106108ab57817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92602092855f525f84520360405f2055845f525f825260405f20818154019055604051908152a3565b8263391434e360e21b5f5260045260245260445260645ffd5b600d54420342811161098e57106108dc575b5f61084c565b600e54604051630d47875d60e41b81526004810185905290602090829060249082906001600160a01b03165afa8015610983575f90610942575b62ffffff915016612328811061092c57506108d6565b83632cf58dd760e01b5f5260045260245260445ffd5b506020813d60201161097b575b8161095c602093836107e5565b8101031261010a575162ffffff8116810361010a5762ffffff90610916565b3d915061094f565b6040513d5f823e3d90fd5b634e487b7160e01b5f52601160045260245ffd5b5060ff600c5416610847565b63ec442f0560e01b5f525f60045260245ffd5b634b637e8f60e11b5f525f60045260245ffdfea26469706673582212201fafa87a1f3c176010b9b6b0ccc2b77b19a46dd3ed47479b891c0bde2a5df4f264736f6c634300081a0033a2646970667358221220f06bb3d1333d45a1b705579a5c3decf4f4bb17cbfd84aea69d2cc3467841666d64736f6c634300081a003300000000000000000000000004f6ef12a8b6c2346c8505ee4cff71c43d2dd8250000000000000000000000004200000000000000000000000000000000000006000000000000000000000000a8a253d0ca86e25fb729f17060ef772aaa06dd8700000000000000000000000033128a8fc17869897dce68ed026d694621f6fdfd00000000000000000000000003a520b32c04bf3beef7beb72e919cf822ed34f100000000000000000000000000000000000000000000000000000000f64e27fa0000000000000000000000002626664c2603336e57b271c5c0b26f421741e48100000000000000000000000072469d86a92f5a9e975fe371a66015e667ab288f