0 txs
0 calls
constructor
No constructor.
functions
accrualBlockNumber
viewfunction accrualBlockNumber() view returns (uint256)
admin
viewfunction admin() view returns (address)
allowance
viewfunction allowance(address owner, address spender) view returns (uint256)
balanceOf
viewfunction balanceOf(address owner) view returns (uint256)
borrowBalanceStored
viewfunction borrowBalanceStored(address account) view returns (uint256)
borrowIndex
viewfunction borrowIndex() view returns (uint256)
borrowRatePerBlock
viewfunction borrowRatePerBlock() view returns (uint256)
comptroller
viewfunction comptroller() view returns (address)
decimals
viewfunction decimals() view returns (uint8)
exchangeRateStored
viewfunction exchangeRateStored() view returns (uint256)
feed
viewfunction feed() view returns (address)
getAccountSnapshot
viewfunction getAccountSnapshot(address account) view returns (uint256, uint256, uint256, uint256)
getCash
viewfunction getCash() view returns (uint256)
heartbeat
viewfunction heartbeat() view returns (uint256)
implementation
viewfunction implementation() view returns (address)
interestRateModel
viewfunction interestRateModel() view returns (address)
isCToken
viewfunction isCToken() view returns (bool)
MAX_AGE
viewfunction MAX_AGE() view returns (uint256)
name
viewfunction name() view returns (string)
pendingAdmin
viewfunction pendingAdmin() view returns (address)
protocolSeizeShareMantissa
viewfunction protocolSeizeShareMantissa() view returns (uint256)
reserveFactorMantissa
viewfunction reserveFactorMantissa() view returns (uint256)
supplyRatePerBlock
viewfunction supplyRatePerBlock() view returns (uint256)
symbol
viewfunction symbol() view returns (string)
totalBorrows
viewfunction totalBorrows() view returns (uint256)
totalReserves
viewfunction totalReserves() view returns (uint256)
totalSupply
viewfunction totalSupply() view returns (uint256)
underlying
viewfunction underlying() view returns (address)
_acceptAdmin
nonpayablefunction _acceptAdmin() returns (uint256)
_addReserves
nonpayablefunction _addReserves(uint256 addAmount) returns (uint256)
_becomeImplementation
nonpayablefunction _becomeImplementation(bytes data)
_delegateCompLikeTo
nonpayablefunction _delegateCompLikeTo(address compLikeDelegatee)
_reduceReserves
nonpayablefunction _reduceReserves(uint256 reduceAmount) returns (uint256)
_resignImplementation
nonpayablefunction _resignImplementation()
_setComptroller
nonpayablefunction _setComptroller(address newComptroller) returns (uint256)
_setFeed
nonpayablefunction _setFeed(address newFeed) returns (uint256)
_setHeartbeat
nonpayablefunction _setHeartbeat(uint256 newHeartbeat) returns (uint256)
_setInterestRateModel
nonpayablefunction _setInterestRateModel(address newInterestRateModel) returns (uint256)
_setPendingAdmin
nonpayablefunction _setPendingAdmin(address newPendingAdmin) returns (uint256)
_setReserveFactor
nonpayablefunction _setReserveFactor(uint256 newReserveFactorMantissa) returns (uint256)
accrueInterest
nonpayablefunction accrueInterest() returns (uint256)
approve
nonpayablefunction approve(address spender, uint256 amount) returns (bool)
balanceOfUnderlying
nonpayablefunction balanceOfUnderlying(address owner) returns (uint256)
borrow
nonpayablefunction borrow(uint256 borrowAmount) returns (uint256)
borrowBalanceCurrent
nonpayablefunction borrowBalanceCurrent(address account) returns (uint256)
exchangeRateCurrent
nonpayablefunction exchangeRateCurrent() returns (uint256)
initialize
nonpayablefunction initialize(address comptroller_, address interestRateModel_, uint256 initialExchangeRateMantissa_, string name_, string symbol_, uint8 decimals_)
initialize
nonpayablefunction initialize(address underlying_, address comptroller_, address interestRateModel_, uint256 initialExchangeRateMantissa_, string name_, string symbol_, uint8 decimals_)
liquidateBorrow
nonpayablefunction liquidateBorrow(address borrower, uint256 repayAmount, address cTokenCollateral) returns (uint256)
mint
nonpayablefunction mint(uint256 mintAmount) returns (uint256)
redeem
nonpayablefunction redeem(uint256 redeemTokens) returns (uint256)
redeemUnderlying
nonpayablefunction redeemUnderlying(uint256 redeemAmount) returns (uint256)
repayBorrow
nonpayablefunction repayBorrow(uint256 repayAmount) returns (uint256)
repayBorrowBehalf
nonpayablefunction repayBorrowBehalf(address borrower, uint256 repayAmount) returns (uint256)
seize
nonpayablefunction seize(address liquidator, address borrower, uint256 seizeTokens) returns (uint256)
sweepToken
nonpayablefunction sweepToken(address token)
totalBorrowsCurrent
nonpayablefunction totalBorrowsCurrent() returns (uint256)
transfer
nonpayablefunction transfer(address dst, uint256 amount) returns (bool)
transferFrom
nonpayablefunction transferFrom(address src, address dst, uint256 amount) returns (bool)
events
AccrueInterest
event AccrueInterest(uint256 cashPrior, uint256 interestAccumulated, uint256 borrowIndex, uint256 totalBorrows)
Approval
event Approval(address indexed owner, address indexed spender, uint256 amount)
Borrow
event Borrow(address borrower, uint256 borrowAmount, uint256 accountBorrows, uint256 totalBorrows)
Failure
event Failure(uint256 error, uint256 info, uint256 detail)
LiquidateBorrow
event LiquidateBorrow(address liquidator, address borrower, uint256 repayAmount, address cTokenCollateral, uint256 seizeTokens)
Mint
event Mint(address minter, uint256 mintAmount, uint256 mintTokens)
NewAdmin
event NewAdmin(address oldAdmin, address newAdmin)
NewComptroller
event NewComptroller(address oldComptroller, address newComptroller)
NewFeed
event NewFeed(address oldFeed, address newFeed)
NewHeartbeat
event NewHeartbeat(uint256 oldHeartbeat, uint256 newHeartbeat)
NewMarketInterestRateModel
event NewMarketInterestRateModel(address oldInterestRateModel, address newInterestRateModel)
NewPendingAdmin
event NewPendingAdmin(address oldPendingAdmin, address newPendingAdmin)
NewReserveFactor
event NewReserveFactor(uint256 oldReserveFactorMantissa, uint256 newReserveFactorMantissa)
Redeem
event Redeem(address redeemer, uint256 redeemAmount, uint256 redeemTokens)
RepayBorrow
event RepayBorrow(address payer, address borrower, uint256 repayAmount, uint256 accountBorrows, uint256 totalBorrows)
ReservesAdded
event ReservesAdded(address benefactor, uint256 addAmount, uint256 newTotalReserves)
ReservesReduced
event ReservesReduced(address admin, uint256 reduceAmount, uint256 newTotalReserves)
Transfer
event Transfer(address indexed from, address indexed to, uint256 amount)
errors
No errors.
creation bytecode
0x6080604052615af9806100136000396000f3fe608060405234801561001057600080fd5b50600436106103995760003560e01c80636f307dc3116101e9578063b71d1a0c1161010f578063eca533d6116100ad578063f851a4401161007c578063f851a44014610c89578063f8f9da2814610c91578063fca7820b14610c99578063fe9c44ae14610cb657610399565b8063eca533d614610bff578063f2b3abbd14610c25578063f3fdb15a14610c4b578063f5e3c46214610c5357610399565b8063c5ebeaec116100e9578063c5ebeaec14610b8f578063db006a7514610bac578063dd62ed3e14610bc9578063e9c714f214610bf757610399565b8063b71d1a0c14610b15578063bd6d894d14610b3b578063c37f68e214610b4357610399565b806395dd919311610187578063a9059cbb11610156578063a9059cbb14610aa3578063aa5af0fd14610acf578063ae9d70b014610ad7578063b2a02ff114610adf57610399565b806395dd91931461090a57806399d8c1b414610930578063a0712d6814610a7e578063a6afed9514610a9b57610399565b80637f1e06be116101c35780637f1e06be146108b7578063852a12e3146108dd5780638f840ddd146108fa57806395d89b411461090257610399565b80636f307dc31461088157806370a082311461088957806373acee98146108af57610399565b8063313ce567116102ce57806347bd37181161026c5780635fe3b5671161023b5780635fe3b5671461084c578063601a0bf1146108545780636752e702146108715780636c540baf1461087957610399565b806347bd37181461077b57806356e67728146107835780635c60da1b146108275780635f291f6b1461082f57610399565b80633b1d21a2116102a85780633b1d21a2146107285780633defb962146107305780633e941010146107385780634576b5db1461075557610399565b8063313ce567146106dc57806337a7b7d8146106fa5780633af9e6691461070257610399565b806318160ddd1161033b5780631be19560116103155780631be195601461063057806323b872dd146106565780632608f8181461068c57806326782247146106b857610399565b806318160ddd146104ca578063182df0f5146104d25780631a31d465146104da57610399565b80630e752702116103775780630e75270214610475578063153ab50514610492578063173b99041461049c57806317bfdfbc146104a457610399565b806306fdde031461039e578063095ea7b31461041b5780630dcaeaf21461045b575b600080fd5b6103a6610cbe565b6040805160208082528351818301528351919283929083019185019080838360005b838110156103e05781810151838201526020016103c8565b50505050905090810190601f16801561040d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6104476004803603604081101561043157600080fd5b506001600160a01b038135169060200135610d4b565b604080519115158252519081900360200190f35b610463610db8565b60408051918252519081900360200190f35b6104636004803603602081101561048b57600080fd5b5035610dbf565b61049a610dd5565b005b610463610e25565b610463600480360360208110156104ba57600080fd5b50356001600160a01b0316610e2b565b610463610eeb565b610463610ef1565b61049a600480360360e08110156104f057600080fd5b6001600160a01b03823581169260208101358216926040820135909216916060820135919081019060a081016080820135600160201b81111561053257600080fd5b82018360208201111561054457600080fd5b803590602001918460018302840111600160201b8311171561056557600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b8111156105b757600080fd5b8201836020820111156105c957600080fd5b803590602001918460018302840111600160201b831117156105ea57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505050903560ff169150610f549050565b61049a6004803603602081101561064657600080fd5b50356001600160a01b0316610ff3565b6104476004803603606081101561066c57600080fd5b506001600160a01b0381358116916020810135909116906040013561112f565b610463600480360360408110156106a257600080fd5b506001600160a01b0381351690602001356111a1565b6106c06111b7565b604080516001600160a01b039092168252519081900360200190f35b6106e46111c6565b6040805160ff9092168252519081900360200190f35b6106c06111cf565b6104636004803603602081101561071857600080fd5b50356001600160a01b03166111de565b610463611294565b6104636112a3565b6104636004803603602081101561074e57600080fd5b50356112a9565b6104636004803603602081101561076b57600080fd5b50356001600160a01b03166112b4565b610463611409565b61049a6004803603602081101561079957600080fd5b810190602081018135600160201b8111156107b357600080fd5b8201836020820111156107c557600080fd5b803590602001918460018302840111600160201b831117156107e657600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061140f945050505050565b6106c0611460565b6104636004803603602081101561084557600080fd5b503561146f565b6106c06114f5565b6104636004803603602081101561086a57600080fd5b5035611504565b61046361159f565b6104636115aa565b6106c06115b0565b6104636004803603602081101561089f57600080fd5b50356001600160a01b03166115bf565b6104636115da565b61049a600480360360208110156108cd57600080fd5b50356001600160a01b0316611690565b610463600480360360208110156108f357600080fd5b5035611747565b610463611752565b6103a6611758565b6104636004803603602081101561092057600080fd5b50356001600160a01b03166117b0565b61049a600480360360c081101561094657600080fd5b6001600160a01b03823581169260208101359091169160408201359190810190608081016060820135600160201b81111561098057600080fd5b82018360208201111561099257600080fd5b803590602001918460018302840111600160201b831117156109b357600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b811115610a0557600080fd5b820183602082011115610a1757600080fd5b803590602001918460018302840111600160201b83111715610a3857600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505050903560ff16915061180d9050565b61046360048036036020811015610a9457600080fd5b50356119f4565b610463611a00565b61044760048036036040811015610ab957600080fd5b506001600160a01b038135169060200135611d58565b610463611dc9565b610463611dcf565b61046360048036036060811015610af557600080fd5b506001600160a01b03813581169160208101359091169060400135611e6e565b61046360048036036020811015610b2b57600080fd5b50356001600160a01b0316611edf565b610463611f6b565b610b6960048036036020811015610b5957600080fd5b50356001600160a01b0316612027565b604080519485526020850193909352838301919091526060830152519081900360800190f35b61046360048036036020811015610ba557600080fd5b50356120bc565b61046360048036036020811015610bc257600080fd5b50356120c7565b61046360048036036040811015610bdf57600080fd5b506001600160a01b03813581169160200135166120d2565b6104636120fd565b61046360048036036020811015610c1557600080fd5b50356001600160a01b0316612200565b61046360048036036020811015610c3b57600080fd5b50356001600160a01b0316612290565b6106c06122ca565b61046360048036036060811015610c6957600080fd5b506001600160a01b038135811691602081013591604090910135166122d9565b6106c06122f1565b610463612305565b61046360048036036020811015610caf57600080fd5b5035612369565b6104476123e7565b60018054604080516020600284861615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610d435780601f10610d1857610100808354040283529160200191610d43565b820191906000526020600020905b815481529060010190602001808311610d2657829003601f168201915b505050505081565b336000818152600f602090815260408083206001600160a01b03871680855290835281842086905581518681529151939493909284927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a360019150505b92915050565b62093a8081565b600080610dcb836123ec565b509150505b919050565b60035461010090046001600160a01b03163314610e235760405162461bcd60e51b815260040180806020018281038252602d815260200180615896602d913960400191505060405180910390fd5b565b60085481565b6000805460ff16610e70576040805162461bcd60e51b815260206004820152600a6024820152691c994b595b9d195c995960b21b604482015290519081900360640190fd5b6000805460ff19168155610e82611a00565b14610ecd576040805162461bcd60e51b81526020600482015260166024820152751858d8dc9d59481a5b9d195c995cdd0819985a5b195960521b604482015290519081900360640190fd5b610ed6826117b0565b90505b6000805460ff19166001179055919050565b600d5481565b6000806000610efe612495565b90925090506000826003811115610f1157fe5b14610f4d5760405162461bcd60e51b81526004018080602001828103825260358152602001806159e36035913960400191505060405180910390fd5b9150505b90565b610f6286868686868661180d565b601180546001600160a01b0319166001600160a01b038981169190911791829055604080516318160ddd60e01b8152905192909116916318160ddd91600480820192602092909190829003018186803b158015610fbe57600080fd5b505afa158015610fd2573d6000803e3d6000fd5b505050506040513d6020811015610fe857600080fd5b505050505050505050565b6011546001600160a01b03828116911614156110405760405162461bcd60e51b81526004018080602001828103825260328152602001806157e56032913960400191505060405180910390fd5b604080516370a0823160e01b815230600482015290516000916001600160a01b038416916370a0823191602480820192602092909190829003018186803b15801561108a57600080fd5b505afa15801561109e573d6000803e3d6000fd5b505050506040513d60208110156110b457600080fd5b50516003546040805163a9059cbb60e01b81526101009092046001600160a01b03908116600484015260248301849052905192935084169163a9059cbb9160448082019260009290919082900301818387803b15801561111357600080fd5b505af1158015611127573d6000803e3d6000fd5b505050505050565b6000805460ff16611174576040805162461bcd60e51b815260206004820152600a6024820152691c994b595b9d195c995960b21b604482015290519081900360640190fd5b6000805460ff1916815561118a33868686612544565b1490506000805460ff191660011790559392505050565b6000806111ae84846127d0565b50949350505050565b6004546001600160a01b031681565b60035460ff1681565b6013546001600160a01b031681565b60006111e86155f8565b60405180602001604052806111fb611f6b565b90526001600160a01b0384166000908152600e602052604081205491925090819061122790849061287b565b9092509050600082600381111561123a57fe5b1461128c576040805162461bcd60e51b815260206004820152601f60248201527f62616c616e636520636f756c64206e6f742062652063616c63756c6174656400604482015290519081900360640190fd5b949350505050565b600061129e6128cf565b905090565b60145481565b6000610db28261294f565b60035460009061010090046001600160a01b031633146112e1576112da6001603f6129e3565b9050610dd0565b60055460408051623f1ee960e11b815290516001600160a01b0392831692851691627e3dd2916004808301926020929190829003018186803b15801561132657600080fd5b505afa15801561133a573d6000803e3d6000fd5b505050506040513d602081101561135057600080fd5b50516113a3576040805162461bcd60e51b815260206004820152601c60248201527f6d61726b6572206d6574686f642072657475726e65642066616c736500000000604482015290519081900360640190fd5b600580546001600160a01b0319166001600160a01b03858116918217909255604080519284168352602083019190915280517f7ac369dbd14fa5ea3f473ed67cc9d598964a77501540ba6751eb0b3decf5870d9281900390910190a160005b9392505050565b600b5481565b60035461010090046001600160a01b0316331461145d5760405162461bcd60e51b815260040180806020018281038252602d815260200180615a98602d913960400191505060405180910390fd5b50565b6012546001600160a01b031681565b60035460009061010090046001600160a01b03163314611495576112da600160526129e3565b62093a808211156114ac576112da600260536129e3565b601454604080519182526020820184905280517f120b848ca485fbc3ce90cb48df2d017b9fd0f7dfaf27174dbc2453a382d7d6cf9281900390910190a160148290556000610db2565b6005546001600160a01b031681565b6000805460ff16611549576040805162461bcd60e51b815260206004820152600a6024820152691c994b595b9d195c995960b21b604482015290519081900360640190fd5b6000805460ff1916815561155b611a00565b905080156115815761157981601181111561157257fe5b60306129e3565b915050610ed9565b61158a83612a49565b9150506000805460ff19166001179055919050565b666379da05b6000081565b60095481565b6011546001600160a01b031681565b6001600160a01b03166000908152600e602052604090205490565b6000805460ff1661161f576040805162461bcd60e51b815260206004820152600a6024820152691c994b595b9d195c995960b21b604482015290519081900360640190fd5b6000805460ff19168155611631611a00565b1461167c576040805162461bcd60e51b81526020600482015260166024820152751858d8dc9d59481a5b9d195c995cdd0819985a5b195960521b604482015290519081900360640190fd5b50600b546000805460ff1916600117905590565b60035461010090046001600160a01b031633146116de5760405162461bcd60e51b815260040180806020018281038252602d815260200180615847602d913960400191505060405180910390fd5b601154604080516317066a5760e21b81526001600160a01b03848116600483015291519190921691635c19a95c91602480830192600092919082900301818387803b15801561172c57600080fd5b505af1158015611740573d6000803e3d6000fd5b5050505050565b6000610db282612b7c565b600c5481565b6002805460408051602060018416156101000260001901909316849004601f81018490048402820184019092528181529291830182828015610d435780601f10610d1857610100808354040283529160200191610d43565b60008060006117be84612bfd565b909250905060008260038111156117d157fe5b146114025760405162461bcd60e51b81526004018080602001828103825260378152602001806158ee6037913960400191505060405180910390fd5b60035461010090046001600160a01b0316331461185b5760405162461bcd60e51b815260040180806020018281038252602481526020018061579e6024913960400191505060405180910390fd5b60095415801561186b5750600a54155b6118a65760405162461bcd60e51b81526004018080602001828103825260238152602001806157c26023913960400191505060405180910390fd5b6007849055836118e75760405162461bcd60e51b81526004018080602001828103825260308152602001806158176030913960400191505060405180910390fd5b60006118f2876112b4565b90508015611947576040805162461bcd60e51b815260206004820152601a60248201527f73657474696e6720636f6d7074726f6c6c6572206661696c6564000000000000604482015290519081900360640190fd5b61194f612cb1565b600955670de0b6b3a7640000600a5561196786612cb5565b905080156119a65760405162461bcd60e51b81526004018080602001828103825260228152602001806158746022913960400191505060405180910390fd5b83516119b990600190602087019061560b565b5082516119cd90600290602086019061560b565b50506003805460ff90921660ff199283161790556000805490911660011790555050505050565b600080610dcb83612e2a565b600080611a0b612cb1565b60095490915080821415611a2457600092505050610f51565b6000611a2e6128cf565b600b54600c54600a54600654604080516315f2405360e01b815260048101879052602481018690526044810185905290519596509394929391926000926001600160a01b03909216916315f24053916064808301926020929190829003018186803b158015611a9c57600080fd5b505afa158015611ab0573d6000803e3d6000fd5b505050506040513d6020811015611ac657600080fd5b5051905065048c27395000811115611b25576040805162461bcd60e51b815260206004820152601c60248201527f626f72726f772072617465206973206162737572646c79206869676800000000604482015290519081900360640190fd5b600080611b328989612eab565b90925090506000826003811115611b4557fe5b14611b97576040805162461bcd60e51b815260206004820152601f60248201527f636f756c64206e6f742063616c63756c61746520626c6f636b2064656c746100604482015290519081900360640190fd5b611b9f6155f8565b600080600080611bbd60405180602001604052808a81525087612ece565b90975094506000876003811115611bd057fe5b14611c0257611bed60096006896003811115611be857fe5b612f36565b9e505050505050505050505050505050610f51565b611c0c858c61287b565b90975093506000876003811115611c1f57fe5b14611c3757611bed60096001896003811115611be857fe5b611c41848c612f9c565b90975092506000876003811115611c5457fe5b14611c6c57611bed60096004896003811115611be857fe5b611c876040518060200160405280600854815250858c612fc2565b90975091506000876003811115611c9a57fe5b14611cb257611bed60096005896003811115611be857fe5b611cbd858a8b612fc2565b90975090506000876003811115611cd057fe5b14611ce857611bed60096003896003811115611be857fe5b60098e9055600a819055600b839055600c829055604080518d8152602081018690528082018390526060810185905290517f4dec04e750ca11537cabcd8a9eab06494de08da3735bc8871cd41250e190bc049181900360800190a160009e50505050505050505050505050505090565b6000805460ff16611d9d576040805162461bcd60e51b815260206004820152600a6024820152691c994b595b9d195c995960b21b604482015290519081900360640190fd5b6000805460ff19168155611db333338686612544565b1490506000805460ff1916600117905592915050565b600a5481565b6006546000906001600160a01b031663b8168816611deb6128cf565b600b54600c546008546040518563ffffffff1660e01b81526004018085815260200184815260200183815260200182815260200194505050505060206040518083038186803b158015611e3d57600080fd5b505afa158015611e51573d6000803e3d6000fd5b505050506040513d6020811015611e6757600080fd5b5051905090565b6000805460ff16611eb3576040805162461bcd60e51b815260206004820152600a6024820152691c994b595b9d195c995960b21b604482015290519081900360640190fd5b6000805460ff19169055611ec93385858561301e565b90506000805460ff191660011790559392505050565b60035460009061010090046001600160a01b03163314611f05576112da600160456129e3565b600480546001600160a01b038481166001600160a01b0319831681179093556040805191909216808252602082019390935281517fca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a9929181900390910190a16000611402565b6000805460ff16611fb0576040805162461bcd60e51b815260206004820152600a6024820152691c994b595b9d195c995960b21b604482015290519081900360640190fd5b6000805460ff19168155611fc2611a00565b1461200d576040805162461bcd60e51b81526020600482015260166024820152751858d8dc9d59481a5b9d195c995cdd0819985a5b195960521b604482015290519081900360640190fd5b612015610ef1565b90506000805460ff1916600117905590565b6001600160a01b0381166000908152600e602052604081205481908190819081808061205289612bfd565b93509050600081600381111561206457fe5b146120825760095b9750600096508695508594506120b59350505050565b61208a612495565b92509050600081600381111561209c57fe5b146120a857600961206c565b5060009650919450925090505b9193509193565b6000610db2826133f8565b6000610db282613477565b6001600160a01b039182166000908152600f6020908152604080832093909416825291909152205490565b6004546000906001600160a01b031633141580612118575033155b1561213057612129600160006129e3565b9050610f51565b60038054600480546001600160a01b03818116610100818102610100600160a81b0319871617968790556001600160a01b031990931690935560408051948390048216808652929095041660208401528351909391927ff9ffabca9c8276e99321725bcb43fb076a6c66a54b7f21c4e8146d8519b417dc92908290030190a1600454604080516001600160a01b038085168252909216602083015280517fca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a99281900390910190a160009250505090565b60035460009061010090046001600160a01b03163314612226576112da600160516129e3565b601354604080516001600160a01b039283168152918416602083015280517fa5c9da31c0f1281fcc5dd8900dd2df333a11fd88e360d525ad608acbdb34e48b9281900390910190a1601380546001600160a01b0319166001600160a01b0384161790556000610db2565b60008061229b611a00565b905080156122c1576122b98160118111156122b257fe5b60406129e3565b915050610dd0565b61140283612cb5565b6006546001600160a01b031681565b6000806122e78585856134f1565b5095945050505050565b60035461010090046001600160a01b031681565b6006546000906001600160a01b03166315f240536123216128cf565b600b54600c546040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060206040518083038186803b158015611e3d57600080fd5b6000805460ff166123ae576040805162461bcd60e51b815260206004820152600a6024820152691c994b595b9d195c995960b21b604482015290519081900360640190fd5b6000805460ff191681556123c0611a00565b905080156123de576115798160118111156123d757fe5b60466129e3565b61158a83613623565b600181565b60008054819060ff16612433576040805162461bcd60e51b815260206004820152600a6024820152691c994b595b9d195c995960b21b604482015290519081900360640190fd5b6000805460ff19168155612445611a00565b905080156124705761246381601181111561245c57fe5b60366129e3565b9250600091506124819050565b61247b3333866136cb565b92509250505b6000805460ff191660011790559092909150565b600d546000908190806124b057505060075460009150612540565b60006124ba6128cf565b905060006124c66155f8565b60006124d784600b54600c54613a19565b9350905060008160038111156124e957fe5b146124fe579550600094506125409350505050565b6125088386613a57565b92509050600081600381111561251a57fe5b1461252f579550600094506125409350505050565b505160009550935061254092505050565b9091565b600554604080516317b9b84b60e31b81523060048201526001600160a01b03868116602483015285811660448301526064820185905291516000938493169163bdcdc25891608480830192602092919082900301818787803b1580156125a957600080fd5b505af11580156125bd573d6000803e3d6000fd5b505050506040513d60208110156125d357600080fd5b5051905080156125f2576125ea6003604a83612f36565b91505061128c565b836001600160a01b0316856001600160a01b03161415612618576125ea6002604b6129e3565b60006001600160a01b038781169087161415612637575060001961265f565b506001600160a01b038086166000908152600f60209081526040808320938a16835292905220545b60008060008061266f8589612eab565b9094509250600084600381111561268257fe5b146126a0576126936009604b6129e3565b965050505050505061128c565b6001600160a01b038a166000908152600e60205260409020546126c39089612eab565b909450915060008460038111156126d657fe5b146126e7576126936009604c6129e3565b6001600160a01b0389166000908152600e602052604090205461270a9089612f9c565b9094509050600084600381111561271d57fe5b1461272e576126936009604d6129e3565b6001600160a01b03808b166000908152600e6020526040808220859055918b168152208190556000198514612786576001600160a01b03808b166000908152600f60209081526040808320938f168352929052208390555b886001600160a01b03168a6001600160a01b031660008051602061595f8339815191528a6040518082815260200191505060405180910390a35060009a9950505050505050505050565b60008054819060ff16612817576040805162461bcd60e51b815260206004820152600a6024820152691c994b595b9d195c995960b21b604482015290519081900360640190fd5b6000805460ff19168155612829611a00565b905080156128545761284781601181111561284057fe5b60356129e3565b9250600091506128659050565b61285f3386866136cb565b92509250505b6000805460ff1916600117905590939092509050565b60008060006128886155f8565b6128928686612ece565b909250905060008260038111156128a557fe5b146128b657509150600090506128c8565b60006128c182613b07565b9350935050505b9250929050565b601154604080516370a0823160e01b815230600482015290516000926001600160a01b03169182916370a0823191602480820192602092909190829003018186803b15801561291d57600080fd5b505afa158015612931573d6000803e3d6000fd5b505050506040513d602081101561294757600080fd5b505191505090565b6000805460ff16612994576040805162461bcd60e51b815260206004820152600a6024820152691c994b595b9d195c995960b21b604482015290519081900360640190fd5b6000805460ff191681556129a6611a00565b905080156129c4576115798160118111156129bd57fe5b604e6129e3565b6129cd83613b16565b509150506000805460ff19166001179055919050565b60007f45b96fe442630264581b197e84bbada861235052c5a1aadfff9ea4e40a969aa0836011811115612a1257fe5b836057811115612a1e57fe5b604080519283526020830191909152600082820152519081900360600190a182601181111561140257fe5b600354600090819061010090046001600160a01b03163314612a71576122b9600160316129e3565b612a79612cb1565b60095414612a8d576122b9600a60336129e3565b82612a966128cf565b1015612aa8576122b9600e60326129e3565b600c54831115612abe576122b9600260346129e3565b50600c5482810390811115612b045760405162461bcd60e51b8152600401808060200182810382526024815260200180615a746024913960400191505060405180910390fd5b600c819055600354612b249061010090046001600160a01b031684613bfe565b600354604080516101009092046001600160a01b0316825260208201859052818101839052517f3bad0c59cf2f06e7314077049f48a93578cd16f5ef92329f1dab1420a99c177e916060908290030190a16000611402565b6000805460ff16612bc1576040805162461bcd60e51b815260206004820152600a6024820152691c994b595b9d195c995960b21b604482015290519081900360640190fd5b6000805460ff19168155612bd3611a00565b90508015612bf157611579816011811115612bea57fe5b60276129e3565b61158a33600085613cf5565b6001600160a01b038116600090815260106020526040812080548291829182918291612c34575060009450849350612cac92505050565b612c448160000154600a546141bc565b90945092506000846003811115612c5757fe5b14612c6c575091935060009250612cac915050565b612c7a8382600101546141fb565b90945091506000846003811115612c8d57fe5b14612ca2575091935060009250612cac915050565b5060009450925050505b915091565b4390565b600354600090819061010090046001600160a01b03163314612cdd576122b9600160426129e3565b612ce5612cb1565b60095414612cf9576122b9600a60416129e3565b600660009054906101000a90046001600160a01b03169050826001600160a01b0316632191f92a6040518163ffffffff1660e01b815260040160206040518083038186803b158015612d4a57600080fd5b505afa158015612d5e573d6000803e3d6000fd5b505050506040513d6020811015612d7457600080fd5b5051612dc7576040805162461bcd60e51b815260206004820152601c60248201527f6d61726b6572206d6574686f642072657475726e65642066616c736500000000604482015290519081900360640190fd5b600680546001600160a01b0319166001600160a01b03858116918217909255604080519284168352602083019190915280517fedffc32e068c7c95dfd4bdfd5c4d939a084d6b11c4199eac8436ed234d72f9269281900390910190a16000611402565b60008054819060ff16612e71576040805162461bcd60e51b815260206004820152600a6024820152691c994b595b9d195c995960b21b604482015290519081900360640190fd5b6000805460ff19168155612e83611a00565b90508015612ea157612463816011811115612e9a57fe5b601e6129e3565b61247b3385614226565b600080838311612ec25750600090508183036128c8565b506003905060006128c8565b6000612ed86155f8565b600080612ee98660000151866141bc565b90925090506000826003811115612efc57fe5b14612f1b575060408051602081019091526000815290925090506128c8565b60408051602081019091529081526000969095509350505050565b60007f45b96fe442630264581b197e84bbada861235052c5a1aadfff9ea4e40a969aa0846011811115612f6557fe5b846057811115612f7157fe5b604080519283526020830191909152818101859052519081900360600190a183601181111561128c57fe5b600080838301848110612fb4576000925090506128c8565b5060029150600090506128c8565b6000806000612fcf6155f8565b612fd98787612ece565b90925090506000826003811115612fec57fe5b14612ffd5750915060009050613016565b61300f61300982613b07565b86612f9c565b9350935050505b935093915050565b6005546040805163d02f735160e01b81523060048201526001600160a01b038781166024830152868116604483015285811660648301526084820185905291516000938493169163d02f73519160a480830192602092919082900301818787803b15801561308b57600080fd5b505af115801561309f573d6000803e3d6000fd5b505050506040513d60208110156130b557600080fd5b5051905080156130cc576125ea6003601b83612f36565b846001600160a01b0316846001600160a01b031614156130f2576125ea6006601c6129e3565b6130fa615689565b6001600160a01b0385166000908152600e602052604090205461311d9085612eab565b602083018190528282600381111561313157fe5b600381111561313c57fe5b905250600090508151600381111561315057fe5b146131755761316c6009601a83600001516003811115611be857fe5b9250505061128c565b613194846040518060200160405280666379da05b6000081525061455d565b608082018190526131a6908590614585565b60608201526131b3612495565b60c08301819052828260038111156131c757fe5b60038111156131d257fe5b90525060009050815160038111156131e657fe5b14613238576040805162461bcd60e51b815260206004820152601860248201527f65786368616e67652072617465206d617468206572726f720000000000000000604482015290519081900360640190fd5b61325860405180602001604052808360c0015181525082608001516145bf565b60a08201819052600c5461326b916145de565b60e0820152600d5460808201516132829190614585565b6101008201526001600160a01b0386166000908152600e602052604090205460608201516132b09190612f9c565b60408301819052828260038111156132c457fe5b60038111156132cf57fe5b90525060009050815160038111156132e357fe5b146132ff5761316c6009601983600001516003811115611be857fe5b60e0810151600c55610100810151600d556020808201516001600160a01b038088166000818152600e855260408082209490945583860151928b1680825290849020929092556060850151835190815292519193909260008051602061595f833981519152929081900390910190a36080810151604080519182525130916001600160a01b0388169160008051602061595f8339815191529181900360200190a360a081015160e082015160408051308152602081019390935282810191909152517fa91e67c5ea634cd43a12c5a482724b03de01e85ca68702a53d0c2f45cb7c1dc59181900360600190a16000979650505050505050565b6000805460ff1661343d576040805162461bcd60e51b815260206004820152600a6024820152691c994b595b9d195c995960b21b604482015290519081900360640190fd5b6000805460ff1916815561344f611a00565b9050801561346d5761157981601181111561346657fe5b60086129e3565b61158a3384614614565b6000805460ff166134bc576040805162461bcd60e51b815260206004820152600a6024820152691c994b595b9d195c995960b21b604482015290519081900360640190fd5b6000805460ff191681556134ce611a00565b905080156134e557611579816011811115612bea57fe5b61158a33846000613cf5565b60008054819060ff16613538576040805162461bcd60e51b815260206004820152600a6024820152691c994b595b9d195c995960b21b604482015290519081900360640190fd5b6000805460ff1916815561354a611a00565b905080156135755761356881601181111561356157fe5b600f6129e3565b92506000915061360c9050565b836001600160a01b031663a6afed956040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156135b057600080fd5b505af11580156135c4573d6000803e3d6000fd5b505050506040513d60208110156135da57600080fd5b5051905080156135fa576135688160118111156135f357fe5b60106129e3565b613606338787876148a8565b92509250505b6000805460ff191660011790559094909350915050565b60035460009061010090046001600160a01b03163314613649576112da600160476129e3565b613651612cb1565b60095414613665576112da600a60486129e3565b670de0b6b3a7640000821115613681576112da600260496129e3565b6008805490839055604080518281526020810185905281517faaa68312e2ea9d50e16af5068410ab56e1a1fd06037b1a35664812c30f821460929181900390910190a16000611402565b60055460408051631200453160e11b81523060048201526001600160a01b0386811660248301528581166044830152606482018590529151600093849384939116916324008a629160848082019260209290919082900301818787803b15801561373457600080fd5b505af1158015613748573d6000803e3d6000fd5b505050506040513d602081101561375e57600080fd5b505190508015613782576137756003603883612f36565b9250600091506130169050565b61378a612cb1565b6009541461379e57613775600a60396129e3565b6137a66156d6565b6001600160a01b03861660009081526010602052604090206001015460608201526137d086612bfd565b60808301819052602083018260038111156137e757fe5b60038111156137f257fe5b905250600090508160200151600381111561380957fe5b14613833576138256009603783602001516003811115611be857fe5b935060009250613016915050565b60001985141561384c5760808101516040820152613854565b604081018590525b613862878260400151614d9a565b60e08201819052608082015161387791612eab565b60a083018190526020830182600381111561388e57fe5b600381111561389957fe5b90525060009050816020015160038111156138b057fe5b146138ec5760405162461bcd60e51b815260040180806020018281038252603a815260200180615925603a913960400191505060405180910390fd5b6138fc600b548260e00151612eab565b60c083018190526020830182600381111561391357fe5b600381111561391e57fe5b905250600090508160200151600381111561393557fe5b146139715760405162461bcd60e51b815260040180806020018281038252603181526020018061597f6031913960400191505060405180910390fd5b60a080820180516001600160a01b03808a16600081815260106020908152604091829020948555600a5460019095019490945560c0870151600b81905560e088015195518251948f16855294840192909252828101949094526060820192909252608081019190915290517f1a2a22cb034d26d1854bdc6666a5b91fe25efbbb5dcad3b0355478d6f5c362a1929181900390910190a160e00151600097909650945050505050565b600080600080613a298787612f9c565b90925090506000826003811115613a3c57fe5b14613a4d5750915060009050613016565b61300f8186612eab565b6000613a616155f8565b600080613a7686670de0b6b3a76400006141bc565b90925090506000826003811115613a8957fe5b14613aa8575060408051602081019091526000815290925090506128c8565b600080613ab583886141fb565b90925090506000826003811115613ac857fe5b14613aea575060408051602081019091526000815290945092506128c8915050565b604080516020810190915290815260009890975095505050505050565b51670de0b6b3a7640000900490565b600080600080613b24612cb1565b60095414613b4357613b38600a604f6129e3565b93509150612cac9050565b613b4d3386614d9a565b905080600c54019150600c54821015613bad576040805162461bcd60e51b815260206004820181905260248201527f61646420726573657276657320756e6578706563746564206f766572666c6f77604482015290519081900360640190fd5b600c829055604080513381526020810183905280820184905290517fa91e67c5ea634cd43a12c5a482724b03de01e85ca68702a53d0c2f45cb7c1dc59181900360600190a160009350915050915091565b6011546040805163a9059cbb60e01b81526001600160a01b0385811660048301526024820185905291519190921691829163a9059cbb9160448082019260009290919082900301818387803b158015613c5657600080fd5b505af1158015613c6a573d6000803e3d6000fd5b5050505060003d60008114613c865760208114613c9057600080fd5b6000199150613c9c565b60206000803e60005191505b5080613cef576040805162461bcd60e51b815260206004820152601960248201527f544f4b454e5f5452414e534645525f4f55545f4641494c454400000000000000604482015290519081900360640190fd5b50505050565b6000821580613d02575081155b613d3d5760405162461bcd60e51b8152600401808060200182810382526034815260200180615a406034913960400191505060405180910390fd5b613d4561571c565b613d4d612495565b6040830181905260208301826003811115613d6457fe5b6003811115613d6f57fe5b9052506000905081602001516003811115613d8657fe5b14613daa57613da26009602b83602001516003811115611be857fe5b915050611402565b8315613e2b576060810184905260408051602081018252908201518152613dd1908561287b565b6080830181905260208301826003811115613de857fe5b6003811115613df357fe5b9052506000905081602001516003811115613e0a57fe5b14613e2657613da26009602983602001516003811115611be857fe5b613ea4565b613e478360405180602001604052808460400151815250614fe4565b6060830181905260208301826003811115613e5e57fe5b6003811115613e6957fe5b9052506000905081602001516003811115613e8057fe5b14613e9c57613da26009602a83602001516003811115611be857fe5b608081018390525b60055460608201516040805163eabe7d9160e01b81523060048201526001600160a01b03898116602483015260448201939093529051600093929092169163eabe7d919160648082019260209290919082900301818787803b158015613f0957600080fd5b505af1158015613f1d573d6000803e3d6000fd5b505050506040513d6020811015613f3357600080fd5b505190508015613f5357613f4a6003602883612f36565b92505050611402565b613f5b612cb1565b60095414613f6f57613f4a600a602c6129e3565b613f7f600d548360600151612eab565b60a0840181905260208401826003811115613f9657fe5b6003811115613fa157fe5b9052506000905082602001516003811115613fb857fe5b14613fd457613f4a6009602e84602001516003811115611be857fe5b6001600160a01b0386166000908152600e60205260409020546060830151613ffc9190612eab565b60c084018190526020840182600381111561401357fe5b600381111561401e57fe5b905250600090508260200151600381111561403557fe5b1461405157613f4a6009602d84602001516003811115611be857fe5b816080015161405e6128cf565b101561407057613f4a600e602f6129e3565b61407e868360800151613bfe565b60a0820151600d5560c08201516001600160a01b0387166000818152600e602090815260409182902093909355606085015181519081529051309360008051602061595f833981519152928290030190a36080820151606080840151604080516001600160a01b038b168152602081019490945283810191909152517fe5b754fb1abb7f01b499791d0b820ae3b6af3424ac1c59768edb53f4ec31a9299281900390910190a160055460808301516060840151604080516351dff98960e01b81523060048201526001600160a01b038b81166024830152604482019490945260648101929092525191909216916351dff98991608480830192600092919082900301818387803b15801561419157600080fd5b505af11580156141a5573d6000803e3d6000fd5b50600092506141b2915050565b9695505050505050565b600080836141cf575060009050806128c8565b838302838582816141dc57fe5b04146141f0575060029150600090506128c8565b6000925090506128c8565b6000808261420f57506001905060006128c8565b600083858161421a57fe5b04915091509250929050565b60135460009081906001600160a01b031661424e576142458484614ffb565b915091506128c8565b6000806000601360009054906101000a90046001600160a01b03166001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a06040518083038186803b1580156142a157600080fd5b505afa1580156142b5573d6000803e3d6000fd5b505050506040513d60a08110156142cb57600080fd5b50602081015160609091015160145491935091506000906142ff904290156142f5576014546142fa565b62093a805b612eab565b9094509050600084600381111561431257fe5b1461433357614323600960546129e3565b9550600094506128c89350505050565b8181111561434757614323601160556129e3565b601154604080516318160ddd60e01b815290516000926001600160a01b0316916318160ddd916004808301926020929190829003018186803b15801561438c57600080fd5b505afa1580156143a0573d6000803e3d6000fd5b505050506040513d60208110156143b657600080fd5b50516011546040805163313ce56760e01b815290519293506000926001600160a01b039092169163313ce56791600480820192602092909190829003018186803b15801561440357600080fd5b505afa158015614417573d6000803e3d6000fd5b505050506040513d602081101561442d57600080fd5b50516013546040805163313ce56760e01b815290519293506000926001600160a01b039092169163313ce56791600480820192602092909190829003018186803b15801561447a57600080fd5b505afa15801561448e573d6000803e3d6000fd5b505050506040513d60208110156144a457600080fd5b505190508560ff80831690841610156144d3576144c98484840360ff16600a0a6141bc565b90985093506144f9565b8260ff168260ff1610156144f9576144f38183850360ff16600a0a6141bc565b90985090505b600088600381111561450757fe5b1461452c57614518600960566129e3565b9950600098506128c8975050505050505050565b8084111561454057614518601160576129e3565b61454a8c8c614ffb565b9950995050505050505050509250929050565b6000670de0b6b3a76400006145768484600001516153cb565b8161457d57fe5b049392505050565b60006114028383604051806040016040528060158152602001747375627472616374696f6e20756e646572666c6f7760581b81525061540d565b60006145c96155f8565b6145d384846154a4565b905061128c81613b07565b60006114028383604051806040016040528060118152602001706164646974696f6e206f766572666c6f7760781b8152506154ce565b6005546040805163368f515360e21b81523060048201526001600160a01b0385811660248301526044820185905291516000938493169163da3d454c91606480830192602092919082900301818787803b15801561467157600080fd5b505af1158015614685573d6000803e3d6000fd5b505050506040513d602081101561469b57600080fd5b5051905080156146ba576146b26003600e83612f36565b915050610db2565b6146c2612cb1565b600954146146d5576146b2600a806129e3565b826146de6128cf565b10156146f0576146b2600e60096129e3565b6146f861575a565b61470185612bfd565b602083018190528282600381111561471557fe5b600381111561472057fe5b905250600090508151600381111561473457fe5b14614759576147506009600783600001516003811115611be857fe5b92505050610db2565b614767816020015185612f9c565b604083018190528282600381111561477b57fe5b600381111561478657fe5b905250600090508151600381111561479a57fe5b146147b6576147506009600c83600001516003811115611be857fe5b6147c2600b5485612f9c565b60608301819052828260038111156147d657fe5b60038111156147e157fe5b90525060009050815160038111156147f557fe5b14614811576147506009600b83600001516003811115611be857fe5b61481b8585613bfe565b604080820180516001600160a01b03881660008181526010602090815290859020928355600a54600190930192909255606080860151600b81905593518551928352928201899052818501929092529081019190915290517f13ed6866d4e1ee6da46f845c46d7e54120883d75c5ea9a2dacc1c4ca8984ab809181900360800190a1600095945050505050565b60055460408051632fe3f38f60e11b81523060048201526001600160a01b0384811660248301528781166044830152868116606483015260848201869052915160009384938493911691635fc7e71e9160a48082019260209290919082900301818787803b15801561491957600080fd5b505af115801561492d573d6000803e3d6000fd5b505050506040513d602081101561494357600080fd5b5051905080156149675761495a6003601283612f36565b925060009150614d919050565b61496f612cb1565b600954146149835761495a600a60166129e3565b61498b612cb1565b846001600160a01b0316636c540baf6040518163ffffffff1660e01b815260040160206040518083038186803b1580156149c457600080fd5b505afa1580156149d8573d6000803e3d6000fd5b505050506040513d60208110156149ee57600080fd5b505114614a015761495a600a60116129e3565b866001600160a01b0316866001600160a01b03161415614a275761495a600660176129e3565b84614a385761495a600760156129e3565b600019851415614a4e5761495a600760146129e3565b600080614a5c8989896136cb565b90925090508115614a8c57614a7d826011811115614a7657fe5b60186129e3565b945060009350614d9192505050565b6005546040805163c488847b60e01b81523060048201526001600160a01b038981166024830152604482018590528251600094859492169263c488847b926064808301939192829003018186803b158015614ae657600080fd5b505afa158015614afa573d6000803e3d6000fd5b505050506040513d6040811015614b1057600080fd5b50805160209091015190925090508115614b5b5760405162461bcd60e51b81526004018080602001828103825260338152602001806159b06033913960400191505060405180910390fd5b80886001600160a01b03166370a082318c6040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015614bb257600080fd5b505afa158015614bc6573d6000803e3d6000fd5b505050506040513d6020811015614bdc57600080fd5b50511015614c31576040805162461bcd60e51b815260206004820152601860248201527f4c49515549444154455f5345495a455f544f4f5f4d5543480000000000000000604482015290519081900360640190fd5b60006001600160a01b038916301415614c5757614c50308d8d8561301e565b9050614ce1565b6040805163b2a02ff160e01b81526001600160a01b038e811660048301528d81166024830152604482018590529151918b169163b2a02ff1916064808201926020929091908290030181600087803b158015614cb257600080fd5b505af1158015614cc6573d6000803e3d6000fd5b505050506040513d6020811015614cdc57600080fd5b505190505b8015614d2b576040805162461bcd60e51b81526020600482015260146024820152731d1bdad95b881cd95a5e9d5c994819985a5b195960621b604482015290519081900360640190fd5b604080516001600160a01b03808f168252808e1660208301528183018790528b1660608201526080810184905290517f298637f684da70674f26509b10f07ec2fbc77a335ab1e7d6215a4b2484d8bb529181900360a00190a16000975092955050505050505b94509492505050565b601154604080516370a0823160e01b815230600482015290516000926001600160a01b031691839183916370a08231916024808301926020929190829003018186803b158015614de957600080fd5b505afa158015614dfd573d6000803e3d6000fd5b505050506040513d6020811015614e1357600080fd5b5051604080516323b872dd60e01b81526001600160a01b038881166004830152306024830152604482018890529151929350908416916323b872dd9160648082019260009290919082900301818387803b158015614e7057600080fd5b505af1158015614e84573d6000803e3d6000fd5b5050505060003d60008114614ea05760208114614eaa57600080fd5b6000199150614eb6565b60206000803e60005191505b5080614f09576040805162461bcd60e51b815260206004820152601860248201527f544f4b454e5f5452414e534645525f494e5f4641494c45440000000000000000604482015290519081900360640190fd5b601154604080516370a0823160e01b815230600482015290516000926001600160a01b0316916370a08231916024808301926020929190829003018186803b158015614f5457600080fd5b505afa158015614f68573d6000803e3d6000fd5b505050506040513d6020811015614f7e57600080fd5b5051905082811015614fd7576040805162461bcd60e51b815260206004820152601a60248201527f544f4b454e5f5452414e534645525f494e5f4f564552464c4f57000000000000604482015290519081900360640190fd5b9190910395945050505050565b6000806000614ff16155f8565b6128928686615523565b60055460408051634ef4c3e160e01b81523060048201526001600160a01b03858116602483015260448201859052915160009384938493911691634ef4c3e19160648082019260209290919082900301818787803b15801561505c57600080fd5b505af1158015615070573d6000803e3d6000fd5b505050506040513d602081101561508657600080fd5b5051905080156150aa5761509d6003601f83612f36565b9250600091506128c89050565b6150b2612cb1565b600954146150c65761509d600a60226129e3565b6150ce61571c565b6150d6612495565b60408301819052602083018260038111156150ed57fe5b60038111156150f857fe5b905250600090508160200151600381111561510f57fe5b146151395761512b6009602183602001516003811115611be857fe5b9350600092506128c8915050565b6151438686614d9a565b60c08201819052604080516020810182529083015181526151649190614fe4565b606083018190526020830182600381111561517b57fe5b600381111561518657fe5b905250600090508160200151600381111561519d57fe5b146151ef576040805162461bcd60e51b815260206004820181905260248201527f4d494e545f45584348414e47455f43414c43554c4154494f4e5f4641494c4544604482015290519081900360640190fd5b6151ff600d548260600151612f9c565b608083018190526020830182600381111561521657fe5b600381111561522157fe5b905250600090508160200151600381111561523857fe5b146152745760405162461bcd60e51b8152600401808060200182810382526028815260200180615a186028913960400191505060405180910390fd5b6001600160a01b0386166000908152600e6020526040902054606082015161529c9190612f9c565b60a08301819052602083018260038111156152b357fe5b60038111156152be57fe5b90525060009050816020015160038111156152d557fe5b146153115760405162461bcd60e51b815260040180806020018281038252602b8152602001806158c3602b913960400191505060405180910390fd5b6080810151600d5560a08101516001600160a01b0387166000818152600e60209081526040918290209390935560c084015160608086015183519485529484019190915282820193909352517f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f929181900390910190a1606081015160408051918252516001600160a01b03881691309160008051602061595f8339815191529181900360200190a360c001516000969095509350505050565b600061140283836040518060400160405280601781526020017f6d756c7469706c69636174696f6e206f766572666c6f77000000000000000000815250615582565b6000818484111561549c5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015615461578181015183820152602001615449565b50505050905090810190601f16801561548e5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6154ac6155f8565b60405180602001604052806154c58560000151856153cb565b90529392505050565b600083830182858210156111ae5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315615461578181015183820152602001615449565b600061552d6155f8565b600080615542670de0b6b3a7640000876141bc565b9092509050600082600381111561555557fe5b14615574575060408051602081019091526000815290925090506128c8565b6128c1818660000151613a57565b600083158061558f575082155b1561559c57506000611402565b838302838582816155a957fe5b041483906111ae5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315615461578181015183820152602001615449565b6040518060200160405280600081525090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061564c57805160ff1916838001178555615679565b82800160010185558215615679579182015b8281111561567957825182559160200191906001019061565e565b50615685929150615783565b5090565b604080516101208101909152806000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b6040805161010081019091528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b6040805160e0810190915280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b604080516080810190915280600081526020016000815260200160008152602001600081525090565b610f5191905b80821115615685576000815560010161578956fe6f6e6c792061646d696e206d617920696e697469616c697a6520746865206d61726b65746d61726b6574206d6179206f6e6c7920626520696e697469616c697a6564206f6e63654345726332303a3a7377656570546f6b656e3a2063616e206e6f7420737765657020756e6465726c79696e6720746f6b656e696e697469616c2065786368616e67652072617465206d7573742062652067726561746572207468616e207a65726f2e6f6e6c79207468652061646d696e206d6179207365742074686520636f6d702d6c696b652064656c656761746573657474696e6720696e7465726573742072617465206d6f64656c206661696c65646f6e6c79207468652061646d696e206d61792063616c6c205f72657369676e496d706c656d656e746174696f6e4d494e545f4e45575f4143434f554e545f42414c414e43455f43414c43554c4154494f4e5f4641494c4544626f72726f7742616c616e636553746f7265643a20626f72726f7742616c616e636553746f726564496e7465726e616c206661696c656452455041595f424f52524f575f4e45575f4143434f554e545f424f52524f575f42414c414e43455f43414c43554c4154494f4e5f4641494c4544ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef52455041595f424f52524f575f4e45575f544f54414c5f42414c414e43455f43414c43554c4154494f4e5f4641494c45444c49515549444154455f434f4d5054524f4c4c45525f43414c43554c4154455f414d4f554e545f5345495a455f4641494c454465786368616e67655261746553746f7265643a2065786368616e67655261746553746f726564496e7465726e616c206661696c65644d494e545f4e45575f544f54414c5f535550504c595f43414c43554c4154494f4e5f4641494c45446f6e65206f662072656465656d546f6b656e73496e206f722072656465656d416d6f756e74496e206d757374206265207a65726f72656475636520726573657276657320756e657870656374656420756e646572666c6f776f6e6c79207468652061646d696e206d61792063616c6c205f6265636f6d65496d706c656d656e746174696f6ea265627a7a723158201c63b68269bcb31bc32ba2f289bf87cabe092100a8708115a7cb30fd9584585164736f6c63430005110032