//
0x608060405234801561001057600080fd5b50610a02806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063683d1e981461003b578063ea977fc814610057575b600080fd5b61005560048036038101906100509190610679565b61008b565b005b610071600480360381019061006c9190610792565b610192565b604051610082959493929190610872565b60405180910390f35b6040518060a00160405280868152602001858152602001848152602001838152602001828152506000876040516100c2919061091d565b908152602001604051809103902060008201518160000190805190602001906100ec929190610446565b50602082015181600101556040820151816002019080519060200190610113929190610446565b506060820151816003019080519060200190610130929190610446565b50608082015181600401908051906020019061014d929190610446565b509050507fe731252065458a9665f0f7c97690db6520ce9702aa72154b112018b8b90a8ce98686604051610182929190610934565b60405180910390a1505050505050565b606060006060806060600080876040516101ac919061091d565b90815260200160405180910390206040518060a00160405290816000820180546101d59061099a565b80601f01602080910402602001604051908101604052809291908181526020018280546102019061099a565b801561024e5780601f106102235761010080835404028352916020019161024e565b820191906000526020600020905b81548152906001019060200180831161023157829003601f168201915b50505050508152602001600182015481526020016002820180546102719061099a565b80601f016020809104026020016040519081016040528092919081815260200182805461029d9061099a565b80156102ea5780601f106102bf576101008083540402835291602001916102ea565b820191906000526020600020905b8154815290600101906020018083116102cd57829003601f168201915b505050505081526020016003820180546103039061099a565b80601f016020809104026020016040519081016040528092919081815260200182805461032f9061099a565b801561037c5780601f106103515761010080835404028352916020019161037c565b820191906000526020600020905b81548152906001019060200180831161035f57829003601f168201915b505050505081526020016004820180546103959061099a565b80601f01602080910402602001604051908101604052809291908181526020018280546103c19061099a565b801561040e5780601f106103e35761010080835404028352916020019161040e565b820191906000526020600020905b8154815290600101906020018083116103f157829003601f168201915b505050505081525050905080600001518160200151826040015183606001518460800151955095509550955095505091939590929450565b8280546104529061099a565b90600052602060002090601f01602090048101928261047457600085556104bb565b82601f1061048d57805160ff19168380011785556104bb565b828001600101855582156104bb579182015b828111156104ba57825182559160200191906001019061049f565b5b5090506104c891906104cc565b5090565b5b808211156104e55760008160009055506001016104cd565b5090565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61055082610507565b810181811067ffffffffffffffff8211171561056f5761056e610518565b5b80604052505050565b60006105826104e9565b905061058e8282610547565b919050565b600067ffffffffffffffff8211156105ae576105ad610518565b5b6105b782610507565b9050602081019050919050565b82818337600083830152505050565b60006105e66105e184610593565b610578565b90508281526020810184848401111561060257610601610502565b5b61060d8482856105c4565b509392505050565b600082601f83011261062a576106296104fd565b5b813561063a8482602086016105d3565b91505092915050565b6000819050919050565b61065681610643565b811461066157600080fd5b50565b6000813590506106738161064d565b92915050565b60008060008060008060c08789031215610696576106956104f3565b5b600087013567ffffffffffffffff8111156106b4576106b36104f8565b5b6106c089828a01610615565b965050602087013567ffffffffffffffff8111156106e1576106e06104f8565b5b6106ed89828a01610615565b95505060406106fe89828a01610664565b945050606087013567ffffffffffffffff81111561071f5761071e6104f8565b5b61072b89828a01610615565b935050608087013567ffffffffffffffff81111561074c5761074b6104f8565b5b61075889828a01610615565b92505060a087013567ffffffffffffffff811115610779576107786104f8565b5b61078589828a01610615565b9150509295509295509295565b6000602082840312156107a8576107a76104f3565b5b600082013567ffffffffffffffff8111156107c6576107c56104f8565b5b6107d284828501610615565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156108155780820151818401526020810190506107fa565b83811115610824576000848401525b50505050565b6000610835826107db565b61083f81856107e6565b935061084f8185602086016107f7565b61085881610507565b840191505092915050565b61086c81610643565b82525050565b600060a082019050818103600083015261088c818861082a565b905061089b6020830187610863565b81810360408301526108ad818661082a565b905081810360608301526108c1818561082a565b905081810360808301526108d5818461082a565b90509695505050505050565b600081905092915050565b60006108f7826107db565b61090181856108e1565b93506109118185602086016107f7565b80840191505092915050565b600061092982846108ec565b915081905092915050565b6000604082019050818103600083015261094e818561082a565b90508181036020830152610962818461082a565b90509392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806109b257607f821691505b602082108114156109c6576109c561096b565b5b5091905056fea264697066735822122032e84e240637f6f719908e5bfbbbd371d217e2d4e058e1be0b064f6feb99401164736f6c63430008090033