A hand evaluator for poker