0x608060405234801561001057600080fd5b50600436106100b45760003560e01c8063872a781011610071578063872a7810146101555780638da5cb5b146101715780639852595c14610179578063be9a65551461019f578063f2fde38b146101a7578063fa01dc06146101cd576100b4565b80630fb5a6b4146100b957806313d033c0146100d357806319165587146100db57806338af3eed14610103578063715018a61461012757806374a8f1031461012f575b600080fd5b6100c16101f3565b60408051918252519081900360200190f35b6100c16101f9565b610101600480360360208110156100f157600080fd5b50356001600160a01b03166101ff565b005b61010b6102e2565b604080516001600160a01b039092168252519081900360200190f35b6101016102f1565b6101016004803603602081101561014557600080fd5b50356001600160a01b03166103a5565b61015d6105d7565b604080519115158252519081900360200190f35b61010b6105e0565b6100c16004803603602081101561018f57600080fd5b50356001600160a01b03166105ef565b6100c161060e565b610101600480360360208110156101bd57600080fd5b50356001600160a01b0316610614565b61015d600480360360208110156101e357600080fd5b50356001600160a01b031661071e565b60045490565b60025490565b600061020a8261079f565b90506000811161024b5760405162461bcd60e51b8152600401808060200182810382526021815260200180610d776021913960400191505060405180910390fd5b6001600160a01b03821660009081526006602052604090205461026e908261073c565b6001600160a01b0380841660008181526006602052604090209290925560015461029a929116836107cb565b604080516001600160a01b03841681526020810183905281517fc7798891864187665ac6dd119286e44ec13f014527aeeb2b8eb3fd413df93179929181900390910190a15050565b6001546001600160a01b031690565b6102f9610822565b6000546001600160a01b0390811691161461035b576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6103ad610822565b6000546001600160a01b0390811691161461040f576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b60055460ff16610466576040805162461bcd60e51b815260206004820152601d60248201527f5354555a4965786368616e6765313a2063616e6e6f74207265766f6b65000000604482015290519081900360640190fd5b6001600160a01b03811660009081526007602052604090205460ff16156104be5760405162461bcd60e51b8152600401808060200182810382526025815260200180610d2c6025913960400191505060405180910390fd5b6000816001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561050d57600080fd5b505afa158015610521573d6000803e3d6000fd5b505050506040513d602081101561053757600080fd5b5051905060006105468361079f565b905060006105548383610826565b6001600160a01b0385166000908152600760205260409020805460ff1916600117905590506105956105846105e0565b6001600160a01b03861690836107cb565b604080516001600160a01b038616815290517fcb9a5d0114349094d8f755a27051f224c0bd3e8c9b5ce81c71d5485dc1bdd7369181900360200190a150505050565b60055460ff1690565b6000546001600160a01b031690565b6001600160a01b0381166000908152600660205260409020545b919050565b60035490565b61061c610822565b6000546001600160a01b0390811691161461067e576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b0381166106c35760405162461bcd60e51b8152600401808060200182810382526026815260200180610d516026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b031660009081526007602052604090205460ff1690565b600082820183811015610796576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b90505b92915050565b6001600160a01b038116600090815260066020526040812054610799906107c584610868565b90610826565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b17905261081d90849061099a565b505050565b3390565b600061079683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610b58565b600080826001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156108b857600080fd5b505afa1580156108cc573d6000803e3d6000fd5b505050506040513d60208110156108e257600080fd5b50516001600160a01b0384166000908152600660205260408120549192509061090c90839061073c565b905060025442101561092357600092505050610609565b6004546003546109329161073c565b4210158061095857506001600160a01b03841660009081526007602052604090205460ff165b156109665791506106099050565b61099160045461098b6109846003544261082690919063ffffffff16565b8490610bef565b90610c48565b92505050610609565b6109ac826001600160a01b0316610c8a565b6109fd576040805162461bcd60e51b815260206004820152601f60248201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400604482015290519081900360640190fd5b60006060836001600160a01b0316836040518082805190602001908083835b60208310610a3b5780518252601f199092019160209182019101610a1c565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610a9d576040519150601f19603f3d011682016040523d82523d6000602084013e610aa2565b606091505b509150915081610af9576040805162461bcd60e51b815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604482015290519081900360640190fd5b805115610b5257808060200190516020811015610b1557600080fd5b5051610b525760405162461bcd60e51b815260040180806020018281038252602a815260200180610db9602a913960400191505060405180910390fd5b50505050565b60008184841115610be75760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610bac578181015183820152602001610b94565b50505050905090810190601f168015610bd95780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600082610bfe57506000610799565b82820282848281610c0b57fe5b04146107965760405162461bcd60e51b8152600401808060200182810382526021815260200180610d986021913960400191505060405180910390fd5b600061079683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610cc6565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470818114801590610cbe57508115155b949350505050565b60008183610d155760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610bac578181015183820152602001610b94565b506000838581610d2157fe5b049594505050505056fe5354555a4965786368616e6765313a20746f6b656e20616c7265616479207265766f6b65644f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573735354555a4965786368616e6765313a206e6f20746f6b656e732061726520647565536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a2646970667358221220a6b9102f8d460207431ac800ec66097e73d856217dfa2ad8a6424f7a118daac164736f6c634300060c0033
0x60806040523480156200001157600080fd5b506040516200115438038062001154833981810160405260a08110156200003757600080fd5b5080516020820151604083015160608401516080909401519293919290919060006200006262000239565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506001600160a01b038516620000f35760405162461bcd60e51b815260040180806020018281038252602f815260200180620010f8602f913960400191505060405180910390fd5b81831115620001345760405162461bcd60e51b815260040180806020018281038252602d81526020018062001127602d913960400191505060405180910390fd5b600082116200018a576040805162461bcd60e51b815260206004820152601d60248201527f5354555a4965786368616e6765313a206475726174696f6e2069732030000000604482015290519081900360640190fd5b42620001a583866200023d60201b6200073c1790919060201c565b11620001e35760405162461bcd60e51b8152600401808060200182810382526031815260200180620010c76031913960400191505060405180910390fd5b600180546001600160a01b0319166001600160a01b0387161790556005805460ff191682151517905560048290556200022984846200023d602090811b6200073c17901c565b600255505050600355506200029f565b3390565b60008282018381101562000298576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b610e1880620002af6000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c8063872a781011610071578063872a7810146101555780638da5cb5b146101715780639852595c14610179578063be9a65551461019f578063f2fde38b146101a7578063fa01dc06146101cd576100b4565b80630fb5a6b4146100b957806313d033c0146100d357806319165587146100db57806338af3eed14610103578063715018a61461012757806374a8f1031461012f575b600080fd5b6100c16101f3565b60408051918252519081900360200190f35b6100c16101f9565b610101600480360360208110156100f157600080fd5b50356001600160a01b03166101ff565b005b61010b6102e2565b604080516001600160a01b039092168252519081900360200190f35b6101016102f1565b6101016004803603602081101561014557600080fd5b50356001600160a01b03166103a5565b61015d6105d7565b604080519115158252519081900360200190f35b61010b6105e0565b6100c16004803603602081101561018f57600080fd5b50356001600160a01b03166105ef565b6100c161060e565b610101600480360360208110156101bd57600080fd5b50356001600160a01b0316610614565b61015d600480360360208110156101e357600080fd5b50356001600160a01b031661071e565b60045490565b60025490565b600061020a8261079f565b90506000811161024b5760405162461bcd60e51b8152600401808060200182810382526021815260200180610d776021913960400191505060405180910390fd5b6001600160a01b03821660009081526006602052604090205461026e908261073c565b6001600160a01b0380841660008181526006602052604090209290925560015461029a929116836107cb565b604080516001600160a01b03841681526020810183905281517fc7798891864187665ac6dd119286e44ec13f014527aeeb2b8eb3fd413df93179929181900390910190a15050565b6001546001600160a01b031690565b6102f9610822565b6000546001600160a01b0390811691161461035b576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6103ad610822565b6000546001600160a01b0390811691161461040f576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b60055460ff16610466576040805162461bcd60e51b815260206004820152601d60248201527f5354555a4965786368616e6765313a2063616e6e6f74207265766f6b65000000604482015290519081900360640190fd5b6001600160a01b03811660009081526007602052604090205460ff16156104be5760405162461bcd60e51b8152600401808060200182810382526025815260200180610d2c6025913960400191505060405180910390fd5b6000816001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561050d57600080fd5b505afa158015610521573d6000803e3d6000fd5b505050506040513d602081101561053757600080fd5b5051905060006105468361079f565b905060006105548383610826565b6001600160a01b0385166000908152600760205260409020805460ff1916600117905590506105956105846105e0565b6001600160a01b03861690836107cb565b604080516001600160a01b038616815290517fcb9a5d0114349094d8f755a27051f224c0bd3e8c9b5ce81c71d5485dc1bdd7369181900360200190a150505050565b60055460ff1690565b6000546001600160a01b031690565b6001600160a01b0381166000908152600660205260409020545b919050565b60035490565b61061c610822565b6000546001600160a01b0390811691161461067e576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b0381166106c35760405162461bcd60e51b8152600401808060200182810382526026815260200180610d516026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b031660009081526007602052604090205460ff1690565b600082820183811015610796576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b90505b92915050565b6001600160a01b038116600090815260066020526040812054610799906107c584610868565b90610826565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b17905261081d90849061099a565b505050565b3390565b600061079683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610b58565b600080826001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156108b857600080fd5b505afa1580156108cc573d6000803e3d6000fd5b505050506040513d60208110156108e257600080fd5b50516001600160a01b0384166000908152600660205260408120549192509061090c90839061073c565b905060025442101561092357600092505050610609565b6004546003546109329161073c565b4210158061095857506001600160a01b03841660009081526007602052604090205460ff165b156109665791506106099050565b61099160045461098b6109846003544261082690919063ffffffff16565b8490610bef565b90610c48565b92505050610609565b6109ac826001600160a01b0316610c8a565b6109fd576040805162461bcd60e51b815260206004820152601f60248201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400604482015290519081900360640190fd5b60006060836001600160a01b0316836040518082805190602001908083835b60208310610a3b5780518252601f199092019160209182019101610a1c565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610a9d576040519150601f19603f3d011682016040523d82523d6000602084013e610aa2565b606091505b509150915081610af9576040805162461bcd60e51b815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604482015290519081900360640190fd5b805115610b5257808060200190516020811015610b1557600080fd5b5051610b525760405162461bcd60e51b815260040180806020018281038252602a815260200180610db9602a913960400191505060405180910390fd5b50505050565b60008184841115610be75760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610bac578181015183820152602001610b94565b50505050905090810190601f168015610bd95780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600082610bfe57506000610799565b82820282848281610c0b57fe5b04146107965760405162461bcd60e51b8152600401808060200182810382526021815260200180610d986021913960400191505060405180910390fd5b600061079683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610cc6565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470818114801590610cbe57508115155b949350505050565b60008183610d155760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610bac578181015183820152602001610b94565b506000838581610d2157fe5b049594505050505056fe5354555a4965786368616e6765313a20746f6b656e20616c7265616479207265766f6b65644f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573735354555a4965786368616e6765313a206e6f20746f6b656e732061726520647565536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a2646970667358221220a6b9102f8d460207431ac800ec66097e73d856217dfa2ad8a6424f7a118daac164736f6c634300060c00335354555a4965786368616e6765313a2066696e616c2074696d65206973206265666f72652063757272656e742074696d655354555a4965786368616e6765313a2062656e656669636961727920697320746865207a65726f20616464726573735354555a4965786368616e6765313a20636c696666206973206c6f6e676572207468616e206475726174696f6e000000000000000000000000ebeb982c76a11d2ada59a565311f2cbd88c976560000000000000000000000000000000000000000000000000000000063d059fa000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000640000000000000000000000000000000000000000000000000000000000000000