0x608060405234801561001057600080fd5b5060405160208061092483398101806040528101908080519060200190929190505050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506108a1806100836000396000f30060806040526004361061006d576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063272f3c55146100725780636036cba3146100cc5780636e908ca3146101305780637b10399914610198578063c5d3a107146101ef575b600080fd5b34801561007e57600080fd5b506100ca600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803560ff169060200190929190505050610232565b005b3480156100d857600080fd5b5061010d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506104bd565b604051808381526020018260ff1660ff1681526020019250505060405180910390f35b34801561013c57600080fd5b5061017b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506104ee565b604051808381526020018281526020019250505060405180910390f35b3480156101a457600080fd5b506101ad610636565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101fb57600080fd5b50610230600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061065b565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166313e7c9d8326040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156102ee57600080fd5b505af1158015610302573d6000803e3d6000fd5b505050506040513d602081101561031857600080fd5b8101908080519060200190929190505050151561039d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4f726967696e206d757374206265206f70657261746f7200000000000000000081525060200191505060405180910390fd5b60008214151515610416576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f52617465206d75737420626520706f736974697665000000000000000000000081525060200191505060405180910390fd5b81600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018190555080600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160006101000a81548160ff021916908360ff160217905550505050565b60016020528060005260406000206000915090508060000154908060010160009054906101000a900460ff16905082565b600080600080600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020915060008260000154141515156105b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f43757272656e6379206e6f7420737570706f727465640000000000000000000081525060200191505060405180910390fd5b6105c985836000015461082790919063ffffffff16565b905060008260010160009054906101000a900460ff1660ff161115610623576106128260010160009054906101000a900460ff1660ff16600a0a8261085f90919063ffffffff16565b9050600081141561062257600190505b5b8060008090509350935050509250929050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166313e7c9d8326040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561071757600080fd5b505af115801561072b573d6000803e3d6000fd5b505050506040513d602081101561074157600080fd5b810190808051906020019092919050505015156107c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4f726967696e206d757374206265206f70657261746f7200000000000000000081525060200191505060405180910390fd5b600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000808201600090556001820160006101000a81549060ff0219169055505050565b60008083141561083a5760009050610859565b818302905081838281151561084b57fe5b0414151561085557fe5b8090505b92915050565b6000818381151561086c57fe5b049050929150505600a165627a7a72305820c1b50f9e8da3a1a2570220e0494f3f30cb09a4abc1f7e11fe5abca333524bbb800290000000000000000000000005193e33f843012c27c502550fa77a543e48187f0