0x6060604052341561000f57600080fd5b61084c8061001e6000396000f30060606040526004361061006d576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680635c19a95c14610072578063609ff1bd146100ab578063940f851c146100da5780639e7b8d6114610100578063b3f98adc14610139575b600080fd5b341561007d57600080fd5b6100a9600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061015f565b005b34156100b657600080fd5b6100be6104b2565b604051808260ff1660ff16815260200191505060405180910390f35b34156100e557600080fd5b6100fe600480803560ff16906020019091905050610530565b005b341561010b57600080fd5b610137600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506105ed565b005b341561014457600080fd5b61015d600480803560ff169060200190919050506106ea565b005b600080600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002091508160010160009054906101000a900460ff16156101bf576104ad565b5b600073ffffffffffffffffffffffffffffffffffffffff16600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141580156102ed57503373ffffffffffffffffffffffffffffffffffffffff16600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b1561035c57600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1692506101c0565b3373ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610395576104ad565b60018260010160006101000a81548160ff021916908315150217905550828260010160026101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090508060010160009054906101000a900460ff161561049557816000015460028260010160019054906101000a900460ff1660ff1681548110151561047557fe5b9060005260206000209001600001600082825401925050819055506104ac565b816000015481600001600082825401925050819055505b5b505050565b6000806000809150600090505b6002805490508160ff16101561052b578160028260ff168154811015156104e257fe5b906000526020600020900160000154111561051e5760028160ff1681548110151561050957fe5b90600052602060002090016000015491508092505b80806001019150506104bf565b505090565b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060018060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001819055508060ff166002816105e991906107cd565b5050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415806106955750600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160009054906101000a900460ff165b1561069f576106e7565b60018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001819055505b50565b6000600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090508060010160009054906101000a900460ff168061075257506002805490508260ff1610155b1561075c576107c9565b60018160010160006101000a81548160ff021916908315150217905550818160010160016101000a81548160ff021916908360ff160217905550806000015460028360ff168154811015156107ad57fe5b9060005260206000209001600001600082825401925050819055505b5050565b8154818355818115116107f4578183600052602060002091820191016107f391906107f9565b5b505050565b61081d91905b8082111561081957600080820160009055506001016107ff565b5090565b905600a165627a7a723058205e41dcf7a5b690ed9dbca2714f93a854fd64355aee4c7441b6474f1b83cb3f620029