0x608060405234801561001057600080fd5b5060405161080638038061080683398101604081905261002f91610173565b600080546001600160a01b03199081166001600160a01b0384161790915560038054732b30a948fe2bf1ff67506aabb3df3fe0603d128f921682179055604080516316f0115b60e01b815290516316f0115b916004808201926020929091908290030181865afa1580156100a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100cb9190610173565b600180546001600160a01b0319166001600160a01b03928316179055600354604080516345edb61360e01b8152905191909216916345edb6139160048083019260209291908290030181865afa158015610129573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061014d9190610173565b600280546001600160a01b0319166001600160a01b0392909216919091179055506101a3565b60006020828403121561018557600080fd5b81516001600160a01b038116811461019c57600080fd5b9392505050565b610654806101b26000396000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c80639796bfc2116100665780639796bfc214610111578063c395322a14610124578063c75a114814610147578063e5bde6a31461015a578063fe6bcd7c1461016d57600080fd5b806348f123ce14610098578063550457d7146100c85780635e7383ab146100dd5780638da5cb5b146100fe575b600080fd5b6001546100ab906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6100db6100d63660046104a7565b61018e565b005b6100f06100eb3660046104c2565b610222565b6040516100bf929190610541565b6000546100ab906001600160a01b031681565b6002546100ab906001600160a01b031681565b610137610132366004610564565b61028a565b60405190151581526020016100bf565b6003546100ab906001600160a01b031681565b6101376101683660046104a7565b6102c3565b61018061017b3660046104a7565b61034f565b6040519081526020016100bf565b6000546001600160a01b031633146102005760405162461bcd60e51b815260206004820152602b60248201527f206f6e6c79206f776e657220736574204c69646f2041617665204c657665726160448201526a676520537472617465677960a81b606482015260840160405180910390fd5b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6000606061022f866102c3565b156102575761023f86868561028a565b156102575761024e86856103cd565b91509150610281565b505060408051808201909152600d81526c6d6f6e69746f72206973206f6b60981b60208201526000905b94509492505050565b6000806102968561034f565b905082811015806102a75750838111155b156102b65760019150506102bc565b60009150505b9392505050565b6002546040516370a0823160e01b81526001600160a01b03838116600483015260009283929116906370a0823190602401602060405180830381865afa158015610311573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103359190610597565b905080156103465750600192915050565b50600092915050565b600154604051632fe4a15f60e21b81526001600160a01b038381166004830152600092839291169063bf92857c9060240160c060405180830381865afa15801561039d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103c191906105b0565b98975050505050505050565b6000606060006103dc84610446565b600354604051919250631cff79cd60e01b91610406916001600160a01b03169084906024016105fa565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152600193509150509250929050565b60608160405160240161045b91815260200190565b60408051601f198184030181529190526020810180516001600160e01b0316631e93260360e31b17905292915050565b80356001600160a01b03811681146104a257600080fd5b919050565b6000602082840312156104b957600080fd5b6102bc8261048b565b600080600080608085870312156104d857600080fd5b6104e18561048b565b966020860135965060408601359560600135945092505050565b6000815180845260005b8181101561052157602081850181015186830182015201610505565b506000602082860101526020601f19601f83011685010191505092915050565b821515815260406020820152600061055c60408301846104fb565b949350505050565b60008060006060848603121561057957600080fd5b6105828461048b565b95602085013595506040909401359392505050565b6000602082840312156105a957600080fd5b5051919050565b60008060008060008060c087890312156105c957600080fd5b865195506020870151945060408701519350606087015192506080870151915060a087015190509295509295509295565b6001600160a01b038316815260406020820181905260009061055c908301846104fb56fea2646970667358221220529c5a35aa90279cf1a9b30b8e2f7a8273d56c9d774cb73f7396619d17ad915664736f6c6343000811003300000000000000000000000040ff7499951546dfa412e9dc05c816a453953616