0x608060405234801561001057600080fd5b506108c7806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063693ec85e1461003b578063da465d741461006c575b600080fd5b610055600480360381019061005091906103b0565b610088565b604051610063929190610478565b60405180910390f35b610086600480360381019061008191906104af565b6101ef565b005b6060806000808460405161009c9190610592565b90815260200160405180910390206040518060400160405290816000820180546100c5906105d8565b80601f01602080910402602001604051908101604052809291908181526020018280546100f1906105d8565b801561013e5780601f106101135761010080835404028352916020019161013e565b820191906000526020600020905b81548152906001019060200180831161012157829003601f168201915b50505050508152602001600182018054610157906105d8565b80601f0160208091040260200160405190810160405280929190818152602001828054610183906105d8565b80156101d05780601f106101a5576101008083540402835291602001916101d0565b820191906000526020600020905b8154815290600101906020018083116101b357829003601f168201915b5050505050815250509050806000015181602001519250925050915091565b6040518060400160405280838152602001828152506000846040516102149190610592565b9081526020016040518091039020600082015181600001908161023791906107bf565b50602082015181600101908161024d91906107bf565b50905050505050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6102bd82610274565b810181811067ffffffffffffffff821117156102dc576102db610285565b5b80604052505050565b60006102ef610256565b90506102fb82826102b4565b919050565b600067ffffffffffffffff82111561031b5761031a610285565b5b61032482610274565b9050602081019050919050565b82818337600083830152505050565b600061035361034e84610300565b6102e5565b90508281526020810184848401111561036f5761036e61026f565b5b61037a848285610331565b509392505050565b600082601f8301126103975761039661026a565b5b81356103a7848260208601610340565b91505092915050565b6000602082840312156103c6576103c5610260565b5b600082013567ffffffffffffffff8111156103e4576103e3610265565b5b6103f084828501610382565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610433578082015181840152602081019050610418565b60008484015250505050565b600061044a826103f9565b6104548185610404565b9350610464818560208601610415565b61046d81610274565b840191505092915050565b60006040820190508181036000830152610492818561043f565b905081810360208301526104a6818461043f565b90509392505050565b6000806000606084860312156104c8576104c7610260565b5b600084013567ffffffffffffffff8111156104e6576104e5610265565b5b6104f286828701610382565b935050602084013567ffffffffffffffff81111561051357610512610265565b5b61051f86828701610382565b925050604084013567ffffffffffffffff8111156105405761053f610265565b5b61054c86828701610382565b9150509250925092565b600081905092915050565b600061056c826103f9565b6105768185610556565b9350610586818560208601610415565b80840191505092915050565b600061059e8284610561565b915081905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806105f057607f821691505b602082108103610603576106026105a9565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830261066b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8261062e565b610675868361062e565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b60006106bc6106b76106b28461068d565b610697565b61068d565b9050919050565b6000819050919050565b6106d6836106a1565b6106ea6106e2826106c3565b84845461063b565b825550505050565b600090565b6106ff6106f2565b61070a8184846106cd565b505050565b5b8181101561072e576107236000826106f7565b600181019050610710565b5050565b601f8211156107735761074481610609565b61074d8461061e565b8101602085101561075c578190505b6107706107688561061e565b83018261070f565b50505b505050565b600082821c905092915050565b600061079660001984600802610778565b1980831691505092915050565b60006107af8383610785565b9150826002028217905092915050565b6107c8826103f9565b67ffffffffffffffff8111156107e1576107e0610285565b5b6107eb82546105d8565b6107f6828285610732565b600060209050601f8311600181146108295760008415610817578287015190505b61082185826107a3565b865550610889565b601f19841661083786610609565b60005b8281101561085f5784890151825560018201915060208501945060208101905061083a565b8683101561087c5784890151610878601f891682610785565b8355505b6001600288020188555050505b50505050505056fea264697066735822122060ebf08742c335f3455d0c3a1ecff0ed7cd5604580dd186f022ee5c47937ecd964736f6c63430008130033