_hypothesis() {
    local i cur prev opts cmd
    COMPREPLY=()
    if [[ "${BASH_VERSINFO[0]}" -ge 4 ]]; then
        cur="$2"
    else
        cur="${COMP_WORDS[COMP_CWORD]}"
    fi
    prev="$3"
    cmd=""
    opts=""

    for i in "${COMP_WORDS[@]:0:COMP_CWORD}"
    do
        case "${cmd},${i}" in
            ",$1")
                cmd="hypothesis"
                ;;
            hypothesis,annotations)
                cmd="hypothesis__subcmd__annotations"
                ;;
            hypothesis,complete)
                cmd="hypothesis__subcmd__complete"
                ;;
            hypothesis,groups)
                cmd="hypothesis__subcmd__groups"
                ;;
            hypothesis,help)
                cmd="hypothesis__subcmd__help"
                ;;
            hypothesis,profile)
                cmd="hypothesis__subcmd__profile"
                ;;
            hypothesis__subcmd__annotations,create)
                cmd="hypothesis__subcmd__annotations__subcmd__create"
                ;;
            hypothesis__subcmd__annotations,delete)
                cmd="hypothesis__subcmd__annotations__subcmd__delete"
                ;;
            hypothesis__subcmd__annotations,fetch)
                cmd="hypothesis__subcmd__annotations__subcmd__fetch"
                ;;
            hypothesis__subcmd__annotations,flag)
                cmd="hypothesis__subcmd__annotations__subcmd__flag"
                ;;
            hypothesis__subcmd__annotations,help)
                cmd="hypothesis__subcmd__annotations__subcmd__help"
                ;;
            hypothesis__subcmd__annotations,hide)
                cmd="hypothesis__subcmd__annotations__subcmd__hide"
                ;;
            hypothesis__subcmd__annotations,search)
                cmd="hypothesis__subcmd__annotations__subcmd__search"
                ;;
            hypothesis__subcmd__annotations,show)
                cmd="hypothesis__subcmd__annotations__subcmd__show"
                ;;
            hypothesis__subcmd__annotations,update)
                cmd="hypothesis__subcmd__annotations__subcmd__update"
                ;;
            hypothesis__subcmd__annotations__subcmd__help,create)
                cmd="hypothesis__subcmd__annotations__subcmd__help__subcmd__create"
                ;;
            hypothesis__subcmd__annotations__subcmd__help,delete)
                cmd="hypothesis__subcmd__annotations__subcmd__help__subcmd__delete"
                ;;
            hypothesis__subcmd__annotations__subcmd__help,fetch)
                cmd="hypothesis__subcmd__annotations__subcmd__help__subcmd__fetch"
                ;;
            hypothesis__subcmd__annotations__subcmd__help,flag)
                cmd="hypothesis__subcmd__annotations__subcmd__help__subcmd__flag"
                ;;
            hypothesis__subcmd__annotations__subcmd__help,help)
                cmd="hypothesis__subcmd__annotations__subcmd__help__subcmd__help"
                ;;
            hypothesis__subcmd__annotations__subcmd__help,hide)
                cmd="hypothesis__subcmd__annotations__subcmd__help__subcmd__hide"
                ;;
            hypothesis__subcmd__annotations__subcmd__help,search)
                cmd="hypothesis__subcmd__annotations__subcmd__help__subcmd__search"
                ;;
            hypothesis__subcmd__annotations__subcmd__help,show)
                cmd="hypothesis__subcmd__annotations__subcmd__help__subcmd__show"
                ;;
            hypothesis__subcmd__annotations__subcmd__help,update)
                cmd="hypothesis__subcmd__annotations__subcmd__help__subcmd__update"
                ;;
            hypothesis__subcmd__groups,create)
                cmd="hypothesis__subcmd__groups__subcmd__create"
                ;;
            hypothesis__subcmd__groups,fetch)
                cmd="hypothesis__subcmd__groups__subcmd__fetch"
                ;;
            hypothesis__subcmd__groups,help)
                cmd="hypothesis__subcmd__groups__subcmd__help"
                ;;
            hypothesis__subcmd__groups,leave)
                cmd="hypothesis__subcmd__groups__subcmd__leave"
                ;;
            hypothesis__subcmd__groups,list)
                cmd="hypothesis__subcmd__groups__subcmd__list"
                ;;
            hypothesis__subcmd__groups,members)
                cmd="hypothesis__subcmd__groups__subcmd__members"
                ;;
            hypothesis__subcmd__groups,update)
                cmd="hypothesis__subcmd__groups__subcmd__update"
                ;;
            hypothesis__subcmd__groups__subcmd__help,create)
                cmd="hypothesis__subcmd__groups__subcmd__help__subcmd__create"
                ;;
            hypothesis__subcmd__groups__subcmd__help,fetch)
                cmd="hypothesis__subcmd__groups__subcmd__help__subcmd__fetch"
                ;;
            hypothesis__subcmd__groups__subcmd__help,help)
                cmd="hypothesis__subcmd__groups__subcmd__help__subcmd__help"
                ;;
            hypothesis__subcmd__groups__subcmd__help,leave)
                cmd="hypothesis__subcmd__groups__subcmd__help__subcmd__leave"
                ;;
            hypothesis__subcmd__groups__subcmd__help,list)
                cmd="hypothesis__subcmd__groups__subcmd__help__subcmd__list"
                ;;
            hypothesis__subcmd__groups__subcmd__help,members)
                cmd="hypothesis__subcmd__groups__subcmd__help__subcmd__members"
                ;;
            hypothesis__subcmd__groups__subcmd__help,update)
                cmd="hypothesis__subcmd__groups__subcmd__help__subcmd__update"
                ;;
            hypothesis__subcmd__help,annotations)
                cmd="hypothesis__subcmd__help__subcmd__annotations"
                ;;
            hypothesis__subcmd__help,complete)
                cmd="hypothesis__subcmd__help__subcmd__complete"
                ;;
            hypothesis__subcmd__help,groups)
                cmd="hypothesis__subcmd__help__subcmd__groups"
                ;;
            hypothesis__subcmd__help,help)
                cmd="hypothesis__subcmd__help__subcmd__help"
                ;;
            hypothesis__subcmd__help,profile)
                cmd="hypothesis__subcmd__help__subcmd__profile"
                ;;
            hypothesis__subcmd__help__subcmd__annotations,create)
                cmd="hypothesis__subcmd__help__subcmd__annotations__subcmd__create"
                ;;
            hypothesis__subcmd__help__subcmd__annotations,delete)
                cmd="hypothesis__subcmd__help__subcmd__annotations__subcmd__delete"
                ;;
            hypothesis__subcmd__help__subcmd__annotations,fetch)
                cmd="hypothesis__subcmd__help__subcmd__annotations__subcmd__fetch"
                ;;
            hypothesis__subcmd__help__subcmd__annotations,flag)
                cmd="hypothesis__subcmd__help__subcmd__annotations__subcmd__flag"
                ;;
            hypothesis__subcmd__help__subcmd__annotations,hide)
                cmd="hypothesis__subcmd__help__subcmd__annotations__subcmd__hide"
                ;;
            hypothesis__subcmd__help__subcmd__annotations,search)
                cmd="hypothesis__subcmd__help__subcmd__annotations__subcmd__search"
                ;;
            hypothesis__subcmd__help__subcmd__annotations,show)
                cmd="hypothesis__subcmd__help__subcmd__annotations__subcmd__show"
                ;;
            hypothesis__subcmd__help__subcmd__annotations,update)
                cmd="hypothesis__subcmd__help__subcmd__annotations__subcmd__update"
                ;;
            hypothesis__subcmd__help__subcmd__groups,create)
                cmd="hypothesis__subcmd__help__subcmd__groups__subcmd__create"
                ;;
            hypothesis__subcmd__help__subcmd__groups,fetch)
                cmd="hypothesis__subcmd__help__subcmd__groups__subcmd__fetch"
                ;;
            hypothesis__subcmd__help__subcmd__groups,leave)
                cmd="hypothesis__subcmd__help__subcmd__groups__subcmd__leave"
                ;;
            hypothesis__subcmd__help__subcmd__groups,list)
                cmd="hypothesis__subcmd__help__subcmd__groups__subcmd__list"
                ;;
            hypothesis__subcmd__help__subcmd__groups,members)
                cmd="hypothesis__subcmd__help__subcmd__groups__subcmd__members"
                ;;
            hypothesis__subcmd__help__subcmd__groups,update)
                cmd="hypothesis__subcmd__help__subcmd__groups__subcmd__update"
                ;;
            hypothesis__subcmd__help__subcmd__profile,groups)
                cmd="hypothesis__subcmd__help__subcmd__profile__subcmd__groups"
                ;;
            hypothesis__subcmd__help__subcmd__profile,user)
                cmd="hypothesis__subcmd__help__subcmd__profile__subcmd__user"
                ;;
            hypothesis__subcmd__profile,groups)
                cmd="hypothesis__subcmd__profile__subcmd__groups"
                ;;
            hypothesis__subcmd__profile,help)
                cmd="hypothesis__subcmd__profile__subcmd__help"
                ;;
            hypothesis__subcmd__profile,user)
                cmd="hypothesis__subcmd__profile__subcmd__user"
                ;;
            hypothesis__subcmd__profile__subcmd__help,groups)
                cmd="hypothesis__subcmd__profile__subcmd__help__subcmd__groups"
                ;;
            hypothesis__subcmd__profile__subcmd__help,help)
                cmd="hypothesis__subcmd__profile__subcmd__help__subcmd__help"
                ;;
            hypothesis__subcmd__profile__subcmd__help,user)
                cmd="hypothesis__subcmd__profile__subcmd__help__subcmd__user"
                ;;
            *)
                ;;
        esac
    done

    case "${cmd}" in
        hypothesis)
            opts="-h --help annotations groups profile complete help"
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 1 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        hypothesis__subcmd__annotations)
            opts="-h --help create update search fetch delete flag hide show help"
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        hypothesis__subcmd__annotations__subcmd__create)
            opts="-o -h --text --tags --group --references --file --help"
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                --text)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --tags)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --group)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --references)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --file)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                -o)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        hypothesis__subcmd__annotations__subcmd__delete)
            opts="-h --help"
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        hypothesis__subcmd__annotations__subcmd__fetch)
            opts="-o -h --file --help"
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                --file)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                -o)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        hypothesis__subcmd__annotations__subcmd__flag)
            opts="-h --help"
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        hypothesis__subcmd__annotations__subcmd__help)
            opts="create update search fetch delete flag hide show help"
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        hypothesis__subcmd__annotations__subcmd__help__subcmd__create)
            opts=""
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        hypothesis__subcmd__annotations__subcmd__help__subcmd__delete)
            opts=""
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        hypothesis__subcmd__annotations__subcmd__help__subcmd__fetch)
            opts=""
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        hypothesis__subcmd__annotations__subcmd__help__subcmd__flag)
            opts=""
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        hypothesis__subcmd__annotations__subcmd__help__subcmd__help)
            opts=""
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        hypothesis__subcmd__annotations__subcmd__help__subcmd__hide)
            opts=""
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        hypothesis__subcmd__annotations__subcmd__help__subcmd__search)
            opts=""
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        hypothesis__subcmd__annotations__subcmd__help__subcmd__show)
            opts=""
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        hypothesis__subcmd__annotations__subcmd__help__subcmd__update)
            opts=""
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        hypothesis__subcmd__annotations__subcmd__hide)
            opts="-h --help"
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        hypothesis__subcmd__annotations__subcmd__search)
            opts="-o -h --limit --sort --search-after --offset --order --uri --uri-parts --wildcard-uri --user --group --tag --tags --any --quote --references --text --file --help"
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                --limit)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --sort)
                    COMPREPLY=($(compgen -W "created updated id group user" -- "${cur}"))
                    return 0
                    ;;
                --search-after)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --offset)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --order)
                    COMPREPLY=($(compgen -W "asc desc" -- "${cur}"))
                    return 0
                    ;;
                --uri)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --uri-parts)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --wildcard-uri)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --user)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --group)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --tag)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --tags)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --any)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --quote)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --references)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --text)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --file)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                -o)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        hypothesis__subcmd__annotations__subcmd__show)
            opts="-h --help"
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        hypothesis__subcmd__annotations__subcmd__update)
            opts="-o -h --text --tags --group --references --file --help"
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                --text)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --tags)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --group)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --references)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --file)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                -o)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        hypothesis__subcmd__complete)
            opts="-h --help bash elvish fish powershell zsh"
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        hypothesis__subcmd__groups)
            opts="-h --help list create fetch update members leave help"
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        hypothesis__subcmd__groups__subcmd__create)
            opts="-o -h --file --help"
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                --file)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                -o)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        hypothesis__subcmd__groups__subcmd__fetch)
            opts="-e -o -h --expand --file --help"
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                --expand)
                    COMPREPLY=($(compgen -W "organization scopes" -- "${cur}"))
                    return 0
                    ;;
                -e)
                    COMPREPLY=($(compgen -W "organization scopes" -- "${cur}"))
                    return 0
                    ;;
                --file)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                -o)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        hypothesis__subcmd__groups__subcmd__help)
            opts="list create fetch update members leave help"
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        hypothesis__subcmd__groups__subcmd__help__subcmd__create)
            opts=""
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        hypothesis__subcmd__groups__subcmd__help__subcmd__fetch)
            opts=""
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        hypothesis__subcmd__groups__subcmd__help__subcmd__help)
            opts=""
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        hypothesis__subcmd__groups__subcmd__help__subcmd__leave)
            opts=""
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        hypothesis__subcmd__groups__subcmd__help__subcmd__list)
            opts=""
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        hypothesis__subcmd__groups__subcmd__help__subcmd__members)
            opts=""
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        hypothesis__subcmd__groups__subcmd__help__subcmd__update)
            opts=""
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        hypothesis__subcmd__groups__subcmd__leave)
            opts="-h --help"
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        hypothesis__subcmd__groups__subcmd__list)
            opts="-o -h --authority --document-uri --expand --file --help"
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                --authority)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --document-uri)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --expand)
                    COMPREPLY=($(compgen -W "organization scopes" -- "${cur}"))
                    return 0
                    ;;
                --file)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                -o)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        hypothesis__subcmd__groups__subcmd__members)
            opts="-o -h --file --help"
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                --file)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                -o)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        hypothesis__subcmd__groups__subcmd__update)
            opts="-n -d -o -h --name --description --file --help"
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                --name)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                -n)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --description)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                -d)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --file)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                -o)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        hypothesis__subcmd__help)
            opts="annotations groups profile complete help"
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        hypothesis__subcmd__help__subcmd__annotations)
            opts="create update search fetch delete flag hide show"
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        hypothesis__subcmd__help__subcmd__annotations__subcmd__create)
            opts=""
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        hypothesis__subcmd__help__subcmd__annotations__subcmd__delete)
            opts=""
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        hypothesis__subcmd__help__subcmd__annotations__subcmd__fetch)
            opts=""
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        hypothesis__subcmd__help__subcmd__annotations__subcmd__flag)
            opts=""
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        hypothesis__subcmd__help__subcmd__annotations__subcmd__hide)
            opts=""
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        hypothesis__subcmd__help__subcmd__annotations__subcmd__search)
            opts=""
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        hypothesis__subcmd__help__subcmd__annotations__subcmd__show)
            opts=""
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        hypothesis__subcmd__help__subcmd__annotations__subcmd__update)
            opts=""
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        hypothesis__subcmd__help__subcmd__complete)
            opts=""
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        hypothesis__subcmd__help__subcmd__groups)
            opts="list create fetch update members leave"
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        hypothesis__subcmd__help__subcmd__groups__subcmd__create)
            opts=""
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        hypothesis__subcmd__help__subcmd__groups__subcmd__fetch)
            opts=""
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        hypothesis__subcmd__help__subcmd__groups__subcmd__leave)
            opts=""
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        hypothesis__subcmd__help__subcmd__groups__subcmd__list)
            opts=""
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        hypothesis__subcmd__help__subcmd__groups__subcmd__members)
            opts=""
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        hypothesis__subcmd__help__subcmd__groups__subcmd__update)
            opts=""
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        hypothesis__subcmd__help__subcmd__help)
            opts=""
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        hypothesis__subcmd__help__subcmd__profile)
            opts="user groups"
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        hypothesis__subcmd__help__subcmd__profile__subcmd__groups)
            opts=""
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        hypothesis__subcmd__help__subcmd__profile__subcmd__user)
            opts=""
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        hypothesis__subcmd__profile)
            opts="-h --help user groups help"
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        hypothesis__subcmd__profile__subcmd__groups)
            opts="-o -h --file --help"
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                --file)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                -o)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        hypothesis__subcmd__profile__subcmd__help)
            opts="user groups help"
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        hypothesis__subcmd__profile__subcmd__help__subcmd__groups)
            opts=""
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        hypothesis__subcmd__profile__subcmd__help__subcmd__help)
            opts=""
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        hypothesis__subcmd__profile__subcmd__help__subcmd__user)
            opts=""
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        hypothesis__subcmd__profile__subcmd__user)
            opts="-o -h --file --help"
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                --file)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                -o)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
    esac
}

if [[ "${BASH_VERSINFO[0]}" -eq 4 && "${BASH_VERSINFO[1]}" -ge 4 || "${BASH_VERSINFO[0]}" -gt 4 ]]; then
    complete -F _hypothesis -o nosort -o bashdefault -o default hypothesis
else
    complete -F _hypothesis -o bashdefault -o default hypothesis
fi
