(command.CommandList
  children: [
    (C {<mirror_style>} {<release>})
    (C {<download_style>} {<apt>})
    (C {<finddebs_style>} {<from-indices>})
    (C {<variants>} {<->} {<buildd>} {<fakechroot>} {<minbase>})
    (C {<keyring>} {<'/usr/share/keyrings/tanglu-archive-keyring.gpg'>})
    (C {<default_mirror>} {<http> <Id.Lit_Colon ':'> <'//archive.tanglu.org/tanglu'>})
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: (C {<doing_variant>} {<fakechroot>})
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          action: [
            (command.AndOr
              ops: [Id.Op_DPipe]
              children: [
                (C {<test>} {(DQ ($ Id.VSub_DollarName '$FAKECHROOT'))} {<Id.Lit_Equals '='>} 
                  {(DQ <true>)}
                )
                (C {<error>} {<1>} {<FAKECHROOTREQ>} 
                  {(DQ <'This variant requires fakechroot environment to be started'>)}
                )
              ]
            )
          ]
          spids: [33 40]
        )
      ]
    )
    (command.Case
      to_match: {($ Id.VSub_DollarName '$ARCH')}
      arms: [
        (case_arm
          pat_list: [{<alpha>} {<ia64>}]
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:LIBC)
                  op: assign_op.Equal
                  rhs: {(DQ <libc6.1>)}
                  spids: [82]
                )
              ]
            )
          ]
          spids: [77 80 87 -1]
        )
        (case_arm
          pat_list: [{<kfreebsd-> <Id.Lit_Star '*'>}]
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:LIBC)
                  op: assign_op.Equal
                  rhs: {(DQ <libc0.1>)}
                  spids: [94]
                )
              ]
            )
          ]
          spids: [90 92 99 -1]
        )
        (case_arm
          pat_list: [{<hurd-> <Id.Lit_Star '*'>}]
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:LIBC)
                  op: assign_op.Equal
                  rhs: {(DQ <libc0.3>)}
                  spids: [106]
                )
              ]
            )
          ]
          spids: [102 104 111 -1]
        )
        (case_arm
          pat_list: [{<Id.Lit_Star '*'>}]
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:LIBC)
                  op: assign_op.Equal
                  rhs: {(DQ <libc6>)}
                  spids: [117]
                )
              ]
            )
          ]
          spids: [114 115 122 -1]
        )
      ]
    )
    (command.ShFunction
      name: work_out_debs
      body: 
        (BraceGroup
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:required)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (DQ 
                        (command_sub
                          left_token: <Id.Left_DollarParen '$('>
                          child: (C {<get_debs>} {<Priority> <Id.Lit_Colon ':'>} {<required>})
                        )
                      )
                    }
                  spids: [135]
                )
              ]
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<doing_variant>} {<->})
                                (C {<doing_variant>} {<fakechroot>})
                              ]
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:base)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ 
                                (command_sub
                                  left_token: <Id.Left_DollarParen '$('>
                                  child: (C {<get_debs>} {<Priority> <Id.Lit_Colon ':'>} {<important>})
                                )
                              )
                            }
                          spids: [173]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:base)
                          op: assign_op.Equal
                          rhs: {(DQ ($ Id.VSub_DollarName '$base') <' tanglu-minimal'>)}
                          spids: [191]
                        )
                      ]
                    )
                  ]
                  spids: [149 162]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: (C {<doing_variant>} {<buildd>})
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:base)
                          op: assign_op.Equal
                          rhs: {(DQ <'apt build-essential'>)}
                          spids: [208]
                        )
                      ]
                    )
                  ]
                  spids: [198 205]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: (C {<doing_variant>} {<minbase>})
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:base)
                          op: assign_op.Equal
                          rhs: {(DQ <apt>)}
                          spids: [224]
                        )
                      ]
                    )
                  ]
                  spids: [214 221]
                )
              ]
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: (C {<doing_variant>} {<fakechroot>})
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:required)
                          op: assign_op.Equal
                          rhs: {(DQ ($ Id.VSub_DollarName '$required') <' binutils'>)}
                          spids: [248]
                        )
                      ]
                    )
                  ]
                  spids: [234 241]
                )
              ]
            )
            (command.Case
              to_match: {($ Id.VSub_DollarName '$MIRRORS')}
              arms: [
                (case_arm
                  pat_list: [{<https> <Id.Lit_Colon ':'> <'//'> <Id.Lit_Star '*'>}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:base)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ ($ Id.VSub_DollarName '$base') 
                                <' apt-transport-https ca-certificates'>
                              )
                            }
                          spids: [273]
                        )
                      ]
                    )
                  ]
                  spids: [266 270 280 -1]
                )
              ]
            )
          ]
        )
    )
    (command.ShFunction
      name: first_stage_install
      body: 
        (BraceGroup
          children: [
            (C {<extract>} {($ Id.VSub_DollarName '$required')})
            (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName '$TARGET') <'/var/lib/dpkg'>)})
            (command.Simple
              words: [{<Id.Lit_Colon ':'>}]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {(DQ ($ Id.VSub_DollarName '$TARGET') <'/var/lib/dpkg/status'>)}
                )
              ]
              do_fork: T
            )
            (command.Simple
              words: [{<Id.Lit_Colon ':'>}]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {(DQ ($ Id.VSub_DollarName '$TARGET') <'/var/lib/dpkg/available'>)}
                )
              ]
              do_fork: T
            )
            (C {<setup_etc>})
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-e>} 
                              {(DQ ($ Id.VSub_DollarName '$TARGET') <'/etc/fstab'>)} {<Id.Lit_RBracket ']'>}
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.Simple
                      words: [{<echo>} {(SQ <'# UNCONFIGURED FSTAB FOR BASE SYSTEM'>)}]
                      redirects: [
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {(DQ ($ Id.VSub_DollarName '$TARGET') <'/etc/fstab'>)}
                        )
                      ]
                      do_fork: T
                    )
                    (command.Sentence
                      child: 
                        (C {<chown>} {<0> <Id.Lit_Colon ':'> <0>} 
                          {(DQ ($ Id.VSub_DollarName '$TARGET') <'/etc/fstab'>)}
                        )
                      terminator: <Id.Op_Semi _>
                    )
                    (C {<chmod>} {<644>} {(DQ ($ Id.VSub_DollarName '$TARGET') <'/etc/fstab'>)})
                  ]
                  spids: [334 350]
                )
              ]
            )
            (C {<setup_devices>})
            (command.ShFunction
              name: x_feign_install
              body: 
                (BraceGroup
                  children: [
                    (C {<local>} {<Id.Lit_VarLike 'pkg='> (DQ ($ Id.VSub_Number '$1'))})
                    (C {<local>} 
                      {<Id.Lit_VarLike 'deb='> 
                        (DQ 
                          (command_sub
                            left_token: <Id.Left_DollarParen '$('>
                            child: (C {<debfor>} {($ Id.VSub_DollarName '$pkg')})
                          )
                        )
                      }
                    )
                    (C {<local>} 
                      {<Id.Lit_VarLike 'ver='> 
                        (DQ 
                          (command_sub
                            left_token: <Id.Left_DollarParen '$('>
                            child: 
                              (C {<extract_deb_field>} 
                                {
                                  (DQ ($ Id.VSub_DollarName '$TARGET') <'/'> 
                                    ($ Id.VSub_DollarName '$deb')
                                  )
                                } {<Version>}
                              )
                          )
                        )
                      }
                    )
                    (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName '$TARGET') <'/var/lib/dpkg/info'>)})
                    (command.Simple
                      words: [
                        {<echo>}
                        {
                          (DQ <'Package: '> ($ Id.VSub_DollarName '$pkg') <'\n'> <'Version: '> 
                            ($ Id.VSub_DollarName '$ver') <'\n'> <'Maintainer: unknown\n'> <'Status: install ok installed'>
                          )
                        }
                      ]
                      redirects: [
                        (redir
                          op: <Id.Redir_DGreat '>>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {(DQ ($ Id.VSub_DollarName '$TARGET') <'/var/lib/dpkg/status'>)}
                        )
                      ]
                      do_fork: T
                    )
                    (C {<touch>} 
                      {
                        (DQ ($ Id.VSub_DollarName '$TARGET') <'/var/lib/dpkg/info/'> 
                          (${ Id.VSub_Name pkg) <.list>
                        )
                      }
                    )
                  ]
                )
            )
            (C {<x_feign_install>} {<dpkg>})
          ]
        )
    )
    (command.ShFunction
      name: second_stage_install
      body: 
        (BraceGroup
          children: [
            (C {<setup_dynamic_devices>})
            (command.ShFunction
              name: x_core_install
              body: 
                (BraceGroup
                  children: [
                    (command.Pipeline
                      children: [
                        (C {<smallyes>} {(SQ )})
                        (C {<in_target>} {<dpkg>} {<--force-depends>} {<--install>} 
                          {
                            (command_sub
                              left_token: <Id.Left_DollarParen '$('>
                              child: (C {<debfor>} {(DQ ($ Id.VSub_At '$@'))})
                            )
                          }
                        )
                      ]
                      negated: F
                    )
                  ]
                )
            )
            (command.ShFunction
              name: p
              body: 
                (BraceGroup
                  children: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:baseprog)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ 
                                (word_part.ArithSub
                                  anode: 
                                    (arith_expr.Binary
                                      op_id: Id.Arith_Plus
                                      left: {($ Id.VSub_DollarName '$baseprog')}
                                      right: 
                                        {
                                          (braced_var_sub
                                            token: <Id.VSub_Number 1>
                                            suffix_op: 
                                              (suffix_op.Unary
                                                tok: <Id.VTest_ColonHyphen ':-'>
                                                arg_word: {<1>}
                                              )
                                          )
                                        }
                                    )
                                )
                              )
                            }
                          spids: [557]
                        )
                      ]
                    )
                  ]
                )
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: (C {<doing_variant>} {<fakechroot>})
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [(C {<setup_proc_fakechroot>})]
                  spids: [578 585]
                )
              ]
              else_action: [(C {<setup_proc>}) (C {<in_target>} {<'/sbin/ldconfig'>})]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:DEBIAN_FRONTEND)
                  op: assign_op.Equal
                  rhs: {<noninteractive>}
                  spids: [606]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:DEBCONF_NONINTERACTIVE_SEEN)
                  op: assign_op.Equal
                  rhs: {<true>}
                  spids: [610]
                )
              ]
            )
            (C {<export>} {<DEBIAN_FRONTEND>} {<DEBCONF_NONINTERACTIVE_SEEN>})
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:baseprog)
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [622]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:bases)
                  op: assign_op.Equal
                  rhs: {<7>}
                  spids: [626]
                )
              ]
            )
            (command.Sentence child:(C {<p>}) terminator:<Id.Op_Semi _>)
            (C {<progress>} {($ Id.VSub_DollarName '$baseprog')} {($ Id.VSub_DollarName '$bases')} 
              {<INSTCORE>} {(DQ <'Installing core packages'>)}
            )
            (C {<info>} {<INSTCORE>} {(DQ <'Installing core packages...'>)})
            (command.Sentence child:(C {<p>}) terminator:<Id.Op_Semi _>)
            (C {<progress>} {($ Id.VSub_DollarName '$baseprog')} {($ Id.VSub_DollarName '$bases')} 
              {<INSTCORE>} {(DQ <'Installing core packages'>)}
            )
            (C {<ln>} {<-sf>} {<mawk>} {(DQ ($ Id.VSub_DollarName '$TARGET') <'/usr/bin/awk'>)})
            (C {<x_core_install>} {<base-passwd>})
            (C {<x_core_install>} {<base-files>})
            (command.Sentence child:(C {<p>}) terminator:<Id.Op_Semi _>)
            (C {<progress>} {($ Id.VSub_DollarName '$baseprog')} {($ Id.VSub_DollarName '$bases')} 
              {<INSTCORE>} {(DQ <'Installing core packages'>)}
            )
            (C {<x_core_install>} {<dpkg>})
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-e>} 
                              {(DQ ($ Id.VSub_DollarName '$TARGET') <'/etc/localtime'>)} {<Id.Lit_RBracket ']'>}
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<ln>} {<-sf>} {<'/usr/share/zoneinfo/UTC'>} 
                      {(DQ ($ Id.VSub_DollarName '$TARGET') <'/etc/localtime'>)}
                    )
                  ]
                  spids: [726 742]
                )
              ]
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: (C {<doing_variant>} {<fakechroot>})
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [(C {<install_fakechroot_tools>})]
                  spids: [761 768]
                )
              ]
            )
            (command.Sentence child:(C {<p>}) terminator:<Id.Op_Semi _>)
            (C {<progress>} {($ Id.VSub_DollarName '$baseprog')} {($ Id.VSub_DollarName '$bases')} 
              {<INSTCORE>} {(DQ <'Installing core packages'>)}
            )
            (C {<x_core_install>} {($ Id.VSub_DollarName '$LIBC')})
            (command.Sentence child:(C {<p>}) terminator:<Id.Op_Semi _>)
            (C {<progress>} {($ Id.VSub_DollarName '$baseprog')} {($ Id.VSub_DollarName '$bases')} 
              {<INSTCORE>} {(DQ <'Installing core packages'>)}
            )
            (C {<x_core_install>} {<perl-base>})
            (command.Sentence child:(C {<p>}) terminator:<Id.Op_Semi _>)
            (C {<progress>} {($ Id.VSub_DollarName '$baseprog')} {($ Id.VSub_DollarName '$bases')} 
              {<INSTCORE>} {(DQ <'Installing core packages'>)}
            )
            (C {<rm>} {(DQ ($ Id.VSub_DollarName '$TARGET') <'/usr/bin/awk'>)})
            (C {<x_core_install>} {<mawk>})
            (command.Sentence child:(C {<p>}) terminator:<Id.Op_Semi _>)
            (C {<progress>} {($ Id.VSub_DollarName '$baseprog')} {($ Id.VSub_DollarName '$bases')} 
              {<INSTCORE>} {(DQ <'Installing core packages'>)}
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: (C {<doing_variant>} {<->})
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [(C {<x_core_install>} {<debconf>})]
                  spids: [880 887]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:baseprog)
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [899]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:bases)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_DollarParen '$('>
                        child: 
                          (command.CommandList
                            children: [
                              (command.Sentence
                                child: (C {<set>} {<-->} {($ Id.VSub_DollarName '$required')})
                                terminator: <Id.Op_Semi _>
                              )
                              (C {<echo>} {($ Id.VSub_Pound '$#')})
                            ]
                          )
                      )
                    }
                  spids: [903]
                )
              ]
            )
            (C {<info>} {<UNPACKREQ>} {(DQ <'Unpacking required packages...'>)})
            (command.Simple
              words: [{<exec>}]
              redirects: [(redir op:<Id.Redir_GreatAnd '7>&'> loc:(redir_loc.Fd fd:7) arg:{<1>})]
              do_fork: T
            )
            (command.Pipeline
              children: [
                (C {<smallyes>} {(SQ )})
                (command.Subshell
                  child: 
                    (command.AndOr
                      ops: [Id.Op_DPipe]
                      children: [
                        (command.Simple
                          words: [
                            {<repeatn>}
                            {<5>}
                            {<in_target_failmsg>}
                            {<UNPACK_REQ_FAIL_FIVE>}
                            {
                              (DQ 
                                <
'Failure while unpacking required packages.  This will be attempted up to five times.'
                                >
                              )
                            }
                            {(DQ )}
                            {<dpkg>}
                            {<--status-fd>}
                            {<8>}
                            {<--force-depends>}
                            {<--unpack>}
                            {
                              (command_sub
                                left_token: <Id.Left_DollarParen '$('>
                                child: (C {<debfor>} {($ Id.VSub_DollarName '$required')})
                              )
                            }
                          ]
                          redirects: [
                            (redir
                              op: <Id.Redir_GreatAnd '8>&'>
                              loc: (redir_loc.Fd fd:8)
                              arg: {<1>}
                            )
                            (redir
                              op: <Id.Redir_GreatAnd '1>&'>
                              loc: (redir_loc.Fd fd:1)
                              arg: {<7>}
                            )
                          ]
                          do_fork: T
                        )
                        (C {<echo>} {<EXITCODE>} {($ Id.VSub_QMark '$?')})
                      ]
                    )
                )
                (C {<dpkg_progress>} {($ Id.VSub_DollarName '$baseprog')} 
                  {($ Id.VSub_DollarName '$bases')} {<UNPACKREQ>} {(DQ <'Unpacking required packages'>)} {<UNPACKING>}
                )
              ]
              negated: F
            )
            (C {<info>} {<CONFREQ>} {(DQ <'Configuring required packages...'>)})
            (C {<mv>} {(DQ ($ Id.VSub_DollarName '$TARGET') <'/sbin/start-stop-daemon'>)} 
              {(DQ ($ Id.VSub_DollarName '$TARGET') <'/sbin/start-stop-daemon.REAL'>)}
            )
            (command.Simple
              words: [
                {<echo>}
                {
                  (DQ <'#!/bin/sh\n'> <'echo\n'> <'echo '> 
                    (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) <'Warning: Fake start-stop-daemon called, doing nothing'> 
                    (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>)
                  )
                }
              ]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {(DQ ($ Id.VSub_DollarName '$TARGET') <'/sbin/start-stop-daemon'>)}
                )
              ]
              do_fork: T
            )
            (C {<chmod>} {<755>} {(DQ ($ Id.VSub_DollarName '$TARGET') <'/sbin/start-stop-daemon'>)})
            (C {<setup_dselect_method>} {<apt>})
            (command.Pipeline
              children: [
                (C {<smallyes>} {(SQ )})
                (command.Subshell
                  child: 
                    (command.AndOr
                      ops: [Id.Op_DPipe]
                      children: [
                        (command.Simple
                          words: [
                            {<in_target_failmsg>}
                            {<CONF_REQ_FAIL>}
                            {(DQ <'Failure while configuring required packages.'>)}
                            {(DQ )}
                            {<dpkg>}
                            {<--status-fd>}
                            {<8>}
                            {<--configure>}
                            {<--pending>}
                            {<--force-configure-any>}
                            {<--force-depends>}
                          ]
                          redirects: [
                            (redir
                              op: <Id.Redir_GreatAnd '8>&'>
                              loc: (redir_loc.Fd fd:8)
                              arg: {<1>}
                            )
                            (redir
                              op: <Id.Redir_GreatAnd '1>&'>
                              loc: (redir_loc.Fd fd:1)
                              arg: {<7>}
                            )
                          ]
                          do_fork: T
                        )
                        (C {<echo>} {<EXITCODE>} {($ Id.VSub_QMark '$?')})
                      ]
                    )
                )
                (C {<dpkg_progress>} {($ Id.VSub_DollarName '$baseprog')} 
                  {($ Id.VSub_DollarName '$bases')} {<CONFREQ>} {(DQ <'Configuring required packages'>)} {<CONFIGURING>}
                )
              ]
              negated: F
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:baseprog)
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [1142]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:bases)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (DQ 
                        (command_sub
                          left_token: <Id.Left_DollarParen '$('>
                          child: 
                            (command.CommandList
                              children: [
                                (command.Sentence
                                  child: (C {<set>} {<-->} {($ Id.VSub_DollarName '$base')})
                                  terminator: <Id.Op_Semi _>
                                )
                                (C {<echo>} {($ Id.VSub_Pound '$#')})
                              ]
                            )
                        )
                      )
                    }
                  spids: [1146]
                )
              ]
            )
            (C {<info>} {<UNPACKBASE>} {(DQ <'Unpacking the base system...'>)})
            (C {<setup_available>} {($ Id.VSub_DollarName '$required')} {($ Id.VSub_DollarName '$base')})
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:done_predeps)
                  op: assign_op.Equal
                  rhs: (word.Empty)
                  spids: [1181]
                )
              ]
            )
            (command.WhileUntil
              keyword: <Id.KW_While while>
              cond: 
                (condition.Shell
                  commands: [
                    (command.Sentence
                      child: 
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:predep)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (command_sub
                                    left_token: <Id.Left_DollarParen '$('>
                                    child: (C {<get_next_predep>})
                                  )
                                }
                              spids: [1186]
                            )
                          ]
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                )
              body: 
                (command.DoGroup
                  children: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:predep)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (command_sub
                                left_token: <Id.Left_DollarParen '$('>
                                child: 
                                  (C {<without>} 
                                    {
                                      (DQ 
                                        (command_sub
                                          left_token: <Id.Left_DollarParen '$('>
                                          child: 
                                            (C {<without>} 
                                              {
                                                (DQ 
                                                  (command_sub
                                                    left_token: <Id.Left_DollarParen '$('>
                                                    child: 
                                                      (C {<resolve_deps>} 
                                                        {($ Id.VSub_DollarName '$predep')}
                                                      )
                                                  )
                                                )
                                              } {(DQ ($ Id.VSub_DollarName '$required'))}
                                            )
                                        )
                                      )
                                    } {(DQ ($ Id.VSub_DollarName '$done_predeps'))}
                                  )
                              )
                            }
                          spids: [1203]
                        )
                      ]
                    )
                    (command.Sentence child:(C {<p>}) terminator:<Id.Op_Semi _>)
                    (command.Pipeline
                      children: [
                        (C {<smallyes>} {(SQ )})
                        (C {<in_target>} {<dpkg>} {<--force-overwrite>} {<--force-confold>} 
                          {<--skip-same-version>} {<--install>} 
                          {
                            (command_sub
                              left_token: <Id.Left_DollarParen '$('>
                              child: (C {<debfor>} {($ Id.VSub_DollarName '$predep')})
                            )
                          }
                        )
                      ]
                      negated: F
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:base)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (command_sub
                                left_token: <Id.Left_DollarParen '$('>
                                child: 
                                  (C {<without>} {(DQ ($ Id.VSub_DollarName '$base'))} 
                                    {(DQ ($ Id.VSub_DollarName '$predep'))}
                                  )
                              )
                            }
                          spids: [1269]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:done_predeps)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ ($ Id.VSub_DollarName '$done_predeps') <' '> 
                                ($ Id.VSub_DollarName '$predep')
                              )
                            }
                          spids: [1283]
                        )
                      ]
                    )
                  ]
                )
            )
            (command.Pipeline
              children: [
                (C {<smallyes>} {(SQ )})
                (command.Subshell
                  child: 
                    (command.AndOr
                      ops: [Id.Op_DPipe]
                      children: [
                        (command.Simple
                          words: [
                            {<repeatn>}
                            {<5>}
                            {<in_target_failmsg>}
                            {<INST_BASE_FAIL_FIVE>}
                            {
                              (DQ 
                                <
'Failure while installing base packages.  This will be re-attempted up to five times.'
                                >
                              )
                            }
                            {(DQ )}
                            {<dpkg>}
                            {<--status-fd>}
                            {<8>}
                            {<--force-overwrite>}
                            {<--force-confold>}
                            {<--skip-same-version>}
                            {<--unpack>}
                            {
                              (command_sub
                                left_token: <Id.Left_DollarParen '$('>
                                child: (C {<debfor>} {($ Id.VSub_DollarName '$base')})
                              )
                            }
                          ]
                          redirects: [
                            (redir
                              op: <Id.Redir_GreatAnd '8>&'>
                              loc: (redir_loc.Fd fd:8)
                              arg: {<1>}
                            )
                            (redir
                              op: <Id.Redir_GreatAnd '1>&'>
                              loc: (redir_loc.Fd fd:1)
                              arg: {<7>}
                            )
                          ]
                          do_fork: T
                        )
                        (C {<echo>} {<EXITCODE>} {($ Id.VSub_QMark '$?')})
                      ]
                    )
                )
                (C {<dpkg_progress>} {($ Id.VSub_DollarName '$baseprog')} 
                  {($ Id.VSub_DollarName '$bases')} {<UNPACKBASE>} {(DQ <'Unpacking base system'>)} {<UNPACKING>}
                )
              ]
              negated: F
            )
            (C {<info>} {<CONFBASE>} {(DQ <'Configuring the base system...'>)})
            (command.Pipeline
              children: [
                (C {<smallyes>} {(SQ )})
                (command.Subshell
                  child: 
                    (command.AndOr
                      ops: [Id.Op_DPipe]
                      children: [
                        (command.Simple
                          words: [
                            {<repeatn>}
                            {<5>}
                            {<in_target_failmsg>}
                            {<CONF_BASE_FAIL_FIVE>}
                            {
                              (DQ 
                                <
'Failure while configuring base packages.  This will be re-attempted up to five times.'
                                >
                              )
                            }
                            {(DQ )}
                            {<dpkg>}
                            {<--status-fd>}
                            {<8>}
                            {<--force-confold>}
                            {<--skip-same-version>}
                            {<--configure>}
                            {<-a>}
                          ]
                          redirects: [
                            (redir
                              op: <Id.Redir_GreatAnd '8>&'>
                              loc: (redir_loc.Fd fd:8)
                              arg: {<1>}
                            )
                            (redir
                              op: <Id.Redir_GreatAnd '1>&'>
                              loc: (redir_loc.Fd fd:1)
                              arg: {<7>}
                            )
                          ]
                          do_fork: T
                        )
                        (C {<echo>} {<EXITCODE>} {($ Id.VSub_QMark '$?')})
                      ]
                    )
                )
                (C {<dpkg_progress>} {($ Id.VSub_DollarName '$baseprog')} 
                  {($ Id.VSub_DollarName '$bases')} {<CONFBASE>} {(DQ <'Configuring base system'>)} {<CONFIGURING>}
                )
              ]
              negated: F
            )
            (C {<mv>} {(DQ ($ Id.VSub_DollarName '$TARGET') <'/sbin/start-stop-daemon.REAL'>)} 
              {(DQ ($ Id.VSub_DollarName '$TARGET') <'/sbin/start-stop-daemon'>)}
            )
            (C {<progress>} {($ Id.VSub_DollarName '$bases')} {($ Id.VSub_DollarName '$bases')} 
              {<CONFBASE>} {(DQ <'Configuring base system'>)}
            )
            (C {<info>} {<BASESUCCESS>} {(DQ <'Base system installed successfully.'>)})
          ]
        )
    )
  ]
)