"0x608060405234801561001057600080fd5b5060043610610048576000357c01000000000000000000000000000000000000000000000000000000009004806346c7dffc1461004d575b600080fd5b61008f6004803603602081101561006357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506100d1565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6000816040516100e0906102a0565b808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050604051809103906000f080158015610132573d6000803e3d6000fd5b5090508073ffffffffffffffffffffffffffffffffffffffff166365fae35e336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b1580156101d057600080fd5b505af11580156101e4573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff16639c52a7f1306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b15801561028357600080fd5b505af1158015610297573d6000803e3d6000fd5b50505050919050565b6112e9806102ae8339019056fe608060405234801561001057600080fd5b506040516020806112e98339810180604052602081101561003057600080fd5b810190808051906020019092919050505060016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506b033b2e3c9fd0803ce80000006003819055506b033b2e3c9fd0803ce8000000600481905550506111ed806100fc6000396000f3fe608060405234801561001057600080fd5b5060043610610112576000357c01000000000000000000000000000000000000000000000000000000009004806365fae35e116100b45780639f678cca116100835780639f678cca14610365578063bf353dbb1461036f578063c92aecc4146103c7578063e9b674b9146103e557610112565b806365fae35e1461026357806377dc5bde146102a757806378f19470146102df5780639c52a7f11461032157610112565b806336569e77116100f057806336569e771461019b578063487bf082146101e5578063626cb3c5146102035780636324f8fb1461022157610112565b806320aba08b1461011757806329ae8114146101455780632c69ed581461017d575b600080fd5b61011f61041d565b604051808265ffffffffffff1665ffffffffffff16815260200191505060405180910390f35b61017b6004803603604081101561015b57600080fd5b810190808035906020019092919080359060200190929190505050610435565b005b610185610573565b6040518082815260200191505060405180910390f35b6101a3610579565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6101ed61059f565b6040518082815260200191505060405180910390f35b61020b6105a5565b6040518082815260200191505060405180910390f35b61024d6004803603602081101561023757600080fd5b81019080803590602001909291905050506105ab565b6040518082815260200191505060405180910390f35b6102a56004803603602081101561027957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506105c3565b005b6102dd600480360360408110156102bd57600080fd5b810190808035906020019092919080359060200190929190505050610714565b005b61031f600480360360608110156102f557600080fd5b81019080803590602001909291908035906020019092919080359060200190929190505050610a01565b005b6103636004803603602081101561033757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610abb565b005b61036d610c0c565b005b6103b16004803603602081101561038557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e50565b6040518082815260200191505060405180910390f35b6103cf610e68565b6040518082815260200191505060405180910390f35b61041b600480360360408110156103fb57600080fd5b810190808035906020019092919080359060200190929190505050610e6e565b005b600760009054906101000a900465ffffffffffff1681565b60008060006004359250602435915034905081833373ffffffffffffffffffffffffffffffffffffffff166000357fffffffff00000000000000000000000000000000000000000000000000000000167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168460003660405180848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505094505050505060405180910390a460016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414151561053c57600080fd5b7f647372000000000000000000000000000000000000000000000000000000000085141561056c57836003819055505b5050505050565b60025481565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60035481565b60065481565b60016020528060005260406000206000915090505481565b60008060006004359250602435915034905081833373ffffffffffffffffffffffffffffffffffffffff166000357fffffffff00000000000000000000000000000000000000000000000000000000167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168460003660405180848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505094505050505060405180910390a460016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541415156106ca57600080fd5b60016000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050505050565b60008060006004359250602435915034905081833373ffffffffffffffffffffffffffffffffffffffff166000357fffffffff00000000000000000000000000000000000000000000000000000000167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168460003660405180848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505094505050505060405180910390a4336c01000000000000000000000000026bffffffffffffffffffffffff1916856bffffffffffffffffffffffff191614151561080957600080fd5b610826600160008781526020019081526020016000205485610fac565b600160008781526020019081526020016000208190555061084960025485610fac565b60028190555060008412151561092a57600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d0c80526866108a130610fe9565b6108ad60045489611011565b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808481526020018381526020018281526020019350505050600060405180830381600087803b15801561090d57600080fd5b505af1158015610921573d6000803e3d6000fd5b505050506109fa565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d0c8052661097130610fe9565b8761097e60045489611011565b6000036040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808481526020018381526020018281526020019350505050600060405180830381600087803b1580156109e157600080fd5b505af11580156109f5573d6000803e3d6000fd5b505050505b5050505050565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054141515610a4e57600080fd5b610a6b600160008581526020019081526020016000205482611047565b6001600085815260200190815260200160002081905550610a9f600160008481526020019081526020016000205482610fac565b6001600084815260200190815260200160002081905550505050565b60008060006004359250602435915034905081833373ffffffffffffffffffffffffffffffffffffffff166000357fffffffff00000000000000000000000000000000000000000000000000000000167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168460003660405180848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505094505050505060405180910390a460016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054141515610bc257600080fd5b60008060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050505050565b60008060006004359250602435915034905081833373ffffffffffffffffffffffffffffffffffffffff166000357fffffffff00000000000000000000000000000000000000000000000000000000167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168460003660405180848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505094505050505060405180910390a4600760009054906101000a900465ffffffffffff1665ffffffffffff164210151515610cf157600080fd5b6000610d40610d38610d30600354600760009054906101000a900465ffffffffffff1665ffffffffffff1642036b033b2e3c9fd0803ce8000000611084565b60045461114c565b600454611197565b9050610d4e60045482610fac565b60048190555042600760006101000a81548165ffffffffffff021916908365ffffffffffff160217905550600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663990a5f63600654610dc330610fe9565b610dcf60025486611011565b6000036040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808481526020018381526020018281526020019350505050600060405180830381600087803b158015610e3257600080fd5b505af1158015610e46573d6000803e3d6000fd5b5050505050505050565b60006020528060005260406000206000915090505481565b60045481565b60008060006004359250602435915034905081833373ffffffffffffffffffffffffffffffffffffffff166000357fffffffff00000000000000000000000000000000000000000000000000000000167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168460003660405180848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505094505050505060405180910390a460016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054141515610f7557600080fd5b7f766f770000000000000000000000000000000000000000000000000000000000851415610fa557836006819055505b5050505050565b600081830190506000821315610fcb578281111515610fca57600080fd5b5b6000821215610fe3578281101515610fe257600080fd5b5b92915050565b6000816c01000000000000000000000000026bffffffffffffffffffffffff19169050919050565b60008183029050600083121561102657600080fd5b600082141515611041578282820514151561104057600080fd5b5b92915050565b60008183039050600082121561106657828111151561106557600080fd5b5b600082131561107e57828110151561107d57600080fd5b5b92915050565b6000836000811461112c5760028406600081146110a3578592506110a7565b8392505b50600283046002850494505b841561112657858602868782041415156110cc57600080fd5b818101818110156110dc57600080fd5b8581049750600287061561111957878502858982041415891515161561110157600080fd5b8381018181101561111157600080fd5b878104965050505b50506002850494506110b3565b50611144565b836000811461113e5760009250611142565b8392505b505b509392505050565b60008183029050600082148061116c575082828281151561116957fe5b04145b151561117757600080fd5b6b033b2e3c9fd0803ce80000008181151561118e57fe5b04905092915050565b60008183039050600083121580156111b0575060008212155b15156111bb57600080fd5b9291505056fea165627a7a723058206e9628ca08303bbf3c91586e0c6e6f66022b4be50c853fe163d271ba8045f2420029a165627a7a723058208bab6efc5d5cb18fc4cd9e4357e7e9048edfa868ff5e9c53b19b747c3326e1a70029"