0x6080604052348015600e575f5ffd5b506106df8061001c5f395ff3fe608060405260043610610037575f3560e01c80639c5307ae14610042578063a1f5b60514610058578063b5a2f16d146100745761003e565b3661003e57005b5f5ffd5b34801561004d575f5ffd5b5061005661009c565b005b610072600480360381019061006d91906103bf565b61009e565b005b34801561007f575f5ffd5b5061009a60048036038101906100959190610458565b61020c565b005b565b5f3a0361015f575f3373ffffffffffffffffffffffffffffffffffffffff166001346100ca91906104e9565b6040516100d690610549565b5f6040518083038185875af1925050503d805f8114610110576040519150601f19603f3d011682016040523d82523d5f602084013e610115565b606091505b5050905080610159576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610150906105b7565b60405180910390fd5b50610209565b5f8173ffffffffffffffffffffffffffffffffffffffff163460405161018490610549565b5f6040518083038185875af1925050503d805f81146101be576040519150601f19603f3d011682016040523d82523d5f602084013e6101c3565b606091505b5050905080610207576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101fe9061061f565b60405180910390fd5b505b50565b5f83905061023d8583858473ffffffffffffffffffffffffffffffffffffffff16610244909392919063ffffffff16565b5050505050565b6102c0848573ffffffffffffffffffffffffffffffffffffffff166323b872dd8686866040516024016102799392919061065b565b604051602081830303815290604052915060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506102c6565b50505050565b5f5f60205f8451602086015f885af1806102e5576040513d5f823e3d81fd5b3d92505f519150505f82146102fe576001811415610319565b5f8473ffffffffffffffffffffffffffffffffffffffff163b145b1561035b57836040517f5274afe70000000000000000000000000000000000000000000000000000000081526004016103529190610690565b60405180910390fd5b50505050565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61038e82610365565b9050919050565b61039e81610384565b81146103a8575f5ffd5b50565b5f813590506103b981610395565b92915050565b5f602082840312156103d4576103d3610361565b5b5f6103e1848285016103ab565b91505092915050565b5f6103f482610365565b9050919050565b610404816103ea565b811461040e575f5ffd5b50565b5f8135905061041f816103fb565b92915050565b5f819050919050565b61043781610425565b8114610441575f5ffd5b50565b5f813590506104528161042e565b92915050565b5f5f5f5f608085870312156104705761046f610361565b5b5f61047d87828801610411565b945050602061048e87828801610411565b935050604061049f87828801610444565b92505060606104b087828801610411565b91505092959194509250565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6104f382610425565b91506104fe83610425565b9250828201905080821115610516576105156104bc565b5b92915050565b5f81905092915050565b50565b5f6105345f8361051c565b915061053f82610526565b5f82019050919050565b5f61055382610529565b9150819050919050565b5f82825260208201905092915050565b7f526566756e64206661696c6564000000000000000000000000000000000000005f82015250565b5f6105a1600d8361055d565b91506105ac8261056d565b602082019050919050565b5f6020820190508181035f8301526105ce81610595565b9050919050565b7f5472616e73666572206661696c656400000000000000000000000000000000005f82015250565b5f610609600f8361055d565b9150610614826105d5565b602082019050919050565b5f6020820190508181035f830152610636816105fd565b9050919050565b610646816103ea565b82525050565b61065581610425565b82525050565b5f60608201905061066e5f83018661063d565b61067b602083018561063d565b610688604083018461064c565b949350505050565b5f6020820190506106a35f83018461063d565b9291505056fea2646970667358221220a0a07c216b5c344e9cb7ec7f4d2b834a127f6246753fe84b16eff29c3057797764736f6c634300081c0033