0x6080604052348015600e575f80fd5b506108ad8061001c5f395ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c80636f0e530f14610038578063ebfbcb5c14610056575b5f80fd5b610040610072565b60405161004d9190610342565b60405180910390f35b610070600480360381019061006b91906104e9565b610096565b005b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81565b8383905087879050146100de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016100d5906105fa565b60405180910390fd5b5f5b87879050811015610320575f8888838181106100ff576100fe610618565b5b90506020020160208101906101149190610645565b90505f8373ffffffffffffffffffffffffffffffffffffffff166370a08231836040518263ffffffff1660e01b8152600401610150919061067f565b602060405180830381865afa15801561016b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061018f91906106c2565b90505f810361019f575050610313565b8473ffffffffffffffffffffffffffffffffffffffff1663d505accf83307fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff808c8c8a8181106101f2576101f1610618565b5b9050606002015f0160208101906102099190610723565b8d8d8b81811061021c5761021b610618565b5b905060600201602001358e8e8c81811061023957610238610618565b5b905060600201604001356040518863ffffffff1660e01b81526004016102659796959493929190610775565b5f604051808303815f87803b15801561027c575f80fd5b505af115801561028e573d5f803e3d5ffd5b505050508373ffffffffffffffffffffffffffffffffffffffff166323b872dd838a846040518463ffffffff1660e01b81526004016102cf939291906107e2565b6020604051808303815f875af11580156102eb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061030f919061084c565b5050505b80806001019150506100e0565b5050505050505050565b5f819050919050565b61033c8161032a565b82525050565b5f6020820190506103555f830184610333565b92915050565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f8083601f84011261038457610383610363565b5b8235905067ffffffffffffffff8111156103a1576103a0610367565b5b6020830191508360208202830111156103bd576103bc61036b565b5b9250929050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6103ed826103c4565b9050919050565b6103fd816103e3565b8114610407575f80fd5b50565b5f81359050610418816103f4565b92915050565b5f8083601f84011261043357610432610363565b5b8235905067ffffffffffffffff8111156104505761044f610367565b5b60208301915083606082028301111561046c5761046b61036b565b5b9250929050565b5f61047d826103e3565b9050919050565b61048d81610473565b8114610497575f80fd5b50565b5f813590506104a881610484565b92915050565b5f6104b8826103e3565b9050919050565b6104c8816104ae565b81146104d2575f80fd5b50565b5f813590506104e3816104bf565b92915050565b5f805f805f805f60a0888a0312156105045761050361035b565b5b5f88013567ffffffffffffffff8111156105215761052061035f565b5b61052d8a828b0161036f565b975097505060206105408a828b0161040a565b955050604088013567ffffffffffffffff8111156105615761056061035f565b5b61056d8a828b0161041e565b945094505060606105808a828b0161049a565b92505060806105918a828b016104d5565b91505092959891949750929550565b5f82825260208201905092915050565b7f4c656e677468206d69736d6174636800000000000000000000000000000000005f82015250565b5f6105e4600f836105a0565b91506105ef826105b0565b602082019050919050565b5f6020820190508181035f830152610611816105d8565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f6020828403121561065a5761065961035b565b5b5f6106678482850161040a565b91505092915050565b610679816103e3565b82525050565b5f6020820190506106925f830184610670565b92915050565b6106a18161032a565b81146106ab575f80fd5b50565b5f815190506106bc81610698565b92915050565b5f602082840312156106d7576106d661035b565b5b5f6106e4848285016106ae565b91505092915050565b5f60ff82169050919050565b610702816106ed565b811461070c575f80fd5b50565b5f8135905061071d816106f9565b92915050565b5f602082840312156107385761073761035b565b5b5f6107458482850161070f565b91505092915050565b610757816106ed565b82525050565b5f819050919050565b61076f8161075d565b82525050565b5f60e0820190506107885f83018a610670565b6107956020830189610670565b6107a26040830188610333565b6107af6060830187610333565b6107bc608083018661074e565b6107c960a0830185610766565b6107d660c0830184610766565b98975050505050505050565b5f6060820190506107f55f830186610670565b6108026020830185610670565b61080f6040830184610333565b949350505050565b5f8115159050919050565b61082b81610817565b8114610835575f80fd5b50565b5f8151905061084681610822565b92915050565b5f602082840312156108615761086061035b565b5b5f61086e84828501610838565b9150509291505056fea2646970667358221220c7994108be84daad5f6b0707917baabb914ec7de8b84abd8ad2211bd3effb08664736f6c634300081a0033