0x608060405234801561001057600080fd5b50610bcf806100206000396000f3fe60806040526004361061005e5760003560e01c80638da5cb5b116100435780638da5cb5b14610096578063e352514b146100c1578063f2fde38b146100d657610065565b8063715018a61461006a5780638129fc1c1461008157610065565b3661006557005b600080fd5b34801561007657600080fd5b5061007f6100f6565b005b34801561008d57600080fd5b5061007f6101c1565b3480156100a257600080fd5b506100ab6101cb565b6040516100b89190610a95565b60405180910390f35b3480156100cd57600080fd5b5061007f6101da565b3480156100e257600080fd5b5061007f6100f1366004610a5d565b61036c565b6100fe61048e565b6001600160a01b031661010f6101cb565b6001600160a01b03161461016a576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6033546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a36033805473ffffffffffffffffffffffffffffffffffffffff19169055565b6101c9610492565b565b6033546001600160a01b031690565b600073d4a5b5fcb561daf3adf86f8477555b92fba43b5f9050806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561022c57600080fd5b505afa158015610240573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102649190610a79565b6001600160a01b0316336001600160a01b031614806103045750806001600160a01b0316638d97e0436040518163ffffffff1660e01b815260040160206040518083038186803b1580156102b757600080fd5b505afa1580156102cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102ef9190610a79565b6001600160a01b0316336001600160a01b0316145b6103295760405162461bcd60e51b815260040161032090610aa9565b60405180910390fd5b73f4dc48d260c93ad6a96c5ce563e70ca578987c7461036881307397fcc2ae862d03143b393e9fa73a32b563d57a6e69021e19e0c9bab2400000610544565b5050565b61037461048e565b6001600160a01b03166103856101cb565b6001600160a01b0316146103e0576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b0381166104255760405162461bcd60e51b8152600401808060200182810382526026815260200180610af66026913960400191505060405180910390fd5b6033546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a36033805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b3390565b600054610100900460ff16806104ab57506104ab6105d2565b806104b9575060005460ff16155b6104f45760405162461bcd60e51b815260040180806020018281038252602e815260200180610b42602e913960400191505060405180910390fd5b600054610100900460ff1615801561051f576000805460ff1961ff0019909116610100171660011790555b6105276105e3565b61052f610683565b8015610541576000805461ff00191690555b50565b604080516001600160a01b0380861660248301528416604482015260648082018490528251808303909101815260849091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd000000000000000000000000000000000000000000000000000000001790526105cc908590610789565b50505050565b60006105dd3061083f565b15905090565b600054610100900460ff16806105fc57506105fc6105d2565b8061060a575060005460ff16155b6106455760405162461bcd60e51b815260040180806020018281038252602e815260200180610b42602e913960400191505060405180910390fd5b600054610100900460ff1615801561052f576000805460ff1961ff0019909116610100171660011790558015610541576000805461ff001916905550565b600054610100900460ff168061069c575061069c6105d2565b806106aa575060005460ff16155b6106e55760405162461bcd60e51b815260040180806020018281038252602e815260200180610b42602e913960400191505060405180910390fd5b600054610100900460ff16158015610710576000805460ff1961ff0019909116610100171660011790555b600061071a61048e565b6033805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038316908117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3508015610541576000805461ff001916905550565b60006107de826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166108459092919063ffffffff16565b80519091501561083a578080602001905160208110156107fd57600080fd5b505161083a5760405162461bcd60e51b815260040180806020018281038252602a815260200180610b70602a913960400191505060405180910390fd5b505050565b3b151590565b6060610854848460008561085e565b90505b9392505050565b60608247101561089f5760405162461bcd60e51b8152600401808060200182810382526026815260200180610b1c6026913960400191505060405180910390fd5b6108a88561083f565b6108f9576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b600080866001600160a01b031685876040518082805190602001908083835b602083106109375780518252601f199092019160209182019101610918565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114610999576040519150601f19603f3d011682016040523d82523d6000602084013e61099e565b606091505b50915091506109ae8282866109b9565b979650505050505050565b606083156109c8575081610857565b8251156109d85782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610a22578181015183820152602001610a0a565b50505050905090810190601f168015610a4f5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b600060208284031215610a6e578081fd5b813561085781610ae0565b600060208284031215610a8a578081fd5b815161085781610ae0565b6001600160a01b0391909116815260200190565b60208082526015908201527f4e6f7420656e6f7567682070726976696c656765730000000000000000000000604082015260600190565b6001600160a01b038116811461054157600080fdfe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c496e697469616c697a61626c653a20636f6e747261637420697320616c726561647920696e697469616c697a65645361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a2646970667358221220a1a6926b7cffb291204c050d5726e1789828979636c5154488a9f67b44df014264736f6c63430007060033