0x608060405234801561001057600080fd5b50604051610c9e380380610c9e83398181016040528101906100329190610162565b61004e61004361005b60201b60201c565b61006360201b60201c565b806001819055505061018f565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600080fd5b6000819050919050565b61013f8161012c565b811461014a57600080fd5b50565b60008151905061015c81610136565b92915050565b60006020828403121561017857610177610127565b5b60006101868482850161014d565b91505092915050565b610b008061019e6000396000f3fe6080604052600436106100745760003560e01c80638da5cb5b1161004e5780638da5cb5b146100c7578063b5c7400b146100f2578063e0a73a931461011b578063f2fde38b146101465761007b565b80633ccfd60b1461007d578063715018a614610094578063893b0eec146100ab5761007b565b3661007b57005b005b34801561008957600080fd5b5061009261016f565b005b3480156100a057600080fd5b506100a9610226565b005b6100c560048036038101906100c091906105d3565b61023a565b005b3480156100d357600080fd5b506100dc610355565b6040516100e99190610661565b60405180910390f35b3480156100fe57600080fd5b50610119600480360381019061011491906106b2565b61037e565b005b34801561012757600080fd5b50610130610390565b60405161013d91906106ee565b60405180910390f35b34801561015257600080fd5b5061016d60048036038101906101689190610735565b610396565b005b61017761041a565b60003373ffffffffffffffffffffffffffffffffffffffff164760405161019d90610793565b60006040518083038185875af1925050503d80600081146101da576040519150601f19603f3d011682016040523d82523d6000602084013e6101df565b606091505b5050905080610223576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161021a90610805565b60405180910390fd5b50565b61022e61041a565b6102386000610498565b565b60005b82829050811015610350576000838390506001543461025c9190610854565b61026691906108b7565b9050600084848481811061027d5761027c6108e8565b5b90506020020160208101906102929190610735565b73ffffffffffffffffffffffffffffffffffffffff16826040516102b590610793565b60006040518083038185875af1925050503d80600081146102f2576040519150601f19603f3d011682016040523d82523d6000602084013e6102f7565b606091505b505090508061033b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161033290610963565b60405180910390fd5b5050808061034890610983565b91505061023d565b505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61038661041a565b8060018190555050565b60015481565b61039e61041a565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561040e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161040590610a3e565b60405180910390fd5b61041781610498565b50565b61042261055c565b73ffffffffffffffffffffffffffffffffffffffff16610440610355565b73ffffffffffffffffffffffffffffffffffffffff1614610496576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161048d90610aaa565b60405180910390fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600033905090565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b60008083601f8401126105935761059261056e565b5b8235905067ffffffffffffffff8111156105b0576105af610573565b5b6020830191508360208202830111156105cc576105cb610578565b5b9250929050565b600080602083850312156105ea576105e9610564565b5b600083013567ffffffffffffffff81111561060857610607610569565b5b6106148582860161057d565b92509250509250929050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061064b82610620565b9050919050565b61065b81610640565b82525050565b60006020820190506106766000830184610652565b92915050565b6000819050919050565b61068f8161067c565b811461069a57600080fd5b50565b6000813590506106ac81610686565b92915050565b6000602082840312156106c8576106c7610564565b5b60006106d68482850161069d565b91505092915050565b6106e88161067c565b82525050565b600060208201905061070360008301846106df565b92915050565b61071281610640565b811461071d57600080fd5b50565b60008135905061072f81610709565b92915050565b60006020828403121561074b5761074a610564565b5b600061075984828501610720565b91505092915050565b600081905092915050565b50565b600061077d600083610762565b91506107888261076d565b600082019050919050565b600061079e82610770565b9150819050919050565b600082825260208201905092915050565b7f5472616e73666572206661696c65642e00000000000000000000000000000000600082015250565b60006107ef6010836107a8565b91506107fa826107b9565b602082019050919050565b6000602082019050818103600083015261081e816107e2565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061085f8261067c565b915061086a8361067c565b92508282101561087d5761087c610825565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006108c28261067c565b91506108cd8361067c565b9250826108dd576108dc610888565b5b828204905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f6661696c656420746f2073656e64206574686572000000000000000000000000600082015250565b600061094d6014836107a8565b915061095882610917565b602082019050919050565b6000602082019050818103600083015261097c81610940565b9050919050565b600061098e8261067c565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156109c1576109c0610825565b5b600182019050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000610a286026836107a8565b9150610a33826109cc565b604082019050919050565b60006020820190508181036000830152610a5781610a1b565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000610a946020836107a8565b9150610a9f82610a5e565b602082019050919050565b60006020820190508181036000830152610ac381610a87565b905091905056fea264697066735822122034b2e85098efa3067e126dfdc4840322f63fe97f39172cdde8287f6ae84cc54064736f6c634300080900330000000000000000000000000000000000000000000000000000000000000000