0x608060405234801561000f575f80fd5b505f3390505f805f8373ffffffffffffffffffffffffffffffffffffffff1663ea485fc76040518163ffffffff1660e01b8152600401606060405180830381865afa158015610060573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610084919061032f565b9250925092505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614610285575f8390505f8203610143578073ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610101919061038e565b602060405180830381865afa15801561011c573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061014091906103a7565b91505b5f83836040516024016101579291906103e1565b6040516020818303038152906040527fa9059cbb000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505090505f808673ffffffffffffffffffffffffffffffffffffffff16836040516101fd919061045a565b5f604051808303815f865af19150503d805f8114610236576040519150601f19603f3d011682016040523d82523d5f602084013e61023b565b606091505b509150915081610280576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610277906104ca565b60405180910390fd5b505050505b8173ffffffffffffffffffffffffffffffffffffffff16ff5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6102cb826102a2565b9050919050565b6102db816102c1565b81146102e5575f80fd5b50565b5f815190506102f6816102d2565b92915050565b5f819050919050565b61030e816102fc565b8114610318575f80fd5b50565b5f8151905061032981610305565b92915050565b5f805f606084860312156103465761034561029e565b5b5f610353868287016102e8565b9350506020610364868287016102e8565b92505060406103758682870161031b565b9150509250925092565b610388816102c1565b82525050565b5f6020820190506103a15f83018461037f565b92915050565b5f602082840312156103bc576103bb61029e565b5b5f6103c98482850161031b565b91505092915050565b6103db816102fc565b82525050565b5f6040820190506103f45f83018561037f565b61040160208301846103d2565b9392505050565b5f81519050919050565b5f81905092915050565b8281835e5f83830152505050565b5f61043482610408565b61043e8185610412565b935061044e81856020860161041c565b80840191505092915050565b5f610465828461042a565b915081905092915050565b5f82825260208201905092915050565b7f43616c6c206973206e6f742073756363657373000000000000000000000000005f82015250565b5f6104b4601383610470565b91506104bf82610480565b602082019050919050565b5f6020820190508181035f8301526104e1816104a8565b905091905056fe