(CommandList
  children: [
    (AndOr
      children: [(C {(.)} {(sources/utility_functions.sh)}) (C {(exit)} {(1)})]
      op_id: Op_DPipe
    )
    (If
      arms: [
        (if_arm
          cond: 
            (C {(Lit_Other "[")} {(KW_Bang "!")} {(-f)} {(DQ ($ VSub_Number "$1"))} {(Lit_Other "]")})
          action: 
            (CommandList
              children: [
                (SimpleCommand
                  words: [
                    {(echo)}
                    {
                      (DQ ("Can't find control image at ") 
                        (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) ($ VSub_Number "$1") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)
                      )
                    }
                  ]
                  redirects: [(Redirect op_id:Redir_GreatAnd arg_word:{(2)} fd:-1 spids:[59])]
                )
                (C {(exit)} {(1)})
              ]
            )
          spids: [-1 47]
        )
      ]
      spids: [-1 67]
    )
    (C {(trap)} {(DQ ("killtree ") ($ VSub_Dollar "$$"))} {(EXIT)})
    (AndOr
      children: [
        (C {(Lit_Other "[")} {(KW_Bang "!")} {(-z)} {(DQ ($ VSub_Name "$FORK"))} {(Lit_Other "]")})
        (SimpleCommand
          words: [
            {(more/for-each-target.sh)}
            {
              (SQ 
                <
". sources/toys/make-hdb.sh; HDBMEGS=2048; HDB=build/system-image-$TARGET/hdb.img; echo \"$HDB\"; rm -f \"$HDB\"; make_hdb"
                >
              )
            }
          ]
          more_env: [(env_pair name:FORK val:{(SQ )} spids:[101])]
        )
      ]
      op_id: Op_DAmp
    )
    (AndOr children:[(C {(mkdir)} {(-p)} {(build/logs)})(C {(dienow)})] op_id:Op_DPipe)
    (AndOr
      children: [
        (C {(Lit_Other "[")} {(-z)} {(DQ ($ VSub_Name "$TIMEOUT"))} {(Lit_Other "]")})
        (Assignment
          keyword: Assign_Export
          pairs: [(assign_pair lhs:(LeftVar name:TIMEOUT) rhs:{(60)} spids:[145])]
          spids: [143]
        )
      ]
      op_id: Op_DAmp
    )
    (AndOr
      children: [
        (C {(Lit_Other "[")} {(-z)} {(DQ ($ VSub_Name "$LOGFILE"))} {(Lit_Other "]")})
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LeftVar name:LOGFILE)
              rhs: 
                {
                  (DQ 
                    (CommandSubPart
                      command_list: 
                        (Pipeline
                          children: [
                            (C {(echo)} {($ VSub_Number "$1")})
                            (C {(sed)} {(SQ <"s@.*/\\(.*\\)\\.hdc@\\1@">)})
                          ]
                          negated: False
                        )
                      spids: [162 174]
                    )
                  )
                }
              spids: [160]
            )
          ]
          spids: [160]
        )
      ]
      op_id: Op_DAmp
    )
    (C {(more/for-each-target.sh)} 
      {
        (SQ 
          <
"ln -sfn .. build/system-image-$TARGET/upload && more/timeout.sh $TIMEOUT \"HDB=hdb.img more/native-build-from-build.sh $TARGET "
          >
        ) (DQ ($ VSub_Number "$1") (" | tee build/logs/native-") ($ VSub_Name "$LOGFILE") (-)) 
        (SQ <"$TARGET.txt\"">)
      }
    )
  ]
)