_sqop() {
    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="sqop"
                ;;
            sqop,armor)
                cmd="sqop__subcmd__armor"
                ;;
            sqop,certify-userid)
                cmd="sqop__subcmd__certify__subcmd__userid"
                ;;
            sqop,change-key-password)
                cmd="sqop__subcmd__change__subcmd__key__subcmd__password"
                ;;
            sqop,dearmor)
                cmd="sqop__subcmd__dearmor"
                ;;
            sqop,decrypt)
                cmd="sqop__subcmd__decrypt"
                ;;
            sqop,encrypt)
                cmd="sqop__subcmd__encrypt"
                ;;
            sqop,extract-cert)
                cmd="sqop__subcmd__extract__subcmd__cert"
                ;;
            sqop,generate-key)
                cmd="sqop__subcmd__generate__subcmd__key"
                ;;
            sqop,help)
                cmd="sqop__subcmd__help"
                ;;
            sqop,inline-detach)
                cmd="sqop__subcmd__inline__subcmd__detach"
                ;;
            sqop,inline-sign)
                cmd="sqop__subcmd__inline__subcmd__sign"
                ;;
            sqop,inline-verify)
                cmd="sqop__subcmd__inline__subcmd__verify"
                ;;
            sqop,list-profiles)
                cmd="sqop__subcmd__list__subcmd__profiles"
                ;;
            sqop,merge-certs)
                cmd="sqop__subcmd__merge__subcmd__certs"
                ;;
            sqop,revoke-key)
                cmd="sqop__subcmd__revoke__subcmd__key"
                ;;
            sqop,sign)
                cmd="sqop__subcmd__sign"
                ;;
            sqop,update-key)
                cmd="sqop__subcmd__update__subcmd__key"
                ;;
            sqop,validate-userid)
                cmd="sqop__subcmd__validate__subcmd__userid"
                ;;
            sqop,verify)
                cmd="sqop__subcmd__verify"
                ;;
            sqop,version)
                cmd="sqop__subcmd__version"
                ;;
            sqop__subcmd__help,armor)
                cmd="sqop__subcmd__help__subcmd__armor"
                ;;
            sqop__subcmd__help,certify-userid)
                cmd="sqop__subcmd__help__subcmd__certify__subcmd__userid"
                ;;
            sqop__subcmd__help,change-key-password)
                cmd="sqop__subcmd__help__subcmd__change__subcmd__key__subcmd__password"
                ;;
            sqop__subcmd__help,dearmor)
                cmd="sqop__subcmd__help__subcmd__dearmor"
                ;;
            sqop__subcmd__help,decrypt)
                cmd="sqop__subcmd__help__subcmd__decrypt"
                ;;
            sqop__subcmd__help,encrypt)
                cmd="sqop__subcmd__help__subcmd__encrypt"
                ;;
            sqop__subcmd__help,extract-cert)
                cmd="sqop__subcmd__help__subcmd__extract__subcmd__cert"
                ;;
            sqop__subcmd__help,generate-key)
                cmd="sqop__subcmd__help__subcmd__generate__subcmd__key"
                ;;
            sqop__subcmd__help,help)
                cmd="sqop__subcmd__help__subcmd__help"
                ;;
            sqop__subcmd__help,inline-detach)
                cmd="sqop__subcmd__help__subcmd__inline__subcmd__detach"
                ;;
            sqop__subcmd__help,inline-sign)
                cmd="sqop__subcmd__help__subcmd__inline__subcmd__sign"
                ;;
            sqop__subcmd__help,inline-verify)
                cmd="sqop__subcmd__help__subcmd__inline__subcmd__verify"
                ;;
            sqop__subcmd__help,list-profiles)
                cmd="sqop__subcmd__help__subcmd__list__subcmd__profiles"
                ;;
            sqop__subcmd__help,merge-certs)
                cmd="sqop__subcmd__help__subcmd__merge__subcmd__certs"
                ;;
            sqop__subcmd__help,revoke-key)
                cmd="sqop__subcmd__help__subcmd__revoke__subcmd__key"
                ;;
            sqop__subcmd__help,sign)
                cmd="sqop__subcmd__help__subcmd__sign"
                ;;
            sqop__subcmd__help,update-key)
                cmd="sqop__subcmd__help__subcmd__update__subcmd__key"
                ;;
            sqop__subcmd__help,validate-userid)
                cmd="sqop__subcmd__help__subcmd__validate__subcmd__userid"
                ;;
            sqop__subcmd__help,verify)
                cmd="sqop__subcmd__help__subcmd__verify"
                ;;
            sqop__subcmd__help,version)
                cmd="sqop__subcmd__help__subcmd__version"
                ;;
            *)
                ;;
        esac
    done

    case "${cmd}" in
        sqop)
            opts="-h --debug --help version verify inline-verify list-profiles generate-key change-key-password revoke-key extract-cert update-key merge-certs certify-userid validate-userid sign encrypt decrypt armor dearmor inline-detach inline-sign 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
            ;;
        sqop__subcmd__armor)
            opts="-h --label --debug --help"
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                --label)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        sqop__subcmd__certify__subcmd__userid)
            opts="-h --no-armor --userid --with-key-password --no-require-self-sig --debug --help"
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                --userid)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --with-key-password)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        sqop__subcmd__change__subcmd__key__subcmd__password)
            opts="-h --no-armor --new-key-password --old-key-password --debug --help"
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                --new-key-password)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --old-key-password)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        sqop__subcmd__dearmor)
            opts="-h --debug --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
            ;;
        sqop__subcmd__decrypt)
            opts="-h --session-key-out --with-session-key --with-password --verifications-out --verify-with --verify-not-before --verify-not-after --with-key-password --debug --help"
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                --session-key-out)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --with-session-key)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --with-password)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --verifications-out)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --verify-with)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --verify-not-before)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --verify-not-after)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --with-key-password)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        sqop__subcmd__encrypt)
            opts="-h --no-armor --profile --as --with-password --sign-with --with-key-password --session-key-out --debug --help"
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                --profile)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --as)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --with-password)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --sign-with)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --with-key-password)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --session-key-out)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        sqop__subcmd__extract__subcmd__cert)
            opts="-h --no-armor --debug --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
            ;;
        sqop__subcmd__generate__subcmd__key)
            opts="-h --no-armor --profile --signing-only --with-key-password --debug --help"
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                --profile)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --with-key-password)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        sqop__subcmd__help)
            opts="version verify inline-verify list-profiles generate-key change-key-password revoke-key extract-cert update-key merge-certs certify-userid validate-userid sign encrypt decrypt armor dearmor inline-detach inline-sign 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
            ;;
        sqop__subcmd__help__subcmd__armor)
            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
            ;;
        sqop__subcmd__help__subcmd__certify__subcmd__userid)
            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
            ;;
        sqop__subcmd__help__subcmd__change__subcmd__key__subcmd__password)
            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
            ;;
        sqop__subcmd__help__subcmd__dearmor)
            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
            ;;
        sqop__subcmd__help__subcmd__decrypt)
            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
            ;;
        sqop__subcmd__help__subcmd__encrypt)
            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
            ;;
        sqop__subcmd__help__subcmd__extract__subcmd__cert)
            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
            ;;
        sqop__subcmd__help__subcmd__generate__subcmd__key)
            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
            ;;
        sqop__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
            ;;
        sqop__subcmd__help__subcmd__inline__subcmd__detach)
            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
            ;;
        sqop__subcmd__help__subcmd__inline__subcmd__sign)
            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
            ;;
        sqop__subcmd__help__subcmd__inline__subcmd__verify)
            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
            ;;
        sqop__subcmd__help__subcmd__list__subcmd__profiles)
            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
            ;;
        sqop__subcmd__help__subcmd__merge__subcmd__certs)
            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
            ;;
        sqop__subcmd__help__subcmd__revoke__subcmd__key)
            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
            ;;
        sqop__subcmd__help__subcmd__sign)
            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
            ;;
        sqop__subcmd__help__subcmd__update__subcmd__key)
            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
            ;;
        sqop__subcmd__help__subcmd__validate__subcmd__userid)
            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
            ;;
        sqop__subcmd__help__subcmd__verify)
            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
            ;;
        sqop__subcmd__help__subcmd__version)
            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
            ;;
        sqop__subcmd__inline__subcmd__detach)
            opts="-h --no-armor --signatures-out --debug --help"
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                --signatures-out)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        sqop__subcmd__inline__subcmd__sign)
            opts="-h --no-armor --as --with-key-password --debug --help"
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                --as)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --with-key-password)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        sqop__subcmd__inline__subcmd__verify)
            opts="-h --not-before --not-after --verifications-out --debug --help"
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                --not-before)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --not-after)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --verifications-out)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        sqop__subcmd__list__subcmd__profiles)
            opts="-h --debug --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
            ;;
        sqop__subcmd__merge__subcmd__certs)
            opts="-h --no-armor --debug --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
            ;;
        sqop__subcmd__revoke__subcmd__key)
            opts="-h --no-armor --with-key-password --debug --help"
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                --with-key-password)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        sqop__subcmd__sign)
            opts="-h --no-armor --as --micalg-out --with-key-password --debug --help"
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                --as)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --micalg-out)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --with-key-password)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        sqop__subcmd__update__subcmd__key)
            opts="-h --no-armor --signing-only --no-added-capabilities --with-key-password --merge-certs --debug --help"
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                --with-key-password)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --merge-certs)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        sqop__subcmd__validate__subcmd__userid)
            opts="-h --addr-spec-only --validate-at --debug --help"
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                --validate-at)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        sqop__subcmd__verify)
            opts="-h --not-before --not-after --debug --help"
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                --not-before)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --not-after)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        sqop__subcmd__version)
            opts="-h --backend --extended --sop-spec --sopv --debug --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
            ;;
    esac
}

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