0 txs
25.9k calls
constructor
No constructor.
functions
channel
viewfunction channel(uint256 channelId) view returns (tuple)
channelPrice
viewfunction channelPrice(uint256) view returns (uint256)
owner
viewfunction owner() view returns (address)
settings
viewfunction settings() view returns (address)
terminateExpiration
viewfunction terminateExpiration() view returns (uint256)
checkpoint
nonpayablefunction checkpoint(tuple query)
claim
nonpayablefunction claim(uint256 channelId)
extend
nonpayablefunction extend(uint256 channelId, uint256 preExpirationAt, uint256 expiration, bytes indexerSign, bytes consumerSign, uint256 price)
fund
nonpayablefunction fund(uint256 channelId, uint256 preTotal, uint256 amount, bytes callback, bytes sign)
initialize
nonpayablefunction initialize(address _settings)
open
nonpayablefunction open(uint256 channelId, address indexer, address consumer, uint256 amount, uint256 price, uint256 expiration, bytes32 deploymentId, bytes callback, bytes indexerSign, bytes consumerSign)
renounceOwnership
nonpayablefunction renounceOwnership()
respond
nonpayablefunction respond(tuple query)
setSettings
nonpayablefunction setSettings(address _settings)
setTerminateExpiration
nonpayablefunction setTerminateExpiration(uint256 expiration)
terminate
nonpayablefunction terminate(tuple query)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
events
ChannelCheckpoint
event ChannelCheckpoint(uint256 indexed channelId, uint256 spent, bool isFinal)
ChannelExtend
event ChannelExtend(uint256 indexed channelId, uint256 expiredAt, uint256 price)
ChannelFinalize
event ChannelFinalize(uint256 indexed channelId, uint256 total, uint256 remain)
ChannelFund
event ChannelFund(uint256 indexed channelId, uint256 realTotal, uint256 total)
ChannelLabor
event ChannelLabor(bytes32 deploymentId, address indexer, uint256 amount)
ChannelLabor2
event ChannelLabor2(uint256 indexed channelId, bytes32 deploymentId, address indexer, uint256 amount)
ChannelOpen
event ChannelOpen(uint256 indexed channelId, address indexer, address consumer, uint256 total, uint256 price, uint256 expiredAt, bytes32 deploymentId, bytes callback)
ChannelTerminate
event ChannelTerminate(uint256 indexed channelId, uint256 spent, uint256 terminatedAt, bool terminateByIndexer)
Initialized
event Initialized(uint8 version)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
Parameter
event Parameter(string name, bytes value)
errors
No errors.
creation bytecode
0x608060405234801561001057600080fd5b506136af806100206000396000f3fe608060405234801561001057600080fd5b506004361061010b5760003560e01c80638da5cb5b116100a2578063c4d66de811610071578063c4d66de814610213578063cd739ca514610226578063e06174e414610246578063f2fde38b14610259578063f771c57b1461026c57600080fd5b80638da5cb5b146101b557806393368310146101da578063a01d3c2c146101ed578063bacc28bb1461020057600080fd5b8063381930e6116100de578063381930e61461017e5780633b09c0b9146101875780634f066fca1461019a578063715018a6146101ad57600080fd5b80630455fd18146101105780632005864a14610143578063276b00c014610158578063379607f51461016b575b600080fd5b61013061011e366004612eaa565b60686020526000908152604090205481565b6040519081526020015b60405180910390f35b610156610151366004612ec3565b61027f565b005b610156610166366004612fa1565b610455565b610156610179366004612eaa565b61064b565b61013060665481565b610156610195366004612eaa565b6106cf565b6101566101a836600461302a565b61072f565b610156610c79565b6033546001600160a01b03165b6040516001600160a01b03909116815260200161013a565b6101566101e83660046130d0565b610c8d565b6101566101fb3660046131ac565b611124565b61015661020e366004612ec3565b61114e565b6101566102213660046131ac565b61137b565b610239610234366004612eaa565b611501565b60405161013a91906131f3565b6065546101c2906001600160a01b031681565b6101566102673660046131ac565b61160d565b61015661027a366004612ec3565b611686565b6001813560009081526067602052604090205460ff1660028111156102a6576102a66131c9565b146102e05760405162461bcd60e51b815260206004820152600560248201526414d0cc0c0d60da1b60448201526064015b60405180910390fd5b803560009081526067602090815260409091206004015490820135116103185760405162461bcd60e51b81526004016102d790613297565b60008135602083013561033160608501604086016132c4565b6040805160208101949094528301919091521515606082015260800160408051601f19818403018152919052805160209091012090506103f682358261037a60608601866132e1565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506103bc9250505060808701876132e1565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a2392505050565b81357fb3a2afaa64af32fdb05b5d3b4ad78b4ea624153b4cbfb05770dbe725997d0aaf602084013561042e60608601604087016132c4565b6040805192835290151560208301520160405180910390a2610451826000611b0c565b5050565b6000868152606760205260409020805460018201546005909201546101009091046001600160a01b0390811692169087146104ba5760405162461bcd60e51b815260206004820152600560248201526429a198181960d91b60448201526064016102d7565b6040805160208082018b90526001600160a01b0385811683850152841660608301526080820186905260a082018a905260c08083018a90528351808403909101815260e09092019092528051910120813b63ffffffff16156105a857604051630f685fa960e01b81526001600160a01b03831690630f685fa990610546908c9085908a90600401613380565b602060405180830381865afa158015610563573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061058791906133a8565b6105a35760405162461bcd60e51b81526004016102d7906133c5565b6105b5565b6105b58186846000611eb1565b6105c28187856001611eb1565b600089815260676020526040812060050180548992906105e39084906133f9565b9091555050600089815260686020908152604080832087905560678252918290206005015482519081529081018690528a917f82ca7cea36badd3b0fed2ea847b896ef726c843271bc7bc6d800cfbd7c1dda5e910160405180910390a2505050505050505050565b6000600260008381526067602052604090205460ff166002811115610672576106726131c9565b14801561068f575060008281526067602052604090206006015442115b9050806106c65760405162461bcd60e51b81526020600482015260056024820152640a6866060760db1b60448201526064016102d7565b610451826121ab565b6106d7612696565b606681905560408051602081018390527f63c3003ba148ae22ef0cecea7dab164660fafd04037d699677e4478e17ef7b1b910160408051601f198184030181529082905261072491613411565b60405180910390a150565b600160008681526067602052604090205460ff166002811115610754576107546131c9565b146107895760405162461bcd60e51b8152602060048201526005602482015264534330303360d81b60448201526064016102d7565b60008581526067602052604090206003015484146107d15760405162461bcd60e51b8152602060048201526005602482015264053433031360dc1b60448201526064016102d7565b6000858152606760209081526040808320805460019091015491516101009091046001600160a01b0390811694921692610817918a91869186918c918c918c910161344e565b60408051808303601f190181529190528051602090910120905081803b63ffffffff161561093f57604051630f685fa960e01b815283906001600160a01b03821690630f685fa990610871908d9087908b90600401613380565b602060405180830381865afa15801561088e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108b291906133a8565b6108ce5760405162461bcd60e51b81526004016102d7906133c5565b6040516357c65a5760e01b8152600481018b90526001600160a01b038216906357c65a5790602401602060405180830381865afa158015610913573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610937919061349a565b91505061094c565b61094c8286856000611eb1565b60655460405163f4e5699160e01b81526000916001600160a01b03169063f4e569919061097e906013906004016134b7565b602060405180830381865afa15801561099b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109bf919061349a565b90506000816001600160a01b031663a3700702606760008e815260200190815260200160002060070154858c8f6040516020016109fe91815260200190565b6040516020818303038152906040526040518563ffffffff1660e01b8152600401610a2c94939291906134d1565b6020604051808303816000875af1158015610a4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a6f9190613508565b90508015610b045760655460405163f4e5699160e01b8152610b04918491309185916001600160a01b039091169063f4e5699190610ab2906000906004016134b7565b602060405180830381865afa158015610acf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610af3919061349a565b6001600160a01b03169291906126f0565b88811015610bef576000610b18828b613521565b9050853b63ffffffff1615610b8c57604051639304c78360e01b81526001600160a01b03871690639304c78390610b59908f90339086908f906004016134d1565b600060405180830381600087803b158015610b7357600080fd5b505af1158015610b87573d6000803e3d6000fd5b505050505b60655460405163f4e5699160e01b8152610bc7918891309185916001600160a01b039091169063f4e5699190610ab2906000906004016134b7565b60008c81526067602052604081206002018054839290610be89084906133f9565b9091555050505b60008b815260676020526040812060030180548b9290610c109084906133f9565b909155505060008b81526067602090815260409182902060028101546003909101548351918252918101919091528c917f1d0232126b461e33ca71006cd193e3cbaf5a246ace60b2d3b50526942f56610791015b60405180910390a25050505050505050505050565b610c81612696565b610c8b600061275b565b565b60008a81526067602052604081205460ff166002811115610cb057610cb06131c9565b14610ce55760405162461bcd60e51b8152602060048201526005602482015264534330303160d81b60448201526064016102d7565b60655460405163f4e5699160e01b81526000916001600160a01b03169063f4e5699190610d17906003906004016134b7565b602060405180830381865afa158015610d34573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d58919061349a565b6040516316367a7160e11b81526001600160a01b038c8116600483015291925090821690632c6cf4e290602401602060405180830381865afa158015610da2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dc691906133a8565b610dfb5760405162461bcd60e51b81526004016102d7906020808252600490820152632398181960e11b604082015260600190565b60008b8b8b8b8b8b8b8b604051602001610e1c989796959493929190613538565b604051602081830303815290604052805190602001209050610e458a63ffffffff903b16151590565b15610f9557610e646001600160a01b038b16633e1dcb5560e11b6127ad565b610e995760405162461bcd60e51b81526004016102d79060208082526004908201526308e6062760e31b604082015260600190565b60008a9050806001600160a01b0316630f685fa98e84876040518463ffffffff1660e01b8152600401610ece93929190613380565b602060405180830381865afa158015610eeb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f0f91906133a8565b610f2b5760405162461bcd60e51b81526004016102d7906133c5565b806001600160a01b0316639304c7838e338d8a6040518563ffffffff1660e01b8152600401610f5d94939291906134d1565b600060405180830381600087803b158015610f7757600080fd5b505af1158015610f8b573d6000803e3d6000fd5b5050505050610fe2565b610fa281848c6000611eb1565b336001600160a01b038b1614610fe25760405162461bcd60e51b8152602060048201526005602482015264534331313160d81b60448201526064016102d7565b610fef81858d6001611eb1565b60655460405163f4e5699160e01b815261102a918c9130918d916001600160a01b039091169063f4e5699190610ab2906000906004016134b7565b60008c815260676020526040902080546001600160a01b038d8116610100026001600160a81b0319909216919091176001908117835582018054918d166001600160a01b031990921691909117905561108388426133f9565b6005820155600281018a9055600381018a9055600060048201819055600682018190556007820188905560088201805460ff191690558d81526068602052604090208990558c7fdce31697f0e6122fe66bcba66ce4e3a49d4c9707bbca427ebf7bb9f3343a916f8d8d8d8d6110f88e426133f9565b8d8d60405161110d9796959493929190613591565b60405180910390a250505050505050505050505050565b61112c612696565b606580546001600160a01b0319166001600160a01b0392909216919091179055565b803560009081526067602052604090206002815460ff166002811115611176576111766131c9565b146111ab5760405162461bcd60e51b8152602060048201526005602482015264534330303760d81b60448201526064016102d7565b600881015460ff16156112715760018101546001600160a01b0316338114903b63ffffffff161561124e576001820154604051636f2cdea760e01b8152843560048201523360248201526001600160a01b0390911690636f2cdea790604401602060405180830381865afa158015611227573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061124b91906133a8565b90505b8061126b5760405162461bcd60e51b81526004016102d7906135e1565b5061129f565b805461010090046001600160a01b0316331461129f5760405162461bcd60e51b81526004016102d7906135e1565b8060040154826020013510156112c75760405162461bcd60e51b81526004016102d790613297565b6000823560208401356112e060608601604087016132c4565b6040805160208101949094528301919091521515606082015260800160408051601f198184030181529190528051602090910120905061136b83358261132960608701876132e1565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506103bc9250505060808801886132e1565b611376836001611b0c565b505050565b600054610100900460ff161580801561139b5750600054600160ff909116105b806113b55750303b1580156113b5575060005460ff166001145b6114185760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016102d7565b6000805460ff19166001179055801561143b576000805461ff0019166101001790555b6114436127d0565b620151806066819055606580546001600160a01b0319166001600160a01b0385161790556040805160208101929092527f63c3003ba148ae22ef0cecea7dab164660fafd04037d699677e4478e17ef7b1b910160408051601f19818403018152908290526114b091613411565b60405180910390a18015610451576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b6040805161014081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810182905261012081019190915260008281526067602052604090819020815161014081019092528054829060ff166002811115611584576115846131c9565b6002811115611595576115956131c9565b815281546001600160a01b03610100918290048116602084015260018401541660408301526002830154606083015260038301546080830152600483015460a0830152600583015460c0830152600683015460e083015260078301549082015260089091015460ff1615156101209091015292915050565b611615612696565b6001600160a01b03811661167a5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016102d7565b6116838161275b565b50565b8035600090815260676020526040902080546001820154336001600160a01b03610100909304831681149291909116148115826116c1575080155b156117b95760655460405163f4e5699160e01b81526000916001600160a01b03169063f4e56991906116f8906003906004016134b7565b602060405180830381865afa158015611715573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611739919061349a565b8454604051634463315560e11b81526001600160a01b03610100909204821660048201529116906388c662aa90602401602060405180830381865afa158015611786573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117aa919061349a565b6001600160a01b031633149250505b60018301546001600160a01b03163b63ffffffff161561184b576001830154604051636f2cdea760e01b8152853560048201523360248201526001600160a01b0390911690636f2cdea790604401602060405180830381865afa158015611824573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061184891906133a8565b90505b81806118545750805b6118705760405162461bcd60e51b81526004016102d7906135e1565b8260040154846020013510156118985760405162461bcd60e51b81526004016102d790613297565b60208401351561194c576000843560208601356118bb60608801604089016132c4565b6040805160208101949094528301919091521515606082015260800160408051601f198184030181529190528051602090910120905061194685358261190460608901896132e1565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506103bc9250505060808a018a6132e1565b50611991565b61195c60608501604086016132c4565b156119915760405162461bcd60e51b815260206004820152600560248201526429a198181b60d91b60448201526064016102d7565b825460ff191660021783556066546000906119ac90426133f9565b6006850181905560088501805460ff1916851515908117909155604080516020808a013582528101849052908101919091529091508535907f0d778a22967eaa98ed5a1dc78d02c1ac54b345f19835543e7387f0658a646e6f9060600160405180910390a2611a1c856000611b0c565b5050505050565b600084815260676020526040902080546001909101546001600160a01b036101009092048216911663ffffffff813b1615611aea57604051630f685fa960e01b81526001600160a01b03821690630f685fa990611a8890899089908890600401613380565b602060405180830381865afa158015611aa5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ac991906133a8565b611ae55760405162461bcd60e51b81526004016102d7906133c5565b611af7565b611af78584836000611eb1565b611b048585846001611eb1565b505050505050565b81356000908152606760209081526040822060040154611b2e91850135613521565b83356000908152606760209081526040909120600301549192508401351015611b73578235600090815260676020908152604090912090840135600490910155611bb6565b823560009081526067602052604090206004810154600390910154611b989190613521565b83356000908152606760205260409020600381015460049091015590505b8015611e8b5782356000908152606760205260408082208054600790910154606554925163f4e5699160e01b81526101009092046001600160a01b03908116949193919291169063f4e5699190611c12906008906004016134b7565b602060405180830381865afa158015611c2f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c53919061349a565b60655460405163f4e5699160e01b81529192506000916001600160a01b039091169063f4e5699190611c8a906005906004016134b7565b602060405180830381865afa158015611ca7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ccb919061349a565b60655460405163f4e5699160e01b8152919250611d5891849188916001600160a01b039091169063f4e5699190611d07906000906004016134b7565b602060405180830381865afa158015611d24573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d48919061349a565b6001600160a01b031691906127ff565b816001600160a01b0316635912589a853088856001600160a01b0316636f853a5d6040518163ffffffff1660e01b81526004016020604051808303816000875af1158015611daa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dce9190613508565b6040516001600160e01b031960e087901b1681526001600160a01b03948516600482015293909216602484015260448301526064820152608401600060405180830381600087803b158015611e2257600080fd5b505af1158015611e36573d6000803e3d6000fd5b5050604080518681526001600160a01b0388166020820152908101889052893592507f01afc1753796861f14072edbf5533d92c3be2f07c5807135e69c1fbe6be2765d915060600160405180910390a2505050505b8180611ea25750611ea260608401604085016132c4565b156113765761137683356121ab565b6040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c8101859052600090605c016040516020818303038152906040528051906020012090506000611f0b82866128ac565b9050821561206357836001600160a01b0316816001600160a01b031603611f335750506121a5565b60655460405163f4e5699160e01b81526000916001600160a01b03169063f4e5699190611f65906003906004016134b7565b602060405180830381865afa158015611f82573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fa6919061349a565b604051634463315560e11b81526001600160a01b03878116600483015291909116906388c662aa90602401602060405180830381865afa158015611fee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612012919061349a565b9050806001600160a01b0316826001600160a01b03161461205d5760405162461bcd60e51b8152602060048201526005602482015264534330303960d81b60448201526064016102d7565b50611b04565b836001600160a01b0316816001600160a01b0316036120835750506121a5565b60655460405163f4e5699160e01b81526000916001600160a01b03169063f4e56991906120b5906010906004016134b7565b602060405180830381865afa1580156120d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120f6919061349a565b604051636488dab760e11b81526001600160a01b0387811660048301528481166024830152919091169063c911b56e90604401602060405180830381865afa158015612146573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061216a91906133a8565b9050806121a15760405162461bcd60e51b8152602060048201526005602482015264534330313160d81b60448201526064016102d7565b5050505b50505050565b6000818152606760205260409020600181015460028201546004909201546001600160a01b03909116919082803b63ffffffff1615612250576040516357c65a5760e01b8152600481018690526001600160a01b038516906357c65a5790602401602060405180830381865afa158015612229573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061224d919061349a565b90505b60008581526067602052604080822060030154606554915163f4e5699160e01b81529092916001600160a01b03169063f4e5699190612294906013906004016134b7565b602060405180830381865afa1580156122b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122d5919061349a565b905060006122e38684613521565b9050808511156123f0576000888152606760205260408120600701546001600160a01b0384169063a3700702908761231b868b613521565b8d60405160200161232e91815260200190565b6040516020818303038152906040526040518563ffffffff1660e01b815260040161235c94939291906134d1565b6020604051808303816000875af115801561237b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061239f9190613508565b905080156123e25760655460405163f4e5699160e01b81526123e2918591309185916001600160a01b039091169063f4e5699190610ab2906000906004016134b7565b6123ec81856133f9565b9350505b60006123fc8685613521565b9050600061240a82896128d0565b905060006124188284613521565b905081156124a85760655460405163f4e5699160e01b81526124a8918c9185916001600160a01b03169063f4e5699190612457906000906004016134b7565b602060405180830381865afa158015612474573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612498919061349a565b6001600160a01b031691906128e5565b80156125815760655460405163f4e5699160e01b81526124e591879184916001600160a01b03169063f4e5699190612457906000906004016134b7565b846001600160a01b0316638e81f729606760008e81526020019081526020016000206007015489848f60405160200161252091815260200190565b6040516020818303038152906040526040518563ffffffff1660e01b815260040161254e94939291906134d1565b600060405180830381600087803b15801561256857600080fd5b505af115801561257c573d6000803e3d6000fd5b505050505b893b63ffffffff16156125f05760405163a54ab45760e01b8152600481018c9052602481018390526001600160a01b038b169063a54ab45790604401600060405180830381600087803b1580156125d757600080fd5b505af11580156125eb573d6000803e3d6000fd5b505050505b60008b815260676020908152604080832080546001600160a81b03191681556001810180546001600160a01b0319169055600281018490556003810184905560048101849055600581018490556006810184905560078101849055600801805460ff19169055606882528083209290925581518881529081018490528c917f6a1470f04a8ae76a618f26cf00b68c66839088732fe6de43c8f2431ea6bef7e09101610c64565b6033546001600160a01b03163314610c8b5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016102d7565b6040516001600160a01b03808516602483015283166044820152606481018290526121a59085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152612915565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60006127b8836129ea565b80156127c957506127c98383612a1e565b9392505050565b600054610100900460ff166127f75760405162461bcd60e51b81526004016102d7906135ff565b610c8b612aa7565b604051636eb1769f60e11b81523060048201526001600160a01b0383811660248301526000919085169063dd62ed3e90604401602060405180830381865afa15801561284f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128739190613508565b90506121a58463095ea7b360e01b8561288c86866133f9565b6040516001600160a01b0390921660248301526044820152606401612724565b60008060006128bb8585612ad7565b915091506128c881612b1c565b509392505050565b60008183116128df57826127c9565b50919050565b6040516001600160a01b03831660248201526044810182905261137690849063a9059cbb60e01b90606401612724565b600061296a826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316612c669092919063ffffffff16565b905080516000148061298b57508080602001905181019061298b91906133a8565b6113765760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016102d7565b60006129fd826301ffc9a760e01b612a1e565b8015612a185750612a16826001600160e01b0319612a1e565b155b92915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d91506000519050828015612a90575060208210155b8015612a9c5750600081115b979650505050505050565b600054610100900460ff16612ace5760405162461bcd60e51b81526004016102d7906135ff565b610c8b3361275b565b6000808251604103612b0d5760208301516040840151606085015160001a612b0187828585612c7d565b94509450505050612b15565b506000905060025b9250929050565b6000816004811115612b3057612b306131c9565b03612b385750565b6001816004811115612b4c57612b4c6131c9565b03612b995760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e6174757265000000000000000060448201526064016102d7565b6002816004811115612bad57612bad6131c9565b03612bfa5760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e6774680060448201526064016102d7565b6003816004811115612c0e57612c0e6131c9565b036116835760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b60648201526084016102d7565b6060612c758484600085612d41565b949350505050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115612cb45750600090506003612d38565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015612d08573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116612d3157600060019250925050612d38565b9150600090505b94509492505050565b606082471015612da25760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016102d7565b600080866001600160a01b03168587604051612dbe919061364a565b60006040518083038185875af1925050503d8060008114612dfb576040519150601f19603f3d011682016040523d82523d6000602084013e612e00565b606091505b5091509150612a9c8783838760608315612e7b578251600003612e74576001600160a01b0385163b612e745760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102d7565b5081612c75565b612c758383815115612e905781518083602001fd5b8060405162461bcd60e51b81526004016102d79190613666565b600060208284031215612ebc57600080fd5b5035919050565b600060208284031215612ed557600080fd5b813567ffffffffffffffff811115612eec57600080fd5b820160a081850312156127c957600080fd5b634e487b7160e01b600052604160045260246000fd5b600082601f830112612f2557600080fd5b813567ffffffffffffffff80821115612f4057612f40612efe565b604051601f8301601f19908116603f01168101908282118183101715612f6857612f68612efe565b81604052838152866020858801011115612f8157600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060008060c08789031215612fba57600080fd5b863595506020870135945060408701359350606087013567ffffffffffffffff80821115612fe757600080fd5b612ff38a838b01612f14565b9450608089013591508082111561300957600080fd5b5061301689828a01612f14565b92505060a087013590509295509295509295565b600080600080600060a0868803121561304257600080fd5b853594506020860135935060408601359250606086013567ffffffffffffffff8082111561306f57600080fd5b61307b89838a01612f14565b9350608088013591508082111561309157600080fd5b5061309e88828901612f14565b9150509295509295909350565b6001600160a01b038116811461168357600080fd5b80356130cb816130ab565b919050565b6000806000806000806000806000806101408b8d0312156130f057600080fd5b8a35995061310060208c016130c0565b985061310e60408c016130c0565b975060608b0135965060808b0135955060a08b0135945060c08b0135935060e08b013567ffffffffffffffff8082111561314757600080fd5b6131538e838f01612f14565b94506101008d013591508082111561316a57600080fd5b6131768e838f01612f14565b93506101208d013591508082111561318d57600080fd5b5061319a8d828e01612f14565b9150509295989b9194979a5092959850565b6000602082840312156131be57600080fd5b81356127c9816130ab565b634e487b7160e01b600052602160045260246000fd5b600381106131ef576131ef6131c9565b9052565b6000610140820190506132078284516131df565b602083015161322160208401826001600160a01b03169052565b50604083015161323c60408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e08301526101008084015181840152506101208084015161328f8285018215159052565b505092915050565b602080825260059082015264534330303560d81b604082015260600190565b801515811461168357600080fd5b6000602082840312156132d657600080fd5b81356127c9816132b6565b6000808335601e198436030181126132f857600080fd5b83018035915067ffffffffffffffff82111561331357600080fd5b602001915036819003821315612b1557600080fd5b60005b8381101561334357818101518382015260200161332b565b838111156121a55750506000910152565b6000815180845261336c816020860160208601613328565b601f01601f19169290920160200192915050565b83815282602082015260606040820152600061339f6060830184613354565b95945050505050565b6000602082840312156133ba57600080fd5b81516127c9816132b6565b6020808252600490820152632198181b60e11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b6000821982111561340c5761340c6133e3565b500190565b6040815260136040820152723a32b936b4b730ba32a2bc3834b930ba34b7b760691b60608201526080602082015260006127c96080830184613354565b8681526001600160a01b03868116602083015285166040820152606081018490526080810183905260c060a0820181905260009061348e90830184613354565b98975050505050505050565b6000602082840312156134ac57600080fd5b81516127c9816130ab565b60208101601583106134cb576134cb6131c9565b91905290565b84815260018060a01b03841660208201528260408201526080606082015260006134fe6080830184613354565b9695505050505050565b60006020828403121561351a57600080fd5b5051919050565b600082821015613533576135336133e3565b500390565b60006101008a835260018060a01b03808b166020850152808a166040850152508760608401528660808401528560a08401528460c08401528060e084015261358281840185613354565b9b9a5050505050505050505050565b600060018060a01b03808a1683528089166020840152508660408301528560608301528460808301528360a083015260e060c08301526135d460e0830184613354565b9998505050505050505050565b60208082526004908201526308e6060760e31b604082015260600190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b6000825161365c818460208701613328565b9190910192915050565b6020815260006127c9602083018461335456fea2646970667358221220c7010709ef68322e28d171d893c15bd1c064ff38067333675359dee834e1a74d64736f6c634300080f0033