0x608060405234801561000f575f80fd5b50604051610c46380380610c468339818101604052810190610031919061027c565b835f806101000a81548161ffff021916908361ffff160217905550826002908161005b9190610500565b50815f60026101000a81548163ffffffff021916908363ffffffff16021790555080600181905550505050506105cf565b5f604051905090565b5f80fd5b5f80fd5b5f61ffff82169050919050565b6100b38161009d565b81146100bd575f80fd5b50565b5f815190506100ce816100aa565b92915050565b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b610122826100dc565b810181811067ffffffffffffffff82111715610141576101406100ec565b5b80604052505050565b5f61015361008c565b905061015f8282610119565b919050565b5f67ffffffffffffffff82111561017e5761017d6100ec565b5b610187826100dc565b9050602081019050919050565b8281835e5f83830152505050565b5f6101b46101af84610164565b61014a565b9050828152602081018484840111156101d0576101cf6100d8565b5b6101db848285610194565b509392505050565b5f82601f8301126101f7576101f66100d4565b5b81516102078482602086016101a2565b91505092915050565b5f63ffffffff82169050919050565b61022881610210565b8114610232575f80fd5b50565b5f815190506102438161021f565b92915050565b5f819050919050565b61025b81610249565b8114610265575f80fd5b50565b5f8151905061027681610252565b92915050565b5f805f806080858703121561029457610293610095565b5b5f6102a1878288016100c0565b945050602085015167ffffffffffffffff8111156102c2576102c1610099565b5b6102ce878288016101e3565b93505060406102df87828801610235565b92505060606102f087828801610268565b91505092959194509250565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061034a57607f821691505b60208210810361035d5761035c610306565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026103bf7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610384565b6103c98683610384565b95508019841693508086168417925050509392505050565b5f819050919050565b5f6104046103ff6103fa84610249565b6103e1565b610249565b9050919050565b5f819050919050565b61041d836103ea565b6104316104298261040b565b848454610390565b825550505050565b5f90565b610445610439565b610450818484610414565b505050565b5b81811015610473576104685f8261043d565b600181019050610456565b5050565b601f8211156104b85761048981610363565b61049284610375565b810160208510156104a1578190505b6104b56104ad85610375565b830182610455565b50505b505050565b5f82821c905092915050565b5f6104d85f19846008026104bd565b1980831691505092915050565b5f6104f083836104c9565b9150826002028217905092915050565b610509826102fc565b67ffffffffffffffff811115610522576105216100ec565b5b61052c8254610333565b610537828285610477565b5f60209050601f831160018114610568575f8415610556578287015190505b61056085826104e5565b8655506105c7565b601f19841661057686610363565b5f5b8281101561059d57848901518255600182019150602085019450602081019050610578565b868310156105ba57848901516105b6601f8916826104c9565b8355505b6001600288020188555050505b505050505050565b61066a806105dc5f395ff3fe608060405234801561000f575f80fd5b506004361061007b575f3560e01c80634c764809116100595780634c764809146100d957806352c98689146100e35780636d45e2a5146100ff5780638f6a861a1461011d5761007b565b806306fdde031461007f5780633f83ea3b1461009d57806349574402146100bb575b5f80fd5b61008761014d565b60405161009491906103a2565b60405180910390f35b6100a56101d9565b6040516100b291906103da565b60405180910390f35b6100c36101df565b6040516100d09190610411565b60405180910390f35b6100e16101f7565b005b6100fd60048036038101906100f89190610465565b610215565b005b610107610313565b604051610114919061049f565b60405180910390f35b610137600480360381019061013291906104e2565b610328565b60405161014491906103da565b60405180910390f35b6002805461015a9061053a565b80601f01602080910402602001604051908101604052809291908181526020018280546101869061053a565b80156101d15780601f106101a8576101008083540402835291602001916101d1565b820191905f5260205f20905b8154815290600101906020018083116101b457829003601f168201915b505050505081565b60015481565b5f8060029054906101000a900463ffffffff16905090565b60645f806101000a81548161ffff021916908361ffff160217905550565b6113888161ffff16111561025e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610255906105b4565b60405180910390fd5b611388815f8054906101000a900461ffff1661027a91906105ff565b61ffff1611156102d957805f8054906101000a900461ffff1661029d91906105ff565b6040517f57e718240000000000000000000000000000000000000000000000000000000081526004016102d0919061049f565b60405180910390fd5b805f808282829054906101000a900461ffff166102f691906105ff565b92506101000a81548161ffff021916908361ffff16021790555050565b5f805f9054906101000a900461ffff16905090565b5f81549050919050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61037482610332565b61037e818561033c565b935061038e81856020860161034c565b6103978161035a565b840191505092915050565b5f6020820190508181035f8301526103ba818461036a565b905092915050565b5f819050919050565b6103d4816103c2565b82525050565b5f6020820190506103ed5f8301846103cb565b92915050565b5f63ffffffff82169050919050565b61040b816103f3565b82525050565b5f6020820190506104245f830184610402565b92915050565b5f80fd5b5f61ffff82169050919050565b6104448161042e565b811461044e575f80fd5b50565b5f8135905061045f8161043b565b92915050565b5f6020828403121561047a5761047961042a565b5b5f61048784828501610451565b91505092915050565b6104998161042e565b82525050565b5f6020820190506104b25f830184610490565b92915050565b6104c1816103c2565b81146104cb575f80fd5b50565b5f813590506104dc816104b8565b92915050565b5f602082840312156104f7576104f661042a565b5b5f610504848285016104ce565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061055157607f821691505b6020821081036105645761056361050d565b5b50919050565b7f546f6f206d616e792073686172657300000000000000000000000000000000005f82015250565b5f61059e600f8361033c565b91506105a98261056a565b602082019050919050565b5f6020820190508181035f8301526105cb81610592565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6106098261042e565b91506106148361042e565b9250828201905061ffff81111561062e5761062d6105d2565b5b9291505056fea2646970667358221220dad9a8c8bc32902ccfed0e4966a6bbb3071adfa9c90b4e1536f949540081669364736f6c634300081a003300000000000000000000000000000000000000000000000000000000000000f300000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000159000000000000000000000000000000000000000000000000000000000000015900000000000000000000000000000000000000000000000000000000000000053435676767000000000000000000000000000000000000000000000000000000