Loading
60806040526000600360146101000a81548160ff02191690831515021790555034801561002b57600080fd5b5033600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506012600a0a631dcd6500026001819055506100aa73c889dfbdc9c1d0fc3e77e46c3b82a3903b2d919c61017e640100000000026401000000009004565b6012600a0a631dcd65000260008073c889dfbdc9c1d0fc3e77e46c3b82a3903b2d919c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555073c889dfbdc9c1d0fc3e77e46c3b82a3903b2d919c73ffffffffffffffffffffffffffffffffffffffff1660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6012600a0a631dcd6500026040518082815260200191505060405180910390a36102d6565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156101da57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561021657600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611eb6806102e56000396000f300608060405260043610610128576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde031461012d578063095ea7b3146101bd57806318160ddd1461022257806323b872dd1461024d5780632535f762146102d25780632ff2e9dc1461037d578063313ce567146103a85780633f4ba83a146103d35780634624321e146103ea5780635c975abb1461049557806366188463146104c457806370a08231146105295780637b5eb564146105805780637fcfb4221461062b5780638456cb59146106d65780638da5cb5b146106ed57806395d89b4114610744578063a9059cbb146107d4578063d73dd62314610839578063dd62ed3e1461089e578063ee532f3114610915578063f2fde38b146109e0575b600080fd5b34801561013957600080fd5b50610142610a23565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610182578082015181840152602081019050610167565b50505050905090810190601f1680156101af5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101c957600080fd5b50610208600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610a5c565b604051808215151515815260200191505060405180910390f35b34801561022e57600080fd5b50610237610a8c565b6040518082815260200191505060405180910390f35b34801561025957600080fd5b506102b8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610a96565b604051808215151515815260200191505060405180910390f35b3480156102de57600080fd5b50610363600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610ac8565b604051808215151515815260200191505060405180910390f35b34801561038957600080fd5b50610392610b79565b6040518082815260200191505060405180910390f35b3480156103b457600080fd5b506103bd610b87565b6040518082815260200191505060405180910390f35b3480156103df57600080fd5b506103e8610b8c565b005b3480156103f657600080fd5b5061047b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610c4c565b604051808215151515815260200191505060405180910390f35b3480156104a157600080fd5b506104aa610cfd565b604051808215151515815260200191505060405180910390f35b3480156104d057600080fd5b5061050f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d10565b604051808215151515815260200191505060405180910390f35b34801561053557600080fd5b5061056a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610d40565b6040518082815260200191505060405180910390f35b34801561058c57600080fd5b50610611600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610d88565b604051808215151515815260200191505060405180910390f35b34801561063757600080fd5b506106bc600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610e39565b604051808215151515815260200191505060405180910390f35b3480156106e257600080fd5b506106eb610eea565b005b3480156106f957600080fd5b50610702610fab565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561075057600080fd5b50610759610fd1565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561079957808201518184015260208101905061077e565b50505050905090810190601f1680156107c65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156107e057600080fd5b5061081f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061100a565b604051808215151515815260200191505060405180910390f35b34801561084557600080fd5b50610884600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061103a565b604051808215151515815260200191505060405180910390f35b3480156108aa57600080fd5b506108ff600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061106a565b6040518082815260200191505060405180910390f35b34801561092157600080fd5b506109c6600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506110f1565b604051808215151515815260200191505060405180910390f35b3480156109ec57600080fd5b50610a21600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506111a3565b005b6040805190810160405280600d81526020017f54726178696f6e20546f6b656e0000000000000000000000000000000000000081525081565b6000600360149054906101000a900460ff16151515610a7a57600080fd5b610a8483836112fb565b905092915050565b6000600154905090565b6000600360149054906101000a900460ff16151515610ab457600080fd5b610abf8484846113ed565b90509392505050565b60007f3ba9136826ac751de05d770d8d34fa4440ada49a5fb0e9aa1678aece66dad976826040518080602001828103825283818151815260200191508051906020019080838360005b83811015610b2c578082015181840152602081019050610b11565b50505050905090810190601f168015610b595780820380516001836020036101000a031916815260200191505b509250505060405180910390a1610b70848461100a565b90509392505050565b6012600a0a631dcd65000281565b601281565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610be857600080fd5b600360149054906101000a900460ff161515610c0357600080fd5b6000600360146101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b60007f34be2638c1c94dd792ddd3d3a0f7eeb882eab3b85b59080e13cac66a52c765b7826040518080602001828103825283818151815260200191508051906020019080838360005b83811015610cb0578082015181840152602081019050610c95565b50505050905090810190601f168015610cdd5780820380516001836020036101000a031916815260200191505b509250505060405180910390a1610cf48484610d10565b90509392505050565b600360149054906101000a900460ff1681565b6000600360149054906101000a900460ff16151515610d2e57600080fd5b610d3883836117a7565b905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60007f0c27ca77315ac56a5d63552e2f54e9229ef29dd99c144450fcc2bc1a21a524e0826040518080602001828103825283818151815260200191508051906020019080838360005b83811015610dec578082015181840152602081019050610dd1565b50505050905090810190601f168015610e195780820380516001836020036101000a031916815260200191505b509250505060405180910390a1610e308484610a5c565b90509392505050565b60007f70cfabb0c5cd644833fa28350bf23bc750622a542ec354846871617bced74184826040518080602001828103825283818151815260200191508051906020019080838360005b83811015610e9d578082015181840152602081019050610e82565b50505050905090810190601f168015610eca5780820380516001836020036101000a031916815260200191505b509250505060405180910390a1610ee1848461103a565b90509392505050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610f4657600080fd5b600360149054906101000a900460ff16151515610f6257600080fd5b6001600360146101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6040805190810160405280600381526020017f54584e000000000000000000000000000000000000000000000000000000000081525081565b6000600360149054906101000a900460ff1615151561102857600080fd5b6110328383611a38565b905092915050565b6000600360149054906101000a900460ff1615151561105857600080fd5b6110628383611c57565b905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60007e51f1098a95fd9b280c364564dcb6e8a3a7e76fa7e4385a360e61d6a51c17ed826040518080602001828103825283818151815260200191508051906020019080838360005b83811015611154578082015181840152602081019050611139565b50505050905090810190601f1680156111815780820380516001836020036101000a031916815260200191505b509250505060405180910390a1611199858585610a96565b9050949350505050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156111ff57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561123b57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561142a57600080fd5b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561147757600080fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561150257600080fd5b611553826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e5390919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506115e6826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e6c90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506116b782600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e5390919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050808311156118b8576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061194c565b6118cb8382611e5390919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515611a7557600080fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515611ac257600080fd5b611b13826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e5390919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611ba6826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e6c90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000611ce882600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e6c90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000828211151515611e6157fe5b818303905092915050565b6000808284019050838110151515611e8057fe5b80915050929150505600a165627a7a723058202805bdac1c69bdf0dfe360a158357172481510e17f83bfa838d58753350f8c0f0029