0x608060405234801561000f575f80fd5b5060043610610055575f3560e01c806358a68f59146100595780638da5cb5b14610082578063d8b66ae1146100ac578063f2fde38b146100c1578063fc0c546a146100d4575b5f80fd5b61006c6100673660046106d2565b6100e7565b604051610079919061076d565b60405180910390f35b5f54610094906001600160a01b031681565b6040516001600160a01b039091168152602001610079565b6100bf6100ba3660046107b2565b6102b5565b005b6100bf6100cf366004610819565b61051c565b600154610094906001600160a01b031681565b606086851480156100f757508683145b6101485760405162461bcd60e51b815260206004820152601a60248201527f4172726179206c656e6774687320646f206e6f74206d6174636800000000000060448201526064015b60405180910390fd5b8667ffffffffffffffff81111561016157610161610846565b60405190808252806020026020018201604052801561018a578160200160208202803683370190505b5090505f5b878110156102a9575f8989838181106101aa576101aa61085a565b90506020020160208101906101bf9190610819565b8888848181106101d1576101d161085a565b9050602002013560405160200161020692919060609290921b6bffffffffffffffffffffffff19168252601482015260340190565b60405160208183030381529060405280519060200120905061027e818787858181106102345761023461085a565b9050602002810190610246919061086e565b808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508992506105e6915050565b8383815181106102905761029061085a565b911515602092830291909101909101525060010161018f565b50979650505050505050565b5f546001600160a01b031633146103085760405162461bcd60e51b815260206004820152601760248201527621b0b63632b91034b9903737ba103a34329037bbb732b960491b604482015260640161013f565b8281146103575760405162461bcd60e51b815260206004820152601a60248201527f4172726179206c656e6774687320646f206e6f74206d61746368000000000000604482015260640161013f565b5f5b83811015610515575f8585838181106103745761037461085a565b90506020020160208101906103899190610819565b6001600160a01b0316036103d15760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b604482015260640161013f565b5f8383838181106103e4576103e461085a565b6001546020909102929092013592505f916001600160a01b0316905063a9059cbb8888868181106104175761041761085a565b905060200201602081019061042c9190610819565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018590526044016020604051808303815f875af1158015610476573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061049a91906108b4565b90508061050b578686848181106104b3576104b361085a565b90506020020160208101906104c89190610819565b6001600160a01b03167f3506b32cea6b36a739c1c2a71a9e1b3d6222104389c07219059fa6eb6d2e05638360405161050291815260200190565b60405180910390a25b5050600101610359565b5050505050565b5f546001600160a01b0316331461056f5760405162461bcd60e51b815260206004820152601760248201527621b0b63632b91034b9903737ba103a34329037bbb732b960491b604482015260640161013f565b6001600160a01b0381166105c55760405162461bcd60e51b815260206004820152601d60248201527f4e6577206f776e657220697320746865207a65726f2061646472657373000000604482015260640161013f565b5f80546001600160a01b0319166001600160a01b0392909216919091179055565b5f83815b845181101561067f575f8582815181106106065761060661085a565b6020026020010151905080831015610649576040805160208101859052908101829052606001604051602081830303815290604052805190602001209250610676565b60408051602081018390529081018490526060016040516020818303038152906040528051906020012092505b506001016105ea565b509091149392505050565b5f8083601f84011261069a575f80fd5b50813567ffffffffffffffff8111156106b1575f80fd5b6020830191508360208260051b85010111156106cb575f80fd5b9250929050565b5f805f805f805f6080888a0312156106e8575f80fd5b873567ffffffffffffffff808211156106ff575f80fd5b61070b8b838c0161068a565b909950975060208a0135915080821115610723575f80fd5b61072f8b838c0161068a565b909750955060408a0135915080821115610747575f80fd5b506107548a828b0161068a565b989b979a50959894979596606090950135949350505050565b602080825282518282018190525f9190848201906040850190845b818110156107a6578351151583529284019291840191600101610788565b50909695505050505050565b5f805f80604085870312156107c5575f80fd5b843567ffffffffffffffff808211156107dc575f80fd5b6107e88883890161068a565b90965094506020870135915080821115610800575f80fd5b5061080d8782880161068a565b95989497509550505050565b5f60208284031215610829575f80fd5b81356001600160a01b038116811461083f575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112610883575f80fd5b83018035915067ffffffffffffffff82111561089d575f80fd5b6020019150600581901b36038213156106cb575f80fd5b5f602082840312156108c4575f80fd5b8151801515811461083f575f80fdfea264697066735822122010d528c38b8b12ea9de68f00d3a4306139683a706504a34cdb258fa1cfc84d3364736f6c63430008180033
0x608060405234801561000f575f80fd5b506040516109a33803806109a383398101604081905261002e91610060565b5f8054336001600160a01b031991821617909155600180549091166001600160a01b039290921691909117905561008d565b5f60208284031215610070575f80fd5b81516001600160a01b0381168114610086575f80fd5b9392505050565b6109098061009a5f395ff3fe608060405234801561000f575f80fd5b5060043610610055575f3560e01c806358a68f59146100595780638da5cb5b14610082578063d8b66ae1146100ac578063f2fde38b146100c1578063fc0c546a146100d4575b5f80fd5b61006c6100673660046106d2565b6100e7565b604051610079919061076d565b60405180910390f35b5f54610094906001600160a01b031681565b6040516001600160a01b039091168152602001610079565b6100bf6100ba3660046107b2565b6102b5565b005b6100bf6100cf366004610819565b61051c565b600154610094906001600160a01b031681565b606086851480156100f757508683145b6101485760405162461bcd60e51b815260206004820152601a60248201527f4172726179206c656e6774687320646f206e6f74206d6174636800000000000060448201526064015b60405180910390fd5b8667ffffffffffffffff81111561016157610161610846565b60405190808252806020026020018201604052801561018a578160200160208202803683370190505b5090505f5b878110156102a9575f8989838181106101aa576101aa61085a565b90506020020160208101906101bf9190610819565b8888848181106101d1576101d161085a565b9050602002013560405160200161020692919060609290921b6bffffffffffffffffffffffff19168252601482015260340190565b60405160208183030381529060405280519060200120905061027e818787858181106102345761023461085a565b9050602002810190610246919061086e565b808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508992506105e6915050565b8383815181106102905761029061085a565b911515602092830291909101909101525060010161018f565b50979650505050505050565b5f546001600160a01b031633146103085760405162461bcd60e51b815260206004820152601760248201527621b0b63632b91034b9903737ba103a34329037bbb732b960491b604482015260640161013f565b8281146103575760405162461bcd60e51b815260206004820152601a60248201527f4172726179206c656e6774687320646f206e6f74206d61746368000000000000604482015260640161013f565b5f5b83811015610515575f8585838181106103745761037461085a565b90506020020160208101906103899190610819565b6001600160a01b0316036103d15760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b604482015260640161013f565b5f8383838181106103e4576103e461085a565b6001546020909102929092013592505f916001600160a01b0316905063a9059cbb8888868181106104175761041761085a565b905060200201602081019061042c9190610819565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018590526044016020604051808303815f875af1158015610476573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061049a91906108b4565b90508061050b578686848181106104b3576104b361085a565b90506020020160208101906104c89190610819565b6001600160a01b03167f3506b32cea6b36a739c1c2a71a9e1b3d6222104389c07219059fa6eb6d2e05638360405161050291815260200190565b60405180910390a25b5050600101610359565b5050505050565b5f546001600160a01b0316331461056f5760405162461bcd60e51b815260206004820152601760248201527621b0b63632b91034b9903737ba103a34329037bbb732b960491b604482015260640161013f565b6001600160a01b0381166105c55760405162461bcd60e51b815260206004820152601d60248201527f4e6577206f776e657220697320746865207a65726f2061646472657373000000604482015260640161013f565b5f80546001600160a01b0319166001600160a01b0392909216919091179055565b5f83815b845181101561067f575f8582815181106106065761060661085a565b6020026020010151905080831015610649576040805160208101859052908101829052606001604051602081830303815290604052805190602001209250610676565b60408051602081018390529081018490526060016040516020818303038152906040528051906020012092505b506001016105ea565b509091149392505050565b5f8083601f84011261069a575f80fd5b50813567ffffffffffffffff8111156106b1575f80fd5b6020830191508360208260051b85010111156106cb575f80fd5b9250929050565b5f805f805f805f6080888a0312156106e8575f80fd5b873567ffffffffffffffff808211156106ff575f80fd5b61070b8b838c0161068a565b909950975060208a0135915080821115610723575f80fd5b61072f8b838c0161068a565b909750955060408a0135915080821115610747575f80fd5b506107548a828b0161068a565b989b979a50959894979596606090950135949350505050565b602080825282518282018190525f9190848201906040850190845b818110156107a6578351151583529284019291840191600101610788565b50909695505050505050565b5f805f80604085870312156107c5575f80fd5b843567ffffffffffffffff808211156107dc575f80fd5b6107e88883890161068a565b90965094506020870135915080821115610800575f80fd5b5061080d8782880161068a565b95989497509550505050565b5f60208284031215610829575f80fd5b81356001600160a01b038116811461083f575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112610883575f80fd5b83018035915067ffffffffffffffff82111561089d575f80fd5b6020019150600581901b36038213156106cb575f80fd5b5f602082840312156108c4575f80fd5b8151801515811461083f575f80fdfea264697066735822122010d528c38b8b12ea9de68f00d3a4306139683a706504a34cdb258fa1cfc84d3364736f6c6343000818003300000000000000000000000090d82bb724516e7db97192a93c4c19a93504461b