0x6080604052348015600e575f80fd5b50610bd08061001c5f395ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c80636f0e530f14610038578063ebfbcb5c14610056575b5f80fd5b610040610072565b60405161004d919061059b565b60405180910390f35b610070600480360381019061006b91906106cc565b610096565b005b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81565b8383905087879050146100de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016100d5906107dd565b60405180910390fd5b5f5b878790508110156102b7575f8888838181106100ff576100fe6107fb565b5b90506020020160208101906101149190610828565b90505f808473ffffffffffffffffffffffffffffffffffffffff16836040516024016101409190610862565b6040516020818303038152906040527f70a08231000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516101ca91906108cd565b5f604051808303815f865af19150503d805f8114610203576040519150601f19603f3d011682016040523d82523d5f602084013e610208565b606091505b50915091508161024d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102449061092d565b60405180910390fd5b5f818060200190518101906102629190610975565b90505f810361027457505050506102aa565b610299878530848d8d8b81811061028e5761028d6107fb565b5b9050606002016102c1565b6102a586858c84610443565b505050505b80806001019150506100e0565b5050505050505050565b5f8573ffffffffffffffffffffffffffffffffffffffff168585857fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff865f01602081019061030f91906109d6565b8760200135886040013560405160240161032f9796959493929190610a28565b6040516020818303038152906040527fd505accf000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516103b991906108cd565b5f604051808303815f865af19150503d805f81146103f2576040519150601f19603f3d011682016040523d82523d5f602084013e6103f7565b606091505b505090508061043b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043290610adf565b60405180910390fd5b505050505050565b5f8473ffffffffffffffffffffffffffffffffffffffff1684848460405160240161047093929190610afd565b6040516020818303038152906040527f23b872dd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516104fa91906108cd565b5f604051808303815f865af19150503d805f8114610533576040519150601f19603f3d011682016040523d82523d5f602084013e610538565b606091505b505090508061057c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161057390610b7c565b60405180910390fd5b5050505050565b5f819050919050565b61059581610583565b82525050565b5f6020820190506105ae5f83018461058c565b92915050565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f8083601f8401126105dd576105dc6105bc565b5b8235905067ffffffffffffffff8111156105fa576105f96105c0565b5b602083019150836020820283011115610616576106156105c4565b5b9250929050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6106468261061d565b9050919050565b6106568161063c565b8114610660575f80fd5b50565b5f813590506106718161064d565b92915050565b5f8083601f84011261068c5761068b6105bc565b5b8235905067ffffffffffffffff8111156106a9576106a86105c0565b5b6020830191508360608202830111156106c5576106c46105c4565b5b9250929050565b5f805f805f805f60a0888a0312156106e7576106e66105b4565b5b5f88013567ffffffffffffffff811115610704576107036105b8565b5b6107108a828b016105c8565b975097505060206107238a828b01610663565b955050604088013567ffffffffffffffff811115610744576107436105b8565b5b6107508a828b01610677565b945094505060606107638a828b01610663565b92505060806107748a828b01610663565b91505092959891949750929550565b5f82825260208201905092915050565b7f4c656e677468206d69736d6174636800000000000000000000000000000000005f82015250565b5f6107c7600f83610783565b91506107d282610793565b602082019050919050565b5f6020820190508181035f8301526107f4816107bb565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f6020828403121561083d5761083c6105b4565b5b5f61084a84828501610663565b91505092915050565b61085c8161063c565b82525050565b5f6020820190506108755f830184610853565b92915050565b5f81519050919050565b5f81905092915050565b8281835e5f83830152505050565b5f6108a78261087b565b6108b18185610885565b93506108c181856020860161088f565b80840191505092915050565b5f6108d8828461089d565b915081905092915050565b7f4661696c656420746f206765742062616c616e636500000000000000000000005f82015250565b5f610917601583610783565b9150610922826108e3565b602082019050919050565b5f6020820190508181035f8301526109448161090b565b9050919050565b61095481610583565b811461095e575f80fd5b50565b5f8151905061096f8161094b565b92915050565b5f6020828403121561098a576109896105b4565b5b5f61099784828501610961565b91505092915050565b5f60ff82169050919050565b6109b5816109a0565b81146109bf575f80fd5b50565b5f813590506109d0816109ac565b92915050565b5f602082840312156109eb576109ea6105b4565b5b5f6109f8848285016109c2565b91505092915050565b610a0a816109a0565b82525050565b5f819050919050565b610a2281610a10565b82525050565b5f60e082019050610a3b5f83018a610853565b610a486020830189610853565b610a55604083018861058c565b610a62606083018761058c565b610a6f6080830186610a01565b610a7c60a0830185610a19565b610a8960c0830184610a19565b98975050505050505050565b7f5065726d69742063616c6c206661696c656400000000000000000000000000005f82015250565b5f610ac9601283610783565b9150610ad482610a95565b602082019050919050565b5f6020820190508181035f830152610af681610abd565b9050919050565b5f606082019050610b105f830186610853565b610b1d6020830185610853565b610b2a604083018461058c565b949350505050565b7f5472616e7366657246726f6d2063616c6c206661696c656400000000000000005f82015250565b5f610b66601883610783565b9150610b7182610b32565b602082019050919050565b5f6020820190508181035f830152610b9381610b5a565b905091905056fea2646970667358221220b68cde418f1ae5c110e3c85b493582efd10b275accabeaf23aff708eb2b6bc8c64736f6c634300081a0033