(CommandList
  children: [
    (C {(set)} {(-e)})
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:VERSION) op:Equal rhs:{(SQ <'@VERSION@'>)} spids:[8])]
      spids: [8]
    )
    (AndOr children:[(C {(unset)} {(TMP)} {(TEMP)} {(TMPDIR)})(C {(true)})] op_id:Op_DPipe)
    (C {(export)} {(PATH)})
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$DEBOOTSTRAP_DIR'))} {(Lit_Other ']')})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(-x)} {(/debootstrap/debootstrap)} {(Lit_Other ']')})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:DEBOOTSTRAP_DIR)
                          op: Equal
                          rhs: {(/debootstrap)}
                          spids: [69]
                        )
                      ]
                      spids: [69]
                    )
                  ]
                  spids: [-1 66]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:DEBOOTSTRAP_DIR)
                      op: Equal
                      rhs: {(/usr/share/debootstrap)}
                      spids: [76]
                    )
                  ]
                  spids: [76]
                )
              ]
              spids: [73 80]
            )
          ]
          spids: [-1 52]
        )
      ]
      spids: [-1 82]
    )
    (C {(.)} {($ VSub_Name '$DEBOOTSTRAP_DIR') (/functions)})
    (SimpleCommand
      words: [{(exec)}]
      redirects: [(Redir op_id:Redir_GreatAnd fd:4 arg_word:{(1)} spids:[92])]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:LANG) op:Equal rhs:{(C)} spids:[96])]
      spids: [96]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:USE_COMPONENTS) op:Equal rhs:{(main)} spids:[99])]
      spids: [99]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:KEYRING) op:Equal rhs:{(DQ )} spids:[102])]
      spids: [102]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:DISABLE_KEYRING) op:Equal rhs:{(DQ )} spids:[106])]
      spids: [106]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:FORCE_KEYRING) op:Equal rhs:{(DQ )} spids:[110])]
      spids: [110]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:VARIANT) op:Equal rhs:{(DQ )} spids:[114])]
      spids: [114]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:MERGED_USR) op:Equal rhs:{(DQ (no))} spids:[118])]
      spids: [118]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:ARCH) op:Equal rhs:{(DQ )} spids:[123])]
      spids: [123]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:HOST_ARCH) op:Equal rhs:{(DQ )} spids:[127])]
      spids: [127]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:HOST_OS) op:Equal rhs:{(DQ )} spids:[131])]
      spids: [131]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:KEEP_DEBOOTSTRAP_DIR) op:Equal rhs:{(DQ )} spids:[135])]
      spids: [135]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:USE_DEBIANINSTALLER_INTERACTION)
          op: Equal
          rhs: {(DQ )}
          spids: [139]
        )
      ]
      spids: [139]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:SECOND_STAGE_ONLY) op:Equal rhs:{(DQ )} spids:[143])]
      spids: [143]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:PRINT_DEBS) op:Equal rhs:{(DQ )} spids:[147])]
      spids: [147]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:CHROOTDIR) op:Equal rhs:{(DQ )} spids:[151])]
      spids: [151]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:MAKE_TARBALL) op:Equal rhs:{(DQ )} spids:[155])]
      spids: [155]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:EXTRACTOR_OVERRIDE) op:Equal rhs:{(DQ )} spids:[159])]
      spids: [159]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:UNPACK_TARBALL) op:Equal rhs:{(DQ )} spids:[163])]
      spids: [163]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:ADDITIONAL) op:Equal rhs:{(DQ )} spids:[167])]
      spids: [167]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:EXCLUDE) op:Equal rhs:{(DQ )} spids:[171])]
      spids: [171]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:VERBOSE) op:Equal rhs:{(DQ )} spids:[175])]
      spids: [175]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:CERTIFICATE) op:Equal rhs:{(DQ )} spids:[179])]
      spids: [179]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:CHECKCERTIF) op:Equal rhs:{(DQ )} spids:[183])]
      spids: [183]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:PRIVATEKEY) op:Equal rhs:{(DQ )} spids:[187])]
      spids: [187]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:DEF_MIRROR)
          op: Equal
          rhs: {(DQ ('http://deb.debian.org/debian'))}
          spids: [192]
        )
      ]
      spids: [192]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:DEF_HTTPS_MIRROR)
          op: Equal
          rhs: {(DQ ('https://deb.debian.org/debian'))}
          spids: [197]
        )
      ]
      spids: [197]
    )
    (C {(export)} {(LANG)} {(USE_COMPONENTS)})
    (C {(umask)} {(022)})
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:RESOLVE_DEPS) op:Equal rhs:{(true)} spids:[225])]
      spids: [225]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:WHAT_TO_DO)
          op: Equal
          rhs: {(DQ ('finddebs dldebs first_stage second_stage'))}
          spids: [229]
        )
      ]
      spids: [229]
    )
    (FuncDef
      name: am_doing_phase
      body: 
        (BraceGroup
          children: [
            (Sentence
              child: 
                (Assignment
                  keyword: Assign_Local
                  pairs: [(assign_pair lhs:(LhsName name:x) op:Equal spids:[248])]
                  spids: [246]
                )
              terminator: <Op_Semi ';'>
            )
            (ForEach
              iter_name: x
              iter_words: [{(DQ ($ VSub_At '$@'))}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (Pipeline
                                  children: [
                                    (C {(echo)} {(DQ (' ') ($ VSub_Name '$WHAT_TO_DO') (' '))})
                                    (C {(grep)} {(-q)} {(DQ (' ') ($ VSub_Name '$x') (' '))})
                                  ]
                                  negated: False
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Sentence
                              child: (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          spids: [-1 289]
                        )
                      ]
                      spids: [-1 296]
                    )
                  ]
                  spids: [263 299]
                )
              spids: [257 261]
            )
            (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
          ]
          spids: [239]
        )
      spids: [234 238]
    )
    (FuncDef
      name: usage_err
      body: 
        (BraceGroup
          children: [
            (C {(info)} {(USAGE1)} {(DQ ('usage: [OPTION]... <suite> <target> [<mirror> [<script>]]'))})
            (C {(info)} {(USAGE2)} 
              {
                (DQ ('Try ') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                  (BracedVarSub
                    token: <VSub_Number 0>
                    suffix_op: (StringUnary op_id:VOp1_DPound arg_word:{('*') (Lit_Slash /)})
                    spids: [336 341]
                  ) (" --help' for more information.")
                )
              }
            )
            (C {(error)} {(DQ ($ VSub_At '$@'))})
          ]
          spids: [317]
        )
      spids: [313 316]
    )
    (FuncDef
      name: usage
      body: 
        (BraceGroup
          children: [
            (C {(echo)} 
              {
                (DQ ('Usage: ') 
                  (BracedVarSub
                    token: <VSub_Number 0>
                    suffix_op: (StringUnary op_id:VOp1_DPound arg_word:{('*') (Lit_Slash /)})
                    spids: [366 371]
                  ) (' [OPTION]... <suite> <target> [<mirror> [<script>]]')
                )
              }
            )
            (C {(echo)} {(DQ ('Bootstrap a Debian base system into a target directory.'))})
            (C {(echo)})
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: -1
                  body: 
                    {
                      (DQ ('      --help                 display this help and exit\n') 
                        ('      --version              display version information and exit\n') ("      --verbose              don't turn off the output of wget\n") ('\n') 
                        (
"      --download-only        download packages, but don't perform installation\n"
                        ) ('      --print-debs           print the packages to be installed, and exit\n') ('\n') 
                        (
'      --arch=A               set the architecture to install (use if no dpkg)\n'
                        ) ('                               [ --arch=powerpc ]\n') ('\n') 
                        (
'      --include=A,B,C        adds specified names to the list of base packages\n'
                        ) ('      --exclude=A,B,C        removes specified packages from the list\n') 
                        (
'      --components=A,B,C     use packages from the listed components of the\n'
                        ) ('                             archive\n') 
                        ('      --variant=X            use variant X of the bootstrap scripts\n') ('                             (currently supported variants: buildd, fakechroot,\n') 
                        ('                              minbase)\n') ('      --merged-usr           make /{bin,sbin,lib}/ symlinks to /usr/\n') 
                        ('      --keyring=K            check Release files against keyring K\n') ('      --no-check-gpg         avoid checking Release file signatures\n') 
                        ('      --force-check-gpg      force checking Release file signatures\n') ('                             (also disables automatic fallback to HTTPS in case\n') 
                        (
'                             of a missing keyring), aborting otherwise\n'
                        ) ("      --no-resolve-deps      don't try to resolve dependencies automatically\n") ('\n') 
                        (
'      --unpack-tarball=T     acquire .debs from a tarball instead of http\n'
                        ) ('      --make-tarball=T       download .debs and create a tarball (tgz format)\n') 
                        ('      --second-stage-target=DIR\n') ('                             Run second stage in a subdirectory instead of root\n') 
                        (
'                               (can be used to create a foreign chroot)\n'
                        ) ('                               (requires --second-stage)\n') 
                        (
'      --extractor=TYPE       override automatic .deb extractor selection\n'
                        ) ('                               (supported: ') ($ VSub_Name '$EXTRACTORS_SUPPORTED') (')\n') 
                        (
'      --debian-installer     used for internal purposes by debian-installer\n'
                        ) ('      --private-key=file     read the private key from file\n') 
                        (
'      --certificate=file     use the client certificate stored in file (PEM)\n'
                        ) ('      --no-check-certificate do not check certificate against certificate authorities\n')
                      )
                    }
                  do_expansion: True
                  here_end: EOF
                  was_filled: True
                  spids: [388]
                )
              ]
            )
          ]
          spids: [359]
        )
      spids: [355 358]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$PKGDETAILS'))} {(Lit_Other ']')})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (C {(error)} {(1)} {(NO_PKGDETAILS)} 
              {
                (DQ 
                  (
'No pkgdetails available; either install perl, or build pkgdetails.c from the base-installer source package'
                  )
                )
              }
            )
          ]
          spids: [-1 451]
        )
      ]
      spids: [-1 464]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(Lit_Other '[')} {($ VSub_Pound '$#')} {(KW_Bang '!') (Lit_Other '=')} {(0)} 
                  {(Lit_Other ']')}
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (While
              cond: [(Sentence child:(C {(true)}) terminator:<Op_Semi ';'>)]
              body: 
                (DoGroup
                  children: [
                    (Case
                      to_match: {(DQ ($ VSub_Number '$1'))}
                      arms: [
                        (case_arm
                          pat_list: [{(--help)}]
                          action: [(C {(usage)}) (C {(exit)} {(0)})]
                          spids: [507 508 519 -1]
                        )
                        (case_arm
                          pat_list: [{(--version)}]
                          action: [
                            (C {(echo)} {(DQ ('debootstrap ') ($ VSub_Name '$VERSION'))})
                            (C {(exit)} {(0)})
                          ]
                          spids: [522 523 539 -1]
                        )
                        (case_arm
                          pat_list: [{(--debian-installer)}]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (Pipeline
                                          children: [
                                            (Subshell
                                              child: 
                                                (SimpleCommand
                                                  words: [{(echo)} {(-n)} {(DQ )}]
                                                  redirects: [
                                                    (Redir
                                                      op_id: Redir_GreatAnd
                                                      fd: -1
                                                      arg_word: {(3)}
                                                      spids: [558]
                                                    )
                                                  ]
                                                )
                                              redirects: [
                                                (Redir
                                                  op_id: Redir_Great
                                                  fd: 2
                                                  arg_word: {(/dev/null)}
                                                  spids: [562]
                                                )
                                              ]
                                              spids: [550 560]
                                            )
                                          ]
                                          negated: True
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(error)} {(1)} {(ARG_DIBYHAND)} 
                                      {
                                        (DQ 
                                          (
"If running debootstrap by hand, don't use --debian-installer"
                                          )
                                        )
                                      }
                                    )
                                  ]
                                  spids: [-1 566]
                                )
                              ]
                              spids: [-1 580]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:USE_DEBIANINSTALLER_INTERACTION)
                                  op: Equal
                                  rhs: {(yes)}
                                  spids: [583]
                                )
                              ]
                              spids: [583]
                            )
                            (C {(shift)})
                          ]
                          spids: [542 543 590 -1]
                        )
                        (case_arm
                          pat_list: [{(--foreign)}]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$PRINT_DEBS'))} 
                                          {(KW_Bang '!') (Lit_Other '=')} {(DQ (true))} {(Lit_Other ']')}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:WHAT_TO_DO)
                                          op: Equal
                                          rhs: {(DQ ('finddebs dldebs first_stage'))}
                                          spids: [618]
                                        )
                                      ]
                                      spids: [618]
                                    )
                                  ]
                                  spids: [-1 615]
                                )
                              ]
                              spids: [-1 624]
                            )
                            (C {(shift)})
                          ]
                          spids: [593 594 630 -1]
                        )
                        (case_arm
                          pat_list: [{(--second-stage)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:WHAT_TO_DO)
                                  op: Equal
                                  rhs: {(DQ (second_stage))}
                                  spids: [637]
                                )
                              ]
                              spids: [637]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:SECOND_STAGE_ONLY)
                                  op: Equal
                                  rhs: {(true)}
                                  spids: [643]
                                )
                              ]
                              spids: [643]
                            )
                            (C {(shift)})
                          ]
                          spids: [633 634 650 -1]
                        )
                        (case_arm
                          pat_list: [
                            {(--second-stage-target)}
                            {(--second-stage-target) (Lit_Other '=') (Lit_Other '?') (Lit_Other '*')}
                          ]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$SECOND_STAGE_ONLY'))} 
                                          {(KW_Bang '!') (Lit_Other '=')} {(DQ (true))} {(Lit_Other ']')}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(error)} {(1)} {(STAGE2ONLY)} 
                                      {(DQ ('option %s only applies in the second stage'))} {(DQ ($ VSub_Number '$1'))}
                                    )
                                  ]
                                  spids: [-1 681]
                                )
                              ]
                              spids: [-1 699]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} 
                                          {(Lit_Other '=')} {(DQ (--second-stage-target))} {(-a)} {(-n)} {(DQ ($ VSub_Number '$2'))} {(Lit_Other ']')}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:CHROOTDIR)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Number '$2'))}
                                          spids: [731]
                                        )
                                      ]
                                      spids: [731]
                                    )
                                    (C {(shift)} {(2)})
                                  ]
                                  spids: [-1 728]
                                )
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} 
                                          {(KW_Bang '!') (Lit_Other '=')} 
                                          {
                                            (DQ 
                                              (BracedVarSub
                                                token: <VSub_Number 1>
                                                suffix_op: 
                                                  (StringUnary
                                                    op_id: VOp1_Pound
                                                    arg_word: {('--second-stage-target=')}
                                                  )
                                                spids: [754 758]
                                              )
                                            )
                                          } {(Lit_Other ']')}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:CHROOTDIR)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ 
                                                (BracedVarSub
                                                  token: <VSub_Number 1>
                                                  suffix_op: 
                                                    (StringUnary
                                                      op_id: VOp1_Pound
                                                      arg_word: {('--second-stage-target=')}
                                                    )
                                                  spids: [769 773]
                                                )
                                              )
                                            }
                                          spids: [767]
                                        )
                                      ]
                                      spids: [767]
                                    )
                                    (C {(shift)})
                                  ]
                                  spids: [742 764]
                                )
                              ]
                              else_action: [
                                (C {(error)} {(1)} {(NEEDARG)} {(DQ ('option requires an argument: %s'))} 
                                  {(DQ ($ VSub_Number '$1'))}
                                )
                              ]
                              spids: [780 798]
                            )
                          ]
                          spids: [653 659 801 -1]
                        )
                        (case_arm
                          pat_list: [{(--print-debs)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:WHAT_TO_DO)
                                  op: Equal
                                  rhs: {(DQ ('finddebs printdebs kill_target'))}
                                  spids: [808]
                                )
                              ]
                              spids: [808]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:PRINT_DEBS)
                                  op: Equal
                                  rhs: {(true)}
                                  spids: [814]
                                )
                              ]
                              spids: [814]
                            )
                            (C {(shift)})
                          ]
                          spids: [804 805 821 -1]
                        )
                        (case_arm
                          pat_list: [{(--download-only)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:WHAT_TO_DO)
                                  op: Equal
                                  rhs: {(DQ ('finddebs dldebs'))}
                                  spids: [828]
                                )
                              ]
                              spids: [828]
                            )
                            (C {(shift)})
                          ]
                          spids: [824 825 837 -1]
                        )
                        (case_arm
                          pat_list: [
                            {(--make-tarball)}
                            {(--make-tarball) (Lit_Other '=') (Lit_Other '?') (Lit_Other '*')}
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:WHAT_TO_DO)
                                  op: Equal
                                  rhs: {(DQ ('finddebs dldebs maketarball kill_target'))}
                                  spids: [849]
                                )
                              ]
                              spids: [849]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} 
                                          {(Lit_Other '=')} {(DQ (--make-tarball))} {(-a)} {(-n)} {(DQ ($ VSub_Number '$2'))} {(Lit_Other ']')}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:MAKE_TARBALL)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Number '$2'))}
                                          spids: [884]
                                        )
                                      ]
                                      spids: [884]
                                    )
                                    (C {(shift)} {(2)})
                                  ]
                                  spids: [-1 881]
                                )
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} 
                                          {(KW_Bang '!') (Lit_Other '=')} 
                                          {
                                            (DQ 
                                              (BracedVarSub
                                                token: <VSub_Number 1>
                                                suffix_op: 
                                                  (StringUnary
                                                    op_id: VOp1_Pound
                                                    arg_word: {('--make-tarball=')}
                                                  )
                                                spids: [907 911]
                                              )
                                            )
                                          } {(Lit_Other ']')}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:MAKE_TARBALL)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ 
                                                (BracedVarSub
                                                  token: <VSub_Number 1>
                                                  suffix_op: 
                                                    (StringUnary
                                                      op_id: VOp1_Pound
                                                      arg_word: {('--make-tarball=')}
                                                    )
                                                  spids: [922 926]
                                                )
                                              )
                                            }
                                          spids: [920]
                                        )
                                      ]
                                      spids: [920]
                                    )
                                    (C {(shift)})
                                  ]
                                  spids: [895 917]
                                )
                              ]
                              else_action: [
                                (C {(error)} {(1)} {(NEEDARG)} {(DQ ('option requires an argument %s'))} 
                                  {(DQ ($ VSub_Number '$1'))}
                                )
                              ]
                              spids: [933 951]
                            )
                          ]
                          spids: [840 846 954 -1]
                        )
                        (case_arm
                          pat_list: [{(--resolve-deps)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:RESOLVE_DEPS)
                                  op: Equal
                                  rhs: {(true)}
                                  spids: [965]
                                )
                              ]
                              spids: [965]
                            )
                            (C {(shift)})
                          ]
                          spids: [957 958 972 -1]
                        )
                        (case_arm
                          pat_list: [{(--no-resolve-deps)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:RESOLVE_DEPS)
                                  op: Equal
                                  rhs: {(false)}
                                  spids: [979]
                                )
                              ]
                              spids: [979]
                            )
                            (C {(shift)})
                          ]
                          spids: [975 976 986 -1]
                        )
                        (case_arm
                          pat_list: [{(--keep-debootstrap-dir)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:KEEP_DEBOOTSTRAP_DIR)
                                  op: Equal
                                  rhs: {(true)}
                                  spids: [993]
                                )
                              ]
                              spids: [993]
                            )
                            (C {(shift)})
                          ]
                          spids: [989 990 1000 -1]
                        )
                        (case_arm
                          pat_list: [
                            {(--arch)}
                            {(--arch) (Lit_Other '=') (Lit_Other '?') (Lit_Other '*')}
                          ]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} 
                                          {(Lit_Other '=')} {(DQ (--arch))} {(-a)} {(-n)} {(DQ ($ VSub_Number '$2'))} {(Lit_Other ']')}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:ARCH)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Number '$2'))}
                                          spids: [1041]
                                        )
                                      ]
                                      spids: [1041]
                                    )
                                    (C {(shift)} {(2)})
                                  ]
                                  spids: [-1 1038]
                                )
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} 
                                          {(KW_Bang '!') (Lit_Other '=')} 
                                          {
                                            (DQ 
                                              (BracedVarSub
                                                token: <VSub_Number 1>
                                                suffix_op: 
                                                  (StringUnary
                                                    op_id: VOp1_Pound
                                                    arg_word: {('--arch=')}
                                                  )
                                                spids: [1064 1068]
                                              )
                                            )
                                          } {(Lit_Other ']')}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:ARCH)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ 
                                                (BracedVarSub
                                                  token: <VSub_Number 1>
                                                  suffix_op: 
                                                    (StringUnary
                                                      op_id: VOp1_Pound
                                                      arg_word: {('--arch=')}
                                                    )
                                                  spids: [1079 1083]
                                                )
                                              )
                                            }
                                          spids: [1077]
                                        )
                                      ]
                                      spids: [1077]
                                    )
                                    (C {(shift)})
                                  ]
                                  spids: [1052 1074]
                                )
                              ]
                              else_action: [
                                (C {(error)} {(1)} {(NEEDARG)} {(DQ ('option requires an argument %s'))} 
                                  {(DQ ($ VSub_Number '$1'))}
                                )
                              ]
                              spids: [1090 1108]
                            )
                          ]
                          spids: [1003 1009 1111 -1]
                        )
                        (case_arm
                          pat_list: [
                            {(--extractor)}
                            {(--extractor) (Lit_Other '=') (Lit_Other '?') (Lit_Other '*')}
                          ]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} 
                                          {(Lit_Other '=')} {(DQ (--extractor))} {(-a)} {(-n)} {(DQ ($ VSub_Number '$2'))} {(Lit_Other ']')}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:EXTRACTOR_OVERRIDE)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Number '$2'))}
                                          spids: [1152]
                                        )
                                      ]
                                      spids: [1152]
                                    )
                                    (C {(shift)} {(2)})
                                  ]
                                  spids: [-1 1149]
                                )
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} 
                                          {(KW_Bang '!') (Lit_Other '=')} 
                                          {
                                            (DQ 
                                              (BracedVarSub
                                                token: <VSub_Number 1>
                                                suffix_op: 
                                                  (StringUnary
                                                    op_id: VOp1_Pound
                                                    arg_word: {('--extractor=')}
                                                  )
                                                spids: [1175 1179]
                                              )
                                            )
                                          } {(Lit_Other ']')}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:EXTRACTOR_OVERRIDE)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ 
                                                (BracedVarSub
                                                  token: <VSub_Number 1>
                                                  suffix_op: 
                                                    (StringUnary
                                                      op_id: VOp1_Pound
                                                      arg_word: {('--extractor=')}
                                                    )
                                                  spids: [1190 1194]
                                                )
                                              )
                                            }
                                          spids: [1188]
                                        )
                                      ]
                                      spids: [1188]
                                    )
                                    (C {(shift)})
                                  ]
                                  spids: [1163 1185]
                                )
                              ]
                              else_action: [
                                (C {(error)} {(1)} {(NEEDARG)} {(DQ ('option requires an argument %s'))} 
                                  {(DQ ($ VSub_Number '$1'))}
                                )
                              ]
                              spids: [1201 1219]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(valid_extractor)} 
                                          {(DQ ($ VSub_Name '$EXTRACTOR_OVERRIDE'))}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (Pipeline
                                                  children: [
                                                    (SimpleCommand
                                                      words: [
                                                        {(type)}
                                                        {(DQ ($ VSub_Name '$EXTRACTOR_OVERRIDE'))}
                                                      ]
                                                      redirects: [
                                                        (Redir
                                                          op_id: Redir_Great
                                                          fd: -1
                                                          arg_word: {(/dev/null)}
                                                          spids: [1244]
                                                        )
                                                        (Redir
                                                          op_id: Redir_GreatAnd
                                                          fd: 2
                                                          arg_word: {(1)}
                                                          spids: [1247]
                                                        )
                                                      ]
                                                    )
                                                  ]
                                                  negated: True
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(error)} {(1)} {(MISSINGEXTRACTOR)} 
                                              {(DQ ('The selected extractor cannot be found: %s'))} {(DQ ($ VSub_Name '$EXTRACTOR_OVERRIDE'))}
                                            )
                                          ]
                                          spids: [-1 1251]
                                        )
                                      ]
                                      spids: [-1 1269]
                                    )
                                  ]
                                  spids: [-1 1231]
                                )
                              ]
                              else_action: [
                                (C {(error)} {(1)} {(BADEXTRACTOR)} {(DQ ('%s: unknown extractor'))} 
                                  {(DQ ($ VSub_Name '$EXTRACTOR_OVERRIDE'))}
                                )
                              ]
                              spids: [1272 1290]
                            )
                          ]
                          spids: [1114 1120 1293 -1]
                        )
                        (case_arm
                          pat_list: [
                            {(--unpack-tarball)}
                            {(--unpack-tarball) (Lit_Other '=') (Lit_Other '?') (Lit_Other '*')}
                          ]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} 
                                          {(Lit_Other '=')} {(DQ (--unpack-tarball))} {(-a)} {(-n)} {(DQ ($ VSub_Number '$2'))} {(Lit_Other ']')}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:UNPACK_TARBALL)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Number '$2'))}
                                          spids: [1334]
                                        )
                                      ]
                                      spids: [1334]
                                    )
                                    (C {(shift)} {(2)})
                                  ]
                                  spids: [-1 1331]
                                )
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} 
                                          {(KW_Bang '!') (Lit_Other '=')} 
                                          {
                                            (DQ 
                                              (BracedVarSub
                                                token: <VSub_Number 1>
                                                suffix_op: 
                                                  (StringUnary
                                                    op_id: VOp1_Pound
                                                    arg_word: {('--unpack-tarball=')}
                                                  )
                                                spids: [1357 1361]
                                              )
                                            )
                                          } {(Lit_Other ']')}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:UNPACK_TARBALL)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ 
                                                (BracedVarSub
                                                  token: <VSub_Number 1>
                                                  suffix_op: 
                                                    (StringUnary
                                                      op_id: VOp1_Pound
                                                      arg_word: {('--unpack-tarball=')}
                                                    )
                                                  spids: [1372 1376]
                                                )
                                              )
                                            }
                                          spids: [1370]
                                        )
                                      ]
                                      spids: [1370]
                                    )
                                    (C {(shift)})
                                  ]
                                  spids: [1345 1367]
                                )
                              ]
                              else_action: [
                                (C {(error)} {(1)} {(NEEDARG)} {(DQ ('option requires an argument %s'))} 
                                  {(DQ ($ VSub_Number '$1'))}
                                )
                              ]
                              spids: [1383 1401]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(Lit_Other '[')} {(KW_Bang '!')} {(-f)} 
                                          {(DQ ($ VSub_Name '$UNPACK_TARBALL'))} {(Lit_Other ']')}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(error)} {(1)} {(NOTARBALL)} 
                                      {(DQ ('%s: No such file or directory'))} {(DQ ($ VSub_Name '$UNPACK_TARBALL'))}
                                    )
                                  ]
                                  spids: [-1 1420]
                                )
                              ]
                              spids: [-1 1438]
                            )
                          ]
                          spids: [1296 1302 1441 -1]
                        )
                        (case_arm
                          pat_list: [
                            {(--include)}
                            {(--include) (Lit_Other '=') (Lit_Other '?') (Lit_Other '*')}
                          ]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} 
                                          {(Lit_Other '=')} {(DQ (--include))} {(-a)} {(-n)} {(DQ ($ VSub_Number '$2'))} {(Lit_Other ']')}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:ADDITIONAL)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Number '$2'))}
                                          spids: [1481]
                                        )
                                      ]
                                      spids: [1481]
                                    )
                                    (C {(shift)} {(2)})
                                  ]
                                  spids: [-1 1478]
                                )
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} 
                                          {(KW_Bang '!') (Lit_Other '=')} 
                                          {
                                            (DQ 
                                              (BracedVarSub
                                                token: <VSub_Number 1>
                                                suffix_op: 
                                                  (StringUnary
                                                    op_id: VOp1_Pound
                                                    arg_word: {('--include=')}
                                                  )
                                                spids: [1504 1508]
                                              )
                                            )
                                          } {(Lit_Other ']')}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:ADDITIONAL)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ 
                                                (BracedVarSub
                                                  token: <VSub_Number 1>
                                                  suffix_op: 
                                                    (StringUnary
                                                      op_id: VOp1_Pound
                                                      arg_word: {('--include=')}
                                                    )
                                                  spids: [1519 1523]
                                                )
                                              )
                                            }
                                          spids: [1517]
                                        )
                                      ]
                                      spids: [1517]
                                    )
                                    (C {(shift)} {(1)})
                                  ]
                                  spids: [1492 1514]
                                )
                              ]
                              else_action: [
                                (C {(error)} {(1)} {(NEEDARG)} {(DQ ('option requires an argument %s'))} 
                                  {(DQ ($ VSub_Number '$1'))}
                                )
                              ]
                              spids: [1532 1550]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:ADDITIONAL)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ 
                                        (CommandSubPart
                                          command_list: 
                                            (CommandList
                                              children: [
                                                (Pipeline
                                                  children: [
                                                    (C {(echo)} {(DQ ($ VSub_Name '$ADDITIONAL'))})
                                                    (C {(tr)} {(Lit_Comma ',')} {(DQ (' '))})
                                                  ]
                                                  negated: False
                                                )
                                              ]
                                            )
                                          left_token: <Left_CommandSub '$('>
                                          spids: [1555 1571]
                                        )
                                      )
                                    }
                                  spids: [1553]
                                )
                              ]
                              spids: [1553]
                            )
                          ]
                          spids: [1444 1450 1575 -1]
                        )
                        (case_arm
                          pat_list: [
                            {(--exclude)}
                            {(--exclude) (Lit_Other '=') (Lit_Other '?') (Lit_Other '*')}
                          ]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} 
                                          {(Lit_Other '=')} {(DQ (--exclude))} {(-a)} {(-n)} {(DQ ($ VSub_Number '$2'))} {(Lit_Other ']')}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:EXCLUDE)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Number '$2'))}
                                          spids: [1615]
                                        )
                                      ]
                                      spids: [1615]
                                    )
                                    (C {(shift)} {(2)})
                                  ]
                                  spids: [-1 1612]
                                )
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} 
                                          {(KW_Bang '!') (Lit_Other '=')} 
                                          {
                                            (DQ 
                                              (BracedVarSub
                                                token: <VSub_Number 1>
                                                suffix_op: 
                                                  (StringUnary
                                                    op_id: VOp1_Pound
                                                    arg_word: {('--exclude=')}
                                                  )
                                                spids: [1638 1642]
                                              )
                                            )
                                          } {(Lit_Other ']')}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:EXCLUDE)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ 
                                                (BracedVarSub
                                                  token: <VSub_Number 1>
                                                  suffix_op: 
                                                    (StringUnary
                                                      op_id: VOp1_Pound
                                                      arg_word: {('--exclude=')}
                                                    )
                                                  spids: [1653 1657]
                                                )
                                              )
                                            }
                                          spids: [1651]
                                        )
                                      ]
                                      spids: [1651]
                                    )
                                    (C {(shift)} {(1)})
                                  ]
                                  spids: [1626 1648]
                                )
                              ]
                              else_action: [
                                (C {(error)} {(1)} {(NEEDARG)} {(DQ ('option requires an argument %s'))} 
                                  {(DQ ($ VSub_Number '$1'))}
                                )
                              ]
                              spids: [1666 1684]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:EXCLUDE)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ 
                                        (CommandSubPart
                                          command_list: 
                                            (CommandList
                                              children: [
                                                (Pipeline
                                                  children: [
                                                    (C {(echo)} {(DQ ($ VSub_Name '$EXCLUDE'))})
                                                    (C {(tr)} {(Lit_Comma ',')} {(DQ (' '))})
                                                  ]
                                                  negated: False
                                                )
                                              ]
                                            )
                                          left_token: <Left_CommandSub '$('>
                                          spids: [1689 1705]
                                        )
                                      )
                                    }
                                  spids: [1687]
                                )
                              ]
                              spids: [1687]
                            )
                          ]
                          spids: [1578 1584 1709 -1]
                        )
                        (case_arm
                          pat_list: [{(--verbose)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:VERBOSE)
                                  op: Equal
                                  rhs: {(true)}
                                  spids: [1716]
                                )
                              ]
                              spids: [1716]
                            )
                            (C {(export)} {(VERBOSE)})
                            (C {(shift)} {(1)})
                          ]
                          spids: [1712 1713 1730 -1]
                        )
                        (case_arm
                          pat_list: [
                            {(--components)}
                            {(--components) (Lit_Other '=') (Lit_Other '?') (Lit_Other '*')}
                          ]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} 
                                          {(Lit_Other '=')} {(DQ (--components))} {(-a)} {(-n)} {(DQ ($ VSub_Number '$2'))} {(Lit_Other ']')}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:USE_COMPONENTS)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Number '$2'))}
                                          spids: [1770]
                                        )
                                      ]
                                      spids: [1770]
                                    )
                                    (C {(shift)} {(2)})
                                  ]
                                  spids: [-1 1767]
                                )
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} 
                                          {(KW_Bang '!') (Lit_Other '=')} 
                                          {
                                            (DQ 
                                              (BracedVarSub
                                                token: <VSub_Number 1>
                                                suffix_op: 
                                                  (StringUnary
                                                    op_id: VOp1_Pound
                                                    arg_word: {('--components=')}
                                                  )
                                                spids: [1793 1797]
                                              )
                                            )
                                          } {(Lit_Other ']')}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:USE_COMPONENTS)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ 
                                                (BracedVarSub
                                                  token: <VSub_Number 1>
                                                  suffix_op: 
                                                    (StringUnary
                                                      op_id: VOp1_Pound
                                                      arg_word: {('--components=')}
                                                    )
                                                  spids: [1808 1812]
                                                )
                                              )
                                            }
                                          spids: [1806]
                                        )
                                      ]
                                      spids: [1806]
                                    )
                                    (C {(shift)} {(1)})
                                  ]
                                  spids: [1781 1803]
                                )
                              ]
                              else_action: [
                                (C {(error)} {(1)} {(NEEDARG)} {(DQ ('option requires an argument %s'))} 
                                  {(DQ ($ VSub_Number '$1'))}
                                )
                              ]
                              spids: [1821 1839]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:USE_COMPONENTS)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ 
                                        (CommandSubPart
                                          command_list: 
                                            (CommandList
                                              children: [
                                                (Pipeline
                                                  children: [
                                                    (C {(echo)} {(DQ ($ VSub_Name '$USE_COMPONENTS'))})
                                                    (C {(tr)} {(Lit_Comma ',')} {(DQ ('|'))})
                                                  ]
                                                  negated: False
                                                )
                                              ]
                                            )
                                          left_token: <Left_CommandSub '$('>
                                          spids: [1844 1860]
                                        )
                                      )
                                    }
                                  spids: [1842]
                                )
                              ]
                              spids: [1842]
                            )
                          ]
                          spids: [1733 1739 1864 -1]
                        )
                        (case_arm
                          pat_list: [
                            {(--variant)}
                            {(--variant) (Lit_Other '=') (Lit_Other '?') (Lit_Other '*')}
                          ]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} 
                                          {(Lit_Other '=')} {(DQ (--variant))} {(-a)} {(-n)} {(DQ ($ VSub_Number '$2'))} {(Lit_Other ']')}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:VARIANT)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Number '$2'))}
                                          spids: [1904]
                                        )
                                      ]
                                      spids: [1904]
                                    )
                                    (C {(shift)} {(2)})
                                  ]
                                  spids: [-1 1901]
                                )
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} 
                                          {(KW_Bang '!') (Lit_Other '=')} 
                                          {
                                            (DQ 
                                              (BracedVarSub
                                                token: <VSub_Number 1>
                                                suffix_op: 
                                                  (StringUnary
                                                    op_id: VOp1_Pound
                                                    arg_word: {('--variant=')}
                                                  )
                                                spids: [1927 1931]
                                              )
                                            )
                                          } {(Lit_Other ']')}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:VARIANT)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ 
                                                (BracedVarSub
                                                  token: <VSub_Number 1>
                                                  suffix_op: 
                                                    (StringUnary
                                                      op_id: VOp1_Pound
                                                      arg_word: {('--variant=')}
                                                    )
                                                  spids: [1942 1946]
                                                )
                                              )
                                            }
                                          spids: [1940]
                                        )
                                      ]
                                      spids: [1940]
                                    )
                                    (C {(shift)} {(1)})
                                  ]
                                  spids: [1915 1937]
                                )
                              ]
                              else_action: [
                                (C {(error)} {(1)} {(NEEDARG)} {(DQ ('option requires an argument %s'))} 
                                  {(DQ ($ VSub_Number '$1'))}
                                )
                              ]
                              spids: [1955 1973]
                            )
                          ]
                          spids: [1867 1873 1976 -1]
                        )
                        (case_arm
                          pat_list: [{(--merged-usr)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:MERGED_USR)
                                  op: Equal
                                  rhs: {(yes)}
                                  spids: [1983]
                                )
                              ]
                              spids: [1983]
                            )
                            (C {(shift)})
                          ]
                          spids: [1979 1980 1990 -1]
                        )
                        (case_arm
                          pat_list: [{(--no-merged-usr)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:MERGED_USR)
                                  op: Equal
                                  rhs: {(no)}
                                  spids: [1997]
                                )
                              ]
                              spids: [1997]
                            )
                            (C {(shift)})
                          ]
                          spids: [1993 1994 2004 -1]
                        )
                        (case_arm
                          pat_list: [
                            {(--keyring)}
                            {(--keyring) (Lit_Other '=') (Lit_Other '?') (Lit_Other '*')}
                          ]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (Pipeline
                                          children: [
                                            (SimpleCommand
                                              words: [{(gpgv)} {(--version)}]
                                              redirects: [
                                                (Redir
                                                  op_id: Redir_Great
                                                  fd: -1
                                                  arg_word: {(/dev/null)}
                                                  spids: [2024]
                                                )
                                                (Redir
                                                  op_id: Redir_GreatAnd
                                                  fd: 2
                                                  arg_word: {(1)}
                                                  spids: [2027]
                                                )
                                              ]
                                            )
                                          ]
                                          negated: True
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(error)} {(1)} {(NEEDGPGV)} 
                                      {
                                        (DQ 
                                          (
'gpgv not installed, but required for Release verification'
                                          )
                                        )
                                      }
                                    )
                                  ]
                                  spids: [-1 2031]
                                )
                              ]
                              spids: [-1 2045]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} 
                                          {(Lit_Other '=')} {(DQ (--keyring))} {(-a)} {(-n)} {(DQ ($ VSub_Number '$2'))} {(Lit_Other ']')}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:KEYRING)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Number '$2'))}
                                          spids: [2076]
                                        )
                                      ]
                                      spids: [2076]
                                    )
                                    (C {(shift)} {(2)})
                                  ]
                                  spids: [-1 2073]
                                )
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} 
                                          {(KW_Bang '!') (Lit_Other '=')} 
                                          {
                                            (DQ 
                                              (BracedVarSub
                                                token: <VSub_Number 1>
                                                suffix_op: 
                                                  (StringUnary
                                                    op_id: VOp1_Pound
                                                    arg_word: {('--keyring=')}
                                                  )
                                                spids: [2099 2103]
                                              )
                                            )
                                          } {(Lit_Other ']')}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:KEYRING)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ 
                                                (BracedVarSub
                                                  token: <VSub_Number 1>
                                                  suffix_op: 
                                                    (StringUnary
                                                      op_id: VOp1_Pound
                                                      arg_word: {('--keyring=')}
                                                    )
                                                  spids: [2114 2118]
                                                )
                                              )
                                            }
                                          spids: [2112]
                                        )
                                      ]
                                      spids: [2112]
                                    )
                                    (C {(shift)} {(1)})
                                  ]
                                  spids: [2087 2109]
                                )
                              ]
                              else_action: [
                                (C {(error)} {(1)} {(NEEDARG)} {(DQ ('option requires an argument %s'))} 
                                  {(DQ ($ VSub_Number '$1'))}
                                )
                              ]
                              spids: [2127 2145]
                            )
                          ]
                          spids: [2007 2013 2148 -1]
                        )
                        (case_arm
                          pat_list: [{(--no-check-gpg)}]
                          action: [
                            (C {(shift)} {(1)})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:DISABLE_KEYRING)
                                  op: Equal
                                  rhs: {(1)}
                                  spids: [2160]
                                )
                              ]
                              spids: [2160]
                            )
                          ]
                          spids: [2151 2152 2164 -1]
                        )
                        (case_arm
                          pat_list: [{(--force-check-gpg)}]
                          action: [
                            (C {(shift)} {(1)})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:FORCE_KEYRING)
                                  op: Equal
                                  rhs: {(1)}
                                  spids: [2176]
                                )
                              ]
                              spids: [2176]
                            )
                          ]
                          spids: [2167 2168 2180 -1]
                        )
                        (case_arm
                          pat_list: [
                            {(--certificate)}
                            {(--certificate) (Lit_Other '=') (Lit_Other '?') (Lit_Other '*')}
                          ]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} 
                                          {(Lit_Other '=')} {(DQ (--certificate))} {(-a)} {(-n)} {(DQ ($ VSub_Number '$2'))} {(Lit_Other ']')}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:CERTIFICATE)
                                          op: Equal
                                          rhs: {(DQ ('--certificate=') ($ VSub_Number '$2'))}
                                          spids: [2220]
                                        )
                                      ]
                                      spids: [2220]
                                    )
                                    (C {(shift)} {(2)})
                                  ]
                                  spids: [-1 2217]
                                )
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} 
                                          {(KW_Bang '!') (Lit_Other '=')} 
                                          {
                                            (DQ 
                                              (BracedVarSub
                                                token: <VSub_Number 1>
                                                suffix_op: 
                                                  (StringUnary
                                                    op_id: VOp1_Pound
                                                    arg_word: {('--certificate=')}
                                                  )
                                                spids: [2244 2248]
                                              )
                                            )
                                          } {(Lit_Other ']')}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:CERTIFICATE)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ('--certificate=') 
                                                (BracedVarSub
                                                  token: <VSub_Number 1>
                                                  suffix_op: 
                                                    (StringUnary
                                                      op_id: VOp1_Pound
                                                      arg_word: {('--certificate=')}
                                                    )
                                                  spids: [2260 2264]
                                                )
                                              )
                                            }
                                          spids: [2257]
                                        )
                                      ]
                                      spids: [2257]
                                    )
                                    (C {(shift)} {(1)})
                                  ]
                                  spids: [2232 2254]
                                )
                              ]
                              else_action: [
                                (C {(error)} {(1)} {(NEEDARG)} {(DQ ('option requires an argument %s'))} 
                                  {(DQ ($ VSub_Number '$1'))}
                                )
                              ]
                              spids: [2274 2293]
                            )
                          ]
                          spids: [2183 2189 2296 -1]
                        )
                        (case_arm
                          pat_list: [
                            {(--private-key)}
                            {(--private-key) (Lit_Other '=') (Lit_Other '?') (Lit_Other '*')}
                          ]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} 
                                          {(Lit_Other '=')} {(DQ (--private-key))} {(-a)} {(-n)} {(DQ ($ VSub_Number '$2'))} {(Lit_Other ']')}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:PRIVATEKEY)
                                          op: Equal
                                          rhs: {(DQ ('--private-key=') ($ VSub_Number '$2'))}
                                          spids: [2336]
                                        )
                                      ]
                                      spids: [2336]
                                    )
                                    (C {(shift)} {(2)})
                                  ]
                                  spids: [-1 2333]
                                )
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} 
                                          {(KW_Bang '!') (Lit_Other '=')} 
                                          {
                                            (DQ 
                                              (BracedVarSub
                                                token: <VSub_Number 1>
                                                suffix_op: 
                                                  (StringUnary
                                                    op_id: VOp1_Pound
                                                    arg_word: {('--private-key=')}
                                                  )
                                                spids: [2360 2364]
                                              )
                                            )
                                          } {(Lit_Other ']')}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:PRIVATEKEY)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ('--private-key=') 
                                                (BracedVarSub
                                                  token: <VSub_Number 1>
                                                  suffix_op: 
                                                    (StringUnary
                                                      op_id: VOp1_Pound
                                                      arg_word: {('--private-key=')}
                                                    )
                                                  spids: [2376 2380]
                                                )
                                              )
                                            }
                                          spids: [2373]
                                        )
                                      ]
                                      spids: [2373]
                                    )
                                    (C {(shift)} {(1)})
                                  ]
                                  spids: [2348 2370]
                                )
                              ]
                              else_action: [
                                (C {(error)} {(1)} {(NEEDARG)} {(DQ ('option requires an argument %s'))} 
                                  {(DQ ($ VSub_Number '$1'))}
                                )
                              ]
                              spids: [2390 2409]
                            )
                          ]
                          spids: [2299 2305 2412 -1]
                        )
                        (case_arm
                          pat_list: [{(--no-check-certificate)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:CHECKCERTIF)
                                  op: Equal
                                  rhs: {(DQ (--no-check-certificate))}
                                  spids: [2419]
                                )
                              ]
                              spids: [2419]
                            )
                            (C {(shift)})
                          ]
                          spids: [2415 2416 2428 -1]
                        )
                        (case_arm
                          pat_list: [{(-) (Lit_Other '*')}]
                          action: [
                            (C {(error)} {(1)} {(BADARG)} {(DQ ('unrecognized or invalid option %s'))} 
                              {(DQ ($ VSub_Number '$1'))}
                            )
                          ]
                          spids: [2431 2433 2451 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*')}]
                          action: [(ControlFlow token:<ControlFlow_Break break>)]
                          spids: [2454 2455 2461 -1]
                        )
                      ]
                      spids: [498 504 2464]
                    )
                  ]
                  spids: [495 2467]
                )
            )
          ]
          spids: [-1 486]
        )
      ]
      spids: [-1 2469]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(Lit_Other '[')} {(-n)} {(DQ ($ VSub_Name '$DISABLE_KEYRING'))} {(-a)} {(-n)} 
                  {(DQ ($ VSub_Name '$FORCE_KEYRING'))} {(Lit_Other ']')}
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (C {(error)} {(1)} {(BADARG)} 
              {
                (DQ 
                  (
'Both --no-check-gpg and --force-check-gpg specified, please pick one (at most)'
                  )
                )
              }
            )
          ]
          spids: [-1 2497]
        )
      ]
      spids: [-1 2510]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$SECOND_STAGE_ONLY'))} {(Lit_Other '=')} 
                  {(DQ (true))} {(Lit_Other ']')}
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:SUITE)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [(C {(cat)} {($ VSub_Name '$DEBOOTSTRAP_DIR') (/suite)})]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [2538 2543]
                      )
                    }
                  spids: [2537]
                )
              ]
              spids: [2537]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:ARCH)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [(C {(cat)} {($ VSub_Name '$DEBOOTSTRAP_DIR') (/arch)})]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [2547 2552]
                      )
                    }
                  spids: [2546]
                )
              ]
              spids: [2546]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(-e)} {($ VSub_Name '$DEBOOTSTRAP_DIR') (/variant)} 
                          {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:VARIANT)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (C {(cat)} {($ VSub_Name '$DEBOOTSTRAP_DIR') (/variant)})
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [2571 2576]
                              )
                            }
                          spids: [2570]
                        )
                      ]
                      spids: [2570]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:SUPPORTED_VARIANTS)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$VARIANT'))}
                          spids: [2579]
                        )
                      ]
                      spids: [2579]
                    )
                  ]
                  spids: [-1 2567]
                )
              ]
              spids: [-1 2585]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$CHROOTDIR'))} {(Lit_Other ']')})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [(assign_pair lhs:(LhsName name:TARGET) op:Equal rhs:{(/)} spids:[2604])]
                      spids: [2604]
                    )
                  ]
                  spids: [-1 2601]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:TARGET)
                      op: Equal
                      rhs: {($ VSub_Name '$CHROOTDIR')}
                      spids: [2611]
                    )
                  ]
                  spids: [2611]
                )
              ]
              spids: [2608 2615]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:SCRIPT)
                  op: Equal
                  rhs: {($ VSub_Name '$DEBOOTSTRAP_DIR') (/suite-script)}
                  spids: [2618]
                )
              ]
              spids: [2618]
            )
          ]
          spids: [-1 2534]
        )
      ]
      else_action: [
        (If
          arms: [
            (if_arm
              cond: [
                (Sentence
                  child: 
                    (AndOr
                      children: [
                        (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Number '$1'))} {(Lit_Other ']')})
                        (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Number '$2'))} {(Lit_Other ']')})
                      ]
                      op_id: Op_DPipe
                    )
                  terminator: <Op_Semi ';'>
                )
              ]
              action: [
                (C {(usage_err)} {(1)} {(NEEDSUITETARGET)} 
                  {(DQ ('You must specify a suite and a target.'))}
                )
              ]
              spids: [-1 2650]
            )
          ]
          spids: [-1 2664]
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:SUITE)
              op: Equal
              rhs: {(DQ ($ VSub_Number '$1'))}
              spids: [2667]
            )
          ]
          spids: [2667]
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:TARGET)
              op: Equal
              rhs: {(DQ ($ VSub_Number '$2'))}
              spids: [2673]
            )
          ]
          spids: [2673]
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:USER_MIRROR)
              op: Equal
              rhs: {(DQ ($ VSub_Number '$3'))}
              spids: [2679]
            )
          ]
          spids: [2679]
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:TARGET)
              op: Equal
              rhs: 
                {
                  (DQ 
                    (BracedVarSub
                      token: <VSub_Name TARGET>
                      suffix_op: (StringUnary op_id:VOp1_Percent arg_word:{(Lit_Slash /)})
                      spids: [2687 2691]
                    )
                  )
                }
              spids: [2685]
            )
          ]
          spids: [2685]
        )
        (If
          arms: [
            (if_arm
              cond: [
                (Sentence
                  child: 
                    (C {(Lit_Other '[')} 
                      {
                        (DQ 
                          (BracedVarSub
                            token: <VSub_Name TARGET>
                            suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{(Lit_Slash /)})
                            spids: [2700 2704]
                          )
                        )
                      } {(Lit_Other '=')} {(DQ (${ VSub_Name TARGET))} {(Lit_Other ']')}
                    )
                  terminator: <Op_Semi ';'>
                )
              ]
              action: [
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (C {(Lit_Other '[')} 
                              {
                                (DQ 
                                  (BracedVarSub
                                    token: <VSub_Name TARGET>
                                    suffix_op: 
                                      (StringUnary
                                        op_id: VOp1_Percent
                                        arg_word: {(Lit_Slash /) ('*')}
                                      )
                                    spids: [2726 2731]
                                  )
                                )
                              } {(Lit_Other '=')} {(DQ ($ VSub_Name '$TARGET'))} {(Lit_Other ']')}
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:TARGET)
                              op: Equal
                              rhs: 
                                {
                                  (DQ 
                                    (CommandSubPart
                                      command_list: 
                                        (CommandList
                                          children: [
                                            (C {(echo)} 
                                              {
                                                (DQ 
                                                  (CommandSubPart
                                                    command_list: 
                                                      (CommandList
                                                        children: [(C {(pwd)})]
                                                      )
                                                    left_token: <Left_Backtick '`'>
                                                    spids: [2753 2755]
                                                  ) (/) ($ VSub_Name '$TARGET')
                                                )
                                              }
                                            )
                                          ]
                                        )
                                      left_token: <Left_CommandSub '$('>
                                      spids: [2749 2759]
                                    )
                                  )
                                }
                              spids: [2747]
                            )
                          ]
                          spids: [2747]
                        )
                      ]
                      spids: [-1 2744]
                    )
                  ]
                  else_action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:TARGET)
                          op: Equal
                          rhs: 
                            {
                              (DQ 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (Sentence
                                          child: 
                                            (C {(cd)} 
                                              {
                                                (DQ 
                                                  (BracedVarSub
                                                    token: <VSub_Name TARGET>
                                                    suffix_op: 
                                                      (StringUnary
                                                        op_id: VOp1_Percent
                                                        arg_word: {(Lit_Slash /) ('*')}
                                                      )
                                                    spids: [2772 2777]
                                                  )
                                                )
                                              }
                                            )
                                          terminator: <Op_Semi ';'>
                                        )
                                        (C {(echo)} 
                                          {
                                            (DQ 
                                              (CommandSubPart
                                                command_list: (CommandList children:[(C {(pwd)})])
                                                left_token: <Left_Backtick '`'>
                                                spids: [2784 2786]
                                              ) (/) 
                                              (BracedVarSub
                                                token: <VSub_Name TARGET>
                                                suffix_op: 
                                                  (StringUnary
                                                    op_id: VOp1_DPound
                                                    arg_word: {('*') (Lit_Slash /)}
                                                  )
                                                spids: [2788 2793]
                                              )
                                            )
                                          }
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub '$('>
                                  spids: [2768 2795]
                                )
                              )
                            }
                          spids: [2766]
                        )
                      ]
                      spids: [2766]
                    )
                  ]
                  spids: [2763 2799]
                )
              ]
              spids: [-1 2718]
            )
          ]
          spids: [-1 2802]
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:SCRIPT)
              op: Equal
              rhs: {(DQ ($ VSub_Name '$DEBOOTSTRAP_DIR') (/scripts/) ($ VSub_Number '$1'))}
              spids: [2806]
            )
          ]
          spids: [2806]
        )
        (If
          arms: [
            (if_arm
              cond: [
                (Sentence
                  child: 
                    (AndOr
                      children: [
                        (C {(Lit_Other '[')} {(-n)} {(DQ ($ VSub_Name '$VARIANT'))} {(Lit_Other ']')})
                        (C {(Lit_Other '[')} {(-e)} 
                          {(DQ (${ VSub_Name SCRIPT) (.) (${ VSub_Name VARIANT))} {(Lit_Other ']')}
                        )
                      ]
                      op_id: Op_DAmp
                    )
                  terminator: <Op_Semi ';'>
                )
              ]
              action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:SCRIPT)
                      op: Equal
                      rhs: {(DQ (${ VSub_Name SCRIPT) (.) (${ VSub_Name VARIANT))}
                      spids: [2848]
                    )
                  ]
                  spids: [2848]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:SUPPORTED_VARIANTS)
                      op: Equal
                      rhs: {(DQ ($ VSub_Name '$VARIANT'))}
                      spids: [2860]
                    )
                  ]
                  spids: [2860]
                )
              ]
              spids: [-1 2845]
            )
          ]
          spids: [-1 2866]
        )
        (If
          arms: [
            (if_arm
              cond: [
                (Sentence
                  child: 
                    (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$4'))} {(KW_Bang '!') (Lit_Other '=')} {(DQ )} 
                      {(Lit_Other ']')}
                    )
                  terminator: <Op_Semi ';'>
                )
              ]
              action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:SCRIPT)
                      op: Equal
                      rhs: {(DQ ($ VSub_Number '$4'))}
                      spids: [2889]
                    )
                  ]
                  spids: [2889]
                )
              ]
              spids: [-1 2886]
            )
          ]
          spids: [-1 2895]
        )
      ]
      spids: [2622 2897]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (AndOr
                  children: [
                    (C {(in_path)} {(dpkg)})
                    (SimpleCommand
                      words: [{(dpkg)} {(--print-architecture)}]
                      redirects: [
                        (Redir
                          op_id: Redir_Great
                          fd: -1
                          arg_word: {(/dev/null)}
                          spids: [2918]
                        )
                        (Redir
                          op_id: Redir_GreatAnd
                          fd: 2
                          arg_word: {(1)}
                          spids: [2921]
                        )
                      ]
                    )
                  ]
                  op_id: Op_DAmp
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:HOST_ARCH)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [(C {(/usr/bin/dpkg)} {(--print-architecture)})]
                          )
                        left_token: <Left_Backtick '`'>
                        spids: [2929 2933]
                      )
                    }
                  spids: [2928]
                )
              ]
              spids: [2928]
            )
          ]
          spids: [-1 2925]
        )
        (if_arm
          cond: [
            (Sentence
              child: 
                (AndOr
                  children: [
                    (C {(in_path)} {(udpkg)})
                    (SimpleCommand
                      words: [{(udpkg)} {(--print-architecture)}]
                      redirects: [
                        (Redir
                          op_id: Redir_Great
                          fd: -1
                          arg_word: {(/dev/null)}
                          spids: [2949]
                        )
                        (Redir
                          op_id: Redir_GreatAnd
                          fd: 2
                          arg_word: {(1)}
                          spids: [2952]
                        )
                      ]
                    )
                  ]
                  op_id: Op_DAmp
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:HOST_ARCH)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [(C {(/usr/bin/udpkg)} {(--print-architecture)})]
                          )
                        left_token: <Left_Backtick '`'>
                        spids: [2960 2964]
                      )
                    }
                  spids: [2959]
                )
              ]
              spids: [2959]
            )
          ]
          spids: [2935 2956]
        )
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(Lit_Other '[')} {(-e)} {($ VSub_Name '$DEBOOTSTRAP_DIR') (/arch)} {(Lit_Other ']')})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:HOST_ARCH)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [(C {(cat)} {($ VSub_Name '$DEBOOTSTRAP_DIR') (/arch)})]
                          )
                        left_token: <Left_Backtick '`'>
                        spids: [2982 2987]
                      )
                    }
                  spids: [2981]
                )
              ]
              spids: [2981]
            )
          ]
          spids: [2966 2978]
        )
      ]
      spids: [-1 2989]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:HOST_OS)
          op: Equal
          rhs: {(DQ ($ VSub_Name '$HOST_ARCH'))}
          spids: [2991]
        )
      ]
      spids: [2991]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$HOST_OS'))} {(Lit_Other ']')})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (Case
              to_match: 
                {
                  (CommandSubPart
                    command_list: (CommandList children:[(C {(uname)})])
                    left_token: <Left_Backtick '`'>
                    spids: [3017 3019]
                  )
                }
              arms: [
                (case_arm
                  pat_list: [{(Linux)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:HOST_OS)
                          op: Equal
                          rhs: {(linux)}
                          spids: [3028]
                        )
                      ]
                      spids: [3028]
                    )
                  ]
                  spids: [3024 3025 3032 -1]
                )
                (case_arm
                  pat_list: [{(GNU/kFreeBSD)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:HOST_OS)
                          op: Equal
                          rhs: {(kfreebsd)}
                          spids: [3039]
                        )
                      ]
                      spids: [3039]
                    )
                  ]
                  spids: [3035 3036 3043 -1]
                )
                (case_arm
                  pat_list: [{(GNU)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:HOST_OS)
                          op: Equal
                          rhs: {(hurd)}
                          spids: [3050]
                        )
                      ]
                      spids: [3050]
                    )
                  ]
                  spids: [3046 3047 3054 -1]
                )
                (case_arm
                  pat_list: [{(FreeBSD) (Lit_Other '*')}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:HOST_OS)
                          op: Equal
                          rhs: {(freebsd)}
                          spids: [3062]
                        )
                      ]
                      spids: [3062]
                    )
                  ]
                  spids: [3057 3059 3066 -1]
                )
              ]
              spids: [3015 3021 3069]
            )
          ]
          spids: [-1 3012]
        )
      ]
      spids: [-1 3071]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$ARCH'))} {(Lit_Other ']')})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:ARCH)
                  op: Equal
                  rhs: {($ VSub_Name '$HOST_ARCH')}
                  spids: [3090]
                )
              ]
              spids: [3090]
            )
          ]
          spids: [-1 3087]
        )
      ]
      spids: [-1 3093]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (AndOr
                  children: [
                    (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$ARCH'))} {(Lit_Other ']')})
                    (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$HOST_OS'))} {(Lit_Other ']')})
                  ]
                  op_id: Op_DPipe
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [(C {(error)} {(1)} {(WHATARCH)} {(DQ ("Couldn't work out current architecture"))})]
          spids: [-1 3121]
        )
      ]
      spids: [-1 3135]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (AndOr
                  children: [
                    (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$HOST_OS'))} {(Lit_Other '=')} 
                      {(DQ (kfreebsd))} {(Lit_Other ']')}
                    )
                    (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$HOST_OS'))} {(Lit_Other '=')} 
                      {(DQ (freebsd))} {(Lit_Other ']')}
                    )
                  ]
                  op_id: Op_DPipe
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (ForEach
              iter_name: module
              iter_words: [{(linprocfs)} {(fdescfs)} {(tmpfs)} {(linsysfs)}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (AndOr
                      children: [
                        (SimpleCommand
                          words: [{(kldstat)} {(-m)} {(DQ ($ VSub_Name '$module'))}]
                          redirects: [
                            (Redir
                              op_id: Redir_Great
                              fd: -1
                              arg_word: {(/dev/null)}
                              spids: [3200]
                            )
                            (Redir
                              op_id: Redir_GreatAnd
                              fd: 2
                              arg_word: {(1)}
                              spids: [3204]
                            )
                          ]
                        )
                        (C {(warning)} {(SANITYCHECK)} 
                          {(DQ ('Probably required module %s is not loaded'))} {(DQ ($ VSub_Name '$module'))}
                        )
                      ]
                      op_id: Op_DPipe
                    )
                  ]
                  spids: [3189 3222]
                )
              spids: [3179 3187]
            )
          ]
          spids: [-1 3171]
        )
      ]
      spids: [-1 3224]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$TARGET'))} {(Lit_Other '=')} {(DQ (/))} 
                  {(Lit_Other ']')}
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:CHROOT_CMD) op:Equal rhs:{(DQ )} spids:[3247])]
              spids: [3247]
            )
          ]
          spids: [-1 3244]
        )
      ]
      else_action: [
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:CHROOT_CMD)
              op: Equal
              rhs: {(DQ ('chroot ') ($ VSub_Name '$TARGET'))}
              spids: [3254]
            )
          ]
          spids: [3254]
        )
      ]
      spids: [3251 3260]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$SHA_SIZE'))} {(Lit_Other ']')})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:SHA_SIZE) op:Equal rhs:{(256)} spids:[3279])]
              spids: [3279]
            )
          ]
          spids: [-1 3276]
        )
      ]
      spids: [-1 3282]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (AndOr
                  children: [
                    (Pipeline
                      children: [(C {(in_path)} {(DQ (sha) (${ VSub_Name SHA_SIZE) (sum))})]
                      negated: True
                    )
                    (Pipeline
                      children: [(C {(in_path)} {(DQ (sha) (${ VSub_Name SHA_SIZE))})]
                      negated: True
                    )
                  ]
                  op_id: Op_DAmp
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:SHA_SIZE) op:Equal rhs:{(1)} spids:[3315])]
              spids: [3315]
            )
          ]
          spids: [-1 3312]
        )
      ]
      spids: [-1 3318]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:DEBOOTSTRAP_CHECKSUM_FIELD)
          op: Equal
          rhs: {(DQ (SHA) ($ VSub_Name '$SHA_SIZE'))}
          spids: [3320]
        )
      ]
      spids: [3320]
    )
    (C {(export)} {(ARCH)} {(SUITE)} {(TARGET)} {(CHROOT_CMD)} {(SHA_SIZE)} {(DEBOOTSTRAP_CHECKSUM_FIELD)})
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(am_doing_phase)} {(first_stage)} {(second_stage)})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          children: [
                            (C {(in_path)} {(id)})
                            (C {(Lit_Other '[')} 
                              {
                                (CommandSubPart
                                  command_list: (CommandList children:[(C {(id)} {(-u)})])
                                  left_token: <Left_Backtick '`'>
                                  spids: [3364 3368]
                                )
                              } {(-ne)} {(0)} {(Lit_Other ']')}
                            )
                          ]
                          op_id: Op_DAmp
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(C {(error)} {(1)} {(NEEDROOT)} {(DQ ('debootstrap can only run as root'))})]
                  spids: [-1 3377]
                )
              ]
              spids: [-1 3391]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (Pipeline
                          children: [(C {(check_sane_mount)} {(DQ ($ VSub_Name '$TARGET'))})]
                          negated: True
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(error)} {(1)} {(NOEXEC)} 
                      {
                        (DQ ("Cannot install into target '") ($ VSub_Name '$TARGET') 
                          ("' mounted with noexec or nodev")
                        )
                      }
                    )
                  ]
                  spids: [-1 3409]
                )
              ]
              spids: [-1 3425]
            )
          ]
          spids: [-1 3351]
        )
      ]
      spids: [-1 3427]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(Lit_Other '[')} {(KW_Bang '!')} {(-e)} {(DQ ($ VSub_Name '$SCRIPT'))} 
                  {(Lit_Other ']')}
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (C {(error)} {(1)} {(NOSCRIPT)} {(DQ ('No such script: %s'))} {(DQ ($ VSub_Name '$SCRIPT'))})
          ]
          spids: [-1 3445]
        )
      ]
      spids: [-1 3462]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$TARGET'))} {(KW_Bang '!') (Lit_Other '=')} {(DQ )} 
                  {(Lit_Other ']')}
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [(C {(mkdir)} {(-p)} {(DQ ($ VSub_Name '$TARGET') (/debootstrap))})]
          spids: [-1 3486]
        )
      ]
      spids: [-1 3498]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$USE_DEBIANINSTALLER_INTERACTION'))} 
                  {(Lit_Other '=')} {(yes)} {(Lit_Other ']')}
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (SimpleCommand
              words: [{(exec)}]
              redirects: [(Redir op_id:Redir_GreatAnd fd:4 arg_word:{(3)} spids:[3552])]
            )
          ]
          spids: [-1 3539]
        )
        (if_arm
          cond: [(Sentence child:(C {(am_doing_phase)} {(printdebs)}) terminator:<Op_Semi ';'>)]
          action: [
            (SimpleCommand
              words: [{(exec)}]
              redirects: [(Redir op_id:Redir_GreatAnd fd:4 arg_word:{(2)} spids:[3575])]
            )
          ]
          spids: [3555 3562]
        )
      ]
      else_action: [
        (SimpleCommand
          words: [{(exec)}]
          redirects: [(Redir op_id:Redir_GreatAnd fd:4 arg_word:{(1)} spids:[3595])]
        )
        (SimpleCommand
          words: [{(exec)}]
          redirects: [
            (Redir
              op_id: Redir_DGreat
              fd: -1
              arg_word: {(DQ ($ VSub_Name '$TARGET') (/debootstrap/debootstrap.log))}
              spids: [3601]
            )
          ]
        )
        (SimpleCommand
          words: [{(exec)}]
          redirects: [(Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[3610])]
        )
      ]
      spids: [3578 3613]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$UNPACK_TARBALL'))} {(Lit_Other ']')})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} 
                          {
                            (DQ 
                              (BracedVarSub
                                token: <VSub_Name UNPACK_TARBALL>
                                suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{(Lit_Slash /)})
                                spids: [3639 3643]
                              )
                            )
                          } {(Lit_Other '=')} {(DQ ($ VSub_Name '$UNPACK_TARBALL'))} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(error)} {(1)} {(TARPATH)} {(DQ ('Tarball must be given a complete path'))})
                  ]
                  spids: [-1 3655]
                )
              ]
              spids: [-1 3669]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} 
                          {
                            (DQ 
                              (BracedVarSub
                                token: <VSub_Name UNPACK_TARBALL>
                                suffix_op: (StringUnary op_id:VOp1_Percent arg_word:{(.tar)})
                                spids: [3677 3681]
                              )
                            )
                          } {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Name '$UNPACK_TARBALL'))} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Subshell
                      child: 
                        (AndOr
                          children: [
                            (C {(cd)} {(DQ ($ VSub_Name '$TARGET'))})
                            (C {(tar)} {(-xf)} {(DQ ($ VSub_Name '$UNPACK_TARBALL'))})
                          ]
                          op_id: Op_DAmp
                        )
                      spids: [3697 3713]
                    )
                  ]
                  spids: [-1 3694]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} 
                          {
                            (DQ 
                              (BracedVarSub
                                token: <VSub_Name UNPACK_TARBALL>
                                suffix_op: (StringUnary op_id:VOp1_Percent arg_word:{(.tgz)})
                                spids: [3721 3725]
                              )
                            )
                          } {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Name '$UNPACK_TARBALL'))} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Subshell
                      child: 
                        (AndOr
                          children: [
                            (C {(cd)} {(DQ ($ VSub_Name '$TARGET'))})
                            (Pipeline
                              children: [
                                (C {(zcat)} {(DQ ($ VSub_Name '$UNPACK_TARBALL'))})
                                (C {(tar)} {(-xf)} {(-)})
                              ]
                              negated: False
                            )
                          ]
                          op_id: Op_DAmp
                        )
                      spids: [3741 3763]
                    )
                  ]
                  spids: [3716 3738]
                )
              ]
              else_action: [
                (C {(error)} {(1)} {(NOTTAR)} {(DQ ('Unknown tarball: must be either .tar or .tgz'))})
              ]
              spids: [3766 3780]
            )
          ]
          spids: [-1 3631]
        )
      ]
      spids: [-1 3782]
    )
    (C {(.)} {(DQ ($ VSub_Name '$SCRIPT'))})
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$SECOND_STAGE_ONLY'))} {(Lit_Other '=')} 
                  {(DQ (true))} {(Lit_Other ']')}
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:MIRRORS)
                  op: Equal
                  rhs: {(null) (Lit_Other ':')}
                  spids: [3816]
                )
              ]
              spids: [3816]
            )
          ]
          spids: [-1 3813]
        )
      ]
      else_action: [
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:MIRRORS)
              op: Equal
              rhs: {(DQ ($ VSub_Name '$DEF_MIRROR'))}
              spids: [3823]
            )
          ]
          spids: [3823]
        )
        (If
          arms: [
            (if_arm
              cond: [
                (Sentence
                  child: 
                    (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$USER_MIRROR'))} 
                      {(KW_Bang '!') (Lit_Other '=')} {(DQ )} {(Lit_Other ']')}
                    )
                  terminator: <Op_Semi ';'>
                )
              ]
              action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:MIRRORS)
                      op: Equal
                      rhs: {(DQ ($ VSub_Name '$USER_MIRROR'))}
                      spids: [3849]
                    )
                  ]
                  spids: [3849]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:MIRRORS)
                      op: Equal
                      rhs: 
                        {
                          (DQ 
                            (BracedVarSub
                              token: <VSub_Name MIRRORS>
                              suffix_op: (StringUnary op_id:VOp1_Percent arg_word:{(Lit_Slash /)})
                              spids: [3857 3861]
                            )
                          )
                        }
                      spids: [3855]
                    )
                  ]
                  spids: [3855]
                )
              ]
              spids: [-1 3846]
            )
          ]
          spids: [-1 3865]
        )
      ]
      spids: [3820 3867]
    )
    (C {(export)} {(MIRRORS)})
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:ok) op:Equal rhs:{(false)} spids:[3875])]
      spids: [3875]
    )
    (ForEach
      iter_name: v
      iter_words: [{($ VSub_Name '$SUPPORTED_VARIANTS')}]
      do_arg_iter: False
      body: 
        (DoGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(doing_variant)} {($ VSub_Name '$v')})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Sentence
                      child: 
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:ok)
                              op: Equal
                              rhs: {(true)}
                              spids: [3899]
                            )
                          ]
                          spids: [3899]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  spids: [-1 3897]
                )
              ]
              spids: [-1 3903]
            )
          ]
          spids: [3887 3905]
        )
      spids: [3883 3885]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (Pipeline children:[(C {($ VSub_Name '$ok')})] negated:True)
              terminator: <Op_Semi ';'>
            )
          ]
          action: [(C {(error)} {(1)} {(UNSUPPVARIANT)} {(DQ ('unsupported variant'))})]
          spids: [-1 3914]
        )
      ]
      spids: [-1 3927]
    )
    (If
      arms: [
        (if_arm
          cond: [(Sentence child:(C {(am_doing_phase)} {(finddebs)}) terminator:<Op_Semi ';'>)]
          action: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          children: [
                            (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$FINDDEBS_NEEDS_INDICES'))} 
                              {(Lit_Other '=')} {(DQ (true))} {(Lit_Other ']')}
                            )
                            (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$RESOLVE_DEPS'))} {(Lit_Other '=')} 
                              {(DQ (true))} {(Lit_Other ']')}
                            )
                          ]
                          op_id: Op_DPipe
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(download_indices)})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:GOT_INDICES)
                          op: Equal
                          rhs: {(true)}
                          spids: [3985]
                        )
                      ]
                      spids: [3985]
                    )
                  ]
                  spids: [-1 3979]
                )
              ]
              spids: [-1 3989]
            )
            (C {(work_out_debs)})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:base)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (C {(without)} 
                                {(DQ ($ VSub_Name '$base') (' ') ($ VSub_Name '$ADDITIONAL'))} {(DQ ($ VSub_Name '$EXCLUDE'))}
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [3998 4010]
                      )
                    }
                  spids: [3997]
                )
              ]
              spids: [3997]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$RESOLVE_DEPS'))} {(Lit_Other '=')} 
                          {(true)} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:requiredX)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (C {(echo)} 
                                        {
                                          (CommandSubPart
                                            command_list: 
                                              (CommandList
                                                children: [
                                                  (Pipeline
                                                    children: [
                                                      (C {(echo)} {($ VSub_Name '$required')})
                                                      (C {(tr)} {(SQ <' '>)} {(SQ <'\\n'>)})
                                                      (C {(sort)})
                                                      (C {(uniq)})
                                                    ]
                                                    negated: False
                                                  )
                                                ]
                                              )
                                            left_token: <Left_CommandSub '$('>
                                            spids: [4036 4060]
                                          )
                                        }
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [4033 4061]
                              )
                            }
                          spids: [4032]
                        )
                      ]
                      spids: [4032]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:baseX)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (C {(echo)} 
                                        {
                                          (CommandSubPart
                                            command_list: 
                                              (CommandList
                                                children: [
                                                  (Pipeline
                                                    children: [
                                                      (C {(echo)} {($ VSub_Name '$base')})
                                                      (C {(tr)} {(SQ <' '>)} {(SQ <'\\n'>)})
                                                      (C {(sort)})
                                                      (C {(uniq)})
                                                    ]
                                                    negated: False
                                                  )
                                                ]
                                              )
                                            left_token: <Left_CommandSub '$('>
                                            spids: [4068 4092]
                                          )
                                        }
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [4065 4093]
                              )
                            }
                          spids: [4064]
                        )
                      ]
                      spids: [4064]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:baseN)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (C {(without)} {(DQ ($ VSub_Name '$baseX'))} 
                                        {(DQ ($ VSub_Name '$requiredX'))}
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [4098 4108]
                              )
                            }
                          spids: [4097]
                        )
                      ]
                      spids: [4097]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:baseU)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (C {(without)} {(DQ ($ VSub_Name '$baseX'))} 
                                        {(DQ ($ VSub_Name '$baseN'))}
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [4112 4122]
                              )
                            }
                          spids: [4111]
                        )
                      ]
                      spids: [4111]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$baseU'))} 
                                  {(KW_Bang '!') (Lit_Other '=')} {(DQ )} {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(info)} {(REDUNDANTBASE)} 
                              {(DQ ('Found packages in base already in required: %s'))} {(DQ ($ VSub_Name '$baseU'))}
                            )
                          ]
                          spids: [-1 4143]
                        )
                      ]
                      spids: [-1 4159]
                    )
                    (C {(info)} {(RESOLVEREQ)} {(DQ ('Resolving dependencies of required packages...'))})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:required)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [(C {(resolve_deps)} {($ VSub_Name '$requiredX')})]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [4173 4177]
                              )
                            }
                          spids: [4172]
                        )
                      ]
                      spids: [4172]
                    )
                    (C {(info)} {(RESOLVEBASE)} {(DQ ('Resolving dependencies of base packages...'))})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:base)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [(C {(resolve_deps)} {($ VSub_Name '$baseX')})]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [4190 4194]
                              )
                            }
                          spids: [4189]
                        )
                      ]
                      spids: [4189]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:base)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (C {(without)} {(DQ ($ VSub_Name '$base'))} 
                                        {(DQ ($ VSub_Name '$required'))}
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [4198 4208]
                              )
                            }
                          spids: [4197]
                        )
                      ]
                      spids: [4197]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:requiredX)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (C {(without)} {(DQ ($ VSub_Name '$required'))} 
                                        {(DQ ($ VSub_Name '$requiredX'))}
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [4213 4223]
                              )
                            }
                          spids: [4212]
                        )
                      ]
                      spids: [4212]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:baseX)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (C {(without)} {(DQ ($ VSub_Name '$base'))} 
                                        {(DQ ($ VSub_Name '$baseX'))}
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [4227 4237]
                              )
                            }
                          spids: [4226]
                        )
                      ]
                      spids: [4226]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$requiredX'))} 
                                  {(KW_Bang '!') (Lit_Other '=')} {(DQ )} {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(info)} {(NEWREQUIRED)} 
                              {(DQ ('Found additional required dependencies: %s'))} {(DQ ($ VSub_Name '$requiredX'))}
                            )
                          ]
                          spids: [-1 4257]
                        )
                      ]
                      spids: [-1 4273]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$baseX'))} 
                                  {(KW_Bang '!') (Lit_Other '=')} {(DQ )} {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(info)} {(NEWBASE)} {(DQ ('Found additional base dependencies: %s'))} 
                              {(DQ ($ VSub_Name '$baseX'))}
                            )
                          ]
                          spids: [-1 4293]
                        )
                      ]
                      spids: [-1 4309]
                    )
                  ]
                  spids: [-1 4029]
                )
              ]
              spids: [-1 4312]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:all_debs)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$required') (' ') ($ VSub_Name '$base'))}
                  spids: [4316]
                )
              ]
              spids: [4316]
            )
          ]
          spids: [-1 3941]
        )
      ]
      spids: [-1 4323]
    )
    (If
      arms: [
        (if_arm
          cond: [(Sentence child:(C {(am_doing_phase)} {(printdebs)}) terminator:<Op_Semi ';'>)]
          action: [(C {(echo)} {(DQ ($ VSub_Name '$all_debs'))})]
          spids: [-1 4333]
        )
      ]
      spids: [-1 4342]
    )
    (If
      arms: [
        (if_arm
          cond: [(Sentence child:(C {(am_doing_phase)} {(dldebs)}) terminator:<Op_Semi ';'>)]
          action: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$GOT_INDICES'))} 
                          {(KW_Bang '!') (Lit_Other '=')} {(DQ (true))} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(C {(download_indices)})]
                  spids: [-1 4373]
                )
              ]
              spids: [-1 4379]
            )
            (C {(download)} {($ VSub_Name '$all_debs')})
          ]
          spids: [-1 4352]
        )
      ]
      spids: [-1 4386]
    )
    (If
      arms: [
        (if_arm
          cond: [(Sentence child:(C {(am_doing_phase)} {(maketarball)}) terminator:<Op_Semi ';'>)]
          action: [
            (Subshell
              child: 
                (CommandList
                  children: [
                    (Sentence
                      child: (C {(cd)} {($ VSub_Name '$TARGET')})
                      terminator: <Op_Semi ';'>
                    )
                    (C {(tar)} {(czf)} {(-)} {(var/lib/apt)} {(var/cache/apt)})
                  ]
                )
              redirects: [
                (Redir
                  op_id: Redir_Great
                  fd: -1
                  arg_word: {($ VSub_Name '$MAKE_TARBALL')}
                  spids: [4417]
                )
              ]
              spids: [4399 4415]
            )
          ]
          spids: [-1 4396]
        )
      ]
      spids: [-1 4420]
    )
    (If
      arms: [
        (if_arm
          cond: [(Sentence child:(C {(am_doing_phase)} {(first_stage)}) terminator:<Op_Semi ';'>)]
          action: [
            (C {(choose_extractor)})
            (C {(first_stage_install)})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (Pipeline
                          children: [(C {(am_doing_phase)} {(second_stage)})]
                          negated: True
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(cp)} {(DQ ($ VSub_Number '$0'))} 
                      {(DQ ($ VSub_Name '$TARGET') (/debootstrap/debootstrap))}
                    )
                    (C {(cp)} {($ VSub_Name '$DEBOOTSTRAP_DIR') (/functions)} 
                      {(DQ ($ VSub_Name '$TARGET') (/debootstrap/functions))}
                    )
                    (C {(cp)} {($ VSub_Name '$SCRIPT')} 
                      {(DQ ($ VSub_Name '$TARGET') (/debootstrap/suite-script))}
                    )
                    (SimpleCommand
                      words: [{(echo)} {(DQ ($ VSub_Name '$ARCH'))}]
                      redirects: [
                        (Redir
                          op_id: Redir_Great
                          fd: -1
                          arg_word: {(DQ ($ VSub_Name '$TARGET') (/debootstrap/arch))}
                          spids: [4504]
                        )
                      ]
                    )
                    (SimpleCommand
                      words: [{(echo)} {(DQ ($ VSub_Name '$SUITE'))}]
                      redirects: [
                        (Redir
                          op_id: Redir_Great
                          fd: -1
                          arg_word: {(DQ ($ VSub_Name '$TARGET') (/debootstrap/suite))}
                          spids: [4517]
                        )
                      ]
                    )
                    (AndOr
                      children: [
                        (C {(Lit_Other '[')} {(DQ )} {(Lit_Other '=')} {(DQ ($ VSub_Name '$VARIANT'))} 
                          {(Lit_Other ']')}
                        )
                        (SimpleCommand
                          words: [{(echo)} {(DQ ($ VSub_Name '$VARIANT'))}]
                          redirects: [
                            (Redir
                              op_id: Redir_Great
                              fd: -1
                              arg_word: {(DQ ($ VSub_Name '$TARGET') (/debootstrap/variant))}
                              spids: [4546]
                            )
                          ]
                        )
                      ]
                      op_id: Op_DPipe
                    )
                    (SimpleCommand
                      words: [{(echo)} {(DQ ($ VSub_Name '$required'))}]
                      redirects: [
                        (Redir
                          op_id: Redir_Great
                          fd: -1
                          arg_word: {(DQ ($ VSub_Name '$TARGET') (/debootstrap/required))}
                          spids: [4559]
                        )
                      ]
                    )
                    (SimpleCommand
                      words: [{(echo)} {(DQ ($ VSub_Name '$base'))}]
                      redirects: [
                        (Redir
                          op_id: Redir_Great
                          fd: -1
                          arg_word: {(DQ ($ VSub_Name '$TARGET') (/debootstrap/base))}
                          spids: [4572]
                        )
                      ]
                    )
                    (C {(chmod)} {(755)} {(DQ ($ VSub_Name '$TARGET') (/debootstrap/debootstrap))})
                  ]
                  spids: [-1 4462]
                )
              ]
              spids: [-1 4590]
            )
          ]
          spids: [-1 4430]
        )
      ]
      spids: [-1 4592]
    )
    (If
      arms: [
        (if_arm
          cond: [(Sentence child:(C {(am_doing_phase)} {(second_stage)}) terminator:<Op_Semi ';'>)]
          action: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$SECOND_STAGE_ONLY'))} {(Lit_Other '=')} 
                          {(true)} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:required)
                          op: Equal
                          rhs: 
                            {
                              (DQ 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (C {(cat)} {($ VSub_Name '$DEBOOTSTRAP_DIR') (/required)})
                                      ]
                                    )
                                  left_token: <Left_CommandSub '$('>
                                  spids: [4625 4630]
                                )
                              )
                            }
                          spids: [4623]
                        )
                      ]
                      spids: [4623]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:base)
                          op: Equal
                          rhs: 
                            {
                              (DQ 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [(C {(cat)} {($ VSub_Name '$DEBOOTSTRAP_DIR') (/base)})]
                                    )
                                  left_token: <Left_CommandSub '$('>
                                  spids: [4636 4641]
                                )
                              )
                            }
                          spids: [4634]
                        )
                      ]
                      spids: [4634]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:all_debs)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$required') (' ') ($ VSub_Name '$base'))}
                          spids: [4645]
                        )
                      ]
                      spids: [4645]
                    )
                  ]
                  spids: [-1 4620]
                )
              ]
              spids: [-1 4653]
            )
            (C {(second_stage_install)})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(-e)} 
                          {(DQ ($ VSub_Name '$TARGET') (/etc/apt/sources.list))} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(C {(rm)} {(-f)} {(DQ ($ VSub_Name '$TARGET') (/etc/apt/sources.list))})]
                  spids: [-1 4696]
                )
              ]
              spids: [-1 4709]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} 
                          {
                            (DQ 
                              (BracedVarSub
                                token: <VSub_Name MIRRORS>
                                suffix_op: 
                                  (StringUnary
                                    op_id: VOp1_Pound
                                    arg_word: {('http:') (Lit_Slash /) (Lit_Slash /)}
                                  )
                                spids: [4717 4723]
                              )
                            )
                          } {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Name '$MIRRORS'))} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(setup_apt_sources)} 
                      {
                        (DQ 
                          (BracedVarSub
                            token: <VSub_Name MIRRORS>
                            suffix_op: (StringUnary op_id:VOp1_DPercent arg_word:{(' *')})
                            spids: [4742 4746]
                          )
                        )
                      }
                    )
                    (C {(mv_invalid_to)} 
                      {
                        (DQ 
                          (BracedVarSub
                            token: <VSub_Name MIRRORS>
                            suffix_op: (StringUnary op_id:VOp1_DPercent arg_word:{(' *')})
                            spids: [4753 4757]
                          )
                        )
                      }
                    )
                  ]
                  spids: [-1 4736]
                )
              ]
              else_action: [
                (C {(setup_apt_sources)} {(DQ ($ VSub_Name '$DEF_MIRROR'))})
                (C {(mv_invalid_to)} {(DQ ($ VSub_Name '$DEF_MIRROR'))})
              ]
              spids: [4761 4778]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(-e)} 
                          {(DQ ($ VSub_Name '$TARGET') (/debootstrap/debootstrap.log))} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$KEEP_DEBOOTSTRAP_DIR'))} 
                                  {(Lit_Other '=')} {(true)} {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(cp)} {(DQ ($ VSub_Name '$TARGET') (/debootstrap/debootstrap.log))} 
                              {(DQ ($ VSub_Name '$TARGET') (/var/log/bootstrap.log))}
                            )
                          ]
                          spids: [-1 4814]
                        )
                      ]
                      else_action: [
                        (C {(mv)} {(DQ ($ VSub_Name '$TARGET') (/debootstrap/debootstrap.log))} 
                          {(DQ ($ VSub_Name '$TARGET') (/var/log/bootstrap.log))}
                        )
                      ]
                      spids: [4830 4866]
                    )
                  ]
                  spids: [-1 4796]
                )
              ]
              spids: [-1 4869]
            )
            (C {(sync)})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$KEEP_DEBOOTSTRAP_DIR'))} 
                          {(Lit_Other '=')} {(true)} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(-x)} 
                                  {(DQ ($ VSub_Name '$TARGET') (/debootstrap/debootstrap))} {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(chmod)} {(644)} 
                              {(DQ ($ VSub_Name '$TARGET') (/debootstrap/debootstrap))}
                            )
                          ]
                          spids: [-1 4908]
                        )
                      ]
                      spids: [-1 4921]
                    )
                  ]
                  spids: [-1 4891]
                )
              ]
              else_action: [(C {(rm)} {(-rf)} {(DQ ($ VSub_Name '$TARGET') (/debootstrap))})]
              spids: [4924 4937]
            )
          ]
          spids: [-1 4602]
        )
      ]
      spids: [-1 4939]
    )
    (If
      arms: [
        (if_arm
          cond: [(Sentence child:(C {(am_doing_phase)} {(kill_target)}) terminator:<Op_Semi ';'>)]
          action: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$KEEP_DEBOOTSTRAP_DIR'))} 
                          {(KW_Bang '!') (Lit_Other '=')} {(true)} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(info)} {(KILLTARGET)} {(DQ ('Deleting target directory'))})
                    (C {(rm)} {(-rf)} {(DQ ($ VSub_Name '$TARGET'))})
                  ]
                  spids: [-1 4968]
                )
              ]
              spids: [-1 4989]
            )
          ]
          spids: [-1 4949]
        )
      ]
      spids: [-1 4991]
    )
  ]
)