155 txs
156 calls
constructor
constructor(address _verifyingAddressECDSA, uint256 _stableTarget, uint32 _saleStartDate, address _stableCoinAddress, uint32 _round1Duration) payable
functions
BASIS_POINT_RATE_CONVERTER
viewfunction BASIS_POINT_RATE_CONVERTER() view returns (uint256)
calculateRefund
viewfunction calculateRefund(address user, bytes signature) view returns (uint256 userRefoundAmount)
contributedRound1
viewfunction contributedRound1(address user) view returns (uint256 amount)
contributedRound2
viewfunction contributedRound2(address user) view returns (uint256 amount)
endUnlocked
viewfunction endUnlocked() view returns (bool)
getNumberOfParticipants
viewfunction getNumberOfParticipants() view returns (uint256)
getUserContribution
viewfunction getUserContribution(address user) view returns (uint256 contributedStable)
getUserDetails
viewfunction getUserDetails(address user) view returns (tuple userDetail)
getUserRefundedAmount
viewfunction getUserRefundedAmount(address user) view returns (uint256 userRefoundedAmount)
globalRefundEnabled
viewfunction globalRefundEnabled() view returns (bool)
owner
viewfunction owner() view returns (address)
participants
viewfunction participants(uint256) view returns (address)
refundPercentage
viewfunction refundPercentage() view returns (uint16)
round1Allowance
viewfunction round1Allowance(address user, bytes signature, uint256 amountRound1, uint256 amountRound2) view returns (uint256 allowance)
round1Duration
viewfunction round1Duration() view returns (uint32)
round2Allowance
viewfunction round2Allowance(address user, bytes signature, uint256 amountRound1, uint256 amountRound2) view returns (uint256 allowance)
roundNumber
viewfunction roundNumber() view returns (uint8 _roundNumber)
saleStartDate
viewfunction saleStartDate() view returns (uint32)
stablecoin
viewfunction stablecoin() view returns (address)
stableRaised
viewfunction stableRaised() view returns (uint256)
stableTarget
viewfunction stableTarget() view returns (uint256)
userDetails
viewfunction userDetails(address) view returns (uint32 refundedAt, uint256 contributedRound1, uint256 contributedRound2, uint256 refundedAmount)
verifyingAddressECDSA
viewfunction verifyingAddressECDSA() view returns (address)
buyRound1
nonpayablefunction buyRound1(uint256 stableAmount, bytes signature, uint256 amountRound1, uint256 amountRound2)
buyRound2
nonpayablefunction buyRound2(uint256 stableAmount, bytes signature, uint256 amountRound1, uint256 amountRound2)
emergencyWithdrawToken
nonpayablefunction emergencyWithdrawToken(address token)
finishSale
nonpayablefunction finishSale()
prepareForGlobalRefund
nonpayablefunction prepareForGlobalRefund(uint16 _refundPercentage)
refund
nonpayablefunction refund(bytes signature)
renounceOwnership
nonpayablefunction renounceOwnership()
setGlobalRefundEnabled
nonpayablefunction setGlobalRefundEnabled(bool _globalRefundEnabled)
setRefundPercentage
nonpayablefunction setRefundPercentage(uint16 _refundPercentage)
setRound1Duration
nonpayablefunction setRound1Duration(uint32 _round1Duration)
setSaleStartDate
nonpayablefunction setSaleStartDate(uint32 _saleStartDate)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
withdrawStable
nonpayablefunction withdrawStable()
withdrawStableRefund
nonpayablefunction withdrawStableRefund()
events
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
PoolProgress
event PoolProgress(uint256 stableRaised, uint256 stableTarget)
Refunded
event Refunded(address indexed user, uint256 refundAmount)
Round1Duration
event Round1Duration(uint256 duration)
Round2MultiplierChanged
event Round2MultiplierChanged(uint16 round2Multiplier)
SaleEnded
event SaleEnded(uint256 endTimestamp)
SaleWillStart
event SaleWillStart(uint256 startTimestamp)
errors
No errors.
creation bytecode
0x60e060405260405162002e1438038062002e14833981016040819052620000269162000282565b6200003133620001ff565b600180556001600160a01b038516620000915760405162461bcd60e51b815260206004820152601b60248201527f5f766572696679696e674164647265737345434453412069732030000000000060448201526064015b60405180910390fd5b60008411620000e35760405162461bcd60e51b815260206004820152601560248201527f5f737461626c65546172676574206973207a65726f0000000000000000000000604482015260640162000088565b6001600160a01b0382166200013b5760405162461bcd60e51b815260206004820152601860248201527f737461626c65436f696e203d3d20616464726573732830290000000000000000604482015260640162000088565b60008163ffffffff1611620001935760405162461bcd60e51b815260206004820152601760248201527f5f726f756e64314475726174696f6e206973207a65726f000000000000000000604482015260640162000088565b6001600160a01b0394851660a052600280546080959095529190941660c0526c2710000000000000000000000063ffffffff61ffff60581b011963ffffffff9586166401000000000216600164ffff00000160401b0319909416939093179190931617179055620002ee565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b03811681146200026557600080fd5b50565b805163ffffffff811681146200027d57600080fd5b919050565b600080600080600060a086880312156200029b57600080fd5b8551620002a8816200024f565b60208701519095509350620002c06040870162000268565b92506060860151620002d2816200024f565b9150620002e26080870162000268565b90509295509295909350565b60805160a05160c051612a8d62000387600039600081816105e201528181610d6001528181610e4d01528181611282015281816112ff015281816117ee0152818161188301528181611ea001528181611f1a0152611f6201526000818161046f01528181610c00015281816110920152611b000152600081816102fe01528181611e310152818161204a015261209b0152612a8d6000f3fe608060405234801561001057600080fd5b50600436106102275760003560e01c80638973123c11610130578063ca54fbe8116100b8578063e65943ca1161007c578063e65943ca1461059e578063e9905a61146105ca578063e9cbd822146105dd578063f2fde38b14610604578063f8757ba31461061757600080fd5b8063ca54fbe8146104df578063cc02fa661461050b578063cc3d967b1461051e578063d20ce48b1461056a578063ddbbb7791461059657600080fd5b8063abfea13d116100ff578063abfea13d14610491578063b479c521146104a9578063ba0eb510146104b1578063bb8b2b47146104c4578063c80c28a2146104d757600080fd5b80638973123c1461042c5780638da5cb5b146104515780638f86f5ea146104625780639d70a8b91461046a57600080fd5b806348dec2a7116101b35780635eb7d946116101825780635eb7d946146103d85780636fd6c4f7146103eb578063715018a6146103fe5780637a8071fb146104065780637ccc11101461041957600080fd5b806348dec2a7146103205780634b77ae14146103835780634e2786fb146103ab57806358ff05a5146103c557600080fd5b80631d8e59d9116101fa5780631d8e59d91461029457806328e126b6146102a85780632acef00f146102bb57806335c1d349146102ce5780633ba94b7a146102f957600080fd5b80630c43396e1461022c5780630e6cac5114610241578063124a27541461026a5780631af0320314610281575b600080fd5b61023f61023a366004612687565b610620565b005b60025461025590600160481b900460ff1681565b60405190151581526020015b60405180910390f35b61027361271081565b604051908152602001610261565b61023f61028f3660046126c0565b610712565b60025461025590600160401b900460ff1681565b61023f6102b63660046126dd565b6107cf565b61023f6102c9366004612711565b6108a2565b6102e16102dc36600461272e565b6108c8565b6040516001600160a01b039091168152602001610261565b6102737f000000000000000000000000000000000000000000000000000000000000000081565b61035c61032e3660046126c0565b600460205260009081526040902080546001820154600283015460039093015463ffffffff90921692909184565b6040805163ffffffff90951685526020850193909352918301526060820152608001610261565b60025461039890600160581b900461ffff1681565b60405161ffff9091168152602001610261565b6103b36108f2565b60405160ff9091168152602001610261565b6102736103d3366004612789565b6109aa565b61023f6103e63660046127f0565b6109cd565b61023f6103f9366004612832565b610de7565b61023f610f7e565b610273610414366004612868565b610f92565b610273610427366004612789565b611158565b60025461043c9063ffffffff1681565b60405163ffffffff9091168152602001610261565b6000546001600160a01b03166102e1565b61023f611171565b6102e17f000000000000000000000000000000000000000000000000000000000000000081565b60025461043c90640100000000900463ffffffff1681565b61023f611217565b61023f6104bf3660046126dd565b611326565b6102736104d23660046126c0565b61149d565b600554610273565b6102736104ed3660046126c0565b6001600160a01b031660009081526004602052604090206001015490565b61023f610519366004612687565b6114f6565b61053161052c3660046126c0565b6115be565b6040516102619190815163ffffffff16815260208083015190820152604080830151908201526060918201519181019190915260800190565b6102736105783660046126c0565b6001600160a01b031660009081526004602052604090206002015490565b61023f611643565b6102736105ac3660046126c0565b6001600160a01b031660009081526004602052604090206003015490565b61023f6105d8366004612832565b61181d565b6102e17f000000000000000000000000000000000000000000000000000000000000000081565b61023f6106123660046126c0565b61198e565b61027360035481565b610628611a07565b6127108161ffff1611156106835760405162461bcd60e51b815260206004820152601f60248201527f526566756e6420706572632e2067726561746572207468616e2031303030300060448201526064015b60405180910390fd5b60008161ffff16116106cb5760405162461bcd60e51b81526020600482015260116024820152700526566756e6420706572632e206973203607c1b604482015260640161067a565b6002805460ff60401b1960ff60481b1961ffff909416600160581b02939093166cffff00ff0000000000000000001990911617600160481b1791909116600160401b179055565b61071a611a07565b600360006107266108f2565b90508160ff168160ff161461074d5760405162461bcd60e51b815260040161067a906128bd565b6107ca336040516370a0823160e01b81523060048201526001600160a01b038616906370a0823190602401602060405180830381865afa158015610795573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107b991906128e4565b6001600160a01b0386169190611a61565b505050565b6107d7611a07565b6000806107e26108f2565b90508160ff168160ff16146108095760405162461bcd60e51b815260040161067a906128bd565b8263ffffffff1642106108515760405162461bcd60e51b815260206004820152601060248201526f1cd85b1951185d19481a5b881c185cdd60821b604482015260640161067a565b6002805463ffffffff191663ffffffff85169081179091556040519081527fbd497855048a1edceda7bc0b52200b6b4fd5025fc634396bbc7ce4491408414e906020015b60405180910390a1505050565b6108aa611a07565b60028054911515600160481b0260ff60481b19909216919091179055565b600581815481106108d857600080fd5b6000918252602090912001546001600160a01b0316905081565b600254600090600160401b900460ff161561090d5750600390565b60025463ffffffff16421080610929575060025463ffffffff16155b156109345750600090565b60025463ffffffff16421080159061096d57506002546109649063ffffffff640100000000820481169116612913565b63ffffffff1642105b156109785750600190565b6002546109959063ffffffff640100000000820481169116612913565b63ffffffff1642106109a75750600290565b90565b60006109b98585888686611ac4565b6109c38683611bbe565b9695505050505050565b6109d5611c1d565b600254600160401b900460ff16610a2e5760405162461bcd60e51b815260206004820152601860248201527f53616c65206e6f74206d61726b656420617320656e6465640000000000000000604482015260640161067a565b6002543390600160581b900461ffff16610a835760405162461bcd60e51b81526020600482015260166024820152750526566756e642070657263656e7461676520697320360541b604482015260640161067a565b6001600160a01b03811660009081526004602052604090206001810154151580610ab1575060008160020154115b610af05760405162461bcd60e51b815260206004820152601060248201526f139bdd081c185c9d1a58da5c185d195960821b604482015260640161067a565b600381015415610b355760405162461bcd60e51b815260206004820152601060248201526f105b1c9958591e481c99599d5b99195960821b604482015260640161067a565b600254600160481b900460ff16610c8657604080513060208201526001600160a01b03841691810191909152600090610bb5906060015b604051602081830303815290604052805190602001207f19457468657265756d205369676e6564204d6573736167653a0a3332000000006000908152601c91909152603c902090565b90506000610bfb86868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508693925050611c769050565b5090507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316816001600160a01b031614610c7f5760405162461bcd60e51b815260206004820181905260248201527f696e76616c6964207369676e617475726520666f722072657120726566756e64604482015260640161067a565b5050610cd4565b600254600160481b900460ff16610cd45760405162461bcd60e51b81526020600482015260126024820152711499599d5b99081b9bdd08195b98589b195960721b604482015260640161067a565b6000610ce1838686610f92565b9050600082600201548360010154610cf99190612937565b905080821115610d3b5760405162461bcd60e51b815260206004820152600d60248201526c526566756e6420746f2062696760981b604482015260640161067a565b60038301829055825463ffffffff19164263ffffffff908116919091178455610d93907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169086908590611a6116565b836001600160a01b03167fd7dee2702d63ad89917b6a4da9981c90c4d24f8c2bdfd64c604ecae57d8d065183604051610dce91815260200190565b60405180910390a250505050610de360018055565b5050565b610def611c1d565b60026000610dfb6108f2565b90508160ff168160ff1614610e225760405162461bcd60e51b815260040161067a906128bd565b33604051636eb1769f60e11b81526001600160a01b03828116600483015230602483015289916000917f0000000000000000000000000000000000000000000000000000000000000000169063dd62ed3e90604401602060405180830381865afa158015610e94573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eb891906128e4565b905081811015610efe5760405162461bcd60e51b8152602060048201526011602482015270616c6c6f77616e636520746f6f206c6f7760781b604482015260640161067a565b33610f0c8a8a838b8b611ac4565b6000610f188289611bbe565b9050610f24818d611cbb565b610f2d82611d4f565b6001600160a01b038216600090815260046020526040812060020180548e9290610f58908490612937565b90915550610f6790508c611dd1565b50505050505050610f7760018055565b5050505050565b610f86611a07565b610f906000612116565b565b6001600160a01b03831660009081526004602090815260408083208151608081018352815463ffffffff168152600182015481850152600282015481840152600390910154606082015290519091839161100991610b6c9130918a91016001600160a01b0392831681529116602082015260400190565b9050600061104f86868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508693925050611c769050565b50600254909150600160401b900460ff1615806110775750600254600160581b900461ffff16155b806110c85750600254600160481b900460ff16806110c657507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316816001600160a01b0316145b155b806110d7575060008360600151115b806110f657506000836020015111806110f4575060008360400151115b155b156111075760009350505050611151565b60008360400151846020015161111d9190612937565b60025490915060009061113b90600160581b900461ffff168361294a565b905061114961271082612961565b955050505050505b9392505050565b60006111678585888686611ac4565b6109c38684612166565b611179611a07565b600254600160401b900460ff16156111c85760405162461bcd60e51b81526020600482015260126024820152711cd85b1948185b1c9958591e48195b99195960721b604482015260640161067a565b6002805460ff60401b1916600160401b1790556040517f94bb74a9473ae4063ec1e73dc3e35fd4b5abe9cc1e43ad0db84e5358559ccd5a9061120d9042815260200190565b60405180910390a1565b61121f611a07565b600254600160401b900460ff166112695760405162461bcd60e51b815260206004820152600e60248201526d1cd85b19481b9bdd08195b99195960921b604482015260640161067a565b610f90336040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa1580156112d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112f591906128e4565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169190611a61565b61132e611a07565b6000806113396108f2565b90508160ff168160ff16146113605760405162461bcd60e51b815260040161067a906128bd565b60008363ffffffff16116113b65760405162461bcd60e51b815260206004820152601760248201527f5f726f756e64314475726174696f6e206973207a65726f000000000000000000604482015260640161067a565b600254600160401b900460ff16156114015760405162461bcd60e51b815260206004820152600e60248201526d1cd85b19481a185cc8195b99195960921b604482015260640161067a565b600554156114445760405162461bcd60e51b815260206004820152601060248201526f1cd85b19481a185cc81cdd185c9d195960821b604482015260640161067a565b6002805467ffffffff00000000191664010000000063ffffffff8681168202929092179283905560405192041681527fd928b1d455e3dc0f73b536ed955348a992dfe60a150f79996d2274624c80d00e90602001610895565b6001600160a01b03811660009081526004602090815260408083208151608081018352815463ffffffff168152600182015493810184905260028201549281018390526003909101546060820152916111519190612937565b6114fe611a07565b6127108161ffff1611156115545760405162461bcd60e51b815260206004820152601f60248201527f526566756e6420706572632e2067726561746572207468616e20313030303000604482015260640161067a565b60008161ffff161161159c5760405162461bcd60e51b81526020600482015260116024820152700526566756e6420706572632e206973203607c1b604482015260640161067a565b6002805461ffff909216600160581b0261ffff60581b19909216919091179055565b6115ef6040518060800160405280600063ffffffff1681526020016000815260200160008152602001600081525090565b506001600160a01b03166000908152600460209081526040918290208251608081018452815463ffffffff168152600182015492810192909252600281015492820192909252600390910154606082015290565b61164b611a07565b600254600160401b900460ff166116955760405162461bcd60e51b815260206004820152600e60248201526d1cd85b19481b9bdd08195b99195960921b604482015260640161067a565b600254600160501b900460ff16156116ef5760405162461bcd60e51b815260206004820152601860248201527f416c7265647920726566756e64656420746f206f776e65720000000000000000604482015260640161067a565b6002805460ff60501b1916600160501b179081905560009061171f9061ffff600160581b90910416612710612983565b61ffff169050600081600354611735919061294a565b9050600061174561271083612961565b90506003548111156117995760405162461bcd60e51b815260206004820152601860248201527f526566756e6420776974686472617720746f6f206269672e0000000000000000604482015260640161067a565b600081116117e95760405162461bcd60e51b815260206004820152601f60248201527f526566756e64207769746864726177206d75737420626967676572203e203000604482015260640161067a565b6107ca7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163383611a61565b611825611c1d565b600160006118316108f2565b90508160ff168160ff16146118585760405162461bcd60e51b815260040161067a906128bd565b33604051636eb1769f60e11b81526001600160a01b03828116600483015230602483015289916000917f0000000000000000000000000000000000000000000000000000000000000000169063dd62ed3e90604401602060405180830381865afa1580156118ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118ee91906128e4565b9050818110156119345760405162461bcd60e51b8152602060048201526011602482015270616c6c6f77616e636520746f6f206c6f7760781b604482015260640161067a565b336119428a8a838b8b611ac4565b600061194e828a612166565b905061195a818d611cbb565b61196382611d4f565b6001600160a01b038216600090815260046020526040812060010180548e9290610f58908490612937565b611996611a07565b6001600160a01b0381166119fb5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161067a565b611a0481612116565b50565b6000546001600160a01b03163314610f905760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161067a565b6040516001600160a01b0383166024820152604481018290526107ca90849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526121be565b604080513060208201526001600160a01b038516918101919091526060810183905260808101829052600090611afc9060a001610b6c565b90507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316611b6a87878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525086939250506122939050565b6001600160a01b031614611bb65760405162461bcd60e51b81526020600482015260136024820152721cda59db985d1d5c99481b9bdd081d985b1a59606a1b604482015260640161067a565b505050505050565b6001600160a01b03821660009081526004602090815260408083208151608081018352815463ffffffff1681526001820154938101939093526002810154918301829052600301546060830152611c15908461299e565b949350505050565b600260015403611c6f5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161067a565b6002600155565b6000808251604103611cac5760208301516040840151606085015160001a611ca0878285856122b9565b94509450505050611cb4565b506000905060025b9250929050565b60008211611cff5760405162461bcd60e51b8152602060048201526011602482015270696e766c61696420616c6c6f77616e636560781b604482015260640161067a565b80821015610de35760405162461bcd60e51b815260206004820152601c60248201527f616d6f756e7420626967676572207468616e20616c6c6f77616e636500000000604482015260640161067a565b6001600160a01b03811660009081526004602052604090206001810154158015611d7b57506002810154155b15610de357600580546001810182556000919091527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db00180546001600160a01b0384166001600160a01b03199091161790555050565b60008111611e155760405162461bcd60e51b81526020600482015260116024820152700737461626c65416d6f756e74206973203607c1b604482015260640161067a565b8060036000828254611e279190612937565b90915550506003547f00000000000000000000000000000000000000000000000000000000000000001015611e885760405162461bcd60e51b81526020600482015260076024820152661cdbdb191bdd5d60ca1b604482015260640161067a565b6040516370a0823160e01b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611eef573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f1391906128e4565b9050611f4a7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633308561237d565b6040516370a0823160e01b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611fb1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fd591906128e4565b90506000611fe3838361299e565b905080841461203e5760405162461bcd60e51b815260206004820152602160248201527f6c657373207468616e20737461626c65416d6f756e74207472616e73666572656044820152601960fa1b606482015260840161067a565b600354604080519182527f000000000000000000000000000000000000000000000000000000000000000060208301527f357502b34fc8f232b9a7e025b581e7e28e54f4277ecf4171ae7e4ac193ea25a7910160405180910390a17f000000000000000000000000000000000000000000000000000000000000000060035403612110576002805460ff60401b1916600160401b1790556040517f94bb74a9473ae4063ec1e73dc3e35fd4b5abe9cc1e43ad0db84e5358559ccd5a906121079042815260200190565b60405180910390a15b50505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b03821660009081526004602090815260408083208151608081018352815463ffffffff168152600182015493810184905260028201549281019290925260030154606082015290611c15908461299e565b6000612213826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166123b59092919063ffffffff16565b905080516000148061223457508080602001905181019061223491906129b1565b6107ca5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840161067a565b60008060006122a28585611c76565b915091506122af816123c4565b5090505b92915050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311156122f05750600090506003612374565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015612344573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b03811661236d57600060019250925050612374565b9150600090505b94509492505050565b6040516001600160a01b03808516602483015283166044820152606481018290526121109085906323b872dd60e01b90608401611a8d565b6060611c15848460008561250e565b60008160048111156123d8576123d86129ce565b036123e05750565b60018160048111156123f4576123f46129ce565b036124415760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015260640161067a565b6002816004811115612455576124556129ce565b036124a25760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015260640161067a565b60038160048111156124b6576124b66129ce565b03611a045760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b606482015260840161067a565b60608247101561256f5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b606482015260840161067a565b600080866001600160a01b0316858760405161258b9190612a08565b60006040518083038185875af1925050503d80600081146125c8576040519150601f19603f3d011682016040523d82523d6000602084013e6125cd565b606091505b50915091506125de878383876125e9565b979650505050505050565b60608315612658578251600003612651576001600160a01b0385163b6126515760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161067a565b5081611c15565b611c15838381511561266d5781518083602001fd5b8060405162461bcd60e51b815260040161067a9190612a24565b60006020828403121561269957600080fd5b813561ffff8116811461115157600080fd5b6001600160a01b0381168114611a0457600080fd5b6000602082840312156126d257600080fd5b8135611151816126ab565b6000602082840312156126ef57600080fd5b813563ffffffff8116811461115157600080fd5b8015158114611a0457600080fd5b60006020828403121561272357600080fd5b813561115181612703565b60006020828403121561274057600080fd5b5035919050565b60008083601f84011261275957600080fd5b50813567ffffffffffffffff81111561277157600080fd5b602083019150836020828501011115611cb457600080fd5b6000806000806000608086880312156127a157600080fd5b85356127ac816126ab565b9450602086013567ffffffffffffffff8111156127c857600080fd5b6127d488828901612747565b9699909850959660408101359660609091013595509350505050565b6000806020838503121561280357600080fd5b823567ffffffffffffffff81111561281a57600080fd5b61282685828601612747565b90969095509350505050565b60008060008060006080868803121561284a57600080fd5b85359450602086013567ffffffffffffffff8111156127c857600080fd5b60008060006040848603121561287d57600080fd5b8335612888816126ab565b9250602084013567ffffffffffffffff8111156128a457600080fd5b6128b086828701612747565b9497909650939450505050565b6020808252600d908201526c1a5b9d985b1a59081c9bdd5b99609a1b604082015260600190565b6000602082840312156128f657600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b63ffffffff818116838216019080821115612930576129306128fd565b5092915050565b808201808211156122b3576122b36128fd565b80820281158282048414176122b3576122b36128fd565b60008261297e57634e487b7160e01b600052601260045260246000fd5b500490565b61ffff828116828216039080821115612930576129306128fd565b818103818111156122b3576122b36128fd565b6000602082840312156129c357600080fd5b815161115181612703565b634e487b7160e01b600052602160045260246000fd5b60005b838110156129ff5781810151838201526020016129e7565b50506000910152565b60008251612a1a8184602087016129e4565b9190910192915050565b6020815260008251806020840152612a438160408501602087016129e4565b601f01601f1916919091016040019291505056fea26469706673582212209225c8e8d9de56eea0cd2dd952483e0b7389358cf01bc7d80615553de9fe306c64736f6c63430008170033000000000000000000000000da97f893daa455bf2edc5ab7fe979bc3eb7f0555000000000000000000000000000000000000000000002a5a058fc295ed00000000000000000000000000000000000000000000000000000000000000687f450000000000000000000000000055d398326f99059ff775485246999027b31979550000000000000000000000000000000000000000000000000000000000005460