(command.CommandList
  children: [
    (command.Simple blame_tok:<set> more_env:[] words:[{<set>} {<-e>}] redirects:[] do_fork:T)
    (command.Case
      case_kw: <Id.KW_Case case>
      to_match: (case_arg.Word w:{($ Id.VSub_Pound '#')})
      arms_start: <Id.KW_In in>
      arms: [
        (CaseArm
          left: <0>
          pattern: (pat.Words words:[{<0>}])
          middle: <Id.Right_CasePat _>
          action: [
            (command.Simple
              blame_tok: <echo>
              more_env: []
              words: [{<echo>} {(DQ <'usage: '> ($ Id.VSub_Number 0) <' input-file <config-file>'>)}]
              redirects: [(Redir op:<Id.Redir_GreatAnd '1>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})]
              do_fork: T
            )
            (command.ControlFlow keyword:<Id.ControlFlow_Exit exit> arg_word:{<1>})
          ]
          right: <Id.Op_DSemi _>
        )
      ]
      arms_end: <Id.KW_Esac esac>
      redirects: []
    )
    (command.If
      if_kw: <Id.KW_If if>
      arms: [
        (IfArm
          keyword: <Id.KW_If if>
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (command.Simple
                      blame_tok: <Id.Lit_LBracket '['>
                      more_env: []
                      words: [
                        {<Id.Lit_LBracket '['>}
                        {<-n>}
                        {(DQ ($ Id.VSub_Number 2))}
                        {<-a>}
                        {<-f>}
                        {(DQ ($ Id.VSub_Number 2))}
                        {<Id.Lit_RBracket ']'>}
                      ]
                      redirects: []
                      do_fork: T
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          then_kw: <Id.KW_Then then>
          action: [
            (command.Simple
              blame_tok: <.>
              more_env: []
              words: [{<.>} {($ Id.VSub_Number 2)}]
              redirects: []
              do_fork: T
            )
          ]
          spids: [47 68]
        )
      ]
      else_action: []
      fi_kw: <Id.KW_Fi fi>
      redirects: []
    )
    (command.Pipeline
      children: [
        (command.Simple
          blame_tok: <sed>
          more_env: []
          words: [
            {<sed>}
            {<-e>}
            {
              (SQ <'\n'> <'s/\\$//g\n'> <':join\n'> <'\t/\\\\$/{a\\\n'> <'\n'> <'\tN\n'> 
                <'\ts/\\\\\\n//\n'> <'\tb join\n'> <'\t}\n'> <'2,${\n'> <'\t/^#/!s/\\([{}()*,]\\)/ \\1 /g\n'> <'}\n'>
              )
            }
          ]
          redirects: [(Redir op:<Id.Redir_Less '<'> loc:(redir_loc.Fd fd:0) arg:{($ Id.VSub_Number 1)})]
          do_fork: T
        )
        (command.Simple
          blame_tok: <awk>
          more_env: []
          words: [
            {<awk>}
            {
              (SQ <'\n'> <'\tBEGIN {\n'> <'\t\tprintf "#include <sys/param.h>\\n"\n'> 
                <'\t\tprintf "#include <machine/atomic.h>\\n"\n'> <'\t\tprintf "\\n"\n'> <'\t\tprintf "#include <sys/_semaphore.h>\\n"\n'> 
                <'\t\tprintf "#include <sys/aio.h>\\n"\n'> <'\t\tprintf "#include <sys/cpuset.h>\\n"\n'> <'\t\tprintf "#include <sys/jail.h>\\n"\n'> 
                <'\t\tprintf "#include <sys/linker.h>\\n"\n'> <'\t\tprintf "#include <sys/mac.h>\\n"\n'> <'\t\tprintf "#include <sys/module.h>\\n"\n'> 
                <'\t\tprintf "#include <sys/mount.h>\\n"\n'> <'\t\tprintf "#include <sys/mqueue.h>\\n"\n'> <'\t\tprintf "#include <sys/msg.h>\\n"\n'> 
                <'\t\tprintf "#include <sys/poll.h>\\n"\n'> <'\t\tprintf "#include <sys/proc.h>\\n"\n'> <'\t\tprintf "#include <sys/resource.h>\\n"\n'> 
                <'\t\tprintf "#include <sys/sem.h>\\n"\n'> <'\t\tprintf "#include <sys/shm.h>\\n"\n'> <'\t\tprintf "#include <sys/signal.h>\\n"\n'> 
                <'\t\tprintf "#include <sys/signalvar.h>\\n"\n'> <'\t\tprintf "#include <sys/socket.h>\\n"\n'> <'\t\tprintf "#include <sys/stat.h>\\n"\n'> 
                <'\t\tprintf "#include <sys/thr.h>\\n"\n'> <'\t\tprintf "#include <sys/time.h>\\n"\n'> <'\t\tprintf "#include <sys/timex.h>\\n"\n'> 
                <'\t\tprintf "#include <sys/timeffc.h>\\n"\n'> <'\t\tprintf "#include <sys/ucontext.h>\\n"\n'> <'\t\tprintf "#include <sys/utsname.h>\\n"\n'> 
                <'\t\tprintf "#include <sys/uuid.h>\\n"\n'> <'\t\tprintf "#include <sys/wait.h>\\n"\n'> <'\t\tprintf "\\n"\n'> 
                <'\t\tprintf "#ifndef _ACL_PRIVATE\\n"\n'> <'\t\tprintf "#define _ACL_PRIVATE\\n"\n'> <'\t\tprintf "#endif\\n"\n'> 
                <'\t\tprintf "#include <sys/acl.h>\\n"\n'> <'\t\tprintf "\\n"\n'> <'\t\tprintf "#ifndef EBUSY\\n"\n'> <'\t\tprintf "#define errno 0\\n"\n'> 
                <'\t\tprintf "#define EBUSY 0\\n"\n'> <'\t\tprintf "#endif\\n"\n'> <'\t\tprintf "#include <sys/umtx.h>\\n"\n'> <'\t\tprintf "\\n"\n'> 
                <'\t\t# existing compat shims\n'> <'\t\tprintf "struct ostat;\\n"\n'> <'\t\tprintf "struct nstat;\\n"\n'> 
                <'\t\tprintf "struct ostatfs;\\n"\n'> <'\t\tprintf "struct osigaction;\\n"\n'> <'\t\tprintf "struct osigcontext;\\n"\n'> 
                <'\t\tprintf "struct oaiocb;\\n"\n'> <'\t\tprintf "union semun_old;\\n"\n'> <'\t\tprintf "typedef unsigned int osigset_t;\\n"\n'> 
                <'\t\tprintf "struct msqid_ds_old;\\n"\n'> <'\t\tprintf "struct shmid_ds_old;\\n"\n'> <'\t\t# TODO\n'> <'\t\tprintf "struct ucontext4;\\n"\n'> 
                <'\t\tprintf "struct sctp_sndrcvinfo;\\n"\n'> <'\t\tprintf "\\n"\n'> <'\t}\n'> <'\tNF < 4 || $1 !~ /^[0-9]+$/ {\n'> <'\t\tnext\n'> <'\t}\n'> 
                <'\t$3 ~ "UNIMPL" || $3 ~ "OBSOL" || $3 ~ "NODEF" || $3 ~ "NOPROTO" ||\n'> <'\t$3 ~ "NOSTD"{\n'> <'\t\tnext\n'> <'\t}\n'> <'\t$4 == "{" {\n'> <'\t\tif ($3 ~ /COMPAT[0-9]*/) {\n'> 
                <'\t\t\tn = split($3, flags, /\\|/)\n'> <'\t\t\tfor (i = 1; i <= n; i++) {\n'> <'\t\t\t\tif (flags[i] == "COMPAT") {\n'> 
                <'\t\t\t\t\t$6 = "o" $6\n'> <'\t\t\t\t} else if (flags[i] ~ /COMPAT[0-9]+/) {\n'> 
                <'\t\t\t\t\tsub(/COMPAT/, "freebsd", flags[i])\n'> <'\t\t\t\t\t$6 = flags[i] "_" $6\n'> <'\t\t\t\t}\n'> <'\t\t\t}\n'> <'\t\t}\n'> 
                <'\t\t$6 = "__sysfake_" $6\n'> <'\t\tr = ""\n'> <'\t\tif ($5 != "void")\n'> <'\t\t\tr = "0"\n'> <'\t\tdef = ""\n'> <'\t\timpl = ""\n'> 
                <'\t\tfor ( i = 5; i <= NF; i++) {\n'> <'\t\t\tif ($i == ";")\n'> <'\t\t\t\tbreak;\n'> <'\t\t\tif ($i == "," || $i == ")")\n'> 
                <'\t\t\t\timpl = impl " __unused"\n'> <'\t\t\timpl = impl " " $i\n'> <'\t\t\tdef = def " " $i\n'> <'\t\t}\n'> <'\t\tprintf "%s;\\n", def\n'> 
                <'\t\tprintf "%s\\n{ return %s; }\\n", impl, r\n'> <'\t\tnext\n'> <'\t}\n'> <'\t{\n'> <'\t\tprintf "invalid line: "\n'> <'\t\tprint\n'> <'\t}\n'>
              )
            }
          ]
          redirects: []
          do_fork: T
        )
      ]
      ops: [<Id.Op_Pipe _>]
    )
  ]
)