0x60806040526000805460ff60a01b1916600960a01b179055602d6008553480156200002957600080fd5b5060405162000e5c38038062000e5c8339810160408190526200004c916200039c565b600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060408051808201909152600480825263424f425360e01b6020909201918252620000ba91600991620002f6565b506040805180820190915260088082526753686f20426f627360c01b6020909201918252620000ec91600191620002f6565b506000546200010790600160a01b900460ff16600a62000419565b6200011790633b9aca0062000504565b60078190553360009081526004602081815260409283902093909355815163c45a015560e01b81529151737a250d5630b4cf539739df2c5dacb4c659f2488d93849363c45a0155938181019391829003018186803b1580156200017957600080fd5b505afa1580156200018e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b491906200039c565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015620001fd57600080fd5b505afa15801562000212573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200023891906200039c565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b1580156200028157600080fd5b505af115801562000296573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002bc91906200039c565b600280546001600160a01b0319166001600160a01b0392831617905560085492166000908152600560205260409020919091555062000579565b828054620003049062000526565b90600052602060002090601f01602090048101928262000328576000855562000373565b82601f106200034357805160ff191683800117855562000373565b8280016001018555821562000373579182015b828111156200037357825182559160200191906001019062000356565b506200038192915062000385565b5090565b5b8082111562000381576000815560010162000386565b600060208284031215620003ae578081fd5b81516001600160a01b0381168114620003c5578182fd5b9392505050565b80825b6001808611620003e0575062000410565b818704821115620003f557620003f562000563565b808616156200040357918102915b9490941c938002620003cf565b94509492505050565b6000620003c560001960ff8516846000826200043857506001620003c5565b816200044757506000620003c5565b81600181146200046057600281146200046b576200049f565b6001915050620003c5565b60ff8411156200047f576200047f62000563565b6001841b91508482111562000498576200049862000563565b50620003c5565b5060208310610133831016604e8410600b8410161715620004d7575081810a83811115620004d157620004d162000563565b620003c5565b620004e68484846001620003cc565b808604821115620004fb57620004fb62000563565b02949350505050565b600081600019048311821515161562000521576200052162000563565b500290565b6002810460018216806200053b57607f821691505b602082108114156200055d57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b6108d380620005896000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c806370a082311161008c57806395d89b411161006657806395d89b41146101cb578063a9059cbb146101d3578063dd62ed3e146101e6578063f2fde38b14610211576100cf565b806370a0823114610190578063715018a6146101b05780638da5cb5b146101ba576100cf565b806306fdde03146100d4578063095ea7b3146100f257806318160ddd1461011557806323b872dd1461012c578063313ce5671461013f57806349bd5a5e14610165575b600080fd5b6100dc610224565b6040516100e991906107ca565b60405180910390f35b6101056101003660046107a1565b6102b2565b60405190151581526020016100e9565b61011e60075481565b6040519081526020016100e9565b61010561013a366004610766565b61031e565b60005461015390600160a01b900460ff1681565b60405160ff90911681526020016100e9565b600254610178906001600160a01b031681565b6040516001600160a01b0390911681526020016100e9565b61011e61019e366004610713565b60046020526000908152604090205481565b6101b861039e565b005b6000546001600160a01b0316610178565b6100dc610447565b6101056101e13660046107a1565b610454565b61011e6101f4366004610734565b600360209081526000928352604080842090915290825290205481565b6101b861021f366004610713565b61046b565b600180546102319061084c565b80601f016020809104026020016040519081016040528092919081815260200182805461025d9061084c565b80156102aa5780601f1061027f576101008083540402835291602001916102aa565b820191906000526020600020905b81548152906001019060200180831161028d57829003601f168201915b505050505081565b3360008181526003602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061030d9086815260200190565b60405180910390a350600192915050565b600061032b848484610585565b506001600160a01b038416600090815260036020908152604080832033845290915290205482111561035c57600080fd5b6001600160a01b03841660009081526003602090815260408083203384529091528120805484929061038f908490610835565b90915550600195945050505050565b6000546001600160a01b031633146103fd5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600980546102319061084c565b6000610461338484610585565b5060019392505050565b6000546001600160a01b031633146104c55760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016103f4565b6001600160a01b03811661052a5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016103f4565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b03831660009081526005602052604081205461063b576001600160a01b038416600090815260066020526040902054158015906105d757506002546001600160a01b03858116911614155b1561060d576008546001600160a01b03851660009081526005602052604081208054909190610607908490610835565b90915550505b6001600160a01b03841660009081526004602052604081208054849290610635908490610835565b90915550505b81610671576008546001600160a01b0384166000908152600660205260408120805490919061066b90849061081d565b90915550505b6001600160a01b0383166000908152600460205260408120805484929061069990849061081d565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516106e591815260200190565b60405180910390a35060019392505050565b80356001600160a01b038116811461070e57600080fd5b919050565b600060208284031215610724578081fd5b61072d826106f7565b9392505050565b60008060408385031215610746578081fd5b61074f836106f7565b915061075d602084016106f7565b90509250929050565b60008060006060848603121561077a578081fd5b610783846106f7565b9250610791602085016106f7565b9150604084013590509250925092565b600080604083850312156107b3578182fd5b6107bc836106f7565b946020939093013593505050565b6000602080835283518082850152825b818110156107f6578581018301518582016040015282016107da565b818111156108075783604083870101525b50601f01601f1916929092016040019392505050565b6000821982111561083057610830610887565b500190565b60008282101561084757610847610887565b500390565b60028104600182168061086057607f821691505b6020821081141561088157634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fdfea2646970667358221220fc73bc4f25b73148f9d6dd768aaa828e94ead24f464ae85dc25920ec8de765a564736f6c634300080200330000000000000000000000001b1a2cc9e4b8766dc01a756fea84f54a0d5bda61