//
// This file is automatically generated by generate_auto_job.
// Edits will be automatically overwritten if the build is
// run in maintainer mode.
//
// clang-format off
//
static const std::vector AUTO_COMPLETION_ZSH = {
R"~(#compdef qpdf)~",
R"~(# qpdf zsh completion)~",
R"~(#)~",
R"~(# Most of this logic was generated by Anthropic Claude Opus 4.7. The)~",
R"~(# tabular data is automatically generated.)~",
R"~(#)~",
R"~(# Two usage modes:)~",
R"~(#   1. Source it at runtime (e.g. `source <(qpdf --completion-zsh)` in)~",
R"~(#      .zshrc, after `autoload -U compinit && compinit`). The compdef)~",
R"~(#      call at the bottom of this file registers the binding.)~",
R"~(#   2. Install this file as `_qpdf` in a directory on $fpath. The)~",
R"~(#      `#compdef qpdf` header above tells compinit to autoload it on)~",
R"~(#      demand; the explicit compdef call at the bottom is a harmless)~",
R"~(#      no-op in that mode.)~",
R"~()~",
R"~(_qpdf() {)~",
R"~(    emulate -L zsh)~",
R"~(    setopt local_options extended_glob no_sh_word_split)~",
R"~(    typeset -A opts arity values nexttab vnext)~",
R"~()~",
R"~(    _def() {)~",
R"~(        arity[$1.$2]=$3)~",
R"~(        values[$1.$2]=$4)~",
R"~(        nexttab[$1.$2]=$5)~",
R"~(    })~",
R"~()~",
R"~(    # BEGIN GENERATED)~",
    R"~(    opts[help]="--version --copyright --show-crypto --job-json-help --zopfli --json-help --completion-bash --completion-zsh --help")~",
    R"~(    opts[global]="--no-default-limits --parser-max-container-size --parser-max-container-size-damaged --parser-max-errors --parser-max-nesting --max-stream-filters")~",
    R"~(    opts[main]="--add-attachment --allow-weak-crypto --check --check-linearization --coalesce-contents --copy-attachments-from --decrypt --deterministic-id --empty --encrypt --externalize-inline-images --filtered-stream-data --flatten-rotation --generate-appearances --global --ignore-xref-streams --is-encrypted --json-input --keep-inline-images --linearize --list-attachments --newline-before-endstream --no-original-object-ids --no-warn --optimize-images --overlay --pages --password-is-hex-key --preserve-unreferenced --preserve-unreferenced-resources --progress --qdf --raw-stream-data --recompress-flate --remove-acroform --remove-info --remove-metadata --remove-page-labels --remove-structure --replace-input --report-memory-usage --requires-password --remove-restrictions --set-page-labels --show-encryption --show-encryption-key --show-linearization --show-npages --show-pages --show-xref --static-aes-iv --static-id --suppress-password-recovery --suppress-recovery --test-json-schema --underlay --verbose --warning-exit-0 --with-images --compression-level --jpeg-quality --encryption-file-password --force-version --ii-min-bytes --json-object --keep-files-open-threshold --min-version --oi-min-area --oi-min-height --oi-min-width --password --remove-attachment --rotate --show-attachment --show-object --copy-encryption --job-json-file --linearize-pass1 --password-file --update-from-json --json-stream-prefix --collate --split-pages --compress-streams --decode-level --flatten-annotations --json-key --json-stream-data --keep-files-open --normalize-content --object-streams --password-mode --remove-unreferenced-resources --stream-data --json --json-output")~",
    R"~(    opts[pages]="--range --password --file")~",
    R"~(    opts[encryption]="--user-password --owner-password --bits")~",
    R"~(    opts[40-bit-encryption]="--extract --annotate --print --modify")~",
    R"~(    opts[128-bit-encryption]="--cleartext-metadata --force-V4 --accessibility --extract --print --assemble --annotate --form --modify-other --modify --use-aes")~",
    R"~(    opts[256-bit-encryption]="--cleartext-metadata --force-R5 --allow-insecure --accessibility --extract --print --assemble --annotate --form --modify-other --modify")~",
    R"~(    opts[underlay/overlay]="--to --from --repeat --password --file")~",
    R"~(    opts[attachment]="--replace --key --filename --creationdate --moddate --mimetype --description")~",
    R"~(    opts[copy-attachment]="--prefix --password")~",
    R"~(    opts[set-page-labels]="")~",
    R"~(    _def help --version bare "none" "")~",
    R"~(    _def help --copyright bare "none" "")~",
    R"~(    _def help --show-crypto bare "none" "")~",
    R"~(    _def help --job-json-help bare "none" "")~",
    R"~(    _def help --zopfli bare "none" "")~",
    R"~(    _def help --json-help opt "1 2 latest" "")~",
    R"~(    _def global --no-default-limits bare "none" "")~",
    R"~(    _def global --parser-max-container-size req "none" "")~",
    R"~(    _def global --parser-max-container-size-damaged req "none" "")~",
    R"~(    _def global --parser-max-errors req "none" "")~",
    R"~(    _def global --parser-max-nesting req "none" "")~",
    R"~(    _def global --max-stream-filters req "none" "")~",
    R"~(    _def main --add-attachment bare "none" "attachment")~",
    R"~(    _def main --allow-weak-crypto bare "none" "")~",
    R"~(    _def main --check bare "none" "")~",
    R"~(    _def main --check-linearization bare "none" "")~",
    R"~(    _def main --coalesce-contents bare "none" "")~",
    R"~(    _def main --copy-attachments-from bare "none" "copy-attachment")~",
    R"~(    _def main --decrypt bare "none" "")~",
    R"~(    _def main --deterministic-id bare "none" "")~",
    R"~(    _def main --empty bare "none" "")~",
    R"~(    _def main --encrypt bare "none" "encryption")~",
    R"~(    _def main --externalize-inline-images bare "none" "")~",
    R"~(    _def main --filtered-stream-data bare "none" "")~",
    R"~(    _def main --flatten-rotation bare "none" "")~",
    R"~(    _def main --generate-appearances bare "none" "")~",
    R"~(    _def main --global bare "none" "")~",
    R"~(    _def main --ignore-xref-streams bare "none" "")~",
    R"~(    _def main --is-encrypted bare "none" "")~",
    R"~(    _def main --json-input bare "none" "")~",
    R"~(    _def main --keep-inline-images bare "none" "")~",
    R"~(    _def main --linearize bare "none" "")~",
    R"~(    _def main --list-attachments bare "none" "")~",
    R"~(    _def main --newline-before-endstream bare "none" "")~",
    R"~(    _def main --no-original-object-ids bare "none" "")~",
    R"~(    _def main --no-warn bare "none" "")~",
    R"~(    _def main --optimize-images bare "none" "")~",
    R"~(    _def main --overlay bare "none" "underlay/overlay")~",
    R"~(    _def main --pages bare "none" "pages")~",
    R"~(    _def main --password-is-hex-key bare "none" "")~",
    R"~(    _def main --preserve-unreferenced bare "none" "")~",
    R"~(    _def main --preserve-unreferenced-resources bare "none" "")~",
    R"~(    _def main --progress bare "none" "")~",
    R"~(    _def main --qdf bare "none" "")~",
    R"~(    _def main --raw-stream-data bare "none" "")~",
    R"~(    _def main --recompress-flate bare "none" "")~",
    R"~(    _def main --remove-acroform bare "none" "")~",
    R"~(    _def main --remove-info bare "none" "")~",
    R"~(    _def main --remove-metadata bare "none" "")~",
    R"~(    _def main --remove-page-labels bare "none" "")~",
    R"~(    _def main --remove-structure bare "none" "")~",
    R"~(    _def main --replace-input bare "none" "")~",
    R"~(    _def main --report-memory-usage bare "none" "")~",
    R"~(    _def main --requires-password bare "none" "")~",
    R"~(    _def main --remove-restrictions bare "none" "")~",
    R"~(    _def main --set-page-labels bare "none" "set-page-labels")~",
    R"~(    _def main --show-encryption bare "none" "")~",
    R"~(    _def main --show-encryption-key bare "none" "")~",
    R"~(    _def main --show-linearization bare "none" "")~",
    R"~(    _def main --show-npages bare "none" "")~",
    R"~(    _def main --show-pages bare "none" "")~",
    R"~(    _def main --show-xref bare "none" "")~",
    R"~(    _def main --static-aes-iv bare "none" "")~",
    R"~(    _def main --static-id bare "none" "")~",
    R"~(    _def main --suppress-password-recovery bare "none" "")~",
    R"~(    _def main --suppress-recovery bare "none" "")~",
    R"~(    _def main --test-json-schema bare "none" "")~",
    R"~(    _def main --underlay bare "none" "underlay/overlay")~",
    R"~(    _def main --verbose bare "none" "")~",
    R"~(    _def main --warning-exit-0 bare "none" "")~",
    R"~(    _def main --with-images bare "none" "")~",
    R"~(    _def main --compression-level req "none" "")~",
    R"~(    _def main --jpeg-quality req "none" "")~",
    R"~(    _def main --encryption-file-password req "none" "")~",
    R"~(    _def main --force-version req "none" "")~",
    R"~(    _def main --ii-min-bytes req "none" "")~",
    R"~(    _def main --json-object req "none" "")~",
    R"~(    _def main --keep-files-open-threshold req "none" "")~",
    R"~(    _def main --min-version req "none" "")~",
    R"~(    _def main --oi-min-area req "none" "")~",
    R"~(    _def main --oi-min-height req "none" "")~",
    R"~(    _def main --oi-min-width req "none" "")~",
    R"~(    _def main --password req "none" "")~",
    R"~(    _def main --remove-attachment req "none" "")~",
    R"~(    _def main --rotate req "none" "")~",
    R"~(    _def main --show-attachment req "none" "")~",
    R"~(    _def main --show-object req "none" "")~",
    R"~(    _def main --copy-encryption req "file" "")~",
    R"~(    _def main --job-json-file req "file" "")~",
    R"~(    _def main --linearize-pass1 req "file" "")~",
    R"~(    _def main --password-file req "file" "")~",
    R"~(    _def main --update-from-json req "file" "")~",
    R"~(    _def main --json-stream-prefix req "file" "")~",
    R"~(    _def main --collate opt "none" "")~",
    R"~(    _def main --split-pages opt "none" "")~",
    R"~(    _def main --compress-streams req "y n" "")~",
    R"~(    _def main --decode-level req "none generalized specialized all" "")~",
    R"~(    _def main --flatten-annotations req "all print screen" "")~",
    R"~(    _def main --json-key req "acroform attachments encrypt objectinfo objects outlines pagelabels pages qpdf" "")~",
    R"~(    _def main --json-stream-data req "none inline file" "")~",
    R"~(    _def main --keep-files-open req "y n" "")~",
    R"~(    _def main --normalize-content req "y n" "")~",
    R"~(    _def main --object-streams req "disable preserve generate" "")~",
    R"~(    _def main --password-mode req "bytes hex-bytes unicode auto" "")~",
    R"~(    _def main --remove-unreferenced-resources req "auto yes no" "")~",
    R"~(    _def main --stream-data req "compress preserve uncompress" "")~",
    R"~(    _def main --json opt "1 2 latest" "")~",
    R"~(    _def main --json-output opt "2 latest" "")~",
    R"~(    _def pages --range req "none" "")~",
    R"~(    _def pages --password req "none" "")~",
    R"~(    _def pages --file req "file" "")~",
    R"~(    _def encryption --user-password req "none" "")~",
    R"~(    _def encryption --owner-password req "none" "")~",
    R"~(    _def encryption --bits req "40 128 256" "@value")~",
    R"~(    _def 40-bit-encryption --extract req "y n" "")~",
    R"~(    _def 40-bit-encryption --annotate req "y n" "")~",
    R"~(    _def 40-bit-encryption --print req "y n" "")~",
    R"~(    _def 40-bit-encryption --modify req "y n" "")~",
    R"~(    _def 128-bit-encryption --cleartext-metadata bare "none" "")~",
    R"~(    _def 128-bit-encryption --force-V4 bare "none" "")~",
    R"~(    _def 128-bit-encryption --accessibility req "y n" "")~",
    R"~(    _def 128-bit-encryption --extract req "y n" "")~",
    R"~(    _def 128-bit-encryption --print req "full low none" "")~",
    R"~(    _def 128-bit-encryption --assemble req "y n" "")~",
    R"~(    _def 128-bit-encryption --annotate req "y n" "")~",
    R"~(    _def 128-bit-encryption --form req "y n" "")~",
    R"~(    _def 128-bit-encryption --modify-other req "y n" "")~",
    R"~(    _def 128-bit-encryption --modify req "all annotate form assembly none" "")~",
    R"~(    _def 128-bit-encryption --use-aes req "y n" "")~",
    R"~(    _def 256-bit-encryption --cleartext-metadata bare "none" "")~",
    R"~(    _def 256-bit-encryption --force-R5 bare "none" "")~",
    R"~(    _def 256-bit-encryption --allow-insecure bare "none" "")~",
    R"~(    _def 256-bit-encryption --accessibility req "y n" "")~",
    R"~(    _def 256-bit-encryption --extract req "y n" "")~",
    R"~(    _def 256-bit-encryption --print req "full low none" "")~",
    R"~(    _def 256-bit-encryption --assemble req "y n" "")~",
    R"~(    _def 256-bit-encryption --annotate req "y n" "")~",
    R"~(    _def 256-bit-encryption --form req "y n" "")~",
    R"~(    _def 256-bit-encryption --modify-other req "y n" "")~",
    R"~(    _def 256-bit-encryption --modify req "all annotate form assembly none" "")~",
    R"~(    _def underlay/overlay --to req "none" "")~",
    R"~(    _def underlay/overlay --from req "none" "")~",
    R"~(    _def underlay/overlay --repeat req "none" "")~",
    R"~(    _def underlay/overlay --password req "none" "")~",
    R"~(    _def underlay/overlay --file req "file" "")~",
    R"~(    _def attachment --replace bare "none" "")~",
    R"~(    _def attachment --key req "none" "")~",
    R"~(    _def attachment --filename req "none" "")~",
    R"~(    _def attachment --creationdate req "none" "")~",
    R"~(    _def attachment --moddate req "none" "")~",
    R"~(    _def attachment --mimetype req "none" "")~",
    R"~(    _def attachment --description req "none" "")~",
    R"~(    _def copy-attachment --prefix req "none" "")~",
    R"~(    _def copy-attachment --password req "none" "")~",
    R"~(    _def help --help opt "--accessibility --add-attachment --allow-insecure --allow-weak-crypto --annotate --assemble --bits --check --check-linearization --cleartext-metadata --coalesce-contents --collate --completion-bash --completion-zsh --compress-streams --compression-level --copy-attachments-from --copy-encryption --copyright --creationdate --decode-level --decrypt --description --deterministic-id --empty --encrypt --encryption-file-password --externalize-inline-images --extract --file --filename --filtered-stream-data --flatten-annotations --flatten-rotation --force-R5 --force-V4 --force-version --form --from --generate-appearances --global --help --ignore-xref-streams --ii-min-bytes --is-encrypted --job-json-file --job-json-help --jpeg-quality --json --json-help --json-input --json-key --json-object --json-output --json-stream-data --json-stream-prefix --keep-files-open --keep-files-open-threshold --keep-inline-images --key --linearize --linearize-pass1 --list-attachments --max-stream-filters --mimetype --min-version --moddate --modify --modify-other --newline-before-endstream --no-default-limits --no-original-object-ids --no-warn --normalize-content --object-streams --oi-min-area --oi-min-height --oi-min-width --optimize-images --overlay --owner-password --pages --parser-max-container-size --parser-max-container-size-damaged --parser-max-errors --parser-max-nesting --password --password-file --password-is-hex-key --password-mode --prefix --preserve-unreferenced --preserve-unreferenced-resources --print --progress --qdf --range --raw-stream-data --recompress-flate --remove-acroform --remove-attachment --remove-info --remove-metadata --remove-page-labels --remove-restrictions --remove-structure --remove-unreferenced-resources --repeat --replace --replace-input --report-memory-usage --requires-password --rotate --set-page-labels --show-attachment --show-crypto --show-encryption --show-encryption-key --show-linearization --show-npages --show-object --show-pages --show-xref --split-pages --static-aes-iv --static-id --stream-data --suppress-password-recovery --suppress-recovery --test-json-schema --to --underlay --update-from-json --use-aes --user-password --verbose --version --warning-exit-0 --with-images --zopfli add-attachment advanced-control all attachments completion copy-attachments encryption exit-status general global help inspection json modification overlay-underlay page-ranges page-selection pdf-dates testing transformation usage" "")~",
    R"~(    _def help --completion-bash bare "none" "")~",
    R"~(    _def help --completion-zsh bare "none" "")~",
    R"~(    vnext[encryption.--bits.40]=40-bit-encryption)~",
    R"~(    vnext[encryption.--bits.128]=128-bit-encryption)~",
    R"~(    vnext[encryption.--bits.256]=256-bit-encryption)~",
R"~(    # END GENERATED)~",
R"~()~",
R"~(    unfunction _def)~",
R"~()~",
R"~(    # ---- Walk prior words to determine active table -----------------------)~",
R"~(    # $words is the full command line, already unquoted by zsh.)~",
R"~(    local cur_table=main merge_help=1)~",
R"~(    integer i)~",
R"~(    local w opt val key nt)~",
R"~(    for (( i=2; i<CURRENT; i++ )); do)~",
R"~(        w=${words[i]})~",
R"~(        if [[ $w == "--" ]]; then)~",
R"~(            cur_table=main; merge_help=0; continue)~",
R"~(        fi)~",
R"~(        if [[ $w == --*=* ]]; then)~",
R"~(            opt=${w%%=*}; val=${w#*=})~",
R"~(        elif [[ $w == --* ]]; then)~",
R"~(            opt=$w; val="")~",
R"~(        else)~",
R"~(            merge_help=0; continue)~",
R"~(        fi)~",
R"~(        key="$cur_table.$opt")~",
R"~(        if [[ -z ${arity[$key]-} ]] && (( merge_help )); then)~",
R"~(            key="help.$opt")~",
R"~(        fi)~",
R"~(        merge_help=0)~",
R"~(        [[ -z ${arity[$key]-} ]] && continue)~",
R"~(        nt=${nexttab[$key]})~",
R"~(        if [[ $nt == "@value" ]]; then)~",
R"~(            [[ -n ${vnext[$key.$val]-} ]] && cur_table=${vnext[$key.$val]})~",
R"~(        elif [[ -n $nt ]]; then)~",
R"~(            cur_table=$nt)~",
R"~(        fi)~",
R"~(    done)~",
R"~(    (( CURRENT == 2 )) && merge_help=1)~",
R"~()~",
R"~(    local cur=${words[CURRENT]})~",
R"~()~",
R"~(    # ---- Dispatch ---------------------------------------------------------)~",
R"~(    if [[ $cur == --*=* ]]; then)~",
R"~(        opt=${cur%%=*}; val=${cur#*=})~",
R"~(        key="$cur_table.$opt")~",
R"~(        if [[ -z ${arity[$key]-} ]] && (( merge_help )); then)~",
R"~(            key="help.$opt")~",
R"~(        fi)~",
R"~(        [[ -z ${arity[$key]-} ]] && return 0)~",
R"~(        local vs=${values[$key]})~",
R"~(        case $vs in)~",
R"~(            none) return 0 ;;)~",
R"~(            file))~",
R"~(                # compset -P strips the --opt= from the completion context)~",
R"~(                # so _files sees only the value portion. _files handles)~",
R"~(                # shell quoting of paths with spaces/specials correctly.)~",
R"~(                compset -P '*=')~",
R"~(                _files)~",
R"~(                return 0)~",
R"~(                ;;)~",
R"~(            *))~",
R"~(                compset -P '*=')~",
R"~(                local -a choices=( ${=vs} ))~",
R"~(                compadd -a choices)~",
R"~(                return 0)~",
R"~(                ;;)~",
R"~(        esac)~",
R"~(    elif [[ $cur == --* || -z $cur ]]; then)~",
R"~(        local all=${opts[$cur_table]})~",
R"~(        (( merge_help )) && all+=" ${opts[help]}")~",
R"~(        local -a bare_opts req_opts opt_opts)~",
R"~(        local o k)~",
R"~(        for o in ${=all}; do)~",
R"~(            k="$cur_table.$o")~",
R"~(            [[ -z ${arity[$k]-} ]] && k="help.$o")~",
R"~(            case ${arity[$k]} in)~",
R"~(                bare) bare_opts+=( $o ) ;;)~",
R"~(                req)  req_opts+=( $o ) ;;)~",
R"~(                opt)  opt_opts+=( $o ) ;;)~",
R"~(            esac)~",
R"~(        done)~",
R"~(        (( $#bare_opts )) && compadd -- $bare_opts)~",
R"~(        (( $#req_opts )) && compadd -S '=' -- $req_opts)~",
R"~(        # For opt arity, offer both forms explicitly (matching bash): the)~",
R"~(        # bare "--opt" and "--opt=" with a removable-on-space '=' suffix.)~",
R"~(        (( $#opt_opts )) && compadd -- $opt_opts)~",
R"~(        (( $#opt_opts )) && compadd -qS '=' -- $opt_opts)~",
R"~(        # If the cur is entirely empty and we're at a positional slot,)~",
R"~(        # also offer file completion.)~",
R"~(        [[ -z $cur ]] && _files)~",
R"~(        return 0)~",
R"~(    else)~",
R"~(        _files)~",
R"~(        return 0)~",
R"~(    fi)~",
R"~(})~",
R"~()~",
R"~(if (( $+functions[compdef] )); then)~",
R"~(    compdef _qpdf qpdf)~",
R"~(fi)~",
};
