0x608060405234801561001057600080fd5b50610659806100206000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c806312a7b914146100675780631e26fd33146100855780633fb5c1cb146100a1578063cd048de6146100bd578063ed40a8c8146100d9578063f2c9ecd8146100f7575b600080fd5b61006f610115565b60405161007c9190610427565b60405180910390f35b61009f600480360381019061009a919061033d565b61012c565b005b6100bb60048036038101906100b691906103a7565b610149565b005b6100d760048036038101906100d29190610366565b610153565b005b6100e161016d565b6040516100ee9190610442565b60405180910390f35b6100ff6101ff565b60405161010c9190610464565b60405180910390f35b6000600260009054906101000a900460ff16905090565b80600260006101000a81548160ff02191690831515021790555050565b8060008190555050565b8060019080519060200190610169929190610208565b5050565b60606001805461017c90610554565b80601f01602080910402602001604051908101604052809291908181526020018280546101a890610554565b80156101f55780601f106101ca576101008083540402835291602001916101f5565b820191906000526020600020905b8154815290600101906020018083116101d857829003601f168201915b5050505050905090565b60008054905090565b82805461021490610554565b90600052602060002090601f016020900481019282610236576000855561027d565b82601f1061024f57805160ff191683800117855561027d565b8280016001018555821561027d579182015b8281111561027c578251825591602001919060010190610261565b5b50905061028a919061028e565b5090565b5b808211156102a757600081600090555060010161028f565b5090565b60006102be6102b9846104b0565b61047f565b9050828152602081018484840111156102d657600080fd5b6102e1848285610512565b509392505050565b6000813590506102f8816105f5565b92915050565b600082601f83011261030f57600080fd5b813561031f8482602086016102ab565b91505092915050565b6000813590506103378161060c565b92915050565b60006020828403121561034f57600080fd5b600061035d848285016102e9565b91505092915050565b60006020828403121561037857600080fd5b600082013567ffffffffffffffff81111561039257600080fd5b61039e848285016102fe565b91505092915050565b6000602082840312156103b957600080fd5b60006103c784828501610328565b91505092915050565b6103d9816104fc565b82525050565b60006103ea826104e0565b6103f481856104eb565b9350610404818560208601610521565b61040d816105e4565b840191505092915050565b61042181610508565b82525050565b600060208201905061043c60008301846103d0565b92915050565b6000602082019050818103600083015261045c81846103df565b905092915050565b60006020820190506104796000830184610418565b92915050565b6000604051905081810181811067ffffffffffffffff821117156104a6576104a56105b5565b5b8060405250919050565b600067ffffffffffffffff8211156104cb576104ca6105b5565b5b601f19601f8301169050602081019050919050565b600081519050919050565b600082825260208201905092915050565b60008115159050919050565b6000819050919050565b82818337600083830152505050565b60005b8381101561053f578082015181840152602081019050610524565b8381111561054e576000848401525b50505050565b6000600282049050600182168061056c57607f821691505b602082108114156105805761057f610586565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b6105fe816104fc565b811461060957600080fd5b50565b61061581610508565b811461062057600080fd5b5056fea264697066735822122003ba6c61abf944be6e8d5806c928125d3a00fb235b825405552d80e2d32b735264736f6c63430008000033