def extract_private_recipients(s: str) -> Union[(List[str], List[int])]:
    try:
        data = ujson.loads(s)
    except (ValueError, TypeError):
        data = s
    if isinstance(data, str):
        data = data.split(',')
    if (not isinstance(data, list)):
        raise JsonableError(_('Invalid data type for recipients'))
    if (not data):
        return data
    if isinstance(data[0], str):
        return get_validated_emails(data)
    if (not isinstance(data[0], int)):
        raise JsonableError(_('Invalid data type for recipients'))
    return get_validated_user_ids(data)
def extract_private_recipients(s: str) -> Union[(List[str], List[int])]:
    try:
        data = ujson.loads(s)
    except (ValueError, TypeError):
        data = s
    if isinstance(data, str):
        data = data.split(',')
    if (not isinstance(data, list)):
        raise JsonableError(_('Invalid data type for recipients'))
    if (not data):
        return data
    if isinstance(data[0], str):
        return get_validated_emails(data)
    if (not isinstance(data[0], int)):
        raise JsonableError(_('Invalid data type for recipients'))
    return get_validated_user_ids(data)