Evaluates rules held in the rule set.

    Args:
      client_obj: Either an aff4 client object or a client_info dict as returned
        by ReadFullInfoClient if the relational db is used for reading.

    Returns:
      A bool value of the evaluation.

    Raises:
      ValueError: The match mode is of unknown value.

def Evaluate(self, client_obj):
    """Evaluates rules held in the rule set.

    Args:
      client_obj: Either an aff4 client object or a client_info dict as returned
        by ReadFullInfoClient if the relational db is used for reading.

    Returns:
      A bool value of the evaluation.

    Raises:
      ValueError: The match mode is of unknown value.
    """
    if self.match_mode == ForemanClientRuleSet.MatchMode.MATCH_ALL:
      quantifier = all
    elif self.match_mode == ForemanClientRuleSet.MatchMode.MATCH_ANY:
      quantifier = any
    else:
      raise ValueError("Unexpected match mode value: %s" % self.match_mode)

    return quantifier(rule.Evaluate(client_obj) for rule in self.rules)