def check_exclusion_list(exclusion_str, sequences, behaviors_separator=''):
    """
    check the transition exclusion strings
    format must be like:
    a:bc
    or
    a:b|c

    Args:
        exclusion_str (str): exclusion strings (format must be a:bc or a:b|c
        sequences (list): list of sequences
        behaviors_separator (str): string to be used to split sequences in behaviors

    Returns:
        dict: keys: "error_code": 0 or 1
                    "exclusion_list": {"a": ["b", "c"]}
    """
    exclusion_list = {}
    if exclusion_str:
        rows = exclusion_str.split('\n')
        for row in rows:
            if row.strip() and ':' in row:
                s1, s2 = row.strip().split(':')
                if s1 and s2:
                    if s1 not in exclusion_list:
                        exclusion_list[s1] = []
                    if behaviors_separator and behaviors_separator in s2:
                        exclusion_list[s1] += s2.split(behaviors_separator)
                    else:
                        exclusion_list[s1] += list(s2)
        for seq in sequences:
            for i in range(len(seq) - 1):
                if seq[i] in exclusion_list and seq[i + 1] in exclusion_list[
                    seq[i]]:
                    return {'error_code': 1, 'message':
                        f'The behavioral strings contain an excluded transition: {seq[i]} -> {seq[i + 1]}'
                        , 'exclusion_list': {}}
    return {'error_code': 0, 'exclusion_list': exclusion_list}
