(CommandList
  children: [
    (C {(.)} {(${ VSub_Name BACKEND) (/functions-mountoptical.sh)})
    (FuncDef
      name: start_extract_dist
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Number '$1'))} {(Lit_Other ']')})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Sentence
                      child: (C {(exit_err)} {(DQ ('Called dist extraction with no directory set!'))})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  spids: [16777215 115]
                )
              ]
              spids: [16777215 124]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$INSFILE'))} {(Lit_Other ']')})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Sentence
                      child: (C {(exit_err)} {(DQ ('Called extraction with no install file set!'))})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  spids: [16777215 140]
                )
              ]
              spids: [16777215 149]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:DDIR)
                  op: Equal
                  rhs: {(DQ ($ VSub_Number '$1'))}
                  spids: [154]
                )
              ]
              spids: [152]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(DQ (${ VSub_Name INSTALLMODE))} {(Lit_Other '=')} 
                          {(DQ (upgrade))} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:TAROPTS)
                          op: Equal
                          rhs: {(DQ ('-X ') (${ VSub_Name PROGDIR) (/conf/exclude-from-upgrade))}
                          spids: [187]
                        )
                      ]
                      spids: [187]
                    )
                  ]
                  spids: [16777215 184]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [(assign_pair lhs:(LhsName name:TAROPTS) op:Equal rhs:{(DQ )} spids:[200])]
                  spids: [200]
                )
              ]
              spids: [197 205]
            )
            (ForEach
              iter_name: di
              iter_words: [{($ VSub_Name '$INSFILE')}]
              do_arg_iter: F
              body: 
                (DoGroup
                  children: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(-e)} {(DQ (${ VSub_Name DDIR) (/MANIFEST))} 
                                  {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:count)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {(grep)} {(DQ ('^') (${ VSub_Name di) (.txz))} 
                                                    {(${ VSub_Name DDIR) (/MANIFEST)}
                                                  )
                                                  (C {(awk)} {(SQ <'{print $3}'>)})
                                                ]
                                                negated: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [250 273]
                                      )
                                    }
                                  spids: [249]
                                )
                              ]
                              spids: [249]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(Lit_Other '[')} {(KW_Bang '!')} {(-z)} 
                                          {(DQ ($ VSub_Name '$count'))} {(Lit_Other ']')}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [(C {(echo)} {(DQ ('INSTALLCOUNT: ') ($ VSub_Name '$count'))})]
                                  spids: [16777215 292]
                                )
                              ]
                              spids: [16777215 303]
                            )
                          ]
                          spids: [16777215 245]
                        )
                      ]
                      spids: [16777215 306]
                    )
                    (C {(echo_log)} 
                      {(DQ ('pc-sysinstall: Starting Extraction (') (${ VSub_Name di) (')'))}
                    )
                    (SimpleCommand
                      words: [
                        {(tar)}
                        {(-xpv)}
                        {(-C)}
                        {(${ VSub_Name FSMNT)}
                        {(-f)}
                        {(${ VSub_Name DDIR) (/) (${ VSub_Name di) (.txz)}
                        {(${ VSub_Name TAROPTS)}
                      ]
                      redirects: [
                        (Redir
                          op_id: Redir_GreatAnd
                          fd: 16777215
                          arg_word: {(1)}
                          spids: [345]
                        )
                        (Redir
                          op_id: Redir_GreatAnd
                          fd: 2
                          arg_word: {(1)}
                          spids: [348]
                        )
                      ]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {($ VSub_QMark '$?')} {(-ne)} {(0)} {(Lit_Other ']')})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(exit_err)} 
                              {(DQ ('ERROR: Failed extracting the dist file: ') ($ VSub_Name '$di'))}
                            )
                          ]
                          spids: [16777215 365]
                        )
                      ]
                      spids: [16777215 376]
                    )
                  ]
                  spids: [222 379]
                )
              spids: [218 16777215]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(DQ (${ VSub_Name INSTALLMEDIUM))} {(Lit_Other '=')} 
                          {(DQ (ftp))} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(echo_log)} {(DQ ('Cleaning up downloaded archives'))})
                    (C {(rm)} {(-rf)} {(${ VSub_Name DDIR)})
                  ]
                  spids: [16777215 406]
                )
              ]
              spids: [16777215 425]
            )
            (C {(echo_log)} {(DQ ('pc-sysinstall: Extraction Finished'))})
          ]
          spids: [98]
        )
      spids: [94 97]
    )
    (Sentence
      child: 
        (FuncDef
          name: start_extract_uzip_tar
          body: 
            (BraceGroup
              children: [
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$INSFILE'))} {(Lit_Other ']')})
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (C {(exit_err)} {(DQ ('ERROR: Called extraction with no install file set!'))})
                      ]
                      spids: [16777215 461]
                    )
                  ]
                  spids: [16777215 471]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (C {(Lit_Other '[')} {(-e)} {(DQ (${ VSub_Name INSFILE) (.count))} 
                              {(Lit_Other ']')}
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (C {(echo)} 
                          {
                            (DQ ('INSTALLCOUNT: ') 
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [(C {(cat)} {(${ VSub_Name INSFILE) (.count)})]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [502 509]
                              )
                            )
                          }
                        )
                      ]
                      spids: [16777215 495]
                    )
                  ]
                  spids: [16777215 513]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (C {(Lit_Other '[')} {(DQ (${ VSub_Name INSTALLMODE))} {(Lit_Other '=')} 
                              {(DQ (upgrade))} {(Lit_Other ']')}
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:TAROPTS)
                              op: Equal
                              rhs: {(DQ ('-X ') (${ VSub_Name PROGDIR) (/conf/exclude-from-upgrade))}
                              spids: [543]
                            )
                          ]
                          spids: [543]
                        )
                      ]
                      spids: [16777215 540]
                    )
                  ]
                  else_action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:TAROPTS)
                          op: Equal
                          rhs: {(DQ )}
                          spids: [556]
                        )
                      ]
                      spids: [556]
                    )
                  ]
                  spids: [553 561]
                )
                (C {(echo_log)} {(DQ ('pc-sysinstall: Starting Extraction'))})
                (Case
                  to_match: {(${ VSub_Name PACKAGETYPE)}
                  arms: [
                    (case_arm
                      pat_list: [{(uzip)}]
                      action: [
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (Sentence
                                  child: 
                                    (Pipeline
                                      children: [
                                        (C {(kldstat)} {(-v)})
                                        (C {(grep)} {(-q)} {(DQ (geom_uzip))})
                                      ]
                                      negated: T
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [(C {(exit_err)} {(DQ ('Kernel module geom_uzip not loaded'))})]
                              spids: [16777215 606]
                            )
                          ]
                          spids: [16777215 616]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:MDDEVICE)
                              op: Equal
                              rhs: 
                                {
                                  (CommandSubPart
                                    command_list: 
                                      (CommandList
                                        children: [
                                          (C {(mdconfig)} {(-a)} {(-t)} {(vnode)} {(-o)} 
                                            {(Assign_Readonly readonly)} {(-f)} {(${ VSub_Name INSFILE)}
                                          )
                                        ]
                                      )
                                    left_token: <Left_Backtick '`'>
                                    spids: [625 643]
                                  )
                                }
                              spids: [624]
                            )
                          ]
                          spids: [624]
                        )
                        (C {(mkdir)} {(-p)} {(${ VSub_Name FSMNT) (.uzip)})
                        (C {(mount)} {(-r)} {(/dev/) (${ VSub_Name MDDEVICE) (.uzip)} 
                          {(${ VSub_Name FSMNT) (.uzip)}
                        )
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (C {(Lit_Other '[')} {($ VSub_QMark '$?')} {(-ne)} {(0)} {(Lit_Other ']')})
                              ]
                              action: [
                                (C {(exit_err)} 
                                  {(DQ ('ERROR: Failed mounting the ') (${ VSub_Name INSFILE))}
                                )
                              ]
                              spids: [16777215 685]
                            )
                          ]
                          spids: [16777215 698]
                        )
                        (C {(cd)} {(${ VSub_Name FSMNT) (.uzip)})
                        (Pipeline
                          children: [
                            (SimpleCommand
                              words: [{(tar)} {(cvf)} {(-)} {(.)}]
                              redirects: [
                                (Redir
                                  op_id: Redir_Great
                                  fd: 2
                                  arg_word: {(/dev/null)}
                                  spids: [722]
                                )
                              ]
                            )
                            (SimpleCommand
                              words: [
                                {(tar)}
                                {(-xpv)}
                                {(-C)}
                                {(${ VSub_Name FSMNT)}
                                {(${ VSub_Name TAROPTS)}
                                {(-f)}
                                {(-)}
                              ]
                              redirects: [
                                (Redir
                                  op_id: Redir_GreatAnd
                                  fd: 2
                                  arg_word: {(1)}
                                  spids: [745]
                                )
                              ]
                            )
                            (C {(tee)} {(-a)} {(${ VSub_Name FSMNT) (/.tar-extract.log)})
                          ]
                          negated: F
                        )
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (C {(Lit_Other '[')} {($ VSub_QMark '$?')} {(-ne)} {(0)} {(Lit_Other ']')})
                              ]
                              action: [
                                (C {(cd)} {(/)})
                                (SimpleCommand
                                  words: [{(echo)} {(DQ ('TAR failure occurred:'))}]
                                  redirects: [
                                    (Redir
                                      op_id: Redir_DGreat
                                      fd: 16777215
                                      arg_word: {(${ VSub_Name LOGOUT)}
                                      spids: [787]
                                    )
                                  ]
                                )
                                (Pipeline
                                  children: [
                                    (C {(cat)} {(${ VSub_Name FSMNT) (/.tar-extract.log)})
                                    (SimpleCommand
                                      words: [{(grep)} {(DQ ('tar:'))}]
                                      redirects: [
                                        (Redir
                                          op_id: Redir_DGreat
                                          fd: 16777215
                                          arg_word: {(${ VSub_Name LOGOUT)}
                                          spids: [808]
                                        )
                                      ]
                                    )
                                  ]
                                  negated: F
                                )
                                (C {(umount)} {(${ VSub_Name FSMNT) (.uzip)})
                                (C {(mdconfig)} {(-d)} {(-u)} {(${ VSub_Name MDDEVICE)})
                                (C {(exit_err)} {(DQ ('ERROR: Failed extracting the tar image'))})
                              ]
                              spids: [16777215 773]
                            )
                          ]
                          spids: [16777215 840]
                        )
                        (C {(cd)} {(/)})
                        (C {(umount)} {(${ VSub_Name FSMNT) (.uzip)})
                        (C {(mdconfig)} {(-d)} {(-u)} {(${ VSub_Name MDDEVICE)})
                      ]
                      spids: [582 583 872 16777215]
                    )
                    (case_arm
                      pat_list: [{(tar)}]
                      action: [
                        (SimpleCommand
                          words: [
                            {(tar)}
                            {(-xpv)}
                            {(-C)}
                            {(${ VSub_Name FSMNT)}
                            {(-f)}
                            {(${ VSub_Name INSFILE)}
                            {(${ VSub_Name TAROPTS)}
                          ]
                          redirects: [
                            (Redir
                              op_id: Redir_GreatAnd
                              fd: 16777215
                              arg_word: {(1)}
                              spids: [899]
                            )
                            (Redir
                              op_id: Redir_GreatAnd
                              fd: 2
                              arg_word: {(1)}
                              spids: [902]
                            )
                          ]
                        )
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (Sentence
                                  child: 
                                    (C {(Lit_Other '[')} {($ VSub_QMark '$?')} {(-ne)} {(0)} 
                                      {(Lit_Other ']')}
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [
                                (C {(exit_err)} {(DQ ('ERROR: Failed extracting the tar image'))})
                              ]
                              spids: [16777215 919]
                            )
                          ]
                          spids: [16777215 929]
                        )
                      ]
                      spids: [875 876 932 16777215]
                    )
                  ]
                  spids: [573 579 935]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (C {(Lit_Other '[')} {(DQ (${ VSub_Name INSTALLMEDIUM))} {(Lit_Other '=')} 
                          {(DQ (ftp))} {(Lit_Other ']')}
                        )
                      ]
                      action: [
                        (C {(echo_log)} {(DQ ('Cleaning up downloaded archive'))})
                        (C {(rm)} {(${ VSub_Name INSFILE)})
                        (SimpleCommand
                          words: [{(rm)} {(${ VSub_Name INSFILE) (.count)}]
                          redirects: [
                            (Redir
                              op_id: Redir_Great
                              fd: 16777215
                              arg_word: {(/dev/null)}
                              spids: [987]
                            )
                            (Redir
                              op_id: Redir_Great
                              fd: 2
                              arg_word: {(/dev/null)}
                              spids: [990]
                            )
                          ]
                        )
                        (SimpleCommand
                          words: [{(rm)} {(${ VSub_Name INSFILE) (.md5)}]
                          redirects: [
                            (Redir
                              op_id: Redir_Great
                              fd: 16777215
                              arg_word: {(/dev/null)}
                              spids: [1002]
                            )
                            (Redir
                              op_id: Redir_Great
                              fd: 2
                              arg_word: {(/dev/null)}
                              spids: [1005]
                            )
                          ]
                        )
                      ]
                      spids: [16777215 962]
                    )
                  ]
                  spids: [16777215 1009]
                )
                (C {(echo_log)} {(DQ ('pc-sysinstall: Extraction Finished'))})
              ]
              spids: [445]
            )
          spids: [441 444]
        )
      terminator: <Op_Semi ';'>
    )
    (Sentence
      child: 
        (FuncDef
          name: start_extract_split
          body: 
            (BraceGroup
              children: [
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (C {(Lit_Other '[')} {(-z)} {(DQ (${ VSub_Name INSDIR))} {(Lit_Other ']')})
                      ]
                      action: [
                        (C {(exit_err)} 
                          {(DQ ('ERROR: Called extraction with no install directory set!'))}
                        )
                      ]
                      spids: [16777215 1049]
                    )
                  ]
                  spids: [16777215 1059]
                )
                (C {(echo_log)} {(DQ ('pc-sysinstall: Starting Extraction'))})
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:DESTDIR)
                      op: Equal
                      rhs: {(DQ (${ VSub_Name FSMNT))}
                      spids: [1075]
                    )
                  ]
                  spids: [1075]
                )
                (C {(export)} {(DESTDIR)})
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:HERE)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: (CommandList children:[(C {(pwd)})])
                            left_token: <Left_Backtick '`'>
                            spids: [1090 1092]
                          )
                        }
                      spids: [1089]
                    )
                  ]
                  spids: [1089]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:DIRS)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [
                                  (Pipeline
                                    children: [
                                      (C {(ls)} {(-d)} {(${ VSub_Name INSDIR) (/) (Lit_Other '*')})
                                      (C {(grep)} {(-Ev)} {(SQ <'(uzip|kernels|src)'>)})
                                    ]
                                    negated: F
                                  )
                                ]
                              )
                            left_token: <Left_Backtick '`'>
                            spids: [1096 1114]
                          )
                        }
                      spids: [1095]
                    )
                  ]
                  spids: [1095]
                )
                (ForEach
                  iter_name: dir
                  iter_words: [{(${ VSub_Name DIRS)}]
                  do_arg_iter: F
                  body: 
                    (DoGroup
                      children: [
                        (C {(cd)} {(DQ (${ VSub_Name dir))})
                        (If
                          arms: [
                            (if_arm
                              cond: [(C {(Lit_Other '[')} {(-f)} {(DQ (install.sh))} {(Lit_Other ']')})]
                              action: [
                                (C {(echo_log)} {(DQ (Extracting))} 
                                  {
                                    (CommandSubPart
                                      command_list: 
                                        (CommandList
                                          children: [(C {(basename)} {(${ VSub_Name dir)})]
                                        )
                                      left_token: <Left_Backtick '`'>
                                      spids: [1162 1168]
                                    )
                                  }
                                )
                                (Pipeline
                                  children: [
                                    (C {(echo)} {(DQ (y))})
                                    (SimpleCommand
                                      words: [{(sh)} {(install.sh)}]
                                      redirects: [
                                        (Redir
                                          op_id: Redir_Great
                                          fd: 16777215
                                          arg_word: {(/dev/null)}
                                          spids: [1183]
                                        )
                                      ]
                                    )
                                  ]
                                  negated: F
                                )
                                (If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (C {(Lit_Other '[')} {($ VSub_QMark '$?')} {(-ne)} {(0)} 
                                          {(Lit_Other ']')}
                                        )
                                      ]
                                      action: [
                                        (C {(exit_err)} 
                                          {(DQ ('ERROR: Failed extracting ') (${ VSub_Name dir))}
                                        )
                                      ]
                                      spids: [16777215 1200]
                                    )
                                  ]
                                  spids: [16777215 1213]
                                )
                              ]
                              spids: [16777215 1153]
                            )
                          ]
                          else_action: [
                            (C {(exit_err)} 
                              {(DQ ('ERROR: ') (${ VSub_Name dir) ('/install.sh does not exist'))}
                            )
                          ]
                          spids: [1216 1230]
                        )
                      ]
                      spids: [1128 1233]
                    )
                  spids: [1122 16777215]
                )
                (C {(cd)} {(DQ (${ VSub_Name HERE))})
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:KERNELS)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [
                                  (Pipeline
                                    children: [
                                      (C {(ls)} {(-d)} {(${ VSub_Name INSDIR) (/) (Lit_Other '*')})
                                      (C {(grep)} {(kernels)})
                                    ]
                                    negated: F
                                  )
                                ]
                              )
                            left_token: <Left_Backtick '`'>
                            spids: [1248 1262]
                          )
                        }
                      spids: [1247]
                    )
                  ]
                  spids: [1247]
                )
                (C {(cd)} {(DQ (${ VSub_Name KERNELS))})
                (If
                  arms: [
                    (if_arm
                      cond: [(C {(Lit_Other '[')} {(-f)} {(DQ (install.sh))} {(Lit_Other ']')})]
                      action: [
                        (C {(echo_log)} {(DQ (Extracting))} 
                          {
                            (CommandSubPart
                              command_list: 
                                (CommandList
                                  children: [(C {(basename)} {(${ VSub_Name KERNELS)})]
                                )
                              left_token: <Left_Backtick '`'>
                              spids: [1296 1302]
                            )
                          }
                        )
                        (Pipeline
                          children: [
                            (C {(echo)} {(DQ (y))})
                            (SimpleCommand
                              words: [{(sh)} {(install.sh)} {(generic)}]
                              redirects: [
                                (Redir
                                  op_id: Redir_Great
                                  fd: 16777215
                                  arg_word: {(/dev/null)}
                                  spids: [1319]
                                )
                              ]
                            )
                          ]
                          negated: F
                        )
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (C {(Lit_Other '[')} {($ VSub_QMark '$?')} {(-ne)} {(0)} {(Lit_Other ']')})
                              ]
                              action: [
                                (C {(exit_err)} 
                                  {(DQ ('ERROR: Failed extracting ') (${ VSub_Name KERNELS))}
                                )
                              ]
                              spids: [16777215 1336]
                            )
                          ]
                          spids: [16777215 1349]
                        )
                        (C {(rm)} {(-rf)} {(DQ (${ VSub_Name FSMNT) (/boot/kernel))})
                        (C {(mv)} {(DQ (${ VSub_Name FSMNT) (/boot/GENERIC))} 
                          {(DQ (${ VSub_Name FSMNT) (/boot/kernel))}
                        )
                      ]
                      spids: [16777215 1287]
                    )
                  ]
                  else_action: [
                    (C {(exit_err)} 
                      {(DQ ('ERROR: ') (${ VSub_Name KERNELS) ('/install.sh does not exist'))}
                    )
                  ]
                  spids: [1381 1395]
                )
                (C {(cd)} {(DQ (${ VSub_Name HERE))})
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:SOURCE)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [
                                  (Pipeline
                                    children: [
                                      (C {(ls)} {(-d)} {(${ VSub_Name INSDIR) (/) (Lit_Other '*')})
                                      (C {(grep)} {(src)})
                                    ]
                                    negated: F
                                  )
                                ]
                              )
                            left_token: <Left_Backtick '`'>
                            spids: [1409 1423]
                          )
                        }
                      spids: [1408]
                    )
                  ]
                  spids: [1408]
                )
                (C {(cd)} {(DQ (${ VSub_Name SOURCE))})
                (If
                  arms: [
                    (if_arm
                      cond: [(C {(Lit_Other '[')} {(-f)} {(DQ (install.sh))} {(Lit_Other ']')})]
                      action: [
                        (C {(echo_log)} {(DQ (Extracting))} 
                          {
                            (CommandSubPart
                              command_list: 
                                (CommandList
                                  children: [(C {(basename)} {(${ VSub_Name SOURCE)})]
                                )
                              left_token: <Left_Backtick '`'>
                              spids: [1457 1463]
                            )
                          }
                        )
                        (Pipeline
                          children: [
                            (C {(echo)} {(DQ (y))})
                            (SimpleCommand
                              words: [{(sh)} {(install.sh)} {(all)}]
                              redirects: [
                                (Redir
                                  op_id: Redir_Great
                                  fd: 16777215
                                  arg_word: {(/dev/null)}
                                  spids: [1480]
                                )
                              ]
                            )
                          ]
                          negated: F
                        )
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (C {(Lit_Other '[')} {($ VSub_QMark '$?')} {(-ne)} {(0)} {(Lit_Other ']')})
                              ]
                              action: [
                                (C {(exit_err)} 
                                  {(DQ ('ERROR: Failed extracting ') (${ VSub_Name SOURCE))}
                                )
                              ]
                              spids: [16777215 1497]
                            )
                          ]
                          spids: [16777215 1510]
                        )
                      ]
                      spids: [16777215 1448]
                    )
                  ]
                  else_action: [
                    (C {(exit_err)} 
                      {(DQ ('ERROR: ') (${ VSub_Name SOURCE) ('/install.sh does not exist'))}
                    )
                  ]
                  spids: [1513 1527]
                )
                (C {(cd)} {(DQ (${ VSub_Name HERE))})
                (C {(echo_log)} {(DQ ('pc-sysinstall: Extraction Finished'))})
              ]
              spids: [1031]
            )
          spids: [1027 1030]
        )
      terminator: <Op_Semi ';'>
    )
    (Sentence
      child: 
        (FuncDef
          name: fetch_dist_file
          body: 
            (BraceGroup
              children: [
                (C {(get_value_from_cfg)} {(ftpPath)})
                (If
                  arms: [
                    (if_arm
                      cond: [(C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$VAL'))} {(Lit_Other ']')})]
                      action: [
                        (C {(exit_err)} 
                          {
                            (DQ 
                              (
'ERROR: Install medium was set to ftp, but no ftpPath was provided!'
                              )
                            )
                          }
                        )
                      ]
                      spids: [16777215 1578]
                    )
                  ]
                  spids: [16777215 1589]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:FTPPATH)
                      op: Equal
                      rhs: {(DQ (${ VSub_Name VAL))}
                      spids: [1593]
                    )
                  ]
                  spids: [1593]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (C {(Lit_Other '[')} {(-d)} {(DQ (${ VSub_Name FSMNT) (/usr))} {(Lit_Other ']')})
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:DLDIR)
                              op: Equal
                              rhs: {(DQ (${ VSub_Name FSMNT) (/usr/.fetch.) ($ VSub_Dollar '$$'))}
                              spids: [1626]
                            )
                          ]
                          spids: [1626]
                        )
                      ]
                      spids: [16777215 1623]
                    )
                  ]
                  else_action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:DLDIR)
                          op: Equal
                          rhs: {(DQ (${ VSub_Name FSMNT) (/.fetch.) ($ VSub_Dollar '$$'))}
                          spids: [1639]
                        )
                      ]
                      spids: [1639]
                    )
                  ]
                  spids: [1636 1649]
                )
                (C {(mkdir)} {(-p)} {(${ VSub_Name DLDIR)})
                (ForEach
                  iter_name: di
                  iter_words: [{($ VSub_Name '$INSFILE')}]
                  do_arg_iter: F
                  body: 
                    (DoGroup
                      children: [
                        (C {(fetch_file)} {(DQ (${ VSub_Name FTPPATH) (/) (${ VSub_Name di) (.txz))} 
                          {(DQ (${ VSub_Name DLDIR) (/) (${ VSub_Name di) (.txz))} {(DQ (1))}
                        )
                      ]
                      spids: [1675 1707]
                    )
                  spids: [1671 16777215]
                )
                (C {(fetch_file)} {(DQ (${ VSub_Name FTPPATH) (/MANIFEST))} 
                  {(DQ (${ VSub_Name DLDIR) (/MANIFEST))} {(DQ (0))}
                )
                (C {(export)} {(DLDIR)})
              ]
              spids: [1557]
            )
          spids: [1553 1556]
        )
      terminator: <Op_Semi ';'>
    )
    (Sentence
      child: 
        (FuncDef
          name: fetch_install_file
          body: 
            (BraceGroup
              children: [
                (C {(get_value_from_cfg)} {(ftpPath)})
                (If
                  arms: [
                    (if_arm
                      cond: [(C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$VAL'))} {(Lit_Other ']')})]
                      action: [
                        (C {(exit_err)} 
                          {
                            (DQ 
                              (
'ERROR: Install medium was set to ftp, but no ftpPath was provided!'
                              )
                            )
                          }
                        )
                      ]
                      spids: [16777215 1776]
                    )
                  ]
                  spids: [16777215 1787]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:FTPPATH)
                      op: Equal
                      rhs: {(DQ (${ VSub_Name VAL))}
                      spids: [1791]
                    )
                  ]
                  spids: [1791]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (C {(Lit_Other '[')} {(-d)} {(DQ (${ VSub_Name FSMNT) (/usr))} {(Lit_Other ']')})
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:OUTFILE)
                              op: Equal
                              rhs: {(DQ (${ VSub_Name FSMNT) (/usr/.fetch-) (${ VSub_Name INSFILE))}
                              spids: [1824]
                            )
                          ]
                          spids: [1824]
                        )
                      ]
                      spids: [16777215 1821]
                    )
                  ]
                  else_action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:OUTFILE)
                          op: Equal
                          rhs: {(DQ (${ VSub_Name FSMNT) (/.fetch-) (${ VSub_Name INSFILE))}
                          spids: [1839]
                        )
                      ]
                      spids: [1839]
                    )
                  ]
                  spids: [1836 1851]
                )
                (C {(fetch_file)} {(DQ (${ VSub_Name FTPPATH) (/) (${ VSub_Name INSFILE))} 
                  {(DQ (${ VSub_Name OUTFILE))} {(DQ (1))}
                )
                (C {(fetch_file)} {(DQ (${ VSub_Name FTPPATH) (/) (${ VSub_Name INSFILE) (.count))} 
                  {(DQ (${ VSub_Name OUTFILE) (.count))} {(DQ (0))}
                )
                (C {(fetch_file)} {(DQ (${ VSub_Name FTPPATH) (/) (${ VSub_Name INSFILE) (.md5))} 
                  {(DQ (${ VSub_Name OUTFILE) (.md5))} {(DQ (0))}
                )
                (C {(export)} {(Lit_VarLike 'INSFILE=') (DQ (${ VSub_Name OUTFILE))})
              ]
              spids: [1755]
            )
          spids: [1751 1754]
        )
      terminator: <Op_Semi ';'>
    )
    (FuncDef
      name: fetch_split_files
      body: 
        (BraceGroup
          children: [
            (C {(get_ftpHost)})
            (If
              arms: [
                (if_arm
                  cond: [(C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$VAL'))} {(Lit_Other ']')})]
                  action: [
                    (C {(exit_err)} 
                      {(DQ ('ERROR: Install medium was set to ftp, but no ftpHost was provided!'))}
                    )
                  ]
                  spids: [16777215 1987]
                )
              ]
              spids: [16777215 1998]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:FTPHOST)
                  op: Equal
                  rhs: {(DQ (${ VSub_Name VAL))}
                  spids: [2001]
                )
              ]
              spids: [2001]
            )
            (C {(get_ftpDir)})
            (If
              arms: [
                (if_arm
                  cond: [(C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$VAL'))} {(Lit_Other ']')})]
                  action: [
                    (C {(exit_err)} 
                      {(DQ ('ERROR: Install medium was set to ftp, but no ftpDir was provided!'))}
                    )
                  ]
                  spids: [16777215 2026]
                )
              ]
              spids: [16777215 2037]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:FTPDIR)
                  op: Equal
                  rhs: {(DQ (${ VSub_Name VAL))}
                  spids: [2040]
                )
              ]
              spids: [2040]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (C {(Lit_Other '[')} {(-d)} {(DQ (${ VSub_Name FSMNT) (/usr))} {(Lit_Other ']')})
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:OUTFILE)
                          op: Equal
                          rhs: {(DQ (${ VSub_Name FSMNT) (/usr/.fetch-) (${ VSub_Name INSFILE))}
                          spids: [2072]
                        )
                      ]
                      spids: [2072]
                    )
                  ]
                  spids: [16777215 2069]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:OUTFILE)
                      op: Equal
                      rhs: {(DQ (${ VSub_Name FSMNT) (/.fetch-) (${ VSub_Name INSFILE))}
                      spids: [2087]
                    )
                  ]
                  spids: [2087]
                )
              ]
              spids: [2084 2099]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:DIRS)
                  op: Equal
                  rhs: {(DQ ('base catpages dict doc info manpages proflibs kernels src'))}
                  spids: [2103]
                )
              ]
              spids: [2103]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (C {(Lit_Other '[')} {(DQ (${ VSub_Name FBSD_ARCH))} {(Lit_Other '=')} {(DQ (amd64))} 
                      {(Lit_Other ']')}
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:DIRS)
                          op: Equal
                          rhs: {(DQ (${ VSub_Name DIRS) (' lib32'))}
                          spids: [2131]
                        )
                      ]
                      spids: [2131]
                    )
                  ]
                  spids: [16777215 2128]
                )
              ]
              spids: [16777215 2140]
            )
            (ForEach
              iter_name: d
              iter_words: [{(${ VSub_Name DIRS)}]
              do_arg_iter: F
              body: 
                (DoGroup
                  children: [(C {(mkdir)} {(-p)} {(DQ (${ VSub_Name OUTFILE) (/) (${ VSub_Name d))})]
                  spids: [2155 2173]
                )
              spids: [2149 16777215]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:NETRC)
                  op: Equal
                  rhs: {(DQ (${ VSub_Name OUTFILE) (/.netrc))}
                  spids: [2178]
                )
              ]
              spids: [2178]
            )
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: 16777215
                  body: 
                    {
                      (DQ ('machine ') (${ VSub_Name FTPHOST) ('\n') ('login anonymous\n') 
                        ('password anonymous\n') ('macdef INSTALL\n') ('bin\n') ('prompt\n')
                      )
                    }
                  do_expansion: True
                  here_end: EOF
                  was_filled: T
                  spids: [2189]
                )
                (Redir
                  op_id: Redir_Great
                  fd: 16777215
                  arg_word: {(DQ (${ VSub_Name NETRC))}
                  spids: [2192]
                )
              ]
            )
            (ForEach
              iter_name: d
              iter_words: [{(${ VSub_Name DIRS)}]
              do_arg_iter: F
              body: 
                (DoGroup
                  children: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (HereDoc
                          op_id: Redir_DLess
                          fd: 16777215
                          body: 
                            {
                              (DQ ('cd ') (${ VSub_Name FTPDIR) (/) (${ VSub_Name d) ('\n') ('lcd ') 
                                (${ VSub_Name OUTFILE) (/) (${ VSub_Name d) ('\n') ('mreget *\n')
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: T
                          spids: [2228]
                        )
                        (Redir
                          op_id: Redir_DGreat
                          fd: 16777215
                          arg_word: {(DQ (${ VSub_Name NETRC))}
                          spids: [2231]
                        )
                      ]
                    )
                  ]
                  spids: [2223 2259]
                )
              spids: [2217 16777215]
            )
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: 16777215
                  body: {(DQ ('bye\n') ('\n') ('\n'))}
                  do_expansion: True
                  here_end: EOF
                  was_filled: T
                  spids: [2265]
                )
                (Redir
                  op_id: Redir_DGreat
                  fd: 16777215
                  arg_word: {(DQ (${ VSub_Name NETRC))}
                  spids: [2268]
                )
              ]
            )
            (Pipeline
              children: [
                (C {(echo)} {(DQ (Lit_Other '$') (' INSTALL'))})
                (C {(ftp)} {(-N)} {(DQ (${ VSub_Name NETRC))} {(DQ (${ VSub_Name FTPHOST))})
              ]
              negated: F
            )
            (C {(export)} {(Lit_VarLike 'INSFILE=') (DQ (${ VSub_Name OUTFILE))})
          ]
          spids: [1968]
        )
      spids: [1964 1967]
    )
    (Sentence
      child: 
        (FuncDef
          name: start_rsync_copy
          body: 
            (BraceGroup
              children: [
                (C {(get_value_from_cfg)} {(rsyncPath)})
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (C {(Lit_Other '[')} {(-z)} {(DQ (${ VSub_Name VAL))} {(Lit_Other ']')})
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (C {(exit_err)} 
                          {
                            (DQ 
                              (
'ERROR: rsyncPath is unset! Please check your config and try again.'
                              )
                            )
                          }
                        )
                      ]
                      spids: [16777215 2362]
                    )
                  ]
                  spids: [16777215 2372]
                )
                (C {(export)} {(Lit_VarLike 'RSYNCPATH=') (DQ (${ VSub_Name VAL))})
                (C {(get_value_from_cfg)} {(rsyncHost)})
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (C {(Lit_Other '[')} {(-z)} {(DQ (${ VSub_Name VAL))} {(Lit_Other ']')})
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (C {(exit_err)} 
                          {
                            (DQ 
                              (
'ERROR: rsyncHost is unset! Please check your config and try again.'
                              )
                            )
                          }
                        )
                      ]
                      spids: [16777215 2406]
                    )
                  ]
                  spids: [16777215 2416]
                )
                (C {(export)} {(Lit_VarLike 'RSYNCHOST=') (DQ (${ VSub_Name VAL))})
                (C {(get_value_from_cfg)} {(rsyncUser)})
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (C {(Lit_Other '[')} {(-z)} {(DQ (${ VSub_Name VAL))} {(Lit_Other ']')})
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (C {(exit_err)} 
                          {
                            (DQ 
                              (
'ERROR: rsyncUser is unset! Please check your config and try again.'
                              )
                            )
                          }
                        )
                      ]
                      spids: [16777215 2450]
                    )
                  ]
                  spids: [16777215 2460]
                )
                (C {(export)} {(Lit_VarLike 'RSYNCUSER=') (DQ (${ VSub_Name VAL))})
                (C {(get_value_from_cfg)} {(rsyncPort)})
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (C {(Lit_Other '[')} {(-z)} {(DQ (${ VSub_Name VAL))} {(Lit_Other ']')})
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (C {(exit_err)} 
                          {
                            (DQ 
                              (
'ERROR: rsyncPort is unset! Please check your config and try again.'
                              )
                            )
                          }
                        )
                      ]
                      spids: [16777215 2494]
                    )
                  ]
                  spids: [16777215 2504]
                )
                (C {(export)} {(Lit_VarLike 'RSYNCPORT=') (DQ (${ VSub_Name VAL))})
                (Assignment
                  keyword: Assign_None
                  pairs: [(assign_pair lhs:(LhsName name:COUNT) op:Equal rhs:{(1)} spids:[2518])]
                  spids: [2518]
                )
                (While
                  cond: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [(assign_pair lhs:(LhsName name:z) op:Equal rhs:{(1)} spids:[2525])]
                      spids: [2525]
                    )
                  ]
                  body: 
                    (DoGroup
                      children: [
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (C {(Lit_Other '[')} {(${ VSub_Name COUNT)} {(-gt)} 
                                  {(${ VSub_Name RSYNCTRIES)} {(Lit_Other ']')}
                                )
                              ]
                              action: [
                                (C {(exit_err)} {(DQ ('ERROR: Failed rsync command!'))})
                                (ControlFlow
                                  token: <ControlFlow_Break break>
                                )
                              ]
                              spids: [16777215 2549]
                            )
                          ]
                          spids: [16777215 2562]
                        )
                        (C {(rsync)} {(-avvzHsR)} 
                          {(--rsync-path) (Lit_Other '=') (DQ ('rsync --fake-super'))} {(-e)} {(DQ ('ssh -p ') (${ VSub_Name RSYNCPORT))} 
                          {(${ VSub_Name RSYNCUSER) (Lit_Other '@') (${ VSub_Name RSYNCHOST) 
                            (Lit_Other ':') (${ VSub_Name RSYNCPATH) (/./)
                          } {(${ VSub_Name FSMNT)}
                        )
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (C {(Lit_Other '[')} {($ VSub_QMark '$?')} {(-ne)} {(0)} {(Lit_Other ']')})
                              ]
                              action: [
                                (C {(echo)} {(DQ ('Rsync failed! Tries: ') (${ VSub_Name COUNT))})
                              ]
                              spids: [16777215 2622]
                            )
                          ]
                          else_action: [(ControlFlow token:<ControlFlow_Break break>)]
                          spids: [2635 2641]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:COUNT)
                              op: Equal
                              rhs: 
                                {
                                  (ArithSubPart
                                    anode: 
                                      (ArithBinary
                                        op_id: Arith_Plus
                                        left: (ArithVarRef name:COUNT)
                                        right: (ArithWord w:{(Lit_Digits 1)})
                                      )
                                    spids: [2646 2651]
                                  )
                                }
                              spids: [2645]
                            )
                          ]
                          spids: [2645]
                        )
                      ]
                      spids: [2529 2654]
                    )
                )
              ]
              spids: [2335]
            )
          spids: [2331 2334]
        )
      terminator: <Op_Semi ';'>
    )
    (Sentence
      child: 
        (FuncDef
          name: start_image_install
          body: 
            (BraceGroup
              children: [
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (C {(Lit_Other '[')} {(-z)} {(DQ (${ VSub_Name IMAGE_FILE))} {(Lit_Other ']')})
                      ]
                      action: [
                        (C {(exit_err)} 
                          {(DQ ('ERROR: installMedium set to image but no image file specified!'))}
                        )
                      ]
                      spids: [16777215 2684]
                    )
                  ]
                  spids: [16777215 2694]
                )
                (While
                  cond: [(C {(read)} {(line)})]
                  body: 
                    (DoGroup
                      children: [
                        (Pipeline
                          children: [
                            (C {(echo)} {($ VSub_Name '$line')})
                            (SimpleCommand
                              words: [{(grep)} {(-q)} {(DQ ('^disk0='))}]
                              redirects: [
                                (Redir
                                  op_id: Redir_Great
                                  fd: 2
                                  arg_word: {(/dev/null)}
                                  spids: [2726]
                                )
                              ]
                            )
                          ]
                          negated: F
                        )
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (C {(Lit_Other '[')} {($ VSub_QMark '$?')} {(-eq)} {(0)} {(Lit_Other ']')})
                              ]
                              action: [
                                (C {(get_value_from_string)} {(DQ (${ VSub_Name line))})
                                (C {(strip_white_space)} {(DQ ($ VSub_Name '$VAL'))})
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:DISK)
                                      op: Equal
                                      rhs: {(DQ ($ VSub_Name '$VAL'))}
                                      spids: [2766]
                                    )
                                  ]
                                  spids: [2766]
                                )
                              ]
                              spids: [16777215 2743]
                            )
                          ]
                          spids: [16777215 2772]
                        )
                        (Pipeline
                          children: [
                            (C {(echo)} {($ VSub_Name '$line')})
                            (SimpleCommand
                              words: [{(grep)} {(-q)} {(DQ ('^commitDiskPart'))}]
                              redirects: [
                                (Redir
                                  op_id: Redir_Great
                                  fd: 2
                                  arg_word: {(/dev/null)}
                                  spids: [2790]
                                )
                              ]
                            )
                          ]
                          negated: F
                        )
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (C {(Lit_Other '[')} {($ VSub_QMark '$?')} {(-eq)} {(0)} {(Lit_Other ']')})
                              ]
                              action: [
                                (If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (C {(Lit_Other '[')} {(-n)} {(DQ (${ VSub_Name DISK))} 
                                          {(Lit_Other ']')}
                                        )
                                      ]
                                      action: [
                                        (C {(write_image)} {(DQ (${ VSub_Name IMAGE_FILE))} 
                                          {(DQ (${ VSub_Name DISK))}
                                        )
                                        (C {(unset)} {(DISK)})
                                        (ControlFlow
                                          token: <ControlFlow_Break break>
                                        )
                                      ]
                                      spids: [16777215 2829]
                                    )
                                  ]
                                  else_action: [
                                    (C {(exit_err)} 
                                      {
                                        (DQ 
                                          (
'ERROR: commitDiskPart was called without procceding disk<num>= and partition= entries!!!'
                                          )
                                        )
                                      }
                                    )
                                  ]
                                  spids: [2866 2876]
                                )
                              ]
                              spids: [16777215 2807]
                            )
                          ]
                          spids: [16777215 2879]
                        )
                      ]
                      spids: [2709 2883]
                    )
                  redirects: [
                    (Redir
                      op_id: Redir_Less
                      fd: 16777215
                      arg_word: {(${ VSub_Name CFGF)}
                      spids: [2885]
                    )
                  ]
                )
              ]
              spids: [2666]
            )
          spids: [2662 2665]
        )
      terminator: <Op_Semi ';'>
    )
    (Sentence
      child: 
        (FuncDef
          name: init_extraction
          body: 
            (BraceGroup
              children: [
                (C {(get_value_from_cfg)} {(installFile)})
                (If
                  arms: [
                    (if_arm
                      cond: [(C {(Lit_Other '[')} {(-n)} {(DQ (${ VSub_Name VAL))} {(Lit_Other ']')})]
                      action: [(C {(export)} {(Lit_VarLike 'INSFILE=') (DQ (${ VSub_Name VAL))})]
                      spids: [16777215 2929]
                    )
                  ]
                  else_action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$INSTALLTYPE'))} {(Lit_Other '=')} 
                              {(DQ (FreeBSD))} {(Lit_Other ']')}
                            )
                          ]
                          action: [
                            (Case
                              to_match: {($ VSub_Name '$PACKAGETYPE')}
                              arms: [
                                (case_arm
                                  pat_list: [{(uzip)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:INSFILE)
                                          op: Equal
                                          rhs: {(DQ (${ VSub_Name FBSD_UZIP_FILE))}
                                          spids: [2979]
                                        )
                                      ]
                                      spids: [2979]
                                    )
                                  ]
                                  spids: [2976 2977 2986 16777215]
                                )
                                (case_arm
                                  pat_list: [{(tar)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:INSFILE)
                                          op: Equal
                                          rhs: {(DQ (${ VSub_Name FBSD_TAR_FILE))}
                                          spids: [2992]
                                        )
                                      ]
                                      spids: [2992]
                                    )
                                  ]
                                  spids: [2989 2990 2999 16777215]
                                )
                                (case_arm
                                  pat_list: [{(dist)}]
                                  action: [
                                    (C {(get_value_from_cfg_with_spaces)} {(distFiles)})
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$VAL'))} 
                                                  {(Lit_Other ']')}
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [(C {(exit_err)} {(DQ ('No dist files specified!'))})]
                                          spids: [16777215 3026]
                                        )
                                      ]
                                      spids: [16777215 3036]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:INSFILE)
                                          op: Equal
                                          rhs: {(DQ (${ VSub_Name VAL))}
                                          spids: [3039]
                                        )
                                      ]
                                      spids: [3039]
                                    )
                                  ]
                                  spids: [3002 3003 3048 16777215]
                                )
                                (case_arm
                                  pat_list: [{(split)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:INSDIR)
                                          op: Equal
                                          rhs: {(DQ (${ VSub_Name FBSD_BRANCH_DIR))}
                                          spids: [3055]
                                        )
                                      ]
                                      spids: [3055]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:INSFILE)
                                          op: Equal
                                          rhs: {(DQ (${ VSub_Name INSDIR))}
                                          spids: [3068]
                                        )
                                      ]
                                      spids: [3068]
                                    )
                                  ]
                                  spids: [3051 3052 3076 16777215]
                                )
                              ]
                              spids: [2969 2973 3079]
                            )
                          ]
                          spids: [16777215 2966]
                        )
                      ]
                      else_action: [
                        (Case
                          to_match: {($ VSub_Name '$PACKAGETYPE')}
                          arms: [
                            (case_arm
                              pat_list: [{(uzip)}]
                              action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:INSFILE)
                                      op: Equal
                                      rhs: {(DQ (${ VSub_Name UZIP_FILE))}
                                      spids: [3095]
                                    )
                                  ]
                                  spids: [3095]
                                )
                              ]
                              spids: [3092 3093 3102 16777215]
                            )
                            (case_arm
                              pat_list: [{(tar)}]
                              action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:INSFILE)
                                      op: Equal
                                      rhs: {(DQ (${ VSub_Name TAR_FILE))}
                                      spids: [3108]
                                    )
                                  ]
                                  spids: [3108]
                                )
                              ]
                              spids: [3105 3106 3115 16777215]
                            )
                            (case_arm
                              pat_list: [{(dist)}]
                              action: [
                                (C {(get_value_from_cfg_with_spaces)} {(distFiles)})
                                (If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: 
                                            (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$VAL'))} 
                                              {(Lit_Other ']')}
                                            )
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [(C {(exit_err)} {(DQ ('No dist files specified!'))})]
                                      spids: [16777215 3142]
                                    )
                                  ]
                                  spids: [16777215 3152]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:INSFILE)
                                      op: Equal
                                      rhs: {(DQ (${ VSub_Name VAL))}
                                      spids: [3155]
                                    )
                                  ]
                                  spids: [3155]
                                )
                              ]
                              spids: [3118 3119 3164 16777215]
                            )
                          ]
                          spids: [3085 3089 3167]
                        )
                      ]
                      spids: [3082 3170]
                    )
                    (C {(export)} {(INSFILE)})
                  ]
                  spids: [2942 3178]
                )
                (Case
                  to_match: {(${ VSub_Name INSTALLMEDIUM)}
                  arms: [
                    (case_arm
                      pat_list: [{(dvd)} {(usb)}]
                      action: [
                        (C {(opt_mount)})
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (C {(Lit_Other '[')} {(-n)} {(DQ (${ VSub_Name INSDIR))} 
                                  {(Lit_Other ']')}
                                )
                              ]
                              action: [
                                (Sentence
                                  child: 
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:INSDIR)
                                          op: Equal
                                          rhs: {(DQ (${ VSub_Name CDMNT) (/) (${ VSub_Name INSDIR))}
                                          spids: [3227]
                                        )
                                      ]
                                      spids: [3227]
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                                (C {(export)} {(INSDIR)})
                                (C {(start_extract_split)})
                              ]
                              spids: [16777215 3224]
                            )
                          ]
                          else_action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$PACKAGETYPE'))} 
                                          {(Lit_Other '=')} {(DQ (dist))} {(Lit_Other ']')}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(start_extract_dist)} 
                                      {(DQ (${ VSub_Name CDMNT) (/usr/freebsd-dist))}
                                    )
                                  ]
                                  spids: [16777215 3270]
                                )
                              ]
                              else_action: [
                                (Sentence
                                  child: 
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:INSFILE)
                                          op: Equal
                                          rhs: {(DQ (${ VSub_Name CDMNT) (/) (${ VSub_Name INSFILE))}
                                          spids: [3286]
                                        )
                                      ]
                                      spids: [3286]
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                                (C {(export)} {(INSFILE)})
                                (C {(start_extract_uzip_tar)})
                              ]
                              spids: [3283 3307]
                            )
                          ]
                          spids: [3249 3310]
                        )
                      ]
                      spids: [3195 3198 3313 16777215]
                    )
                    (case_arm
                      pat_list: [{(ftp)}]
                      action: [
                        (Case
                          to_match: {($ VSub_Name '$PACKAGETYPE')}
                          arms: [
                            (case_arm
                              pat_list: [{(split)}]
                              action: [
                                (C {(fetch_split_files)})
                                (Sentence
                                  child: 
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:INSDIR)
                                          op: Equal
                                          rhs: {(DQ (${ VSub_Name INSFILE))}
                                          spids: [3336]
                                        )
                                      ]
                                      spids: [3336]
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                                (C {(export)} {(INSDIR)})
                                (C {(start_extract_split)})
                              ]
                              spids: [3328 3329 3353 16777215]
                            )
                            (case_arm
                              pat_list: [{(dist)}]
                              action: [
                                (C {(fetch_dist_file)})
                                (C {(start_extract_dist)} {(DQ ($ VSub_Name '$DLDIR'))})
                              ]
                              spids: [3356 3357 3370 16777215]
                            )
                            (case_arm
                              pat_list: [{(Lit_Other '*')}]
                              action: [(C {(fetch_install_file)}) (C {(start_extract_uzip_tar)})]
                              spids: [3373 3374 3384 16777215]
                            )
                          ]
                          spids: [3321 3325 3387]
                        )
                      ]
                      spids: [3317 3318 3390 16777215]
                    )
                    (case_arm
                      pat_list: [{(sftp)}]
                      spids: [3394 3395 3397 16777215]
                    )
                    (case_arm
                      pat_list: [{(rsync)}]
                      action: [(C {(start_rsync_copy)})]
                      spids: [3401 3402 3406 16777215]
                    )
                    (case_arm
                      pat_list: [{(image)}]
                      action: [(C {(start_image_install)})]
                      spids: [3409 3410 3414 16777215]
                    )
                    (case_arm
                      pat_list: [{(Assign_Local local)}]
                      action: [
                        (C {(get_value_from_cfg)} {(localPath)})
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$VAL'))} {(Lit_Other ']')})
                              ]
                              action: [
                                (C {(exit_err)} 
                                  {
                                    (DQ 
                                      (
'Install medium was set to local, but no localPath was provided!'
                                      )
                                    )
                                  }
                                )
                              ]
                              spids: [16777215 3439]
                            )
                          ]
                          spids: [16777215 3449]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:LOCALPATH)
                              op: Equal
                              rhs: {($ VSub_Name '$VAL')}
                              spids: [3452]
                            )
                          ]
                          spids: [3452]
                        )
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (Sentence
                                  child: 
                                    (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$PACKAGETYPE'))} 
                                      {(Lit_Other '=')} {(DQ (dist))} {(Lit_Other ']')}
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [
                                (Sentence
                                  child: 
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:INSFILE)
                                          op: Equal
                                          rhs: {(DQ (${ VSub_Name INSFILE))}
                                          spids: [3477]
                                        )
                                      ]
                                      spids: [3477]
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                                (C {(export)} {(INSFILE)})
                                (C {(start_extract_dist)} {(DQ ($ VSub_Name '$LOCALPATH'))})
                              ]
                              spids: [16777215 3474]
                            )
                          ]
                          else_action: [
                            (Sentence
                              child: 
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:INSFILE)
                                      op: Equal
                                      rhs: {(DQ (${ VSub_Name LOCALPATH) (/) (${ VSub_Name INSFILE))}
                                      spids: [3501]
                                    )
                                  ]
                                  spids: [3501]
                                )
                              terminator: <Op_Semi ';'>
                            )
                            (C {(export)} {(INSFILE)})
                            (C {(start_extract_uzip_tar)})
                          ]
                          spids: [3498 3522]
                        )
                      ]
                      spids: [3417 3418 3525 16777215]
                    )
                    (case_arm
                      pat_list: [{(Lit_Other '*')}]
                      action: [(C {(exit_err)} {(DQ ('ERROR: Unknown install medium'))})]
                      spids: [3528 3529 3537 16777215]
                    )
                  ]
                  spids: [3186 3192 3540]
                )
              ]
              spids: [2901]
            )
          spids: [2897 2900]
        )
      terminator: <Op_Semi ';'>
    )
  ]
)