0x608060405234801561001057600080fd5b50604051610550380380610550833981810160405281019061003291906101c7565b807fc5f16f0fcc639fa48a6947836d9850f504798523bf8c9a3a87d5876cf622bcf7556000808273ffffffffffffffffffffffffffffffffffffffff168460405161007d91906102b0565b600060405180830381855af49150503d80600081146100b8576040519150601f19603f3d011682016040523d82523d6000602084013e6100bd565b606091505b50915091507fff74bf4c47d4a45a317bb18279180e81da1db9eb68ff10086facb43d865dc9fe816040516100f191906102c7565b60405180910390a181610139576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610130906102e9565b60405180910390fd5b505050506104c1565b60006101556101508461032e565b610309565b90508281526020810184848401111561017157610170610461565b5b61017c8482856103c9565b509392505050565b600081519050610193816104aa565b92915050565b600082601f8301126101ae576101ad61045c565b5b81516101be848260208601610142565b91505092915050565b600080604083850312156101de576101dd61046b565b5b600083015167ffffffffffffffff8111156101fc576101fb610466565b5b61020885828601610199565b925050602061021985828601610184565b9150509250929050565b600061022e8261035f565b610238818561036a565b93506102488185602086016103c9565b61025181610470565b840191505092915050565b60006102678261035f565b610271818561037b565b93506102818185602086016103c9565b80840191505092915050565b600061029a601383610386565b91506102a582610481565b602082019050919050565b60006102bc828461025c565b915081905092915050565b600060208201905081810360008301526102e18184610223565b905092915050565b600060208201905081810360008301526103028161028d565b9050919050565b6000610313610324565b905061031f82826103fc565b919050565b6000604051905090565b600067ffffffffffffffff8211156103495761034861042d565b5b61035282610470565b9050602081019050919050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b60006103a2826103a9565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60005b838110156103e75780820151818401526020810190506103cc565b838111156103f6576000848401525b50505050565b61040582610470565b810181811067ffffffffffffffff821117156104245761042361042d565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f436f6e737472756374696f6e206661696c656400000000000000000000000000600082015250565b6104b381610397565b81146104be57600080fd5b50565b6081806104cf6000396000f3fe60806040527fc5f16f0fcc639fa48a6947836d9850f504798523bf8c9a3a87d5876cf622bcf7543660008037600080366000845af43d6000803e80600081146046573d6000f35b3d6000fdfea26469706673582212200f63e404f518e8e00de196a8cc95ee5c1d104b85d0af96ae4f73e70ef7bc508d64736f6c634300080700330000000000000000000000000000000000000000000000000000000000000040000000000000000000000000e4c88081c27fcbc1c8dcde4d74b76dc5dc97d92b00000000000000000000000000000000000000000000000000000000000000242593626c0000000000000000000000002953431c56ff79b6905ae1b3e50b7c37df82a73c00000000000000000000000000000000000000000000000000000000