(command.CommandList
  children: [
    (C {<set>} {<-e>})
    (C {<cd>} {<'/tmp'>})
    (command.AndOr
      ops: [Id.Op_DPipe]
      children: [
        (C {<Id.Lit_LBracket '['>} {<-t>} {<0>} {<Id.Lit_RBracket ']'>})
        (C {<bsdtar>} {<xzf>} {<->})
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TGZ='> name:TGZ)
          op: assign_op.Equal
          rhs: 
            {
              (DQ 
                (command_sub
                  left_token: <Id.Left_DollarParen '$('>
                  child: 
                    (C {<find>} {<.>} {<-name>} {(SQ <'*.tgz'>)} {<-or>} {<-name>} {(SQ <'*.tar.gz'>)})
                  right: <Id.Eof_RParen _>
                )
              )
            }
          spids: [37]
        )
      ]
      redirects: []
    )
    (command.AndOr
      ops: [Id.Op_DAmp]
      children: [
        (C {<Id.Lit_LBracket '['>} {<-n>} {(DQ ($ Id.VSub_DollarName TGZ))} {<Id.Lit_RBracket ']'>})
        (C {<bsdtar>} {<xzf>} {(DQ ($ Id.VSub_DollarName TGZ))})
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'EFI_ISO='> name:EFI_ISO)
          op: assign_op.Equal
          rhs: 
            {
              (DQ 
                (command_sub
                  left_token: <Id.Left_DollarParen '$('>
                  child: (C {<find>} {<.>} {<-name>} {(SQ <'*efi.iso'>)})
                  right: <Id.Eof_RParen _>
                )
              )
            }
          spids: [81]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ISO='> name:ISO)
          op: assign_op.Equal
          rhs: 
            {
              (DQ 
                (command_sub
                  left_token: <Id.Left_DollarParen '$('>
                  child: (C {<find>} {<.>} {<-name>} {(SQ <'*.iso'>)})
                  right: <Id.Eof_RParen _>
                )
              )
            }
          spids: [96]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'RAW='> name:RAW)
          op: assign_op.Equal
          rhs: 
            {
              (DQ 
                (command_sub
                  left_token: <Id.Left_DollarParen '$('>
                  child: (C {<find>} {<.>} {<-name>} {(SQ <'*.raw'>)})
                  right: <Id.Eof_RParen _>
                )
              )
            }
          spids: [111]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'INITRD='> name:INITRD)
          op: assign_op.Equal
          rhs: 
            {
              (DQ 
                (command_sub
                  left_token: <Id.Left_DollarParen '$('>
                  child: (C {<find>} {<.>} {<-name>} {(SQ <'*.img'>)})
                  right: <Id.Eof_RParen _>
                )
              )
            }
          spids: [126]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'KERNEL='> name:KERNEL)
          op: assign_op.Equal
          rhs: 
            {
              (DQ 
                (command_sub
                  left_token: <Id.Left_DollarParen '$('>
                  child: 
                    (C {<find>} {<.>} {<-name>} {<vmlinuz64>} {<-or>} {<-name>} {(SQ <'*bzImage'>)})
                  right: <Id.Eof_RParen _>
                )
              )
            }
          spids: [141]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CMDLINE='> name:CMDLINE)
          op: assign_op.Equal
          rhs: 
            {
              (DQ 
                (command_sub
                  left_token: <Id.Left_DollarParen '$('>
                  child: (C {<find>} {<.>} {<-name>} {(SQ <'*-cmdline'>)})
                  right: <Id.Eof_RParen _>
                )
              )
            }
          spids: [162]
        )
      ]
      redirects: []
    )
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (C {<Id.Lit_LBracket '['>} {<-n>} {(DQ ($ Id.VSub_DollarName EFI_ISO))} 
                  {<Id.Lit_RBracket ']'>}
                )
              ]
            )
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ARGS='> name:ARGS)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (DQ <'-pflash /usr/share/ovmf/bios.bin -usbdevice tablet -cdrom '> 
                        ($ Id.VSub_DollarName EFI_ISO) <' -boot d -drive file=systemdisk.img,format=raw'>
                      )
                    }
                  spids: [193]
                )
              ]
              redirects: []
            )
          ]
          spids: [178 190]
        )
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (C {<Id.Lit_LBracket '['>} {<-n>} {(DQ ($ Id.VSub_DollarName ISO))} 
                  {<Id.Lit_RBracket ']'>}
                )
              ]
            )
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ARGS='> name:ARGS)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (DQ <'-cdrom '> ($ Id.VSub_DollarName ISO) 
                        <' -drive file=systemdisk.img,format=raw'>
                      )
                    }
                  spids: [215]
                )
              ]
              redirects: []
            )
          ]
          spids: [200 212]
        )
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (C {<Id.Lit_LBracket '['>} {<-n>} {(DQ ($ Id.VSub_DollarName RAW))} 
                  {<Id.Lit_RBracket ']'>}
                )
              ]
            )
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ARGS='> name:ARGS)
                  op: assign_op.Equal
                  rhs: {(DQ <'-drive file='> ($ Id.VSub_DollarName RAW) <',format=raw'>)}
                  spids: [241]
                )
              ]
              redirects: []
            )
          ]
          spids: [222 234]
        )
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (C {<Id.Lit_LBracket '['>} {<-n>} {(DQ ($ Id.VSub_DollarName KERNEL))} 
                  {<Id.Lit_RBracket ']'>}
                )
              ]
            )
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ARGS='> name:ARGS)
                  op: assign_op.Equal
                  rhs: {(DQ <'-kernel '> ($ Id.VSub_DollarName KERNEL))}
                  spids: [263]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (C {<Id.Lit_LBracket '['>} {<-n>} {(DQ ($ Id.VSub_DollarName INITRD))} 
                          {<Id.Lit_RBracket ']'>}
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ARGS='> name:ARGS)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ ($ Id.VSub_DollarName ARGS) <' -initrd '> 
                                ($ Id.VSub_DollarName INITRD)
                              )
                            }
                          spids: [286]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [270 283]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ARGS='> name:ARGS)
                  op: assign_op.Equal
                  rhs: {(DQ ($ Id.VSub_DollarName ARGS) <' -drive file=systemdisk.img,format=raw'>)}
                  spids: [297]
                )
              ]
              redirects: []
            )
          ]
          spids: [248 260]
        )
      ]
      else_action: [
        (command.Simple
          words: [{<echo>} {(DQ <'no recognised boot media'>)}]
          redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<2>})]
          more_env: []
          do_fork: T
        )
        (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>})
      ]
      redirects: []
    )
    (command.AndOr
      ops: [Id.Op_DAmp]
      children: [
        (command.Pipeline
          children: [(C {<echo>} {(DQ ($ Id.VSub_DollarName ARGS))}) (C {<grep>} {<-q>} {<systemdisk>})]
          negated: F
          stderr_indices: []
        )
        (C {<qemu-img>} {<create>} {<-f>} {<raw>} {<systemdisk.img>} {<256M>})
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (C {<Id.Lit_LBracket '['>} {<-n>} {(DQ (${ Id.VSub_Name CMDLINE))} 
                  {<Id.Lit_RBracket ']'>}
                )
              ]
            )
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'APPEND='> name:APPEND)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (DQ 
                        (command_sub
                          left_token: <Id.Left_DollarParen '$('>
                          child: (C {<cat>} {($ Id.VSub_DollarName CMDLINE)})
                          right: <Id.Eof_RParen _>
                        )
                      )
                    }
                  spids: [369]
                )
              ]
              redirects: []
            )
          ]
          spids: [352 366]
        )
      ]
      else_action: [
        (command.ShAssignment
          pairs: [
            (assign_pair
              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'APPEND='> name:APPEND)
              op: assign_op.Equal
              rhs: {(DQ ($ Id.VSub_Star '*'))}
              spids: [381]
            )
          ]
          redirects: []
        )
      ]
      redirects: []
    )
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (C {<Id.Lit_LBracket '['>} {<-z>} {(DQ (${ Id.VSub_Name APPEND))} {<Id.Lit_RBracket ']'>})
              ]
            )
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'APPEND='> name:APPEND)
                  op: assign_op.Equal
                  rhs: {(DQ <'console=ttyS0'>)}
                  spids: [405]
                )
              ]
              redirects: []
            )
          ]
          spids: [388 402]
        )
      ]
      else_action: []
      redirects: []
    )
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.AndOr
                  ops: [Id.Op_DAmp]
                  children: [
                    (C {<Id.Lit_LBracket '['>} {<-z>} {(DQ ($ Id.VSub_DollarName EFI_ISO))} 
                      {<Id.Lit_RBracket ']'>}
                    )
                    (C {<Id.Lit_LBracket '['>} {<-z>} {(DQ ($ Id.VSub_DollarName ISO))} 
                      {<Id.Lit_RBracket ']'>}
                    )
                  ]
                )
              ]
            )
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ARGS='> name:ARGS)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (DQ <'-append '> 
                        (word_part.EscapedLiteral
                          token: <Id.Lit_EscapedChar '\\"'>
                          ch: '"'
                        ) (${ Id.VSub_Name APPEND) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <' '> 
                        (${ Id.VSub_Name ARGS)
                      )
                    }
                  spids: [440]
                )
              ]
              redirects: []
            )
          ]
          spids: [413 437]
        )
      ]
      else_action: []
      redirects: []
    )
    (C {<eval>} {<qemu-system-x86_64>} {<-machine>} 
      {<q35> <Id.Lit_Comma ','> <Id.Lit_VarLike 'accel='> <kvm> <Id.Lit_Colon ':'> <tcg>} {<-device>} {<virtio-rng-pci>} {<-nographic>} {<-vnc>} {<none>} {<-m>} {<1024>} {($ Id.VSub_DollarName ARGS)}
    )
  ]
)