6080604052600660ff16600a61001591906100d1565b620f424061002391906101ef565b60005534801561003257600080fd5b50600054600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061028f565b6000808291508390505b60018511156100c8578086048111156100a4576100a3610253565b5b60018516156100b35780820291505b80810290506100c185610282565b9450610088565b94509492505050565b60006100dc82610249565b91506100e783610249565b92506101147fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461011c565b905092915050565b60008261012c57600190506101e8565b8161013a57600090506101e8565b8160018114610150576002811461015a57610189565b60019150506101e8565b60ff84111561016c5761016b610253565b5b8360020a91508482111561018357610182610253565b5b506101e8565b5060208310610133831016604e8410600b84101617156101be5782820a9050838111156101b9576101b8610253565b5b6101e8565b6101cb848484600161007e565b925090508184048111156101e2576101e1610253565b5b81810290505b9392505050565b60006101fa82610249565b915061020583610249565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561023e5761023d610253565b5b828202905092915050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6104888061029e6000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c806306fdde031461006757806318160ddd1461008557806327e235e3146100a3578063313ce567146100d357806395d89b41146100f1578063beabacc81461010f575b600080fd5b61006f61012b565b60405161007c9190610323565b60405180910390f35b61008d610164565b60405161009a9190610345565b60405180910390f35b6100bd60048036038101906100b89190610254565b61016a565b6040516100ca9190610345565b60405180910390f35b6100db610182565b6040516100e89190610360565b60405180910390f35b6100f9610187565b6040516101069190610323565b60405180910390f35b6101296004803603810190610124919061027d565b6101c0565b005b6040518060400160405280600681526020017f55d08544d0a2000000000000000000000000000000000000000000000000000081525081565b60005481565b60016020528060005260406000206000915090505481565b600681565b6040518060400160405280600681526020017f55d08544d0a2000000000000000000000000000000000000000000000000000081525081565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161021d9190610345565b60405180910390a3505050565b60008135905061023981610424565b92915050565b60008135905061024e8161043b565b92915050565b60006020828403121561026657600080fd5b60006102748482850161022a565b91505092915050565b60008060006060848603121561029257600080fd5b60006102a08682870161022a565b93505060206102b18682870161022a565b92505060406102c28682870161023f565b9150509250925092565b60006102d78261037b565b6102e18185610386565b93506102f18185602086016103e0565b6102fa81610413565b840191505092915050565b61030e816103c9565b82525050565b61031d816103d3565b82525050565b6000602082019050818103600083015261033d81846102cc565b905092915050565b600060208201905061035a6000830184610305565b92915050565b60006020820190506103756000830184610314565b92915050565b600081519050919050565b600082825260208201905092915050565b60006103a2826103a9565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b838110156103fe5780820151818401526020810190506103e3565b8381111561040d576000848401525b50505050565b6000601f19601f8301169050919050565b61042d81610397565b811461043857600080fd5b50565b610444816103c9565b811461044f57600080fd5b5056fea26469706673582212207bb7cad1c5c6e168ce1fc2990bbca7b9d1a70fe6f0253216ae8479ad5937b64d64736f6c63430008000033