(command.AndOr ops: [Op_DAmp] children: [ (command.FuncDef name: _curl body: (command.BraceGroup children: [ (command.Assignment keyword: Assign_Local pairs: [ (assign_pair lhs:(lhs_expr.LhsName name:cur) op:Equal) (assign_pair lhs:(lhs_expr.LhsName name:prev) op:Equal) (assign_pair lhs:(lhs_expr.LhsName name:words) op:Equal) (assign_pair lhs:(lhs_expr.LhsName name:cword) op:Equal) ] ) (command.AndOr ops: [Op_DPipe] children: [ (C {(_init_completion)}) (command.ControlFlow token:<ControlFlow_Return return>) ] ) (command.Case to_match: {($ VSub_DollarName '$prev')} arms: [ (case_arm pat_list: [ {(--ciphers)} {(--connect-timeout)} {(-C)} {(--continue-at)} {(-F)} {(--form)} {(--form-string)} {(--ftp-account)} {(--ftp-alternative-to-user)} {(-P)} {(--ftp-port)} {(-H)} {(--header)} {(-h)} {(--help)} {(--hostpubmd5)} {(--keepalive-time)} {(--krb)} {(--limit-rate)} {(--local-port)} {(--mail-from)} {(--mail-rcpt)} {(--max-filesize)} {(--max-redirs)} {(-m)} {(--max-time)} {(--pass)} {(--proto)} {(--proto-redir)} {(--proxy-user)} {(--proxy1.0)} {(-Q)} {(--quote)} {(-r)} {(--range)} {(-X)} {(--request)} {(--retry)} {(--retry-delay)} {(--retry-max-time)} {(--socks5-gssapi-service)} {(-t)} {(--telnet-option)} {(--tftp-blksize)} {(-z)} {(--time-cond)} {(--url)} {(-u)} {(--user)} {(-A)} {(--user-agent)} {(-V)} {(--version)} {(-w)} {(--write-out)} {(--resolve)} {(--tlsuser)} {(--tlspassword)} ] action: [(command.ControlFlow token:<ControlFlow_Return return>)] ) (case_arm pat_list: [ {(-K)} {(--config)} {(-b)} {(--cookie)} {(-c)} {(--cookie-jar)} {(-D)} {(--dump-header)} {(--egd-file)} {(--key)} {(--libcurl)} {(-o)} {(--output)} {(--random-file)} {(-T)} {(--upload-file)} {(--trace)} {(--trace-ascii)} {(--netrc-file)} ] action: [(C {(_filedir)}) (command.ControlFlow token:<ControlFlow_Return return>)] ) (case_arm pat_list: [{(--cacert)} {(-E)} {(--cert)}] action: [ (C {(_filedir)} {(SQ <'@(c?(e)rt|cer|pem|der)'>)}) (command.ControlFlow token:<ControlFlow_Return return>) ] ) (case_arm pat_list: [{(--capath)}] action: [ (C {(_filedir)} {(-d)}) (command.ControlFlow token:<ControlFlow_Return return>) ] ) (case_arm pat_list: [{(--cert-type)} {(--key-type)}] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:COMPREPLY) op: Equal rhs: { (word_part.ArrayLiteralPart words: [ { (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} {(SQ <'DER PEM ENG'>)} {(--)} {(DQ ($ VSub_DollarName '$cur'))} ) ] ) left_token: <Left_CommandSub '$('> ) } ] ) } ) ] ) (command.ControlFlow token:<ControlFlow_Return return>) ] ) (case_arm pat_list: [{(--crlfile)}] action: [ (C {(_filedir)} {(crl)}) (command.ControlFlow token:<ControlFlow_Return return>) ] ) (case_arm pat_list: [{(-d)} {(--data)} {(--data-ascii)} {(--data-binary)} {(--data-urlencode)}] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.BoolBinary op_id: BoolBinary_GlobDEqual left: {($ VSub_DollarName '$cur')} right: {(word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\@'>) (Lit_Other '*') } ) ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:cur) op: Equal rhs: { (word_part.BracedVarSub token: <VSub_Name cur> suffix_op: (suffix_op.Slice begin: (arith_expr.ArithWord w:{(Lit_Digits 1)}) ) ) } ) ] ) (C {(_filedir)}) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:COMPREPLY) op: Equal rhs: { (word_part.ArrayLiteralPart words: [ { (DQ (word_part.BracedVarSub token: <VSub_Name COMPREPLY> bracket_op: (bracket_op.WholeArray op_id:Lit_At) suffix_op: (suffix_op.PatSub pat: {} replace: {('@')} replace_mode: Lit_Pound ) ) ) } ] ) } ) ] ) ] ) ] ) (command.ControlFlow token:<ControlFlow_Return return>) ] ) (case_arm pat_list: [{(--delegation)}] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:COMPREPLY) op: Equal rhs: { (word_part.ArrayLiteralPart words: [ { (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} {(SQ <'none policy always'>)} {(--)} {(DQ ($ VSub_DollarName '$cur'))} ) ] ) left_token: <Left_CommandSub '$('> ) } ] ) } ) ] ) (command.ControlFlow token:<ControlFlow_Return return>) ] ) (case_arm pat_list: [{(--engine)}] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:COMPREPLY) op: Equal rhs: { (word_part.ArrayLiteralPart words: [ { (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} {(SQ <list>)} {(--)} {(DQ ($ VSub_DollarName '$cur'))} ) ] ) left_token: <Left_CommandSub '$('> ) } ] ) } ) ] ) (command.ControlFlow token:<ControlFlow_Return return>) ] ) (case_arm pat_list: [{(--ftp-method)}] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:COMPREPLY) op: Equal rhs: { (word_part.ArrayLiteralPart words: [ { (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} {(SQ <'multicwd nocwd singlecwd'>)} {(--)} {(DQ ($ VSub_DollarName '$cur'))} ) ] ) left_token: <Left_CommandSub '$('> ) } ] ) } ) ] ) (command.ControlFlow token:<ControlFlow_Return return>) ] ) (case_arm pat_list: [{(--ftp-ssl-ccc-mode)}] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:COMPREPLY) op: Equal rhs: { (word_part.ArrayLiteralPart words: [ { (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} {(SQ <'active passive'>)} {(--)} {(DQ ($ VSub_DollarName '$cur'))} ) ] ) left_token: <Left_CommandSub '$('> ) } ] ) } ) ] ) (command.ControlFlow token:<ControlFlow_Return return>) ] ) (case_arm pat_list: [{(--interface)}] action: [ (C {(_available_interfaces)} {(-a)}) (command.ControlFlow token:<ControlFlow_Return return>) ] ) (case_arm pat_list: [ {(-x)} {(--proxy)} {(--socks4)} {(--socks4a)} {(--socks5)} {(--socks5-hostname)} ] action: [ (C {(_known_hosts_real)}) (command.ControlFlow token:<ControlFlow_Return return>) ] ) (case_arm pat_list: [{(--pubkey)}] action: [ (C {(_filedir)} {(pub)}) (command.ControlFlow token:<ControlFlow_Return return>) ] ) (case_arm pat_list: [{(--stderr)}] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:COMPREPLY) op: Equal rhs: { (word_part.ArrayLiteralPart words: [ { (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} {(SQ <->)} {(--)} {(DQ ($ VSub_DollarName '$cur'))} ) ] ) left_token: <Left_CommandSub '$('> ) } ] ) } ) ] ) (C {(_filedir)}) (command.ControlFlow token:<ControlFlow_Return return>) ] ) (case_arm pat_list: [{(--tlsauthtype)}] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:COMPREPLY) op: Equal rhs: { (word_part.ArrayLiteralPart words: [ { (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} {(SQ <SRP>)} {(--)} {(DQ ($ VSub_DollarName '$cur'))} ) ] ) left_token: <Left_CommandSub '$('> ) } ] ) } ) ] ) (command.ControlFlow token:<ControlFlow_Return return>) ] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.BoolBinary op_id: BoolBinary_GlobDEqual left: {($ VSub_DollarName '$cur')} right: {(-) (Lit_Other '*')} ) ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:COMPREPLY) op: Equal rhs: { (word_part.ArrayLiteralPart words: [ { (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} {(SQ <'$( _parse_help "$1" )'>)} {(--)} {(DQ ($ VSub_DollarName '$cur'))} ) ] ) left_token: <Left_CommandSub '$('> ) } ] ) } ) ] ) ] ) ] ) ] ) ) (C {(complete)} {(-F)} {(_curl)} {(curl)}) ] )