0 txs
0 calls
constructor
No constructor.
functions
ADVANCE_ROLE
viewfunction ADVANCE_ROLE() view returns (bytes32)
balanceOf
viewfunction balanceOf(address account) view returns (uint256)
balanceOfBonded
viewfunction balanceOfBonded(address account) view returns (uint256)
balanceOfCouponStaged
viewfunction balanceOfCouponStaged(address account) view returns (uint256)
balanceOfStaged
viewfunction balanceOfStaged(address account) view returns (uint256)
bootstrapping
viewfunction bootstrapping() view returns (bool)
coupon
viewfunction coupon() view returns (address)
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
dollar
viewfunction dollar() view returns (address)
dontdiememe
viewfunction dontdiememe() view returns (address)
epoch
viewfunction epoch() view returns (uint256)
epochTime
viewfunction epochTime() view returns (uint256)
fluidUntil
viewfunction fluidUntil(address account) view returns (uint256)
getPrice
viewfunction getPrice() view returns (uint256)
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
getRoleMember
viewfunction getRoleMember(bytes32 role, uint256 index) view returns (address)
getRoleMemberCount
viewfunction getRoleMemberCount(bytes32 role) view returns (uint256)
GOVERNOR_ROLE
viewfunction GOVERNOR_ROLE() view returns (bytes32)
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
lockedUntil
viewfunction lockedUntil(address account) view returns (uint256)
oracle
viewfunction oracle() view returns (address)
pool
viewfunction pool() view returns (address)
rewarded
viewfunction rewarded(address staker) view returns (uint256)
statusOf
viewfunction statusOf(address account) view returns (uint8)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
totalBonded
viewfunction totalBonded() view returns (uint256)
totalBondedAt
viewfunction totalBondedAt(uint256 _epoch) view returns (uint256)
totalCouponStaged
viewfunction totalCouponStaged() view returns (uint256)
totalNet
viewfunction totalNet() view returns (uint256)
totalStaged
viewfunction totalStaged() view returns (uint256)
totalSupply
viewfunction totalSupply() view returns (uint256)
advance
nonpayablefunction advance()
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
initialize
nonpayablefunction initialize(address dollar, address oracle, address pool, address dontdiememe, address coupon)
preMint
nonpayablefunction preMint()
renounceRole
nonpayablefunction renounceRole(bytes32 role, address account)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
setAdvance
nonpayablefunction setAdvance(uint256 advanceIncentive)
setCoupon
nonpayablefunction setCoupon(address coupon)
setDollar
nonpayablefunction setDollar(address dollar)
setDontdiememe
nonpayablefunction setDontdiememe(address dontdiememe)
setOracle
nonpayablefunction setOracle(address oracle)
setPool
nonpayablefunction setPool(address pool)
stake
nonpayablefunction stake(uint256 value)
stakeCoupons
nonpayablefunction stakeCoupons(uint256[] couponIds)
unstake
nonpayablefunction unstake(uint256 value)
unstakeCoupons
nonpayablefunction unstakeCoupons(uint256[] couponIds)
events
Advance
event Advance(uint256 indexed epoch, uint256 block, uint256 timestamp)
Incentivization
event Incentivization(address indexed account, uint256 amount)
Initialized
event Initialized(uint8 version)
RoleAdminChanged
event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)
RoleGranted
event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)
RoleRevoked
event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)
Stake
event Stake(address indexed account, uint256 value)
StakeCoupons
event StakeCoupons(address indexed account, uint256[] couponIds)
SupplyIncrease
event SupplyIncrease(uint256 indexed epoch, uint256 price, uint256 newBonded)
SupplyNeutral
event SupplyNeutral(uint256 indexed epoch)
Unstake
event Unstake(address indexed account, uint256 start, uint256 value)
UnstakeCoupons
event UnstakeCoupons(address indexed account, uint256 start, uint256[] couponIds)
errors
No errors.
creation bytecode
0x608060405234801561001057600080fd5b506130e8806100206000396000f3fe608060405234801561001057600080fd5b50600436106102955760003560e01c806370a0823111610167578063a1f83dd5116100ce578063ccc5749011610087578063ccc5749014610618578063cf0237791461062d578063d547741f14610635578063dd77a05b14610648578063ea105ac714610650578063ffbe3b731461065857600080fd5b8063a1f83dd5146105a8578063a217fddf146105bb578063a694fc3a146105c3578063a6c409f1146105d6578063c267975b146105de578063ca15c8731461060557600080fd5b8063900cf0cf11610120578063900cf0cf146105265780639010d07c1461052e57806391d148541461054157806397a5d5b51461055457806398d5fdca146105745780639bc289f11461057c57600080fd5b806370a08231146104875780637adbf973146104b35780637dc0d1d0146104c6578063825ad607146104d757806386cf9f14146104ea578063896f421f1461051357600080fd5b8063362d5ae31161020b5780634437152a116101c45780634437152a1461041657806344d96e95146104295780635053e4611461043157806351adeb571461043957806351bf21d81461044a57806355c013451461047657600080fd5b8063362d5ae3146103ba57806336568abe146103cd578063379f53e3146103e05780633cd29ac8146103f35780633ed021d0146103fb57806342b210111461040357600080fd5b806318160ddd1161025d57806318160ddd146103205780631b3fe67e14610332578063248a9ca31461034557806326339ac8146103685780632e17de78146103945780632f2ff15d146103a757600080fd5b806301e125fe1461029a57806301ffc9a7146102af5780631459457a146102d757806316f0115b146102ea578063175d22261461030f575b600080fd5b6102ad6102a8366004612b47565b610678565b005b6102c26102bd366004612b64565b6106b3565b60405190151581526020015b60405180910390f35b6102ad6102e5366004612b8e565b6106de565b6009546001600160a01b03165b6040516001600160a01b0390911681526020016102ce565b600b546001600160a01b03166102f7565b6003545b6040519081526020016102ce565b6102ad610340366004612bff565b61087f565b610324610353366004612c74565b60009081526074602052604090206001015490565b610324610376366004612b47565b6001600160a01b03166000908152600d602052604090206001015490565b6102ad6103a2366004612c74565b61096e565b6102ad6103b5366004612c8d565b610a4e565b6102ad6103c8366004612b47565b610a78565b6102ad6103db366004612c8d565b610ab3565b6103246103ee366004612b47565b610b31565b6102ad610b74565b600654610324565b6102ad610411366004612c74565b610eef565b6102ad610424366004612b47565b610f0d565b600454610324565b610324610f48565b6007546001600160a01b03166102f7565b610324610458366004612b47565b6001600160a01b03166000908152600d602052604090206003015490565b600a546001600160a01b03166102f7565b610324610495366004612b47565b6001600160a01b03166000908152600d602052604090206002015490565b6102ad6104c1366004612b47565b610f64565b6008546001600160a01b03166102f7565b6103246104e5366004612b47565b610f9f565b6103246104f8366004612b47565b6001600160a01b03166000908152600d602052604090205490565b6102ad610521366004612bff565b610ff2565b600254610324565b6102f761053c366004612cbd565b6110d3565b6102c261054f366004612c8d565b6110eb565b610567610562366004612b47565b611116565b6040516102ce9190612cdf565b600c54610324565b61032461058a366004612b47565b6001600160a01b03166000908152600d602052604090206004015490565b6102ad6105b6366004612b47565b61117f565b610324600081565b6102ad6105d1366004612c74565b6111ba565b6103246111fe565b6103247fdc98ff1a6a5d4b8177347583fe446a9de3d27d760334fb936cdd5d652e35567581565b610324610613366004612c74565b61128f565b61032460008051602061307183398151915281565b600554610324565b6102ad610643366004612c8d565b6112a6565b6102c26112cb565b6102ad61135c565b610324610666366004612c74565b6000908152600e602052604090205490565b60008051602061307183398151915261069081611412565b50600a80546001600160a01b0319166001600160a01b0392909216919091179055565b60006001600160e01b03198216635a05180f60e01b14806106d857506106d88261141c565b92915050565b600f54610100900460ff16158080156106fe5750600f54600160ff909116105b806107185750303b1580156107185750600f5460ff166001145b6107805760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b600f805460ff1916600117905580156107a357600f805461ff0019166101001790555b6107ab611451565b6107b66000336114be565b6107ce600080516020613071833981519152336114be565b600780546001600160a01b03199081166001600160a01b0389811691909117909255600880548216888416179055600980548216878416179055600b80548216868416179055600a8054909116918416919091179055680821ab0d441498000060d855801561087757600f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050505050565b6000610893600a546001600160a01b031690565b6001600160a01b0316639ebac91484846040518363ffffffff1660e01b81526004016108c0929190612d3d565b60206040518083038186803b1580156108d857600080fd5b505afa1580156108ec573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109109190612d51565b905061091b816114e0565b610925838361156f565b337ff453a0551e1ef7f3f4571e6c4a7886c9ce5809d7f8ae90dbb5eba43b9728208661095060025490565b858560405161096193929190612d6a565b60405180910390a2505050565b336000908152600d60205260409020600101546109948261098e33610b31565b9061176a565b10156109f65760405162461bcd60e51b815260206004820152602b60248201527f426f6e64696e673a20696e73756666696369656e7420646f6c6c617220626f6e60448201526a6465642062616c616e636560a81b6064820152608401610777565b6109ff816114e0565b610a0881611776565b337ff960dbf9e5d0682f7a298ed974e33a28b4464914b7a2bfac12ae419a9afeb280610a3360025490565b6040805191825260208201859052015b60405180910390a250565b600082815260746020526040902060010154610a6981611412565b610a7383836114be565b505050565b600080516020613071833981519152610a9081611412565b50600780546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0381163314610b235760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608401610777565b610b2d8282611827565b5050565b60006106d8610b3f60035490565b610b6e610b4b60045490565b6001600160a01b0386166000908152600d60205260409020600201545b90611849565b90611855565b6000610b7f81611412565b60d95460ff1615610bd25760405162461bcd60e51b815260206004820152601860248201527f50696e612044616f3a20616c7265616479206d696e74656400000000000000006044820152606401610777565b60d9805460ff19166001179055610c07736e26579bb9b04ea358524f2aaefaf3a82defdae569021e19e0c9bab2400000611861565b610c2e7373f2e04f047931e85b62e4f2652b156199000e14683635c9adc5dea00000611861565b610c55734f714880a5847d335606bb37848ccacbcd6d5836683635c9adc5dea00000611861565b610c7c73cd815b9302bc6a828294ce6aa7c353b206997a4e68878678326eac900000611861565b610ca373cf88fa6ee6d111b04be9b06ef6fad6bd6691b88c683635c9adc5dea00000611861565b610cca731af26c320f1598a6f447256dd75c3f34d736079f683635c9adc5dea00000611861565b610cf1732601016888f03371603be1764da00264599b42d368878678326eac900000611861565b610d1873e8b07a320a0b7bf7eb6cf8a0e6c72b53a4139236683635c9adc5dea00000611861565b610d3f734e8b694141d4df9bf69cb97788e21b6b3a58cec568056bc75e2d63100000611861565b610d6673419dc23983e1e7d3cc15adc297e493262e667df268056bc75e2d63100000611861565b610d8d738c49c1d07579d778cae5a567e77e5ee24216991768056bc75e2d63100000611861565b610db473fbdda7f8a0225eb20be517349981795d6873b3d768056bc75e2d63100000611861565b610ddb736761bcaf2b2156c058634d9772f07374d6edef1d68056bc75e2d63100000611861565b610e02739488a609e2d3307ad25326a6adf72e78804d559668056bc75e2d63100000611861565b610e297358024b6c1005de40eac2d4c06bc947ebf2a302af68056bc75e2d63100000611861565b610e5073b3397a6feedff2b9fce9ca1086cb1bdd617c16bf68056bc75e2d63100000611861565b610e77730e50da617197baad40804c95c25a8b0172d25d5f68056bc75e2d63100000611861565b610e9e73478c9bef4702ca6758f3ed760a51677f74813df568056bc75e2d63100000611861565b610ec5735c25bcba2339f4b0b5f89a61ec87ec9831c09e4568056bc75e2d63100000611861565b610eec73ba29bf8046d46d687dc00f09caddb0c83540caeb68056bc75e2d63100000611861565b50565b600080516020613071833981519152610f0781611412565b5060d855565b600080516020613071833981519152610f2581611412565b50600980546001600160a01b0319166001600160a01b0392909216919091179055565b600080610f536118e0565b9050610f5e8161192b565b91505090565b600080516020613071833981519152610f7c81611412565b50600880546001600160a01b0319166001600160a01b0392909216919091179055565b600080610faa6111fe565b905080610fba5750600092915050565b610feb81610b6e610fe3866001600160a01b03166000908152600d602052604090206002015490565b600454610b68565b9392505050565b610ffc828261194c565b6000611010600a546001600160a01b031690565b6001600160a01b0316639ebac91484846040518363ffffffff1660e01b815260040161103d929190612d3d565b60206040518083038186803b15801561105557600080fd5b505afa158015611069573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061108d9190612d51565b905061109881611b28565b336001600160a01b03167fe8b7c8725fc5b88025e4e8083bf1a904f403bb39234524303a23095b1ab8e7228484604051610961929190612d3d565b600082815260a660205260408120610feb9083611b8e565b60009182526074602090815260408084206001600160a01b0393909316845291905290205460ff1690565b600061112160025490565b6001600160a01b0383166000908152600d6020526040902060040154111561114b57506002919050565b6001600160a01b0382166000908152600d602052604090206003015460025410156111775760016106d8565b600092915050565b60008051602061307183398151915261119781611412565b50600b80546001600160a01b0319166001600160a01b0392909216919091179055565b6111c381611b9a565b6111cc81611b28565b60405181815233907febedb8b3c678666e7f36970bc8f57abf6d8fa2e828c0da91ea5b75bf68ed101a90602001610a43565b60065460075460009161128a916001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561124c57600080fd5b505afa158015611260573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112849190612d51565b90611c39565b905090565b600081815260a6602052604081206106d890611c45565b6000828152607460205260409020600101546112c181611412565b610a738383611827565b60006a01a784379d99db420000006007546001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561131d57600080fd5b505afa158015611331573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113559190612d51565b1115905090565b6113683360d854611861565b60d85460405190815233907fbb4f656853bc420ad6e4321622c07eefb4ed40e3f91b35553ce14a6dff4c09819060200160405180910390a27fdc98ff1a6a5d4b8177347583fe446a9de3d27d760334fb936cdd5d652e3556756113ca81611412565b6113d2611c4f565b6113da611cad565b600254604080514381524260208201527fc30b728d1c19e5db3678b8ea9e9a063a5655071e1a325c2f7fdbca48baa906009101610a43565b610eec8133611cfb565b60006001600160e01b03198216637965db0b60e01b14806106d857506301ffc9a760e01b6001600160e01b03198316146106d8565b600f54610100900460ff166114bc5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610777565b565b6114c88282611d54565b600082815260a660205260409020610a739082611dda565b60006115016114ee60045490565b610b6e6114fa60035490565b8590611849565b905061150d3383611def565b61152f8260405180606001604052806022815260200161309160229139611e3f565b610b2d33826040518060400160405280601d81526020017f426f6e64696e673a20696e73756666696369656e742062616c616e6365000000815250611e54565b33611582600a546001600160a01b031690565b6001600160a01b0316634759113584846040518363ffffffff1660e01b81526004016115af929190612d3d565b60206040518083038186803b1580156115c757600080fd5b505afa1580156115db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115ff9190612d84565b6001600160a01b0316146116455760405162461bcd60e51b815260206004820152600d60248201526c3737ba103a34329037bbb732b960991b6044820152606401610777565b6000611659600a546001600160a01b031690565b6001600160a01b0316639ebac91484846040518363ffffffff1660e01b8152600401611686929190612d3d565b60206040518083038186803b15801561169e57600080fd5b505afa1580156116b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116d69190612d51565b90506116fb33826040518060600160405280602b8152602001613022602b9139611ead565b600a54604051631295932d60e31b81526001600160a01b03909116906394ac9968906117339086908690600090600190600401612da1565b600060405180830381600087803b15801561174d57600080fd5b505af1158015611761573d6000803e3d6000fd5b50505050505050565b6000610feb8284612dde565b611799338260405180606001604052806024815260200161304d60249139611f11565b6007546001600160a01b031660405163a9059cbb60e01b8152336004820152602481018390526001600160a01b03919091169063a9059cbb90604401602060405180830381600087803b1580156117ef57600080fd5b505af1158015611803573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b2d9190612e0a565b6118318282611f64565b600082815260a660205260409020610a739082611fcb565b6000610feb8284612e25565b6000610feb8284612e44565b80156118d8576007546001600160a01b03166040516340c10f1960e01b81526001600160a01b0384811660048301526024820184905291909116906340c10f1990604401600060405180830381600087803b1580156118bf57600080fd5b505af11580156118d3573d6000803e3d6000fd5b505050505b610b2d611fe0565b61190460405180606001604052806000815260200160008152602001600081525090565b6040518060600160405280600081526020016363c61d408152602001610e10815250905090565b60006106d882600001516112848460400151610b6e866020015161098e4290565b3361195f600a546001600160a01b031690565b6001600160a01b0316634759113584846040518363ffffffff1660e01b815260040161198c929190612d3d565b60206040518083038186803b1580156119a457600080fd5b505afa1580156119b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119dc9190612d84565b6001600160a01b031614611a225760405162461bcd60e51b815260206004820152600d60248201526c3737ba103a34329037bbb732b960991b6044820152606401610777565b600a54604051631295932d60e31b81526001600160a01b03909116906394ac996890611a5990859085906001908190600401612da1565b600060405180830381600087803b158015611a7357600080fd5b505af1158015611a87573d6000803e3d6000fd5b505050506000611a9f600a546001600160a01b031690565b6001600160a01b0316639ebac91484846040518363ffffffff1660e01b8152600401611acc929190612d3d565b60206040518083038186803b158015611ae457600080fd5b505afa158015611af8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b1c9190612d51565b9050610a7333826120cb565b6000611b3360045490565b15611b4957611b446114ee60045490565b611b56565b611b5682620f4240611849565b9050611b62338261212b565b611b6b82612181565b610b2d338360405180606001604052806024815260200161304d60249139611f11565b6000610feb8383612194565b6007546001600160a01b03166040516323b872dd60e01b8152336004820152306024820152604481018390526001600160a01b0391909116906323b872dd90606401602060405180830381600087803b158015611bf657600080fd5b505af1158015611c0a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c2e9190612e0a565b50610eec3382611def565b6000610feb8284612e66565b60006106d8825490565b600254611c5a610f48565b11611c9d5760405162461bcd60e51b81526020600482015260136024820152720a6e8d2d8d840c6eae4e4cadce840cae0dec6d606b1b6044820152606401610777565b611ca56121be565b6114bc6121e1565b6000611cb76121f4565b9050611cc38151600c55565b611ccc816122f8565b6002546040517fff7db5a0dc69b02c191ba632db46961b7d0daa1bd30709ddba9b80ad0a15d2c090600090a250565b611d0582826110eb565b610b2d57611d128161237a565b611d1d83602061238c565b604051602001611d2e929190612eae565b60408051601f198184030181529082905262461bcd60e51b825261077791600401612f23565b611d5e82826110eb565b610b2d5760008281526074602090815260408083206001600160a01b03851684529091529020805460ff19166001179055611d963390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000610feb836001600160a01b038416612528565b6001600160a01b0382166000908152600d6020526040902054611e129082611c39565b6001600160a01b0383166000908152600d6020526040902055600554611e389082611c39565b6005555050565b600454611e4d908383612577565b6004555050565b6001600160a01b0383166000908152600d6020526040902060020154611e7b908383612577565b6001600160a01b0384166000908152600d6020526040902060020155600354611ea5908383612577565b600355505050565b611eb8838383611f11565b6001600160a01b0383166000908152600d6020526040902060010154611edf908383612577565b6001600160a01b0384166000908152600d6020526040902060010155600654611f09908383612577565b600655505050565b6001600160a01b0383166000908152600d6020526040902054611f35908383612577565b6001600160a01b0384166000908152600d6020526040902055600554611f5c908383612577565b600555505050565b611f6e82826110eb565b15610b2d5760008281526074602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6000610feb836001600160a01b0384166125a3565b612000611fec60065490565b61098e611ff860055490565b600454611284565b6007546001600160a01b03166040516370a0823160e01b81523060048201526001600160a01b0391909116906370a082319060240160206040518083038186803b15801561204d57600080fd5b505afa158015612061573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120859190612d51565b10156114bc5760405162461bcd60e51b8152602060048201526015602482015274496e636f6e73697374656e742062616c616e63657360581b6044820152606401610777565b6120d58282611def565b6001600160a01b0382166000908152600d60205260409020600101546120fb9082611c39565b6001600160a01b0383166000908152600d60205260409020600101556006546121249082611c39565b6006555050565b6001600160a01b0382166000908152600d60205260409020600201546121519082611c39565b6001600160a01b0383166000908152600d602052604090206002015560035461217a9082611c39565b6003555050565b60045461218e9082611c39565b60045550565b60008260000182815481106121ab576121ab612f56565b9060005260206000200154905092915050565b600454600e60006121ce60025490565b8152602081019190915260400160002055565b6002546121ef906001611c39565b600255565b6040805160208101909152600081526000806122186008546001600160a01b031690565b6001600160a01b031663d4a3e9d76040518163ffffffff1660e01b81526004016040805180830381600087803b15801561225157600080fd5b505af1158015612265573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122899190612f82565b915091506122956112cb565b156122c5576040805160208082018352600090915281519081019091526714d1120d7b16000081525b9250505090565b806122f257604080516020808201835260009091528151908101909152670de0b6b3a764000081526122be565b50919050565b600061230382612696565b9050600061232161231c6123156111fe565b84906127ac565b6127dd565b9050600061232e826127f4565b905061233960025490565b845160408051918252602082018490527f80319ba97a9afece23aac3ae3feef628a72424e0605b4b292c961efc1a72e86a910160405180910390a250505050565b60606106d86001600160a01b03831660145b6060600061239b836002612e25565b6123a6906002612e66565b67ffffffffffffffff8111156123be576123be612f6c565b6040519080825280601f01601f1916602001820160405280156123e8576020820181803683370190505b509050600360fc1b8160008151811061240357612403612f56565b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811061243257612432612f56565b60200101906001600160f81b031916908160001a9053506000612456846002612e25565b612461906001612e66565b90505b60018111156124d9576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061249557612495612f56565b1a60f81b8282815181106124ab576124ab612f56565b60200101906001600160f81b031916908160001a90535060049490941c936124d281612ff4565b9050612464565b508315610feb5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610777565b600081815260018301602052604081205461256f575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556106d8565b5060006106d8565b6000818484111561259b5760405162461bcd60e51b81526004016107779190612f23565b505050900390565b6000818152600183016020526040812054801561268c5760006125c7600183612dde565b85549091506000906125db90600190612dde565b90508181146126405760008660000182815481106125fb576125fb612f56565b906000526020600020015490508087600001848154811061261e5761261e612f56565b6000918252602080832090910192909255918252600188019052604090208390555b85548690806126515761265161300b565b6001900381819060005260206000200160009055905585600101600086815260200190815260200160002060009055600193505050506106d8565b60009150506106d8565b6040805160208082018352600080835283518083018552819052835180830185526802b5e3af16b188000081528451808401865282905284518084018652662386f26fc1000081528551808501875283905285518085018752652d79883d2000815286518086018852939093528551938401909552670de0b6b3a76400008352929391612724908690612893565b156127a45760006127688461276261275b604080516020808201835260009091528151908101909152670de0b6b3a7640000815290565b89906128a9565b906128d3565b90506127748184612893565b15612783575090949350505050565b61278d8183612893565b1561279b5795945050505050565b50949350505050565b949350505050565b6040805160208101909152600081526040805160208101909152835181906127d49085611849565b90529392505050565b80516000906106d890670de0b6b3a7640000611855565b6000806128076064610b6e856040611849565b905061281281612908565b60006128246064610b6e866014611849565b905061282f81612a0e565b600061283b8383611c39565b905080851161284b576000612855565b612855858261176a565b945061286060045490565b61286957600094505b84156128785761287885612a73565b612880611fe0565b61288a8582611c39565b95945050505050565b600061289f8383612af0565b6002149392505050565b60408051602081019091526000815260408051602081019091528251845182916127d4919061176a565b60408051602081019091526000815260405180602001604052806127d48560000151670de0b6b3a76400008660000151612b22565b8015610eec576007546001600160a01b03166001600160a01b03166340c10f1961293a6009546001600160a01b031690565b6040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260248101849052604401600060405180830381600087803b15801561298257600080fd5b505af1158015612996573d6000803e3d6000fd5b505050506129ac6009546001600160a01b031690565b6001600160a01b031663940a4e45826040518263ffffffff1660e01b81526004016129d991815260200190565b600060405180830381600087803b1580156129f357600080fd5b505af1158015612a07573d6000803e3d6000fd5b5050505050565b8015610eec576007546001600160a01b03166001600160a01b03166340c10f19612a40600b546001600160a01b031690565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018490526044016129d9565b8015610eec576007546001600160a01b03166040516340c10f1960e01b8152306004820152602481018390526001600160a01b0391909116906340c10f1990604401600060405180830381600087803b158015612acf57600080fd5b505af1158015612ae3573d6000803e3d6000fd5b50505050610eec81612181565b805182516000911415612b05575060016106d8565b8151835111612b15576000612b18565b60025b60ff169392505050565b60006127a482610b6e8686611849565b6001600160a01b0381168114610eec57600080fd5b600060208284031215612b5957600080fd5b8135610feb81612b32565b600060208284031215612b7657600080fd5b81356001600160e01b031981168114610feb57600080fd5b600080600080600060a08688031215612ba657600080fd5b8535612bb181612b32565b94506020860135612bc181612b32565b93506040860135612bd181612b32565b92506060860135612be181612b32565b91506080860135612bf181612b32565b809150509295509295909350565b60008060208385031215612c1257600080fd5b823567ffffffffffffffff80821115612c2a57600080fd5b818501915085601f830112612c3e57600080fd5b813581811115612c4d57600080fd5b8660208260051b8501011115612c6257600080fd5b60209290920196919550909350505050565b600060208284031215612c8657600080fd5b5035919050565b60008060408385031215612ca057600080fd5b823591506020830135612cb281612b32565b809150509250929050565b60008060408385031215612cd057600080fd5b50508035926020909101359150565b6020810160038310612d0157634e487b7160e01b600052602160045260246000fd5b91905290565b81835260006001600160fb1b03831115612d2057600080fd5b8260051b8083602087013760009401602001938452509192915050565b6020815260006127a4602083018486612d07565b600060208284031215612d6357600080fd5b5051919050565b83815260406020820152600061288a604083018486612d07565b600060208284031215612d9657600080fd5b8151610feb81612b32565b606081526000612db5606083018688612d07565b9315156020830152506040015292915050565b634e487b7160e01b600052601160045260246000fd5b600082821015612df057612df0612dc8565b500390565b80518015158114612e0557600080fd5b919050565b600060208284031215612e1c57600080fd5b610feb82612df5565b6000816000190483118215151615612e3f57612e3f612dc8565b500290565b600082612e6157634e487b7160e01b600052601260045260246000fd5b500490565b60008219821115612e7957612e79612dc8565b500190565b60005b83811015612e99578181015183820152602001612e81565b83811115612ea8576000848401525b50505050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351612ee6816017850160208801612e7e565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351612f17816028840160208801612e7e565b01602801949350505050565b6020815260008251806020840152612f42816040850160208701612e7e565b601f01601f19169190910160400192915050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6000808284036040811215612f9657600080fd5b6020811215612fa457600080fd5b506040516020810181811067ffffffffffffffff82111715612fd657634e487b7160e01b600052604160045260246000fd5b604052835181529150612feb60208401612df5565b90509250929050565b60008161300357613003612dc8565b506000190190565b634e487b7160e01b600052603160045260246000fdfe426f6e64696e673a20696e73756666696369656e7420636f75706f6e207374616765642062616c616e6365426f6e64696e673a20696e73756666696369656e74207374616765642062616c616e63657935bd0ae54bc31f548c14dba4d37c5c64b3f8ca900cb468fb8abd54d5894f55426f6e64696e673a20696e73756666696369656e7420746f74616c20626f6e646564a26469706673582212207e320527222613d5de08ab343c6b47b7e5e5d254c1339e70fd75fdc397a7169e64736f6c63430008090033