_probe-rs() {
    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="probe__rs"
                ;;
            probe__rs,attach)
                cmd="probe__rs__subcmd__attach"
                ;;
            probe__rs,benchmark)
                cmd="probe__rs__subcmd__benchmark"
                ;;
            probe__rs,chip)
                cmd="probe__rs__subcmd__chip"
                ;;
            probe__rs,complete)
                cmd="probe__rs__subcmd__complete"
                ;;
            probe__rs,dap-server)
                cmd="probe__rs__subcmd__dap__subcmd__server"
                ;;
            probe__rs,debug)
                cmd="probe__rs__subcmd__debug"
                ;;
            probe__rs,download)
                cmd="probe__rs__subcmd__download"
                ;;
            probe__rs,erase)
                cmd="probe__rs__subcmd__erase"
                ;;
            probe__rs,gdb)
                cmd="probe__rs__subcmd__gdb"
                ;;
            probe__rs,help)
                cmd="probe__rs__subcmd__help"
                ;;
            probe__rs,info)
                cmd="probe__rs__subcmd__info"
                ;;
            probe__rs,itm)
                cmd="probe__rs__subcmd__itm"
                ;;
            probe__rs,list)
                cmd="probe__rs__subcmd__list"
                ;;
            probe__rs,mi)
                cmd="probe__rs__subcmd__mi"
                ;;
            probe__rs,profile)
                cmd="probe__rs__subcmd__profile"
                ;;
            probe__rs,read)
                cmd="probe__rs__subcmd__read"
                ;;
            probe__rs,reset)
                cmd="probe__rs__subcmd__reset"
                ;;
            probe__rs,run)
                cmd="probe__rs__subcmd__run"
                ;;
            probe__rs,serve)
                cmd="probe__rs__subcmd__serve"
                ;;
            probe__rs,trace)
                cmd="probe__rs__subcmd__trace"
                ;;
            probe__rs,verify)
                cmd="probe__rs__subcmd__verify"
                ;;
            probe__rs,write)
                cmd="probe__rs__subcmd__write"
                ;;
            probe__rs__subcmd__chip,help)
                cmd="probe__rs__subcmd__chip__subcmd__help"
                ;;
            probe__rs__subcmd__chip,info)
                cmd="probe__rs__subcmd__chip__subcmd__info"
                ;;
            probe__rs__subcmd__chip,list)
                cmd="probe__rs__subcmd__chip__subcmd__list"
                ;;
            probe__rs__subcmd__chip__subcmd__help,help)
                cmd="probe__rs__subcmd__chip__subcmd__help__subcmd__help"
                ;;
            probe__rs__subcmd__chip__subcmd__help,info)
                cmd="probe__rs__subcmd__chip__subcmd__help__subcmd__info"
                ;;
            probe__rs__subcmd__chip__subcmd__help,list)
                cmd="probe__rs__subcmd__chip__subcmd__help__subcmd__list"
                ;;
            probe__rs__subcmd__complete,chip-list)
                cmd="probe__rs__subcmd__complete__subcmd__chip__subcmd__list"
                ;;
            probe__rs__subcmd__complete,help)
                cmd="probe__rs__subcmd__complete__subcmd__help"
                ;;
            probe__rs__subcmd__complete,install)
                cmd="probe__rs__subcmd__complete__subcmd__install"
                ;;
            probe__rs__subcmd__complete,probe-list)
                cmd="probe__rs__subcmd__complete__subcmd__probe__subcmd__list"
                ;;
            probe__rs__subcmd__complete__subcmd__help,chip-list)
                cmd="probe__rs__subcmd__complete__subcmd__help__subcmd__chip__subcmd__list"
                ;;
            probe__rs__subcmd__complete__subcmd__help,help)
                cmd="probe__rs__subcmd__complete__subcmd__help__subcmd__help"
                ;;
            probe__rs__subcmd__complete__subcmd__help,install)
                cmd="probe__rs__subcmd__complete__subcmd__help__subcmd__install"
                ;;
            probe__rs__subcmd__complete__subcmd__help,probe-list)
                cmd="probe__rs__subcmd__complete__subcmd__help__subcmd__probe__subcmd__list"
                ;;
            probe__rs__subcmd__help,attach)
                cmd="probe__rs__subcmd__help__subcmd__attach"
                ;;
            probe__rs__subcmd__help,benchmark)
                cmd="probe__rs__subcmd__help__subcmd__benchmark"
                ;;
            probe__rs__subcmd__help,chip)
                cmd="probe__rs__subcmd__help__subcmd__chip"
                ;;
            probe__rs__subcmd__help,complete)
                cmd="probe__rs__subcmd__help__subcmd__complete"
                ;;
            probe__rs__subcmd__help,dap-server)
                cmd="probe__rs__subcmd__help__subcmd__dap__subcmd__server"
                ;;
            probe__rs__subcmd__help,debug)
                cmd="probe__rs__subcmd__help__subcmd__debug"
                ;;
            probe__rs__subcmd__help,download)
                cmd="probe__rs__subcmd__help__subcmd__download"
                ;;
            probe__rs__subcmd__help,erase)
                cmd="probe__rs__subcmd__help__subcmd__erase"
                ;;
            probe__rs__subcmd__help,gdb)
                cmd="probe__rs__subcmd__help__subcmd__gdb"
                ;;
            probe__rs__subcmd__help,help)
                cmd="probe__rs__subcmd__help__subcmd__help"
                ;;
            probe__rs__subcmd__help,info)
                cmd="probe__rs__subcmd__help__subcmd__info"
                ;;
            probe__rs__subcmd__help,itm)
                cmd="probe__rs__subcmd__help__subcmd__itm"
                ;;
            probe__rs__subcmd__help,list)
                cmd="probe__rs__subcmd__help__subcmd__list"
                ;;
            probe__rs__subcmd__help,mi)
                cmd="probe__rs__subcmd__help__subcmd__mi"
                ;;
            probe__rs__subcmd__help,profile)
                cmd="probe__rs__subcmd__help__subcmd__profile"
                ;;
            probe__rs__subcmd__help,read)
                cmd="probe__rs__subcmd__help__subcmd__read"
                ;;
            probe__rs__subcmd__help,reset)
                cmd="probe__rs__subcmd__help__subcmd__reset"
                ;;
            probe__rs__subcmd__help,run)
                cmd="probe__rs__subcmd__help__subcmd__run"
                ;;
            probe__rs__subcmd__help,serve)
                cmd="probe__rs__subcmd__help__subcmd__serve"
                ;;
            probe__rs__subcmd__help,trace)
                cmd="probe__rs__subcmd__help__subcmd__trace"
                ;;
            probe__rs__subcmd__help,verify)
                cmd="probe__rs__subcmd__help__subcmd__verify"
                ;;
            probe__rs__subcmd__help,write)
                cmd="probe__rs__subcmd__help__subcmd__write"
                ;;
            probe__rs__subcmd__help__subcmd__chip,info)
                cmd="probe__rs__subcmd__help__subcmd__chip__subcmd__info"
                ;;
            probe__rs__subcmd__help__subcmd__chip,list)
                cmd="probe__rs__subcmd__help__subcmd__chip__subcmd__list"
                ;;
            probe__rs__subcmd__help__subcmd__complete,chip-list)
                cmd="probe__rs__subcmd__help__subcmd__complete__subcmd__chip__subcmd__list"
                ;;
            probe__rs__subcmd__help__subcmd__complete,install)
                cmd="probe__rs__subcmd__help__subcmd__complete__subcmd__install"
                ;;
            probe__rs__subcmd__help__subcmd__complete,probe-list)
                cmd="probe__rs__subcmd__help__subcmd__complete__subcmd__probe__subcmd__list"
                ;;
            probe__rs__subcmd__help__subcmd__itm,memory)
                cmd="probe__rs__subcmd__help__subcmd__itm__subcmd__memory"
                ;;
            probe__rs__subcmd__help__subcmd__itm,swo)
                cmd="probe__rs__subcmd__help__subcmd__itm__subcmd__swo"
                ;;
            probe__rs__subcmd__help__subcmd__mi,info)
                cmd="probe__rs__subcmd__help__subcmd__mi__subcmd__info"
                ;;
            probe__rs__subcmd__help__subcmd__mi,meta)
                cmd="probe__rs__subcmd__help__subcmd__mi__subcmd__meta"
                ;;
            probe__rs__subcmd__help__subcmd__profile,callstack)
                cmd="probe__rs__subcmd__help__subcmd__profile__subcmd__callstack"
                ;;
            probe__rs__subcmd__help__subcmd__profile,flat)
                cmd="probe__rs__subcmd__help__subcmd__profile__subcmd__flat"
                ;;
            probe__rs__subcmd__help__subcmd__profile__subcmd__callstack,naive-dwarf)
                cmd="probe__rs__subcmd__help__subcmd__profile__subcmd__callstack__subcmd__naive__subcmd__dwarf"
                ;;
            probe__rs__subcmd__help__subcmd__profile__subcmd__callstack,naive-frame-pointer)
                cmd="probe__rs__subcmd__help__subcmd__profile__subcmd__callstack__subcmd__naive__subcmd__frame__subcmd__pointer"
                ;;
            probe__rs__subcmd__help__subcmd__profile__subcmd__flat,itm)
                cmd="probe__rs__subcmd__help__subcmd__profile__subcmd__flat__subcmd__itm"
                ;;
            probe__rs__subcmd__help__subcmd__profile__subcmd__flat,naive)
                cmd="probe__rs__subcmd__help__subcmd__profile__subcmd__flat__subcmd__naive"
                ;;
            probe__rs__subcmd__help__subcmd__profile__subcmd__flat,pcsr)
                cmd="probe__rs__subcmd__help__subcmd__profile__subcmd__flat__subcmd__pcsr"
                ;;
            probe__rs__subcmd__itm,help)
                cmd="probe__rs__subcmd__itm__subcmd__help"
                ;;
            probe__rs__subcmd__itm,memory)
                cmd="probe__rs__subcmd__itm__subcmd__memory"
                ;;
            probe__rs__subcmd__itm,swo)
                cmd="probe__rs__subcmd__itm__subcmd__swo"
                ;;
            probe__rs__subcmd__itm__subcmd__help,help)
                cmd="probe__rs__subcmd__itm__subcmd__help__subcmd__help"
                ;;
            probe__rs__subcmd__itm__subcmd__help,memory)
                cmd="probe__rs__subcmd__itm__subcmd__help__subcmd__memory"
                ;;
            probe__rs__subcmd__itm__subcmd__help,swo)
                cmd="probe__rs__subcmd__itm__subcmd__help__subcmd__swo"
                ;;
            probe__rs__subcmd__mi,help)
                cmd="probe__rs__subcmd__mi__subcmd__help"
                ;;
            probe__rs__subcmd__mi,info)
                cmd="probe__rs__subcmd__mi__subcmd__info"
                ;;
            probe__rs__subcmd__mi,meta)
                cmd="probe__rs__subcmd__mi__subcmd__meta"
                ;;
            probe__rs__subcmd__mi__subcmd__help,help)
                cmd="probe__rs__subcmd__mi__subcmd__help__subcmd__help"
                ;;
            probe__rs__subcmd__mi__subcmd__help,info)
                cmd="probe__rs__subcmd__mi__subcmd__help__subcmd__info"
                ;;
            probe__rs__subcmd__mi__subcmd__help,meta)
                cmd="probe__rs__subcmd__mi__subcmd__help__subcmd__meta"
                ;;
            probe__rs__subcmd__profile,callstack)
                cmd="probe__rs__subcmd__profile__subcmd__callstack"
                ;;
            probe__rs__subcmd__profile,flat)
                cmd="probe__rs__subcmd__profile__subcmd__flat"
                ;;
            probe__rs__subcmd__profile,help)
                cmd="probe__rs__subcmd__profile__subcmd__help"
                ;;
            probe__rs__subcmd__profile__subcmd__callstack,help)
                cmd="probe__rs__subcmd__profile__subcmd__callstack__subcmd__help"
                ;;
            probe__rs__subcmd__profile__subcmd__callstack,naive-dwarf)
                cmd="probe__rs__subcmd__profile__subcmd__callstack__subcmd__naive__subcmd__dwarf"
                ;;
            probe__rs__subcmd__profile__subcmd__callstack,naive-frame-pointer)
                cmd="probe__rs__subcmd__profile__subcmd__callstack__subcmd__naive__subcmd__frame__subcmd__pointer"
                ;;
            probe__rs__subcmd__profile__subcmd__callstack__subcmd__help,help)
                cmd="probe__rs__subcmd__profile__subcmd__callstack__subcmd__help__subcmd__help"
                ;;
            probe__rs__subcmd__profile__subcmd__callstack__subcmd__help,naive-dwarf)
                cmd="probe__rs__subcmd__profile__subcmd__callstack__subcmd__help__subcmd__naive__subcmd__dwarf"
                ;;
            probe__rs__subcmd__profile__subcmd__callstack__subcmd__help,naive-frame-pointer)
                cmd="probe__rs__subcmd__profile__subcmd__callstack__subcmd__help__subcmd__naive__subcmd__frame__subcmd__pointer"
                ;;
            probe__rs__subcmd__profile__subcmd__flat,help)
                cmd="probe__rs__subcmd__profile__subcmd__flat__subcmd__help"
                ;;
            probe__rs__subcmd__profile__subcmd__flat,itm)
                cmd="probe__rs__subcmd__profile__subcmd__flat__subcmd__itm"
                ;;
            probe__rs__subcmd__profile__subcmd__flat,naive)
                cmd="probe__rs__subcmd__profile__subcmd__flat__subcmd__naive"
                ;;
            probe__rs__subcmd__profile__subcmd__flat,pcsr)
                cmd="probe__rs__subcmd__profile__subcmd__flat__subcmd__pcsr"
                ;;
            probe__rs__subcmd__profile__subcmd__flat__subcmd__help,help)
                cmd="probe__rs__subcmd__profile__subcmd__flat__subcmd__help__subcmd__help"
                ;;
            probe__rs__subcmd__profile__subcmd__flat__subcmd__help,itm)
                cmd="probe__rs__subcmd__profile__subcmd__flat__subcmd__help__subcmd__itm"
                ;;
            probe__rs__subcmd__profile__subcmd__flat__subcmd__help,naive)
                cmd="probe__rs__subcmd__profile__subcmd__flat__subcmd__help__subcmd__naive"
                ;;
            probe__rs__subcmd__profile__subcmd__flat__subcmd__help,pcsr)
                cmd="probe__rs__subcmd__profile__subcmd__flat__subcmd__help__subcmd__pcsr"
                ;;
            probe__rs__subcmd__profile__subcmd__help,callstack)
                cmd="probe__rs__subcmd__profile__subcmd__help__subcmd__callstack"
                ;;
            probe__rs__subcmd__profile__subcmd__help,flat)
                cmd="probe__rs__subcmd__profile__subcmd__help__subcmd__flat"
                ;;
            probe__rs__subcmd__profile__subcmd__help,help)
                cmd="probe__rs__subcmd__profile__subcmd__help__subcmd__help"
                ;;
            probe__rs__subcmd__profile__subcmd__help__subcmd__callstack,naive-dwarf)
                cmd="probe__rs__subcmd__profile__subcmd__help__subcmd__callstack__subcmd__naive__subcmd__dwarf"
                ;;
            probe__rs__subcmd__profile__subcmd__help__subcmd__callstack,naive-frame-pointer)
                cmd="probe__rs__subcmd__profile__subcmd__help__subcmd__callstack__subcmd__naive__subcmd__frame__subcmd__pointer"
                ;;
            probe__rs__subcmd__profile__subcmd__help__subcmd__flat,itm)
                cmd="probe__rs__subcmd__profile__subcmd__help__subcmd__flat__subcmd__itm"
                ;;
            probe__rs__subcmd__profile__subcmd__help__subcmd__flat,naive)
                cmd="probe__rs__subcmd__profile__subcmd__help__subcmd__flat__subcmd__naive"
                ;;
            probe__rs__subcmd__profile__subcmd__help__subcmd__flat,pcsr)
                cmd="probe__rs__subcmd__profile__subcmd__help__subcmd__flat__subcmd__pcsr"
                ;;
            *)
                ;;
        esac
    done

    case "${cmd}" in
        probe__rs)
            opts="-r -h -V --log-file --log-to-folder --report --host --token --preset --help --version dap-server list info reset gdb debug download verify erase run attach trace itm chip benchmark profile serve read write complete mi help"
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 1 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                --log-file)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --report)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                -r)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --host)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --token)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --preset)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        probe__subcmd__rs__subcmd__attach)
            opts="-r -h --catch-reset --catch-hardfault --no-catch-reset --no-catch-hardfault --no-catch-svc --no-catch-hlt --chip --chip-description-path --protocol --cycle-power --non-interactive --probe --speed --connect-under-reset --dry-run --allow-erase-all --binary-format --base-address --skip --idf-bootloader --idf-partition-table --idf-target-app-partition --idf-flash-mode --idf-flash-freq --skip-section --log-format --target-output-file --scan-region --rtt-channel-mode --rtt-up-channels --rtt-down-channel --list-rtt --always-print-stacktrace --stack-frame-limit --no-location --no-timestamps --semihosting-file --log-file --log-to-folder --report --host --token --preset --help"
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                --chip)
                    COMPREPLY=($(probe-rs complete chip-list "${cur}"))
                    return 0
                    ;;
                --chip-description-path)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --protocol)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --probe)
                    COMPREPLY=($(probe-rs complete probe-list "${cur}"))
                    return 0
                    ;;
                --speed)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --binary-format)
                    COMPREPLY=($(compgen -W "target bin hex elf idf uf2" -- "${cur}"))
                    return 0
                    ;;
                --base-address)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --skip)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --idf-bootloader)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --idf-partition-table)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --idf-target-app-partition)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --idf-flash-mode)
                    COMPREPLY=($(compgen -W "qio qout dio dout" -- "${cur}"))
                    return 0
                    ;;
                --idf-flash-freq)
                    COMPREPLY=($(compgen -W "12mhz 15mhz 16mhz 20mhz 24mhz 26mhz 30mhz 40mhz 48mhz 60mhz 80mhz" -- "${cur}"))
                    return 0
                    ;;
                --skip-section)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --log-format)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --target-output-file)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --scan-region)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --rtt-channel-mode)
                    COMPREPLY=($(compgen -W "no-block-skip no-block-trim block-if-full" -- "${cur}"))
                    return 0
                    ;;
                --rtt-up-channels)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --rtt-down-channel)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --stack-frame-limit)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --semihosting-file)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --log-file)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --report)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                -r)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --host)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --token)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --preset)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        probe__subcmd__rs__subcmd__benchmark)
            opts="-r -h --chip --chip-description-path --protocol --cycle-power --non-interactive --probe --speed --connect-under-reset --dry-run --allow-erase-all --address --min-speed --max-speed --word-size --iterations --log-file --log-to-folder --report --host --token --preset --help"
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                --chip)
                    COMPREPLY=($(probe-rs complete chip-list "${cur}"))
                    return 0
                    ;;
                --chip-description-path)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --protocol)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --probe)
                    COMPREPLY=($(probe-rs complete probe-list "${cur}"))
                    return 0
                    ;;
                --speed)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --address)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --min-speed)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --max-speed)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --word-size)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --iterations)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --log-file)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --report)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                -r)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --host)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --token)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --preset)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        probe__subcmd__rs__subcmd__chip)
            opts="-r -h --log-file --log-to-folder --report --host --token --preset --help list info help"
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                --log-file)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --report)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                -r)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --host)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --token)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --preset)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        probe__subcmd__rs__subcmd__chip__subcmd__help)
            opts="list info 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
            ;;
        probe__subcmd__rs__subcmd__chip__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
            ;;
        probe__subcmd__rs__subcmd__chip__subcmd__help__subcmd__info)
            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
            ;;
        probe__subcmd__rs__subcmd__chip__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
            ;;
        probe__subcmd__rs__subcmd__chip__subcmd__info)
            opts="-r -h --log-file --log-to-folder --report --host --token --preset --help"
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                --log-file)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --report)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                -r)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --host)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --token)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --preset)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        probe__subcmd__rs__subcmd__chip__subcmd__list)
            opts="-r -h --log-file --log-to-folder --report --host --token --preset --help"
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                --log-file)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --report)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                -r)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --host)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --token)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --preset)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        probe__subcmd__rs__subcmd__complete)
            opts="-r -h --shell --log-file --log-to-folder --report --host --token --preset --help install probe-list chip-list help"
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                --shell)
                    COMPREPLY=($(compgen -W "bash elvish fish powershell zsh" -- "${cur}"))
                    return 0
                    ;;
                --log-file)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --report)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                -r)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --host)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --token)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --preset)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        probe__subcmd__rs__subcmd__complete__subcmd__chip__subcmd__list)
            opts="-r -h --log-file --log-to-folder --report --host --token --preset --help"
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                --log-file)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --report)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                -r)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --host)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --token)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --preset)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        probe__subcmd__rs__subcmd__complete__subcmd__help)
            opts="install probe-list chip-list 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
            ;;
        probe__subcmd__rs__subcmd__complete__subcmd__help__subcmd__chip__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
            ;;
        probe__subcmd__rs__subcmd__complete__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
            ;;
        probe__subcmd__rs__subcmd__complete__subcmd__help__subcmd__install)
            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
            ;;
        probe__subcmd__rs__subcmd__complete__subcmd__help__subcmd__probe__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
            ;;
        probe__subcmd__rs__subcmd__complete__subcmd__install)
            opts="-m -r -h --manual --log-file --log-to-folder --report --host --token --preset --help"
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                --log-file)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --report)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                -r)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --host)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --token)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --preset)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        probe__subcmd__rs__subcmd__complete__subcmd__probe__subcmd__list)
            opts="-r -h --log-file --log-to-folder --report --host --token --preset --help"
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                --log-file)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --report)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                -r)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --host)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --token)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --preset)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        probe__subcmd__rs__subcmd__dap__subcmd__server)
            opts="-r -h --port --ip --single-session --log-file --log-to-folder --report --host --token --preset --help"
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                --port)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --ip)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --log-file)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --report)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                -r)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --host)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --token)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --preset)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        probe__subcmd__rs__subcmd__debug)
            opts="-c -r -h --core --chip --chip-description-path --protocol --cycle-power --non-interactive --probe --speed --connect-under-reset --dry-run --allow-erase-all --launch --command --no-catch-reset --no-catch-hardfault --no-catch-svc --no-catch-hlt --no-rtt --preverify --verify --log-file --log-to-folder --report --host --token --preset --help"
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                --core)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --chip)
                    COMPREPLY=($(probe-rs complete chip-list "${cur}"))
                    return 0
                    ;;
                --chip-description-path)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --protocol)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --probe)
                    COMPREPLY=($(probe-rs complete probe-list "${cur}"))
                    return 0
                    ;;
                --speed)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --command)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                -c)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --log-file)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --report)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                -r)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --host)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --token)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --preset)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        probe__subcmd__rs__subcmd__download)
            opts="-r -h --chip --chip-description-path --protocol --cycle-power --non-interactive --probe --speed --connect-under-reset --dry-run --allow-erase-all --disable-progressbars --disable-double-buffering --restore-unwritten --flash-layout --preverify --verify --chip-erase --read-flasher-rtt --prefer-flash-algorithm --reset --binary-format --base-address --skip --idf-bootloader --idf-partition-table --idf-target-app-partition --idf-flash-mode --idf-flash-freq --skip-section --log-file --log-to-folder --report --host --token --preset --help"
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                --chip)
                    COMPREPLY=($(probe-rs complete chip-list "${cur}"))
                    return 0
                    ;;
                --chip-description-path)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --protocol)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --probe)
                    COMPREPLY=($(probe-rs complete probe-list "${cur}"))
                    return 0
                    ;;
                --speed)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --flash-layout)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --prefer-flash-algorithm)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --binary-format)
                    COMPREPLY=($(compgen -W "target bin hex elf idf uf2" -- "${cur}"))
                    return 0
                    ;;
                --base-address)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --skip)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --idf-bootloader)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --idf-partition-table)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --idf-target-app-partition)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --idf-flash-mode)
                    COMPREPLY=($(compgen -W "qio qout dio dout" -- "${cur}"))
                    return 0
                    ;;
                --idf-flash-freq)
                    COMPREPLY=($(compgen -W "12mhz 15mhz 16mhz 20mhz 24mhz 26mhz 30mhz 40mhz 48mhz 60mhz 80mhz" -- "${cur}"))
                    return 0
                    ;;
                --skip-section)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --log-file)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --report)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                -r)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --host)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --token)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --preset)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        probe__subcmd__rs__subcmd__erase)
            opts="-r -h --chip --chip-description-path --protocol --cycle-power --non-interactive --probe --speed --connect-under-reset --dry-run --allow-erase-all --disable-progressbars --read-flasher-rtt --log-file --log-to-folder --report --host --token --preset --help"
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                --chip)
                    COMPREPLY=($(probe-rs complete chip-list "${cur}"))
                    return 0
                    ;;
                --chip-description-path)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --protocol)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --probe)
                    COMPREPLY=($(probe-rs complete probe-list "${cur}"))
                    return 0
                    ;;
                --speed)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --log-file)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --report)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                -r)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --host)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --token)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --preset)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        probe__subcmd__rs__subcmd__gdb)
            opts="-r -h --gdb-connection-string --reset-halt --gdb --chip --chip-description-path --protocol --cycle-power --non-interactive --probe --speed --connect-under-reset --dry-run --allow-erase-all --log-file --log-to-folder --report --host --token --preset --help"
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                --gdb-connection-string)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --gdb)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --chip)
                    COMPREPLY=($(probe-rs complete chip-list "${cur}"))
                    return 0
                    ;;
                --chip-description-path)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --protocol)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --probe)
                    COMPREPLY=($(probe-rs complete probe-list "${cur}"))
                    return 0
                    ;;
                --speed)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --log-file)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --report)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                -r)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --host)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --token)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --preset)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        probe__subcmd__rs__subcmd__help)
            opts="dap-server list info reset gdb debug download verify erase run attach trace itm chip benchmark profile serve read write complete mi 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
            ;;
        probe__subcmd__rs__subcmd__help__subcmd__attach)
            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
            ;;
        probe__subcmd__rs__subcmd__help__subcmd__benchmark)
            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
            ;;
        probe__subcmd__rs__subcmd__help__subcmd__chip)
            opts="list info"
            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
            ;;
        probe__subcmd__rs__subcmd__help__subcmd__chip__subcmd__info)
            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
            ;;
        probe__subcmd__rs__subcmd__help__subcmd__chip__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
            ;;
        probe__subcmd__rs__subcmd__help__subcmd__complete)
            opts="install probe-list chip-list"
            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
            ;;
        probe__subcmd__rs__subcmd__help__subcmd__complete__subcmd__chip__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
            ;;
        probe__subcmd__rs__subcmd__help__subcmd__complete__subcmd__install)
            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
            ;;
        probe__subcmd__rs__subcmd__help__subcmd__complete__subcmd__probe__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
            ;;
        probe__subcmd__rs__subcmd__help__subcmd__dap__subcmd__server)
            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
            ;;
        probe__subcmd__rs__subcmd__help__subcmd__debug)
            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
            ;;
        probe__subcmd__rs__subcmd__help__subcmd__download)
            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
            ;;
        probe__subcmd__rs__subcmd__help__subcmd__erase)
            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
            ;;
        probe__subcmd__rs__subcmd__help__subcmd__gdb)
            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
            ;;
        probe__subcmd__rs__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
            ;;
        probe__subcmd__rs__subcmd__help__subcmd__info)
            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
            ;;
        probe__subcmd__rs__subcmd__help__subcmd__itm)
            opts="memory swo"
            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
            ;;
        probe__subcmd__rs__subcmd__help__subcmd__itm__subcmd__memory)
            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
            ;;
        probe__subcmd__rs__subcmd__help__subcmd__itm__subcmd__swo)
            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
            ;;
        probe__subcmd__rs__subcmd__help__subcmd__list)
            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
            ;;
        probe__subcmd__rs__subcmd__help__subcmd__mi)
            opts="meta info"
            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
            ;;
        probe__subcmd__rs__subcmd__help__subcmd__mi__subcmd__info)
            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
            ;;
        probe__subcmd__rs__subcmd__help__subcmd__mi__subcmd__meta)
            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
            ;;
        probe__subcmd__rs__subcmd__help__subcmd__profile)
            opts="flat callstack"
            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
            ;;
        probe__subcmd__rs__subcmd__help__subcmd__profile__subcmd__callstack)
            opts="naive-dwarf naive-frame-pointer"
            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
            ;;
        probe__subcmd__rs__subcmd__help__subcmd__profile__subcmd__callstack__subcmd__naive__subcmd__dwarf)
            opts=""
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        probe__subcmd__rs__subcmd__help__subcmd__profile__subcmd__callstack__subcmd__naive__subcmd__frame__subcmd__pointer)
            opts=""
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        probe__subcmd__rs__subcmd__help__subcmd__profile__subcmd__flat)
            opts="naive itm pcsr"
            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
            ;;
        probe__subcmd__rs__subcmd__help__subcmd__profile__subcmd__flat__subcmd__itm)
            opts=""
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        probe__subcmd__rs__subcmd__help__subcmd__profile__subcmd__flat__subcmd__naive)
            opts=""
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        probe__subcmd__rs__subcmd__help__subcmd__profile__subcmd__flat__subcmd__pcsr)
            opts=""
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        probe__subcmd__rs__subcmd__help__subcmd__read)
            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
            ;;
        probe__subcmd__rs__subcmd__help__subcmd__reset)
            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
            ;;
        probe__subcmd__rs__subcmd__help__subcmd__run)
            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
            ;;
        probe__subcmd__rs__subcmd__help__subcmd__serve)
            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
            ;;
        probe__subcmd__rs__subcmd__help__subcmd__trace)
            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
            ;;
        probe__subcmd__rs__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
            ;;
        probe__subcmd__rs__subcmd__help__subcmd__write)
            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
            ;;
        probe__subcmd__rs__subcmd__info)
            opts="-v -r -h --chip --chip-description-path --protocol --cycle-power --non-interactive --probe --speed --connect-under-reset --dry-run --allow-erase-all --verbose --target-sel --scan-chain --log-file --log-to-folder --report --host --token --preset --help"
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                --chip)
                    COMPREPLY=($(probe-rs complete chip-list "${cur}"))
                    return 0
                    ;;
                --chip-description-path)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --protocol)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --probe)
                    COMPREPLY=($(probe-rs complete probe-list "${cur}"))
                    return 0
                    ;;
                --speed)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --target-sel)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --scan-chain)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --log-file)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --report)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                -r)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --host)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --token)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --preset)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        probe__subcmd__rs__subcmd__itm)
            opts="-r -h --core --chip --chip-description-path --protocol --cycle-power --non-interactive --probe --speed --connect-under-reset --dry-run --allow-erase-all --log-file --log-to-folder --report --host --token --preset --help memory swo help"
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                --core)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --chip)
                    COMPREPLY=($(probe-rs complete chip-list "${cur}"))
                    return 0
                    ;;
                --chip-description-path)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --protocol)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --probe)
                    COMPREPLY=($(probe-rs complete probe-list "${cur}"))
                    return 0
                    ;;
                --speed)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --log-file)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --report)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                -r)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --host)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --token)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --preset)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        probe__subcmd__rs__subcmd__itm__subcmd__help)
            opts="memory swo 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
            ;;
        probe__subcmd__rs__subcmd__itm__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
            ;;
        probe__subcmd__rs__subcmd__itm__subcmd__help__subcmd__memory)
            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
            ;;
        probe__subcmd__rs__subcmd__itm__subcmd__help__subcmd__swo)
            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
            ;;
        probe__subcmd__rs__subcmd__itm__subcmd__memory)
            opts="-r -h --log-file --log-to-folder --report --host --token --preset --help"
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                --log-file)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --report)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                -r)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --host)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --token)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --preset)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        probe__subcmd__rs__subcmd__itm__subcmd__swo)
            opts="-r -h --log-file --log-to-folder --report --host --token --preset --help"
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                --log-file)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --report)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                -r)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --host)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --token)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --preset)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        probe__subcmd__rs__subcmd__list)
            opts="-r -h --log-file --log-to-folder --report --host --token --preset --help"
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                --log-file)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --report)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                -r)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --host)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --token)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --preset)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        probe__subcmd__rs__subcmd__mi)
            opts="-r -h --log-file --log-to-folder --report --host --token --preset --help meta info help"
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                --log-file)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --report)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                -r)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --host)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --token)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --preset)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        probe__subcmd__rs__subcmd__mi__subcmd__help)
            opts="meta info 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
            ;;
        probe__subcmd__rs__subcmd__mi__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
            ;;
        probe__subcmd__rs__subcmd__mi__subcmd__help__subcmd__info)
            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
            ;;
        probe__subcmd__rs__subcmd__mi__subcmd__help__subcmd__meta)
            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
            ;;
        probe__subcmd__rs__subcmd__mi__subcmd__info)
            opts="-r -h --chip --chip-description-path --protocol --cycle-power --non-interactive --probe --speed --connect-under-reset --dry-run --allow-erase-all --log-file --log-to-folder --report --host --token --preset --help"
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                --chip)
                    COMPREPLY=($(probe-rs complete chip-list "${cur}"))
                    return 0
                    ;;
                --chip-description-path)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --protocol)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --probe)
                    COMPREPLY=($(probe-rs complete probe-list "${cur}"))
                    return 0
                    ;;
                --speed)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --log-file)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --report)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                -r)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --host)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --token)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --preset)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        probe__subcmd__rs__subcmd__mi__subcmd__meta)
            opts="-r -h --log-file --log-to-folder --report --host --token --preset --help"
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                --log-file)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --report)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                -r)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --host)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --token)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --preset)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        probe__subcmd__rs__subcmd__profile)
            opts="-Z -r -h --catch-reset --catch-hardfault --no-catch-reset --no-catch-hardfault --no-catch-svc --no-catch-hlt --list --format --exact --ignored --include-ignored --skip-test --nocapture --show-output --chip --chip-description-path --protocol --cycle-power --non-interactive --probe --speed --connect-under-reset --dry-run --allow-erase-all --disable-progressbars --disable-double-buffering --restore-unwritten --flash-layout --preverify --verify --chip-erase --read-flasher-rtt --prefer-flash-algorithm --reset --binary-format --base-address --skip --idf-bootloader --idf-partition-table --idf-target-app-partition --idf-flash-mode --idf-flash-freq --skip-section --log-format --target-output-file --scan-region --rtt-channel-mode --rtt-up-channels --rtt-down-channel --list-rtt --always-print-stacktrace --stack-frame-limit --no-location --no-timestamps --semihosting-file --flash --reset --duration --log-file --log-to-folder --report --host --token --preset --help flat callstack help"
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                --format)
                    COMPREPLY=($(compgen -W "pretty terse json" -- "${cur}"))
                    return 0
                    ;;
                --skip-test)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                -Z)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --chip)
                    COMPREPLY=($(probe-rs complete chip-list "${cur}"))
                    return 0
                    ;;
                --chip-description-path)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --protocol)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --probe)
                    COMPREPLY=($(probe-rs complete probe-list "${cur}"))
                    return 0
                    ;;
                --speed)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --flash-layout)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --prefer-flash-algorithm)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --binary-format)
                    COMPREPLY=($(compgen -W "target bin hex elf idf uf2" -- "${cur}"))
                    return 0
                    ;;
                --base-address)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --skip)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --idf-bootloader)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --idf-partition-table)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --idf-target-app-partition)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --idf-flash-mode)
                    COMPREPLY=($(compgen -W "qio qout dio dout" -- "${cur}"))
                    return 0
                    ;;
                --idf-flash-freq)
                    COMPREPLY=($(compgen -W "12mhz 15mhz 16mhz 20mhz 24mhz 26mhz 30mhz 40mhz 48mhz 60mhz 80mhz" -- "${cur}"))
                    return 0
                    ;;
                --skip-section)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --log-format)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --target-output-file)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --scan-region)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --rtt-channel-mode)
                    COMPREPLY=($(compgen -W "no-block-skip no-block-trim block-if-full" -- "${cur}"))
                    return 0
                    ;;
                --rtt-up-channels)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --rtt-down-channel)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --stack-frame-limit)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --semihosting-file)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --duration)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --log-file)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --report)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                -r)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --host)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --token)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --preset)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        probe__subcmd__rs__subcmd__profile__subcmd__callstack)
            opts="-r -h --rate --cores --output-format --log-file --log-to-folder --report --host --token --preset --help naive-dwarf naive-frame-pointer help"
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                --rate)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --cores)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --output-format)
                    COMPREPLY=($(compgen -W "firefox-profiler" -- "${cur}"))
                    return 0
                    ;;
                --log-file)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --report)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                -r)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --host)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --token)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --preset)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        probe__subcmd__rs__subcmd__profile__subcmd__callstack__subcmd__help)
            opts="naive-dwarf naive-frame-pointer help"
            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
            ;;
        probe__subcmd__rs__subcmd__profile__subcmd__callstack__subcmd__help__subcmd__help)
            opts=""
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        probe__subcmd__rs__subcmd__profile__subcmd__callstack__subcmd__help__subcmd__naive__subcmd__dwarf)
            opts=""
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        probe__subcmd__rs__subcmd__profile__subcmd__callstack__subcmd__help__subcmd__naive__subcmd__frame__subcmd__pointer)
            opts=""
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        probe__subcmd__rs__subcmd__profile__subcmd__callstack__subcmd__naive__subcmd__dwarf)
            opts="-r -h --log-file --log-to-folder --report --host --token --preset --help"
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                --log-file)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --report)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                -r)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --host)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --token)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --preset)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        probe__subcmd__rs__subcmd__profile__subcmd__callstack__subcmd__naive__subcmd__frame__subcmd__pointer)
            opts="-r -h --log-file --log-to-folder --report --host --token --preset --help"
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                --log-file)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --report)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                -r)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --host)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --token)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --preset)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        probe__subcmd__rs__subcmd__profile__subcmd__flat)
            opts="-r -h --line-info --core --limit --log-file --log-to-folder --report --host --token --preset --help naive itm pcsr help"
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                --core)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --limit)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --log-file)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --report)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                -r)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --host)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --token)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --preset)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        probe__subcmd__rs__subcmd__profile__subcmd__flat__subcmd__help)
            opts="naive itm pcsr help"
            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
            ;;
        probe__subcmd__rs__subcmd__profile__subcmd__flat__subcmd__help__subcmd__help)
            opts=""
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        probe__subcmd__rs__subcmd__profile__subcmd__flat__subcmd__help__subcmd__itm)
            opts=""
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        probe__subcmd__rs__subcmd__profile__subcmd__flat__subcmd__help__subcmd__naive)
            opts=""
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        probe__subcmd__rs__subcmd__profile__subcmd__flat__subcmd__help__subcmd__pcsr)
            opts=""
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        probe__subcmd__rs__subcmd__profile__subcmd__flat__subcmd__itm)
            opts="-r -h --log-file --log-to-folder --report --host --token --preset --help"
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                --log-file)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --report)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                -r)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --host)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --token)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --preset)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        probe__subcmd__rs__subcmd__profile__subcmd__flat__subcmd__naive)
            opts="-r -h --log-file --log-to-folder --report --host --token --preset --help"
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                --log-file)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --report)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                -r)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --host)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --token)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --preset)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        probe__subcmd__rs__subcmd__profile__subcmd__flat__subcmd__pcsr)
            opts="-r -h --log-file --log-to-folder --report --host --token --preset --help"
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                --log-file)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --report)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                -r)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --host)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --token)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --preset)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        probe__subcmd__rs__subcmd__profile__subcmd__help)
            opts="flat callstack 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
            ;;
        probe__subcmd__rs__subcmd__profile__subcmd__help__subcmd__callstack)
            opts="naive-dwarf naive-frame-pointer"
            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
            ;;
        probe__subcmd__rs__subcmd__profile__subcmd__help__subcmd__callstack__subcmd__naive__subcmd__dwarf)
            opts=""
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        probe__subcmd__rs__subcmd__profile__subcmd__help__subcmd__callstack__subcmd__naive__subcmd__frame__subcmd__pointer)
            opts=""
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        probe__subcmd__rs__subcmd__profile__subcmd__help__subcmd__flat)
            opts="naive itm pcsr"
            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
            ;;
        probe__subcmd__rs__subcmd__profile__subcmd__help__subcmd__flat__subcmd__itm)
            opts=""
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        probe__subcmd__rs__subcmd__profile__subcmd__help__subcmd__flat__subcmd__naive)
            opts=""
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        probe__subcmd__rs__subcmd__profile__subcmd__help__subcmd__flat__subcmd__pcsr)
            opts=""
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        probe__subcmd__rs__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
            ;;
        probe__subcmd__rs__subcmd__read)
            opts="-o -f -r -h --core --chip --chip-description-path --protocol --cycle-power --non-interactive --probe --speed --connect-under-reset --dry-run --allow-erase-all --output --format --log-file --log-to-folder --report --host --token --preset --help b8 b16 b32 b64"
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                --core)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --chip)
                    COMPREPLY=($(probe-rs complete chip-list "${cur}"))
                    return 0
                    ;;
                --chip-description-path)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --protocol)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --probe)
                    COMPREPLY=($(probe-rs complete probe-list "${cur}"))
                    return 0
                    ;;
                --speed)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --output)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                -o)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --format)
                    COMPREPLY=($(compgen -W "ihex simple-hex hex-table binary" -- "${cur}"))
                    return 0
                    ;;
                -f)
                    COMPREPLY=($(compgen -W "ihex simple-hex hex-table binary" -- "${cur}"))
                    return 0
                    ;;
                --log-file)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --report)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                -r)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --host)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --token)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --preset)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        probe__subcmd__rs__subcmd__reset)
            opts="-r -h --core --chip --chip-description-path --protocol --cycle-power --non-interactive --probe --speed --connect-under-reset --dry-run --allow-erase-all --log-file --log-to-folder --report --host --token --preset --help"
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                --core)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --chip)
                    COMPREPLY=($(probe-rs complete chip-list "${cur}"))
                    return 0
                    ;;
                --chip-description-path)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --protocol)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --probe)
                    COMPREPLY=($(probe-rs complete probe-list "${cur}"))
                    return 0
                    ;;
                --speed)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --log-file)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --report)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                -r)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --host)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --token)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --preset)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        probe__subcmd__rs__subcmd__run)
            opts="-Z -r -h --catch-reset --catch-hardfault --no-catch-reset --no-catch-hardfault --no-catch-svc --no-catch-hlt --list --format --exact --ignored --include-ignored --skip-test --nocapture --show-output --chip --chip-description-path --protocol --cycle-power --non-interactive --probe --speed --connect-under-reset --dry-run --allow-erase-all --disable-progressbars --disable-double-buffering --restore-unwritten --flash-layout --preverify --verify --chip-erase --read-flasher-rtt --prefer-flash-algorithm --reset --binary-format --base-address --skip --idf-bootloader --idf-partition-table --idf-target-app-partition --idf-flash-mode --idf-flash-freq --skip-section --log-format --target-output-file --scan-region --rtt-channel-mode --rtt-up-channels --rtt-down-channel --list-rtt --always-print-stacktrace --stack-frame-limit --no-location --no-timestamps --semihosting-file --log-file --log-to-folder --report --host --token --preset --help"
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                --format)
                    COMPREPLY=($(compgen -W "pretty terse json" -- "${cur}"))
                    return 0
                    ;;
                --skip-test)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                -Z)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --chip)
                    COMPREPLY=($(probe-rs complete chip-list "${cur}"))
                    return 0
                    ;;
                --chip-description-path)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --protocol)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --probe)
                    COMPREPLY=($(probe-rs complete probe-list "${cur}"))
                    return 0
                    ;;
                --speed)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --flash-layout)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --prefer-flash-algorithm)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --binary-format)
                    COMPREPLY=($(compgen -W "target bin hex elf idf uf2" -- "${cur}"))
                    return 0
                    ;;
                --base-address)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --skip)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --idf-bootloader)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --idf-partition-table)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --idf-target-app-partition)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --idf-flash-mode)
                    COMPREPLY=($(compgen -W "qio qout dio dout" -- "${cur}"))
                    return 0
                    ;;
                --idf-flash-freq)
                    COMPREPLY=($(compgen -W "12mhz 15mhz 16mhz 20mhz 24mhz 26mhz 30mhz 40mhz 48mhz 60mhz 80mhz" -- "${cur}"))
                    return 0
                    ;;
                --skip-section)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --log-format)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --target-output-file)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --scan-region)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --rtt-channel-mode)
                    COMPREPLY=($(compgen -W "no-block-skip no-block-trim block-if-full" -- "${cur}"))
                    return 0
                    ;;
                --rtt-up-channels)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --rtt-down-channel)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --stack-frame-limit)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --semihosting-file)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --log-file)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --report)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                -r)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --host)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --token)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --preset)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        probe__subcmd__rs__subcmd__serve)
            opts="-r -h --log-file --log-to-folder --report --host --token --preset --help"
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                --log-file)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --report)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                -r)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --host)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --token)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --preset)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        probe__subcmd__rs__subcmd__trace)
            opts="-r -h --core --chip --chip-description-path --protocol --cycle-power --non-interactive --probe --speed --connect-under-reset --dry-run --allow-erase-all --log-file --log-to-folder --report --host --token --preset --help"
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                --core)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --chip)
                    COMPREPLY=($(probe-rs complete chip-list "${cur}"))
                    return 0
                    ;;
                --chip-description-path)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --protocol)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --probe)
                    COMPREPLY=($(probe-rs complete probe-list "${cur}"))
                    return 0
                    ;;
                --speed)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --log-file)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --report)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                -r)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --host)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --token)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --preset)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        probe__subcmd__rs__subcmd__verify)
            opts="-r -h --chip --chip-description-path --protocol --cycle-power --non-interactive --probe --speed --connect-under-reset --dry-run --allow-erase-all --binary-format --base-address --skip --idf-bootloader --idf-partition-table --idf-target-app-partition --idf-flash-mode --idf-flash-freq --skip-section --disable-progressbars --read-flasher-rtt --log-file --log-to-folder --report --host --token --preset --help"
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                --chip)
                    COMPREPLY=($(probe-rs complete chip-list "${cur}"))
                    return 0
                    ;;
                --chip-description-path)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --protocol)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --probe)
                    COMPREPLY=($(probe-rs complete probe-list "${cur}"))
                    return 0
                    ;;
                --speed)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --binary-format)
                    COMPREPLY=($(compgen -W "target bin hex elf idf uf2" -- "${cur}"))
                    return 0
                    ;;
                --base-address)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --skip)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --idf-bootloader)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --idf-partition-table)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --idf-target-app-partition)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --idf-flash-mode)
                    COMPREPLY=($(compgen -W "qio qout dio dout" -- "${cur}"))
                    return 0
                    ;;
                --idf-flash-freq)
                    COMPREPLY=($(compgen -W "12mhz 15mhz 16mhz 20mhz 24mhz 26mhz 30mhz 40mhz 48mhz 60mhz 80mhz" -- "${cur}"))
                    return 0
                    ;;
                --skip-section)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --log-file)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --report)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                -r)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --host)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --token)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --preset)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        probe__subcmd__rs__subcmd__write)
            opts="-r -h --core --chip --chip-description-path --protocol --cycle-power --non-interactive --probe --speed --connect-under-reset --dry-run --allow-erase-all --log-file --log-to-folder --report --host --token --preset --help b8 b16 b32 b64"
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                --core)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --chip)
                    COMPREPLY=($(probe-rs complete chip-list "${cur}"))
                    return 0
                    ;;
                --chip-description-path)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --protocol)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --probe)
                    COMPREPLY=($(probe-rs complete probe-list "${cur}"))
                    return 0
                    ;;
                --speed)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --log-file)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --report)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                -r)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --host)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --token)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --preset)
                    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 _probe-rs -o nosort -o bashdefault -o default probe-rs
else
    complete -F _probe-rs -o bashdefault -o default probe-rs
fi

