0 txs
2 calls
constructor
No constructor.
functions
_children
viewfunction _children(address, uint256) view returns (address)
BYD_REWARD_PERCENT
viewfunction BYD_REWARD_PERCENT() view returns (uint256)
BYD_VAULT
viewfunction BYD_VAULT() view returns (address)
DIVISOR
viewfunction DIVISOR() view returns (uint256)
EXCHANGE
viewfunction EXCHANGE() view returns (address)
FIFTEEN_LEVEL_BOUNS
viewfunction FIFTEEN_LEVEL_BOUNS() view returns (uint256)
getAllSubscription
viewfunction getAllSubscription() view returns (tuple[])
getSubscriptions
viewfunction getSubscriptions(address _user) view returns (tuple[])
getTreasuryBalance
viewfunction getTreasuryBalance() view returns (uint256)
getUserChildCount
viewfunction getUserChildCount(address _user) view returns (uint256)
getUserChildren
viewfunction getUserChildren(address user) view returns (address[])
getUserEligibleToExchange
viewfunction getUserEligibleToExchange(address _user) view returns (bool)
getUserExistence
viewfunction getUserExistence(address _user) view returns (bool)
getUserInfo
viewfunction getUserInfo(address _user) view returns (tuple)
isQualifiedForLevelBonus
viewfunction isQualifiedForLevelBonus(address _user, uint256 _level) view returns (bool)
isQualifiedForMatchingBonus
viewfunction isQualifiedForMatchingBonus(address _user) view returns (bool)
LIQUIDITY_FEE
viewfunction LIQUIDITY_FEE() view returns (uint256)
MASTER_REFERRER
viewfunction MASTER_REFERRER() view returns (address)
MATCHING_BONUS
viewfunction MATCHING_BONUS(uint256) view returns (uint256)
owner
viewfunction owner() view returns (address)
parentOf
viewfunction parentOf(address) view returns (address)
REFERAL_BONUS
viewfunction REFERAL_BONUS() view returns (uint256)
STAKER
viewfunction STAKER() view returns (address)
SUBSCRIPTIONCOUNT
viewfunction SUBSCRIPTIONCOUNT() view returns (uint256)
subscriptions
viewfunction subscriptions(uint256) view returns (uint256 planAmount, uint256 validity, string name, uint256 subID, uint256 createdOn, uint256 updatedOn, uint256 subPercent)
TEN_LEVEL_BOUNS
viewfunction TEN_LEVEL_BOUNS() view returns (uint256)
TREASURY_FEE
viewfunction TREASURY_FEE() view returns (uint256)
USDT_REWARD_PERCENT
viewfunction USDT_REWARD_PERCENT() view returns (uint256)
USDT
viewfunction USDT() view returns (address)
userNames
viewfunction userNames(string) view returns (address)
whitelistedContracts
viewfunction whitelistedContracts(address) view returns (bool)
add
nonpayablefunction add(uint256 _planAmount, uint256 _validity, string _name, uint256 _subPercent)
addMatchingBonus
nonpayablefunction addMatchingBonus(uint256[] _percent)
adminWithdrawl
nonpayablefunction adminWithdrawl(address _token, uint256 _amount)
distributeNFTrewards
nonpayablefunction distributeNFTrewards(address _user, uint256 _amount)
editUserName
nonpayablefunction editUserName(address _user, string newName)
editWhitelist
nonpayablefunction editWhitelist(address _contract, bool _value)
exchangeUSDT
nonpayablefunction exchangeUSDT(bool _isIn, uint256 _amount) returns (bool success)
initialize
nonpayablefunction initialize()
register
nonpayablefunction register(address _referrer, string _name, uint256 _subID)
renounceOwnership
nonpayablefunction renounceOwnership()
set
nonpayablefunction set(uint256 _subID, uint256 _planAmount, uint256 _validity, string _name, uint256 _subPercent)
setEnvironment
nonpayablefunction setEnvironment(address _staker, address _bydVault, address _exchange)
setLevelBonus
nonpayablefunction setLevelBonus(uint256 _tenLevel, uint256 _fifteenLevel)
setMaster
nonpayablefunction setMaster(address _master)
setMatchingBonus
nonpayablefunction setMatchingBonus(uint256 _level, uint256 _percent)
setRewardPercent
nonpayablefunction setRewardPercent(uint256 _usdt, uint256 _byd)
setUSDT
nonpayablefunction setUSDT(address _usdt)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
upgradeSubscription
nonpayablefunction upgradeSubscription(uint256 _subID, uint256 _activeOn)
withdrawTreasury
nonpayablefunction withdrawTreasury(uint256 _amount)
events
Allocation
event Allocation(address indexed _from, uint256 _amount, address _token, string _type)
Commission
event Commission(address indexed _from, address indexed _to, address _token, uint256 _commission, string _type)
Initialized
event Initialized(uint64 version)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
Register
event Register(address indexed _user, string _name, address _referrer)
Swap
event Swap(address indexed _user, address indexed from, address indexed to, uint256 _amount, string _type)
Upgrade
event Upgrade(address indexed _user, uint256 _subID)
errors
InvalidInitialization
error InvalidInitialization()
NotInitializing
error NotInitializing()
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
creation bytecode
0x60808060405234601557613018908161001b8239f35b600080fdfe6080604052600436101561001257600080fd5b6000803560e01c8063016ad6ca14611ede57806311f1fc9914611dea57806326ad63e814611dcc57806326fae0d314611d8c57806329e2be5714611c1a5780632be9a5de14611bf95780632d5bbf6014611b6c5780633410fe6e14611b4e578063391feebb14611b0f57806341610af314611a7e578063440b4a2e146119405780634908e9e51461175a57806350c1b9231461171a57806353ab431b146116fc578063546e5aa0146116b75780635d6a4413146115ca57806360138121146114a15780636386c1c71461135a578063677cd575146112f15780636d785d1c146112cd578063715018a6146112635780637e6b6345146111685780638129fc1c14610fea57806384f2897114610e8157806385e09ef814610e5857806388cb214e14610e055780638ce1a48314610de75780638da5cb5b14610db157806392cf26e014610d935780639b5655dc14610d75578063a238afb714610d43578063a2e4101614610ca4578063b0df4cab14610c7b578063b387ecd914610c41578063b50e44b814610c18578063b951c28314610bda578063b9fb189714610bb1578063c29e825914610b34578063c54e44eb14610b0b578063c79bdb4614610a88578063ccd26f9314610a6a578063d1fefc3814610a4c578063d4c6941714610881578063e03e4e4914610863578063e2127dfc14610802578063e649d5b11461073b578063ee08388e146106fa578063f1b6ac47146106dc578063f2fde38b146106af578063fc0d1b84146102805763ff7763651461024e57600080fd5b3461027d57602036600319011261027d57602061027161026c611f02565b61259f565b90506040519015158152f35b80fd5b503461027d57606036600319011261027d5761029a611f02565b6024356001600160401b038111610591576102b9903690600401611fec565b604435916001600160a01b0381168015908115610692575b50610680575b33845283602052604084206040519083519160208501926102f9818386612133565b60069082019081528190036020019020546001600160a01b03166106315783516001600160401b03811161061d5761033b816103358454612055565b84612226565b6020601f82116001146105b4576020926103728361039696946005948c916105a9575b508160011b916000199060031b1c19161790565b81555b016201000062ff000019825416179055604051809381928751928391612133565b8101600681520301902060018060a01b0333166001600160601b0360a01b82541617905533845260056020526040842060018060a01b0382166001600160601b0360a01b82541617905560018060a01b031691828452836020526001604085200154600181018091116105955783855284602052600160408620015561042461041e82612020565b50612300565b600854815191929186916001600160a01b0316803b15610591576040516323b872dd60e01b8152336004820152306024820152604481019290925282908290606490829084905af180156105865761056d575b50506104c49082519061048e6020850151426125e9565b6040519261049b84611f4f565b835260208301524260408301524260608301526080820152338652600460205260408620612373565b828452600160205260408420805490600160401b8210156105595791610515827f512f28962293693883ab7a58ae504738bf8f6950b55447f94a7e2a079a01c49495946001610535950181556121da565b81549060031b9033821b9160018060a01b03901b19161790555133612642565b61054a60405191604083526040830190612156565b9260208201528033930390a280f35b634e487b7160e01b86526041600452602486fd5b8161057791611f85565b610582578438610477565b8480fd5b6040513d84823e3d90fd5b8280fd5b634e487b7160e01b85526011600452602485fd5b90508901513861035e565b82885280882090601f198316895b818110610605575083600593602096936103969896600194106105ec575b5050811b018155610375565b8a015160001960f88460031b161c1916905538806105e0565b9192602060018192868c0151815501940192016105c2565b634e487b7160e01b87526041600452602487fd5b60405162461bcd60e51b815260206004820152602160248201527f4558495354533a20557365726e616d6520616c726561647920657869737473206044820152602160f81b6064820152608490fd5b506007546001600160a01b03166102d7565b905084528360205260ff600560408620015460101c1615386102d1565b503461027d57602036600319011261027d576106d96106cc611f02565b6106d46124a5565b61242f565b80f35b503461027d578060031936011261027d576020600d54604051908152f35b503461027d57602036600319011261027d576020906001600160a01b0361071f611f02565b16815260058252604060018060a01b0391205416604051908152f35b503461027d57602036600319011261027d576001600160a01b0361075d611f02565b168152600160205260408120604051908160208254918281520190819285526020852090855b8181106107e35750505082610799910383611f85565b604051928392602084019060208552518091526040840192915b8181106107c1575050500390f35b82516001600160a01b03168452859450602093840193909201916001016107b3565b82546001600160a01b0316845260209093019260019283019201610783565b503461027d57604036600319011261027d5761081c611f02565b6001600160a01b031681526001602052604081208054602435929083101561027d57602061084a84846121da565b905460405160039290921b1c6001600160a01b03168152f35b503461027d578060031936011261027d576020600c54604051908152f35b503461027d57608036600319011261027d576044356001600160401b038111610a48576108b290369060040161217b565b91906108bc6124a5565b6003546108e5604051926108cf84611f6a565b6004358452602084019560243587523691611fa6565b936040830194855260608301828152608084019042825260a085019242845260c08601946064358652600160401b811015610a205780600161092a9201600355612020565b969096610a34575186555160018601556002850196519687516001600160401b038111610a205761095f816103358454612055565b6020601f82116001146109ba579080610993928a9b60069a9b926109af575b50508160011b916000199060031b1c19161790565b90555b5160038601555160048501555160058401555191015580f35b01519050388061097e565b82895280892099601f1983168a5b818110610a085750916006999a9b918460019594106109ef575b505050811b019055610996565b015160001960f88460031b161c191690553880806109e2565b838301518d556001909c019b602093840193016109c8565b634e487b7160e01b88526041600452602488fd5b634e487b7160e01b88526004889052602488fd5b5080fd5b503461027d578060031936011261027d576020601454604051908152f35b503461027d578060031936011261027d576020601554604051908152f35b503461027d57610a973661200a565b90610aa06124a5565b610aaa82826125e9565b600e5403610abb5760145560155580f35b60405162461bcd60e51b815260206004820152602260248201527f53756d206f66205553445420616e64204259442073686f756c64206265203130604482015261302560f01b6064820152608490fd5b503461027d578060031936011261027d576008546040516001600160a01b039091168152602090f35b503461027d57604036600319011261027d5780610b4f611f02565b610b576124a5565b6001600160a01b0316803b15610bae5760405163a9059cbb60e01b815233600482015260248035908201529082908290604490829084905af1801561058657610b9d5750f35b81610ba791611f85565b61027d5780f35b50fd5b503461027d578060031936011261027d57600a546040516001600160a01b039091168152602090f35b503461027d57604036600319011261027d576106d9610bf7611f02565b3383526002602052610c0f60ff604085205416612278565b60243590612642565b503461027d578060031936011261027d576016546040516001600160a01b039091168152602090f35b503461027d57602036600319011261027d5760043590600b5482101561027d576020610c6c836121bf565b90549060031b1c604051908152f35b503461027d578060031936011261027d576009546040516001600160a01b039091168152602090f35b503461027d57602036600319011261027d576020906040906001600160a01b03610ccc611f02565b16815280835220604051610cdf81611f1d565b610ce88261208f565b815260e060ff600560018501549485878601526002810154604086015260038101546060860152600481015460808601520154818116151560a0850152818160081c16151560c085015260101c161515910152604051908152f35b503461027d57604036600319011261027d576020610d6b610d62611f02565b602435906123db565b6040519015158152f35b503461027d578060031936011261027d576020601354604051908152f35b503461027d578060031936011261027d576020600f54604051908152f35b503461027d578060031936011261027d57600080516020612fa3833981519152546040516001600160a01b039091168152602090f35b503461027d578060031936011261027d576020601154604051908152f35b503461027d57604036600319011261027d57610e1f611f02565b6024359081151580920361059157610e356124a5565b60018060a01b031682526002602052604082209060ff8019835416911617905580f35b503461027d578060031936011261027d576007546040516001600160a01b039091168152602090f35b503461027d57610e903661200a565b3383528260205260ff600560408520015460101c1615610fa557610eb661041e83612020565b600854815185916001600160a01b0316803b15610591576040516323b872dd60e01b8152336004820152306024820152604481019290925282908290606490829084905af1801561058657610f8c575b5050610f56610f5d92825190610f206020850151826125e9565b60405192610f2d84611f4f565b835260208301526040820152426060820152846080820152338652600460205260408620612373565b5133612642565b6040519081527f318d2be9b9a887c0d168715bd2f44017dafbb3360b14cdcc2a8c0086b4e2d15160203392a280f35b81610f9691611f85565b610fa1578338610f06565b8380fd5b60405162461bcd60e51b815260206004820152601e60248201527f4558495354533a205573657220646f6573206e6f7420657869737473202100006044820152606490fd5b503461027d578060031936011261027d57600080516020612fc38339815191525460ff8160401c1615906001600160401b03811680159081611160575b6001149081611156575b15908161114d575b5061113e5767ffffffffffffffff198116600117600080516020612fc38339815191525581611111575b5061106c612adf565b611074612adf565b61107d3361242f565b610190600c5560c8600d55612710600e55611770600f556107d06010556107d060115581601255611770601455610fa06015556110b75780f35b68ff000000000000000019600080516020612fc38339815191525416600080516020612fc3833981519152557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602060405160018152a180f35b68ffffffffffffffffff19166801000000000000000117600080516020612fc38339815191525538611063565b63f92ee8a960e01b8352600483fd5b90501538611039565b303b159150611031565b839150611027565b503461027d57602036600319011261027d576004356001600160401b038111610a485736602382011215610a48578060040135906111a5826121a8565b916111b36040519384611f85565b8083526024602084019160051b8301019136831161058257602401905b828210611253575050506111e26124a5565b815b815181101561124f5760208160051b83010151600b54600160401b81101561123b576001929161121c82856112359401600b556121bf565b90919082549060031b91821b91600019901b1916179055565b016111e4565b634e487b7160e01b85526041600452602485fd5b8280f35b81358152602091820191016111d0565b503461027d578060031936011261027d5761127c6124a5565b600080516020612fa383398151915280546001600160a01b0319811690915581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b503461027d576106d961121c6112e23661200a565b91906112ec6124a5565b6121bf565b503461027d57602036600319011261027d57600435906001600160401b03821161027d5760206113243660048501611fec565b816113386040519283815193849201612133565b600690820190815281900382019020546040516001600160a01b039091168152f35b503461027d57602036600319011261027d5761146b90604061137a611f02565b918060e0835161138981611f1d565b6060815282602082015282858201528260608201528260808201528260a08201528260c0820152015260018060a01b0383168152806020522090604051916113d083611f1d565b6113d98161208f565b8352600181015491602084019283526002820154604085019081526003830154926060860193845260056004820154916080880192835201549360a087019260ff86161515845261144760c089019560ff8860081c161515875260ff60e08b019860101c161515885261259f565b15158552835260405198899860208a525161010060208b01526101208a0190612156565b965160408901525160608801525160808701525160a086015251151560c085015251151560e08401525115156101008301520390f35b503461027d578060031936011261027d576003546114be816121a8565b6114cb6040519182611f85565b818152600383526020810191837fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b845b8383106115ac57868587604051928392602084019060208552518091526040840160408260051b8601019392905b82821061153857505050500390f35b919360019193955060208091603f1989820301855287519081518152828201518382015260c080611578604085015160e0604086015260e0850190612156565b93606081015160608501526080810151608085015260a081015160a085015201519101529601920192018594939192611529565b600760206001926115bc85612300565b8152019201920191906114fb565b503461027d57602036600319011261027d576001600160a01b036115ec611f02565b1681526004602052604081208054611603816121a8565b906116116040519283611f85565b80825260208201809385526020852085915b83831061169957868587604051928392602084019060208552518091526040840192915b818110611655575050500390f35b91935091602060a060019260808751805183528481015185840152604081015160408401526060810151606084015201516080820152019401910191849392611647565b600560206001926116a9856122c4565b815201920192019190611623565b503461027d57602036600319011261027d5760209060ff906005906040906001600160a01b036116e5611f02565b16815280855220015460101c166040519015158152f35b503461027d578060031936011261027d576020601054604051908152f35b503461027d57602036600319011261027d57611734611f02565b61173c6124a5565b60018060a01b03166001600160601b0360a01b600854161760085580f35b503461027d57604036600319011261027d576004358015158103610a485760243590338352600260205261179460ff604085205416612278565b15611850576008546001600160a01b0316803b15610591576040516323b872dd60e01b8152336004820152306024820152604481018390529083908290606490829084905af1801561184557611830575b506118259160018060a01b0360085416905060405191611806604084611f85565b600c83526b2aa9a22a16a9aba0a816a4a760a11b60208401523361253e565b602060405160018152f35b61183b838092611f85565b610a4857386117e5565b6040513d85823e3d90fd5b6008549091906001600160a01b0316803b15610a485760405163a9059cbb60e01b8152336004820152602481018490529082908290604490829084905af180156105865761192b575b50507faccf5a1dd62e4f5da0b3636cee2127d518c3954cc5481f9a85c0bd7c384ec35160018060a01b03600854166040906119238251926118da8185611f85565b600d84526c1554d1150b54d5d0540b53d555609a1b60208501526119148660135461190f6119066124db565b82841115612aaf565b612592565b60135551928392339684612516565b0390a2611825565b611936828092611f85565b61027d5780611899565b503461027d5760a036600319011261027d576064356001600160401b038111610a485761197190369060040161217b565b61197c9291926124a5565b611987600435612020565b509060028201906001600160401b038111611a6a576119aa816103358454612055565b83601f8211600114611a0657819085966119da949596926119fb5750508160011b916000199060031b1c19161790565b90555b60243581556044356001820155426005820155600660843591015580f35b01359050388061097e565b601f198216958386526020862091865b888110611a5257508360019596979810611a38575b505050811b0190556119dd565b0135600019600384901b60f8161c19169055388080611a2b565b90926020600181928686013581550194019101611a16565b634e487b7160e01b84526041600452602484fd5b503461027d57606036600319011261027d57611a98611f02565b6024356001600160a01b03811690819003610591576044356001600160a01b0381169290839003610fa157611acb6124a5565b60018060a01b03166001600160601b0360a01b60095416176009556001600160601b0360a01b600a541617600a556001600160601b0360a01b601654161760165580f35b503461027d57602036600319011261027d5760209060ff906040906001600160a01b03611b3a611f02565b168152600284522054166040519015158152f35b503461027d578060031936011261027d576020600e54604051908152f35b503461027d57602036600319011261027d57600435600354811015610a4857611b9490612020565b508054600182015491611ba96002820161208f565b6003820154916004810154611be060066005840154930154936040519788978852602088015260e0604088015260e0870190612156565b936060860152608085015260a084015260c08301520390f35b503461027d57611c083661200a565b90611c116124a5565b600c55600d5580f35b503461027d57604036600319011261027d57611c34611f02565b906024356001600160401b038111610a4857611c54903690600401611fec565b91611c5d6124a5565b6001600160a01b03168082526020829052604082206005015460101c60ff1615611d51578152806020526040812082516001600160401b038111611d3d57611ca9816103358454612055565b6020601f8211600114611cde5781908495611cd99495926109af5750508160011b916000199060031b1c19161790565b905580f35b82845280842090601f198316855b818110611d2557509583600195969710611d0c575b505050811b01905580f35b015160001960f88460031b161c19169055388080611d01565b9192602060018192868b015181550194019201611cec565b634e487b7160e01b83526041600452602483fd5b60405162461bcd60e51b8152602060048201526013602482015272155cd95c88191bd95cc81b9bdd08195e1a5cdd606a1b6044820152606490fd5b503461027d57602036600319011261027d57611da6611f02565b611dae6124a5565b60018060a01b03166001600160601b0360a01b600754161760075580f35b503461027d578060031936011261027d576020601254604051908152f35b503461027d57602036600319011261027d57600435611e076124a5565b601354908181119182611e9a5781611e2d9161190f8695611e266124db565b9015612aaf565b6013556008546001600160a01b0316803b15611e965760405163a9059cbb60e01b8152336004820152602481019290925290919081908390604490829084905af18015611e8957611e7b5780f35b611e8491611f85565b388180f35b50604051903d90823e3d90fd5b5050fd5b606460405162461bcd60e51b815260206004820152602060248201527f455843454544533a205265717565737420696e76616c696420416d6f756e74216044820152fd5b503461027d57602036600319011261027d576020610d6b611efd611f02565b6121f2565b600435906001600160a01b0382168203611f1857565b600080fd5b61010081019081106001600160401b03821117611f3957604052565b634e487b7160e01b600052604160045260246000fd5b60a081019081106001600160401b03821117611f3957604052565b60e081019081106001600160401b03821117611f3957604052565b90601f801991011681019081106001600160401b03821117611f3957604052565b9291926001600160401b038211611f395760405191611fcf601f8201601f191660200184611f85565b829481845281830111611f18578281602093846000960137010152565b9080601f83011215611f185781602061200793359101611fa6565b90565b6040906003190112611f18576004359060243590565b60035481101561203f5760036000526007602060002091020190600090565b634e487b7160e01b600052603260045260246000fd5b90600182811c92168015612085575b602083101461206f57565b634e487b7160e01b600052602260045260246000fd5b91607f1691612064565b90604051918260008254926120a384612055565b808452936001811690811561211157506001146120ca575b506120c892500383611f85565b565b90506000929192526020600020906000915b8183106120f55750509060206120c892820101386120bb565b60209193508060019154838589010152019101909184926120dc565b9050602092506120c894915060ff191682840152151560051b820101386120bb565b60005b8381106121465750506000910152565b8181015183820152602001612136565b9060209161216f81518092818552858086019101612133565b601f01601f1916010190565b9181601f84011215611f18578235916001600160401b038311611f185760208381860195010111611f1857565b6001600160401b038111611f395760051b60200190565b600b5481101561203f57600b60005260206000200190600090565b805482101561203f5760005260206000200190600090565b6007546001600160a01b03918216911681146122205760005260006020526005600160406000200154101590565b50600190565b601f821161223357505050565b6000526020600020906020601f840160051c8301931061226e575b601f0160051c01905b818110612262575050565b60008155600101612257565b909150819061224e565b1561227f57565b60405162461bcd60e51b815260206004820152601960248201527f43616c6c6572206973206e6f742057686974656c6973746564000000000000006044820152606490fd5b906040516122d181611f4f565b608060048294805484526001810154602085015260028101546040850152600381015460608501520154910152565b9060405161230d81611f6a565b60c060068294805484526001810154602085015261232d6002820161208f565b60408501526003810154606085015260048101546080850152600581015460a08501520154910152565b805482101561203f576000526005602060002091020190600090565b8054600160401b811015611f395761239091600182018155612357565b9190916123c5576080816004925184556020810151600185015560408101516002850155606081015160038501550151910155565b634e487b7160e01b600052600060045260246000fd5b6007546001600160a01b03918216911681146124285760005260006020526001604060002001546001820180921161241257101590565b634e487b7160e01b600052601160045260246000fd5b5050600190565b6001600160a01b0316801561248f57600080516020612fa383398151915280546001600160a01b0319811683179091556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b631e4fbdf760e01b600052600060045260246000fd5b600080516020612fa3833981519152546001600160a01b031633036124c657565b63118cdaa760e01b6000523360045260246000fd5b604051906124ea604083611f85565b601e82527f536166654d6174683a207375627472616374696f6e206f766572666c6f7700006020830152565b9081526001600160a01b03909116602082015260606040820181905261200792910190612156565b61258d7faccf5a1dd62e4f5da0b3636cee2127d518c3954cc5481f9a85c0bd7c384ec351939294612571866013546125e9565b6013556040516001600160a01b03909316959293849384612516565b0390a2565b9190820391821161241257565b6001600160a01b031660009081526004602052604090208054600019810191908211612412576125d8916125d291612357565b506122c4565b906020608083015192015142111590565b908101908181116124125781106125fd5790565b60405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606490fd5b9190612650600f5482612b2d565b9061265e600e548093612ba9565b916126858161267661267b8261267660105488612b2d565b612ba9565b9460115490612b2d565b908584916126a961269c82612676600c548a612b2d565b91612676600d5489612b2d565b6000925b600f8410612983575b505050506126d8906126d26126c96124db565b86831115612aaf565b84612592565b93859184936000935b600b5485101561296c57851561282f576001600160a01b039081166000908152600560205260409020541694612716866121f2565b156127d7575b6001600160a01b03861660009081526020819052604090206005015460101c60ff16156127c4575b6127bb60019161276f612766612759896121bf565b90549060031b1c8b612b2d565b600e5490612ba9565b906127b08c838b878060a01b03600854169260409361279085519586611f85565b600e85526d4d41544348494e472d424f4e555360901b6020860152612c39565b61190f6119066124db565b959401936126e1565b6007546001600160a01b03169550612744565b945b6001600160a01b0381161561281d576127f1816121f2565b156127fd575b9461271c565b6001600160a01b03908116600090815260056020526040902054166127d9565b506007546001600160a01b03166127f7565b50925093946128629061285c6128e09398955b61285661284d6124db565b8a831115612aaf565b88612592565b906125e9565b6008546040805190969294926128a8926001600160a01b0316906128868984611f85565b600f83526e4d41535445522d545245415355525960881b60208401528761253e565b60018060a01b03600854168551916128c08784611f85565b600d83526c4c49515549444954592d46454560981b60208401528561253e565b6128e86124db565b906128f7858211159283612aaf565b6129018186612592565b61290d575b5050505050565b6129629461190f612926936129206124db565b90612aaf565b60018060a01b03600854169161293e84519485611f85565b60128452712922a322a92920a616a622a32a16a7ab22a960711b602085015261253e565b3880808080612906565b50925093946128629061285c6128e0939895612842565b8415612aaa576001600160a01b0390811660009081526005602052604090205416936129af84866123db565b15612a51575b6001600160a01b03851660009081526020819052604090206005015460101c60ff1615612a3e575b612a2e60019160098611600014612a375783905b6127b08d838a878060a01b036008541692604093612a1185519586611f85565b600b85526a13555315124b531155915360aa1b6020860152612c39565b949301926126ad565b84906129f1565b6007546001600160a01b031694506129dd565b935b6001600160a01b03811615612a9857612a6c84826123db565b15612a78575b936129b5565b6001600160a01b0390811660009081526005602052604090205416612a53565b506007546001600160a01b0316612a72565b6126b6565b15612ab75750565b60405162461bcd60e51b815260206004820152908190612adb906024830190612156565b0390fd5b60ff600080516020612fc38339815191525460401c1615612afc57565b631afcd79f60e31b60005260046000fd5b8115612b17570490565b634e487b7160e01b600052601260045260246000fd5b908115612ba25780820291808304820361241257612b4b9083612b0d565b03612b535790565b60405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608490fd5b5050600090565b9061200791612bf1604051612bbf604082611f85565b601a81527f536166654d6174683a206469766973696f6e206279207a65726f0000000000006020820152831515612aaf565b612b0d565b90816020910312611f1857516001600160a01b0381168103611f185790565b612007939260609260018060a01b0316825260208201528160408201520190612156565b9093929192601454612c6a612c5060009286612b2d565b612676612c60600e548093612ba9565b9660155490612b2d565b94602060018060a01b03601654169660446040518099819363ad54df9360e01b83526001600484015260248301525afa958615610586578296612f6e575b50600a546001600160a01b031696873b1561059157604051637ce2845760e11b815287600482015283816064818360018060a01b0388169d8e6024840152600260448401525af18015612f4f57612f5a575b50600a5460405163082f0c2d60e31b8152906020908290600490829088906001600160a01b03165af1908115612f4f5791888592608095948491612f30575b50604080519283526020830181905260119083015270494e5445524e414c2d45584348414e474560781b60608301526001600160a01b038981169691169186918d917f4170544596a03a33ba713dd0c17dc71249d2ebb35f3255aff95296966515b4ec9190a4600a5460405163082f0c2d60e31b81529260209184916004918391906001600160a01b03165af1918215612f2557908a92918692612ed2575b507fefd85439551f9fea9f1e6d9c62b729b0c065683b7c53103893424ccc733bd2939060018060a01b0316998a92612e168960405193849384612c15565b0390a3813b156105915760405163a9059cbb60e01b81526001600160a01b03919091166004820152602481018690529082908290604490829084905af1801561058657612ebd575b507fefd85439551f9fea9f1e6d9c62b729b0c065683b7c53103893424ccc733bd2939392918187612eb893528060205260026040612ea1878383862001546125e9565b928a81528060205220015560405193849384612c15565b0390a3565b612ec8828092611f85565b61027d5738612e5e565b7fefd85439551f9fea9f1e6d9c62b729b0c065683b7c53103893424ccc733bd293919250612f179060203d602011612f1e575b612f0f8183611f85565b810190612bf6565b9190612dd8565b503d612f05565b6040513d87823e3d90fd5b612f49915060203d602011612f1e57612f0f8183611f85565b38612d39565b6040513d86823e3d90fd5b83612f6791949294611f85565b9138612cfa565b9095506020813d602011612f9a575b81612f8a60209383611f85565b81010312610a4857519438612ca8565b3d9150612f7d56fe9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a2646970667358221220d8ff69c2aef38a216fe3ef28961ff874f384108e6b40d51edc11b8bf4dd3e75064736f6c634300081e0033