0x60a0604052348015600e575f5ffd5b50604051610d40380380610d40833981016040819052602b91603b565b6001600160a01b03166080526066565b5f60208284031215604a575f5ffd5b81516001600160a01b0381168114605f575f5ffd5b9392505050565b608051610cc361007d5f395f60950152610cc35ff3fe608060405234801561000f575f5ffd5b5060043610610034575f3560e01c8063534eaf0f14610038578063995d61aa1461005d575b5f5ffd5b61004b610046366004610a9b565b610070565b60405190815260200160405180910390f35b61004b61006b366004610a9b565b610088565b5f61007f858585856001610092565b95945050505050565b5f61007f858585855f5b5f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16631647292a8773ffffffffffffffffffffffffffffffffffffffff1663b29c62f46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610118573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061013c9190610ae9565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815273ffffffffffffffffffffffffffffffffffffffff91821660048201529089166024820152604401602060405180830381865afa1580156101ab573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101cf9190610b0b565b610205576040517f715756a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8673ffffffffffffffffffffffffffffffffffffffff1663e5a70ef76040518163ffffffff1660e01b8152600401602060405180830381865afa15801561024f573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102739190610b2a565b90505f8773ffffffffffffffffffffffffffffffffffffffff1663a1512a2b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156102bf573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102e39190610ae9565b90505f8873ffffffffffffffffffffffffffffffffffffffff16639bec62c96040518163ffffffff1660e01b8152600401602060405180830381865afa15801561032f573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103539190610ae9565b90505f5f8a73ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156103a0573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103c49190610b63565b509150915086156103ef57670de0b6b3a76400006103e2868a610bdc565b6103ec9190610bf9565b97505b5f5f8c73ffffffffffffffffffffffffffffffffffffffff1663c509b6a26040518163ffffffff1660e01b8152600401602060405180830381865afa15801561043a573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061045e9190610ae9565b90505f8d73ffffffffffffffffffffffffffffffffffffffff16637cd5f3f96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104aa573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104ce9190610ae9565b90508173ffffffffffffffffffffffffffffffffffffffff168d73ffffffffffffffffffffffffffffffffffffffff1614801561053657508073ffffffffffffffffffffffffffffffffffffffff168c73ffffffffffffffffffffffffffffffffffffffff16145b1561054457600192506105e9565b8073ffffffffffffffffffffffffffffffffffffffff168d73ffffffffffffffffffffffffffffffffffffffff161480156105aa57508173ffffffffffffffffffffffffffffffffffffffff168c73ffffffffffffffffffffffffffffffffffffffff16145b156105b7575f92506105e9565b6040517f4617192b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50505f6105fa8d85858d8d87610861565b9050881561070f578161060d578361060f565b825b6dffffffffffffffffffffffffffff16811115610658576040517f945e926800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b816106635785610665565b845b73ffffffffffffffffffffffffffffffffffffffff1663961be3916040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106ad573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106d19190610b2a565b81111561070a576040517ff630766b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610817565b8161071a578361071c565b825b6dffffffffffffffffffffffffffff168a1115610765576040517f945e926800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b816107705785610772565b845b73ffffffffffffffffffffffffffffffffffffffff1663961be3916040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107ba573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107de9190610b2a565b8a1115610817576040517ff630766b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b886108515786610828600182610c31565b61083a83670de0b6b3a7640000610bdc565b6108449190610c44565b61084e9190610bf9565b90505b9c9b505050505050505050505050565b5f5f5f841561087f578315610878578591506108a1565b50846108a1565b83156108955761088e86610c57565b90506108a1565b61089e86610c57565b91505b6dffffffffffffffffffffffffffff8089168301908881168301905f905b80821015610a1a57600281830104851561096c576040517f41161b10000000000000000000000000000000000000000000000000000000008152600481018290526024810185905273ffffffffffffffffffffffffffffffffffffffff8f16906341161b1090604401602060405180830381865afa158015610943573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109679190610b0b565b610a00565b6040517f41161b10000000000000000000000000000000000000000000000000000000008152600481018690526024810182905273ffffffffffffffffffffffffffffffffffffffff8f16906341161b1090604401602060405180830381865afa1580156109dc573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a009190610b0b565b15610a0d57809150610a14565b8060010192505b506108bf565b8515610a2a578282039450610a30565b83820395505b505050508415610a59578315610a5057610a4981610c57565b9250610a6b565b610a4982610c57565b8315610a6757819250610a6b565b8092505b50509695505050505050565b73ffffffffffffffffffffffffffffffffffffffff81168114610a98575f5ffd5b50565b5f5f5f5f60808587031215610aae575f5ffd5b8435610ab981610a77565b93506020850135610ac981610a77565b92506040850135610ad981610a77565b9396929550929360600135925050565b5f60208284031215610af9575f5ffd5b8151610b0481610a77565b9392505050565b5f60208284031215610b1b575f5ffd5b81518015158114610b04575f5ffd5b5f60208284031215610b3a575f5ffd5b5051919050565b80516dffffffffffffffffffffffffffff81168114610b5e575f5ffd5b919050565b5f5f5f60608486031215610b75575f5ffd5b610b7e84610b41565b9250610b8c60208501610b41565b9150604084015163ffffffff81168114610ba4575f5ffd5b809150509250925092565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b8082028115828204841417610bf357610bf3610baf565b92915050565b5f82610c2c577f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b500490565b81810381811115610bf357610bf3610baf565b80820180821115610bf357610bf3610baf565b5f7f80000000000000000000000000000000000000000000000000000000000000008203610c8757610c87610baf565b505f039056fea26469706673582212203005dc0dd92fef01efd299f9f112ec1e46b31bfeae06975c9151040798d9911864736f6c634300081b00330000000000000000000000000c9a3dd6b8f28529d72d7f9ce918d493519ee383