0x608060405234801561001057600080fd5b5061002d61002261003960201b60201c565b61004160201b60201c565b60018081905550610105565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b610caf806101146000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c8063715018a61161005b578063715018a6146101125780638da5cb5b1461011c5780639b19251a1461013a578063f2fde38b1461016a5761007d565b80630d392cd91461008257806314a667d9146100b25780632cf003c2146100e2575b600080fd5b61009c60048036038101906100979190610916565b610186565b6040516100a99190610965565b60405180910390f35b6100cc60048036038101906100c79190610980565b610276565b6040516100d99190610965565b60405180910390f35b6100fc60048036038101906100f79190610980565b6105c4565b60405161010991906109bc565b60405180910390f35b61011a6105f7565b005b61012461060b565b60405161013191906109bc565b60405180910390f35b610154600480360381019061014f9190610980565b610634565b6040516101619190610965565b60405180910390f35b610184600480360381019061017f9190610980565b610654565b005b60006101906106d8565b81600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f08b2c0469ecd1d7a21d7e1492f0fc75fc7e8e0fa4fdf4275949c90875f5ebdf583600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166040516102649291906109d7565b60405180910390a16001905092915050565b6000610280610756565b6004600061028c6107a6565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610314576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161030b90610a5d565b60405180910390fd5b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061039e57508173ffffffffffffffffffffffffffffffffffffffff166103866107a6565b73ffffffffffffffffffffffffffffffffffffffff16145b6103dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103d490610aef565b60405180910390fd5b6001600260006103eb6107a6565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555081600360006104496107a6565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600460006104cf6107a6565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f08b2c0469ecd1d7a21d7e1492f0fc75fc7e8e0fa4fdf4275949c90875f5ebdf56105496107a6565b600260006105556107a6565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166040516105ab9291906109d7565b60405180910390a1600190506105bf6107ae565b919050565b60036020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6105ff6106d8565b61060960006107b7565b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60026020528060005260406000206000915054906101000a900460ff1681565b61065c6106d8565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156106cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106c390610b81565b60405180910390fd5b6106d5816107b7565b50565b6106e06107a6565b73ffffffffffffffffffffffffffffffffffffffff166106fe61060b565b73ffffffffffffffffffffffffffffffffffffffff1614610754576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161074b90610bed565b60405180910390fd5b565b6002600154141561079c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161079390610c59565b60405180910390fd5b6002600181905550565b600033905090565b60018081905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006108ab82610880565b9050919050565b6108bb816108a0565b81146108c657600080fd5b50565b6000813590506108d8816108b2565b92915050565b60008115159050919050565b6108f3816108de565b81146108fe57600080fd5b50565b600081359050610910816108ea565b92915050565b6000806040838503121561092d5761092c61087b565b5b600061093b858286016108c9565b925050602061094c85828601610901565b9150509250929050565b61095f816108de565b82525050565b600060208201905061097a6000830184610956565b92915050565b6000602082840312156109965761099561087b565b5b60006109a4848285016108c9565b91505092915050565b6109b6816108a0565b82525050565b60006020820190506109d160008301846109ad565b92915050565b60006040820190506109ec60008301856109ad565b6109f96020830184610956565b9392505050565b600082825260208201905092915050565b7f7573657220616c72656164792072656769737465726564000000000000000000600082015250565b6000610a47601783610a00565b9150610a5282610a11565b602082019050919050565b60006020820190508181036000830152610a7681610a3a565b9050919050565b7f74686520726566657272616c206973206e6f742072656769737465726564206f60008201527f7220616374697665200000000000000000000000000000000000000000000000602082015250565b6000610ad9602983610a00565b9150610ae482610a7d565b604082019050919050565b60006020820190508181036000830152610b0881610acc565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000610b6b602683610a00565b9150610b7682610b0f565b604082019050919050565b60006020820190508181036000830152610b9a81610b5e565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000610bd7602083610a00565b9150610be282610ba1565b602082019050919050565b60006020820190508181036000830152610c0681610bca565b9050919050565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00600082015250565b6000610c43601f83610a00565b9150610c4e82610c0d565b602082019050919050565b60006020820190508181036000830152610c7281610c36565b905091905056fea264697066735822122083bcca8ccbe37a56cf6ba23f70058bbaeb97088c39c619307a4a41c30791c0ae64736f6c63430008090033