0x608060405234801561000f575f5ffd5b5061d09a5f5f6101000a81548161ffff021916908361ffff1602179055506040518060400160405280600e81526020017f4e6f7274686d616365646f6e69610000000000000000000000000000000000008152506001908161007191906102bf565b50632792e7ec60028190555061038e565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806100fd57607f821691505b6020821081036101105761010f6100b9565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026101727fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610137565b61017c8683610137565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f6101c06101bb6101b684610194565b61019d565b610194565b9050919050565b5f819050919050565b6101d9836101a6565b6101ed6101e5826101c7565b848454610143565b825550505050565b5f5f905090565b6102046101f5565b61020f8184846101d0565b505050565b5b81811015610232576102275f826101fc565b600181019050610215565b5050565b601f8211156102775761024881610116565b61025184610128565b81016020851015610260578190505b61027461026c85610128565b830182610214565b50505b505050565b5f82821c905092915050565b5f6102975f198460080261027c565b1980831691505092915050565b5f6102af8383610288565b9150826002028217905092915050565b6102c882610082565b67ffffffffffffffff8111156102e1576102e061008c565b5b6102eb82546100e6565b6102f6828285610236565b5f60209050601f831160018114610327575f8415610315578287015190505b61031f85826102a4565b865550610386565b601f19841661033586610116565b5f5b8281101561035c57848901518255600182019150602085019450602081019050610337565b868310156103795784890151610375601f891682610288565b8355505b6001600288020188555050505b505050505050565b6107c58061039b5f395ff3fe608060405234801561000f575f5ffd5b5060043610610060575f3560e01c80637fd639ea14610064578063c9c4860014610082578063cf3a00eb146100a0578063ec5e060a146100bc578063fd023f8a146100da578063fe2fd8b6146100f6575b5f5ffd5b61006c610114565b604051610079919061020c565b60405180910390f35b61008a61011a565b6040516100979190610241565b60405180910390f35b6100ba60048036038101906100b591906103a7565b61012c565b005b6100c461013f565b6040516100d1919061044e565b60405180910390f35b6100f460048036038101906100ef9190610498565b6101cb565b005b6100fe6101e9565b60405161010b919061020c565b60405180910390f35b60025481565b5f5f9054906101000a900461ffff1681565b806001908161013b91906106c0565b5050565b6001805461014c906104f0565b80601f0160208091040260200160405190810160405280929190818152602001828054610178906104f0565b80156101c35780601f1061019a576101008083540402835291602001916101c3565b820191905f5260205f20905b8154815290600101906020018083116101a657829003601f168201915b505050505081565b805f5f6101000a81548161ffff021916908361ffff16021790555050565b5f632792e7ec905090565b5f819050919050565b610206816101f4565b82525050565b5f60208201905061021f5f8301846101fd565b92915050565b5f61ffff82169050919050565b61023b81610225565b82525050565b5f6020820190506102545f830184610232565b92915050565b5f604051905090565b5f5ffd5b5f5ffd5b5f5ffd5b5f5ffd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6102b982610273565b810181811067ffffffffffffffff821117156102d8576102d7610283565b5b80604052505050565b5f6102ea61025a565b90506102f682826102b0565b919050565b5f67ffffffffffffffff82111561031557610314610283565b5b61031e82610273565b9050602081019050919050565b828183375f83830152505050565b5f61034b610346846102fb565b6102e1565b9050828152602081018484840111156103675761036661026f565b5b61037284828561032b565b509392505050565b5f82601f83011261038e5761038d61026b565b5b813561039e848260208601610339565b91505092915050565b5f602082840312156103bc576103bb610263565b5b5f82013567ffffffffffffffff8111156103d9576103d8610267565b5b6103e58482850161037a565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f610420826103ee565b61042a81856103f8565b935061043a818560208601610408565b61044381610273565b840191505092915050565b5f6020820190508181035f8301526104668184610416565b905092915050565b61047781610225565b8114610481575f5ffd5b50565b5f813590506104928161046e565b92915050565b5f602082840312156104ad576104ac610263565b5b5f6104ba84828501610484565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061050757607f821691505b60208210810361051a576105196104c3565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f6008830261057c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610541565b6105868683610541565b95508019841693508086168417925050509392505050565b5f819050919050565b5f6105c16105bc6105b7846101f4565b61059e565b6101f4565b9050919050565b5f819050919050565b6105da836105a7565b6105ee6105e6826105c8565b84845461054d565b825550505050565b5f5f905090565b6106056105f6565b6106108184846105d1565b505050565b5b81811015610633576106285f826105fd565b600181019050610616565b5050565b601f8211156106785761064981610520565b61065284610532565b81016020851015610661578190505b61067561066d85610532565b830182610615565b50505b505050565b5f82821c905092915050565b5f6106985f198460080261067d565b1980831691505092915050565b5f6106b08383610689565b9150826002028217905092915050565b6106c9826103ee565b67ffffffffffffffff8111156106e2576106e1610283565b5b6106ec82546104f0565b6106f7828285610637565b5f60209050601f831160018114610728575f8415610716578287015190505b61072085826106a5565b865550610787565b601f19841661073686610520565b5f5b8281101561075d57848901518255600182019150602085019450602081019050610738565b8683101561077a5784890151610776601f891682610689565b8355505b6001600288020188555050505b50505050505056fea2646970667358221220fa6ed038779cdfa0aeff9b0d3209da641a7f0c7d205710784712bf0f161eb68064736f6c634300081c0033