0x608060405234801561001057600080fd5b50604051610c60380380610c6083398181016040528101906100329190610206565b61004e6100436100d760201b60201c565b6100df60201b60201c565b81600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050610246565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006101d3826101a8565b9050919050565b6101e3816101c8565b81146101ee57600080fd5b50565b600081519050610200816101da565b92915050565b6000806040838503121561021d5761021c6101a3565b5b600061022b858286016101f1565b925050602061023c858286016101f1565b9150509250929050565b610a0b806102556000396000f3fe6080604052600436106100745760003560e01c806379c650681161004e57806379c65068146101c15780638da5cb5b146101ea578063d4e9329214610215578063f2fde38b1461022c57610153565b806340c10f191461015857806354ba0f2714610181578063715018a6146101aa57610153565b36610153576000670de0b6b3a76400003461008f9190610697565b905060018110156100d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016100cc90610725565b60405180910390fd5b6100de33610255565b6100e833826102eb565b6000670de0b6b3a7640000346100fe9190610745565b90506000811115610151573373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561014f573d6000803e3d6000fd5b505b005b600080fd5b34801561016457600080fd5b5061017f600480360381019061017a9190610808565b610384565b005b34801561018d57600080fd5b506101a860048036038101906101a39190610848565b6103a3565b005b3480156101b657600080fd5b506101bf6103b7565b005b3480156101cd57600080fd5b506101e860048036038101906101e39190610808565b6103cb565b005b3480156101f657600080fd5b506101ff6103e1565b60405161020c9190610884565b60405180910390f35b34801561022157600080fd5b5061022a61040a565b005b34801561023857600080fd5b50610253600480360381019061024e9190610848565b610462565b005b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff166340d097c3836040518263ffffffff1660e01b81526004016102b59190610884565b600060405180830381600087803b1580156102cf57600080fd5b505af11580156102e3573d6000803e3d6000fd5b505050505050565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff166340c10f1984846040518363ffffffff1660e01b815260040161034d9291906108ae565b600060405180830381600087803b15801561036757600080fd5b505af115801561037b573d6000803e3d6000fd5b50505050505050565b61038c6104e5565b61039582610255565b61039f82826102eb565b5050565b6103ab6104e5565b6103b481610255565b50565b6103bf6104e5565b6103c96000610563565b565b6103d36104e5565b6103dd82826102eb565b5050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6104126104e5565b61041a6103e1565b73ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f1935050505015801561045f573d6000803e3d6000fd5b50565b61046a6104e5565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036104d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104d090610949565b60405180910390fd5b6104e281610563565b50565b6104ed610627565b73ffffffffffffffffffffffffffffffffffffffff1661050b6103e1565b73ffffffffffffffffffffffffffffffffffffffff1614610561576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610558906109b5565b60405180910390fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600033905090565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006106a28261062f565b91506106ad8361062f565b9250826106bd576106bc610639565b5b828204905092915050565b600082825260208201905092915050565b7f57425420616d6f756e74206973206e6f7420656e6f7567680000000000000000600082015250565b600061070f6018836106c8565b915061071a826106d9565b602082019050919050565b6000602082019050818103600083015261073e81610702565b9050919050565b60006107508261062f565b915061075b8361062f565b925082820390508181111561077357610772610668565b5b92915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006107a98261077e565b9050919050565b6107b98161079e565b81146107c457600080fd5b50565b6000813590506107d6816107b0565b92915050565b6107e58161062f565b81146107f057600080fd5b50565b600081359050610802816107dc565b92915050565b6000806040838503121561081f5761081e610779565b5b600061082d858286016107c7565b925050602061083e858286016107f3565b9150509250929050565b60006020828403121561085e5761085d610779565b5b600061086c848285016107c7565b91505092915050565b61087e8161079e565b82525050565b60006020820190506108996000830184610875565b92915050565b6108a88161062f565b82525050565b60006040820190506108c36000830185610875565b6108d0602083018461089f565b9392505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006109336026836106c8565b915061093e826108d7565b604082019050919050565b6000602082019050818103600083015261096281610926565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061099f6020836106c8565b91506109aa82610969565b602082019050919050565b600060208201905081810360008301526109ce81610992565b905091905056fea26469706673582212201b13e801b803408d9f8c5c01da0f6c470b6c6f265aa709fc415192ed01e45d7464736f6c634300081200330000000000000000000000008cfbb658f1b4dbb4e15bc35111d77c7b38bf952200000000000000000000000082b683e59cac33030b574c822230a369d676dc06